Credit-Card-System-smartcon.../build/contracts/SoulboundToken.json
2023-06-04 19:59:46 +08:00

18597 lines
863 KiB
JSON

{
"contractName": "SoulboundToken",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "approved",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "ApprovalForAll",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getApproved",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ownerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "setApprovalForAll",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "player",
"type": "address"
}
],
"name": "mint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "tokenURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"player\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/SoulboundToken.sol\":\"SoulboundToken\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/SoulboundToken.sol\":{\"keccak256\":\"0xa241b614e23697f2be064e17e19ac03b9902b6a2c448e91be446a601316064f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f6356ca5cb5f082ea24c32e3868db92f25aa412d6136ea6eaadc88214c7e90f\",\"dweb:/ipfs/QmaGqi4WdtrVKXn63n2nqPoX4sNYv9mFtDv8Ud7miCJ7Lu\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280601181526020017f4372656469742053797374656d205342540000000000000000000000000000008152506040518060400160405280600681526020017f43535f534254000000000000000000000000000000000000000000000000000081525081600090816200008f919062000324565b508060019081620000a1919062000324565b5050506200040b565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012c57607f821691505b602082108103620001425762000141620000e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200016d565b620001b886836200016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000205620001ff620001f984620001d0565b620001da565b620001d0565b9050919050565b6000819050919050565b6200022183620001e4565b6200023962000230826200020c565b8484546200017a565b825550505050565b600090565b6200025062000241565b6200025d81848462000216565b505050565b5b8181101562000285576200027960008262000246565b60018101905062000263565b5050565b601f821115620002d4576200029e8162000148565b620002a9846200015d565b81016020851015620002b9578190505b620002d1620002c8856200015d565b83018262000262565b50505b505050565b600082821c905092915050565b6000620002f960001984600802620002d9565b1980831691505092915050565b6000620003148383620002e6565b9150826002028217905092915050565b6200032f82620000aa565b67ffffffffffffffff8111156200034b576200034a620000b5565b5b62000357825462000113565b6200036482828562000289565b600060209050601f8311600181146200039c576000841562000387578287015190505b62000393858262000306565b86555062000403565b601f198416620003ac8662000148565b60005b82811015620003d657848901518255600182019150602085019450602081019050620003af565b86831015620003f65784890151620003f2601f891682620002e6565b8355505b6001600288020188555050505b505050505050565b614be8806200041b6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636a6278421161008c578063a22cb46511610066578063a22cb4651461026f578063b88d4fde1461028b578063c87b56dd146102a7578063e985e9c5146102d7576100ea565b80636a627842146101f157806370a082311461022157806395d89b4114610251576100ea565b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018957806342842e0e146101a55780636352211e146101c1576100ea565b806301ffc9a7146100ef57806306fdde031461011f578063081812fc1461013d575b600080fd5b6101096004803603810190610104919061197f565b610307565b60405161011691906119c7565b60405180910390f35b6101276103e9565b6040516101349190611a72565b60405180910390f35b61015760048036038101906101529190611aca565b61047b565b6040516101649190611b38565b60405180910390f35b61018760048036038101906101829190611b7f565b6104c1565b005b6101a3600480360381019061019e9190611bbf565b6105d8565b005b6101bf60048036038101906101ba9190611bbf565b610638565b005b6101db60048036038101906101d69190611aca565b610658565b6040516101e89190611b38565b60405180910390f35b61020b60048036038101906102069190611c12565b6106de565b6040516102189190611c4e565b60405180910390f35b61023b60048036038101906102369190611c12565b61070b565b6040516102489190611c4e565b60405180910390f35b6102596107c2565b6040516102669190611a72565b60405180910390f35b61028960048036038101906102849190611c95565b610854565b005b6102a560048036038101906102a09190611e0a565b61086a565b005b6102c160048036038101906102bc9190611aca565b6108cc565b6040516102ce9190611a72565b60405180910390f35b6102f160048036038101906102ec9190611e8d565b61093d565b6040516102fe91906119c7565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103e257506103e1826109d1565b5b9050919050565b6060600080546103f890611efc565b80601f016020809104026020016040519081016040528092919081815260200182805461042490611efc565b80156104715780601f1061044657610100808354040283529160200191610471565b820191906000526020600020905b81548152906001019060200180831161045457829003601f168201915b5050505050905090565b600061048682610a3b565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104cc82610658565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390611f9f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661055b610a86565b73ffffffffffffffffffffffffffffffffffffffff16148061058a575061058981610584610a86565b61093d565b5b6105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c090612031565b60405180910390fd5b6105d38383610a8e565b505050565b6105e96105e3610a86565b82610b47565b610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f906120c3565b60405180910390fd5b610633838383610bdc565b505050565b6106538383836040518060200160405280600081525061086a565b505050565b60008061066483610ed5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cc9061212f565b60405180910390fd5b80915050919050565b60006106ea6006610f12565b60006106f66006610f28565b90506107028382610f36565b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610772906121c1565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107d190611efc565b80601f01602080910402602001604051908101604052809291908181526020018280546107fd90611efc565b801561084a5780601f1061081f5761010080835404028352916020019161084a565b820191906000526020600020905b81548152906001019060200180831161082d57829003601f168201915b5050505050905090565b61086661085f610a86565b8383611153565b5050565b61087b610875610a86565b83610b47565b6108ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b1906120c3565b60405180910390fd5b6108c6848484846112bf565b50505050565b60606108d782610a3b565b60006109136108e58461131b565b6108ee856113e9565b6040516020016108ff9291906123bf565b604051602081830303815290604052611466565b9050806040516020016109269190612466565b604051602081830303815290604052915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a44816115c9565b610a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7a9061212f565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610b0183610658565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610b5383610658565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b955750610b94818561093d565b5b80610bd357508373ffffffffffffffffffffffffffffffffffffffff16610bbb8461047b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610bfc82610658565b73ffffffffffffffffffffffffffffffffffffffff1614610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c49906124fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb89061258c565b60405180910390fd5b610cce838383600161160a565b8273ffffffffffffffffffffffffffffffffffffffff16610cee82610658565b73ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b906124fa565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ed08383836001611610565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6001816000016000828254019250508190555050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9c906125f8565b60405180910390fd5b610fae816115c9565b15610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590612664565b60405180910390fd5b610ffc60008383600161160a565b611005816115c9565b15611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c90612664565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461114f600083836001611610565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b8906126d0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112b291906119c7565b60405180910390a3505050565b6112ca848484610bdc565b6112d684848484611616565b611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90612762565b60405180910390fd5b50505050565b60606000600161132a8461179d565b01905060008167ffffffffffffffff81111561134957611348611cdf565b5b6040519080825280601f01601f19166020018201604052801561137b5781602001600182028036833780820191505090505b509050600082602001820190505b6001156113de578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816113d2576113d1612782565b5b04945060008503611389575b819350505050919050565b606060006113f68361131b565b9050600060405180610960016040528061093c815260200161427761093c913990506000604051806118c0016040528061189b815260200161299c61189b9139905081838260405160200161144d939291906127b1565b6040516020818303038152906040529350505050919050565b60606000825103611488576040518060200160405280600081525090506115c4565b600060405180606001604052806040815260200161423760409139905060006003600285516114b79190612811565b6114c19190612845565b60046114cd9190612876565b67ffffffffffffffff8111156114e6576114e5611cdf565b5b6040519080825280601f01601f1916602001820160405280156115185781602001600182028036833780820191505090505b509050600182016020820185865187015b80821015611584576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845360018401935050611529565b50506003865106600181146115a057600281146115b3576115bb565b603d6001830353603d60028303536115bb565b603d60018303535b50505080925050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff166115eb83610ed5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b60006116378473ffffffffffffffffffffffffffffffffffffffff166118f0565b15611790578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611660610a86565b8786866040518563ffffffff1660e01b8152600401611682949392919061290d565b6020604051808303816000875af19250505080156116be57506040513d601f19601f820116820180604052508101906116bb919061296e565b60015b611740573d80600081146116ee576040519150601f19603f3d011682016040523d82523d6000602084013e6116f3565b606091505b506000815103611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f90612762565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611795565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106117fb577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816117f1576117f0612782565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611838576d04ee2d6d415b85acef8100000000838161182e5761182d612782565b5b0492506020810190505b662386f26fc10000831061186757662386f26fc10000838161185d5761185c612782565b5b0492506010810190505b6305f5e1008310611890576305f5e100838161188657611885612782565b5b0492506008810190505b61271083106118b55761271083816118ab576118aa612782565b5b0492506004810190505b606483106118d857606483816118ce576118cd612782565b5b0492506002810190505b600a83106118e7576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61195c81611927565b811461196757600080fd5b50565b60008135905061197981611953565b92915050565b6000602082840312156119955761199461191d565b5b60006119a38482850161196a565b91505092915050565b60008115159050919050565b6119c1816119ac565b82525050565b60006020820190506119dc60008301846119b8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a1c578082015181840152602081019050611a01565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a44826119e2565b611a4e81856119ed565b9350611a5e8185602086016119fe565b611a6781611a28565b840191505092915050565b60006020820190508181036000830152611a8c8184611a39565b905092915050565b6000819050919050565b611aa781611a94565b8114611ab257600080fd5b50565b600081359050611ac481611a9e565b92915050565b600060208284031215611ae057611adf61191d565b5b6000611aee84828501611ab5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b2282611af7565b9050919050565b611b3281611b17565b82525050565b6000602082019050611b4d6000830184611b29565b92915050565b611b5c81611b17565b8114611b6757600080fd5b50565b600081359050611b7981611b53565b92915050565b60008060408385031215611b9657611b9561191d565b5b6000611ba485828601611b6a565b9250506020611bb585828601611ab5565b9150509250929050565b600080600060608486031215611bd857611bd761191d565b5b6000611be686828701611b6a565b9350506020611bf786828701611b6a565b9250506040611c0886828701611ab5565b9150509250925092565b600060208284031215611c2857611c2761191d565b5b6000611c3684828501611b6a565b91505092915050565b611c4881611a94565b82525050565b6000602082019050611c636000830184611c3f565b92915050565b611c72816119ac565b8114611c7d57600080fd5b50565b600081359050611c8f81611c69565b92915050565b60008060408385031215611cac57611cab61191d565b5b6000611cba85828601611b6a565b9250506020611ccb85828601611c80565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611d1782611a28565b810181811067ffffffffffffffff82111715611d3657611d35611cdf565b5b80604052505050565b6000611d49611913565b9050611d558282611d0e565b919050565b600067ffffffffffffffff821115611d7557611d74611cdf565b5b611d7e82611a28565b9050602081019050919050565b82818337600083830152505050565b6000611dad611da884611d5a565b611d3f565b905082815260208101848484011115611dc957611dc8611cda565b5b611dd4848285611d8b565b509392505050565b600082601f830112611df157611df0611cd5565b5b8135611e01848260208601611d9a565b91505092915050565b60008060008060808587031215611e2457611e2361191d565b5b6000611e3287828801611b6a565b9450506020611e4387828801611b6a565b9350506040611e5487828801611ab5565b925050606085013567ffffffffffffffff811115611e7557611e74611922565b5b611e8187828801611ddc565b91505092959194509250565b60008060408385031215611ea457611ea361191d565b5b6000611eb285828601611b6a565b9250506020611ec385828601611b6a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611f1457607f821691505b602082108103611f2757611f26611ecd565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f896021836119ed565b9150611f9482611f2d565b604082019050919050565b60006020820190508181036000830152611fb881611f7c565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061201b603d836119ed565b915061202682611fbf565b604082019050919050565b6000602082019050818103600083015261204a8161200e565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006120ad602d836119ed565b91506120b882612051565b604082019050919050565b600060208201905081810360008301526120dc816120a0565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006121196018836119ed565b9150612124826120e3565b602082019050919050565b600060208201905081810360008301526121488161210c565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006121ab6029836119ed565b91506121b68261214f565b604082019050919050565b600060208201905081810360008301526121da8161219e565b9050919050565b600081905092915050565b7f7b226e616d65223a20224372656469742053797374656d20536f756c626f756e60008201527f6420546f6b656e20284353534254292023000000000000000000000000000000602082015250565b60006122486031836121e1565b9150612253826121ec565b603182019050919050565b6000612269826119e2565b61227381856121e1565b93506122838185602086016119fe565b80840191505092915050565b7f222c000000000000000000000000000000000000000000000000000000000000600082015250565b60006122c56002836121e1565b91506122d08261228f565b600282019050919050565b7f22696d6167655f64617461223a20220000000000000000000000000000000000600082015250565b6000612311600f836121e1565b915061231c826122db565b600f82019050919050565b7f2200000000000000000000000000000000000000000000000000000000000000600082015250565b600061235d6001836121e1565b915061236882612327565b600182019050919050565b7f7d00000000000000000000000000000000000000000000000000000000000000600082015250565b60006123a96001836121e1565b91506123b482612373565b600182019050919050565b60006123ca8261223b565b91506123d6828561225e565b91506123e1826122b8565b91506123ec82612304565b91506123f8828461225e565b915061240382612350565b915061240e8261239c565b91508190509392505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000612450601d836121e1565b915061245b8261241a565b601d82019050919050565b600061247182612443565b915061247d828461225e565b915081905092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006124e46025836119ed565b91506124ef82612488565b604082019050919050565b60006020820190508181036000830152612513816124d7565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006125766024836119ed565b91506125818261251a565b604082019050919050565b600060208201905081810360008301526125a581612569565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006125e26020836119ed565b91506125ed826125ac565b602082019050919050565b60006020820190508181036000830152612611816125d5565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061264e601c836119ed565b915061265982612618565b602082019050919050565b6000602082019050818103600083015261267d81612641565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006126ba6019836119ed565b91506126c582612684565b602082019050919050565b600060208201905081810360008301526126e9816126ad565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061274c6032836119ed565b9150612757826126f0565b604082019050919050565b6000602082019050818103600083015261277b8161273f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127bd828661225e565b91506127c9828561225e565b91506127d5828461225e565b9150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281c82611a94565b915061282783611a94565b925082820190508082111561283f5761283e6127e2565b5b92915050565b600061285082611a94565b915061285b83611a94565b92508261286b5761286a612782565b5b828204905092915050565b600061288182611a94565b915061288c83611a94565b925082820261289a81611a94565b915082820484148315176128b1576128b06127e2565b5b5092915050565b600081519050919050565b600082825260208201905092915050565b60006128df826128b8565b6128e981856128c3565b93506128f98185602086016119fe565b61290281611a28565b840191505092915050565b60006080820190506129226000830187611b29565b61292f6020830186611b29565b61293c6040830185611c3f565b818103606083015261294e81846128d4565b905095945050505050565b60008151905061296881611953565b92915050565b6000602082840312156129845761298361191d565b5b600061299284828501612959565b9150509291505056fe5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c7376672069643d27655932476a50376b355374312720786d6c6e733d27687474703a2f2f7777772e77332e6f72672f323030302f7376672720786d6c6e733a786c696e6b3d27687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b272076696577426f783d27302030203531312e393939203531312e393939272073686170652d72656e646572696e673d2767656f6d6574726963507265636973696f6e2720746578742d72656e646572696e673d2767656f6d6574726963507265636973696f6e272077696474683d273531312e39393927206865696768743d273531312e393939273e3c7061746820643d274d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a272066696c6c3d2723333961336462272f3e3c7061746820643d274d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a272066696c6c3d2723333739376433272f3e3c7061746820643d274d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a272066696c6c3d2723383064306531272f3e3c673e3c636972636c6520723d2732372e32303427207472616e73666f726d3d277472616e736c617465283135392e333536203233372e33353529272066696c6c3d2723653866326662272f3e3c7061746820643d274d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a272066696c6c3d2723653866326662272f3e3c2f673e3c7061746820643d274d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829272066696c6c3d2723353162336461272f3e3c7061746820643d274d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129272066696c6c3d2723353162336461272f3e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283237302e363036393738203138302e303431353529272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2732352e35393939352720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2735312e313939392720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283239352e363933363739203333322e34343530393429272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b23a26469706673582212201ef5a39cd0121d9ca444fd72d760490f8c28829503c970acda76395950ca5de864736f6c63430008130033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636a6278421161008c578063a22cb46511610066578063a22cb4651461026f578063b88d4fde1461028b578063c87b56dd146102a7578063e985e9c5146102d7576100ea565b80636a627842146101f157806370a082311461022157806395d89b4114610251576100ea565b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018957806342842e0e146101a55780636352211e146101c1576100ea565b806301ffc9a7146100ef57806306fdde031461011f578063081812fc1461013d575b600080fd5b6101096004803603810190610104919061197f565b610307565b60405161011691906119c7565b60405180910390f35b6101276103e9565b6040516101349190611a72565b60405180910390f35b61015760048036038101906101529190611aca565b61047b565b6040516101649190611b38565b60405180910390f35b61018760048036038101906101829190611b7f565b6104c1565b005b6101a3600480360381019061019e9190611bbf565b6105d8565b005b6101bf60048036038101906101ba9190611bbf565b610638565b005b6101db60048036038101906101d69190611aca565b610658565b6040516101e89190611b38565b60405180910390f35b61020b60048036038101906102069190611c12565b6106de565b6040516102189190611c4e565b60405180910390f35b61023b60048036038101906102369190611c12565b61070b565b6040516102489190611c4e565b60405180910390f35b6102596107c2565b6040516102669190611a72565b60405180910390f35b61028960048036038101906102849190611c95565b610854565b005b6102a560048036038101906102a09190611e0a565b61086a565b005b6102c160048036038101906102bc9190611aca565b6108cc565b6040516102ce9190611a72565b60405180910390f35b6102f160048036038101906102ec9190611e8d565b61093d565b6040516102fe91906119c7565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103e257506103e1826109d1565b5b9050919050565b6060600080546103f890611efc565b80601f016020809104026020016040519081016040528092919081815260200182805461042490611efc565b80156104715780601f1061044657610100808354040283529160200191610471565b820191906000526020600020905b81548152906001019060200180831161045457829003601f168201915b5050505050905090565b600061048682610a3b565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104cc82610658565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390611f9f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661055b610a86565b73ffffffffffffffffffffffffffffffffffffffff16148061058a575061058981610584610a86565b61093d565b5b6105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c090612031565b60405180910390fd5b6105d38383610a8e565b505050565b6105e96105e3610a86565b82610b47565b610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f906120c3565b60405180910390fd5b610633838383610bdc565b505050565b6106538383836040518060200160405280600081525061086a565b505050565b60008061066483610ed5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cc9061212f565b60405180910390fd5b80915050919050565b60006106ea6006610f12565b60006106f66006610f28565b90506107028382610f36565b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610772906121c1565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107d190611efc565b80601f01602080910402602001604051908101604052809291908181526020018280546107fd90611efc565b801561084a5780601f1061081f5761010080835404028352916020019161084a565b820191906000526020600020905b81548152906001019060200180831161082d57829003601f168201915b5050505050905090565b61086661085f610a86565b8383611153565b5050565b61087b610875610a86565b83610b47565b6108ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b1906120c3565b60405180910390fd5b6108c6848484846112bf565b50505050565b60606108d782610a3b565b60006109136108e58461131b565b6108ee856113e9565b6040516020016108ff9291906123bf565b604051602081830303815290604052611466565b9050806040516020016109269190612466565b604051602081830303815290604052915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a44816115c9565b610a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7a9061212f565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610b0183610658565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610b5383610658565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b955750610b94818561093d565b5b80610bd357508373ffffffffffffffffffffffffffffffffffffffff16610bbb8461047b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610bfc82610658565b73ffffffffffffffffffffffffffffffffffffffff1614610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c49906124fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb89061258c565b60405180910390fd5b610cce838383600161160a565b8273ffffffffffffffffffffffffffffffffffffffff16610cee82610658565b73ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b906124fa565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ed08383836001611610565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6001816000016000828254019250508190555050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9c906125f8565b60405180910390fd5b610fae816115c9565b15610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590612664565b60405180910390fd5b610ffc60008383600161160a565b611005816115c9565b15611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c90612664565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461114f600083836001611610565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b8906126d0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112b291906119c7565b60405180910390a3505050565b6112ca848484610bdc565b6112d684848484611616565b611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90612762565b60405180910390fd5b50505050565b60606000600161132a8461179d565b01905060008167ffffffffffffffff81111561134957611348611cdf565b5b6040519080825280601f01601f19166020018201604052801561137b5781602001600182028036833780820191505090505b509050600082602001820190505b6001156113de578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816113d2576113d1612782565b5b04945060008503611389575b819350505050919050565b606060006113f68361131b565b9050600060405180610960016040528061093c815260200161427761093c913990506000604051806118c0016040528061189b815260200161299c61189b9139905081838260405160200161144d939291906127b1565b6040516020818303038152906040529350505050919050565b60606000825103611488576040518060200160405280600081525090506115c4565b600060405180606001604052806040815260200161423760409139905060006003600285516114b79190612811565b6114c19190612845565b60046114cd9190612876565b67ffffffffffffffff8111156114e6576114e5611cdf565b5b6040519080825280601f01601f1916602001820160405280156115185781602001600182028036833780820191505090505b509050600182016020820185865187015b80821015611584576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845360018401935050611529565b50506003865106600181146115a057600281146115b3576115bb565b603d6001830353603d60028303536115bb565b603d60018303535b50505080925050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff166115eb83610ed5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b60006116378473ffffffffffffffffffffffffffffffffffffffff166118f0565b15611790578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611660610a86565b8786866040518563ffffffff1660e01b8152600401611682949392919061290d565b6020604051808303816000875af19250505080156116be57506040513d601f19601f820116820180604052508101906116bb919061296e565b60015b611740573d80600081146116ee576040519150601f19603f3d011682016040523d82523d6000602084013e6116f3565b606091505b506000815103611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f90612762565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611795565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106117fb577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816117f1576117f0612782565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611838576d04ee2d6d415b85acef8100000000838161182e5761182d612782565b5b0492506020810190505b662386f26fc10000831061186757662386f26fc10000838161185d5761185c612782565b5b0492506010810190505b6305f5e1008310611890576305f5e100838161188657611885612782565b5b0492506008810190505b61271083106118b55761271083816118ab576118aa612782565b5b0492506004810190505b606483106118d857606483816118ce576118cd612782565b5b0492506002810190505b600a83106118e7576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61195c81611927565b811461196757600080fd5b50565b60008135905061197981611953565b92915050565b6000602082840312156119955761199461191d565b5b60006119a38482850161196a565b91505092915050565b60008115159050919050565b6119c1816119ac565b82525050565b60006020820190506119dc60008301846119b8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a1c578082015181840152602081019050611a01565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a44826119e2565b611a4e81856119ed565b9350611a5e8185602086016119fe565b611a6781611a28565b840191505092915050565b60006020820190508181036000830152611a8c8184611a39565b905092915050565b6000819050919050565b611aa781611a94565b8114611ab257600080fd5b50565b600081359050611ac481611a9e565b92915050565b600060208284031215611ae057611adf61191d565b5b6000611aee84828501611ab5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b2282611af7565b9050919050565b611b3281611b17565b82525050565b6000602082019050611b4d6000830184611b29565b92915050565b611b5c81611b17565b8114611b6757600080fd5b50565b600081359050611b7981611b53565b92915050565b60008060408385031215611b9657611b9561191d565b5b6000611ba485828601611b6a565b9250506020611bb585828601611ab5565b9150509250929050565b600080600060608486031215611bd857611bd761191d565b5b6000611be686828701611b6a565b9350506020611bf786828701611b6a565b9250506040611c0886828701611ab5565b9150509250925092565b600060208284031215611c2857611c2761191d565b5b6000611c3684828501611b6a565b91505092915050565b611c4881611a94565b82525050565b6000602082019050611c636000830184611c3f565b92915050565b611c72816119ac565b8114611c7d57600080fd5b50565b600081359050611c8f81611c69565b92915050565b60008060408385031215611cac57611cab61191d565b5b6000611cba85828601611b6a565b9250506020611ccb85828601611c80565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611d1782611a28565b810181811067ffffffffffffffff82111715611d3657611d35611cdf565b5b80604052505050565b6000611d49611913565b9050611d558282611d0e565b919050565b600067ffffffffffffffff821115611d7557611d74611cdf565b5b611d7e82611a28565b9050602081019050919050565b82818337600083830152505050565b6000611dad611da884611d5a565b611d3f565b905082815260208101848484011115611dc957611dc8611cda565b5b611dd4848285611d8b565b509392505050565b600082601f830112611df157611df0611cd5565b5b8135611e01848260208601611d9a565b91505092915050565b60008060008060808587031215611e2457611e2361191d565b5b6000611e3287828801611b6a565b9450506020611e4387828801611b6a565b9350506040611e5487828801611ab5565b925050606085013567ffffffffffffffff811115611e7557611e74611922565b5b611e8187828801611ddc565b91505092959194509250565b60008060408385031215611ea457611ea361191d565b5b6000611eb285828601611b6a565b9250506020611ec385828601611b6a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611f1457607f821691505b602082108103611f2757611f26611ecd565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f896021836119ed565b9150611f9482611f2d565b604082019050919050565b60006020820190508181036000830152611fb881611f7c565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061201b603d836119ed565b915061202682611fbf565b604082019050919050565b6000602082019050818103600083015261204a8161200e565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006120ad602d836119ed565b91506120b882612051565b604082019050919050565b600060208201905081810360008301526120dc816120a0565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006121196018836119ed565b9150612124826120e3565b602082019050919050565b600060208201905081810360008301526121488161210c565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006121ab6029836119ed565b91506121b68261214f565b604082019050919050565b600060208201905081810360008301526121da8161219e565b9050919050565b600081905092915050565b7f7b226e616d65223a20224372656469742053797374656d20536f756c626f756e60008201527f6420546f6b656e20284353534254292023000000000000000000000000000000602082015250565b60006122486031836121e1565b9150612253826121ec565b603182019050919050565b6000612269826119e2565b61227381856121e1565b93506122838185602086016119fe565b80840191505092915050565b7f222c000000000000000000000000000000000000000000000000000000000000600082015250565b60006122c56002836121e1565b91506122d08261228f565b600282019050919050565b7f22696d6167655f64617461223a20220000000000000000000000000000000000600082015250565b6000612311600f836121e1565b915061231c826122db565b600f82019050919050565b7f2200000000000000000000000000000000000000000000000000000000000000600082015250565b600061235d6001836121e1565b915061236882612327565b600182019050919050565b7f7d00000000000000000000000000000000000000000000000000000000000000600082015250565b60006123a96001836121e1565b91506123b482612373565b600182019050919050565b60006123ca8261223b565b91506123d6828561225e565b91506123e1826122b8565b91506123ec82612304565b91506123f8828461225e565b915061240382612350565b915061240e8261239c565b91508190509392505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000612450601d836121e1565b915061245b8261241a565b601d82019050919050565b600061247182612443565b915061247d828461225e565b915081905092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006124e46025836119ed565b91506124ef82612488565b604082019050919050565b60006020820190508181036000830152612513816124d7565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006125766024836119ed565b91506125818261251a565b604082019050919050565b600060208201905081810360008301526125a581612569565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006125e26020836119ed565b91506125ed826125ac565b602082019050919050565b60006020820190508181036000830152612611816125d5565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061264e601c836119ed565b915061265982612618565b602082019050919050565b6000602082019050818103600083015261267d81612641565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006126ba6019836119ed565b91506126c582612684565b602082019050919050565b600060208201905081810360008301526126e9816126ad565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061274c6032836119ed565b9150612757826126f0565b604082019050919050565b6000602082019050818103600083015261277b8161273f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127bd828661225e565b91506127c9828561225e565b91506127d5828461225e565b9150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281c82611a94565b915061282783611a94565b925082820190508082111561283f5761283e6127e2565b5b92915050565b600061285082611a94565b915061285b83611a94565b92508261286b5761286a612782565b5b828204905092915050565b600061288182611a94565b915061288c83611a94565b925082820261289a81611a94565b915082820484148315176128b1576128b06127e2565b5b5092915050565b600081519050919050565b600082825260208201905092915050565b60006128df826128b8565b6128e981856128c3565b93506128f98185602086016119fe565b61290281611a28565b840191505092915050565b60006080820190506129226000830187611b29565b61292f6020830186611b29565b61293c6040830185611c3f565b818103606083015261294e81846128d4565b905095945050505050565b60008151905061296881611953565b92915050565b6000602082840312156129845761298361191d565b5b600061299284828501612959565b9150509291505056fe5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c7376672069643d27655932476a50376b355374312720786d6c6e733d27687474703a2f2f7777772e77332e6f72672f323030302f7376672720786d6c6e733a786c696e6b3d27687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b272076696577426f783d27302030203531312e393939203531312e393939272073686170652d72656e646572696e673d2767656f6d6574726963507265636973696f6e2720746578742d72656e646572696e673d2767656f6d6574726963507265636973696f6e272077696474683d273531312e39393927206865696768743d273531312e393939273e3c7061746820643d274d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a272066696c6c3d2723333961336462272f3e3c7061746820643d274d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a272066696c6c3d2723333739376433272f3e3c7061746820643d274d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a272066696c6c3d2723383064306531272f3e3c673e3c636972636c6520723d2732372e32303427207472616e73666f726d3d277472616e736c617465283135392e333536203233372e33353529272066696c6c3d2723653866326662272f3e3c7061746820643d274d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a272066696c6c3d2723653866326662272f3e3c2f673e3c7061746820643d274d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829272066696c6c3d2723353162336461272f3e3c7061746820643d274d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129272066696c6c3d2723353162336461272f3e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283237302e363036393738203138302e303431353529272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2732352e35393939352720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2735312e313939392720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283239352e363933363739203333322e34343530393429272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b23a26469706673582212201ef5a39cd0121d9ca444fd72d760490f8c28829503c970acda76395950ca5de864736f6c63430008130033",
"immutableReferences": {},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5231:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:14"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:14"
},
"nodeType": "YulFunctionCall",
"src": "87:12:14"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:14"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:14",
"type": ""
}
],
"src": "7:99:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "140:152:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "157:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "160:77:14",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "150:6:14"
},
"nodeType": "YulFunctionCall",
"src": "150:88:14"
},
"nodeType": "YulExpressionStatement",
"src": "150:88:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "254:1:14",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:4:14",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "247:6:14"
},
"nodeType": "YulFunctionCall",
"src": "247:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "247:15:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "278:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "281:4:14",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "271:6:14"
},
"nodeType": "YulFunctionCall",
"src": "271:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "271:15:14"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "112:180:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "326:152:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "346:77:14",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "336:6:14"
},
"nodeType": "YulFunctionCall",
"src": "336:88:14"
},
"nodeType": "YulExpressionStatement",
"src": "336:88:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:14",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:4:14",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "433:6:14"
},
"nodeType": "YulFunctionCall",
"src": "433:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "433:15:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "464:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:14",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "457:6:14"
},
"nodeType": "YulFunctionCall",
"src": "457:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "457:15:14"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "298:180:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "535:269:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "545:22:14",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "559:4:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:14",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "555:3:14"
},
"nodeType": "YulFunctionCall",
"src": "555:12:14"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "545:6:14"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "576:38:14",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "606:4:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:1:14",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "602:3:14"
},
"nodeType": "YulFunctionCall",
"src": "602:12:14"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "580:18:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "653:51:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "667:27:14",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "681:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:4:14",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "677:3:14"
},
"nodeType": "YulFunctionCall",
"src": "677:17:14"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "667:6:14"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "633:18:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "626:6:14"
},
"nodeType": "YulFunctionCall",
"src": "626:26:14"
},
"nodeType": "YulIf",
"src": "623:81:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:42:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "770:16:14"
},
"nodeType": "YulFunctionCall",
"src": "770:18:14"
},
"nodeType": "YulExpressionStatement",
"src": "770:18:14"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "720:18:14"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "743:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "751:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "740:2:14"
},
"nodeType": "YulFunctionCall",
"src": "740:14:14"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "717:2:14"
},
"nodeType": "YulFunctionCall",
"src": "717:38:14"
},
"nodeType": "YulIf",
"src": "714:84:14"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "519:4:14",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "528:6:14",
"type": ""
}
],
"src": "484:320:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "864:87:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "874:11:14",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "882:3:14"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "874:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "902:1:14",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "905:3:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "895:6:14"
},
"nodeType": "YulFunctionCall",
"src": "895:14:14"
},
"nodeType": "YulExpressionStatement",
"src": "895:14:14"
},
{
"nodeType": "YulAssignment",
"src": "918:26:14",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "936:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "926:9:14"
},
"nodeType": "YulFunctionCall",
"src": "926:18:14"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "918:4:14"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "851:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "859:4:14",
"type": ""
}
],
"src": "810:141:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1001:49:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1011:33:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:2:14",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1025:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1025:14:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1041:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1021:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1021:23:14"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1011:6:14"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "984:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "994:6:14",
"type": ""
}
],
"src": "957:93:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:54:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:37:14",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "1144:4:14"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1150:5:14"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1140:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1140:16:14"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "1119:8:14"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "1084:4:14",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "1100:8:14",
"type": ""
}
],
"src": "1056:107:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1245:317:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1255:35:14",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "1276:10:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:1:14",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1272:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1272:18:14"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "1259:9:14",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1299:109:14",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1330:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:66:14",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1311:18:14"
},
"nodeType": "YulFunctionCall",
"src": "1311:97:14"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "1303:4:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1417:51:14",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1448:9:14"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1459:8:14"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1429:18:14"
},
"nodeType": "YulFunctionCall",
"src": "1429:39:14"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1417:8:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1477:30:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1490:5:14"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1501:4:14"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1497:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1497:9:14"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1486:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1486:21:14"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1516:40:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1529:5:14"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1540:8:14"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1550:4:14"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1536:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1536:19:14"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1526:2:14"
},
"nodeType": "YulFunctionCall",
"src": "1526:30:14"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1516:6:14"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1206:5:14",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "1213:10:14",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "1225:8:14",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1238:6:14",
"type": ""
}
],
"src": "1169:393:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1613:32:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1623:16:14",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1634:5:14"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1623:7:14"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1595:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1605:7:14",
"type": ""
}
],
"src": "1568:77:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1683:28:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1693:12:14",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1700:5:14"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1693:3:14"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1669:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1679:3:14",
"type": ""
}
],
"src": "1651:60:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1777:82:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1787:66:14",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1845:5:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1827:17:14"
},
"nodeType": "YulFunctionCall",
"src": "1827:24:14"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1818:8:14"
},
"nodeType": "YulFunctionCall",
"src": "1818:34:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1800:17:14"
},
"nodeType": "YulFunctionCall",
"src": "1800:53:14"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1787:9:14"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1757:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1767:9:14",
"type": ""
}
],
"src": "1717:142:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1912:28:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1922:12:14",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1929:5:14"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1922:3:14"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1898:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1908:3:14",
"type": ""
}
],
"src": "1865:75:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2022:193:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2032:63:14",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "2087:7:14"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2056:30:14"
},
"nodeType": "YulFunctionCall",
"src": "2056:39:14"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "2036:16:14",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2111:4:14"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2151:4:14"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "2145:5:14"
},
"nodeType": "YulFunctionCall",
"src": "2145:11:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2158:6:14"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "2190:16:14"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "2166:23:14"
},
"nodeType": "YulFunctionCall",
"src": "2166:41:14"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "2117:27:14"
},
"nodeType": "YulFunctionCall",
"src": "2117:91:14"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "2104:6:14"
},
"nodeType": "YulFunctionCall",
"src": "2104:105:14"
},
"nodeType": "YulExpressionStatement",
"src": "2104:105:14"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "1999:4:14",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2005:6:14",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "2013:7:14",
"type": ""
}
],
"src": "1946:269:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2270:24:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2280:8:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2287:1:14",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "2280:3:14"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "2266:3:14",
"type": ""
}
],
"src": "2221:73:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2353:136:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2363:46:14",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "2377:30:14"
},
"nodeType": "YulFunctionCall",
"src": "2377:32:14"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "2367:6:14",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2462:4:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2468:6:14"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "2476:6:14"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2418:43:14"
},
"nodeType": "YulFunctionCall",
"src": "2418:65:14"
},
"nodeType": "YulExpressionStatement",
"src": "2418:65:14"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "2339:4:14",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2345:6:14",
"type": ""
}
],
"src": "2300:189:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2545:136:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2612:63:14",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2656:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2663:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "2626:29:14"
},
"nodeType": "YulFunctionCall",
"src": "2626:39:14"
},
"nodeType": "YulExpressionStatement",
"src": "2626:39:14"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2565:5:14"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2572:3:14"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2562:2:14"
},
"nodeType": "YulFunctionCall",
"src": "2562:14:14"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2577:26:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2579:22:14",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2592:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:1:14",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2588:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2588:13:14"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2579:5:14"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2559:2:14",
"statements": []
},
"src": "2555:120:14"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "2533:5:14",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2540:3:14",
"type": ""
}
],
"src": "2495:186:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2766:464:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2792:431:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2806:54:14",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2854:5:14"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "2822:31:14"
},
"nodeType": "YulFunctionCall",
"src": "2822:38:14"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "2810:8:14",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2873:63:14",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "2896:8:14"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "2924:10:14"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "2906:17:14"
},
"nodeType": "YulFunctionCall",
"src": "2906:29:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2892:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2892:44:14"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "2877:11:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3093:27:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:23:14",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3110:8:14"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3095:11:14"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "3077:10:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3074:2:14"
},
"nodeType": "YulFunctionCall",
"src": "3074:18:14"
},
"nodeType": "YulIf",
"src": "3071:49:14"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3162:11:14"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3179:8:14"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3207:3:14"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "3189:17:14"
},
"nodeType": "YulFunctionCall",
"src": "3189:22:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3175:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3175:37:14"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "3133:28:14"
},
"nodeType": "YulFunctionCall",
"src": "3133:80:14"
},
"nodeType": "YulExpressionStatement",
"src": "3133:80:14"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "2783:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2788:2:14",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2780:2:14"
},
"nodeType": "YulFunctionCall",
"src": "2780:11:14"
},
"nodeType": "YulIf",
"src": "2777:446:14"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2742:5:14",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "2749:3:14",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "2754:10:14",
"type": ""
}
],
"src": "2687:543:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3299:54:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3309:37:14",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "3334:4:14"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3340:5:14"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "3330:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3330:16:14"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "3309:8:14"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "3274:4:14",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3280:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "3290:8:14",
"type": ""
}
],
"src": "3236:117:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3410:118:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:68:14",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3469:1:14",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "3472:5:14"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3465:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3465:13:14"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3480:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3480:6:14"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "3436:28:14"
},
"nodeType": "YulFunctionCall",
"src": "3436:51:14"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3432:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3432:56:14"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "3424:4:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3497:25:14",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3511:4:14"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "3517:4:14"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3507:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3507:15:14"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3497:6:14"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3387:4:14",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "3393:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3403:6:14",
"type": ""
}
],
"src": "3359:169:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3614:214:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3747:37:14",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3774:4:14"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3780:3:14"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "3755:18:14"
},
"nodeType": "YulFunctionCall",
"src": "3755:29:14"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3747:4:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3793:29:14",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3804:4:14"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:1:14",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3817:3:14"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3810:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3810:11:14"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3801:2:14"
},
"nodeType": "YulFunctionCall",
"src": "3801:21:14"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "3793:4:14"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3595:4:14",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "3601:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "3609:4:14",
"type": ""
}
],
"src": "3533:295:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3925:1303:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3936:51:14",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3983:3:14"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3950:32:14"
},
"nodeType": "YulFunctionCall",
"src": "3950:37:14"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "3940:6:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4072:22:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4074:16:14"
},
"nodeType": "YulFunctionCall",
"src": "4074:18:14"
},
"nodeType": "YulExpressionStatement",
"src": "4074:18:14"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4044:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4052:18:14",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4041:2:14"
},
"nodeType": "YulFunctionCall",
"src": "4041:30:14"
},
"nodeType": "YulIf",
"src": "4038:56:14"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4104:52:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4150:4:14"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "4144:5:14"
},
"nodeType": "YulFunctionCall",
"src": "4144:11:14"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "4118:25:14"
},
"nodeType": "YulFunctionCall",
"src": "4118:38:14"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "4108:6:14",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4249:4:14"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "4255:6:14"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4263:6:14"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4203:45:14"
},
"nodeType": "YulFunctionCall",
"src": "4203:67:14"
},
"nodeType": "YulExpressionStatement",
"src": "4203:67:14"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4280:18:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "4284:9:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4308:17:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4321:4:14",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4308:9:14"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "4372:611:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4386:37:14",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4405:6:14"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4417:4:14",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4413:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4413:9:14"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4401:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4401:22:14"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "4390:7:14",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4437:51:14",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4483:4:14"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4451:31:14"
},
"nodeType": "YulFunctionCall",
"src": "4451:37:14"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "4441:6:14",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4501:10:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4510:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4505:1:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4569:163:14",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4594:6:14"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4612:3:14"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4617:9:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4608:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4608:19:14"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4602:5:14"
},
"nodeType": "YulFunctionCall",
"src": "4602:26:14"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4587:6:14"
},
"nodeType": "YulFunctionCall",
"src": "4587:42:14"
},
"nodeType": "YulExpressionStatement",
"src": "4587:42:14"
},
{
"nodeType": "YulAssignment",
"src": "4646:24:14",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4660:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4668:1:14",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4656:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4656:14:14"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4646:6:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4687:31:14",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4704:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:14"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4687:9:14"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4535:1:14"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4538:7:14"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4532:2:14"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:14"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4547:21:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4549:17:14",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4558:1:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4561:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4554:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4554:12:14"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4549:1:14"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4528:3:14",
"statements": []
},
"src": "4524:208:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4768:156:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4786:43:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4813:3:14"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4818:9:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4809:19:14"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4803:5:14"
},
"nodeType": "YulFunctionCall",
"src": "4803:26:14"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "4790:9:14",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4853:6:14"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "4880:9:14"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4895:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4903:4:14",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4891:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4891:17:14"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "4861:18:14"
},
"nodeType": "YulFunctionCall",
"src": "4861:48:14"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4846:6:14"
},
"nodeType": "YulFunctionCall",
"src": "4846:64:14"
},
"nodeType": "YulExpressionStatement",
"src": "4846:64:14"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4751:7:14"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4760:6:14"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4748:2:14"
},
"nodeType": "YulFunctionCall",
"src": "4748:19:14"
},
"nodeType": "YulIf",
"src": "4745:179:14"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4944:4:14"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4958:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4966:1:14",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4954:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4954:14:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:14",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4950:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4950:22:14"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4937:6:14"
},
"nodeType": "YulFunctionCall",
"src": "4937:36:14"
},
"nodeType": "YulExpressionStatement",
"src": "4937:36:14"
}
]
},
"nodeType": "YulCase",
"src": "4365:618:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4370:1:14",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:222:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5014:14:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5027:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5018:5:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5051:67:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5069:35:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5088:3:14"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "5093:9:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5084:3:14"
},
"nodeType": "YulFunctionCall",
"src": "5084:19:14"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5078:5:14"
},
"nodeType": "YulFunctionCall",
"src": "5078:26:14"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5069:5:14"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5044:6:14"
},
"nodeType": "YulIf",
"src": "5041:77:14"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "5138:4:14"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5197:5:14"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5204:6:14"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "5144:52:14"
},
"nodeType": "YulFunctionCall",
"src": "5144:67:14"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "5131:6:14"
},
"nodeType": "YulFunctionCall",
"src": "5131:81:14"
},
"nodeType": "YulExpressionStatement",
"src": "5131:81:14"
}
]
},
"nodeType": "YulCase",
"src": "4992:230:14",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4345:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4353:2:14",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4342:2:14"
},
"nodeType": "YulFunctionCall",
"src": "4342:14:14"
},
"nodeType": "YulSwitch",
"src": "4335:887:14"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "3914:4:14",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3920:3:14",
"type": ""
}
],
"src": "3833:1395:14"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 14,
"language": "Yul",
"name": "#utility.yul"
}
],
"deployedGeneratedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:31566:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:14",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:14"
},
"nodeType": "YulFunctionCall",
"src": "67:9:14"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:14"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:14",
"type": ""
}
],
"src": "7:75:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:14"
},
"nodeType": "YulFunctionCall",
"src": "187:12:14"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:14"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:14"
},
"nodeType": "YulFunctionCall",
"src": "310:12:14"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:14"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "378:105:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "388:89:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "403:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "410:66:14",
"type": "",
"value": "0xffffffff00000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "399:3:14"
},
"nodeType": "YulFunctionCall",
"src": "399:78:14"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "388:7:14"
}
]
}
]
},
"name": "cleanup_t_bytes4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "360:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "370:7:14",
"type": ""
}
],
"src": "334:149:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "531:78:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "587:16:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "596:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "599:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "589:6:14"
},
"nodeType": "YulFunctionCall",
"src": "589:12:14"
},
"nodeType": "YulExpressionStatement",
"src": "589:12:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "554:5:14"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "578:5:14"
}
],
"functionName": {
"name": "cleanup_t_bytes4",
"nodeType": "YulIdentifier",
"src": "561:16:14"
},
"nodeType": "YulFunctionCall",
"src": "561:23:14"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "551:2:14"
},
"nodeType": "YulFunctionCall",
"src": "551:34:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "544:6:14"
},
"nodeType": "YulFunctionCall",
"src": "544:42:14"
},
"nodeType": "YulIf",
"src": "541:62:14"
}
]
},
"name": "validator_revert_t_bytes4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "524:5:14",
"type": ""
}
],
"src": "489:120:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "666:86:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "676:29:14",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "698:6:14"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "685:12:14"
},
"nodeType": "YulFunctionCall",
"src": "685:20:14"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "740:5:14"
}
],
"functionName": {
"name": "validator_revert_t_bytes4",
"nodeType": "YulIdentifier",
"src": "714:25:14"
},
"nodeType": "YulFunctionCall",
"src": "714:32:14"
},
"nodeType": "YulExpressionStatement",
"src": "714:32:14"
}
]
},
"name": "abi_decode_t_bytes4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "644:6:14",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "652:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "660:5:14",
"type": ""
}
],
"src": "615:137:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "823:262:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "869:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "871:77:14"
},
"nodeType": "YulFunctionCall",
"src": "871:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "871:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "844:7:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "853:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "840:3:14"
},
"nodeType": "YulFunctionCall",
"src": "840:23:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "865:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "836:3:14"
},
"nodeType": "YulFunctionCall",
"src": "836:32:14"
},
"nodeType": "YulIf",
"src": "833:119:14"
},
{
"nodeType": "YulBlock",
"src": "962:116:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "977:15:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "991:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "981:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1006:62:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1040:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1051:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1036:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1036:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1060:7:14"
}
],
"functionName": {
"name": "abi_decode_t_bytes4",
"nodeType": "YulIdentifier",
"src": "1016:19:14"
},
"nodeType": "YulFunctionCall",
"src": "1016:52:14"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1006:6:14"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "793:9:14",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "804:7:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "816:6:14",
"type": ""
}
],
"src": "758:327:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1133:48:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1143:32:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1168:5:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1161:6:14"
},
"nodeType": "YulFunctionCall",
"src": "1161:13:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1154:6:14"
},
"nodeType": "YulFunctionCall",
"src": "1154:21:14"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1143:7:14"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1115:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1125:7:14",
"type": ""
}
],
"src": "1091:90:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1246:50:14",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1263:3:14"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1283:5:14"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1268:14:14"
},
"nodeType": "YulFunctionCall",
"src": "1268:21:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1256:6:14"
},
"nodeType": "YulFunctionCall",
"src": "1256:34:14"
},
"nodeType": "YulExpressionStatement",
"src": "1256:34:14"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1234:5:14",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1241:3:14",
"type": ""
}
],
"src": "1187:109:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1394:118:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1404:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1416:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1427:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1412:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1412:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1404:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1478:6:14"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1491:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1502:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1487:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1487:17:14"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1440:37:14"
},
"nodeType": "YulFunctionCall",
"src": "1440:65:14"
},
"nodeType": "YulExpressionStatement",
"src": "1440:65:14"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1366:9:14",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1378:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1389:4:14",
"type": ""
}
],
"src": "1302:210:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1577:40:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1588:22:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1604:5:14"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1598:5:14"
},
"nodeType": "YulFunctionCall",
"src": "1598:12:14"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1588:6:14"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1560:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1570:6:14",
"type": ""
}
],
"src": "1518:99:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1719:73:14",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1736:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1741:6:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1729:6:14"
},
"nodeType": "YulFunctionCall",
"src": "1729:19:14"
},
"nodeType": "YulExpressionStatement",
"src": "1729:19:14"
},
{
"nodeType": "YulAssignment",
"src": "1757:29:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1776:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1781:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1772:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1772:14:14"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1757:11:14"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1691:3:14",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1696:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1707:11:14",
"type": ""
}
],
"src": "1623:169:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1860:184:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1870:10:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1879:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1874:1:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1939:63:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1964:3:14"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1969:1:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1960:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1960:11:14"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1983:3:14"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1988:1:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1979:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1979:11:14"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1973:5:14"
},
"nodeType": "YulFunctionCall",
"src": "1973:18:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1953:6:14"
},
"nodeType": "YulFunctionCall",
"src": "1953:39:14"
},
"nodeType": "YulExpressionStatement",
"src": "1953:39:14"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1900:1:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1903:6:14"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1897:2:14"
},
"nodeType": "YulFunctionCall",
"src": "1897:13:14"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1911:19:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1913:15:14",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1922:1:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1925:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1918:3:14"
},
"nodeType": "YulFunctionCall",
"src": "1918:10:14"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1913:1:14"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1893:3:14",
"statements": []
},
"src": "1889:113:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2022:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2027:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2018:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2018:16:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2036:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2011:6:14"
},
"nodeType": "YulFunctionCall",
"src": "2011:27:14"
},
"nodeType": "YulExpressionStatement",
"src": "2011:27:14"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1842:3:14",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1847:3:14",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1852:6:14",
"type": ""
}
],
"src": "1798:246:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2098:54:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2108:38:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2126:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2133:2:14",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2122:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2122:14:14"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2142:2:14",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2138:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2138:7:14"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2118:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2118:28:14"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2108:6:14"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2081:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2091:6:14",
"type": ""
}
],
"src": "2050:102:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2250:285:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2260:53:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2307:5:14"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2274:32:14"
},
"nodeType": "YulFunctionCall",
"src": "2274:39:14"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2264:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2322:78:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2388:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2393:6:14"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2329:58:14"
},
"nodeType": "YulFunctionCall",
"src": "2329:71:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2322:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2448:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2455:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2444:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2444:16:14"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2462:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2467:6:14"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "2409:34:14"
},
"nodeType": "YulFunctionCall",
"src": "2409:65:14"
},
"nodeType": "YulExpressionStatement",
"src": "2409:65:14"
},
{
"nodeType": "YulAssignment",
"src": "2483:46:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2494:3:14"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2521:6:14"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2499:21:14"
},
"nodeType": "YulFunctionCall",
"src": "2499:29:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2490:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2490:39:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2483:3:14"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2231:5:14",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2238:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2246:3:14",
"type": ""
}
],
"src": "2158:377:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2659:195:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2669:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2681:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2692:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2677:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2677:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2669:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2716:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2727:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2712:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2712:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2735:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2741:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2731:3:14"
},
"nodeType": "YulFunctionCall",
"src": "2731:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2705:6:14"
},
"nodeType": "YulFunctionCall",
"src": "2705:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "2705:47:14"
},
{
"nodeType": "YulAssignment",
"src": "2761:86:14",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2833:6:14"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2842:4:14"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2769:63:14"
},
"nodeType": "YulFunctionCall",
"src": "2769:78:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2761:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2631:9:14",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2643:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2654:4:14",
"type": ""
}
],
"src": "2541:313:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2905:32:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2915:16:14",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2926:5:14"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2915:7:14"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2887:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2897:7:14",
"type": ""
}
],
"src": "2860:77:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2986:79:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3043:16:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3052:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3055:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3045:6:14"
},
"nodeType": "YulFunctionCall",
"src": "3045:12:14"
},
"nodeType": "YulExpressionStatement",
"src": "3045:12:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3009:5:14"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3034:5:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3016:17:14"
},
"nodeType": "YulFunctionCall",
"src": "3016:24:14"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3006:2:14"
},
"nodeType": "YulFunctionCall",
"src": "3006:35:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2999:6:14"
},
"nodeType": "YulFunctionCall",
"src": "2999:43:14"
},
"nodeType": "YulIf",
"src": "2996:63:14"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2979:5:14",
"type": ""
}
],
"src": "2943:122:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3123:87:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3133:29:14",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3155:6:14"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3142:12:14"
},
"nodeType": "YulFunctionCall",
"src": "3142:20:14"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3133:5:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3198:5:14"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "3171:26:14"
},
"nodeType": "YulFunctionCall",
"src": "3171:33:14"
},
"nodeType": "YulExpressionStatement",
"src": "3171:33:14"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3101:6:14",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3109:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3117:5:14",
"type": ""
}
],
"src": "3071:139:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3282:263:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3328:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3330:77:14"
},
"nodeType": "YulFunctionCall",
"src": "3330:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "3330:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3303:7:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3312:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3299:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3299:23:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3324:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3295:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3295:32:14"
},
"nodeType": "YulIf",
"src": "3292:119:14"
},
{
"nodeType": "YulBlock",
"src": "3421:117:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3436:15:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3450:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3440:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3465:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3500:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3511:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3496:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3496:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3520:7:14"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3475:20:14"
},
"nodeType": "YulFunctionCall",
"src": "3475:53:14"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3465:6:14"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3252:9:14",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3263:7:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3275:6:14",
"type": ""
}
],
"src": "3216:329:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3596:81:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3606:65:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3621:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3628:42:14",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3617:3:14"
},
"nodeType": "YulFunctionCall",
"src": "3617:54:14"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3606:7:14"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3578:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3588:7:14",
"type": ""
}
],
"src": "3551:126:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3728:51:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3738:35:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3767:5:14"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "3749:17:14"
},
"nodeType": "YulFunctionCall",
"src": "3749:24:14"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3738:7:14"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3710:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3720:7:14",
"type": ""
}
],
"src": "3683:96:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3850:53:14",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3867:3:14"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3890:5:14"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3872:17:14"
},
"nodeType": "YulFunctionCall",
"src": "3872:24:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3860:6:14"
},
"nodeType": "YulFunctionCall",
"src": "3860:37:14"
},
"nodeType": "YulExpressionStatement",
"src": "3860:37:14"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3838:5:14",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3845:3:14",
"type": ""
}
],
"src": "3785:118:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4007:124:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4017:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4029:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4040:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4025:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4025:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4017:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4097:6:14"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4110:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4121:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4106:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4106:17:14"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4053:43:14"
},
"nodeType": "YulFunctionCall",
"src": "4053:71:14"
},
"nodeType": "YulExpressionStatement",
"src": "4053:71:14"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3979:9:14",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3991:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4002:4:14",
"type": ""
}
],
"src": "3909:222:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4180:79:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4237:16:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4246:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4249:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4239:6:14"
},
"nodeType": "YulFunctionCall",
"src": "4239:12:14"
},
"nodeType": "YulExpressionStatement",
"src": "4239:12:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4203:5:14"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4228:5:14"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "4210:17:14"
},
"nodeType": "YulFunctionCall",
"src": "4210:24:14"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4200:2:14"
},
"nodeType": "YulFunctionCall",
"src": "4200:35:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4193:6:14"
},
"nodeType": "YulFunctionCall",
"src": "4193:43:14"
},
"nodeType": "YulIf",
"src": "4190:63:14"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4173:5:14",
"type": ""
}
],
"src": "4137:122:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4317:87:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4327:29:14",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4349:6:14"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "4336:12:14"
},
"nodeType": "YulFunctionCall",
"src": "4336:20:14"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4327:5:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4392:5:14"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "4365:26:14"
},
"nodeType": "YulFunctionCall",
"src": "4365:33:14"
},
"nodeType": "YulExpressionStatement",
"src": "4365:33:14"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4295:6:14",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4303:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4311:5:14",
"type": ""
}
],
"src": "4265:139:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4493:391:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4539:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4541:77:14"
},
"nodeType": "YulFunctionCall",
"src": "4541:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "4541:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4514:7:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4523:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4510:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4510:23:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4535:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4506:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4506:32:14"
},
"nodeType": "YulIf",
"src": "4503:119:14"
},
{
"nodeType": "YulBlock",
"src": "4632:117:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4647:15:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4661:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4651:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4676:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4711:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4722:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4707:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4707:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4731:7:14"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4686:20:14"
},
"nodeType": "YulFunctionCall",
"src": "4686:53:14"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4676:6:14"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4759:118:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4774:16:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4788:2:14",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4778:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4804:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4839:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4850:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4835:3:14"
},
"nodeType": "YulFunctionCall",
"src": "4835:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4859:7:14"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "4814:20:14"
},
"nodeType": "YulFunctionCall",
"src": "4814:53:14"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4804:6:14"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4455:9:14",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4466:7:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4478:6:14",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4486:6:14",
"type": ""
}
],
"src": "4410:474:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4990:519:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5036:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "5038:77:14"
},
"nodeType": "YulFunctionCall",
"src": "5038:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "5038:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5011:7:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5020:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5007:3:14"
},
"nodeType": "YulFunctionCall",
"src": "5007:23:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5032:2:14",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "5003:3:14"
},
"nodeType": "YulFunctionCall",
"src": "5003:32:14"
},
"nodeType": "YulIf",
"src": "5000:119:14"
},
{
"nodeType": "YulBlock",
"src": "5129:117:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5144:15:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5158:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5148:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5173:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5208:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5219:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5204:3:14"
},
"nodeType": "YulFunctionCall",
"src": "5204:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5228:7:14"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "5183:20:14"
},
"nodeType": "YulFunctionCall",
"src": "5183:53:14"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5173:6:14"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "5256:118:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5271:16:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5285:2:14",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5275:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5301:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5336:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5347:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5332:3:14"
},
"nodeType": "YulFunctionCall",
"src": "5332:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5356:7:14"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "5311:20:14"
},
"nodeType": "YulFunctionCall",
"src": "5311:53:14"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5301:6:14"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "5384:118:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5399:16:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5413:2:14",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5403:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5429:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5464:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5475:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5460:3:14"
},
"nodeType": "YulFunctionCall",
"src": "5460:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5484:7:14"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "5439:20:14"
},
"nodeType": "YulFunctionCall",
"src": "5439:53:14"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5429:6:14"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4944:9:14",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4955:7:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4967:6:14",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4975:6:14",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4983:6:14",
"type": ""
}
],
"src": "4890:619:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5581:263:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5627:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "5629:77:14"
},
"nodeType": "YulFunctionCall",
"src": "5629:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "5629:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5602:7:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5611:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5598:3:14"
},
"nodeType": "YulFunctionCall",
"src": "5598:23:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5623:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "5594:3:14"
},
"nodeType": "YulFunctionCall",
"src": "5594:32:14"
},
"nodeType": "YulIf",
"src": "5591:119:14"
},
{
"nodeType": "YulBlock",
"src": "5720:117:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5735:15:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5749:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5739:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5764:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5799:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5810:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5795:3:14"
},
"nodeType": "YulFunctionCall",
"src": "5795:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5819:7:14"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "5774:20:14"
},
"nodeType": "YulFunctionCall",
"src": "5774:53:14"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5764:6:14"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5551:9:14",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "5562:7:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5574:6:14",
"type": ""
}
],
"src": "5515:329:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5915:53:14",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5932:3:14"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5955:5:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5937:17:14"
},
"nodeType": "YulFunctionCall",
"src": "5937:24:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5925:6:14"
},
"nodeType": "YulFunctionCall",
"src": "5925:37:14"
},
"nodeType": "YulExpressionStatement",
"src": "5925:37:14"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5903:5:14",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5910:3:14",
"type": ""
}
],
"src": "5850:118:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6072:124:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6082:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6094:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6105:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6090:3:14"
},
"nodeType": "YulFunctionCall",
"src": "6090:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6082:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6162:6:14"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6175:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6186:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6171:3:14"
},
"nodeType": "YulFunctionCall",
"src": "6171:17:14"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "6118:43:14"
},
"nodeType": "YulFunctionCall",
"src": "6118:71:14"
},
"nodeType": "YulExpressionStatement",
"src": "6118:71:14"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6044:9:14",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6056:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6067:4:14",
"type": ""
}
],
"src": "5974:222:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6242:76:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6296:16:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6305:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6308:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6298:6:14"
},
"nodeType": "YulFunctionCall",
"src": "6298:12:14"
},
"nodeType": "YulExpressionStatement",
"src": "6298:12:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6265:5:14"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6287:5:14"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "6272:14:14"
},
"nodeType": "YulFunctionCall",
"src": "6272:21:14"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6262:2:14"
},
"nodeType": "YulFunctionCall",
"src": "6262:32:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6255:6:14"
},
"nodeType": "YulFunctionCall",
"src": "6255:40:14"
},
"nodeType": "YulIf",
"src": "6252:60:14"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6235:5:14",
"type": ""
}
],
"src": "6202:116:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6373:84:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6383:29:14",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6405:6:14"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "6392:12:14"
},
"nodeType": "YulFunctionCall",
"src": "6392:20:14"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6383:5:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6445:5:14"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "6421:23:14"
},
"nodeType": "YulFunctionCall",
"src": "6421:30:14"
},
"nodeType": "YulExpressionStatement",
"src": "6421:30:14"
}
]
},
"name": "abi_decode_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6351:6:14",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6359:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6367:5:14",
"type": ""
}
],
"src": "6324:133:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6543:388:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6589:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "6591:77:14"
},
"nodeType": "YulFunctionCall",
"src": "6591:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "6591:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6564:7:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6573:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6560:3:14"
},
"nodeType": "YulFunctionCall",
"src": "6560:23:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6585:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "6556:3:14"
},
"nodeType": "YulFunctionCall",
"src": "6556:32:14"
},
"nodeType": "YulIf",
"src": "6553:119:14"
},
{
"nodeType": "YulBlock",
"src": "6682:117:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6697:15:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6711:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6701:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6726:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6761:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6772:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6757:3:14"
},
"nodeType": "YulFunctionCall",
"src": "6757:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6781:7:14"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "6736:20:14"
},
"nodeType": "YulFunctionCall",
"src": "6736:53:14"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6726:6:14"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "6809:115:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6824:16:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6838:2:14",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6828:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6854:60:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6886:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6897:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6882:3:14"
},
"nodeType": "YulFunctionCall",
"src": "6882:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6906:7:14"
}
],
"functionName": {
"name": "abi_decode_t_bool",
"nodeType": "YulIdentifier",
"src": "6864:17:14"
},
"nodeType": "YulFunctionCall",
"src": "6864:50:14"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "6854:6:14"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6505:9:14",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "6516:7:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6528:6:14",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "6536:6:14",
"type": ""
}
],
"src": "6463:468:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7026:28:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7043:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7046:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7036:6:14"
},
"nodeType": "YulFunctionCall",
"src": "7036:12:14"
},
"nodeType": "YulExpressionStatement",
"src": "7036:12:14"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "6937:117:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7149:28:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7166:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7169:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7159:6:14"
},
"nodeType": "YulFunctionCall",
"src": "7159:12:14"
},
"nodeType": "YulExpressionStatement",
"src": "7159:12:14"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "7060:117:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7211:152:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7228:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7231:77:14",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7221:6:14"
},
"nodeType": "YulFunctionCall",
"src": "7221:88:14"
},
"nodeType": "YulExpressionStatement",
"src": "7221:88:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7325:1:14",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7328:4:14",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7318:6:14"
},
"nodeType": "YulFunctionCall",
"src": "7318:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "7318:15:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7349:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7352:4:14",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7342:6:14"
},
"nodeType": "YulFunctionCall",
"src": "7342:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "7342:15:14"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "7183:180:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7412:238:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7422:58:14",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7444:6:14"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "7474:4:14"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "7452:21:14"
},
"nodeType": "YulFunctionCall",
"src": "7452:27:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7440:3:14"
},
"nodeType": "YulFunctionCall",
"src": "7440:40:14"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "7426:10:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7591:22:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "7593:16:14"
},
"nodeType": "YulFunctionCall",
"src": "7593:18:14"
},
"nodeType": "YulExpressionStatement",
"src": "7593:18:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "7534:10:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7546:18:14",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7531:2:14"
},
"nodeType": "YulFunctionCall",
"src": "7531:34:14"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "7570:10:14"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7582:6:14"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7567:2:14"
},
"nodeType": "YulFunctionCall",
"src": "7567:22:14"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "7528:2:14"
},
"nodeType": "YulFunctionCall",
"src": "7528:62:14"
},
"nodeType": "YulIf",
"src": "7525:88:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7629:2:14",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "7633:10:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7622:6:14"
},
"nodeType": "YulFunctionCall",
"src": "7622:22:14"
},
"nodeType": "YulExpressionStatement",
"src": "7622:22:14"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7398:6:14",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "7406:4:14",
"type": ""
}
],
"src": "7369:281:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7697:88:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7707:30:14",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "7717:18:14"
},
"nodeType": "YulFunctionCall",
"src": "7717:20:14"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7707:6:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7766:6:14"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "7774:4:14"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "7746:19:14"
},
"nodeType": "YulFunctionCall",
"src": "7746:33:14"
},
"nodeType": "YulExpressionStatement",
"src": "7746:33:14"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "7681:4:14",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7690:6:14",
"type": ""
}
],
"src": "7656:129:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7857:241:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7962:22:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "7964:16:14"
},
"nodeType": "YulFunctionCall",
"src": "7964:18:14"
},
"nodeType": "YulExpressionStatement",
"src": "7964:18:14"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7934:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7942:18:14",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7931:2:14"
},
"nodeType": "YulFunctionCall",
"src": "7931:30:14"
},
"nodeType": "YulIf",
"src": "7928:56:14"
},
{
"nodeType": "YulAssignment",
"src": "7994:37:14",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8024:6:14"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "8002:21:14"
},
"nodeType": "YulFunctionCall",
"src": "8002:29:14"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "7994:4:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8068:23:14",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "8080:4:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8086:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8076:3:14"
},
"nodeType": "YulFunctionCall",
"src": "8076:15:14"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "8068:4:14"
}
]
}
]
},
"name": "array_allocation_size_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "7841:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "7852:4:14",
"type": ""
}
],
"src": "7791:307:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8168:82:14",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "8191:3:14"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "8196:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8201:6:14"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "8178:12:14"
},
"nodeType": "YulFunctionCall",
"src": "8178:30:14"
},
"nodeType": "YulExpressionStatement",
"src": "8178:30:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "8228:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8233:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8224:3:14"
},
"nodeType": "YulFunctionCall",
"src": "8224:16:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8242:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8217:6:14"
},
"nodeType": "YulFunctionCall",
"src": "8217:27:14"
},
"nodeType": "YulExpressionStatement",
"src": "8217:27:14"
}
]
},
"name": "copy_calldata_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "8150:3:14",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "8155:3:14",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8160:6:14",
"type": ""
}
],
"src": "8104:146:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8339:340:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8349:74:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8415:6:14"
}
],
"functionName": {
"name": "array_allocation_size_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "8374:40:14"
},
"nodeType": "YulFunctionCall",
"src": "8374:48:14"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "8358:15:14"
},
"nodeType": "YulFunctionCall",
"src": "8358:65:14"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "8349:5:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "8439:5:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8446:6:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8432:6:14"
},
"nodeType": "YulFunctionCall",
"src": "8432:21:14"
},
"nodeType": "YulExpressionStatement",
"src": "8432:21:14"
},
{
"nodeType": "YulVariableDeclaration",
"src": "8462:27:14",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "8477:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8484:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8473:3:14"
},
"nodeType": "YulFunctionCall",
"src": "8473:16:14"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "8466:3:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8527:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "8529:77:14"
},
"nodeType": "YulFunctionCall",
"src": "8529:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "8529:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "8508:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8513:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8504:3:14"
},
"nodeType": "YulFunctionCall",
"src": "8504:16:14"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8522:3:14"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8501:2:14"
},
"nodeType": "YulFunctionCall",
"src": "8501:25:14"
},
"nodeType": "YulIf",
"src": "8498:112:14"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "8656:3:14"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "8661:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8666:6:14"
}
],
"functionName": {
"name": "copy_calldata_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "8619:36:14"
},
"nodeType": "YulFunctionCall",
"src": "8619:54:14"
},
"nodeType": "YulExpressionStatement",
"src": "8619:54:14"
}
]
},
"name": "abi_decode_available_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "8312:3:14",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8317:6:14",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8325:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "8333:5:14",
"type": ""
}
],
"src": "8256:423:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8759:277:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8808:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "8810:77:14"
},
"nodeType": "YulFunctionCall",
"src": "8810:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "8810:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "8787:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8795:4:14",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8783:3:14"
},
"nodeType": "YulFunctionCall",
"src": "8783:17:14"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8802:3:14"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "8779:3:14"
},
"nodeType": "YulFunctionCall",
"src": "8779:27:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8772:6:14"
},
"nodeType": "YulFunctionCall",
"src": "8772:35:14"
},
"nodeType": "YulIf",
"src": "8769:122:14"
},
{
"nodeType": "YulVariableDeclaration",
"src": "8900:34:14",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "8927:6:14"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "8914:12:14"
},
"nodeType": "YulFunctionCall",
"src": "8914:20:14"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8904:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "8943:87:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "9003:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9011:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8999:3:14"
},
"nodeType": "YulFunctionCall",
"src": "8999:17:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9018:6:14"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9026:3:14"
}
],
"functionName": {
"name": "abi_decode_available_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "8952:46:14"
},
"nodeType": "YulFunctionCall",
"src": "8952:78:14"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "8943:5:14"
}
]
}
]
},
"name": "abi_decode_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "8737:6:14",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8745:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "8753:5:14",
"type": ""
}
],
"src": "8698:338:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9168:817:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "9215:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "9217:77:14"
},
"nodeType": "YulFunctionCall",
"src": "9217:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "9217:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "9189:7:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9198:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "9185:3:14"
},
"nodeType": "YulFunctionCall",
"src": "9185:23:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9210:3:14",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "9181:3:14"
},
"nodeType": "YulFunctionCall",
"src": "9181:33:14"
},
"nodeType": "YulIf",
"src": "9178:120:14"
},
{
"nodeType": "YulBlock",
"src": "9308:117:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9323:15:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9337:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "9327:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "9352:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9387:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "9398:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9383:3:14"
},
"nodeType": "YulFunctionCall",
"src": "9383:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "9407:7:14"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "9362:20:14"
},
"nodeType": "YulFunctionCall",
"src": "9362:53:14"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "9352:6:14"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "9435:118:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9450:16:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9464:2:14",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "9454:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "9480:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9515:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "9526:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9511:3:14"
},
"nodeType": "YulFunctionCall",
"src": "9511:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "9535:7:14"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "9490:20:14"
},
"nodeType": "YulFunctionCall",
"src": "9490:53:14"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "9480:6:14"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "9563:118:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9578:16:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "9592:2:14",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "9582:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "9608:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9643:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "9654:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9639:3:14"
},
"nodeType": "YulFunctionCall",
"src": "9639:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "9663:7:14"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "9618:20:14"
},
"nodeType": "YulFunctionCall",
"src": "9618:53:14"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "9608:6:14"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "9691:287:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9706:46:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9737:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9748:2:14",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9733:3:14"
},
"nodeType": "YulFunctionCall",
"src": "9733:18:14"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9720:12:14"
},
"nodeType": "YulFunctionCall",
"src": "9720:32:14"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "9710:6:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9799:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "9801:77:14"
},
"nodeType": "YulFunctionCall",
"src": "9801:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "9801:79:14"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "9771:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9779:18:14",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9768:2:14"
},
"nodeType": "YulFunctionCall",
"src": "9768:30:14"
},
"nodeType": "YulIf",
"src": "9765:117:14"
},
{
"nodeType": "YulAssignment",
"src": "9896:72:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9940:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "9951:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9936:3:14"
},
"nodeType": "YulFunctionCall",
"src": "9936:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "9960:7:14"
}
],
"functionName": {
"name": "abi_decode_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "9906:29:14"
},
"nodeType": "YulFunctionCall",
"src": "9906:62:14"
},
"variableNames": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "9896:6:14"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "9114:9:14",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "9125:7:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "9137:6:14",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "9145:6:14",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "9153:6:14",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "9161:6:14",
"type": ""
}
],
"src": "9042:943:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10074:391:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10120:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "10122:77:14"
},
"nodeType": "YulFunctionCall",
"src": "10122:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "10122:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "10095:7:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10104:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "10091:3:14"
},
"nodeType": "YulFunctionCall",
"src": "10091:23:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10116:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "10087:3:14"
},
"nodeType": "YulFunctionCall",
"src": "10087:32:14"
},
"nodeType": "YulIf",
"src": "10084:119:14"
},
{
"nodeType": "YulBlock",
"src": "10213:117:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10228:15:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10242:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "10232:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "10257:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10292:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "10303:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10288:3:14"
},
"nodeType": "YulFunctionCall",
"src": "10288:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "10312:7:14"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "10267:20:14"
},
"nodeType": "YulFunctionCall",
"src": "10267:53:14"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "10257:6:14"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "10340:118:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10355:16:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "10369:2:14",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "10359:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "10385:63:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10420:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "10431:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10416:3:14"
},
"nodeType": "YulFunctionCall",
"src": "10416:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "10440:7:14"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "10395:20:14"
},
"nodeType": "YulFunctionCall",
"src": "10395:53:14"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "10385:6:14"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "10036:9:14",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "10047:7:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "10059:6:14",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "10067:6:14",
"type": ""
}
],
"src": "9991:474:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10499:152:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10516:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10519:77:14",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10509:6:14"
},
"nodeType": "YulFunctionCall",
"src": "10509:88:14"
},
"nodeType": "YulExpressionStatement",
"src": "10509:88:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10613:1:14",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10616:4:14",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10606:6:14"
},
"nodeType": "YulFunctionCall",
"src": "10606:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "10606:15:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10637:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10640:4:14",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "10630:6:14"
},
"nodeType": "YulFunctionCall",
"src": "10630:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "10630:15:14"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "10471:180:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10708:269:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10718:22:14",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "10732:4:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10738:1:14",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "10728:3:14"
},
"nodeType": "YulFunctionCall",
"src": "10728:12:14"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "10718:6:14"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "10749:38:14",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "10779:4:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10785:1:14",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "10775:3:14"
},
"nodeType": "YulFunctionCall",
"src": "10775:12:14"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "10753:18:14",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10826:51:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10840:27:14",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "10854:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10862:4:14",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "10850:3:14"
},
"nodeType": "YulFunctionCall",
"src": "10850:17:14"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "10840:6:14"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "10806:18:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10799:6:14"
},
"nodeType": "YulFunctionCall",
"src": "10799:26:14"
},
"nodeType": "YulIf",
"src": "10796:81:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10929:42:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "10943:16:14"
},
"nodeType": "YulFunctionCall",
"src": "10943:18:14"
},
"nodeType": "YulExpressionStatement",
"src": "10943:18:14"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "10893:18:14"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "10916:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10924:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "10913:2:14"
},
"nodeType": "YulFunctionCall",
"src": "10913:14:14"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "10890:2:14"
},
"nodeType": "YulFunctionCall",
"src": "10890:38:14"
},
"nodeType": "YulIf",
"src": "10887:84:14"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "10692:4:14",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "10701:6:14",
"type": ""
}
],
"src": "10657:320:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11089:114:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "11111:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11119:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11107:3:14"
},
"nodeType": "YulFunctionCall",
"src": "11107:14:14"
},
{
"hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65",
"kind": "string",
"nodeType": "YulLiteral",
"src": "11123:34:14",
"type": "",
"value": "ERC721: approval to current owne"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11100:6:14"
},
"nodeType": "YulFunctionCall",
"src": "11100:58:14"
},
"nodeType": "YulExpressionStatement",
"src": "11100:58:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "11179:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11187:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11175:3:14"
},
"nodeType": "YulFunctionCall",
"src": "11175:15:14"
},
{
"hexValue": "72",
"kind": "string",
"nodeType": "YulLiteral",
"src": "11192:3:14",
"type": "",
"value": "r"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11168:6:14"
},
"nodeType": "YulFunctionCall",
"src": "11168:28:14"
},
"nodeType": "YulExpressionStatement",
"src": "11168:28:14"
}
]
},
"name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "11081:6:14",
"type": ""
}
],
"src": "10983:220:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11355:220:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11365:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11431:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11436:2:14",
"type": "",
"value": "33"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11372:58:14"
},
"nodeType": "YulFunctionCall",
"src": "11372:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11365:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11537:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
"nodeType": "YulIdentifier",
"src": "11448:88:14"
},
"nodeType": "YulFunctionCall",
"src": "11448:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "11448:93:14"
},
{
"nodeType": "YulAssignment",
"src": "11550:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11561:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11566:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11557:3:14"
},
"nodeType": "YulFunctionCall",
"src": "11557:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "11550:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "11343:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "11351:3:14",
"type": ""
}
],
"src": "11209:366:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11752:248:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11762:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11774:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11785:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11770:3:14"
},
"nodeType": "YulFunctionCall",
"src": "11770:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11762:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11809:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11820:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11805:3:14"
},
"nodeType": "YulFunctionCall",
"src": "11805:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11828:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11834:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "11824:3:14"
},
"nodeType": "YulFunctionCall",
"src": "11824:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11798:6:14"
},
"nodeType": "YulFunctionCall",
"src": "11798:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "11798:47:14"
},
{
"nodeType": "YulAssignment",
"src": "11854:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11988:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11862:124:14"
},
"nodeType": "YulFunctionCall",
"src": "11862:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11854:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11732:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "11747:4:14",
"type": ""
}
],
"src": "11581:419:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12112:142:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "12134:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12142:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12130:3:14"
},
"nodeType": "YulFunctionCall",
"src": "12130:14:14"
},
{
"hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f",
"kind": "string",
"nodeType": "YulLiteral",
"src": "12146:34:14",
"type": "",
"value": "ERC721: approve caller is not to"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12123:6:14"
},
"nodeType": "YulFunctionCall",
"src": "12123:58:14"
},
"nodeType": "YulExpressionStatement",
"src": "12123:58:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "12202:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12210:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12198:3:14"
},
"nodeType": "YulFunctionCall",
"src": "12198:15:14"
},
{
"hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c",
"kind": "string",
"nodeType": "YulLiteral",
"src": "12215:31:14",
"type": "",
"value": "ken owner or approved for all"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12191:6:14"
},
"nodeType": "YulFunctionCall",
"src": "12191:56:14"
},
"nodeType": "YulExpressionStatement",
"src": "12191:56:14"
}
]
},
"name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "12104:6:14",
"type": ""
}
],
"src": "12006:248:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12406:220:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12416:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12482:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12487:2:14",
"type": "",
"value": "61"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12423:58:14"
},
"nodeType": "YulFunctionCall",
"src": "12423:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12416:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12588:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83",
"nodeType": "YulIdentifier",
"src": "12499:88:14"
},
"nodeType": "YulFunctionCall",
"src": "12499:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "12499:93:14"
},
{
"nodeType": "YulAssignment",
"src": "12601:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12612:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12617:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12608:3:14"
},
"nodeType": "YulFunctionCall",
"src": "12608:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "12601:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "12394:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "12402:3:14",
"type": ""
}
],
"src": "12260:366:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12803:248:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12813:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12825:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12836:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12821:3:14"
},
"nodeType": "YulFunctionCall",
"src": "12821:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12813:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12860:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12871:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12856:3:14"
},
"nodeType": "YulFunctionCall",
"src": "12856:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12879:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12885:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "12875:3:14"
},
"nodeType": "YulFunctionCall",
"src": "12875:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12849:6:14"
},
"nodeType": "YulFunctionCall",
"src": "12849:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "12849:47:14"
},
{
"nodeType": "YulAssignment",
"src": "12905:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13039:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12913:124:14"
},
"nodeType": "YulFunctionCall",
"src": "12913:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12905:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12783:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12798:4:14",
"type": ""
}
],
"src": "12632:419:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13163:126:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "13185:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13193:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13181:3:14"
},
"nodeType": "YulFunctionCall",
"src": "13181:14:14"
},
{
"hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65",
"kind": "string",
"nodeType": "YulLiteral",
"src": "13197:34:14",
"type": "",
"value": "ERC721: caller is not token owne"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13174:6:14"
},
"nodeType": "YulFunctionCall",
"src": "13174:58:14"
},
"nodeType": "YulExpressionStatement",
"src": "13174:58:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "13253:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13261:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13249:3:14"
},
"nodeType": "YulFunctionCall",
"src": "13249:15:14"
},
{
"hexValue": "72206f7220617070726f766564",
"kind": "string",
"nodeType": "YulLiteral",
"src": "13266:15:14",
"type": "",
"value": "r or approved"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13242:6:14"
},
"nodeType": "YulFunctionCall",
"src": "13242:40:14"
},
"nodeType": "YulExpressionStatement",
"src": "13242:40:14"
}
]
},
"name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "13155:6:14",
"type": ""
}
],
"src": "13057:232:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13441:220:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13451:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13517:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13522:2:14",
"type": "",
"value": "45"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13458:58:14"
},
"nodeType": "YulFunctionCall",
"src": "13458:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13451:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13623:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af",
"nodeType": "YulIdentifier",
"src": "13534:88:14"
},
"nodeType": "YulFunctionCall",
"src": "13534:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "13534:93:14"
},
{
"nodeType": "YulAssignment",
"src": "13636:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13647:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13652:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13643:3:14"
},
"nodeType": "YulFunctionCall",
"src": "13643:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "13636:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "13429:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "13437:3:14",
"type": ""
}
],
"src": "13295:366:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13838:248:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13848:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13860:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13871:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13856:3:14"
},
"nodeType": "YulFunctionCall",
"src": "13856:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13848:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13895:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13906:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13891:3:14"
},
"nodeType": "YulFunctionCall",
"src": "13891:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13914:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13920:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13910:3:14"
},
"nodeType": "YulFunctionCall",
"src": "13910:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13884:6:14"
},
"nodeType": "YulFunctionCall",
"src": "13884:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "13884:47:14"
},
{
"nodeType": "YulAssignment",
"src": "13940:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14074:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13948:124:14"
},
"nodeType": "YulFunctionCall",
"src": "13948:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13940:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "13818:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "13833:4:14",
"type": ""
}
],
"src": "13667:419:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14198:68:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "14220:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14228:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14216:3:14"
},
"nodeType": "YulFunctionCall",
"src": "14216:14:14"
},
{
"hexValue": "4552433732313a20696e76616c696420746f6b656e204944",
"kind": "string",
"nodeType": "YulLiteral",
"src": "14232:26:14",
"type": "",
"value": "ERC721: invalid token ID"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14209:6:14"
},
"nodeType": "YulFunctionCall",
"src": "14209:50:14"
},
"nodeType": "YulExpressionStatement",
"src": "14209:50:14"
}
]
},
"name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "14190:6:14",
"type": ""
}
],
"src": "14092:174:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14418:220:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14428:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14494:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14499:2:14",
"type": "",
"value": "24"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14435:58:14"
},
"nodeType": "YulFunctionCall",
"src": "14435:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14428:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14600:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f",
"nodeType": "YulIdentifier",
"src": "14511:88:14"
},
"nodeType": "YulFunctionCall",
"src": "14511:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "14511:93:14"
},
{
"nodeType": "YulAssignment",
"src": "14613:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14624:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14629:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14620:3:14"
},
"nodeType": "YulFunctionCall",
"src": "14620:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "14613:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "14406:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "14414:3:14",
"type": ""
}
],
"src": "14272:366:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14815:248:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14825:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14837:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14848:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14833:3:14"
},
"nodeType": "YulFunctionCall",
"src": "14833:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14825:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14872:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14883:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14868:3:14"
},
"nodeType": "YulFunctionCall",
"src": "14868:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14891:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14897:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "14887:3:14"
},
"nodeType": "YulFunctionCall",
"src": "14887:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14861:6:14"
},
"nodeType": "YulFunctionCall",
"src": "14861:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "14861:47:14"
},
{
"nodeType": "YulAssignment",
"src": "14917:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15051:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14925:124:14"
},
"nodeType": "YulFunctionCall",
"src": "14925:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14917:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "14795:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "14810:4:14",
"type": ""
}
],
"src": "14644:419:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15175:122:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "15197:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15205:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15193:3:14"
},
"nodeType": "YulFunctionCall",
"src": "15193:14:14"
},
{
"hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661",
"kind": "string",
"nodeType": "YulLiteral",
"src": "15209:34:14",
"type": "",
"value": "ERC721: address zero is not a va"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15186:6:14"
},
"nodeType": "YulFunctionCall",
"src": "15186:58:14"
},
"nodeType": "YulExpressionStatement",
"src": "15186:58:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "15265:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15273:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15261:3:14"
},
"nodeType": "YulFunctionCall",
"src": "15261:15:14"
},
{
"hexValue": "6c6964206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "15278:11:14",
"type": "",
"value": "lid owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15254:6:14"
},
"nodeType": "YulFunctionCall",
"src": "15254:36:14"
},
"nodeType": "YulExpressionStatement",
"src": "15254:36:14"
}
]
},
"name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "15167:6:14",
"type": ""
}
],
"src": "15069:228:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15449:220:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15459:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15525:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15530:2:14",
"type": "",
"value": "41"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "15466:58:14"
},
"nodeType": "YulFunctionCall",
"src": "15466:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15459:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15631:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159",
"nodeType": "YulIdentifier",
"src": "15542:88:14"
},
"nodeType": "YulFunctionCall",
"src": "15542:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "15542:93:14"
},
{
"nodeType": "YulAssignment",
"src": "15644:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15655:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15660:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15651:3:14"
},
"nodeType": "YulFunctionCall",
"src": "15651:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "15644:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "15437:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "15445:3:14",
"type": ""
}
],
"src": "15303:366:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15846:248:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15856:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15868:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15879:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15864:3:14"
},
"nodeType": "YulFunctionCall",
"src": "15864:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15856:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15903:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15914:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15899:3:14"
},
"nodeType": "YulFunctionCall",
"src": "15899:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15922:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15928:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "15918:3:14"
},
"nodeType": "YulFunctionCall",
"src": "15918:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15892:6:14"
},
"nodeType": "YulFunctionCall",
"src": "15892:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "15892:47:14"
},
{
"nodeType": "YulAssignment",
"src": "15948:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16082:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "15956:124:14"
},
"nodeType": "YulFunctionCall",
"src": "15956:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15948:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "15826:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "15841:4:14",
"type": ""
}
],
"src": "15675:419:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16214:34:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "16224:18:14",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16239:3:14"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "16224:11:14"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "16186:3:14",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "16191:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "16202:11:14",
"type": ""
}
],
"src": "16100:148:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16360:162:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "16382:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16390:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16378:3:14"
},
"nodeType": "YulFunctionCall",
"src": "16378:14:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16394:66:14",
"type": "",
"value": "0x7b226e616d65223a20224372656469742053797374656d20536f756c626f756e"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "16371:6:14"
},
"nodeType": "YulFunctionCall",
"src": "16371:90:14"
},
"nodeType": "YulExpressionStatement",
"src": "16371:90:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "16482:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16490:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16478:3:14"
},
"nodeType": "YulFunctionCall",
"src": "16478:15:14"
},
{
"hexValue": "6420546f6b656e20284353534254292023",
"kind": "string",
"nodeType": "YulLiteral",
"src": "16495:19:14",
"type": "",
"value": "d Token (CSSBT) #"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "16471:6:14"
},
"nodeType": "YulFunctionCall",
"src": "16471:44:14"
},
"nodeType": "YulExpressionStatement",
"src": "16471:44:14"
}
]
},
"name": "store_literal_in_memory_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "16352:6:14",
"type": ""
}
],
"src": "16254:268:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16692:238:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "16702:92:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16786:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16791:2:14",
"type": "",
"value": "49"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "16709:76:14"
},
"nodeType": "YulFunctionCall",
"src": "16709:85:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16702:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16892:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317",
"nodeType": "YulIdentifier",
"src": "16803:88:14"
},
"nodeType": "YulFunctionCall",
"src": "16803:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "16803:93:14"
},
{
"nodeType": "YulAssignment",
"src": "16905:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16916:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16921:2:14",
"type": "",
"value": "49"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16912:3:14"
},
"nodeType": "YulFunctionCall",
"src": "16912:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "16905:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "16680:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "16688:3:14",
"type": ""
}
],
"src": "16528:402:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17046:280:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "17056:53:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "17103:5:14"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "17070:32:14"
},
"nodeType": "YulFunctionCall",
"src": "17070:39:14"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "17060:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "17118:96:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17202:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17207:6:14"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "17125:76:14"
},
"nodeType": "YulFunctionCall",
"src": "17125:89:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17118:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "17262:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17269:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17258:3:14"
},
"nodeType": "YulFunctionCall",
"src": "17258:16:14"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17276:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17281:6:14"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "17223:34:14"
},
"nodeType": "YulFunctionCall",
"src": "17223:65:14"
},
"nodeType": "YulExpressionStatement",
"src": "17223:65:14"
},
{
"nodeType": "YulAssignment",
"src": "17297:23:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17308:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17313:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17304:3:14"
},
"nodeType": "YulFunctionCall",
"src": "17304:16:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "17297:3:14"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "17027:5:14",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "17034:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "17042:3:14",
"type": ""
}
],
"src": "16936:390:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17438:108:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "17460:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17468:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17456:3:14"
},
"nodeType": "YulFunctionCall",
"src": "17456:14:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17472:66:14",
"type": "",
"value": "0x222c000000000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "17449:6:14"
},
"nodeType": "YulFunctionCall",
"src": "17449:90:14"
},
"nodeType": "YulExpressionStatement",
"src": "17449:90:14"
}
]
},
"name": "store_literal_in_memory_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "17430:6:14",
"type": ""
}
],
"src": "17332:214:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17716:236:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17726:91:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17810:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17815:1:14",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "17733:76:14"
},
"nodeType": "YulFunctionCall",
"src": "17733:84:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17726:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17915:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb",
"nodeType": "YulIdentifier",
"src": "17826:88:14"
},
"nodeType": "YulFunctionCall",
"src": "17826:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "17826:93:14"
},
{
"nodeType": "YulAssignment",
"src": "17928:18:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17939:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17944:1:14",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17935:3:14"
},
"nodeType": "YulFunctionCall",
"src": "17935:11:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "17928:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "17704:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "17712:3:14",
"type": ""
}
],
"src": "17552:400:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18064:108:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "18086:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18094:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18082:3:14"
},
"nodeType": "YulFunctionCall",
"src": "18082:14:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18098:66:14",
"type": "",
"value": "0x22696d6167655f64617461223a20220000000000000000000000000000000000"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "18075:6:14"
},
"nodeType": "YulFunctionCall",
"src": "18075:90:14"
},
"nodeType": "YulExpressionStatement",
"src": "18075:90:14"
}
]
},
"name": "store_literal_in_memory_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "18056:6:14",
"type": ""
}
],
"src": "17958:214:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18342:238:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18352:92:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "18436:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18441:2:14",
"type": "",
"value": "15"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "18359:76:14"
},
"nodeType": "YulFunctionCall",
"src": "18359:85:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "18352:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "18542:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8",
"nodeType": "YulIdentifier",
"src": "18453:88:14"
},
"nodeType": "YulFunctionCall",
"src": "18453:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "18453:93:14"
},
{
"nodeType": "YulAssignment",
"src": "18555:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "18566:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18571:2:14",
"type": "",
"value": "15"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18562:3:14"
},
"nodeType": "YulFunctionCall",
"src": "18562:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "18555:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "18330:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "18338:3:14",
"type": ""
}
],
"src": "18178:402:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18692:108:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "18714:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18722:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18710:3:14"
},
"nodeType": "YulFunctionCall",
"src": "18710:14:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18726:66:14",
"type": "",
"value": "0x2200000000000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "18703:6:14"
},
"nodeType": "YulFunctionCall",
"src": "18703:90:14"
},
"nodeType": "YulExpressionStatement",
"src": "18703:90:14"
}
]
},
"name": "store_literal_in_memory_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "18684:6:14",
"type": ""
}
],
"src": "18586:214:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18970:236:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18980:91:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19064:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19069:1:14",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "18987:76:14"
},
"nodeType": "YulFunctionCall",
"src": "18987:84:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "18980:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19169:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0",
"nodeType": "YulIdentifier",
"src": "19080:88:14"
},
"nodeType": "YulFunctionCall",
"src": "19080:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "19080:93:14"
},
{
"nodeType": "YulAssignment",
"src": "19182:18:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19193:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19198:1:14",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19189:3:14"
},
"nodeType": "YulFunctionCall",
"src": "19189:11:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "19182:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "18958:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "18966:3:14",
"type": ""
}
],
"src": "18806:400:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19318:37:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "19336:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19344:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19332:3:14"
},
"nodeType": "YulFunctionCall",
"src": "19332:14:14"
},
{
"hexValue": "7d",
"kind": "string",
"nodeType": "YulLiteral",
"src": "19348:3:14",
"type": "",
"value": "}"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "19325:6:14"
},
"nodeType": "YulFunctionCall",
"src": "19325:27:14"
},
"nodeType": "YulExpressionStatement",
"src": "19325:27:14"
}
]
},
"name": "store_literal_in_memory_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "19310:6:14",
"type": ""
}
],
"src": "19212:143:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19521:220:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "19527:91:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19611:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19616:1:14",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "19534:76:14"
},
"nodeType": "YulFunctionCall",
"src": "19534:84:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19527:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19712:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff",
"nodeType": "YulIdentifier",
"src": "19623:88:14"
},
"nodeType": "YulFunctionCall",
"src": "19623:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "19623:93:14"
},
{
"nodeType": "YulAssignment",
"src": "19721:18:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19732:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19737:1:14",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19728:3:14"
},
"nodeType": "YulFunctionCall",
"src": "19728:11:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "19721:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "19509:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "19517:3:14",
"type": ""
}
],
"src": "19357:384:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20432:1040:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "20439:155:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20590:3:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "20446:142:14"
},
"nodeType": "YulFunctionCall",
"src": "20446:148:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20439:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "20600:102:14",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "20689:6:14"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20698:3:14"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "20607:81:14"
},
"nodeType": "YulFunctionCall",
"src": "20607:95:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20600:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "20708:155:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20859:3:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "20715:142:14"
},
"nodeType": "YulFunctionCall",
"src": "20715:148:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20708:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "20869:155:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21020:3:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "20876:142:14"
},
"nodeType": "YulFunctionCall",
"src": "20876:148:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20869:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "21030:102:14",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "21119:6:14"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21128:3:14"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "21037:81:14"
},
"nodeType": "YulFunctionCall",
"src": "21037:95:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21030:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "21138:155:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21289:3:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "21145:142:14"
},
"nodeType": "YulFunctionCall",
"src": "21145:148:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21138:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "21299:155:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21450:3:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "21306:142:14"
},
"nodeType": "YulFunctionCall",
"src": "21306:148:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21299:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "21460:10:14",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21467:3:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "21460:3:14"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_t_string_memory_ptr_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_t_string_memory_ptr_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "20403:3:14",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "20409:6:14",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "20417:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "20428:3:14",
"type": ""
}
],
"src": "19743:1729:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "21580:65:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "21598:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21606:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21594:3:14"
},
"nodeType": "YulFunctionCall",
"src": "21594:14:14"
},
{
"hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c",
"kind": "string",
"nodeType": "YulLiteral",
"src": "21610:31:14",
"type": "",
"value": "data:application/json;base64,"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "21587:6:14"
},
"nodeType": "YulFunctionCall",
"src": "21587:55:14"
},
"nodeType": "YulExpressionStatement",
"src": "21587:55:14"
}
]
},
"name": "store_literal_in_memory_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "21572:6:14",
"type": ""
}
],
"src": "21474:171:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "21811:222:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "21817:92:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21901:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21906:2:14",
"type": "",
"value": "29"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "21824:76:14"
},
"nodeType": "YulFunctionCall",
"src": "21824:85:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21817:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22003:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa",
"nodeType": "YulIdentifier",
"src": "21914:88:14"
},
"nodeType": "YulFunctionCall",
"src": "21914:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "21914:93:14"
},
{
"nodeType": "YulAssignment",
"src": "22012:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22023:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22028:2:14",
"type": "",
"value": "29"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22019:3:14"
},
"nodeType": "YulFunctionCall",
"src": "22019:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "22012:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "21799:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "21807:3:14",
"type": ""
}
],
"src": "21647:386:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22272:288:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22279:155:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22430:3:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "22286:142:14"
},
"nodeType": "YulFunctionCall",
"src": "22286:148:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22279:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "22440:102:14",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "22529:6:14"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22538:3:14"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "22447:81:14"
},
"nodeType": "YulFunctionCall",
"src": "22447:95:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22440:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "22548:10:14",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22555:3:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "22548:3:14"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "22251:3:14",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "22257:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "22268:3:14",
"type": ""
}
],
"src": "22035:525:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22668:106:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "22686:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22694:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22682:3:14"
},
"nodeType": "YulFunctionCall",
"src": "22682:14:14"
},
{
"hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420",
"kind": "string",
"nodeType": "YulLiteral",
"src": "22698:34:14",
"type": "",
"value": "ERC721: transfer from incorrect "
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "22675:6:14"
},
"nodeType": "YulFunctionCall",
"src": "22675:58:14"
},
"nodeType": "YulExpressionStatement",
"src": "22675:58:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "22750:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22758:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22746:3:14"
},
"nodeType": "YulFunctionCall",
"src": "22746:15:14"
},
{
"hexValue": "6f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "22763:7:14",
"type": "",
"value": "owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "22739:6:14"
},
"nodeType": "YulFunctionCall",
"src": "22739:32:14"
},
"nodeType": "YulExpressionStatement",
"src": "22739:32:14"
}
]
},
"name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "22660:6:14",
"type": ""
}
],
"src": "22562:212:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22922:204:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22928:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22994:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22999:2:14",
"type": "",
"value": "37"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "22935:58:14"
},
"nodeType": "YulFunctionCall",
"src": "22935:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22928:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "23096:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48",
"nodeType": "YulIdentifier",
"src": "23007:88:14"
},
"nodeType": "YulFunctionCall",
"src": "23007:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "23007:93:14"
},
{
"nodeType": "YulAssignment",
"src": "23105:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "23116:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23121:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "23112:3:14"
},
"nodeType": "YulFunctionCall",
"src": "23112:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "23105:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "22910:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "22918:3:14",
"type": ""
}
],
"src": "22776:350:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23299:232:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "23305:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "23317:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23328:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "23313:3:14"
},
"nodeType": "YulFunctionCall",
"src": "23313:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "23305:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "23348:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23359:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "23344:3:14"
},
"nodeType": "YulFunctionCall",
"src": "23344:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "23367:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "23373:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "23363:3:14"
},
"nodeType": "YulFunctionCall",
"src": "23363:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "23337:6:14"
},
"nodeType": "YulFunctionCall",
"src": "23337:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "23337:47:14"
},
{
"nodeType": "YulAssignment",
"src": "23389:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "23523:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "23397:124:14"
},
"nodeType": "YulFunctionCall",
"src": "23397:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "23389:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "23279:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "23294:4:14",
"type": ""
}
],
"src": "23128:403:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23639:105:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "23657:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23665:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "23653:3:14"
},
"nodeType": "YulFunctionCall",
"src": "23653:14:14"
},
{
"hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464",
"kind": "string",
"nodeType": "YulLiteral",
"src": "23669:34:14",
"type": "",
"value": "ERC721: transfer to the zero add"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "23646:6:14"
},
"nodeType": "YulFunctionCall",
"src": "23646:58:14"
},
"nodeType": "YulExpressionStatement",
"src": "23646:58:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "23721:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23729:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "23717:3:14"
},
"nodeType": "YulFunctionCall",
"src": "23717:15:14"
},
{
"hexValue": "72657373",
"kind": "string",
"nodeType": "YulLiteral",
"src": "23734:6:14",
"type": "",
"value": "ress"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "23710:6:14"
},
"nodeType": "YulFunctionCall",
"src": "23710:31:14"
},
"nodeType": "YulExpressionStatement",
"src": "23710:31:14"
}
]
},
"name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "23631:6:14",
"type": ""
}
],
"src": "23533:211:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23892:204:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "23898:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "23964:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23969:2:14",
"type": "",
"value": "36"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "23905:58:14"
},
"nodeType": "YulFunctionCall",
"src": "23905:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "23898:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "24066:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
"nodeType": "YulIdentifier",
"src": "23977:88:14"
},
"nodeType": "YulFunctionCall",
"src": "23977:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "23977:93:14"
},
{
"nodeType": "YulAssignment",
"src": "24075:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "24086:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24091:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "24082:3:14"
},
"nodeType": "YulFunctionCall",
"src": "24082:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "24075:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "23880:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "23888:3:14",
"type": ""
}
],
"src": "23746:350:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "24269:232:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "24275:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "24287:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24298:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "24283:3:14"
},
"nodeType": "YulFunctionCall",
"src": "24283:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "24275:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "24318:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24329:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "24314:3:14"
},
"nodeType": "YulFunctionCall",
"src": "24314:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "24337:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "24343:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "24333:3:14"
},
"nodeType": "YulFunctionCall",
"src": "24333:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "24307:6:14"
},
"nodeType": "YulFunctionCall",
"src": "24307:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "24307:47:14"
},
{
"nodeType": "YulAssignment",
"src": "24359:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "24493:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "24367:124:14"
},
"nodeType": "YulFunctionCall",
"src": "24367:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "24359:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "24249:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "24264:4:14",
"type": ""
}
],
"src": "24098:403:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "24609:68:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "24627:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24635:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "24623:3:14"
},
"nodeType": "YulFunctionCall",
"src": "24623:14:14"
},
{
"hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373",
"kind": "string",
"nodeType": "YulLiteral",
"src": "24639:34:14",
"type": "",
"value": "ERC721: mint to the zero address"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "24616:6:14"
},
"nodeType": "YulFunctionCall",
"src": "24616:58:14"
},
"nodeType": "YulExpressionStatement",
"src": "24616:58:14"
}
]
},
"name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "24601:6:14",
"type": ""
}
],
"src": "24503:174:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "24825:204:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "24831:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "24897:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24902:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "24838:58:14"
},
"nodeType": "YulFunctionCall",
"src": "24838:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "24831:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "24999:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6",
"nodeType": "YulIdentifier",
"src": "24910:88:14"
},
"nodeType": "YulFunctionCall",
"src": "24910:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "24910:93:14"
},
{
"nodeType": "YulAssignment",
"src": "25008:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "25019:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25024:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25015:3:14"
},
"nodeType": "YulFunctionCall",
"src": "25015:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "25008:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "24813:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "24821:3:14",
"type": ""
}
],
"src": "24679:350:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "25202:232:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "25208:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "25220:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25231:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25216:3:14"
},
"nodeType": "YulFunctionCall",
"src": "25216:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "25208:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "25251:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25262:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25247:3:14"
},
"nodeType": "YulFunctionCall",
"src": "25247:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "25270:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "25276:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "25266:3:14"
},
"nodeType": "YulFunctionCall",
"src": "25266:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "25240:6:14"
},
"nodeType": "YulFunctionCall",
"src": "25240:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "25240:47:14"
},
{
"nodeType": "YulAssignment",
"src": "25292:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "25426:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "25300:124:14"
},
"nodeType": "YulFunctionCall",
"src": "25300:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "25292:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "25182:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "25197:4:14",
"type": ""
}
],
"src": "25031:403:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "25542:64:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "25560:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25568:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25556:3:14"
},
"nodeType": "YulFunctionCall",
"src": "25556:14:14"
},
{
"hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564",
"kind": "string",
"nodeType": "YulLiteral",
"src": "25572:30:14",
"type": "",
"value": "ERC721: token already minted"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "25549:6:14"
},
"nodeType": "YulFunctionCall",
"src": "25549:54:14"
},
"nodeType": "YulExpressionStatement",
"src": "25549:54:14"
}
]
},
"name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "25534:6:14",
"type": ""
}
],
"src": "25436:170:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "25754:204:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "25760:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "25826:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25831:2:14",
"type": "",
"value": "28"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "25767:58:14"
},
"nodeType": "YulFunctionCall",
"src": "25767:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "25760:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "25928:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57",
"nodeType": "YulIdentifier",
"src": "25839:88:14"
},
"nodeType": "YulFunctionCall",
"src": "25839:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "25839:93:14"
},
{
"nodeType": "YulAssignment",
"src": "25937:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "25948:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25953:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25944:3:14"
},
"nodeType": "YulFunctionCall",
"src": "25944:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "25937:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "25742:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "25750:3:14",
"type": ""
}
],
"src": "25608:350:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "26131:232:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "26137:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "26149:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26160:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "26145:3:14"
},
"nodeType": "YulFunctionCall",
"src": "26145:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "26137:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "26180:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26191:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "26176:3:14"
},
"nodeType": "YulFunctionCall",
"src": "26176:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "26199:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "26205:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "26195:3:14"
},
"nodeType": "YulFunctionCall",
"src": "26195:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "26169:6:14"
},
"nodeType": "YulFunctionCall",
"src": "26169:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "26169:47:14"
},
{
"nodeType": "YulAssignment",
"src": "26221:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "26355:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "26229:124:14"
},
"nodeType": "YulFunctionCall",
"src": "26229:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "26221:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "26111:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "26126:4:14",
"type": ""
}
],
"src": "25960:403:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "26471:61:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "26489:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26497:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "26485:3:14"
},
"nodeType": "YulFunctionCall",
"src": "26485:14:14"
},
{
"hexValue": "4552433732313a20617070726f766520746f2063616c6c6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "26501:27:14",
"type": "",
"value": "ERC721: approve to caller"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "26478:6:14"
},
"nodeType": "YulFunctionCall",
"src": "26478:51:14"
},
"nodeType": "YulExpressionStatement",
"src": "26478:51:14"
}
]
},
"name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "26463:6:14",
"type": ""
}
],
"src": "26365:167:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "26680:204:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "26686:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "26752:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26757:2:14",
"type": "",
"value": "25"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "26693:58:14"
},
"nodeType": "YulFunctionCall",
"src": "26693:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "26686:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "26854:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
"nodeType": "YulIdentifier",
"src": "26765:88:14"
},
"nodeType": "YulFunctionCall",
"src": "26765:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "26765:93:14"
},
{
"nodeType": "YulAssignment",
"src": "26863:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "26874:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26879:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "26870:3:14"
},
"nodeType": "YulFunctionCall",
"src": "26870:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "26863:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "26668:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "26676:3:14",
"type": ""
}
],
"src": "26534:350:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "27057:232:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "27063:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "27075:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27086:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "27071:3:14"
},
"nodeType": "YulFunctionCall",
"src": "27071:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "27063:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "27106:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27117:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "27102:3:14"
},
"nodeType": "YulFunctionCall",
"src": "27102:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "27125:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "27131:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "27121:3:14"
},
"nodeType": "YulFunctionCall",
"src": "27121:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "27095:6:14"
},
"nodeType": "YulFunctionCall",
"src": "27095:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "27095:47:14"
},
{
"nodeType": "YulAssignment",
"src": "27147:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "27281:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "27155:124:14"
},
"nodeType": "YulFunctionCall",
"src": "27155:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "27147:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "27037:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "27052:4:14",
"type": ""
}
],
"src": "26886:403:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "27397:119:14",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "27415:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27423:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "27411:3:14"
},
"nodeType": "YulFunctionCall",
"src": "27411:14:14"
},
{
"hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265",
"kind": "string",
"nodeType": "YulLiteral",
"src": "27427:34:14",
"type": "",
"value": "ERC721: transfer to non ERC721Re"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "27404:6:14"
},
"nodeType": "YulFunctionCall",
"src": "27404:58:14"
},
"nodeType": "YulExpressionStatement",
"src": "27404:58:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "27479:6:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27487:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "27475:3:14"
},
"nodeType": "YulFunctionCall",
"src": "27475:15:14"
},
{
"hexValue": "63656976657220696d706c656d656e746572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "27492:20:14",
"type": "",
"value": "ceiver implementer"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "27468:6:14"
},
"nodeType": "YulFunctionCall",
"src": "27468:45:14"
},
"nodeType": "YulExpressionStatement",
"src": "27468:45:14"
}
]
},
"name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "27389:6:14",
"type": ""
}
],
"src": "27291:225:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "27664:204:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "27670:74:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "27736:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27741:2:14",
"type": "",
"value": "50"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "27677:58:14"
},
"nodeType": "YulFunctionCall",
"src": "27677:67:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "27670:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "27838:3:14"
}
],
"functionName": {
"name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
"nodeType": "YulIdentifier",
"src": "27749:88:14"
},
"nodeType": "YulFunctionCall",
"src": "27749:93:14"
},
"nodeType": "YulExpressionStatement",
"src": "27749:93:14"
},
{
"nodeType": "YulAssignment",
"src": "27847:19:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "27858:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27863:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "27854:3:14"
},
"nodeType": "YulFunctionCall",
"src": "27854:12:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "27847:3:14"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "27652:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "27660:3:14",
"type": ""
}
],
"src": "27518:350:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "28041:232:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "28047:26:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "28059:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28070:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "28055:3:14"
},
"nodeType": "YulFunctionCall",
"src": "28055:18:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "28047:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "28090:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28101:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "28086:3:14"
},
"nodeType": "YulFunctionCall",
"src": "28086:17:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "28109:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "28115:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "28105:3:14"
},
"nodeType": "YulFunctionCall",
"src": "28105:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "28079:6:14"
},
"nodeType": "YulFunctionCall",
"src": "28079:47:14"
},
"nodeType": "YulExpressionStatement",
"src": "28079:47:14"
},
{
"nodeType": "YulAssignment",
"src": "28131:139:14",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "28265:4:14"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "28139:124:14"
},
"nodeType": "YulFunctionCall",
"src": "28139:131:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "28131:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "28021:9:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "28036:4:14",
"type": ""
}
],
"src": "27870:403:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "28303:136:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28316:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28319:77:14",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "28309:6:14"
},
"nodeType": "YulFunctionCall",
"src": "28309:88:14"
},
"nodeType": "YulExpressionStatement",
"src": "28309:88:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28409:1:14",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28412:4:14",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "28402:6:14"
},
"nodeType": "YulFunctionCall",
"src": "28402:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "28402:15:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28429:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28432:4:14",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "28422:6:14"
},
"nodeType": "YulFunctionCall",
"src": "28422:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "28422:15:14"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "28275:164:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "28673:343:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "28680:102:14",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "28769:6:14"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28778:3:14"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "28687:81:14"
},
"nodeType": "YulFunctionCall",
"src": "28687:95:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28680:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "28788:102:14",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "28877:6:14"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28886:3:14"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "28795:81:14"
},
"nodeType": "YulFunctionCall",
"src": "28795:95:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28788:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "28896:102:14",
"value": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "28985:6:14"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28994:3:14"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "28903:81:14"
},
"nodeType": "YulFunctionCall",
"src": "28903:95:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28896:3:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "29004:10:14",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "29011:3:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "29004:3:14"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "28636:3:14",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "28642:6:14",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "28650:6:14",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "28658:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "28669:3:14",
"type": ""
}
],
"src": "28441:575:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "29046:136:14",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "29059:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "29062:77:14",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "29052:6:14"
},
"nodeType": "YulFunctionCall",
"src": "29052:88:14"
},
"nodeType": "YulExpressionStatement",
"src": "29052:88:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "29152:1:14",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "29155:4:14",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "29145:6:14"
},
"nodeType": "YulFunctionCall",
"src": "29145:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "29145:15:14"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "29172:1:14",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "29175:4:14",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "29165:6:14"
},
"nodeType": "YulFunctionCall",
"src": "29165:15:14"
},
"nodeType": "YulExpressionStatement",
"src": "29165:15:14"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "29018:164:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "29228:127:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "29234:25:14",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29257:1:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "29239:17:14"
},
"nodeType": "YulFunctionCall",
"src": "29239:20:14"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29234:1:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "29264:25:14",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29287:1:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "29269:17:14"
},
"nodeType": "YulFunctionCall",
"src": "29269:20:14"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29264:1:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "29294:16:14",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29305:1:14"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29308:1:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "29301:3:14"
},
"nodeType": "YulFunctionCall",
"src": "29301:9:14"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "29294:3:14"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "29330:22:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "29332:16:14"
},
"nodeType": "YulFunctionCall",
"src": "29332:18:14"
},
"nodeType": "YulExpressionStatement",
"src": "29332:18:14"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29322:1:14"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "29325:3:14"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "29319:2:14"
},
"nodeType": "YulFunctionCall",
"src": "29319:10:14"
},
"nodeType": "YulIf",
"src": "29316:36:14"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "29215:1:14",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "29218:1:14",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "29224:3:14",
"type": ""
}
],
"src": "29184:171:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "29399:123:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "29405:25:14",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29428:1:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "29410:17:14"
},
"nodeType": "YulFunctionCall",
"src": "29410:20:14"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29405:1:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "29435:25:14",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29458:1:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "29440:17:14"
},
"nodeType": "YulFunctionCall",
"src": "29440:20:14"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29435:1:14"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "29478:22:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "29480:16:14"
},
"nodeType": "YulFunctionCall",
"src": "29480:18:14"
},
"nodeType": "YulExpressionStatement",
"src": "29480:18:14"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29475:1:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "29468:6:14"
},
"nodeType": "YulFunctionCall",
"src": "29468:9:14"
},
"nodeType": "YulIf",
"src": "29465:35:14"
},
{
"nodeType": "YulAssignment",
"src": "29506:14:14",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29515:1:14"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29518:1:14"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "29511:3:14"
},
"nodeType": "YulFunctionCall",
"src": "29511:9:14"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "29506:1:14"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "29388:1:14",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "29391:1:14",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "29397:1:14",
"type": ""
}
],
"src": "29357:165:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "29572:314:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "29578:25:14",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29601:1:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "29583:17:14"
},
"nodeType": "YulFunctionCall",
"src": "29583:20:14"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29578:1:14"
}
]
},
{
"nodeType": "YulAssignment",
"src": "29608:25:14",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29631:1:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "29613:17:14"
},
"nodeType": "YulFunctionCall",
"src": "29613:20:14"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29608:1:14"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "29638:28:14",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29661:1:14"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29664:1:14"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "29657:3:14"
},
"nodeType": "YulFunctionCall",
"src": "29657:9:14"
},
"variables": [
{
"name": "product_raw",
"nodeType": "YulTypedName",
"src": "29642:11:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "29671:41:14",
"value": {
"arguments": [
{
"name": "product_raw",
"nodeType": "YulIdentifier",
"src": "29700:11:14"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "29682:17:14"
},
"nodeType": "YulFunctionCall",
"src": "29682:30:14"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "29671:7:14"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "29861:22:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "29863:16:14"
},
"nodeType": "YulFunctionCall",
"src": "29863:18:14"
},
"nodeType": "YulExpressionStatement",
"src": "29863:18:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29806:1:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "29799:6:14"
},
"nodeType": "YulFunctionCall",
"src": "29799:9:14"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "29825:1:14"
},
{
"arguments": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "29832:7:14"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "29841:1:14"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "29828:3:14"
},
"nodeType": "YulFunctionCall",
"src": "29828:15:14"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "29822:2:14"
},
"nodeType": "YulFunctionCall",
"src": "29822:22:14"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "29783:2:14"
},
"nodeType": "YulFunctionCall",
"src": "29783:71:14"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "29767:6:14"
},
"nodeType": "YulFunctionCall",
"src": "29767:93:14"
},
"nodeType": "YulIf",
"src": "29764:119:14"
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "29555:1:14",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "29558:1:14",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "29564:7:14",
"type": ""
}
],
"src": "29524:362:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "29946:32:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "29953:22:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "29969:5:14"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "29963:5:14"
},
"nodeType": "YulFunctionCall",
"src": "29963:12:14"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "29953:6:14"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "29929:5:14",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "29939:6:14",
"type": ""
}
],
"src": "29888:90:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "30075:61:14",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30088:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "30093:6:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "30081:6:14"
},
"nodeType": "YulFunctionCall",
"src": "30081:19:14"
},
"nodeType": "YulExpressionStatement",
"src": "30081:19:14"
},
{
"nodeType": "YulAssignment",
"src": "30105:29:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30124:3:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30129:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30120:3:14"
},
"nodeType": "YulFunctionCall",
"src": "30120:14:14"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "30105:11:14"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "30047:3:14",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "30052:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "30063:11:14",
"type": ""
}
],
"src": "29980:156:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "30228:263:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "30234:52:14",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "30280:5:14"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "30248:31:14"
},
"nodeType": "YulFunctionCall",
"src": "30248:38:14"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "30238:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "30291:77:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30356:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "30361:6:14"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "30298:57:14"
},
"nodeType": "YulFunctionCall",
"src": "30298:70:14"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30291:3:14"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "30412:5:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30419:4:14",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30408:3:14"
},
"nodeType": "YulFunctionCall",
"src": "30408:16:14"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30426:3:14"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "30431:6:14"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "30373:34:14"
},
"nodeType": "YulFunctionCall",
"src": "30373:65:14"
},
"nodeType": "YulExpressionStatement",
"src": "30373:65:14"
},
{
"nodeType": "YulAssignment",
"src": "30443:46:14",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30454:3:14"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "30481:6:14"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "30459:21:14"
},
"nodeType": "YulFunctionCall",
"src": "30459:29:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30450:3:14"
},
"nodeType": "YulFunctionCall",
"src": "30450:39:14"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "30443:3:14"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "30209:5:14",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "30216:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "30224:3:14",
"type": ""
}
],
"src": "30138:353:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "30693:412:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "30699:27:14",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "30711:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30722:3:14",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30707:3:14"
},
"nodeType": "YulFunctionCall",
"src": "30707:19:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "30699:4:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "30776:6:14"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "30789:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30800:1:14",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30785:3:14"
},
"nodeType": "YulFunctionCall",
"src": "30785:17:14"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "30732:43:14"
},
"nodeType": "YulFunctionCall",
"src": "30732:71:14"
},
"nodeType": "YulExpressionStatement",
"src": "30732:71:14"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "30853:6:14"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "30866:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30877:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30862:3:14"
},
"nodeType": "YulFunctionCall",
"src": "30862:18:14"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "30809:43:14"
},
"nodeType": "YulFunctionCall",
"src": "30809:72:14"
},
"nodeType": "YulExpressionStatement",
"src": "30809:72:14"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "30931:6:14"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "30944:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30955:2:14",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30940:3:14"
},
"nodeType": "YulFunctionCall",
"src": "30940:18:14"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "30887:43:14"
},
"nodeType": "YulFunctionCall",
"src": "30887:72:14"
},
"nodeType": "YulExpressionStatement",
"src": "30887:72:14"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "30976:9:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30987:2:14",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30972:3:14"
},
"nodeType": "YulFunctionCall",
"src": "30972:18:14"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "30996:4:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "31002:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "30992:3:14"
},
"nodeType": "YulFunctionCall",
"src": "30992:20:14"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "30965:6:14"
},
"nodeType": "YulFunctionCall",
"src": "30965:48:14"
},
"nodeType": "YulExpressionStatement",
"src": "30965:48:14"
},
{
"nodeType": "YulAssignment",
"src": "31018:84:14",
"value": {
"arguments": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "31088:6:14"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "31097:4:14"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "31026:61:14"
},
"nodeType": "YulFunctionCall",
"src": "31026:76:14"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "31018:4:14"
}
]
}
]
},
"name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "30641:9:14",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "30653:6:14",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "30661:6:14",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "30669:6:14",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "30677:6:14",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "30688:4:14",
"type": ""
}
],
"src": "30493:612:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "31169:67:14",
"statements": [
{
"nodeType": "YulAssignment",
"src": "31175:22:14",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "31190:6:14"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "31184:5:14"
},
"nodeType": "YulFunctionCall",
"src": "31184:13:14"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "31175:5:14"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "31228:5:14"
}
],
"functionName": {
"name": "validator_revert_t_bytes4",
"nodeType": "YulIdentifier",
"src": "31202:25:14"
},
"nodeType": "YulFunctionCall",
"src": "31202:32:14"
},
"nodeType": "YulExpressionStatement",
"src": "31202:32:14"
}
]
},
"name": "abi_decode_t_bytes4_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "31147:6:14",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "31155:3:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "31163:5:14",
"type": ""
}
],
"src": "31107:129:14"
},
{
"body": {
"nodeType": "YulBlock",
"src": "31314:249:14",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "31356:83:14",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "31358:77:14"
},
"nodeType": "YulFunctionCall",
"src": "31358:79:14"
},
"nodeType": "YulExpressionStatement",
"src": "31358:79:14"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "31331:7:14"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "31340:9:14"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "31327:3:14"
},
"nodeType": "YulFunctionCall",
"src": "31327:23:14"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "31352:2:14",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "31323:3:14"
},
"nodeType": "YulFunctionCall",
"src": "31323:32:14"
},
"nodeType": "YulIf",
"src": "31320:119:14"
},
{
"nodeType": "YulBlock",
"src": "31445:115:14",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "31456:15:14",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "31470:1:14",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "31460:6:14",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "31481:73:14",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "31526:9:14"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "31537:6:14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "31522:3:14"
},
"nodeType": "YulFunctionCall",
"src": "31522:22:14"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "31546:7:14"
}
],
"functionName": {
"name": "abi_decode_t_bytes4_fromMemory",
"nodeType": "YulIdentifier",
"src": "31491:30:14"
},
"nodeType": "YulFunctionCall",
"src": "31491:63:14"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "31481:6:14"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes4_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "31284:9:14",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "31295:7:14",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "31307:6:14",
"type": ""
}
],
"src": "31238:325:14"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function store_literal_in_memory_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317(memPtr) {\n\n mstore(add(memPtr, 0), 0x7b226e616d65223a20224372656469742053797374656d20536f756c626f756e)\n\n mstore(add(memPtr, 32), \"d Token (CSSBT) #\")\n\n }\n\n function abi_encode_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 49)\n store_literal_in_memory_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317(pos)\n end := add(pos, 49)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function store_literal_in_memory_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb(memPtr) {\n\n mstore(add(memPtr, 0), 0x222c000000000000000000000000000000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 2)\n store_literal_in_memory_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb(pos)\n end := add(pos, 2)\n }\n\n function store_literal_in_memory_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8(memPtr) {\n\n mstore(add(memPtr, 0), 0x22696d6167655f64617461223a20220000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 15)\n store_literal_in_memory_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8(pos)\n end := add(pos, 15)\n }\n\n function store_literal_in_memory_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0(memPtr) {\n\n mstore(add(memPtr, 0), 0x2200000000000000000000000000000000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0(pos)\n end := add(pos, 1)\n }\n\n function store_literal_in_memory_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff(memPtr) {\n\n mstore(add(memPtr, 0), \"}\")\n\n}\n\nfunction abi_encode_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff(pos)\n end := add(pos, 1)\n}\n\nfunction abi_encode_tuple_packed_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_t_string_memory_ptr_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_t_string_memory_ptr_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n end := pos\n}\n\nfunction store_literal_in_memory_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa(memPtr) {\n\n mstore(add(memPtr, 0), \"data:application/json;base64,\")\n\n}\n\nfunction abi_encode_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 29)\n store_literal_in_memory_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa(pos)\n end := add(pos, 29)\n}\n\nfunction abi_encode_tuple_packed_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n}\n\nfunction store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n}\n\nfunction abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n}\n\nfunction abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n}\n\nfunction abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n}\n\nfunction abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n}\n\nfunction abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n}\n\nfunction abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n}\n\nfunction abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n}\n\nfunction abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n}\n\nfunction abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n}\n\nfunction abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n}\n\nfunction abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n}\n\nfunction abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n}\n\nfunction abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n}\n\nfunction panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n}\n\nfunction checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n}\n\nfunction checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n}\n\nfunction checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n}\n\nfunction array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n}\n\nfunction array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n}\n\nfunction abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n}\n\nfunction abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n}\n\nfunction abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n}\n\nfunction abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n}\n\n}\n",
"id": 14,
"language": "Yul",
"name": "#utility.yul"
}
],
"sourceMap": "310:10015:13:-:0;;;432:54;;;;;;;;;;1390:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1464:5;1456;:13;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;:::i;:::-;;1390:113;;310:10015:13;;7:99:14;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;310:10015:13:-;;;;;;;",
"deployedSourceMap": "310:10015:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;492:203:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;701:706:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:162:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1570:300;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;2190:219::-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;492:203:13:-;538:7;557:21;:9;:19;:21::i;:::-;588:17;608:19;:9;:17;:19::i;:::-;588:39;;637:24;643:6;651:9;637:5;:24::i;:::-;679:9;672:16;;;492:203;;;:::o;1929:204:0:-;2001:7;2045:1;2028:19;;:5;:19;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;4169:153::-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;701:706:13:-;774:13;799:23;814:7;799:14;:23::i;:::-;833:18;854:466;1051:25;1068:7;1051:16;:25::i;:::-;1175:20;1187:7;1175:11;:20::i;:::-;932:343;;;;;;;;;:::i;:::-;;;;;;;;;;;;;854:13;:466::i;:::-;833:487;;1394:4;1344:55;;;;;;;;:::i;:::-;;;;;;;;;;;;;1330:70;;;701:706;;;:::o;4388:162:0:-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;829:155:9:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;13240:133:0:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;640:96:6:-;693:7;719:10;712:17;;640:96;:::o;12572:171:0:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;6702:115::-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;945:123:7:-;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;827:112::-;892:7;918;:14;;;911:21;;827:112;;;:::o;8925:920:0:-;9018:1;9004:16;;:2;:16;;;8996:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9076:16;9084:7;9076;:16::i;:::-;9075:17;9067:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;9280:16;9288:7;9280;:16::i;:::-;9279:17;9271:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9688:1;9671:9;:13;9681:2;9671:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;9729:2;9710:7;:16;9718:7;9710:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9772:7;9768:2;9747:33;;9764:1;9747:33;;;;;;;;;;;;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;:::-;8925:920;;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;447:696:8:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;820:280;1064:21;820:280;1120:6;1113:13;;;;;447:696;;;:::o;1413:8909:13:-;1466:13;1490:21;1514;1531:3;1514:16;:21::i;:::-;1490:45;;1545:15;:2384;;;;;;;;;;;;;;;;;;;3939:15;:6320;;;;;;;;;;;;;;;;;;;10300:1;10303:7;10312:1;10283:31;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10269:46;;;;;1413:8909;;;:::o;505:3026:5:-;563:13;810:1;795:4;:11;:16;791:31;;813:9;;;;;;;;;;;;;;;;791:31;872:19;894:6;;;;;;;;;;;;;;;;;872:28;;1303:20;1362:1;1357;1343:4;:11;:15;;;;:::i;:::-;1342:21;;;;:::i;:::-;1337:1;:27;;;;:::i;:::-;1326:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1303:62;;1540:1;1533:5;1529:13;1641:2;1633:6;1629:15;1748:4;1799;1793:11;1787:4;1783:22;1711:1403;1832:6;1823:7;1820:19;1711:1403;;;1934:1;1925:7;1921:15;1910:26;;1972:7;1966:14;2615:4;2607:5;2603:2;2599:14;2595:25;2585:8;2581:40;2575:47;2564:9;2556:67;2668:1;2657:9;2653:17;2640:30;;2758:4;2750:5;2746:2;2742:14;2738:25;2728:8;2724:40;2718:47;2707:9;2699:67;2811:1;2800:9;2796:17;2783:30;;2900:4;2892:5;2889:1;2885:13;2881:24;2871:8;2867:39;2861:46;2850:9;2842:66;2953:1;2942:9;2938:17;2925:30;;3034:4;3027:5;3023:16;3013:8;3009:31;3003:38;2992:9;2984:58;3087:1;3076:9;3072:17;3059:30;;1857:1257;1711:1403;;;1715:104;;3272:1;3265:4;3259:11;3255:19;3292:1;3287:120;;;;3425:1;3420:71;;;;3248:243;;3287:120;3339:4;3335:1;3324:9;3320:17;3312:32;3388:4;3384:1;3373:9;3369:17;3361:32;3287:120;;3420:71;3472:4;3468:1;3457:9;3453:17;3445:32;3248:243;;1428:2073;;3518:6;3511:13;;;;505:3026;;;;:::o;7120:126:0:-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;15472:116::-;;;;;:::o;16294:115::-;;;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;10139:916:11:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;1412:320:4:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;7:75:14:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:246::-;1879:1;1889:113;1903:6;1900:1;1897:13;1889:113;;;1988:1;1983:3;1979:11;1973:18;1969:1;1964:3;1960:11;1953:39;1925:2;1922:1;1918:10;1913:15;;1889:113;;;2036:1;2027:6;2022:3;2018:16;2011:27;1860:184;1798:246;;;:::o;2050:102::-;2091:6;2142:2;2138:7;2133:2;2126:5;2122:14;2118:28;2108:38;;2050:102;;;:::o;2158:377::-;2246:3;2274:39;2307:5;2274:39;:::i;:::-;2329:71;2393:6;2388:3;2329:71;:::i;:::-;2322:78;;2409:65;2467:6;2462:3;2455:4;2448:5;2444:16;2409:65;:::i;:::-;2499:29;2521:6;2499:29;:::i;:::-;2494:3;2490:39;2483:46;;2250:285;2158:377;;;;:::o;2541:313::-;2654:4;2692:2;2681:9;2677:18;2669:26;;2741:9;2735:4;2731:20;2727:1;2716:9;2712:17;2705:47;2769:78;2842:4;2833:6;2769:78;:::i;:::-;2761:86;;2541:313;;;;:::o;2860:77::-;2897:7;2926:5;2915:16;;2860:77;;;:::o;2943:122::-;3016:24;3034:5;3016:24;:::i;:::-;3009:5;3006:35;2996:63;;3055:1;3052;3045:12;2996:63;2943:122;:::o;3071:139::-;3117:5;3155:6;3142:20;3133:29;;3171:33;3198:5;3171:33;:::i;:::-;3071:139;;;;:::o;3216:329::-;3275:6;3324:2;3312:9;3303:7;3299:23;3295:32;3292:119;;;3330:79;;:::i;:::-;3292:119;3450:1;3475:53;3520:7;3511:6;3500:9;3496:22;3475:53;:::i;:::-;3465:63;;3421:117;3216:329;;;;:::o;3551:126::-;3588:7;3628:42;3621:5;3617:54;3606:65;;3551:126;;;:::o;3683:96::-;3720:7;3749:24;3767:5;3749:24;:::i;:::-;3738:35;;3683:96;;;:::o;3785:118::-;3872:24;3890:5;3872:24;:::i;:::-;3867:3;3860:37;3785:118;;:::o;3909:222::-;4002:4;4040:2;4029:9;4025:18;4017:26;;4053:71;4121:1;4110:9;4106:17;4097:6;4053:71;:::i;:::-;3909:222;;;;:::o;4137:122::-;4210:24;4228:5;4210:24;:::i;:::-;4203:5;4200:35;4190:63;;4249:1;4246;4239:12;4190:63;4137:122;:::o;4265:139::-;4311:5;4349:6;4336:20;4327:29;;4365:33;4392:5;4365:33;:::i;:::-;4265:139;;;;:::o;4410:474::-;4478:6;4486;4535:2;4523:9;4514:7;4510:23;4506:32;4503:119;;;4541:79;;:::i;:::-;4503:119;4661:1;4686:53;4731:7;4722:6;4711:9;4707:22;4686:53;:::i;:::-;4676:63;;4632:117;4788:2;4814:53;4859:7;4850:6;4839:9;4835:22;4814:53;:::i;:::-;4804:63;;4759:118;4410:474;;;;;:::o;4890:619::-;4967:6;4975;4983;5032:2;5020:9;5011:7;5007:23;5003:32;5000:119;;;5038:79;;:::i;:::-;5000:119;5158:1;5183:53;5228:7;5219:6;5208:9;5204:22;5183:53;:::i;:::-;5173:63;;5129:117;5285:2;5311:53;5356:7;5347:6;5336:9;5332:22;5311:53;:::i;:::-;5301:63;;5256:118;5413:2;5439:53;5484:7;5475:6;5464:9;5460:22;5439:53;:::i;:::-;5429:63;;5384:118;4890:619;;;;;:::o;5515:329::-;5574:6;5623:2;5611:9;5602:7;5598:23;5594:32;5591:119;;;5629:79;;:::i;:::-;5591:119;5749:1;5774:53;5819:7;5810:6;5799:9;5795:22;5774:53;:::i;:::-;5764:63;;5720:117;5515:329;;;;:::o;5850:118::-;5937:24;5955:5;5937:24;:::i;:::-;5932:3;5925:37;5850:118;;:::o;5974:222::-;6067:4;6105:2;6094:9;6090:18;6082:26;;6118:71;6186:1;6175:9;6171:17;6162:6;6118:71;:::i;:::-;5974:222;;;;:::o;6202:116::-;6272:21;6287:5;6272:21;:::i;:::-;6265:5;6262:32;6252:60;;6308:1;6305;6298:12;6252:60;6202:116;:::o;6324:133::-;6367:5;6405:6;6392:20;6383:29;;6421:30;6445:5;6421:30;:::i;:::-;6324:133;;;;:::o;6463:468::-;6528:6;6536;6585:2;6573:9;6564:7;6560:23;6556:32;6553:119;;;6591:79;;:::i;:::-;6553:119;6711:1;6736:53;6781:7;6772:6;6761:9;6757:22;6736:53;:::i;:::-;6726:63;;6682:117;6838:2;6864:50;6906:7;6897:6;6886:9;6882:22;6864:50;:::i;:::-;6854:60;;6809:115;6463:468;;;;;:::o;6937:117::-;7046:1;7043;7036:12;7060:117;7169:1;7166;7159:12;7183:180;7231:77;7228:1;7221:88;7328:4;7325:1;7318:15;7352:4;7349:1;7342:15;7369:281;7452:27;7474:4;7452:27;:::i;:::-;7444:6;7440:40;7582:6;7570:10;7567:22;7546:18;7534:10;7531:34;7528:62;7525:88;;;7593:18;;:::i;:::-;7525:88;7633:10;7629:2;7622:22;7412:238;7369:281;;:::o;7656:129::-;7690:6;7717:20;;:::i;:::-;7707:30;;7746:33;7774:4;7766:6;7746:33;:::i;:::-;7656:129;;;:::o;7791:307::-;7852:4;7942:18;7934:6;7931:30;7928:56;;;7964:18;;:::i;:::-;7928:56;8002:29;8024:6;8002:29;:::i;:::-;7994:37;;8086:4;8080;8076:15;8068:23;;7791:307;;;:::o;8104:146::-;8201:6;8196:3;8191;8178:30;8242:1;8233:6;8228:3;8224:16;8217:27;8104:146;;;:::o;8256:423::-;8333:5;8358:65;8374:48;8415:6;8374:48;:::i;:::-;8358:65;:::i;:::-;8349:74;;8446:6;8439:5;8432:21;8484:4;8477:5;8473:16;8522:3;8513:6;8508:3;8504:16;8501:25;8498:112;;;8529:79;;:::i;:::-;8498:112;8619:54;8666:6;8661:3;8656;8619:54;:::i;:::-;8339:340;8256:423;;;;;:::o;8698:338::-;8753:5;8802:3;8795:4;8787:6;8783:17;8779:27;8769:122;;8810:79;;:::i;:::-;8769:122;8927:6;8914:20;8952:78;9026:3;9018:6;9011:4;9003:6;8999:17;8952:78;:::i;:::-;8943:87;;8759:277;8698:338;;;;:::o;9042:943::-;9137:6;9145;9153;9161;9210:3;9198:9;9189:7;9185:23;9181:33;9178:120;;;9217:79;;:::i;:::-;9178:120;9337:1;9362:53;9407:7;9398:6;9387:9;9383:22;9362:53;:::i;:::-;9352:63;;9308:117;9464:2;9490:53;9535:7;9526:6;9515:9;9511:22;9490:53;:::i;:::-;9480:63;;9435:118;9592:2;9618:53;9663:7;9654:6;9643:9;9639:22;9618:53;:::i;:::-;9608:63;;9563:118;9748:2;9737:9;9733:18;9720:32;9779:18;9771:6;9768:30;9765:117;;;9801:79;;:::i;:::-;9765:117;9906:62;9960:7;9951:6;9940:9;9936:22;9906:62;:::i;:::-;9896:72;;9691:287;9042:943;;;;;;;:::o;9991:474::-;10059:6;10067;10116:2;10104:9;10095:7;10091:23;10087:32;10084:119;;;10122:79;;:::i;:::-;10084:119;10242:1;10267:53;10312:7;10303:6;10292:9;10288:22;10267:53;:::i;:::-;10257:63;;10213:117;10369:2;10395:53;10440:7;10431:6;10420:9;10416:22;10395:53;:::i;:::-;10385:63;;10340:118;9991:474;;;;;:::o;10471:180::-;10519:77;10516:1;10509:88;10616:4;10613:1;10606:15;10640:4;10637:1;10630:15;10657:320;10701:6;10738:1;10732:4;10728:12;10718:22;;10785:1;10779:4;10775:12;10806:18;10796:81;;10862:4;10854:6;10850:17;10840:27;;10796:81;10924:2;10916:6;10913:14;10893:18;10890:38;10887:84;;10943:18;;:::i;:::-;10887:84;10708:269;10657:320;;;:::o;10983:220::-;11123:34;11119:1;11111:6;11107:14;11100:58;11192:3;11187:2;11179:6;11175:15;11168:28;10983:220;:::o;11209:366::-;11351:3;11372:67;11436:2;11431:3;11372:67;:::i;:::-;11365:74;;11448:93;11537:3;11448:93;:::i;:::-;11566:2;11561:3;11557:12;11550:19;;11209:366;;;:::o;11581:419::-;11747:4;11785:2;11774:9;11770:18;11762:26;;11834:9;11828:4;11824:20;11820:1;11809:9;11805:17;11798:47;11862:131;11988:4;11862:131;:::i;:::-;11854:139;;11581:419;;;:::o;12006:248::-;12146:34;12142:1;12134:6;12130:14;12123:58;12215:31;12210:2;12202:6;12198:15;12191:56;12006:248;:::o;12260:366::-;12402:3;12423:67;12487:2;12482:3;12423:67;:::i;:::-;12416:74;;12499:93;12588:3;12499:93;:::i;:::-;12617:2;12612:3;12608:12;12601:19;;12260:366;;;:::o;12632:419::-;12798:4;12836:2;12825:9;12821:18;12813:26;;12885:9;12879:4;12875:20;12871:1;12860:9;12856:17;12849:47;12913:131;13039:4;12913:131;:::i;:::-;12905:139;;12632:419;;;:::o;13057:232::-;13197:34;13193:1;13185:6;13181:14;13174:58;13266:15;13261:2;13253:6;13249:15;13242:40;13057:232;:::o;13295:366::-;13437:3;13458:67;13522:2;13517:3;13458:67;:::i;:::-;13451:74;;13534:93;13623:3;13534:93;:::i;:::-;13652:2;13647:3;13643:12;13636:19;;13295:366;;;:::o;13667:419::-;13833:4;13871:2;13860:9;13856:18;13848:26;;13920:9;13914:4;13910:20;13906:1;13895:9;13891:17;13884:47;13948:131;14074:4;13948:131;:::i;:::-;13940:139;;13667:419;;;:::o;14092:174::-;14232:26;14228:1;14220:6;14216:14;14209:50;14092:174;:::o;14272:366::-;14414:3;14435:67;14499:2;14494:3;14435:67;:::i;:::-;14428:74;;14511:93;14600:3;14511:93;:::i;:::-;14629:2;14624:3;14620:12;14613:19;;14272:366;;;:::o;14644:419::-;14810:4;14848:2;14837:9;14833:18;14825:26;;14897:9;14891:4;14887:20;14883:1;14872:9;14868:17;14861:47;14925:131;15051:4;14925:131;:::i;:::-;14917:139;;14644:419;;;:::o;15069:228::-;15209:34;15205:1;15197:6;15193:14;15186:58;15278:11;15273:2;15265:6;15261:15;15254:36;15069:228;:::o;15303:366::-;15445:3;15466:67;15530:2;15525:3;15466:67;:::i;:::-;15459:74;;15542:93;15631:3;15542:93;:::i;:::-;15660:2;15655:3;15651:12;15644:19;;15303:366;;;:::o;15675:419::-;15841:4;15879:2;15868:9;15864:18;15856:26;;15928:9;15922:4;15918:20;15914:1;15903:9;15899:17;15892:47;15956:131;16082:4;15956:131;:::i;:::-;15948:139;;15675:419;;;:::o;16100:148::-;16202:11;16239:3;16224:18;;16100:148;;;;:::o;16254:268::-;16394:66;16390:1;16382:6;16378:14;16371:90;16495:19;16490:2;16482:6;16478:15;16471:44;16254:268;:::o;16528:402::-;16688:3;16709:85;16791:2;16786:3;16709:85;:::i;:::-;16702:92;;16803:93;16892:3;16803:93;:::i;:::-;16921:2;16916:3;16912:12;16905:19;;16528:402;;;:::o;16936:390::-;17042:3;17070:39;17103:5;17070:39;:::i;:::-;17125:89;17207:6;17202:3;17125:89;:::i;:::-;17118:96;;17223:65;17281:6;17276:3;17269:4;17262:5;17258:16;17223:65;:::i;:::-;17313:6;17308:3;17304:16;17297:23;;17046:280;16936:390;;;;:::o;17332:214::-;17472:66;17468:1;17460:6;17456:14;17449:90;17332:214;:::o;17552:400::-;17712:3;17733:84;17815:1;17810:3;17733:84;:::i;:::-;17726:91;;17826:93;17915:3;17826:93;:::i;:::-;17944:1;17939:3;17935:11;17928:18;;17552:400;;;:::o;17958:214::-;18098:66;18094:1;18086:6;18082:14;18075:90;17958:214;:::o;18178:402::-;18338:3;18359:85;18441:2;18436:3;18359:85;:::i;:::-;18352:92;;18453:93;18542:3;18453:93;:::i;:::-;18571:2;18566:3;18562:12;18555:19;;18178:402;;;:::o;18586:214::-;18726:66;18722:1;18714:6;18710:14;18703:90;18586:214;:::o;18806:400::-;18966:3;18987:84;19069:1;19064:3;18987:84;:::i;:::-;18980:91;;19080:93;19169:3;19080:93;:::i;:::-;19198:1;19193:3;19189:11;19182:18;;18806:400;;;:::o;19212:143::-;19348:3;19344:1;19336:6;19332:14;19325:27;19212:143;:::o;19357:384::-;19517:3;19534:84;19616:1;19611:3;19534:84;:::i;:::-;19527:91;;19623:93;19712:3;19623:93;:::i;:::-;19737:1;19732:3;19728:11;19721:18;;19357:384;;;:::o;19743:1729::-;20428:3;20446:148;20590:3;20446:148;:::i;:::-;20439:155;;20607:95;20698:3;20689:6;20607:95;:::i;:::-;20600:102;;20715:148;20859:3;20715:148;:::i;:::-;20708:155;;20876:148;21020:3;20876:148;:::i;:::-;20869:155;;21037:95;21128:3;21119:6;21037:95;:::i;:::-;21030:102;;21145:148;21289:3;21145:148;:::i;:::-;21138:155;;21306:148;21450:3;21306:148;:::i;:::-;21299:155;;21467:3;21460:10;;19743:1729;;;;;:::o;21474:171::-;21610:31;21606:1;21598:6;21594:14;21587:55;21474:171;:::o;21647:386::-;21807:3;21824:85;21906:2;21901:3;21824:85;:::i;:::-;21817:92;;21914:93;22003:3;21914:93;:::i;:::-;22028:2;22023:3;22019:12;22012:19;;21647:386;;;:::o;22035:525::-;22268:3;22286:148;22430:3;22286:148;:::i;:::-;22279:155;;22447:95;22538:3;22529:6;22447:95;:::i;:::-;22440:102;;22555:3;22548:10;;22035:525;;;;:::o;22562:212::-;22698:34;22694:1;22686:6;22682:14;22675:58;22763:7;22758:2;22750:6;22746:15;22739:32;22562:212;:::o;22776:350::-;22918:3;22935:67;22999:2;22994:3;22935:67;:::i;:::-;22928:74;;23007:93;23096:3;23007:93;:::i;:::-;23121:2;23116:3;23112:12;23105:19;;22776:350;;;:::o;23128:403::-;23294:4;23328:2;23317:9;23313:18;23305:26;;23373:9;23367:4;23363:20;23359:1;23348:9;23344:17;23337:47;23397:131;23523:4;23397:131;:::i;:::-;23389:139;;23128:403;;;:::o;23533:211::-;23669:34;23665:1;23657:6;23653:14;23646:58;23734:6;23729:2;23721:6;23717:15;23710:31;23533:211;:::o;23746:350::-;23888:3;23905:67;23969:2;23964:3;23905:67;:::i;:::-;23898:74;;23977:93;24066:3;23977:93;:::i;:::-;24091:2;24086:3;24082:12;24075:19;;23746:350;;;:::o;24098:403::-;24264:4;24298:2;24287:9;24283:18;24275:26;;24343:9;24337:4;24333:20;24329:1;24318:9;24314:17;24307:47;24367:131;24493:4;24367:131;:::i;:::-;24359:139;;24098:403;;;:::o;24503:174::-;24639:34;24635:1;24627:6;24623:14;24616:58;24503:174;:::o;24679:350::-;24821:3;24838:67;24902:2;24897:3;24838:67;:::i;:::-;24831:74;;24910:93;24999:3;24910:93;:::i;:::-;25024:2;25019:3;25015:12;25008:19;;24679:350;;;:::o;25031:403::-;25197:4;25231:2;25220:9;25216:18;25208:26;;25276:9;25270:4;25266:20;25262:1;25251:9;25247:17;25240:47;25300:131;25426:4;25300:131;:::i;:::-;25292:139;;25031:403;;;:::o;25436:170::-;25572:30;25568:1;25560:6;25556:14;25549:54;25436:170;:::o;25608:350::-;25750:3;25767:67;25831:2;25826:3;25767:67;:::i;:::-;25760:74;;25839:93;25928:3;25839:93;:::i;:::-;25953:2;25948:3;25944:12;25937:19;;25608:350;;;:::o;25960:403::-;26126:4;26160:2;26149:9;26145:18;26137:26;;26205:9;26199:4;26195:20;26191:1;26180:9;26176:17;26169:47;26229:131;26355:4;26229:131;:::i;:::-;26221:139;;25960:403;;;:::o;26365:167::-;26501:27;26497:1;26489:6;26485:14;26478:51;26365:167;:::o;26534:350::-;26676:3;26693:67;26757:2;26752:3;26693:67;:::i;:::-;26686:74;;26765:93;26854:3;26765:93;:::i;:::-;26879:2;26874:3;26870:12;26863:19;;26534:350;;;:::o;26886:403::-;27052:4;27086:2;27075:9;27071:18;27063:26;;27131:9;27125:4;27121:20;27117:1;27106:9;27102:17;27095:47;27155:131;27281:4;27155:131;:::i;:::-;27147:139;;26886:403;;;:::o;27291:225::-;27427:34;27423:1;27415:6;27411:14;27404:58;27492:20;27487:2;27479:6;27475:15;27468:45;27291:225;:::o;27518:350::-;27660:3;27677:67;27741:2;27736:3;27677:67;:::i;:::-;27670:74;;27749:93;27838:3;27749:93;:::i;:::-;27863:2;27858:3;27854:12;27847:19;;27518:350;;;:::o;27870:403::-;28036:4;28070:2;28059:9;28055:18;28047:26;;28115:9;28109:4;28105:20;28101:1;28090:9;28086:17;28079:47;28139:131;28265:4;28139:131;:::i;:::-;28131:139;;27870:403;;;:::o;28275:164::-;28319:77;28316:1;28309:88;28412:4;28409:1;28402:15;28432:4;28429:1;28422:15;28441:575;28669:3;28687:95;28778:3;28769:6;28687:95;:::i;:::-;28680:102;;28795:95;28886:3;28877:6;28795:95;:::i;:::-;28788:102;;28903:95;28994:3;28985:6;28903:95;:::i;:::-;28896:102;;29011:3;29004:10;;28441:575;;;;;;:::o;29018:164::-;29062:77;29059:1;29052:88;29155:4;29152:1;29145:15;29175:4;29172:1;29165:15;29184:171;29224:3;29239:20;29257:1;29239:20;:::i;:::-;29234:25;;29269:20;29287:1;29269:20;:::i;:::-;29264:25;;29308:1;29305;29301:9;29294:16;;29325:3;29322:1;29319:10;29316:36;;;29332:18;;:::i;:::-;29316:36;29184:171;;;;:::o;29357:165::-;29397:1;29410:20;29428:1;29410:20;:::i;:::-;29405:25;;29440:20;29458:1;29440:20;:::i;:::-;29435:25;;29475:1;29465:35;;29480:18;;:::i;:::-;29465:35;29518:1;29515;29511:9;29506:14;;29357:165;;;;:::o;29524:362::-;29564:7;29583:20;29601:1;29583:20;:::i;:::-;29578:25;;29613:20;29631:1;29613:20;:::i;:::-;29608:25;;29664:1;29661;29657:9;29682:30;29700:11;29682:30;:::i;:::-;29671:41;;29841:1;29832:7;29828:15;29825:1;29822:22;29806:1;29799:9;29783:71;29764:119;;29863:18;;:::i;:::-;29764:119;29572:314;29524:362;;;;:::o;29888:90::-;29939:6;29969:5;29963:12;29953:22;;29888:90;;;:::o;29980:156::-;30063:11;30093:6;30088:3;30081:19;30129:4;30124:3;30120:14;30105:29;;29980:156;;;;:::o;30138:353::-;30224:3;30248:38;30280:5;30248:38;:::i;:::-;30298:70;30361:6;30356:3;30298:70;:::i;:::-;30291:77;;30373:65;30431:6;30426:3;30419:4;30412:5;30408:16;30373:65;:::i;:::-;30459:29;30481:6;30459:29;:::i;:::-;30454:3;30450:39;30443:46;;30228:263;30138:353;;;;:::o;30493:612::-;30688:4;30722:3;30711:9;30707:19;30699:27;;30732:71;30800:1;30789:9;30785:17;30776:6;30732:71;:::i;:::-;30809:72;30877:2;30866:9;30862:18;30853:6;30809:72;:::i;:::-;30887;30955:2;30944:9;30940:18;30931:6;30887:72;:::i;:::-;31002:9;30996:4;30992:20;30987:2;30976:9;30972:18;30965:48;31026:76;31097:4;31088:6;31026:76;:::i;:::-;31018:84;;30493:612;;;;;;;:::o;31107:129::-;31163:5;31190:6;31184:13;31175:22;;31202:32;31228:5;31202:32;:::i;:::-;31107:129;;;;:::o;31238:325::-;31307:6;31352:2;31340:9;31331:7;31327:23;31323:32;31320:119;;;31358:79;;:::i;:::-;31320:119;31470:1;31491:63;31546:7;31537:6;31526:9;31522:22;31491:63;:::i;:::-;31481:73;;31445:115;31238:325;;;;:::o",
"source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\nimport \"@openzeppelin/contracts/utils/Base64.sol\";\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\n// import \"./OnChainSVG.sol\";\n\ncontract SoulboundToken is ERC721 {\n using Counters for Counters.Counter;\n Counters.Counter private _tokenIds;\n\n constructor() ERC721(\"Credit System SBT\", \"CS_SBT\") {}\n\n function mint(address player) public returns (uint256) {\n _tokenIds.increment();\n uint256 newItemId = _tokenIds.current();\n _mint(player, newItemId);\n\n return newItemId;\n }\n\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory json = Base64.encode(\n bytes(\n string(\n abi.encodePacked(\n '{\"name\": \"Credit System Soulbound Token (CSSBT) #',\n Strings.toString(tokenId),\n '\",',\n '\"image_data\": \"',\n getSvgImage(tokenId),\n '\"',\n \"}\"\n )\n ) \n )\n );\n return string(abi.encodePacked(\"data:application/json;base64,\", json));\n }\n\n function getSvgImage(uint uid) private pure returns (string memory){\n string memory uid_str = Strings.toString(uid);\n string memory a = \"<svg id='eY2GjP7k5St1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 511.999 511.999' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' width='511.999' height='511.999'><path d='M460.803,446.739h-409.606C22.967,446.739,0,423.772,0,395.542v-279.085C0,88.227,22.967,65.26,51.197,65.26h409.605c28.23,0,51.197,22.967,51.197,51.197v279.084c.001,28.231-22.966,51.198-51.196,51.198Z' fill='#39a3db'/><path d='M460.803,65.26h-204.804v381.479h204.802c28.23,0,51.197-22.967,51.197-51.197v-279.085C512,88.227,489.033,65.26,460.803,65.26Z' fill='#3797d3'/><path d='M237.413,381.144h-156.122c-10.264,0-18.586-8.322-18.586-18.586v-213.119c0-10.264,8.322-18.586,18.586-18.586h156.122c10.264,0,18.586,8.322,18.586,18.586v213.119c0,10.266-8.32,18.586-18.586,18.586Z' fill='#80d0e1'/><g><circle r='27.204' transform='translate(159.356 237.355)' fill='#e8f2fb'/><path d='M160.414,285.559c-40.261,0-73.306,30.9-76.71,70.279-.312,3.614,2.556,6.721,6.184,6.721h141.053c3.628,0,6.496-3.106,6.184-6.721-3.405-39.378-36.449-70.279-76.711-70.279Z' fill='#e8f2fb'/></g><path d='M439.004,234.586h-147.18c-10.264,0-18.586-8.322-18.586-18.586v-66.561c0-10.264,8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586v66.561c0,10.265-8.321,18.586-18.586,18.586Z' transform='matrix(1.06575 0 0 1.15416-23.142833-14.750278)' fill='#51b3da'/><path d='M439.004,284.497h-147.18c-10.264,0-18.586-8.322-18.586-18.586s8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586c0,10.266-8.321,18.586-18.586,18.586Z' transform='matrix(1.075331 0 0 1.526395-25.760726-81.826221)' fill='#51b3da'/><text dx='0' dy='0' font-family='&quot;eY2GjP7k5St1:::Source Sans Pro&quot;' font-size='25.59995' font-weight='700' transform='translate(270.606978 180.04155)' fill='#fff' stroke-width='0'><tspan y='0' font-weight='700' stroke-width='0'><![CDATA[Credit System]]></tspan><tspan x='0' y='25.59995' font-weight='700' stroke-width='0'><![CDATA[ Soulbound Token]]></tspan><tspan x='0' y='51.1999' font-weight='700' stroke-width='0'><![CDATA[ (CSSBT)]]></tspan></text><text dx='0' dy='0' font-family='&quot;eY2GjP7k5St1:::Source Sans Pro&quot;' font-size='25.59995' font-weight='700' transform='translate(295.693679 332.445094)' fill='#fff' stroke-width='0'><tspan y='0' font-weight='700' stroke-width='0'><![CDATA[#\";\n string memory b = \"]]></tspan></text><style><![CDATA[@font-face {font-family: 'eY2GjP7k5St1:::Source Sans Pro';font-style: normal;font-weight: 700;src: url(data:font/ttf;charset=utf-8;base64,AAEAAAANAIAAAwBQR0RFRgASABQAAADcAAAAFkdQT1NSDkG3AAAHaAAAAxxHU1VCZnU2hwAAAyQAAAHIT1MvMlxBdq4AAAHMAAAAYGNtYXACEAM5AAACoAAAAIRnbHlmnhEfvQAACoQAAAdQaGVhZBt/HtQAAAFYAAAANmhoZWEKfwXcAAABNAAAACRobXR4MR0FAgAAAiwAAAB0bG9jYR2gH9YAAAGQAAAAPG1heHAANQD3AAAA9AAAACBuYW1lUuZu3gAABOwAAAJ8cG9zdP/RADIAAAEUAAAAIAABAAAADAAAAAAAAAACAAEAAgATAAEAAAABAAAAHQCQAAwAYwAHAAEAAAAAAAAAAAAAAAAABAADAAMAAAAAAAD/zgAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAA9j+7wAACJj+N/43CG0AAQAAAAAAAAAAAAAAAAAAAB0AAQAAAAILhdZt845fDzz1AAED6AAAAADYXaCEAAAAAN1mLzb+N/7ECG0D8QABAAMAAgAAAAAAAAAAACwALABgAIwAzADdAQ4BQAFzAX8BlwGzAeUCBwIzAlMCjgKzAtUDBAMQAyoDRANMA2YDgAOJA5IDqAADAioCvAAFAAACigJYAAAASwKKAlgAAAFeADIBKQAAAgsHAwMEAwICBAAAACcAAAADAAAAAAAAAABBREJPACAAIP7/Au7/BgAAA9gBESAAAZ8AAAAAAfAClAAAACAAAwKyAFAAyAAAAl0ATQJGAC4CLAAjAiwAGQI9AEECPQAnAgYAJAEUADcCJABBAR4AQQNZAEECPABBAisAJAGOAEEBuwAVAX8AEQI4ADwCCQAMARQAQQFYAEgBWAAwARQANwEMAD8BDAAjAQwAPwEMACMAAP+tAAAAAgAAAAMAAAAUAAMAAQAAABQABABwAAAAGAAQAAMACAAgACkAQwBUAGIAZQBpAG8AdQB5AKD//wAAACAAKABCAFMAYgBkAGkAawByAHkAoP///+H/7f/A/7H/pP+j/6D/n/+d/5r/YQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAKAKABTAAEREZMVACGY3lybAB2Z3JlawBmbGF0bgAaAEAAA0FaRSAAMkNSVCAAJFRSSyAAFgAA//8ABAAGAA0AEAAXAAD//wAEAAUADAAPABYAAP//AAQABAALAA4AFQAA//8AAwADAAoAFAAEAAAAAP//AAMAAgAJABMABAAAAAD//wADAAEACAASAAQAAAAA//8AAwAAAAcAEQAYZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCebG9jbACYbG9jbACYbG9jbACYbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSAAAAAQABAAAAAQAAAAAAAgABAAMAAAABAAIABQBoAFIARAAaAAwAAQAAAAEACAABACD//gAGAAAAAQAIAAMAAQAaAAEAEgAAAAEAAAAEAAEAAgAaABsAAQACABgAGQABAAAAAQAIAAEAFAADAAEAAAABAAgAAQAGAAUAAQACABUAFgABAAAAAQAIAAEABgAOAAEAAQAJAAAACABmAAMAAQQJAAAAxgFQAAMAAQQJAAEAHgEyAAMAAQQJAAIACAEqAAMAAQQJAAMARgDkAAMAAQQJAAQAKAC8AAMAAQQJAAUAZABYAAMAAQQJAAYAJAA0AAMAAQQJAA4ANAAAAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABTAG8AdQByAGMAZQBTAGEAbgBzAFAAcgBvAC0AQgBvAGwAZABWAGUAcgBzAGkAbwBuACAAMgAuADAANAA1ADsAaABvAHQAYwBvAG4AdgAgADEALgAwAC4AMQAwADkAOwBtAGEAawBlAG8AdABmAGUAeABlACAAMgAuADUALgA2ADUANQA5ADYAUwBvAHUAcgBjAGUAIABTAGEAbgBzACAAUAByAG8AIABCAG8AbABkADIALgAwADQANQA7AEEARABCAE8AOwBTAG8AdQByAGMAZQBTAGEAbgBzAFAAcgBvAC0AQgBvAGwAZAA7AEEARABPAEIARQBCAG8AbABkAFMAbwB1AHIAYwBlACAAUwBhAG4AcwAgAFAAcgBvAKkAIAAyADAAMQAwACAALQAgADIAMAAxADgAIABBAGQAbwBiAGUAIABTAHkAcwB0AGUAbQBzACAASQBuAGMAbwByAHAAbwByAGEAdABlAGQAIAAoAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAGQAbwBiAGUALgBjAG8AbQAvACkALAAgAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgIBgAUwBvAHUAcgBjAGUgGQAuAAEAAAAKAFQAdAAEREZMVAA+Y3lybAAyZ3JlawAmbGF0bgAaAAQAAAAA//8AAQADAAQAAAAA//8AAQACAAQAAAAA//8AAQABAAQAAAAA//8AAQAAAARrZXJuABprZXJuABprZXJuABprZXJuABoAAAABAAAAAQAEAAkAAAACAbIACgABAAIAAAAIAAIBMAAEAAABdgFGAAwADAAA/+T/3f/L/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/kAAAAAAAAAAAAAAAAAAAAAAAAAAD/5v/FAAAAAAAA//gAAP/7AAAAAAAA//YAAAAAAAAAAAAAAAcAAP/4AAAAAAAAAAD/7P/kAAAAAAAAAAAAAAAAAAAAAAAAAAD/5P/sAAAAAP/uAAAAAAAAAAAAAAAA/+7/7P/uAAAAAAAAAAAAAP/2AAAAAAAA/7T/9AAA/9b/5P/n/+gAAP/E/9YAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAA//gAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAMABAAGAAAACgATAAMAFQAVAA0AAQADABUABQAGAAMAAAABAAEACwAAAAAACgAKAAEACgAJAAIABAAHAAAAAAAIAAsAAQAEABIABgAIAAMAAAAAAAAAAAABAAIAAgADAAQABQAHAAkACgAAAAsAAQACAAAACAACAIgABAAAAMgAmAAFAAwAAAAA//b/5AAAAAD/7v/uAAAAAAAAAAAAAAAA/9z/9P/bAAD/7v/kAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/5AAAAAD/+v/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAGAAIAAwAHAAgACQAXAAEAAwAVAAQABwADAAAACAAIAAoAAAAAAAsACwAIAAsABQACAAkABgAAAAAAAQAKAAIABQADAAMAAQAHAAcAAgAIAAgAAwAJAAkABAAXABcABAAFAFAAAAJiApQAAwAJAA8AEgAVAAAzESERJTMnJyMHNzM3NyMXAzcnAREHUAIS/qWkJykEKSkEKiCYH3pfXwFNXgKU/WxbTWJi9l87O/6eubr+jQFzugAAAwBNAAACPAKMABEAGgAiAAAzETMyFhYVFAYHFRYWFRQGBiMDMzI2NTQmIyMRMzI1NCYjI03fRGxALSgyQ0RyR19FNjEyNEZTeTw9UwKMHUY/K1MPBA1LQUNUKQGHKiMmIP5YWCslAAABAC7/9AIwApgAGwAABSImJjU0NjYzMhYXByYmIyIGBhUUFjMyNjcXBgFdUopTVY1SP2QhThk3IyxJK1ZIKD8YTlIMTJVtbJlRMyJeFx0yXkJkcCQZXGAAAQAj//QCCgKYACoAAAUiJic3FhYzMjY1NCYnJy4CNTQ2NjMyFhcHJiYjIgYVFBYXFxYWFRQGBgEUQH8yVCNWKC4tMytVITwmO2lEOHAqSyBAJyYtOSpUO0Y6bgwwLmUeJiIdHx0SJA4vRi82WDQsKl0ZGx8cHh4RIhhURTZcOAABABkAAAITAowABwAAMxEjNSEVIxHMswH6swIQfHz98AAAAgBB//QCFgK9ABQAHwAABSImJyMHIxEzFQc2NjMyFhYVFAYGJzI2NTQjIgcVFhYBRSFDHQQMc5MEHUQiPFgvPF9YJjZWLCkUKAwhIDUCvaxMGh0+cUxVeT94RkyGLcsSDgACACf/9AH8Ar0AEwAgAAAXIiY1NDY2MzIWFyc1MxEjJyMGBjcyNjc1JiYjIgYVFBbyXG87XzQpOBkGk3gKBBpGAhgnEhMrFCM2LwyLeVF1PhwYTKn9QzEaI3gUGcsSDkNHSUUAAgAk//QB4QH8ABgAHwAABSImJjU0NjYzMhYWFRQGByEWFjMyNxcGBgMzNCYjIgYBH0dyQkNsO0ddLwQC/tcKRjE1NjEmXpqzJywiNgw+dFJRdD8/a0QTJQk2MyFZGh4BOik1LwD//wA3AAAA3QLTAiYAFAAAAAcAHACKAAAAAQBBAAACHgK9AAwAADMRMxEzNzMHEyMnBxVBjwSdoK67n3A/Ar3+bsXM/tzBR3oAAQBB//QBEgK9AA8AABciJjURMxEUFjMyNjcXBgbITDuTEQkFBwYSDCUMW0sCI/3XFxIBAW0FBwABAEEAAAMdAfwAIQAAMxEzFzM2NjMyFhc2NjMyFhURIxE0JiMiBxEjETQmIyIHEUF4CgQfRjE1QRMhSjFQS5MdICUwkx0gJS8B8EAfLSsoIjFrXf7MASE2KDD+sQEhNigw/rEAAQBBAAACAAH8ABQAADMRMxczNjYzMhYVESMRNCYjIgYHEUF4CgQgTTJRSZMdIBwoGAHwPx4ta13+zAEhNigZF/6xAAACACT/9AIHAfwADwAbAAAFIiYmNTQ2NjMyFhYVFAYGJzI2NTQmIyIGFRQWARY/b0REbz8/bkREbj8tLi4tLi0tDD11UlN0PT10U1J1PXdNQEFMTEFATQAAAQBBAAABjwH8ABIAADMRMxczNjYzMhYXByYmIyIGBxFBeAoEG0wmFRwKGA0ZEBw9FAHwVzIxBQV/BAQpMv7gAAEAFf/0AZ8B/AAnAAAXIiYnNxYWMzI2NTQmJicuAjU0NjMyFhcHJiYjIhUUFhceAhUUBtMxZyZCIj8fIR4dLhoeOyhpVTlXH0IaNBo5OSYgPSloDCYfXBkbFxMRFhMKDCQ5KUVWJxhYFBYnGBkOCyM5LkNdAAABABH/9AFuAnQAFwAABSImNTUjNTc3MxUzFSMVFBYzMjY3FwYGAQBcT0RMEXp3dyMdDBkKFxM3DGpWyW0GhIRzxyolBgRrBgwAAAEAPP/0AfgB8AAUAAAXIiY1ETMRFBYzMjY3ETMRIycjBgbWUUmTHiAcJhaTeAsDH0oMa10BNP7fNSkaHQFI/hBFJSwAAQAM/z4B/QHwABsAABciJic3FhYzMjY3NwMzFxYWFzM2Njc3MwMOAngWIQ8aBxIIJSgKB7+URwsSCgQIEQk8jawXOE/CBgRwAQUkHRoB49UiRiUjRyPV/gs+VSoAAAEAQQAAANQB8AADAAAzETMRQZMB8P4QAAEASP9NASgC3wANAAAXJiY1NDY3FwYGFRQWF8w/RUU/XDcyMjezZ96EhN5nJmHXa2rXYgABADD/TQEQAt8ADQAAFyc2NjU0Jic3FhYVFAaMXDgyMjhcP0VFsyZi12pr12EmZ96EhN7//wA3AAAA3QLTAgYACQAAAAEAP/+mAOkB4QANAAAXJiY1NDY3FwYGFRQWF5orMDArTyIiIiJaQoJaWYJCID19Q0N9PgABACP/pgDNAeEADQAAFyc2NjU0Jic3FhYVFAZzUCIiIiJQKy8vWiA+fUNDfT0gQoJZWoL//wA/AKwA6QLnAgcAGAAAAQb//wAjAKwAzQLnAgcAGQAAAQYAAf+tAjkAUwLTAAsAABEiJjU0NjMyFhUUBiUuLiUlLi4COSojIyoqIyMqAA==) format('truetype');}]]></style></svg>\";\n return string(abi.encodePacked(a, uid_str, b));\n }\n\n}",
"sourcePath": "/home/snsd0805/code/1112_blockchain/Final/contracts/SoulboundToken.sol",
"ast": {
"absolutePath": "project:/contracts/SoulboundToken.sol",
"exportedSymbols": {
"Address": [
1417
],
"Base64": [
1464
],
"Context": [
1486
],
"Counters": [
1560
],
"ERC165": [
1813
],
"ERC721": [
926
],
"IERC165": [
1825
],
"IERC721": [
1042
],
"IERC721Metadata": [
1087
],
"IERC721Receiver": [
1060
],
"Math": [
2691
],
"SignedMath": [
2796
],
"SoulboundToken": [
2928
],
"Strings": [
1789
]
},
"id": 2929,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2798,
"literals": [
"solidity",
">=",
"0.4",
".22",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "32:32:13"
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
"file": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
"id": 2799,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2929,
"sourceUnit": 927,
"src": "65:57:13",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/utils/Counters.sol",
"file": "@openzeppelin/contracts/utils/Counters.sol",
"id": 2800,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2929,
"sourceUnit": 1561,
"src": "123:52:13",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/utils/Base64.sol",
"file": "@openzeppelin/contracts/utils/Base64.sol",
"id": 2801,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2929,
"sourceUnit": 1465,
"src": "176:50:13",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/utils/Strings.sol",
"file": "@openzeppelin/contracts/utils/Strings.sol",
"id": 2802,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2929,
"sourceUnit": 1790,
"src": "227:51:13",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 2803,
"name": "ERC721",
"nameLocations": [
"337:6:13"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 926,
"src": "337:6:13"
},
"id": 2804,
"nodeType": "InheritanceSpecifier",
"src": "337:6:13"
}
],
"canonicalName": "SoulboundToken",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 2928,
"linearizedBaseContracts": [
2928,
926,
1087,
1042,
1813,
1825,
1486
],
"name": "SoulboundToken",
"nameLocation": "319:14:13",
"nodeType": "ContractDefinition",
"nodes": [
{
"global": false,
"id": 2808,
"libraryName": {
"id": 2805,
"name": "Counters",
"nameLocations": [
"356:8:13"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1560,
"src": "356:8:13"
},
"nodeType": "UsingForDirective",
"src": "350:36:13",
"typeName": {
"id": 2807,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2806,
"name": "Counters.Counter",
"nameLocations": [
"369:8:13",
"378:7:13"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1492,
"src": "369:16:13"
},
"referencedDeclaration": 1492,
"src": "369:16:13",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$1492_storage_ptr",
"typeString": "struct Counters.Counter"
}
}
},
{
"constant": false,
"id": 2811,
"mutability": "mutable",
"name": "_tokenIds",
"nameLocation": "416:9:13",
"nodeType": "VariableDeclaration",
"scope": 2928,
"src": "391:34:13",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$1492_storage",
"typeString": "struct Counters.Counter"
},
"typeName": {
"id": 2810,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2809,
"name": "Counters.Counter",
"nameLocations": [
"391:8:13",
"400:7:13"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1492,
"src": "391:16:13"
},
"referencedDeclaration": 1492,
"src": "391:16:13",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$1492_storage_ptr",
"typeString": "struct Counters.Counter"
}
},
"visibility": "private"
},
{
"body": {
"id": 2818,
"nodeType": "Block",
"src": "484:2:13",
"statements": []
},
"id": 2819,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"hexValue": "4372656469742053797374656d20534254",
"id": 2814,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "453:19:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5f50d5ebcdb02239932fe78d6eb756b3a7a7b1df29755284499996042263064",
"typeString": "literal_string \"Credit System SBT\""
},
"value": "Credit System SBT"
},
{
"hexValue": "43535f534254",
"id": 2815,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "474:8:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_0d77b616c7b9ec581428d262a361e7f2b7f5c4d38e5b874cb317b74cc89a4294",
"typeString": "literal_string \"CS_SBT\""
},
"value": "CS_SBT"
}
],
"id": 2816,
"kind": "baseConstructorSpecifier",
"modifierName": {
"id": 2813,
"name": "ERC721",
"nameLocations": [
"446:6:13"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 926,
"src": "446:6:13"
},
"nodeType": "ModifierInvocation",
"src": "446:37:13"
}
],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2812,
"nodeType": "ParameterList",
"parameters": [],
"src": "443:2:13"
},
"returnParameters": {
"id": 2817,
"nodeType": "ParameterList",
"parameters": [],
"src": "484:0:13"
},
"scope": 2928,
"src": "432:54:13",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2844,
"nodeType": "Block",
"src": "547:148:13",
"statements": [
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"id": 2826,
"name": "_tokenIds",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2811,
"src": "557:9:13",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$1492_storage",
"typeString": "struct Counters.Counter storage ref"
}
},
"id": 2828,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "567:9:13",
"memberName": "increment",
"nodeType": "MemberAccess",
"referencedDeclaration": 1518,
"src": "557:19:13",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1492_storage_ptr_$returns$__$attached_to$_t_struct$_Counter_$1492_storage_ptr_$",
"typeString": "function (struct Counters.Counter storage pointer)"
}
},
"id": 2829,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "557:21:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2830,
"nodeType": "ExpressionStatement",
"src": "557:21:13"
},
{
"assignments": [
2832
],
"declarations": [
{
"constant": false,
"id": 2832,
"mutability": "mutable",
"name": "newItemId",
"nameLocation": "596:9:13",
"nodeType": "VariableDeclaration",
"scope": 2844,
"src": "588:17:13",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2831,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "588:7:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 2836,
"initialValue": {
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"id": 2833,
"name": "_tokenIds",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2811,
"src": "608:9:13",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$1492_storage",
"typeString": "struct Counters.Counter storage ref"
}
},
"id": 2834,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "618:7:13",
"memberName": "current",
"nodeType": "MemberAccess",
"referencedDeclaration": 1504,
"src": "608:17:13",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1492_storage_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Counter_$1492_storage_ptr_$",
"typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)"
}
},
"id": 2835,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "608:19:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "588:39:13"
},
{
"expression": {
"arguments": [
{
"id": 2838,
"name": "player",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2821,
"src": "643:6:13",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2839,
"name": "newItemId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2832,
"src": "651:9:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2837,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 600,
"src": "637:5:13",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 2840,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "637:24:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2841,
"nodeType": "ExpressionStatement",
"src": "637:24:13"
},
{
"expression": {
"id": 2842,
"name": "newItemId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2832,
"src": "679:9:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 2825,
"id": 2843,
"nodeType": "Return",
"src": "672:16:13"
}
]
},
"functionSelector": "6a627842",
"id": 2845,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "mint",
"nameLocation": "501:4:13",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2822,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2821,
"mutability": "mutable",
"name": "player",
"nameLocation": "514:6:13",
"nodeType": "VariableDeclaration",
"scope": 2845,
"src": "506:14:13",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2820,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "506:7:13",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "505:16:13"
},
"returnParameters": {
"id": 2825,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2824,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2845,
"src": "538:7:13",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2823,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "538:7:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "537:9:13"
},
"scope": 2928,
"src": "492:203:13",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
204
],
"body": {
"id": 2893,
"nodeType": "Block",
"src": "789:618:13",
"statements": [
{
"expression": {
"arguments": [
{
"id": 2854,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2847,
"src": "814:7:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2853,
"name": "_requireMinted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 822,
"src": "799:14:13",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$",
"typeString": "function (uint256) view"
}
},
"id": 2855,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "799:23:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2856,
"nodeType": "ExpressionStatement",
"src": "799:23:13"
},
{
"assignments": [
2858
],
"declarations": [
{
"constant": false,
"id": 2858,
"mutability": "mutable",
"name": "json",
"nameLocation": "847:4:13",
"nodeType": "VariableDeclaration",
"scope": 2893,
"src": "833:18:13",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2857,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "833:6:13",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 2883,
"initialValue": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "7b226e616d65223a20224372656469742053797374656d20536f756c626f756e6420546f6b656e20284353534254292023",
"id": 2867,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "974:51:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317",
"typeString": "literal_string \"{\"name\": \"Credit System Soulbound Token (CSSBT) #\""
},
"value": "{\"name\": \"Credit System Soulbound Token (CSSBT) #"
},
{
"arguments": [
{
"id": 2870,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2847,
"src": "1068:7:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 2868,
"name": "Strings",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1789,
"src": "1051:7:13",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Strings_$1789_$",
"typeString": "type(library Strings)"
}
},
"id": 2869,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "1059:8:13",
"memberName": "toString",
"nodeType": "MemberAccess",
"referencedDeclaration": 1619,
"src": "1051:16:13",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
"typeString": "function (uint256) pure returns (string memory)"
}
},
"id": 2871,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1051:25:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"hexValue": "222c",
"id": 2872,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1102:4:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb",
"typeString": "literal_string \"\",\""
},
"value": "\","
},
{
"hexValue": "22696d6167655f64617461223a2022",
"id": 2873,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1132:17:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8",
"typeString": "literal_string \"\"image_data\": \"\""
},
"value": "\"image_data\": \""
},
{
"arguments": [
{
"id": 2875,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2847,
"src": "1187:7:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2874,
"name": "getSvgImage",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2927,
"src": "1175:11:13",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
"typeString": "function (uint256) pure returns (string memory)"
}
},
"id": 2876,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1175:20:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"hexValue": "22",
"id": 2877,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1221:3:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0",
"typeString": "literal_string \"\"\""
},
"value": "\""
},
{
"hexValue": "7d",
"id": 2878,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1250:3:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff",
"typeString": "literal_string \"}\""
},
"value": "}"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317",
"typeString": "literal_string \"{\"name\": \"Credit System Soulbound Token (CSSBT) #\""
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb",
"typeString": "literal_string \"\",\""
},
{
"typeIdentifier": "t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8",
"typeString": "literal_string \"\"image_data\": \"\""
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0",
"typeString": "literal_string \"\"\""
},
{
"typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff",
"typeString": "literal_string \"}\""
}
],
"expression": {
"id": 2865,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967295,
"src": "932:3:13",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 2866,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "936:12:13",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "932:16:13",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 2879,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "932:343:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 2864,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "904:6:13",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 2863,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "904:6:13",
"typeDescriptions": {}
}
},
"id": 2880,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "904:389:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 2862,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "881:5:13",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 2861,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "881:5:13",
"typeDescriptions": {}
}
},
"id": 2881,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "881:429:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"expression": {
"id": 2859,
"name": "Base64",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1464,
"src": "854:6:13",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Base64_$1464_$",
"typeString": "type(library Base64)"
}
},
"id": 2860,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "861:6:13",
"memberName": "encode",
"nodeType": "MemberAccess",
"referencedDeclaration": 1463,
"src": "854:13:13",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (bytes memory) pure returns (string memory)"
}
},
"id": 2882,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "854:466:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "833:487:13"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c",
"id": 2888,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1361:31:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa",
"typeString": "literal_string \"data:application/json;base64,\""
},
"value": "data:application/json;base64,"
},
{
"id": 2889,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2858,
"src": "1394:4:13",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa",
"typeString": "literal_string \"data:application/json;base64,\""
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 2886,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967295,
"src": "1344:3:13",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 2887,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1348:12:13",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "1344:16:13",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 2890,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1344:55:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 2885,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1337:6:13",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 2884,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1337:6:13",
"typeDescriptions": {}
}
},
"id": 2891,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1337:63:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 2852,
"id": 2892,
"nodeType": "Return",
"src": "1330:70:13"
}
]
},
"functionSelector": "c87b56dd",
"id": 2894,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "tokenURI",
"nameLocation": "710:8:13",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 2849,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "756:8:13"
},
"parameters": {
"id": 2848,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2847,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "727:7:13",
"nodeType": "VariableDeclaration",
"scope": 2894,
"src": "719:15:13",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2846,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "719:7:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "718:17:13"
},
"returnParameters": {
"id": 2852,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2851,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2894,
"src": "774:13:13",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2850,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "774:6:13",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "773:15:13"
},
"scope": 2928,
"src": "701:706:13",
"stateMutability": "view",
"virtual": true,
"visibility": "public"
},
{
"body": {
"id": 2926,
"nodeType": "Block",
"src": "1480:8842:13",
"statements": [
{
"assignments": [
2902
],
"declarations": [
{
"constant": false,
"id": 2902,
"mutability": "mutable",
"name": "uid_str",
"nameLocation": "1504:7:13",
"nodeType": "VariableDeclaration",
"scope": 2926,
"src": "1490:21:13",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2901,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1490:6:13",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 2907,
"initialValue": {
"arguments": [
{
"id": 2905,
"name": "uid",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2896,
"src": "1531:3:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 2903,
"name": "Strings",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1789,
"src": "1514:7:13",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Strings_$1789_$",
"typeString": "type(library Strings)"
}
},
"id": 2904,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "1522:8:13",
"memberName": "toString",
"nodeType": "MemberAccess",
"referencedDeclaration": 1619,
"src": "1514:16:13",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
"typeString": "function (uint256) pure returns (string memory)"
}
},
"id": 2906,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1514:21:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1490:45:13"
},
{
"assignments": [
2909
],
"declarations": [
{
"constant": false,
"id": 2909,
"mutability": "mutable",
"name": "a",
"nameLocation": "1559:1:13",
"nodeType": "VariableDeclaration",
"scope": 2926,
"src": "1545:15:13",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2908,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1545:6:13",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 2911,
"initialValue": {
"hexValue": "3c7376672069643d27655932476a50376b355374312720786d6c6e733d27687474703a2f2f7777772e77332e6f72672f323030302f7376672720786d6c6e733a786c696e6b3d27687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b272076696577426f783d27302030203531312e393939203531312e393939272073686170652d72656e646572696e673d2767656f6d6574726963507265636973696f6e2720746578742d72656e646572696e673d2767656f6d6574726963507265636973696f6e272077696474683d273531312e39393927206865696768743d273531312e393939273e3c7061746820643d274d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a272066696c6c3d2723333961336462272f3e3c7061746820643d274d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a272066696c6c3d2723333739376433272f3e3c7061746820643d274d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a272066696c6c3d2723383064306531272f3e3c673e3c636972636c6520723d2732372e32303427207472616e73666f726d3d277472616e736c617465283135392e333536203233372e33353529272066696c6c3d2723653866326662272f3e3c7061746820643d274d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a272066696c6c3d2723653866326662272f3e3c2f673e3c7061746820643d274d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829272066696c6c3d2723353162336461272f3e3c7061746820643d274d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129272066696c6c3d2723353162336461272f3e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283237302e363036393738203138302e303431353529272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2732352e35393939352720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2735312e313939392720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283239352e363933363739203333322e34343530393429272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b23",
"id": 2910,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1563:2366:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_dbcc12a40ae8300b68536c213bc5a43164d523186f9da63fce0f8091a561880f",
"typeString": "literal_string \"<svg id='eY2GjP7k5St1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 511.999 511.999' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' width='511.999' height='511.999'><path d='M460.803,446.739h-409.606C22.967,446.739,0,423.772,0,395.542v-279.085C0,88.227,22.967,65.26,51.197,65.26h409.605c28.23,0,51.197,22.967,51.197,51.197v279.084c.001,28.231-22.966,51.198-51.196,51.198Z' fill='#39a3db'/><path d='M460.803,65.26h-204.804v381.479h204.802c28.23,0,51.197-22.967,51.197-51.197v-279.085C512,88.227,489.033,65.26,460.803,65.26Z' fill='#3797d3'/><path d='M237.413,381.144h-156.122c-10.264,0-18.586-8.322-18.586-18.586v-213.119c0-10.264,8.322-18.586,18.586-18.586h156.122c10.264,0,18.586,8.322,18.586,18.586v213.119c0,10.266-8.32,18.586-18.586,18.586Z' fill='#80d0e1'/><g><circle r='27.204' transform='translate(159.356 237.355)' fill='#e8f2fb'/><path d='M160.414,285.559c-40.261,0-73.306,30.9-76.71,70.279-.312,3.614,2.556,6.721,6.184,6.721h141.053c3.628,0,6.496-3.106,6.184-6.721-3.405-39.378-36.449-70.279-76.711-70.279Z' fill='#e8f2fb'/></g><path d='M439.004,234.586h-147.18c-10.264,0-18.586-8.322-18.586-18.586v-66.561c0-10.264,8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586v66.561c0,10.265-8.321,18.586-18.586,18.586Z' transform='matrix(1.06575 0 0 1.15416-23.142833-14.750278)' fill='#51b3da'/><path d='M439.004,284.497h-147.18c-10.264,0-18.586-8.322-18.586-18.586s8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586c0,10.266-8.321,18.586-18.586,18.586Z' transform='matrix(1.075331 0 0 1.526395-25.760726-81.826221)' fill='#51b3da'/><text dx='0' dy='0' font-family='&quot;eY2GjP7k5St1:::Source Sans Pro&quot;' font-size='25.59995' font-weight='700' transform='translate(270.606978 180.04155)' fill='#fff' stroke-width='0'><tspan y='0' font-weight='700' stroke-width='0'><![CDATA[Credit System]]></tspan><tspan x='0' y='25.59995' font-weight='700' stroke-width='0'><![CDATA[ Soulbound Token]]></tspan><tspan x='0' y='51.1999' font-weight='700' stroke-width='0'><![CDATA[ (CSSBT)]]></tspan></text><text dx='0' dy='0' font-family='&quot;eY2GjP7k5St1:::Source Sans Pro&quot;' font-size='25.59995' font-weight='700' transform='translate(295.693679 332.445094)' fill='#fff' stroke-width='0'><tspan y='0' font-weight='700' stroke-width='0'><![CDATA[#\""
},
"value": "<svg id='eY2GjP7k5St1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 511.999 511.999' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' width='511.999' height='511.999'><path d='M460.803,446.739h-409.606C22.967,446.739,0,423.772,0,395.542v-279.085C0,88.227,22.967,65.26,51.197,65.26h409.605c28.23,0,51.197,22.967,51.197,51.197v279.084c.001,28.231-22.966,51.198-51.196,51.198Z' fill='#39a3db'/><path d='M460.803,65.26h-204.804v381.479h204.802c28.23,0,51.197-22.967,51.197-51.197v-279.085C512,88.227,489.033,65.26,460.803,65.26Z' fill='#3797d3'/><path d='M237.413,381.144h-156.122c-10.264,0-18.586-8.322-18.586-18.586v-213.119c0-10.264,8.322-18.586,18.586-18.586h156.122c10.264,0,18.586,8.322,18.586,18.586v213.119c0,10.266-8.32,18.586-18.586,18.586Z' fill='#80d0e1'/><g><circle r='27.204' transform='translate(159.356 237.355)' fill='#e8f2fb'/><path d='M160.414,285.559c-40.261,0-73.306,30.9-76.71,70.279-.312,3.614,2.556,6.721,6.184,6.721h141.053c3.628,0,6.496-3.106,6.184-6.721-3.405-39.378-36.449-70.279-76.711-70.279Z' fill='#e8f2fb'/></g><path d='M439.004,234.586h-147.18c-10.264,0-18.586-8.322-18.586-18.586v-66.561c0-10.264,8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586v66.561c0,10.265-8.321,18.586-18.586,18.586Z' transform='matrix(1.06575 0 0 1.15416-23.142833-14.750278)' fill='#51b3da'/><path d='M439.004,284.497h-147.18c-10.264,0-18.586-8.322-18.586-18.586s8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586c0,10.266-8.321,18.586-18.586,18.586Z' transform='matrix(1.075331 0 0 1.526395-25.760726-81.826221)' fill='#51b3da'/><text dx='0' dy='0' font-family='&quot;eY2GjP7k5St1:::Source Sans Pro&quot;' font-size='25.59995' font-weight='700' transform='translate(270.606978 180.04155)' fill='#fff' stroke-width='0'><tspan y='0' font-weight='700' stroke-width='0'><![CDATA[Credit System]]></tspan><tspan x='0' y='25.59995' font-weight='700' stroke-width='0'><![CDATA[ Soulbound Token]]></tspan><tspan x='0' y='51.1999' font-weight='700' stroke-width='0'><![CDATA[ (CSSBT)]]></tspan></text><text dx='0' dy='0' font-family='&quot;eY2GjP7k5St1:::Source Sans Pro&quot;' font-size='25.59995' font-weight='700' transform='translate(295.693679 332.445094)' fill='#fff' stroke-width='0'><tspan y='0' font-weight='700' stroke-width='0'><![CDATA[#"
},
"nodeType": "VariableDeclarationStatement",
"src": "1545:2384:13"
},
{
"assignments": [
2913
],
"declarations": [
{
"constant": false,
"id": 2913,
"mutability": "mutable",
"name": "b",
"nameLocation": "3953:1:13",
"nodeType": "VariableDeclaration",
"scope": 2926,
"src": "3939:15:13",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2912,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3939:6:13",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 2915,
"initialValue": {
"hexValue": "5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e",
"id": 2914,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3958:6301:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3b8052da42b9847f866978e427af2eeb6ff3d7c7469020abf02b901a8c834480",
"typeString": "literal_string \"]]></tspan></text><style><![CDATA[@font-face {font-family: 'eY2GjP7k5St1:::Source Sans Pro';font-style: normal;font-weight: 700;src: url(data:font/ttf;charset=utf-8;base64,AAEAAAANAIAAAwBQR0RFRgASABQAAADcAAAAFkdQT1NSDkG3AAAHaAAAAxxHU1VCZnU2hwAAAyQAAAHIT1MvMlxBdq4AAAHMAAAAYGNtYXACEAM5AAACoAAAAIRnbHlmnhEfvQAACoQAAAdQaGVhZBt/HtQAAAFYAAAANmhoZWEKfwXcAAABNAAAACRobXR4MR0FAgAAAiwAAAB0bG9jYR2gH9YAAAGQAAAAPG1heHAANQD3AAAA9AAAACBuYW1lUuZu3gAABOwAAAJ8cG9zdP/RADIAAAEUAAAAIAABAAAADAAAAAAAAAACAAEAAgATAAEAAAABAAAAHQCQAAwAYwAHAAEAAAAAAAAAAAAAAAAABAADAAMAAAAAAAD/zgAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAA9j+7wAACJj+N/43CG0AAQAAAAAAAAAAAAAAAAAAAB0AAQAAAAILhdZt845fDzz1AAED6AAAAADYXaCEAAAAAN1mLzb+N/7ECG0D8QABAAMAAgAAAAAAAAAAACwALABgAIwAzADdAQ4BQAFzAX8BlwGzAeUCBwIzAlMCjgKzAtUDBAMQAyoDRANMA2YDgAOJA5IDqAADAioCvAAFAAACigJYAAAASwKKAlgAAAFeADIBKQAAAgsHAwMEAwICBAAAACcAAAADAAAAAAAAAABBREJPACAAIP7/Au7/BgAAA9gBESAAAZ8AAAAAAfAClAAAACAAAwKyAFAAyAAAAl0ATQJGAC4CLAAjAiwAGQI9AEECPQAnAgYAJAEUADcCJABBAR4AQQNZAEECPABBAisAJAGOAEEBuwAVAX8AEQI4ADwCCQAMARQAQQFYAEgBWAAwARQANwEMAD8BDAAjAQwAPwEMACMAAP+tAAAAAgAAAAMAAAAUAAMAAQAAABQABABwAAAAGAAQAAMACAAgACkAQwBUAGIAZQBpAG8AdQB5AKD//wAAACAAKABCAFMAYgBkAGkAawByAHkAoP///+H/7f/A/7H/pP+j/6D/n/+d/5r/YQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAKAKABTAAEREZMVACGY3lybAB2Z3JlawBmbGF0bgAaAEAAA0FaRSAAMkNSVCAAJFRSSyAAFgAA//8ABAAGAA0AEAAXAAD//wAEAAUADAAPABYAAP//AAQABAALAA4AFQAA//8AAwADAAoAFAAEAAAAAP//AAMAAgAJABMABAAAAAD//wADAAEACAASAAQAAAAA//8AAwAAAAcAEQAYZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCebG9jbACYbG9jbACYbG9jbACYbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSAAAAAQABAAAAAQAAAAAAAgABAAMAAAABAAIABQBoAFIARAAaAAwAAQAAAAEACAABACD//gAGAAAAAQAIAAMAAQAaAAEAEgAAAAEAAAAEAAEAAgAaABsAAQACABgAGQABAAAAAQAIAAEAFAADAAEAAAABAAgAAQAGAAUAAQACABUAFgABAAAAAQAIAAEABgAOAAEAAQAJAAAACABmAAMAAQQJAAAAxgFQAAMAAQQJAAEAHgEyAAMAAQQJAAIACAEqAAMAAQQJAAMARgDkAAMAAQQJAAQAKAC8AAMAAQQJAAUAZABYAAMAAQQJAAYAJAA0AAMAAQQJAA4ANAAAAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABTAG8AdQByAGMAZQBTAGEAbgBzAFAAcgBvAC0AQgBvAGwAZABWAGUAcgBzAGkAbwBuACAAMgAuADAANAA1ADsAaABvAHQAYwBvAG4AdgAgADEALgAwAC4AMQAwADkAOwBtAGEAawBlAG8AdABmAGUAeABlACAAMgAuADUALgA2ADUANQA5ADYAUwBvAHUAcgBjAGUAIABTAGEAbgBzACAAUAByAG8AIABCAG8AbABkADIALgAwADQANQA7AEEARABCAE8AOwBTAG8AdQByAGMAZQBTAGEAbgBzAFAAcgBvAC0AQgBvAGwAZAA7AEEARABPAEIARQBCAG8AbABkAFMAbwB1AHIAYwBlACAAUwBhAG4AcwAgAFAAcgBvAKkAIAAyADAAMQAwACAALQAgADIAMAAxADgAIABBAGQAbwBiAGUAIABTAHkAcwB0AGUAbQBzACAASQBuAGMAbwByAHAAbwByAGEAdABlAGQAIAAoAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAGQAbwBiAGUALgBjAG8AbQAvACkALAAgAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgIBgAUwBvAHUAcgBjAGUgGQAuAAEAAAAKAFQAdAAEREZMVAA+Y3lybAAyZ3JlawAmbGF0bgAaAAQAAAAA//8AAQADAAQAAAAA//8AAQACAAQAAAAA//8AAQABAAQAAAAA//8AAQAAAARrZXJuABprZXJuABprZXJuABprZXJuABoAAAABAAAAAQAEAAkAAAACAbIACgABAAIAAAAIAAIBMAAEAAABdgFGAAwADAAA/+T/3f/L/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/kAAAAAAAAAAAAAAAAAAAAAAAAAAD/5v/FAAAAAAAA//gAAP/7AAAAAAAA//YAAAAAAAAAAAAAAAcAAP/4AAAAAAAAAAD/7P/kAAAAAAAAAAAAAAAAAAAAAAAAAAD/5P/sAAAAAP/uAAAAAAAAAAAAAAAA/+7/7P/uAAAAAAAAAAAAAP/2AAAAAAAA/7T/9AAA/9b/5P/n/+gAAP/E/9YAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAA//gAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAMABAAGAAAACgATAAMAFQAVAA0AAQADABUABQAGAAMAAAABAAEACwAAAAAACgAKAAEACgAJAAIABAAHAAAAAAAIAAsAAQAEABIABgAIAAMAAAAAAAAAAAABAAIAAgADAAQABQAHAAkACgAAAAsAAQACAAAACAACAIgABAAAAMgAmAAFAAwAAAAA//b/5AAAAAD/7v/uAAAAAAAAAAAAAAAA/9z/9P/bAAD/7v/kAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/5AAAAAD/+v/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAGAAIAAwAHAAgACQAXAAEAAwAVAAQABwADAAAACAAIAAoAAAAAAAsACwAIAAsABQACAAkABgAAAAAAAQAKAAIABQADAAMAAQAHAAcAAgAIAAgAAwAJAAkABAAXABcABAAFAFAAAAJiApQAAwAJAA8AEgAVAAAzESERJTMnJyMHNzM3NyMXAzcnAREHUAIS/qWkJykEKSkEKiCYH3pfXwFNXgKU/WxbTWJi9l87O/6eubr+jQFzugAAAwBNAAACPAKMABEAGgAiAAAzETMyFhYVFAYHFRYWFRQGBiMDMzI2NTQmIyMRMzI1NCYjI03fRGxALSgyQ0RyR19FNjEyNEZTeTw9UwKMHUY/K1MPBA1LQUNUKQGHKiMmIP5YWCslAAABAC7/9AIwApgAGwAABSImJjU0NjYzMhYXByYmIyIGBhUUFjMyNjcXBgFdUopTVY1SP2QhThk3IyxJK1ZIKD8YTlIMTJVtbJlRMyJeFx0yXkJkcCQZXGAAAQAj//QCCgKYACoAAAUiJic3FhYzMjY1NCYnJy4CNTQ2NjMyFhcHJiYjIgYVFBYXFxYWFRQGBgEUQH8yVCNWKC4tMytVITwmO2lEOHAqSyBAJyYtOSpUO0Y6bgwwLmUeJiIdHx0SJA4vRi82WDQsKl0ZGx8cHh4RIhhURTZcOAABABkAAAITAowABwAAMxEjNSEVIxHMswH6swIQfHz98AAAAgBB//QCFgK9ABQAHwAABSImJyMHIxEzFQc2NjMyFhYVFAYGJzI2NTQjIgcVFhYBRSFDHQQMc5MEHUQiPFgvPF9YJjZWLCkUKAwhIDUCvaxMGh0+cUxVeT94RkyGLcsSDgACACf/9AH8Ar0AEwAgAAAXIiY1NDY2MzIWFyc1MxEjJyMGBjcyNjc1JiYjIgYVFBbyXG87XzQpOBkGk3gKBBpGAhgnEhMrFCM2LwyLeVF1PhwYTKn9QzEaI3gUGcsSDkNHSUUAAgAk//QB4QH8ABgAHwAABSImJjU0NjYzMhYWFRQGByEWFjMyNxcGBgMzNCYjIgYBH0dyQkNsO0ddLwQC/tcKRjE1NjEmXpqzJywiNgw+dFJRdD8/a0QTJQk2MyFZGh4BOik1LwD//wA3AAAA3QLTAiYAFAAAAAcAHACKAAAAAQBBAAACHgK9AAwAADMRMxEzNzMHEyMnBxVBjwSdoK67n3A/Ar3+bsXM/tzBR3oAAQBB//QBEgK9AA8AABciJjURMxEUFjMyNjcXBgbITDuTEQkFBwYSDCUMW0sCI/3XFxIBAW0FBwABAEEAAAMdAfwAIQAAMxEzFzM2NjMyFhc2NjMyFhURIxE0JiMiBxEjETQmIyIHEUF4CgQfRjE1QRMhSjFQS5MdICUwkx0gJS8B8EAfLSsoIjFrXf7MASE2KDD+sQEhNigw/rEAAQBBAAACAAH8ABQAADMRMxczNjYzMhYVESMRNCYjIgYHEUF4CgQgTTJRSZMdIBwoGAHwPx4ta13+zAEhNigZF/6xAAACACT/9AIHAfwADwAbAAAFIiYmNTQ2NjMyFhYVFAYGJzI2NTQmIyIGFRQWARY/b0REbz8/bkREbj8tLi4tLi0tDD11UlN0PT10U1J1PXdNQEFMTEFATQAAAQBBAAABjwH8ABIAADMRMxczNjYzMhYXByYmIyIGBxFBeAoEG0wmFRwKGA0ZEBw9FAHwVzIxBQV/BAQpMv7gAAEAFf/0AZ8B/AAnAAAXIiYnNxYWMzI2NTQmJicuAjU0NjMyFhcHJiYjIhUUFhceAhUUBtMxZyZCIj8fIR4dLhoeOyhpVTlXH0IaNBo5OSYgPSloDCYfXBkbFxMRFhMKDCQ5KUVWJxhYFBYnGBkOCyM5LkNdAAABABH/9AFuAnQAFwAABSImNTUjNTc3MxUzFSMVFBYzMjY3FwYGAQBcT0RMEXp3dyMdDBkKFxM3DGpWyW0GhIRzxyolBgRrBgwAAAEAPP/0AfgB8AAUAAAXIiY1ETMRFBYzMjY3ETMRIycjBgbWUUmTHiAcJhaTeAsDH0oMa10BNP7fNSkaHQFI/hBFJSwAAQAM/z4B/QHwABsAABciJic3FhYzMjY3NwMzFxYWFzM2Njc3MwMOAngWIQ8aBxIIJSgKB7+URwsSCgQIEQk8jawXOE/CBgRwAQUkHRoB49UiRiUjRyPV/gs+VSoAAAEAQQAAANQB8AADAAAzETMRQZMB8P4QAAEASP9NASgC3wANAAAXJiY1NDY3FwYGFRQWF8w/RUU/XDcyMjezZ96EhN5nJmHXa2rXYgABADD/TQEQAt8ADQAAFyc2NjU0Jic3FhYVFAaMXDgyMjhcP0VFsyZi12pr12EmZ96EhN7//wA3AAAA3QLTAgYACQAAAAEAP/+mAOkB4QANAAAXJiY1NDY3FwYGFRQWF5orMDArTyIiIiJaQoJaWYJCID19Q0N9PgABACP/pgDNAeEADQAAFyc2NjU0Jic3FhYVFAZzUCIiIiJQKy8vWiA+fUNDfT0gQoJZWoL//wA/AKwA6QLnAgcAGAAAAQb//wAjAKwAzQLnAgcAGQAAAQYAAf+tAjkAUwLTAAsAABEiJjU0NjMyFhUUBiUuLiUlLi4COSojIyoqIyMqAA==) format('truetype');}]]></style></svg>\""
},
"value": "]]></tspan></text><style><![CDATA[@font-face {font-family: 'eY2GjP7k5St1:::Source Sans Pro';font-style: normal;font-weight: 700;src: url(data:font/ttf;charset=utf-8;base64,AAEAAAANAIAAAwBQR0RFRgASABQAAADcAAAAFkdQT1NSDkG3AAAHaAAAAxxHU1VCZnU2hwAAAyQAAAHIT1MvMlxBdq4AAAHMAAAAYGNtYXACEAM5AAACoAAAAIRnbHlmnhEfvQAACoQAAAdQaGVhZBt/HtQAAAFYAAAANmhoZWEKfwXcAAABNAAAACRobXR4MR0FAgAAAiwAAAB0bG9jYR2gH9YAAAGQAAAAPG1heHAANQD3AAAA9AAAACBuYW1lUuZu3gAABOwAAAJ8cG9zdP/RADIAAAEUAAAAIAABAAAADAAAAAAAAAACAAEAAgATAAEAAAABAAAAHQCQAAwAYwAHAAEAAAAAAAAAAAAAAAAABAADAAMAAAAAAAD/zgAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAA9j+7wAACJj+N/43CG0AAQAAAAAAAAAAAAAAAAAAAB0AAQAAAAILhdZt845fDzz1AAED6AAAAADYXaCEAAAAAN1mLzb+N/7ECG0D8QABAAMAAgAAAAAAAAAAACwALABgAIwAzADdAQ4BQAFzAX8BlwGzAeUCBwIzAlMCjgKzAtUDBAMQAyoDRANMA2YDgAOJA5IDqAADAioCvAAFAAACigJYAAAASwKKAlgAAAFeADIBKQAAAgsHAwMEAwICBAAAACcAAAADAAAAAAAAAABBREJPACAAIP7/Au7/BgAAA9gBESAAAZ8AAAAAAfAClAAAACAAAwKyAFAAyAAAAl0ATQJGAC4CLAAjAiwAGQI9AEECPQAnAgYAJAEUADcCJABBAR4AQQNZAEECPABBAisAJAGOAEEBuwAVAX8AEQI4ADwCCQAMARQAQQFYAEgBWAAwARQANwEMAD8BDAAjAQwAPwEMACMAAP+tAAAAAgAAAAMAAAAUAAMAAQAAABQABABwAAAAGAAQAAMACAAgACkAQwBUAGIAZQBpAG8AdQB5AKD//wAAACAAKABCAFMAYgBkAGkAawByAHkAoP///+H/7f/A/7H/pP+j/6D/n/+d/5r/YQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAKAKABTAAEREZMVACGY3lybAB2Z3JlawBmbGF0bgAaAEAAA0FaRSAAMkNSVCAAJFRSSyAAFgAA//8ABAAGAA0AEAAXAAD//wAEAAUADAAPABYAAP//AAQABAALAA4AFQAA//8AAwADAAoAFAAEAAAAAP//AAMAAgAJABMABAAAAAD//wADAAEACAASAAQAAAAA//8AAwAAAAcAEQAYZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZG5vbQCmZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCeZnJhYwCebG9jbACYbG9jbACYbG9jbACYbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSbnVtcgCSAAAAAQABAAAAAQAAAAAAAgABAAMAAAABAAIABQBoAFIARAAaAAwAAQAAAAEACAABACD//gAGAAAAAQAIAAMAAQAaAAEAEgAAAAEAAAAEAAEAAgAaABsAAQACABgAGQABAAAAAQAIAAEAFAADAAEAAAABAAgAAQAGAAUAAQACABUAFgABAAAAAQAIAAEABgAOAAEAAQAJAAAACABmAAMAAQQJAAAAxgFQAAMAAQQJAAEAHgEyAAMAAQQJAAIACAEqAAMAAQQJAAMARgDkAAMAAQQJAAQAKAC8AAMAAQQJAAUAZABYAAMAAQQJAAYAJAA0AAMAAQQJAA4ANAAAAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABTAG8AdQByAGMAZQBTAGEAbgBzAFAAcgBvAC0AQgBvAGwAZABWAGUAcgBzAGkAbwBuACAAMgAuADAANAA1ADsAaABvAHQAYwBvAG4AdgAgADEALgAwAC4AMQAwADkAOwBtAGEAawBlAG8AdABmAGUAeABlACAAMgAuADUALgA2ADUANQA5ADYAUwBvAHUAcgBjAGUAIABTAGEAbgBzACAAUAByAG8AIABCAG8AbABkADIALgAwADQANQA7AEEARABCAE8AOwBTAG8AdQByAGMAZQBTAGEAbgBzAFAAcgBvAC0AQgBvAGwAZAA7AEEARABPAEIARQBCAG8AbABkAFMAbwB1AHIAYwBlACAAUwBhAG4AcwAgAFAAcgBvAKkAIAAyADAAMQAwACAALQAgADIAMAAxADgAIABBAGQAbwBiAGUAIABTAHkAcwB0AGUAbQBzACAASQBuAGMAbwByAHAAbwByAGEAdABlAGQAIAAoAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAGQAbwBiAGUALgBjAG8AbQAvACkALAAgAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgIBgAUwBvAHUAcgBjAGUgGQAuAAEAAAAKAFQAdAAEREZMVAA+Y3lybAAyZ3JlawAmbGF0bgAaAAQAAAAA//8AAQADAAQAAAAA//8AAQACAAQAAAAA//8AAQABAAQAAAAA//8AAQAAAARrZXJuABprZXJuABprZXJuABprZXJuABoAAAABAAAAAQAEAAkAAAACAbIACgABAAIAAAAIAAIBMAAEAAABdgFGAAwADAAA/+T/3f/L/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/kAAAAAAAAAAAAAAAAAAAAAAAAAAD/5v/FAAAAAAAA//gAAP/7AAAAAAAA//YAAAAAAAAAAAAAAAcAAP/4AAAAAAAAAAD/7P/kAAAAAAAAAAAAAAAAAAAAAAAAAAD/5P/sAAAAAP/uAAAAAAAAAAAAAAAA/+7/7P/uAAAAAAAAAAAAAP/2AAAAAAAA/7T/9AAA/9b/5P/n/+gAAP/E/9YAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAA//gAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAMABAAGAAAACgATAAMAFQAVAA0AAQADABUABQAGAAMAAAABAAEACwAAAAAACgAKAAEACgAJAAIABAAHAAAAAAAIAAsAAQAEABIABgAIAAMAAAAAAAAAAAABAAIAAgADAAQABQAHAAkACgAAAAsAAQACAAAACAACAIgABAAAAMgAmAAFAAwAAAAA//b/5AAAAAD/7v/uAAAAAAAAAAAAAAAA/9z/9P/bAAD/7v/kAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/5AAAAAD/+v/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAGAAIAAwAHAAgACQAXAAEAAwAVAAQABwADAAAACAAIAAoAAAAAAAsACwAIAAsABQACAAkABgAAAAAAAQAKAAIABQADAAMAAQAHAAcAAgAIAAgAAwAJAAkABAAXABcABAAFAFAAAAJiApQAAwAJAA8AEgAVAAAzESERJTMnJyMHNzM3NyMXAzcnAREHUAIS/qWkJykEKSkEKiCYH3pfXwFNXgKU/WxbTWJi9l87O/6eubr+jQFzugAAAwBNAAACPAKMABEAGgAiAAAzETMyFhYVFAYHFRYWFRQGBiMDMzI2NTQmIyMRMzI1NCYjI03fRGxALSgyQ0RyR19FNjEyNEZTeTw9UwKMHUY/K1MPBA1LQUNUKQGHKiMmIP5YWCslAAABAC7/9AIwApgAGwAABSImJjU0NjYzMhYXByYmIyIGBhUUFjMyNjcXBgFdUopTVY1SP2QhThk3IyxJK1ZIKD8YTlIMTJVtbJlRMyJeFx0yXkJkcCQZXGAAAQAj//QCCgKYACoAAAUiJic3FhYzMjY1NCYnJy4CNTQ2NjMyFhcHJiYjIgYVFBYXFxYWFRQGBgEUQH8yVCNWKC4tMytVITwmO2lEOHAqSyBAJyYtOSpUO0Y6bgwwLmUeJiIdHx0SJA4vRi82WDQsKl0ZGx8cHh4RIhhURTZcOAABABkAAAITAowABwAAMxEjNSEVIxHMswH6swIQfHz98AAAAgBB//QCFgK9ABQAHwAABSImJyMHIxEzFQc2NjMyFhYVFAYGJzI2NTQjIgcVFhYBRSFDHQQMc5MEHUQiPFgvPF9YJjZWLCkUKAwhIDUCvaxMGh0+cUxVeT94RkyGLcsSDgACACf/9AH8Ar0AEwAgAAAXIiY1NDY2MzIWFyc1MxEjJyMGBjcyNjc1JiYjIgYVFBbyXG87XzQpOBkGk3gKBBpGAhgnEhMrFCM2LwyLeVF1PhwYTKn9QzEaI3gUGcsSDkNHSUUAAgAk//QB4QH8ABgAHwAABSImJjU0NjYzMhYWFRQGByEWFjMyNxcGBgMzNCYjIgYBH0dyQkNsO0ddLwQC/tcKRjE1NjEmXpqzJywiNgw+dFJRdD8/a0QTJQk2MyFZGh4BOik1LwD//wA3AAAA3QLTAiYAFAAAAAcAHACKAAAAAQBBAAACHgK9AAwAADMRMxEzNzMHEyMnBxVBjwSdoK67n3A/Ar3+bsXM/tzBR3oAAQBB//QBEgK9AA8AABciJjURMxEUFjMyNjcXBgbITDuTEQkFBwYSDCUMW0sCI/3XFxIBAW0FBwABAEEAAAMdAfwAIQAAMxEzFzM2NjMyFhc2NjMyFhURIxE0JiMiBxEjETQmIyIHEUF4CgQfRjE1QRMhSjFQS5MdICUwkx0gJS8B8EAfLSsoIjFrXf7MASE2KDD+sQEhNigw/rEAAQBBAAACAAH8ABQAADMRMxczNjYzMhYVESMRNCYjIgYHEUF4CgQgTTJRSZMdIBwoGAHwPx4ta13+zAEhNigZF/6xAAACACT/9AIHAfwADwAbAAAFIiYmNTQ2NjMyFhYVFAYGJzI2NTQmIyIGFRQWARY/b0REbz8/bkREbj8tLi4tLi0tDD11UlN0PT10U1J1PXdNQEFMTEFATQAAAQBBAAABjwH8ABIAADMRMxczNjYzMhYXByYmIyIGBxFBeAoEG0wmFRwKGA0ZEBw9FAHwVzIxBQV/BAQpMv7gAAEAFf/0AZ8B/AAnAAAXIiYnNxYWMzI2NTQmJicuAjU0NjMyFhcHJiYjIhUUFhceAhUUBtMxZyZCIj8fIR4dLhoeOyhpVTlXH0IaNBo5OSYgPSloDCYfXBkbFxMRFhMKDCQ5KUVWJxhYFBYnGBkOCyM5LkNdAAABABH/9AFuAnQAFwAABSImNTUjNTc3MxUzFSMVFBYzMjY3FwYGAQBcT0RMEXp3dyMdDBkKFxM3DGpWyW0GhIRzxyolBgRrBgwAAAEAPP/0AfgB8AAUAAAXIiY1ETMRFBYzMjY3ETMRIycjBgbWUUmTHiAcJhaTeAsDH0oMa10BNP7fNSkaHQFI/hBFJSwAAQAM/z4B/QHwABsAABciJic3FhYzMjY3NwMzFxYWFzM2Njc3MwMOAngWIQ8aBxIIJSgKB7+URwsSCgQIEQk8jawXOE/CBgRwAQUkHRoB49UiRiUjRyPV/gs+VSoAAAEAQQAAANQB8AADAAAzETMRQZMB8P4QAAEASP9NASgC3wANAAAXJiY1NDY3FwYGFRQWF8w/RUU/XDcyMjezZ96EhN5nJmHXa2rXYgABADD/TQEQAt8ADQAAFyc2NjU0Jic3FhYVFAaMXDgyMjhcP0VFsyZi12pr12EmZ96EhN7//wA3AAAA3QLTAgYACQAAAAEAP/+mAOkB4QANAAAXJiY1NDY3FwYGFRQWF5orMDArTyIiIiJaQoJaWYJCID19Q0N9PgABACP/pgDNAeEADQAAFyc2NjU0Jic3FhYVFAZzUCIiIiJQKy8vWiA+fUNDfT0gQoJZWoL//wA/AKwA6QLnAgcAGAAAAQb//wAjAKwAzQLnAgcAGQAAAQYAAf+tAjkAUwLTAAsAABEiJjU0NjMyFhUUBiUuLiUlLi4COSojIyoqIyMqAA==) format('truetype');}]]></style></svg>"
},
"nodeType": "VariableDeclarationStatement",
"src": "3939:6320:13"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 2920,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2909,
"src": "10300:1:13",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 2921,
"name": "uid_str",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2902,
"src": "10303:7:13",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 2922,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2913,
"src": "10312:1:13",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 2918,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967295,
"src": "10283:3:13",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 2919,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "10287:12:13",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "10283:16:13",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 2923,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "10283:31:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 2917,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "10276:6:13",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 2916,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "10276:6:13",
"typeDescriptions": {}
}
},
"id": 2924,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "10276:39:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 2900,
"id": 2925,
"nodeType": "Return",
"src": "10269:46:13"
}
]
},
"id": 2927,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getSvgImage",
"nameLocation": "1422:11:13",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2897,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2896,
"mutability": "mutable",
"name": "uid",
"nameLocation": "1439:3:13",
"nodeType": "VariableDeclaration",
"scope": 2927,
"src": "1434:8:13",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2895,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1434:4:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1433:10:13"
},
"returnParameters": {
"id": 2900,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2899,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2927,
"src": "1466:13:13",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2898,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1466:6:13",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "1465:15:13"
},
"scope": 2928,
"src": "1413:8909:13",
"stateMutability": "pure",
"virtual": false,
"visibility": "private"
}
],
"scope": 2929,
"src": "310:10015:13",
"usedErrors": []
}
],
"src": "32:10293:13"
},
"compiler": {
"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
},
"networks": {
"5": {
"events": {},
"links": {},
"address": "0x2798F5a81cE621910d9799D709A81c184C3271C2",
"transactionHash": "0x48e4faadd4618f559cb246043ff7f710b42cb3a74a046eb39309d5b6acc4e0ff"
},
"5777": {
"events": {},
"links": {},
"address": "0xA974fe9b7D023F24b7c52Af6e6782Ef3c9d2a4b4",
"transactionHash": "0xf26eb0c0666369dbbeff00cf6eb00ef0b03821882e104ca56bd9183bad2229c6"
}
},
"schemaVersion": "3.4.13",
"updatedAt": "2023-06-04T11:14:28.850Z",
"networkType": "ethereum",
"devdoc": {
"events": {
"Approval(address,address,uint256)": {
"details": "Emitted when `owner` enables `approved` to manage the `tokenId` token."
},
"ApprovalForAll(address,address,bool)": {
"details": "Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."
},
"Transfer(address,address,uint256)": {
"details": "Emitted when `tokenId` token is transferred from `from` to `to`."
}
},
"kind": "dev",
"methods": {
"approve(address,uint256)": {
"details": "See {IERC721-approve}."
},
"balanceOf(address)": {
"details": "See {IERC721-balanceOf}."
},
"getApproved(uint256)": {
"details": "See {IERC721-getApproved}."
},
"isApprovedForAll(address,address)": {
"details": "See {IERC721-isApprovedForAll}."
},
"name()": {
"details": "See {IERC721Metadata-name}."
},
"ownerOf(uint256)": {
"details": "See {IERC721-ownerOf}."
},
"safeTransferFrom(address,address,uint256)": {
"details": "See {IERC721-safeTransferFrom}."
},
"safeTransferFrom(address,address,uint256,bytes)": {
"details": "See {IERC721-safeTransferFrom}."
},
"setApprovalForAll(address,bool)": {
"details": "See {IERC721-setApprovalForAll}."
},
"supportsInterface(bytes4)": {
"details": "See {IERC165-supportsInterface}."
},
"symbol()": {
"details": "See {IERC721Metadata-symbol}."
},
"tokenURI(uint256)": {
"details": "See {IERC721Metadata-tokenURI}."
},
"transferFrom(address,address,uint256)": {
"details": "See {IERC721-transferFrom}."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}