diff --git a/build/contracts/BENFTMarket.json b/build/contracts/BENFTMarket.json index abaae53..e2a5183 100644 --- a/build/contracts/BENFTMarket.json +++ b/build/contracts/BENFTMarket.json @@ -249,8 +249,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -263,8 +262,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -283,8 +281,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -303,8 +300,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -323,8 +319,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -337,8 +332,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -351,8 +345,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -371,8 +364,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -391,8 +383,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -553,8 +544,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -567,8 +557,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -594,8 +583,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -608,8 +596,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -622,8 +609,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -856,9 +842,9 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"AddERC20Suppout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"AddNFTSuppout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"BuyOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"priceOld\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"PriceUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"RemoveERC20Suppout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"RemoveNFTSuppout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"SellOrder\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_TRANSACTION_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_TRANSACTION_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"addERC1155Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"addERC20Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"addERC721Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"cancelOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"erc1155Supported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"erc20Supported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"erc721Supported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeToAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"incrId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nftPriceMaxLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nftPriceMinLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"orderInfos\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"removeERC1155Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"removeERC20Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"removeERC721Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sell\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToAddress\",\"type\":\"address\"}],\"name\":\"setFeeToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxLimit\",\"type\":\"uint256\"}],\"name\":\"setNFTPriceMaxLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minLimit\",\"type\":\"uint256\"}],\"name\":\"setNFTPriceMinLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_transactionFee\",\"type\":\"uint256\"}],\"name\":\"setTransactionFee\",\"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\":\"tranFeeTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transactionFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"updatePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}. Always returns `IERC721Receiver.onERC721Received.selector`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/market/BENftMarket.sol\":\"BENFTMarket\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0x0e9621f60b2faabe65549f7ed0f24e8853a45c1b7990d47e8160e523683f3935\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a2f8d5814dd0f05f22b740f18ca8321acc21c9bd03a6cb2203ea626e2f3f2\",\"dweb:/ipfs/QmZRQv9iuwU817VuqkA2WweiaibKii69x9QxYBBEfbNEud\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x8e93de94c9062ebc94fb7e2e3929b0781ac6a2b7772e2f7a59045861c93e5be9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f920a631bf986c610fe573d3c70a2bb6f224f86f4a8550016470c7ee476c9ab5\",\"dweb:/ipfs/QmYzsyVMfnaREKHcHv5RPS8Xg5r1Q38E2SDsGBTnXeFWzb\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xc3d946432c0ddbb1f846a0d3985be71299df331b91d06732152117f62f0be2b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4632c341a06ba5c079b51ca5a915efab4e6ab57735b37839b3e8365ff806a43e\",\"dweb:/ipfs/QmTHT3xHYed2wajEoA5qu7ii2BxLpPhQZHwAhtLK5Z7ANK\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd5fa74b4fb323776fa4a8158800fec9d5ac0fec0d6dd046dd93798632ada265f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33017a30a99cc5411a9e376622c31fc4a55cfc6a335e2f57f00cbf24a817ff3f\",\"dweb:/ipfs/QmWNQtWTPhA7Lo8nbxbc8KFMvZwbFYB8fSeEQ3vuapSV4a\"]},\"@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x0108bf6a6ebd5f96678bed33a35947537263f96766131ee91461fb6485805028\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae2d274bf3d56a6d49a9bbd0a4871c54997a82551eb3eb1c0c39dc98698ff8bf\",\"dweb:/ipfs/QmTT7ty5DPGAmRnx94Xu3TUDYGSPDVLN2bppJAjjedrg1e\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x2ccf9d2313a313d41a791505f2b5abfdc62191b5d4334f7f7a82691c088a1c87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a57d0854b2fdce6ebff933a48dca2445643d1eccfc27f00292e937f26c6a58\",\"dweb:/ipfs/QmW45rZooS9TqR4YXUbjRbtf2Bpb5ouSarBvfW1LdGprvV\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@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\"]},\"project:/contracts/market/BENftMarket.sol\":{\"keccak256\":\"0xfe7b7799aca26d60050af4c22b7ba7f8808f17da154942798aa7e3c47ac56041\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ae424cd6e2b930da81e7f12c2158ca1a2e649152212a8d1ba35016a5eb4fa29\",\"dweb:/ipfs/QmP6wnES8GzqzkP1EXujwX64zwCh3Rz95tJYKuqNgSJx1b\"]}},\"version\":1}", - "bytecode": "0x60806040526064620f4240600362000018919062000167565b620000249190620001f7565b6009553480156200003457600080fd5b5062000055620000496200006260201b60201c565b6200006a60201b60201c565b600180819055506200022f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000174826200012e565b915062000181836200012e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620001bd57620001bc62000138565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000204826200012e565b915062000211836200012e565b925082620002245762000223620001c8565b5b828204905092915050565b614455806200023f6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806382367b2d1161011a578063b8a9ddeb116100ad578063c24bdfc61161007c578063c24bdfc6146105b2578063d96a094a146105e2578063f23a6e61146105fe578063f2fde38b1461062e578063fdf397ee1461064a576101fb565b8063b8a9ddeb1461052e578063b9c214a11461054a578063b9d2df6114610566578063bc197c8114610582576101fb565b80639ed3edf0116100e95780639ed3edf0146104a0578063a5f95558146104be578063b18c1047146104da578063b4a1753a146104f8576101fb565b806382367b2d1461041a57806386847c70146104365780638da5cb5b146104525780639017f79e14610470576101fb565b806340a28c56116101925780635a43c2e5116101615780635a43c2e5146103a45780636d213f72146103c25780636f22d45b146103f2578063715018a614610410576101fb565b806340a28c5614610334578063498886ac14610350578063514fcac71461036c578063580bb9a514610388576101fb565b806328400cf3116101ce57806328400cf31461029a578063322ba2c8146102b65780633a27df07146102e65780633d19b46814610304576101fb565b806301ffc9a714610200578063083d80f914610230578063096a8ab71461024e578063150b7a021461026a575b600080fd5b61021a60048036038101906102159190612e66565b610666565b6040516102279190612eae565b60405180910390f35b6102386106e0565b6040516102459190612f0a565b60405180910390f35b61026860048036038101906102639190612f5b565b610706565b005b610284600480360381019061027f91906130fa565b610812565b604051610291919061318c565b60405180910390f35b6102b460048036038101906102af91906131a7565b610826565b005b6102d060048036038101906102cb91906131e7565b6109b4565b6040516102dd9190612eae565b60405180910390f35b6102ee6109d4565b6040516102fb9190613223565b60405180910390f35b61031e600480360381019061031991906131e7565b6109da565b60405161032b9190613223565b60405180910390f35b61034e600480360381019061034991906131e7565b6109f2565b005b61036a600480360381019061036591906131e7565b610b00565b005b61038660048036038101906103819190612f5b565b610c0e565b005b6103a2600480360381019061039d91906131e7565b610fc6565b005b6103ac6110f6565b6040516103b99190613223565b60405180910390f35b6103dc60048036038101906103d791906131e7565b6110fc565b6040516103e99190612eae565b60405180910390f35b6103fa61111c565b6040516104079190613223565b60405180910390f35b61041861113b565b005b610434600480360381019061042f919061323e565b6111c3565b005b610450600480360381019061044b91906131e7565b6115a3565b005b61045a6116b1565b6040516104679190612f0a565b60405180910390f35b61048a600480360381019061048591906131e7565b6116da565b6040516104979190612eae565b60405180910390f35b6104a86116fa565b6040516104b59190613223565b60405180910390f35b6104d860048036038101906104d391906131e7565b611700565b005b6104e261180e565b6040516104ef9190613223565b60405180910390f35b610512600480360381019061050d9190612f5b565b61182e565b604051610525979695949392919061327e565b60405180910390f35b610548600480360381019061054391906132ed565b6118d0565b005b610564600480360381019061055f91906131a7565b611f41565b005b610580600480360381019061057b91906131e7565b612087565b005b61059c60048036038101906105979190613430565b612205565b6040516105a9919061318c565b60405180910390f35b6105cc60048036038101906105c791906131e7565b61221a565b6040516105d99190613223565b60405180910390f35b6105fc60048036038101906105f79190612f5b565b612232565b005b610618600480360381019061061391906134ff565b6127a3565b604051610625919061318c565b60405180910390f35b610648600480360381019061064391906131e7565b6127b8565b005b610664600480360381019061065f91906131e7565b6128b0565b005b60007f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106d957506106d8826129be565b5b9050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61070e612a28565b73ffffffffffffffffffffffffffffffffffffffff1661072c6116b1565b73ffffffffffffffffffffffffffffffffffffffff1614610782576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610779906135f3565b60405180910390fd5b6103e8620f424060056107959190613642565b61079f91906136cb565b81101580156107c957506064620f4240600a6107bb9190613642565b6107c591906136cb565b8111155b610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff9061376e565b60405180910390fd5b8060098190555050565b600063150b7a0260e01b9050949350505050565b61082e612a28565b73ffffffffffffffffffffffffffffffffffffffff1661084c6116b1565b73ffffffffffffffffffffffffffffffffffffffff16146108a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610899906135f3565b60405180910390fd5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461096c57600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561096b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096290613800565b60405180910390fd5b5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60036020528060005260406000206000915054906101000a900460ff1681565b600b5481565b60076020528060005260406000206000915090505481565b6109fa612a28565b73ffffffffffffffffffffffffffffffffffffffff16610a186116b1565b73ffffffffffffffffffffffffffffffffffffffff1614610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a65906135f3565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc6fe30295fcab6c6dd6df09076c1548effc4c1e1d267bd7e23587c965aa614681604051610af59190612f0a565b60405180910390a150565b610b08612a28565b73ffffffffffffffffffffffffffffffffffffffff16610b266116b1565b73ffffffffffffffffffffffffffffffffffffffff1614610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b73906135f3565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc6fe30295fcab6c6dd6df09076c1548effc4c1e1d267bd7e23587c965aa614681604051610c039190612f0a565b60405180910390a150565b60026001541415610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b9061386c565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff166005600083815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf7906138fe565b60405180910390fd5b6000600560008381526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090508060a0015173ffffffffffffffffffffffffffffffffffffffff166342842e0e303384602001516040518463ffffffff1660e01b8152600401610e919392919061391e565b600060405180830381600087803b158015610eab57600080fd5b505af1158015610ebf573d6000803e3d6000fd5b5050505060056000838152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055505080602001518160a0015173ffffffffffffffffffffffffffffffffffffffff16837f9a6b35ee285392e8eb213e5184af2b520faed9b903fddfea170510591d056cb760405160405180910390a4506001808190555050565b610fce612a28565b73ffffffffffffffffffffffffffffffffffffffff16610fec6116b1565b73ffffffffffffffffffffffffffffffffffffffff1614611042576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611039906135f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a9906139c7565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60026020528060005260406000206000915054906101000a900460ff1681565b6064620f4240600a61112e9190613642565b61113891906136cb565b81565b611143612a28565b73ffffffffffffffffffffffffffffffffffffffff166111616116b1565b73ffffffffffffffffffffffffffffffffffffffff16146111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae906135f3565b60405180910390fd5b6111c16000612a30565b565b6000600560008481526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600081602001511415611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e90613a33565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff16146113c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c090613a9f565b60405180910390fd5b600660008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158061145e57506000600660008360a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b61149d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149490613b31565b60405180910390fd5b600760008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482101580156114f1575060008214155b611530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152790613bc3565b60405180910390fd5b6000816080015190508282608001818152505081602001518260a0015173ffffffffffffffffffffffffffffffffffffffff16857f8b5c3e60125dcfa034fa05a3bc5936e91ef3ce11947807c64c8ea198aecaa2718487604051611595929190613be3565b60405180910390a450505050565b6115ab612a28565b73ffffffffffffffffffffffffffffffffffffffff166115c96116b1565b73ffffffffffffffffffffffffffffffffffffffff161461161f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611616906135f3565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb255f2a756451f829ba88b8253b7768ce1ac0b7ba692c65d567363f434d4f21f816040516116a69190612f0a565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60046020528060005260406000206000915054906101000a900460ff1681565b60095481565b611708612a28565b73ffffffffffffffffffffffffffffffffffffffff166117266116b1565b73ffffffffffffffffffffffffffffffffffffffff161461177c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611773906135f3565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb255f2a756451f829ba88b8253b7768ce1ac0b7ba692c65d567363f434d4f21f816040516118039190612f0a565b60405180910390a150565b6103e8620f424060056118219190613642565b61182b91906136cb565b81565b60056020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040154908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905087565b6000831415611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b90613c58565b60405180910390fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119b55750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6119f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119eb90613cc4565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7790613d30565b60405180910390fd5b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111580611b0d57506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b611b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4390613b31565b60405180910390fd5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548210158015611b9c575060008214155b611bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd290613bc3565b60405180910390fd5b6001600b6000828254611bee9190613d50565b92505081905550600060056000600b5481526020019081526020016000209050600b548160000181905550838160010181905550818160020181905550858160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550338160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160040181905550848160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e065760018214611d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8990613e18565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff166342842e0e3330876040518463ffffffff1660e01b8152600401611dcf9392919061391e565b600060405180830381600087803b158015611de957600080fd5b505af1158015611dfd573d6000803e3d6000fd5b50505050611ecb565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611eca578573ffffffffffffffffffffffffffffffffffffffff1663f242432a333087866040518563ffffffff1660e01b8152600401611e979493929190613e6f565b600060405180830381600087803b158015611eb157600080fd5b505af1158015611ec5573d6000803e3d6000fd5b505050505b5b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16857f3aaa280a8041ed5527c779fa4743a630db39846bb549ac7a52d2f9b78ef2fe4f85600b548a89604051611f319493929190613ec7565b60405180910390a4505050505050565b611f49612a28565b73ffffffffffffffffffffffffffffffffffffffff16611f676116b1565b73ffffffffffffffffffffffffffffffffffffffff1614611fbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb4906135f3565b60405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481101561203f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203690613f7e565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61208f612a28565b73ffffffffffffffffffffffffffffffffffffffff166120ad6116b1565b73ffffffffffffffffffffffffffffffffffffffff1614612103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fa906135f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612173576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216a90613fea565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f636dc55442e1c73ff1acc6b88f4522b3b047cd6b5b53076466fe6efc132b7d97816040516121fa9190612f0a565b60405180910390a150565b600063bc197c8160e01b905095945050505050565b60066020528060005260406000206000915090505481565b60026001541415612278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226f9061386c565b60405180910390fd5b60026001819055506000600560008381526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600081602001511415612414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240b90613a33565b60405180910390fd5b6000620f4240600954836080015161242c9190613642565b61243691906136cb565b9050806008546124469190613d50565b600881905550600081836080015161245e919061400a565b9050612495338460600151838660c0015173ffffffffffffffffffffffffffffffffffffffff16612af4909392919063ffffffff16565b6124e833600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848660c0015173ffffffffffffffffffffffffffffffffffffffff16612af4909392919063ffffffff16565b600260008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125ba578260a0015173ffffffffffffffffffffffffffffffffffffffff166342842e0e303386602001516040518463ffffffff1660e01b81526004016125839392919061391e565b600060405180830381600087803b15801561259d57600080fd5b505af11580156125b1573d6000803e3d6000fd5b5050505061268f565b600360008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561268e578260a0015173ffffffffffffffffffffffffffffffffffffffff1663f242432a3330866020015187604001516040518563ffffffff1660e01b815260040161265b9493929190613e6f565b600060405180830381600087803b15801561267557600080fd5b505af1158015612689573d6000803e3d6000fd5b505050505b5b82602001517f5ed2283a84be92aa3d96afceb486f7904c7a63a11cf51985e529e554440566b3858560a0015186604001518760600151338960c001518a608001516040516126e3979695949392919061403e565b60405180910390a260056000858152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550505050506001808190555050565b600063f23a6e6160e01b905095945050505050565b6127c0612a28565b73ffffffffffffffffffffffffffffffffffffffff166127de6116b1565b73ffffffffffffffffffffffffffffffffffffffff1614612834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282b906135f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156128a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289b9061411f565b60405180910390fd5b6128ad81612a30565b50565b6128b8612a28565b73ffffffffffffffffffffffffffffffffffffffff166128d66116b1565b73ffffffffffffffffffffffffffffffffffffffff161461292c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612923906135f3565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3f9e7e7de58452376347303ed83ad0a3680a82bcb8bfe7541fb27efba64adf6a816040516129b39190612f0a565b60405180910390a150565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612b77846323b872dd60e01b858585604051602401612b159392919061391e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612b7d565b50505050565b6000612bdf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612c449092919063ffffffff16565b9050600081511115612c3f5780806020019051810190612bff919061416b565b612c3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c359061420a565b60405180910390fd5b5b505050565b6060612c538484600085612c5c565b90509392505050565b606082471015612ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c989061429c565b60405180910390fd5b612caa85612d70565b612ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce090614308565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612d1291906143a2565b60006040518083038185875af1925050503d8060008114612d4f576040519150601f19603f3d011682016040523d82523d6000602084013e612d54565b606091505b5091509150612d64828286612d93565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315612da357829050612df3565b600083511115612db65782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dea91906143fd565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e4381612e0e565b8114612e4e57600080fd5b50565b600081359050612e6081612e3a565b92915050565b600060208284031215612e7c57612e7b612e04565b5b6000612e8a84828501612e51565b91505092915050565b60008115159050919050565b612ea881612e93565b82525050565b6000602082019050612ec36000830184612e9f565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ef482612ec9565b9050919050565b612f0481612ee9565b82525050565b6000602082019050612f1f6000830184612efb565b92915050565b6000819050919050565b612f3881612f25565b8114612f4357600080fd5b50565b600081359050612f5581612f2f565b92915050565b600060208284031215612f7157612f70612e04565b5b6000612f7f84828501612f46565b91505092915050565b612f9181612ee9565b8114612f9c57600080fd5b50565b600081359050612fae81612f88565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61300782612fbe565b810181811067ffffffffffffffff8211171561302657613025612fcf565b5b80604052505050565b6000613039612dfa565b90506130458282612ffe565b919050565b600067ffffffffffffffff82111561306557613064612fcf565b5b61306e82612fbe565b9050602081019050919050565b82818337600083830152505050565b600061309d6130988461304a565b61302f565b9050828152602081018484840111156130b9576130b8612fb9565b5b6130c484828561307b565b509392505050565b600082601f8301126130e1576130e0612fb4565b5b81356130f184826020860161308a565b91505092915050565b6000806000806080858703121561311457613113612e04565b5b600061312287828801612f9f565b945050602061313387828801612f9f565b935050604061314487828801612f46565b925050606085013567ffffffffffffffff81111561316557613164612e09565b5b613171878288016130cc565b91505092959194509250565b61318681612e0e565b82525050565b60006020820190506131a1600083018461317d565b92915050565b600080604083850312156131be576131bd612e04565b5b60006131cc85828601612f9f565b92505060206131dd85828601612f46565b9150509250929050565b6000602082840312156131fd576131fc612e04565b5b600061320b84828501612f9f565b91505092915050565b61321d81612f25565b82525050565b60006020820190506132386000830184613214565b92915050565b6000806040838503121561325557613254612e04565b5b600061326385828601612f46565b925050602061327485828601612f46565b9150509250929050565b600060e082019050613293600083018a613214565b6132a06020830189613214565b6132ad6040830188613214565b6132ba6060830187612efb565b6132c76080830186613214565b6132d460a0830185612efb565b6132e160c0830184612efb565b98975050505050505050565b600080600080600060a0868803121561330957613308612e04565b5b600061331788828901612f9f565b955050602061332888828901612f9f565b945050604061333988828901612f46565b935050606061334a88828901612f46565b925050608061335b88828901612f46565b9150509295509295909350565b600067ffffffffffffffff82111561338357613382612fcf565b5b602082029050602081019050919050565b600080fd5b60006133ac6133a784613368565b61302f565b905080838252602082019050602084028301858111156133cf576133ce613394565b5b835b818110156133f857806133e48882612f46565b8452602084019350506020810190506133d1565b5050509392505050565b600082601f83011261341757613416612fb4565b5b8135613427848260208601613399565b91505092915050565b600080600080600060a0868803121561344c5761344b612e04565b5b600061345a88828901612f9f565b955050602061346b88828901612f9f565b945050604086013567ffffffffffffffff81111561348c5761348b612e09565b5b61349888828901613402565b935050606086013567ffffffffffffffff8111156134b9576134b8612e09565b5b6134c588828901613402565b925050608086013567ffffffffffffffff8111156134e6576134e5612e09565b5b6134f2888289016130cc565b9150509295509295909350565b600080600080600060a0868803121561351b5761351a612e04565b5b600061352988828901612f9f565b955050602061353a88828901612f9f565b945050604061354b88828901612f46565b935050606061355c88828901612f46565b925050608086013567ffffffffffffffff81111561357d5761357c612e09565b5b613589888289016130cc565b9150509295509295909350565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135dd602083613596565b91506135e8826135a7565b602082019050919050565b6000602082019050818103600083015261360c816135d0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061364d82612f25565b915061365883612f25565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561369157613690613613565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006136d682612f25565b91506136e183612f25565b9250826136f1576136f061369c565b5b828204905092915050565b7f4e46544d61726b65743a205f7472616e73616374696f6e466565206d7573742060008201527f3e3d20302e352520616e64203c3d203130250000000000000000000000000000602082015250565b6000613758603283613596565b9150613763826136fc565b604082019050919050565b600060208201905081810360008301526137878161374b565b9050919050565b7f4e46544d61726b65743a206d696e4c696d69742063616e206e6f74206265206c60008201527f6172676572207468616e206d6178206c696d6974210000000000000000000000602082015250565b60006137ea603583613596565b91506137f58261378e565b604082019050919050565b60006020820190508181036000830152613819816137dd565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613856601f83613596565b915061386182613820565b602082019050919050565b6000602082019050818103600083015261388581613849565b9050919050565b7f4e46544d61726b65743a2063616e63656c2063616c6c6572206973206e6f742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006138e8602583613596565b91506138f38261388c565b604082019050919050565b60006020820190508181036000830152613917816138db565b9050919050565b60006060820190506139336000830186612efb565b6139406020830185612efb565b61394d6040830184613214565b949350505050565b7f4e46544d61726b65743a2066656520726563656976656420616464726573732060008201527f63616e206e6f74206265207a65726f0000000000000000000000000000000000602082015250565b60006139b1602f83613596565b91506139bc82613955565b604082019050919050565b600060208201905081810360008301526139e0816139a4565b9050919050565b7f4e46544d61726b65743a204e465420646f6573206e6f74206578697374000000600082015250565b6000613a1d601d83613596565b9150613a28826139e7565b602082019050919050565b60006020820190508181036000830152613a4c81613a10565b9050919050565b7f4e46544d61726b65743a2063616c6c6572206973206e6f74206f776e65720000600082015250565b6000613a89601e83613596565b9150613a9482613a53565b602082019050919050565b60006020820190508181036000830152613ab881613a7c565b9050919050565b7f4e46544d61726b65743a204d6178696d756d207072696365206c696d6974206560008201527f7863656564656400000000000000000000000000000000000000000000000000602082015250565b6000613b1b602783613596565b9150613b2682613abf565b604082019050919050565b60006020820190508181036000830152613b4a81613b0e565b9050919050565b7f4e46544d61726b65743a2042656c6f7720746865206d696e696d756d2070726960008201527f6365206c696d6974000000000000000000000000000000000000000000000000602082015250565b6000613bad602883613596565b9150613bb882613b51565b604082019050919050565b60006020820190508181036000830152613bdc81613ba0565b9050919050565b6000604082019050613bf86000830185613214565b613c056020830184613214565b9392505050565b7f4e46544d61726b65743a20746f6b656e49642063616e206e6f74206265203021600082015250565b6000613c42602083613596565b9150613c4d82613c0c565b602082019050919050565b60006020820190508181036000830152613c7181613c35565b9050919050565b7f4e46544d61726b65743a20556e737570706f72746564204e4654000000000000600082015250565b6000613cae601a83613596565b9150613cb982613c78565b602082019050919050565b60006020820190508181036000830152613cdd81613ca1565b9050919050565b7f4e46544d61726b65743a20556e737570706f7274656420746f6b656e73000000600082015250565b6000613d1a601d83613596565b9150613d2582613ce4565b602082019050919050565b60006020820190508181036000830152613d4981613d0d565b9050919050565b6000613d5b82612f25565b9150613d6683612f25565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d9b57613d9a613613565b5b828201905092915050565b7f4e46544d61726b65743a2045524337323120616d6f756e74206d75737420626560008201527f2031200000000000000000000000000000000000000000000000000000000000602082015250565b6000613e02602383613596565b9150613e0d82613da6565b604082019050919050565b60006020820190508181036000830152613e3181613df5565b9050919050565b600082825260208201905092915050565b50565b6000613e59600083613e38565b9150613e6482613e49565b600082019050919050565b600060a082019050613e846000830187612efb565b613e916020830186612efb565b613e9e6040830185613214565b613eab6060830184613214565b8181036080830152613ebc81613e4c565b905095945050505050565b6000608082019050613edc6000830187613214565b613ee96020830186613214565b613ef66040830185612efb565b613f036060830184613214565b95945050505050565b7f4e46544d61726b65743a206d61784c696d69742063616e206e6f74206265206c60008201527f657373207468616e206d696e206c696d69742100000000000000000000000000602082015250565b6000613f68603383613596565b9150613f7382613f0c565b604082019050919050565b60006020820190508181036000830152613f9781613f5b565b9050919050565b7f4e46544d61726b65743a2045524332302061646472657373206973207a65726f600082015250565b6000613fd4602083613596565b9150613fdf82613f9e565b602082019050919050565b6000602082019050818103600083015261400381613fc7565b9050919050565b600061401582612f25565b915061402083612f25565b92508282101561403357614032613613565b5b828203905092915050565b600060e082019050614053600083018a613214565b6140606020830189612efb565b61406d6040830188613214565b61407a6060830187612efb565b6140876080830186612efb565b61409460a0830185612efb565b6140a160c0830184613214565b98975050505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614109602683613596565b9150614114826140ad565b604082019050919050565b60006020820190508181036000830152614138816140fc565b9050919050565b61414881612e93565b811461415357600080fd5b50565b6000815190506141658161413f565b92915050565b60006020828403121561418157614180612e04565b5b600061418f84828501614156565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006141f4602a83613596565b91506141ff82614198565b604082019050919050565b60006020820190508181036000830152614223816141e7565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000614286602683613596565b91506142918261422a565b604082019050919050565b600060208201905081810360008301526142b581614279565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006142f2601d83613596565b91506142fd826142bc565b602082019050919050565b60006020820190508181036000830152614321816142e5565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561435c578082015181840152602081019050614341565b8381111561436b576000848401525b50505050565b600061437c82614328565b6143868185614333565b935061439681856020860161433e565b80840191505092915050565b60006143ae8284614371565b915081905092915050565b600081519050919050565b60006143cf826143b9565b6143d98185613596565b93506143e981856020860161433e565b6143f281612fbe565b840191505092915050565b6000602082019050818103600083015261441781846143c4565b90509291505056fea26469706673582212201b0651b05d30dcc57fbdb5eb110f7cd43ddfa659eaf70e1ba9a5ad5adfc05c6464736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c806382367b2d1161011a578063b8a9ddeb116100ad578063c24bdfc61161007c578063c24bdfc6146105b2578063d96a094a146105e2578063f23a6e61146105fe578063f2fde38b1461062e578063fdf397ee1461064a576101fb565b8063b8a9ddeb1461052e578063b9c214a11461054a578063b9d2df6114610566578063bc197c8114610582576101fb565b80639ed3edf0116100e95780639ed3edf0146104a0578063a5f95558146104be578063b18c1047146104da578063b4a1753a146104f8576101fb565b806382367b2d1461041a57806386847c70146104365780638da5cb5b146104525780639017f79e14610470576101fb565b806340a28c56116101925780635a43c2e5116101615780635a43c2e5146103a45780636d213f72146103c25780636f22d45b146103f2578063715018a614610410576101fb565b806340a28c5614610334578063498886ac14610350578063514fcac71461036c578063580bb9a514610388576101fb565b806328400cf3116101ce57806328400cf31461029a578063322ba2c8146102b65780633a27df07146102e65780633d19b46814610304576101fb565b806301ffc9a714610200578063083d80f914610230578063096a8ab71461024e578063150b7a021461026a575b600080fd5b61021a60048036038101906102159190612e66565b610666565b6040516102279190612eae565b60405180910390f35b6102386106e0565b6040516102459190612f0a565b60405180910390f35b61026860048036038101906102639190612f5b565b610706565b005b610284600480360381019061027f91906130fa565b610812565b604051610291919061318c565b60405180910390f35b6102b460048036038101906102af91906131a7565b610826565b005b6102d060048036038101906102cb91906131e7565b6109b4565b6040516102dd9190612eae565b60405180910390f35b6102ee6109d4565b6040516102fb9190613223565b60405180910390f35b61031e600480360381019061031991906131e7565b6109da565b60405161032b9190613223565b60405180910390f35b61034e600480360381019061034991906131e7565b6109f2565b005b61036a600480360381019061036591906131e7565b610b00565b005b61038660048036038101906103819190612f5b565b610c0e565b005b6103a2600480360381019061039d91906131e7565b610fc6565b005b6103ac6110f6565b6040516103b99190613223565b60405180910390f35b6103dc60048036038101906103d791906131e7565b6110fc565b6040516103e99190612eae565b60405180910390f35b6103fa61111c565b6040516104079190613223565b60405180910390f35b61041861113b565b005b610434600480360381019061042f919061323e565b6111c3565b005b610450600480360381019061044b91906131e7565b6115a3565b005b61045a6116b1565b6040516104679190612f0a565b60405180910390f35b61048a600480360381019061048591906131e7565b6116da565b6040516104979190612eae565b60405180910390f35b6104a86116fa565b6040516104b59190613223565b60405180910390f35b6104d860048036038101906104d391906131e7565b611700565b005b6104e261180e565b6040516104ef9190613223565b60405180910390f35b610512600480360381019061050d9190612f5b565b61182e565b604051610525979695949392919061327e565b60405180910390f35b610548600480360381019061054391906132ed565b6118d0565b005b610564600480360381019061055f91906131a7565b611f41565b005b610580600480360381019061057b91906131e7565b612087565b005b61059c60048036038101906105979190613430565b612205565b6040516105a9919061318c565b60405180910390f35b6105cc60048036038101906105c791906131e7565b61221a565b6040516105d99190613223565b60405180910390f35b6105fc60048036038101906105f79190612f5b565b612232565b005b610618600480360381019061061391906134ff565b6127a3565b604051610625919061318c565b60405180910390f35b610648600480360381019061064391906131e7565b6127b8565b005b610664600480360381019061065f91906131e7565b6128b0565b005b60007f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106d957506106d8826129be565b5b9050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61070e612a28565b73ffffffffffffffffffffffffffffffffffffffff1661072c6116b1565b73ffffffffffffffffffffffffffffffffffffffff1614610782576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610779906135f3565b60405180910390fd5b6103e8620f424060056107959190613642565b61079f91906136cb565b81101580156107c957506064620f4240600a6107bb9190613642565b6107c591906136cb565b8111155b610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff9061376e565b60405180910390fd5b8060098190555050565b600063150b7a0260e01b9050949350505050565b61082e612a28565b73ffffffffffffffffffffffffffffffffffffffff1661084c6116b1565b73ffffffffffffffffffffffffffffffffffffffff16146108a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610899906135f3565b60405180910390fd5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461096c57600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561096b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096290613800565b60405180910390fd5b5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60036020528060005260406000206000915054906101000a900460ff1681565b600b5481565b60076020528060005260406000206000915090505481565b6109fa612a28565b73ffffffffffffffffffffffffffffffffffffffff16610a186116b1565b73ffffffffffffffffffffffffffffffffffffffff1614610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a65906135f3565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc6fe30295fcab6c6dd6df09076c1548effc4c1e1d267bd7e23587c965aa614681604051610af59190612f0a565b60405180910390a150565b610b08612a28565b73ffffffffffffffffffffffffffffffffffffffff16610b266116b1565b73ffffffffffffffffffffffffffffffffffffffff1614610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b73906135f3565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc6fe30295fcab6c6dd6df09076c1548effc4c1e1d267bd7e23587c965aa614681604051610c039190612f0a565b60405180910390a150565b60026001541415610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b9061386c565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff166005600083815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf7906138fe565b60405180910390fd5b6000600560008381526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090508060a0015173ffffffffffffffffffffffffffffffffffffffff166342842e0e303384602001516040518463ffffffff1660e01b8152600401610e919392919061391e565b600060405180830381600087803b158015610eab57600080fd5b505af1158015610ebf573d6000803e3d6000fd5b5050505060056000838152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055505080602001518160a0015173ffffffffffffffffffffffffffffffffffffffff16837f9a6b35ee285392e8eb213e5184af2b520faed9b903fddfea170510591d056cb760405160405180910390a4506001808190555050565b610fce612a28565b73ffffffffffffffffffffffffffffffffffffffff16610fec6116b1565b73ffffffffffffffffffffffffffffffffffffffff1614611042576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611039906135f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a9906139c7565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60026020528060005260406000206000915054906101000a900460ff1681565b6064620f4240600a61112e9190613642565b61113891906136cb565b81565b611143612a28565b73ffffffffffffffffffffffffffffffffffffffff166111616116b1565b73ffffffffffffffffffffffffffffffffffffffff16146111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae906135f3565b60405180910390fd5b6111c16000612a30565b565b6000600560008481526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600081602001511415611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e90613a33565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff16146113c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c090613a9f565b60405180910390fd5b600660008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158061145e57506000600660008360a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b61149d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149490613b31565b60405180910390fd5b600760008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482101580156114f1575060008214155b611530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152790613bc3565b60405180910390fd5b6000816080015190508282608001818152505081602001518260a0015173ffffffffffffffffffffffffffffffffffffffff16857f8b5c3e60125dcfa034fa05a3bc5936e91ef3ce11947807c64c8ea198aecaa2718487604051611595929190613be3565b60405180910390a450505050565b6115ab612a28565b73ffffffffffffffffffffffffffffffffffffffff166115c96116b1565b73ffffffffffffffffffffffffffffffffffffffff161461161f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611616906135f3565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb255f2a756451f829ba88b8253b7768ce1ac0b7ba692c65d567363f434d4f21f816040516116a69190612f0a565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60046020528060005260406000206000915054906101000a900460ff1681565b60095481565b611708612a28565b73ffffffffffffffffffffffffffffffffffffffff166117266116b1565b73ffffffffffffffffffffffffffffffffffffffff161461177c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611773906135f3565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb255f2a756451f829ba88b8253b7768ce1ac0b7ba692c65d567363f434d4f21f816040516118039190612f0a565b60405180910390a150565b6103e8620f424060056118219190613642565b61182b91906136cb565b81565b60056020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040154908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905087565b6000831415611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b90613c58565b60405180910390fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119b55750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6119f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119eb90613cc4565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7790613d30565b60405180910390fd5b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111580611b0d57506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b611b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4390613b31565b60405180910390fd5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548210158015611b9c575060008214155b611bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd290613bc3565b60405180910390fd5b6001600b6000828254611bee9190613d50565b92505081905550600060056000600b5481526020019081526020016000209050600b548160000181905550838160010181905550818160020181905550858160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550338160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160040181905550848160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e065760018214611d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8990613e18565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff166342842e0e3330876040518463ffffffff1660e01b8152600401611dcf9392919061391e565b600060405180830381600087803b158015611de957600080fd5b505af1158015611dfd573d6000803e3d6000fd5b50505050611ecb565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611eca578573ffffffffffffffffffffffffffffffffffffffff1663f242432a333087866040518563ffffffff1660e01b8152600401611e979493929190613e6f565b600060405180830381600087803b158015611eb157600080fd5b505af1158015611ec5573d6000803e3d6000fd5b505050505b5b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16857f3aaa280a8041ed5527c779fa4743a630db39846bb549ac7a52d2f9b78ef2fe4f85600b548a89604051611f319493929190613ec7565b60405180910390a4505050505050565b611f49612a28565b73ffffffffffffffffffffffffffffffffffffffff16611f676116b1565b73ffffffffffffffffffffffffffffffffffffffff1614611fbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb4906135f3565b60405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481101561203f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203690613f7e565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61208f612a28565b73ffffffffffffffffffffffffffffffffffffffff166120ad6116b1565b73ffffffffffffffffffffffffffffffffffffffff1614612103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fa906135f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612173576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216a90613fea565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f636dc55442e1c73ff1acc6b88f4522b3b047cd6b5b53076466fe6efc132b7d97816040516121fa9190612f0a565b60405180910390a150565b600063bc197c8160e01b905095945050505050565b60066020528060005260406000206000915090505481565b60026001541415612278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226f9061386c565b60405180910390fd5b60026001819055506000600560008381526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600081602001511415612414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240b90613a33565b60405180910390fd5b6000620f4240600954836080015161242c9190613642565b61243691906136cb565b9050806008546124469190613d50565b600881905550600081836080015161245e919061400a565b9050612495338460600151838660c0015173ffffffffffffffffffffffffffffffffffffffff16612af4909392919063ffffffff16565b6124e833600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848660c0015173ffffffffffffffffffffffffffffffffffffffff16612af4909392919063ffffffff16565b600260008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125ba578260a0015173ffffffffffffffffffffffffffffffffffffffff166342842e0e303386602001516040518463ffffffff1660e01b81526004016125839392919061391e565b600060405180830381600087803b15801561259d57600080fd5b505af11580156125b1573d6000803e3d6000fd5b5050505061268f565b600360008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561268e578260a0015173ffffffffffffffffffffffffffffffffffffffff1663f242432a3330866020015187604001516040518563ffffffff1660e01b815260040161265b9493929190613e6f565b600060405180830381600087803b15801561267557600080fd5b505af1158015612689573d6000803e3d6000fd5b505050505b5b82602001517f5ed2283a84be92aa3d96afceb486f7904c7a63a11cf51985e529e554440566b3858560a0015186604001518760600151338960c001518a608001516040516126e3979695949392919061403e565b60405180910390a260056000858152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550505050506001808190555050565b600063f23a6e6160e01b905095945050505050565b6127c0612a28565b73ffffffffffffffffffffffffffffffffffffffff166127de6116b1565b73ffffffffffffffffffffffffffffffffffffffff1614612834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282b906135f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156128a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289b9061411f565b60405180910390fd5b6128ad81612a30565b50565b6128b8612a28565b73ffffffffffffffffffffffffffffffffffffffff166128d66116b1565b73ffffffffffffffffffffffffffffffffffffffff161461292c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612923906135f3565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3f9e7e7de58452376347303ed83ad0a3680a82bcb8bfe7541fb27efba64adf6a816040516129b39190612f0a565b60405180910390a150565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612b77846323b872dd60e01b858585604051602401612b159392919061391e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612b7d565b50505050565b6000612bdf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612c449092919063ffffffff16565b9050600081511115612c3f5780806020019051810190612bff919061416b565b612c3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c359061420a565b60405180910390fd5b5b505050565b6060612c538484600085612c5c565b90509392505050565b606082471015612ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c989061429c565b60405180910390fd5b612caa85612d70565b612ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce090614308565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612d1291906143a2565b60006040518083038185875af1925050503d8060008114612d4f576040519150601f19603f3d011682016040523d82523d6000602084013e612d54565b606091505b5091509150612d64828286612d93565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315612da357829050612df3565b600083511115612db65782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dea91906143fd565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e4381612e0e565b8114612e4e57600080fd5b50565b600081359050612e6081612e3a565b92915050565b600060208284031215612e7c57612e7b612e04565b5b6000612e8a84828501612e51565b91505092915050565b60008115159050919050565b612ea881612e93565b82525050565b6000602082019050612ec36000830184612e9f565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ef482612ec9565b9050919050565b612f0481612ee9565b82525050565b6000602082019050612f1f6000830184612efb565b92915050565b6000819050919050565b612f3881612f25565b8114612f4357600080fd5b50565b600081359050612f5581612f2f565b92915050565b600060208284031215612f7157612f70612e04565b5b6000612f7f84828501612f46565b91505092915050565b612f9181612ee9565b8114612f9c57600080fd5b50565b600081359050612fae81612f88565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61300782612fbe565b810181811067ffffffffffffffff8211171561302657613025612fcf565b5b80604052505050565b6000613039612dfa565b90506130458282612ffe565b919050565b600067ffffffffffffffff82111561306557613064612fcf565b5b61306e82612fbe565b9050602081019050919050565b82818337600083830152505050565b600061309d6130988461304a565b61302f565b9050828152602081018484840111156130b9576130b8612fb9565b5b6130c484828561307b565b509392505050565b600082601f8301126130e1576130e0612fb4565b5b81356130f184826020860161308a565b91505092915050565b6000806000806080858703121561311457613113612e04565b5b600061312287828801612f9f565b945050602061313387828801612f9f565b935050604061314487828801612f46565b925050606085013567ffffffffffffffff81111561316557613164612e09565b5b613171878288016130cc565b91505092959194509250565b61318681612e0e565b82525050565b60006020820190506131a1600083018461317d565b92915050565b600080604083850312156131be576131bd612e04565b5b60006131cc85828601612f9f565b92505060206131dd85828601612f46565b9150509250929050565b6000602082840312156131fd576131fc612e04565b5b600061320b84828501612f9f565b91505092915050565b61321d81612f25565b82525050565b60006020820190506132386000830184613214565b92915050565b6000806040838503121561325557613254612e04565b5b600061326385828601612f46565b925050602061327485828601612f46565b9150509250929050565b600060e082019050613293600083018a613214565b6132a06020830189613214565b6132ad6040830188613214565b6132ba6060830187612efb565b6132c76080830186613214565b6132d460a0830185612efb565b6132e160c0830184612efb565b98975050505050505050565b600080600080600060a0868803121561330957613308612e04565b5b600061331788828901612f9f565b955050602061332888828901612f9f565b945050604061333988828901612f46565b935050606061334a88828901612f46565b925050608061335b88828901612f46565b9150509295509295909350565b600067ffffffffffffffff82111561338357613382612fcf565b5b602082029050602081019050919050565b600080fd5b60006133ac6133a784613368565b61302f565b905080838252602082019050602084028301858111156133cf576133ce613394565b5b835b818110156133f857806133e48882612f46565b8452602084019350506020810190506133d1565b5050509392505050565b600082601f83011261341757613416612fb4565b5b8135613427848260208601613399565b91505092915050565b600080600080600060a0868803121561344c5761344b612e04565b5b600061345a88828901612f9f565b955050602061346b88828901612f9f565b945050604086013567ffffffffffffffff81111561348c5761348b612e09565b5b61349888828901613402565b935050606086013567ffffffffffffffff8111156134b9576134b8612e09565b5b6134c588828901613402565b925050608086013567ffffffffffffffff8111156134e6576134e5612e09565b5b6134f2888289016130cc565b9150509295509295909350565b600080600080600060a0868803121561351b5761351a612e04565b5b600061352988828901612f9f565b955050602061353a88828901612f9f565b945050604061354b88828901612f46565b935050606061355c88828901612f46565b925050608086013567ffffffffffffffff81111561357d5761357c612e09565b5b613589888289016130cc565b9150509295509295909350565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135dd602083613596565b91506135e8826135a7565b602082019050919050565b6000602082019050818103600083015261360c816135d0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061364d82612f25565b915061365883612f25565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561369157613690613613565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006136d682612f25565b91506136e183612f25565b9250826136f1576136f061369c565b5b828204905092915050565b7f4e46544d61726b65743a205f7472616e73616374696f6e466565206d7573742060008201527f3e3d20302e352520616e64203c3d203130250000000000000000000000000000602082015250565b6000613758603283613596565b9150613763826136fc565b604082019050919050565b600060208201905081810360008301526137878161374b565b9050919050565b7f4e46544d61726b65743a206d696e4c696d69742063616e206e6f74206265206c60008201527f6172676572207468616e206d6178206c696d6974210000000000000000000000602082015250565b60006137ea603583613596565b91506137f58261378e565b604082019050919050565b60006020820190508181036000830152613819816137dd565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613856601f83613596565b915061386182613820565b602082019050919050565b6000602082019050818103600083015261388581613849565b9050919050565b7f4e46544d61726b65743a2063616e63656c2063616c6c6572206973206e6f742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006138e8602583613596565b91506138f38261388c565b604082019050919050565b60006020820190508181036000830152613917816138db565b9050919050565b60006060820190506139336000830186612efb565b6139406020830185612efb565b61394d6040830184613214565b949350505050565b7f4e46544d61726b65743a2066656520726563656976656420616464726573732060008201527f63616e206e6f74206265207a65726f0000000000000000000000000000000000602082015250565b60006139b1602f83613596565b91506139bc82613955565b604082019050919050565b600060208201905081810360008301526139e0816139a4565b9050919050565b7f4e46544d61726b65743a204e465420646f6573206e6f74206578697374000000600082015250565b6000613a1d601d83613596565b9150613a28826139e7565b602082019050919050565b60006020820190508181036000830152613a4c81613a10565b9050919050565b7f4e46544d61726b65743a2063616c6c6572206973206e6f74206f776e65720000600082015250565b6000613a89601e83613596565b9150613a9482613a53565b602082019050919050565b60006020820190508181036000830152613ab881613a7c565b9050919050565b7f4e46544d61726b65743a204d6178696d756d207072696365206c696d6974206560008201527f7863656564656400000000000000000000000000000000000000000000000000602082015250565b6000613b1b602783613596565b9150613b2682613abf565b604082019050919050565b60006020820190508181036000830152613b4a81613b0e565b9050919050565b7f4e46544d61726b65743a2042656c6f7720746865206d696e696d756d2070726960008201527f6365206c696d6974000000000000000000000000000000000000000000000000602082015250565b6000613bad602883613596565b9150613bb882613b51565b604082019050919050565b60006020820190508181036000830152613bdc81613ba0565b9050919050565b6000604082019050613bf86000830185613214565b613c056020830184613214565b9392505050565b7f4e46544d61726b65743a20746f6b656e49642063616e206e6f74206265203021600082015250565b6000613c42602083613596565b9150613c4d82613c0c565b602082019050919050565b60006020820190508181036000830152613c7181613c35565b9050919050565b7f4e46544d61726b65743a20556e737570706f72746564204e4654000000000000600082015250565b6000613cae601a83613596565b9150613cb982613c78565b602082019050919050565b60006020820190508181036000830152613cdd81613ca1565b9050919050565b7f4e46544d61726b65743a20556e737570706f7274656420746f6b656e73000000600082015250565b6000613d1a601d83613596565b9150613d2582613ce4565b602082019050919050565b60006020820190508181036000830152613d4981613d0d565b9050919050565b6000613d5b82612f25565b9150613d6683612f25565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d9b57613d9a613613565b5b828201905092915050565b7f4e46544d61726b65743a2045524337323120616d6f756e74206d75737420626560008201527f2031200000000000000000000000000000000000000000000000000000000000602082015250565b6000613e02602383613596565b9150613e0d82613da6565b604082019050919050565b60006020820190508181036000830152613e3181613df5565b9050919050565b600082825260208201905092915050565b50565b6000613e59600083613e38565b9150613e6482613e49565b600082019050919050565b600060a082019050613e846000830187612efb565b613e916020830186612efb565b613e9e6040830185613214565b613eab6060830184613214565b8181036080830152613ebc81613e4c565b905095945050505050565b6000608082019050613edc6000830187613214565b613ee96020830186613214565b613ef66040830185612efb565b613f036060830184613214565b95945050505050565b7f4e46544d61726b65743a206d61784c696d69742063616e206e6f74206265206c60008201527f657373207468616e206d696e206c696d69742100000000000000000000000000602082015250565b6000613f68603383613596565b9150613f7382613f0c565b604082019050919050565b60006020820190508181036000830152613f9781613f5b565b9050919050565b7f4e46544d61726b65743a2045524332302061646472657373206973207a65726f600082015250565b6000613fd4602083613596565b9150613fdf82613f9e565b602082019050919050565b6000602082019050818103600083015261400381613fc7565b9050919050565b600061401582612f25565b915061402083612f25565b92508282101561403357614032613613565b5b828203905092915050565b600060e082019050614053600083018a613214565b6140606020830189612efb565b61406d6040830188613214565b61407a6060830187612efb565b6140876080830186612efb565b61409460a0830185612efb565b6140a160c0830184613214565b98975050505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614109602683613596565b9150614114826140ad565b604082019050919050565b60006020820190508181036000830152614138816140fc565b9050919050565b61414881612e93565b811461415357600080fd5b50565b6000815190506141658161413f565b92915050565b60006020828403121561418157614180612e04565b5b600061418f84828501614156565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006141f4602a83613596565b91506141ff82614198565b604082019050919050565b60006020820190508181036000830152614223816141e7565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000614286602683613596565b91506142918261422a565b604082019050919050565b600060208201905081810360008301526142b581614279565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006142f2601d83613596565b91506142fd826142bc565b602082019050919050565b60006020820190508181036000830152614321816142e5565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561435c578082015181840152602081019050614341565b8381111561436b576000848401525b50505050565b600061437c82614328565b6143868185614333565b935061439681856020860161433e565b80840191505092915050565b60006143ae8284614371565b915081905092915050565b600081519050919050565b60006143cf826143b9565b6143d98185613596565b93506143e981856020860161433e565b6143f281612fbe565b840191505092915050565b6000602082019050818103600083015261441781846143c4565b90509291505056fea26469706673582212201b0651b05d30dcc57fbdb5eb110f7cd43ddfa659eaf70e1ba9a5ad5adfc05c6464736f6c634300080a0033", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"AddERC20Suppout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"AddNFTSuppout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"BuyOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"priceOld\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"PriceUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"RemoveERC20Suppout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"RemoveNFTSuppout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"SellOrder\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_TRANSACTION_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_TRANSACTION_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"addERC1155Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"addERC20Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"addERC721Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"cancelOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"erc1155Supported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"erc20Supported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"erc721Supported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeToAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"incrId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nftPriceMaxLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nftPriceMinLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"orderInfos\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"removeERC1155Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"}],\"name\":\"removeERC20Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"removeERC721Support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sell\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToAddress\",\"type\":\"address\"}],\"name\":\"setFeeToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxLimit\",\"type\":\"uint256\"}],\"name\":\"setNFTPriceMaxLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minLimit\",\"type\":\"uint256\"}],\"name\":\"setNFTPriceMinLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_transactionFee\",\"type\":\"uint256\"}],\"name\":\"setTransactionFee\",\"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\":\"tranFeeTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transactionFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"updatePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}. Always returns `IERC721Receiver.onERC721Received.selector`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/market/BENftMarket.sol\":\"BENFTMarket\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0x0e9621f60b2faabe65549f7ed0f24e8853a45c1b7990d47e8160e523683f3935\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a2f8d5814dd0f05f22b740f18ca8321acc21c9bd03a6cb2203ea626e2f3f2\",\"dweb:/ipfs/QmZRQv9iuwU817VuqkA2WweiaibKii69x9QxYBBEfbNEud\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x8e93de94c9062ebc94fb7e2e3929b0781ac6a2b7772e2f7a59045861c93e5be9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f920a631bf986c610fe573d3c70a2bb6f224f86f4a8550016470c7ee476c9ab5\",\"dweb:/ipfs/QmYzsyVMfnaREKHcHv5RPS8Xg5r1Q38E2SDsGBTnXeFWzb\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xc3d946432c0ddbb1f846a0d3985be71299df331b91d06732152117f62f0be2b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4632c341a06ba5c079b51ca5a915efab4e6ab57735b37839b3e8365ff806a43e\",\"dweb:/ipfs/QmTHT3xHYed2wajEoA5qu7ii2BxLpPhQZHwAhtLK5Z7ANK\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd5fa74b4fb323776fa4a8158800fec9d5ac0fec0d6dd046dd93798632ada265f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33017a30a99cc5411a9e376622c31fc4a55cfc6a335e2f57f00cbf24a817ff3f\",\"dweb:/ipfs/QmWNQtWTPhA7Lo8nbxbc8KFMvZwbFYB8fSeEQ3vuapSV4a\"]},\"@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x0108bf6a6ebd5f96678bed33a35947537263f96766131ee91461fb6485805028\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae2d274bf3d56a6d49a9bbd0a4871c54997a82551eb3eb1c0c39dc98698ff8bf\",\"dweb:/ipfs/QmTT7ty5DPGAmRnx94Xu3TUDYGSPDVLN2bppJAjjedrg1e\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x2ccf9d2313a313d41a791505f2b5abfdc62191b5d4334f7f7a82691c088a1c87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a57d0854b2fdce6ebff933a48dca2445643d1eccfc27f00292e937f26c6a58\",\"dweb:/ipfs/QmW45rZooS9TqR4YXUbjRbtf2Bpb5ouSarBvfW1LdGprvV\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@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\"]},\"project:/contracts/market/BENftMarket.sol\":{\"keccak256\":\"0xe0f010b854b8ba9917cd5ba50930c38d2c22b3691e2be8669ed5431452f116a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5ca72b8e516b127457a4a50444a8add77e61464683265ce08a46f3447b499e4\",\"dweb:/ipfs/Qmem76XpQhqa75rVPiQkwdSKN1iFRT8qrfqZtZteKHnSZS\"]}},\"version\":1}", + "bytecode": "0x60806040526064620f4240600362000018919062000167565b620000249190620001f7565b6009553480156200003457600080fd5b5062000055620000496200006260201b60201c565b6200006a60201b60201c565b600180819055506200022f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000174826200012e565b915062000181836200012e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620001bd57620001bc62000138565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000204826200012e565b915062000211836200012e565b925082620002245762000223620001c8565b5b828204905092915050565b614585806200023f6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806382367b2d1161011a578063b8a9ddeb116100ad578063c24bdfc61161007c578063c24bdfc6146105b2578063d96a094a146105e2578063f23a6e61146105fe578063f2fde38b1461062e578063fdf397ee1461064a576101fb565b8063b8a9ddeb1461052e578063b9c214a11461054a578063b9d2df6114610566578063bc197c8114610582576101fb565b80639ed3edf0116100e95780639ed3edf0146104a0578063a5f95558146104be578063b18c1047146104da578063b4a1753a146104f8576101fb565b806382367b2d1461041a57806386847c70146104365780638da5cb5b146104525780639017f79e14610470576101fb565b806340a28c56116101925780635a43c2e5116101615780635a43c2e5146103a45780636d213f72146103c25780636f22d45b146103f2578063715018a614610410576101fb565b806340a28c5614610334578063498886ac14610350578063514fcac71461036c578063580bb9a514610388576101fb565b806328400cf3116101ce57806328400cf31461029a578063322ba2c8146102b65780633a27df07146102e65780633d19b46814610304576101fb565b806301ffc9a714610200578063083d80f914610230578063096a8ab71461024e578063150b7a021461026a575b600080fd5b61021a60048036038101906102159190612f96565b610666565b6040516102279190612fde565b60405180910390f35b6102386106e0565b604051610245919061303a565b60405180910390f35b6102686004803603810190610263919061308b565b610706565b005b610284600480360381019061027f919061322a565b610812565b60405161029191906132bc565b60405180910390f35b6102b460048036038101906102af91906132d7565b610826565b005b6102d060048036038101906102cb9190613317565b6109b4565b6040516102dd9190612fde565b60405180910390f35b6102ee6109d4565b6040516102fb9190613353565b60405180910390f35b61031e60048036038101906103199190613317565b6109da565b60405161032b9190613353565b60405180910390f35b61034e60048036038101906103499190613317565b6109f2565b005b61036a60048036038101906103659190613317565b610b00565b005b6103866004803603810190610381919061308b565b610c0e565b005b6103a2600480360381019061039d9190613317565b6110f6565b005b6103ac611226565b6040516103b99190613353565b60405180910390f35b6103dc60048036038101906103d79190613317565b61122c565b6040516103e99190612fde565b60405180910390f35b6103fa61124c565b6040516104079190613353565b60405180910390f35b61041861126b565b005b610434600480360381019061042f919061336e565b6112f3565b005b610450600480360381019061044b9190613317565b6116d3565b005b61045a6117e1565b604051610467919061303a565b60405180910390f35b61048a60048036038101906104859190613317565b61180a565b6040516104979190612fde565b60405180910390f35b6104a861182a565b6040516104b59190613353565b60405180910390f35b6104d860048036038101906104d39190613317565b611830565b005b6104e261193e565b6040516104ef9190613353565b60405180910390f35b610512600480360381019061050d919061308b565b61195e565b60405161052597969594939291906133ae565b60405180910390f35b6105486004803603810190610543919061341d565b611a00565b005b610564600480360381019061055f91906132d7565b612071565b005b610580600480360381019061057b9190613317565b6121b7565b005b61059c60048036038101906105979190613560565b612335565b6040516105a991906132bc565b60405180910390f35b6105cc60048036038101906105c79190613317565b61234a565b6040516105d99190613353565b60405180910390f35b6105fc60048036038101906105f7919061308b565b612362565b005b6106186004803603810190610613919061362f565b6128d3565b60405161062591906132bc565b60405180910390f35b61064860048036038101906106439190613317565b6128e8565b005b610664600480360381019061065f9190613317565b6129e0565b005b60007f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106d957506106d882612aee565b5b9050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61070e612b58565b73ffffffffffffffffffffffffffffffffffffffff1661072c6117e1565b73ffffffffffffffffffffffffffffffffffffffff1614610782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077990613723565b60405180910390fd5b6103e8620f424060056107959190613772565b61079f91906137fb565b81101580156107c957506064620f4240600a6107bb9190613772565b6107c591906137fb565b8111155b610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff9061389e565b60405180910390fd5b8060098190555050565b600063150b7a0260e01b9050949350505050565b61082e612b58565b73ffffffffffffffffffffffffffffffffffffffff1661084c6117e1565b73ffffffffffffffffffffffffffffffffffffffff16146108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990613723565b60405180910390fd5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461096c57600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561096b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096290613930565b60405180910390fd5b5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60036020528060005260406000206000915054906101000a900460ff1681565b600b5481565b60076020528060005260406000206000915090505481565b6109fa612b58565b73ffffffffffffffffffffffffffffffffffffffff16610a186117e1565b73ffffffffffffffffffffffffffffffffffffffff1614610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6590613723565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc6fe30295fcab6c6dd6df09076c1548effc4c1e1d267bd7e23587c965aa614681604051610af5919061303a565b60405180910390a150565b610b08612b58565b73ffffffffffffffffffffffffffffffffffffffff16610b266117e1565b73ffffffffffffffffffffffffffffffffffffffff1614610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613723565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc6fe30295fcab6c6dd6df09076c1548effc4c1e1d267bd7e23587c965aa614681604051610c03919061303a565b60405180910390a150565b60026001541415610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b9061399c565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff166005600083815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf790613a2e565b60405180910390fd5b6000600560008381526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600260008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f1e578060a0015173ffffffffffffffffffffffffffffffffffffffff166342842e0e303384602001516040518463ffffffff1660e01b8152600401610ee793929190613a4e565b600060405180830381600087803b158015610f0157600080fd5b505af1158015610f15573d6000803e3d6000fd5b50505050610ff3565b600360008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610ff2578060a0015173ffffffffffffffffffffffffffffffffffffffff1663f242432a3033846020015185604001516040518563ffffffff1660e01b8152600401610fbf9493929190613abc565b600060405180830381600087803b158015610fd957600080fd5b505af1158015610fed573d6000803e3d6000fd5b505050505b5b60056000838152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055505080602001518160a0015173ffffffffffffffffffffffffffffffffffffffff16837f9a6b35ee285392e8eb213e5184af2b520faed9b903fddfea170510591d056cb760405160405180910390a4506001808190555050565b6110fe612b58565b73ffffffffffffffffffffffffffffffffffffffff1661111c6117e1565b73ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990613723565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d990613b86565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60026020528060005260406000206000915054906101000a900460ff1681565b6064620f4240600a61125e9190613772565b61126891906137fb565b81565b611273612b58565b73ffffffffffffffffffffffffffffffffffffffff166112916117e1565b73ffffffffffffffffffffffffffffffffffffffff16146112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de90613723565b60405180910390fd5b6112f16000612b60565b565b6000600560008481526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600081602001511415611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e90613bf2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff16146114f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f090613c5e565b60405180910390fd5b600660008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158061158e57506000600660008360a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c490613cf0565b60405180910390fd5b600760008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548210158015611621575060008214155b611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790613d82565b60405180910390fd5b6000816080015190508282608001818152505081602001518260a0015173ffffffffffffffffffffffffffffffffffffffff16857f8b5c3e60125dcfa034fa05a3bc5936e91ef3ce11947807c64c8ea198aecaa27184876040516116c5929190613da2565b60405180910390a450505050565b6116db612b58565b73ffffffffffffffffffffffffffffffffffffffff166116f96117e1565b73ffffffffffffffffffffffffffffffffffffffff161461174f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174690613723565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb255f2a756451f829ba88b8253b7768ce1ac0b7ba692c65d567363f434d4f21f816040516117d6919061303a565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60046020528060005260406000206000915054906101000a900460ff1681565b60095481565b611838612b58565b73ffffffffffffffffffffffffffffffffffffffff166118566117e1565b73ffffffffffffffffffffffffffffffffffffffff16146118ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a390613723565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb255f2a756451f829ba88b8253b7768ce1ac0b7ba692c65d567363f434d4f21f81604051611933919061303a565b60405180910390a150565b6103e8620f424060056119519190613772565b61195b91906137fb565b81565b60056020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040154908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905087565b6000831415611a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3b90613e17565b60405180910390fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ae55750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1b90613e83565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba790613eef565b60405180910390fd5b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111580611c3d57506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390613cf0565b60405180910390fd5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548210158015611ccc575060008214155b611d0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0290613d82565b60405180910390fd5b6001600b6000828254611d1e9190613f0f565b92505081905550600060056000600b5481526020019081526020016000209050600b548160000181905550838160010181905550818160020181905550858160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550338160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160040181905550848160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f365760018214611ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb990613fd7565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff166342842e0e3330876040518463ffffffff1660e01b8152600401611eff93929190613a4e565b600060405180830381600087803b158015611f1957600080fd5b505af1158015611f2d573d6000803e3d6000fd5b50505050611ffb565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ffa578573ffffffffffffffffffffffffffffffffffffffff1663f242432a333087866040518563ffffffff1660e01b8152600401611fc79493929190613abc565b600060405180830381600087803b158015611fe157600080fd5b505af1158015611ff5573d6000803e3d6000fd5b505050505b5b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16857f3aaa280a8041ed5527c779fa4743a630db39846bb549ac7a52d2f9b78ef2fe4f85600b548a896040516120619493929190613ff7565b60405180910390a4505050505050565b612079612b58565b73ffffffffffffffffffffffffffffffffffffffff166120976117e1565b73ffffffffffffffffffffffffffffffffffffffff16146120ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e490613723565b60405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481101561216f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612166906140ae565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6121bf612b58565b73ffffffffffffffffffffffffffffffffffffffff166121dd6117e1565b73ffffffffffffffffffffffffffffffffffffffff1614612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222a90613723565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229a9061411a565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f636dc55442e1c73ff1acc6b88f4522b3b047cd6b5b53076466fe6efc132b7d978160405161232a919061303a565b60405180910390a150565b600063bc197c8160e01b905095945050505050565b60066020528060005260406000206000915090505481565b600260015414156123a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239f9061399c565b60405180910390fd5b60026001819055506000600560008381526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600081602001511415612544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253b90613bf2565b60405180910390fd5b6000620f4240600954836080015161255c9190613772565b61256691906137fb565b9050806008546125769190613f0f565b600881905550600081836080015161258e919061413a565b90506125c5338460600151838660c0015173ffffffffffffffffffffffffffffffffffffffff16612c24909392919063ffffffff16565b61261833600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848660c0015173ffffffffffffffffffffffffffffffffffffffff16612c24909392919063ffffffff16565b600260008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126ea578260a0015173ffffffffffffffffffffffffffffffffffffffff166342842e0e303386602001516040518463ffffffff1660e01b81526004016126b393929190613a4e565b600060405180830381600087803b1580156126cd57600080fd5b505af11580156126e1573d6000803e3d6000fd5b505050506127bf565b600360008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156127be578260a0015173ffffffffffffffffffffffffffffffffffffffff1663f242432a3033866020015187604001516040518563ffffffff1660e01b815260040161278b9493929190613abc565b600060405180830381600087803b1580156127a557600080fd5b505af11580156127b9573d6000803e3d6000fd5b505050505b5b82602001517f5ed2283a84be92aa3d96afceb486f7904c7a63a11cf51985e529e554440566b3858560a0015186604001518760600151338960c001518a60800151604051612813979695949392919061416e565b60405180910390a260056000858152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550505050506001808190555050565b600063f23a6e6160e01b905095945050505050565b6128f0612b58565b73ffffffffffffffffffffffffffffffffffffffff1661290e6117e1565b73ffffffffffffffffffffffffffffffffffffffff1614612964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295b90613723565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156129d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129cb9061424f565b60405180910390fd5b6129dd81612b60565b50565b6129e8612b58565b73ffffffffffffffffffffffffffffffffffffffff16612a066117e1565b73ffffffffffffffffffffffffffffffffffffffff1614612a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5390613723565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3f9e7e7de58452376347303ed83ad0a3680a82bcb8bfe7541fb27efba64adf6a81604051612ae3919061303a565b60405180910390a150565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612ca7846323b872dd60e01b858585604051602401612c4593929190613a4e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612cad565b50505050565b6000612d0f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612d749092919063ffffffff16565b9050600081511115612d6f5780806020019051810190612d2f919061429b565b612d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d659061433a565b60405180910390fd5b5b505050565b6060612d838484600085612d8c565b90509392505050565b606082471015612dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc8906143cc565b60405180910390fd5b612dda85612ea0565b612e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1090614438565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612e4291906144d2565b60006040518083038185875af1925050503d8060008114612e7f576040519150601f19603f3d011682016040523d82523d6000602084013e612e84565b606091505b5091509150612e94828286612ec3565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315612ed357829050612f23565b600083511115612ee65782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f1a919061452d565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612f7381612f3e565b8114612f7e57600080fd5b50565b600081359050612f9081612f6a565b92915050565b600060208284031215612fac57612fab612f34565b5b6000612fba84828501612f81565b91505092915050565b60008115159050919050565b612fd881612fc3565b82525050565b6000602082019050612ff36000830184612fcf565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061302482612ff9565b9050919050565b61303481613019565b82525050565b600060208201905061304f600083018461302b565b92915050565b6000819050919050565b61306881613055565b811461307357600080fd5b50565b6000813590506130858161305f565b92915050565b6000602082840312156130a1576130a0612f34565b5b60006130af84828501613076565b91505092915050565b6130c181613019565b81146130cc57600080fd5b50565b6000813590506130de816130b8565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613137826130ee565b810181811067ffffffffffffffff82111715613156576131556130ff565b5b80604052505050565b6000613169612f2a565b9050613175828261312e565b919050565b600067ffffffffffffffff821115613195576131946130ff565b5b61319e826130ee565b9050602081019050919050565b82818337600083830152505050565b60006131cd6131c88461317a565b61315f565b9050828152602081018484840111156131e9576131e86130e9565b5b6131f48482856131ab565b509392505050565b600082601f830112613211576132106130e4565b5b81356132218482602086016131ba565b91505092915050565b6000806000806080858703121561324457613243612f34565b5b6000613252878288016130cf565b9450506020613263878288016130cf565b935050604061327487828801613076565b925050606085013567ffffffffffffffff81111561329557613294612f39565b5b6132a1878288016131fc565b91505092959194509250565b6132b681612f3e565b82525050565b60006020820190506132d160008301846132ad565b92915050565b600080604083850312156132ee576132ed612f34565b5b60006132fc858286016130cf565b925050602061330d85828601613076565b9150509250929050565b60006020828403121561332d5761332c612f34565b5b600061333b848285016130cf565b91505092915050565b61334d81613055565b82525050565b60006020820190506133686000830184613344565b92915050565b6000806040838503121561338557613384612f34565b5b600061339385828601613076565b92505060206133a485828601613076565b9150509250929050565b600060e0820190506133c3600083018a613344565b6133d06020830189613344565b6133dd6040830188613344565b6133ea606083018761302b565b6133f76080830186613344565b61340460a083018561302b565b61341160c083018461302b565b98975050505050505050565b600080600080600060a0868803121561343957613438612f34565b5b6000613447888289016130cf565b9550506020613458888289016130cf565b945050604061346988828901613076565b935050606061347a88828901613076565b925050608061348b88828901613076565b9150509295509295909350565b600067ffffffffffffffff8211156134b3576134b26130ff565b5b602082029050602081019050919050565b600080fd5b60006134dc6134d784613498565b61315f565b905080838252602082019050602084028301858111156134ff576134fe6134c4565b5b835b8181101561352857806135148882613076565b845260208401935050602081019050613501565b5050509392505050565b600082601f830112613547576135466130e4565b5b81356135578482602086016134c9565b91505092915050565b600080600080600060a0868803121561357c5761357b612f34565b5b600061358a888289016130cf565b955050602061359b888289016130cf565b945050604086013567ffffffffffffffff8111156135bc576135bb612f39565b5b6135c888828901613532565b935050606086013567ffffffffffffffff8111156135e9576135e8612f39565b5b6135f588828901613532565b925050608086013567ffffffffffffffff81111561361657613615612f39565b5b613622888289016131fc565b9150509295509295909350565b600080600080600060a0868803121561364b5761364a612f34565b5b6000613659888289016130cf565b955050602061366a888289016130cf565b945050604061367b88828901613076565b935050606061368c88828901613076565b925050608086013567ffffffffffffffff8111156136ad576136ac612f39565b5b6136b9888289016131fc565b9150509295509295909350565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061370d6020836136c6565b9150613718826136d7565b602082019050919050565b6000602082019050818103600083015261373c81613700565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061377d82613055565b915061378883613055565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156137c1576137c0613743565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061380682613055565b915061381183613055565b925082613821576138206137cc565b5b828204905092915050565b7f4e46544d61726b65743a205f7472616e73616374696f6e466565206d7573742060008201527f3e3d20302e352520616e64203c3d203130250000000000000000000000000000602082015250565b60006138886032836136c6565b91506138938261382c565b604082019050919050565b600060208201905081810360008301526138b78161387b565b9050919050565b7f4e46544d61726b65743a206d696e4c696d69742063616e206e6f74206265206c60008201527f6172676572207468616e206d6178206c696d6974210000000000000000000000602082015250565b600061391a6035836136c6565b9150613925826138be565b604082019050919050565b600060208201905081810360008301526139498161390d565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613986601f836136c6565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b9050919050565b7f4e46544d61726b65743a2063616e63656c2063616c6c6572206973206e6f742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613a186025836136c6565b9150613a23826139bc565b604082019050919050565b60006020820190508181036000830152613a4781613a0b565b9050919050565b6000606082019050613a63600083018661302b565b613a70602083018561302b565b613a7d6040830184613344565b949350505050565b600082825260208201905092915050565b50565b6000613aa6600083613a85565b9150613ab182613a96565b600082019050919050565b600060a082019050613ad1600083018761302b565b613ade602083018661302b565b613aeb6040830185613344565b613af86060830184613344565b8181036080830152613b0981613a99565b905095945050505050565b7f4e46544d61726b65743a2066656520726563656976656420616464726573732060008201527f63616e206e6f74206265207a65726f0000000000000000000000000000000000602082015250565b6000613b70602f836136c6565b9150613b7b82613b14565b604082019050919050565b60006020820190508181036000830152613b9f81613b63565b9050919050565b7f4e46544d61726b65743a204e465420646f6573206e6f74206578697374000000600082015250565b6000613bdc601d836136c6565b9150613be782613ba6565b602082019050919050565b60006020820190508181036000830152613c0b81613bcf565b9050919050565b7f4e46544d61726b65743a2063616c6c6572206973206e6f74206f776e65720000600082015250565b6000613c48601e836136c6565b9150613c5382613c12565b602082019050919050565b60006020820190508181036000830152613c7781613c3b565b9050919050565b7f4e46544d61726b65743a204d6178696d756d207072696365206c696d6974206560008201527f7863656564656400000000000000000000000000000000000000000000000000602082015250565b6000613cda6027836136c6565b9150613ce582613c7e565b604082019050919050565b60006020820190508181036000830152613d0981613ccd565b9050919050565b7f4e46544d61726b65743a2042656c6f7720746865206d696e696d756d2070726960008201527f6365206c696d6974000000000000000000000000000000000000000000000000602082015250565b6000613d6c6028836136c6565b9150613d7782613d10565b604082019050919050565b60006020820190508181036000830152613d9b81613d5f565b9050919050565b6000604082019050613db76000830185613344565b613dc46020830184613344565b9392505050565b7f4e46544d61726b65743a20746f6b656e49642063616e206e6f74206265203021600082015250565b6000613e016020836136c6565b9150613e0c82613dcb565b602082019050919050565b60006020820190508181036000830152613e3081613df4565b9050919050565b7f4e46544d61726b65743a20556e737570706f72746564204e4654000000000000600082015250565b6000613e6d601a836136c6565b9150613e7882613e37565b602082019050919050565b60006020820190508181036000830152613e9c81613e60565b9050919050565b7f4e46544d61726b65743a20556e737570706f7274656420746f6b656e73000000600082015250565b6000613ed9601d836136c6565b9150613ee482613ea3565b602082019050919050565b60006020820190508181036000830152613f0881613ecc565b9050919050565b6000613f1a82613055565b9150613f2583613055565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f5a57613f59613743565b5b828201905092915050565b7f4e46544d61726b65743a2045524337323120616d6f756e74206d75737420626560008201527f2031200000000000000000000000000000000000000000000000000000000000602082015250565b6000613fc16023836136c6565b9150613fcc82613f65565b604082019050919050565b60006020820190508181036000830152613ff081613fb4565b9050919050565b600060808201905061400c6000830187613344565b6140196020830186613344565b614026604083018561302b565b6140336060830184613344565b95945050505050565b7f4e46544d61726b65743a206d61784c696d69742063616e206e6f74206265206c60008201527f657373207468616e206d696e206c696d69742100000000000000000000000000602082015250565b60006140986033836136c6565b91506140a38261403c565b604082019050919050565b600060208201905081810360008301526140c78161408b565b9050919050565b7f4e46544d61726b65743a2045524332302061646472657373206973207a65726f600082015250565b60006141046020836136c6565b915061410f826140ce565b602082019050919050565b60006020820190508181036000830152614133816140f7565b9050919050565b600061414582613055565b915061415083613055565b92508282101561416357614162613743565b5b828203905092915050565b600060e082019050614183600083018a613344565b614190602083018961302b565b61419d6040830188613344565b6141aa606083018761302b565b6141b7608083018661302b565b6141c460a083018561302b565b6141d160c0830184613344565b98975050505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006142396026836136c6565b9150614244826141dd565b604082019050919050565b600060208201905081810360008301526142688161422c565b9050919050565b61427881612fc3565b811461428357600080fd5b50565b6000815190506142958161426f565b92915050565b6000602082840312156142b1576142b0612f34565b5b60006142bf84828501614286565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614324602a836136c6565b915061432f826142c8565b604082019050919050565b6000602082019050818103600083015261435381614317565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006143b66026836136c6565b91506143c18261435a565b604082019050919050565b600060208201905081810360008301526143e5816143a9565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614422601d836136c6565b915061442d826143ec565b602082019050919050565b6000602082019050818103600083015261445181614415565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561448c578082015181840152602081019050614471565b8381111561449b576000848401525b50505050565b60006144ac82614458565b6144b68185614463565b93506144c681856020860161446e565b80840191505092915050565b60006144de82846144a1565b915081905092915050565b600081519050919050565b60006144ff826144e9565b61450981856136c6565b935061451981856020860161446e565b614522816130ee565b840191505092915050565b6000602082019050818103600083015261454781846144f4565b90509291505056fea2646970667358221220098e36609592295853a1bc5cd19e6a27ab733a330639f30aa04132f4f9e898f164736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c806382367b2d1161011a578063b8a9ddeb116100ad578063c24bdfc61161007c578063c24bdfc6146105b2578063d96a094a146105e2578063f23a6e61146105fe578063f2fde38b1461062e578063fdf397ee1461064a576101fb565b8063b8a9ddeb1461052e578063b9c214a11461054a578063b9d2df6114610566578063bc197c8114610582576101fb565b80639ed3edf0116100e95780639ed3edf0146104a0578063a5f95558146104be578063b18c1047146104da578063b4a1753a146104f8576101fb565b806382367b2d1461041a57806386847c70146104365780638da5cb5b146104525780639017f79e14610470576101fb565b806340a28c56116101925780635a43c2e5116101615780635a43c2e5146103a45780636d213f72146103c25780636f22d45b146103f2578063715018a614610410576101fb565b806340a28c5614610334578063498886ac14610350578063514fcac71461036c578063580bb9a514610388576101fb565b806328400cf3116101ce57806328400cf31461029a578063322ba2c8146102b65780633a27df07146102e65780633d19b46814610304576101fb565b806301ffc9a714610200578063083d80f914610230578063096a8ab71461024e578063150b7a021461026a575b600080fd5b61021a60048036038101906102159190612f96565b610666565b6040516102279190612fde565b60405180910390f35b6102386106e0565b604051610245919061303a565b60405180910390f35b6102686004803603810190610263919061308b565b610706565b005b610284600480360381019061027f919061322a565b610812565b60405161029191906132bc565b60405180910390f35b6102b460048036038101906102af91906132d7565b610826565b005b6102d060048036038101906102cb9190613317565b6109b4565b6040516102dd9190612fde565b60405180910390f35b6102ee6109d4565b6040516102fb9190613353565b60405180910390f35b61031e60048036038101906103199190613317565b6109da565b60405161032b9190613353565b60405180910390f35b61034e60048036038101906103499190613317565b6109f2565b005b61036a60048036038101906103659190613317565b610b00565b005b6103866004803603810190610381919061308b565b610c0e565b005b6103a2600480360381019061039d9190613317565b6110f6565b005b6103ac611226565b6040516103b99190613353565b60405180910390f35b6103dc60048036038101906103d79190613317565b61122c565b6040516103e99190612fde565b60405180910390f35b6103fa61124c565b6040516104079190613353565b60405180910390f35b61041861126b565b005b610434600480360381019061042f919061336e565b6112f3565b005b610450600480360381019061044b9190613317565b6116d3565b005b61045a6117e1565b604051610467919061303a565b60405180910390f35b61048a60048036038101906104859190613317565b61180a565b6040516104979190612fde565b60405180910390f35b6104a861182a565b6040516104b59190613353565b60405180910390f35b6104d860048036038101906104d39190613317565b611830565b005b6104e261193e565b6040516104ef9190613353565b60405180910390f35b610512600480360381019061050d919061308b565b61195e565b60405161052597969594939291906133ae565b60405180910390f35b6105486004803603810190610543919061341d565b611a00565b005b610564600480360381019061055f91906132d7565b612071565b005b610580600480360381019061057b9190613317565b6121b7565b005b61059c60048036038101906105979190613560565b612335565b6040516105a991906132bc565b60405180910390f35b6105cc60048036038101906105c79190613317565b61234a565b6040516105d99190613353565b60405180910390f35b6105fc60048036038101906105f7919061308b565b612362565b005b6106186004803603810190610613919061362f565b6128d3565b60405161062591906132bc565b60405180910390f35b61064860048036038101906106439190613317565b6128e8565b005b610664600480360381019061065f9190613317565b6129e0565b005b60007f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106d957506106d882612aee565b5b9050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61070e612b58565b73ffffffffffffffffffffffffffffffffffffffff1661072c6117e1565b73ffffffffffffffffffffffffffffffffffffffff1614610782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077990613723565b60405180910390fd5b6103e8620f424060056107959190613772565b61079f91906137fb565b81101580156107c957506064620f4240600a6107bb9190613772565b6107c591906137fb565b8111155b610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff9061389e565b60405180910390fd5b8060098190555050565b600063150b7a0260e01b9050949350505050565b61082e612b58565b73ffffffffffffffffffffffffffffffffffffffff1661084c6117e1565b73ffffffffffffffffffffffffffffffffffffffff16146108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990613723565b60405180910390fd5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461096c57600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561096b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096290613930565b60405180910390fd5b5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60036020528060005260406000206000915054906101000a900460ff1681565b600b5481565b60076020528060005260406000206000915090505481565b6109fa612b58565b73ffffffffffffffffffffffffffffffffffffffff16610a186117e1565b73ffffffffffffffffffffffffffffffffffffffff1614610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6590613723565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc6fe30295fcab6c6dd6df09076c1548effc4c1e1d267bd7e23587c965aa614681604051610af5919061303a565b60405180910390a150565b610b08612b58565b73ffffffffffffffffffffffffffffffffffffffff16610b266117e1565b73ffffffffffffffffffffffffffffffffffffffff1614610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613723565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc6fe30295fcab6c6dd6df09076c1548effc4c1e1d267bd7e23587c965aa614681604051610c03919061303a565b60405180910390a150565b60026001541415610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b9061399c565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff166005600083815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf790613a2e565b60405180910390fd5b6000600560008381526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600260008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f1e578060a0015173ffffffffffffffffffffffffffffffffffffffff166342842e0e303384602001516040518463ffffffff1660e01b8152600401610ee793929190613a4e565b600060405180830381600087803b158015610f0157600080fd5b505af1158015610f15573d6000803e3d6000fd5b50505050610ff3565b600360008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610ff2578060a0015173ffffffffffffffffffffffffffffffffffffffff1663f242432a3033846020015185604001516040518563ffffffff1660e01b8152600401610fbf9493929190613abc565b600060405180830381600087803b158015610fd957600080fd5b505af1158015610fed573d6000803e3d6000fd5b505050505b5b60056000838152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055505080602001518160a0015173ffffffffffffffffffffffffffffffffffffffff16837f9a6b35ee285392e8eb213e5184af2b520faed9b903fddfea170510591d056cb760405160405180910390a4506001808190555050565b6110fe612b58565b73ffffffffffffffffffffffffffffffffffffffff1661111c6117e1565b73ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990613723565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d990613b86565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60026020528060005260406000206000915054906101000a900460ff1681565b6064620f4240600a61125e9190613772565b61126891906137fb565b81565b611273612b58565b73ffffffffffffffffffffffffffffffffffffffff166112916117e1565b73ffffffffffffffffffffffffffffffffffffffff16146112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de90613723565b60405180910390fd5b6112f16000612b60565b565b6000600560008481526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600081602001511415611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e90613bf2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff16146114f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f090613c5e565b60405180910390fd5b600660008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158061158e57506000600660008360a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c490613cf0565b60405180910390fd5b600760008260a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548210158015611621575060008214155b611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790613d82565b60405180910390fd5b6000816080015190508282608001818152505081602001518260a0015173ffffffffffffffffffffffffffffffffffffffff16857f8b5c3e60125dcfa034fa05a3bc5936e91ef3ce11947807c64c8ea198aecaa27184876040516116c5929190613da2565b60405180910390a450505050565b6116db612b58565b73ffffffffffffffffffffffffffffffffffffffff166116f96117e1565b73ffffffffffffffffffffffffffffffffffffffff161461174f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174690613723565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb255f2a756451f829ba88b8253b7768ce1ac0b7ba692c65d567363f434d4f21f816040516117d6919061303a565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60046020528060005260406000206000915054906101000a900460ff1681565b60095481565b611838612b58565b73ffffffffffffffffffffffffffffffffffffffff166118566117e1565b73ffffffffffffffffffffffffffffffffffffffff16146118ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a390613723565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb255f2a756451f829ba88b8253b7768ce1ac0b7ba692c65d567363f434d4f21f81604051611933919061303a565b60405180910390a150565b6103e8620f424060056119519190613772565b61195b91906137fb565b81565b60056020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040154908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905087565b6000831415611a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3b90613e17565b60405180910390fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ae55750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1b90613e83565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba790613eef565b60405180910390fd5b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111580611c3d57506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390613cf0565b60405180910390fd5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548210158015611ccc575060008214155b611d0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0290613d82565b60405180910390fd5b6001600b6000828254611d1e9190613f0f565b92505081905550600060056000600b5481526020019081526020016000209050600b548160000181905550838160010181905550818160020181905550858160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550338160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160040181905550848160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f365760018214611ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb990613fd7565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff166342842e0e3330876040518463ffffffff1660e01b8152600401611eff93929190613a4e565b600060405180830381600087803b158015611f1957600080fd5b505af1158015611f2d573d6000803e3d6000fd5b50505050611ffb565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ffa578573ffffffffffffffffffffffffffffffffffffffff1663f242432a333087866040518563ffffffff1660e01b8152600401611fc79493929190613abc565b600060405180830381600087803b158015611fe157600080fd5b505af1158015611ff5573d6000803e3d6000fd5b505050505b5b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16857f3aaa280a8041ed5527c779fa4743a630db39846bb549ac7a52d2f9b78ef2fe4f85600b548a896040516120619493929190613ff7565b60405180910390a4505050505050565b612079612b58565b73ffffffffffffffffffffffffffffffffffffffff166120976117e1565b73ffffffffffffffffffffffffffffffffffffffff16146120ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e490613723565b60405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481101561216f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612166906140ae565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6121bf612b58565b73ffffffffffffffffffffffffffffffffffffffff166121dd6117e1565b73ffffffffffffffffffffffffffffffffffffffff1614612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222a90613723565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229a9061411a565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f636dc55442e1c73ff1acc6b88f4522b3b047cd6b5b53076466fe6efc132b7d978160405161232a919061303a565b60405180910390a150565b600063bc197c8160e01b905095945050505050565b60066020528060005260406000206000915090505481565b600260015414156123a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239f9061399c565b60405180910390fd5b60026001819055506000600560008381526020019081526020016000206040518060e00160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600081602001511415612544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253b90613bf2565b60405180910390fd5b6000620f4240600954836080015161255c9190613772565b61256691906137fb565b9050806008546125769190613f0f565b600881905550600081836080015161258e919061413a565b90506125c5338460600151838660c0015173ffffffffffffffffffffffffffffffffffffffff16612c24909392919063ffffffff16565b61261833600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848660c0015173ffffffffffffffffffffffffffffffffffffffff16612c24909392919063ffffffff16565b600260008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126ea578260a0015173ffffffffffffffffffffffffffffffffffffffff166342842e0e303386602001516040518463ffffffff1660e01b81526004016126b393929190613a4e565b600060405180830381600087803b1580156126cd57600080fd5b505af11580156126e1573d6000803e3d6000fd5b505050506127bf565b600360008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156127be578260a0015173ffffffffffffffffffffffffffffffffffffffff1663f242432a3033866020015187604001516040518563ffffffff1660e01b815260040161278b9493929190613abc565b600060405180830381600087803b1580156127a557600080fd5b505af11580156127b9573d6000803e3d6000fd5b505050505b5b82602001517f5ed2283a84be92aa3d96afceb486f7904c7a63a11cf51985e529e554440566b3858560a0015186604001518760600151338960c001518a60800151604051612813979695949392919061416e565b60405180910390a260056000858152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550505050506001808190555050565b600063f23a6e6160e01b905095945050505050565b6128f0612b58565b73ffffffffffffffffffffffffffffffffffffffff1661290e6117e1565b73ffffffffffffffffffffffffffffffffffffffff1614612964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295b90613723565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156129d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129cb9061424f565b60405180910390fd5b6129dd81612b60565b50565b6129e8612b58565b73ffffffffffffffffffffffffffffffffffffffff16612a066117e1565b73ffffffffffffffffffffffffffffffffffffffff1614612a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5390613723565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3f9e7e7de58452376347303ed83ad0a3680a82bcb8bfe7541fb27efba64adf6a81604051612ae3919061303a565b60405180910390a150565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612ca7846323b872dd60e01b858585604051602401612c4593929190613a4e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612cad565b50505050565b6000612d0f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612d749092919063ffffffff16565b9050600081511115612d6f5780806020019051810190612d2f919061429b565b612d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d659061433a565b60405180910390fd5b5b505050565b6060612d838484600085612d8c565b90509392505050565b606082471015612dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc8906143cc565b60405180910390fd5b612dda85612ea0565b612e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1090614438565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612e4291906144d2565b60006040518083038185875af1925050503d8060008114612e7f576040519150601f19603f3d011682016040523d82523d6000602084013e612e84565b606091505b5091509150612e94828286612ec3565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315612ed357829050612f23565b600083511115612ee65782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f1a919061452d565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612f7381612f3e565b8114612f7e57600080fd5b50565b600081359050612f9081612f6a565b92915050565b600060208284031215612fac57612fab612f34565b5b6000612fba84828501612f81565b91505092915050565b60008115159050919050565b612fd881612fc3565b82525050565b6000602082019050612ff36000830184612fcf565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061302482612ff9565b9050919050565b61303481613019565b82525050565b600060208201905061304f600083018461302b565b92915050565b6000819050919050565b61306881613055565b811461307357600080fd5b50565b6000813590506130858161305f565b92915050565b6000602082840312156130a1576130a0612f34565b5b60006130af84828501613076565b91505092915050565b6130c181613019565b81146130cc57600080fd5b50565b6000813590506130de816130b8565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613137826130ee565b810181811067ffffffffffffffff82111715613156576131556130ff565b5b80604052505050565b6000613169612f2a565b9050613175828261312e565b919050565b600067ffffffffffffffff821115613195576131946130ff565b5b61319e826130ee565b9050602081019050919050565b82818337600083830152505050565b60006131cd6131c88461317a565b61315f565b9050828152602081018484840111156131e9576131e86130e9565b5b6131f48482856131ab565b509392505050565b600082601f830112613211576132106130e4565b5b81356132218482602086016131ba565b91505092915050565b6000806000806080858703121561324457613243612f34565b5b6000613252878288016130cf565b9450506020613263878288016130cf565b935050604061327487828801613076565b925050606085013567ffffffffffffffff81111561329557613294612f39565b5b6132a1878288016131fc565b91505092959194509250565b6132b681612f3e565b82525050565b60006020820190506132d160008301846132ad565b92915050565b600080604083850312156132ee576132ed612f34565b5b60006132fc858286016130cf565b925050602061330d85828601613076565b9150509250929050565b60006020828403121561332d5761332c612f34565b5b600061333b848285016130cf565b91505092915050565b61334d81613055565b82525050565b60006020820190506133686000830184613344565b92915050565b6000806040838503121561338557613384612f34565b5b600061339385828601613076565b92505060206133a485828601613076565b9150509250929050565b600060e0820190506133c3600083018a613344565b6133d06020830189613344565b6133dd6040830188613344565b6133ea606083018761302b565b6133f76080830186613344565b61340460a083018561302b565b61341160c083018461302b565b98975050505050505050565b600080600080600060a0868803121561343957613438612f34565b5b6000613447888289016130cf565b9550506020613458888289016130cf565b945050604061346988828901613076565b935050606061347a88828901613076565b925050608061348b88828901613076565b9150509295509295909350565b600067ffffffffffffffff8211156134b3576134b26130ff565b5b602082029050602081019050919050565b600080fd5b60006134dc6134d784613498565b61315f565b905080838252602082019050602084028301858111156134ff576134fe6134c4565b5b835b8181101561352857806135148882613076565b845260208401935050602081019050613501565b5050509392505050565b600082601f830112613547576135466130e4565b5b81356135578482602086016134c9565b91505092915050565b600080600080600060a0868803121561357c5761357b612f34565b5b600061358a888289016130cf565b955050602061359b888289016130cf565b945050604086013567ffffffffffffffff8111156135bc576135bb612f39565b5b6135c888828901613532565b935050606086013567ffffffffffffffff8111156135e9576135e8612f39565b5b6135f588828901613532565b925050608086013567ffffffffffffffff81111561361657613615612f39565b5b613622888289016131fc565b9150509295509295909350565b600080600080600060a0868803121561364b5761364a612f34565b5b6000613659888289016130cf565b955050602061366a888289016130cf565b945050604061367b88828901613076565b935050606061368c88828901613076565b925050608086013567ffffffffffffffff8111156136ad576136ac612f39565b5b6136b9888289016131fc565b9150509295509295909350565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061370d6020836136c6565b9150613718826136d7565b602082019050919050565b6000602082019050818103600083015261373c81613700565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061377d82613055565b915061378883613055565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156137c1576137c0613743565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061380682613055565b915061381183613055565b925082613821576138206137cc565b5b828204905092915050565b7f4e46544d61726b65743a205f7472616e73616374696f6e466565206d7573742060008201527f3e3d20302e352520616e64203c3d203130250000000000000000000000000000602082015250565b60006138886032836136c6565b91506138938261382c565b604082019050919050565b600060208201905081810360008301526138b78161387b565b9050919050565b7f4e46544d61726b65743a206d696e4c696d69742063616e206e6f74206265206c60008201527f6172676572207468616e206d6178206c696d6974210000000000000000000000602082015250565b600061391a6035836136c6565b9150613925826138be565b604082019050919050565b600060208201905081810360008301526139498161390d565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613986601f836136c6565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b9050919050565b7f4e46544d61726b65743a2063616e63656c2063616c6c6572206973206e6f742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613a186025836136c6565b9150613a23826139bc565b604082019050919050565b60006020820190508181036000830152613a4781613a0b565b9050919050565b6000606082019050613a63600083018661302b565b613a70602083018561302b565b613a7d6040830184613344565b949350505050565b600082825260208201905092915050565b50565b6000613aa6600083613a85565b9150613ab182613a96565b600082019050919050565b600060a082019050613ad1600083018761302b565b613ade602083018661302b565b613aeb6040830185613344565b613af86060830184613344565b8181036080830152613b0981613a99565b905095945050505050565b7f4e46544d61726b65743a2066656520726563656976656420616464726573732060008201527f63616e206e6f74206265207a65726f0000000000000000000000000000000000602082015250565b6000613b70602f836136c6565b9150613b7b82613b14565b604082019050919050565b60006020820190508181036000830152613b9f81613b63565b9050919050565b7f4e46544d61726b65743a204e465420646f6573206e6f74206578697374000000600082015250565b6000613bdc601d836136c6565b9150613be782613ba6565b602082019050919050565b60006020820190508181036000830152613c0b81613bcf565b9050919050565b7f4e46544d61726b65743a2063616c6c6572206973206e6f74206f776e65720000600082015250565b6000613c48601e836136c6565b9150613c5382613c12565b602082019050919050565b60006020820190508181036000830152613c7781613c3b565b9050919050565b7f4e46544d61726b65743a204d6178696d756d207072696365206c696d6974206560008201527f7863656564656400000000000000000000000000000000000000000000000000602082015250565b6000613cda6027836136c6565b9150613ce582613c7e565b604082019050919050565b60006020820190508181036000830152613d0981613ccd565b9050919050565b7f4e46544d61726b65743a2042656c6f7720746865206d696e696d756d2070726960008201527f6365206c696d6974000000000000000000000000000000000000000000000000602082015250565b6000613d6c6028836136c6565b9150613d7782613d10565b604082019050919050565b60006020820190508181036000830152613d9b81613d5f565b9050919050565b6000604082019050613db76000830185613344565b613dc46020830184613344565b9392505050565b7f4e46544d61726b65743a20746f6b656e49642063616e206e6f74206265203021600082015250565b6000613e016020836136c6565b9150613e0c82613dcb565b602082019050919050565b60006020820190508181036000830152613e3081613df4565b9050919050565b7f4e46544d61726b65743a20556e737570706f72746564204e4654000000000000600082015250565b6000613e6d601a836136c6565b9150613e7882613e37565b602082019050919050565b60006020820190508181036000830152613e9c81613e60565b9050919050565b7f4e46544d61726b65743a20556e737570706f7274656420746f6b656e73000000600082015250565b6000613ed9601d836136c6565b9150613ee482613ea3565b602082019050919050565b60006020820190508181036000830152613f0881613ecc565b9050919050565b6000613f1a82613055565b9150613f2583613055565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f5a57613f59613743565b5b828201905092915050565b7f4e46544d61726b65743a2045524337323120616d6f756e74206d75737420626560008201527f2031200000000000000000000000000000000000000000000000000000000000602082015250565b6000613fc16023836136c6565b9150613fcc82613f65565b604082019050919050565b60006020820190508181036000830152613ff081613fb4565b9050919050565b600060808201905061400c6000830187613344565b6140196020830186613344565b614026604083018561302b565b6140336060830184613344565b95945050505050565b7f4e46544d61726b65743a206d61784c696d69742063616e206e6f74206265206c60008201527f657373207468616e206d696e206c696d69742100000000000000000000000000602082015250565b60006140986033836136c6565b91506140a38261403c565b604082019050919050565b600060208201905081810360008301526140c78161408b565b9050919050565b7f4e46544d61726b65743a2045524332302061646472657373206973207a65726f600082015250565b60006141046020836136c6565b915061410f826140ce565b602082019050919050565b60006020820190508181036000830152614133816140f7565b9050919050565b600061414582613055565b915061415083613055565b92508282101561416357614162613743565b5b828203905092915050565b600060e082019050614183600083018a613344565b614190602083018961302b565b61419d6040830188613344565b6141aa606083018761302b565b6141b7608083018661302b565b6141c460a083018561302b565b6141d160c0830184613344565b98975050505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006142396026836136c6565b9150614244826141dd565b604082019050919050565b600060208201905081810360008301526142688161422c565b9050919050565b61427881612fc3565b811461428357600080fd5b50565b6000815190506142958161426f565b92915050565b6000602082840312156142b1576142b0612f34565b5b60006142bf84828501614286565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614324602a836136c6565b915061432f826142c8565b604082019050919050565b6000602082019050818103600083015261435381614317565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006143b66026836136c6565b91506143c18261435a565b604082019050919050565b600060208201905081810360008301526143e5816143a9565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614422601d836136c6565b915061442d826143ec565b602082019050919050565b6000602082019050818103600083015261445181614415565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561448c578082015181840152602081019050614471565b8381111561449b576000848401525b50505050565b60006144ac82614458565b6144b68185614463565b93506144c681856020860161446e565b80840191505092915050565b60006144de82846144a1565b915081905092915050565b600081519050919050565b60006144ff826144e9565b61450981856136c6565b935061451981856020860161446e565b614522816130ee565b840191505092915050565b6000602082019050818103600083015261454781846144f4565b90509291505056fea2646970667358221220098e36609592295853a1bc5cd19e6a27ab733a330639f30aa04132f4f9e898f164736f6c634300080a0033", "immutableReferences": {}, "generatedSources": [ { @@ -11406,3475 +11392,7 @@ { "body": { "nodeType": "YulBlock", - "src": "20927:128:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "20949:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20957:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20945:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "20945:14:16" - }, - { - "hexValue": "4e46544d61726b65743a20666565207265636569766564206164647265737320", - "kind": "string", - "nodeType": "YulLiteral", - "src": "20961:34:16", - "type": "", - "value": "NFTMarket: fee received address " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20938:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "20938:58:16" - }, - "nodeType": "YulExpressionStatement", - "src": "20938:58:16" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "21017:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21025:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21013:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "21013:15:16" - }, - { - "hexValue": "63616e206e6f74206265207a65726f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "21030:17:16", - "type": "", - "value": "can not be zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21006:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "21006:42:16" - }, - "nodeType": "YulExpressionStatement", - "src": "21006:42:16" - } - ] - }, - "name": "store_literal_in_memory_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "20919:6:16", - "type": "" - } - ], - "src": "20821:234:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21207:220:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21217:74:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21283:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21288:2:16", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "21224:58:16" - }, - "nodeType": "YulFunctionCall", - "src": "21224:67:16" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21217:3:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21389:3:16" - } - ], - "functionName": { - "name": "store_literal_in_memory_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6", - "nodeType": "YulIdentifier", - "src": "21300:88:16" - }, - "nodeType": "YulFunctionCall", - "src": "21300:93:16" - }, - "nodeType": "YulExpressionStatement", - "src": "21300:93:16" - }, - { - "nodeType": "YulAssignment", - "src": "21402:19:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21413:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21418:2:16", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21409:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "21409:12:16" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21402:3:16" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "21195:3:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "21203:3:16", - "type": "" - } - ], - "src": "21061:366:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21604:248:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21614:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21626:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21637:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21622:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "21622:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21614:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21661:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21672:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21657:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "21657:17:16" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21680:4:16" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21686:9:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21676:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "21676:20:16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21650:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "21650:47:16" - }, - "nodeType": "YulExpressionStatement", - "src": "21650:47:16" - }, - { - "nodeType": "YulAssignment", - "src": "21706:139:16", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21840:4:16" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "21714:124:16" - }, - "nodeType": "YulFunctionCall", - "src": "21714:131:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21706:4:16" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "21584:9:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "21599:4:16", - "type": "" - } - ], - "src": "21433:419:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21964:73:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "21986:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21994:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21982:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "21982:14:16" - }, - { - "hexValue": "4e46544d61726b65743a204e465420646f6573206e6f74206578697374", - "kind": "string", - "nodeType": "YulLiteral", - "src": "21998:31:16", - "type": "", - "value": "NFTMarket: NFT does not exist" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21975:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "21975:55:16" - }, - "nodeType": "YulExpressionStatement", - "src": "21975:55:16" - } - ] - }, - "name": "store_literal_in_memory_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "21956:6:16", - "type": "" - } - ], - "src": "21858:179:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22189:220:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22199:74:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22265:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22270:2:16", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "22206:58:16" - }, - "nodeType": "YulFunctionCall", - "src": "22206:67:16" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22199:3:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22371:3:16" - } - ], - "functionName": { - "name": "store_literal_in_memory_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400", - "nodeType": "YulIdentifier", - "src": "22282:88:16" - }, - "nodeType": "YulFunctionCall", - "src": "22282:93:16" - }, - "nodeType": "YulExpressionStatement", - "src": "22282:93:16" - }, - { - "nodeType": "YulAssignment", - "src": "22384:19:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22395:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22400:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22391:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "22391:12:16" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "22384:3:16" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "22177:3:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "22185:3:16", - "type": "" - } - ], - "src": "22043:366:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22586:248:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22596:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22608:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22619:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22604:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "22604:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22596:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22643:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22654:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22639:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "22639:17:16" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22662:4:16" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22668:9:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "22658:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "22658:20:16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22632:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "22632:47:16" - }, - "nodeType": "YulExpressionStatement", - "src": "22632:47:16" - }, - { - "nodeType": "YulAssignment", - "src": "22688:139:16", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22822:4:16" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "22696:124:16" - }, - "nodeType": "YulFunctionCall", - "src": "22696:131:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22688:4:16" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22566:9:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22581:4:16", - "type": "" - } - ], - "src": "22415:419:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22946:74:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "22968:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22976:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22964:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "22964:14:16" - }, - { - "hexValue": "4e46544d61726b65743a2063616c6c6572206973206e6f74206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "22980:32:16", - "type": "", - "value": "NFTMarket: caller is not owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22957:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "22957:56:16" - }, - "nodeType": "YulExpressionStatement", - "src": "22957:56:16" - } - ] - }, - "name": "store_literal_in_memory_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "22938:6:16", - "type": "" - } - ], - "src": "22840:180:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23172:220:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "23182:74:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23248:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23253:2:16", - "type": "", - "value": "30" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "23189:58:16" - }, - "nodeType": "YulFunctionCall", - "src": "23189:67:16" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23182:3:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23354:3:16" - } - ], - "functionName": { - "name": "store_literal_in_memory_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47", - "nodeType": "YulIdentifier", - "src": "23265:88:16" - }, - "nodeType": "YulFunctionCall", - "src": "23265:93:16" - }, - "nodeType": "YulExpressionStatement", - "src": "23265:93:16" - }, - { - "nodeType": "YulAssignment", - "src": "23367:19:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23378:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23383:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23374:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "23374:12:16" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "23367:3:16" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "23160:3:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "23168:3:16", - "type": "" - } - ], - "src": "23026:366:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23569:248:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "23579:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23591:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23602:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23587:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "23587:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23579:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23626:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23637:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23622:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "23622:17:16" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23645:4:16" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23651:9:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "23641:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "23641:20:16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23615:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "23615:47:16" - }, - "nodeType": "YulExpressionStatement", - "src": "23615:47:16" - }, - { - "nodeType": "YulAssignment", - "src": "23671:139:16", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23805:4:16" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "23679:124:16" - }, - "nodeType": "YulFunctionCall", - "src": "23679:131:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23671:4:16" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "23549:9:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "23564:4:16", - "type": "" - } - ], - "src": "23398:419:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23929:120:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "23951:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23959:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23947:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "23947:14:16" - }, - { - "hexValue": "4e46544d61726b65743a204d6178696d756d207072696365206c696d69742065", - "kind": "string", - "nodeType": "YulLiteral", - "src": "23963:34:16", - "type": "", - "value": "NFTMarket: Maximum price limit e" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23940:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "23940:58:16" - }, - "nodeType": "YulExpressionStatement", - "src": "23940:58:16" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "24019:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24027:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24015:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "24015:15:16" - }, - { - "hexValue": "78636565646564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "24032:9:16", - "type": "", - "value": "xceeded" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24008:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "24008:34:16" - }, - "nodeType": "YulExpressionStatement", - "src": "24008:34:16" - } - ] - }, - "name": "store_literal_in_memory_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "23921:6:16", - "type": "" - } - ], - "src": "23823:226:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24201:220:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "24211:74:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24277:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24282:2:16", - "type": "", - "value": "39" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "24218:58:16" - }, - "nodeType": "YulFunctionCall", - "src": "24218:67:16" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24211:3:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24383:3:16" - } - ], - "functionName": { - "name": "store_literal_in_memory_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13", - "nodeType": "YulIdentifier", - "src": "24294:88:16" - }, - "nodeType": "YulFunctionCall", - "src": "24294:93:16" - }, - "nodeType": "YulExpressionStatement", - "src": "24294:93:16" - }, - { - "nodeType": "YulAssignment", - "src": "24396:19:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24407:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24412:2:16", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24403:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "24403:12:16" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "24396:3:16" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "24189:3:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "24197:3:16", - "type": "" - } - ], - "src": "24055:366:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24598:248:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "24608:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24620:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24631:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24616:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "24616:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24608:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24655:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24666:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24651:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "24651:17:16" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24674:4:16" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24680:9:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "24670:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "24670:20:16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24644:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "24644:47:16" - }, - "nodeType": "YulExpressionStatement", - "src": "24644:47:16" - }, - { - "nodeType": "YulAssignment", - "src": "24700:139:16", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24834:4:16" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "24708:124:16" - }, - "nodeType": "YulFunctionCall", - "src": "24708:131:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24700:4:16" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "24578:9:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "24593:4:16", - "type": "" - } - ], - "src": "24427:419:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24958:121:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "24980:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24988:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24976:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "24976:14:16" - }, - { - "hexValue": "4e46544d61726b65743a2042656c6f7720746865206d696e696d756d20707269", - "kind": "string", - "nodeType": "YulLiteral", - "src": "24992:34:16", - "type": "", - "value": "NFTMarket: Below the minimum pri" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24969:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "24969:58:16" - }, - "nodeType": "YulExpressionStatement", - "src": "24969:58:16" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "25048:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25056:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25044:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "25044:15:16" - }, - { - "hexValue": "6365206c696d6974", - "kind": "string", - "nodeType": "YulLiteral", - "src": "25061:10:16", - "type": "", - "value": "ce limit" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25037:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "25037:35:16" - }, - "nodeType": "YulExpressionStatement", - "src": "25037:35:16" - } - ] - }, - "name": "store_literal_in_memory_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "24950:6:16", - "type": "" - } - ], - "src": "24852:227:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25231:220:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "25241:74:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25307:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25312:2:16", - "type": "", - "value": "40" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "25248:58:16" - }, - "nodeType": "YulFunctionCall", - "src": "25248:67:16" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25241:3:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25413:3:16" - } - ], - "functionName": { - "name": "store_literal_in_memory_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf", - "nodeType": "YulIdentifier", - "src": "25324:88:16" - }, - "nodeType": "YulFunctionCall", - "src": "25324:93:16" - }, - "nodeType": "YulExpressionStatement", - "src": "25324:93:16" - }, - { - "nodeType": "YulAssignment", - "src": "25426:19:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25437:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25442:2:16", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25433:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "25433:12:16" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "25426:3:16" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "25219:3:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "25227:3:16", - "type": "" - } - ], - "src": "25085:366:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25628:248:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "25638:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25650:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25661:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25646:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "25646:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25638:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25685:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25696:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25681:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "25681:17:16" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25704:4:16" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25710:9:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "25700:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "25700:20:16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25674:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "25674:47:16" - }, - "nodeType": "YulExpressionStatement", - "src": "25674:47:16" - }, - { - "nodeType": "YulAssignment", - "src": "25730:139:16", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25864:4:16" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "25738:124:16" - }, - "nodeType": "YulFunctionCall", - "src": "25738:131:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25730:4:16" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "25608:9:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "25623:4:16", - "type": "" - } - ], - "src": "25457:419:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26008:206:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "26018:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26030:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26041:2:16", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26026:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "26026:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26018:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "26098:6:16" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26111:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26122:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26107:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "26107:17:16" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "26054:43:16" - }, - "nodeType": "YulFunctionCall", - "src": "26054:71:16" - }, - "nodeType": "YulExpressionStatement", - "src": "26054:71:16" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "26179:6:16" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26192:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26203:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26188:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "26188:18:16" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "26135:43:16" - }, - "nodeType": "YulFunctionCall", - "src": "26135:72:16" - }, - "nodeType": "YulExpressionStatement", - "src": "26135:72:16" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "25972:9:16", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "25984:6:16", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "25992:6:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "26003:4:16", - "type": "" - } - ], - "src": "25882:332:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26326:76:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "26348:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26356:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26344:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "26344:14:16" - }, - { - "hexValue": "4e46544d61726b65743a20746f6b656e49642063616e206e6f74206265203021", - "kind": "string", - "nodeType": "YulLiteral", - "src": "26360:34:16", - "type": "", - "value": "NFTMarket: tokenId can not be 0!" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26337:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "26337:58:16" - }, - "nodeType": "YulExpressionStatement", - "src": "26337:58:16" - } - ] - }, - "name": "store_literal_in_memory_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "26318:6:16", - "type": "" - } - ], - "src": "26220:182:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26554:220:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "26564:74:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26630:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26635:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "26571:58:16" - }, - "nodeType": "YulFunctionCall", - "src": "26571:67:16" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26564:3:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26736:3:16" - } - ], - "functionName": { - "name": "store_literal_in_memory_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6", - "nodeType": "YulIdentifier", - "src": "26647:88:16" - }, - "nodeType": "YulFunctionCall", - "src": "26647:93:16" - }, - "nodeType": "YulExpressionStatement", - "src": "26647:93:16" - }, - { - "nodeType": "YulAssignment", - "src": "26749:19:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26760:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26765:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26756:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "26756:12:16" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "26749:3:16" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "26542:3:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "26550:3:16", - "type": "" - } - ], - "src": "26408:366:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26951:248:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "26961:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26973:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26984:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26969:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "26969:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26961:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27008:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27019:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27004:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "27004:17:16" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27027:4:16" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27033:9:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "27023:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "27023:20:16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26997:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "26997:47:16" - }, - "nodeType": "YulExpressionStatement", - "src": "26997:47:16" - }, - { - "nodeType": "YulAssignment", - "src": "27053:139:16", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27187:4:16" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "27061:124:16" - }, - "nodeType": "YulFunctionCall", - "src": "27061:131:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27053:4:16" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "26931:9:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "26946:4:16", - "type": "" - } - ], - "src": "26780:419:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27311:70:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "27333:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27341:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27329:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "27329:14:16" - }, - { - "hexValue": "4e46544d61726b65743a20556e737570706f72746564204e4654", - "kind": "string", - "nodeType": "YulLiteral", - "src": "27345:28:16", - "type": "", - "value": "NFTMarket: Unsupported NFT" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27322:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "27322:52:16" - }, - "nodeType": "YulExpressionStatement", - "src": "27322:52:16" - } - ] - }, - "name": "store_literal_in_memory_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "27303:6:16", - "type": "" - } - ], - "src": "27205:176:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27533:220:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27543:74:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27609:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27614:2:16", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "27550:58:16" - }, - "nodeType": "YulFunctionCall", - "src": "27550:67:16" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27543:3:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27715:3:16" - } - ], - "functionName": { - "name": "store_literal_in_memory_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3", - "nodeType": "YulIdentifier", - "src": "27626:88:16" - }, - "nodeType": "YulFunctionCall", - "src": "27626:93:16" - }, - "nodeType": "YulExpressionStatement", - "src": "27626:93:16" - }, - { - "nodeType": "YulAssignment", - "src": "27728:19:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27739:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27744:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27735:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "27735:12:16" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "27728:3:16" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "27521:3:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "27529:3:16", - "type": "" - } - ], - "src": "27387:366:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27930:248:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27940:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27952:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27963:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27948:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "27948:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27940:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27987:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27998:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27983:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "27983:17:16" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28006:4:16" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28012:9:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "28002:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "28002:20:16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27976:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "27976:47:16" - }, - "nodeType": "YulExpressionStatement", - "src": "27976:47:16" - }, - { - "nodeType": "YulAssignment", - "src": "28032:139:16", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28166:4:16" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "28040:124:16" - }, - "nodeType": "YulFunctionCall", - "src": "28040:131:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28032:4:16" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "27910:9:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "27925:4:16", - "type": "" - } - ], - "src": "27759:419:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28290:73:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "28312:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28320:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28308:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "28308:14:16" - }, - { - "hexValue": "4e46544d61726b65743a20556e737570706f7274656420746f6b656e73", - "kind": "string", - "nodeType": "YulLiteral", - "src": "28324:31:16", - "type": "", - "value": "NFTMarket: Unsupported tokens" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28301:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "28301:55:16" - }, - "nodeType": "YulExpressionStatement", - "src": "28301:55:16" - } - ] - }, - "name": "store_literal_in_memory_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "28282:6:16", - "type": "" - } - ], - "src": "28184:179:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28515:220:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28525:74:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28591:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28596:2:16", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "28532:58:16" - }, - "nodeType": "YulFunctionCall", - "src": "28532:67:16" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28525:3:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28697:3:16" - } - ], - "functionName": { - "name": "store_literal_in_memory_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7", - "nodeType": "YulIdentifier", - "src": "28608:88:16" - }, - "nodeType": "YulFunctionCall", - "src": "28608:93:16" - }, - "nodeType": "YulExpressionStatement", - "src": "28608:93:16" - }, - { - "nodeType": "YulAssignment", - "src": "28710:19:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28721:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28726:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28717:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "28717:12:16" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "28710:3:16" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "28503:3:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "28511:3:16", - "type": "" - } - ], - "src": "28369:366:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28912:248:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28922:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28934:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28945:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28930:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "28930:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28922:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28969:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28980:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28965:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "28965:17:16" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28988:4:16" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28994:9:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "28984:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "28984:20:16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28958:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "28958:47:16" - }, - "nodeType": "YulExpressionStatement", - "src": "28958:47:16" - }, - { - "nodeType": "YulAssignment", - "src": "29014:139:16", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "29148:4:16" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "29022:124:16" - }, - "nodeType": "YulFunctionCall", - "src": "29022:131:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "29014:4:16" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "28892:9:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "28907:4:16", - "type": "" - } - ], - "src": "28741:419:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29210:261:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29220:25:16", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29243:1:16" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29225:17:16" - }, - "nodeType": "YulFunctionCall", - "src": "29225:20:16" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29220:1:16" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "29254:25:16", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29277:1:16" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29259:17:16" - }, - "nodeType": "YulFunctionCall", - "src": "29259:20:16" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29254:1:16" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29417:22:16", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "29419:16:16" - }, - "nodeType": "YulFunctionCall", - "src": "29419:18:16" - }, - "nodeType": "YulExpressionStatement", - "src": "29419:18:16" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29338:1:16" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29345:66:16", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29413:1:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "29341:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "29341:74:16" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "29335:2:16" - }, - "nodeType": "YulFunctionCall", - "src": "29335:81:16" - }, - "nodeType": "YulIf", - "src": "29332:107:16" - }, - { - "nodeType": "YulAssignment", - "src": "29449:16:16", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29460:1:16" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29463:1:16" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29456:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "29456:9:16" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "29449:3:16" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "29197:1:16", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "29200:1:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "29206:3:16", - "type": "" - } - ], - "src": "29166:305:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29583:116:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "29605:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29613:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29601:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "29601:14:16" - }, - { - "hexValue": "4e46544d61726b65743a2045524337323120616d6f756e74206d757374206265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "29617:34:16", - "type": "", - "value": "NFTMarket: ERC721 amount must be" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29594:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "29594:58:16" - }, - "nodeType": "YulExpressionStatement", - "src": "29594:58:16" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "29673:6:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29681:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29669:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "29669:15:16" - }, - { - "hexValue": "203120", - "kind": "string", - "nodeType": "YulLiteral", - "src": "29686:5:16", - "type": "", - "value": " 1 " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29662:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "29662:30:16" - }, - "nodeType": "YulExpressionStatement", - "src": "29662:30:16" - } - ] - }, - "name": "store_literal_in_memory_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "29575:6:16", - "type": "" - } - ], - "src": "29477:222:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29851:220:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29861:74:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29927:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29932:2:16", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "29868:58:16" - }, - "nodeType": "YulFunctionCall", - "src": "29868:67:16" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29861:3:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30033:3:16" - } - ], - "functionName": { - "name": "store_literal_in_memory_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f", - "nodeType": "YulIdentifier", - "src": "29944:88:16" - }, - "nodeType": "YulFunctionCall", - "src": "29944:93:16" - }, - "nodeType": "YulExpressionStatement", - "src": "29944:93:16" - }, - { - "nodeType": "YulAssignment", - "src": "30046:19:16", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30057:3:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30062:2:16", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30053:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "30053:12:16" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "30046:3:16" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "29839:3:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "29847:3:16", - "type": "" - } - ], - "src": "29705:366:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30248:248:16", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "30258:26:16", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30270:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30281:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30266:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "30266:18:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30258:4:16" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30305:9:16" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30316:1:16", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30301:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "30301:17:16" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30324:4:16" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30330:9:16" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "30320:3:16" - }, - "nodeType": "YulFunctionCall", - "src": "30320:20:16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30294:6:16" - }, - "nodeType": "YulFunctionCall", - "src": "30294:47:16" - }, - "nodeType": "YulExpressionStatement", - "src": "30294:47:16" - }, - { - "nodeType": "YulAssignment", - "src": "30350:139:16", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30484:4:16" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "30358:124:16" - }, - "nodeType": "YulFunctionCall", - "src": "30358:131:16" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30350:4:16" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "30228:9:16", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "30243:4:16", - "type": "" - } - ], - "src": "30077:419:16" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30597:73:16", + "src": "20916:73:16", "statements": [ { "expression": { @@ -14882,39 +11400,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30614:3:16" + "src": "20933:3:16" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "30619:6:16" + "src": "20938:6:16" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "30607:6:16" + "src": "20926:6:16" }, "nodeType": "YulFunctionCall", - "src": "30607:19:16" + "src": "20926:19:16" }, "nodeType": "YulExpressionStatement", - "src": "30607:19:16" + "src": "20926:19:16" }, { "nodeType": "YulAssignment", - "src": "30635:29:16", + "src": "20954:29:16", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30654:3:16" + "src": "20973:3:16" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30659:4:16", + "src": "20978:4:16", "type": "", "value": "0x20" } @@ -14922,16 +11440,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30650:3:16" + "src": "20969:3:16" }, "nodeType": "YulFunctionCall", - "src": "30650:14:16" + "src": "20969:14:16" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "30635:11:16" + "src": "20954:11:16" } ] } @@ -14943,13 +11461,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "30569:3:16", + "src": "20888:3:16", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "30574:6:16", + "src": "20893:6:16", "type": "" } ], @@ -14957,16 +11475,16 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "30585:11:16", + "src": "20904:11:16", "type": "" } ], - "src": "30502:168:16" + "src": "20821:168:16" }, { "body": { "nodeType": "YulBlock", - "src": "30782:8:16", + "src": "21101:8:16", "statements": [] }, "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -14975,31 +11493,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "30774:6:16", + "src": "21093:6:16", "type": "" } ], - "src": "30676:114:16" + "src": "20995:114:16" }, { "body": { "nodeType": "YulBlock", - "src": "30941:217:16", + "src": "21260:217:16", "statements": [ { "nodeType": "YulAssignment", - "src": "30951:72:16", + "src": "21270:72:16", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "31016:3:16" + "src": "21335:3:16" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31021:1:16", + "src": "21340:1:16", "type": "", "value": "0" } @@ -15007,16 +11525,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "30958:57:16" + "src": "21277:57:16" }, "nodeType": "YulFunctionCall", - "src": "30958:65:16" + "src": "21277:65:16" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30951:3:16" + "src": "21270:3:16" } ] }, @@ -15026,34 +11544,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "31121:3:16" + "src": "21440:3:16" } ], "functionName": { "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "nodeType": "YulIdentifier", - "src": "31032:88:16" + "src": "21351:88:16" }, "nodeType": "YulFunctionCall", - "src": "31032:93:16" + "src": "21351:93:16" }, "nodeType": "YulExpressionStatement", - "src": "31032:93:16" + "src": "21351:93:16" }, { "nodeType": "YulAssignment", - "src": "31134:18:16", + "src": "21453:18:16", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "31145:3:16" + "src": "21464:3:16" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31150:1:16", + "src": "21469:1:16", "type": "", "value": "0" } @@ -15061,16 +11579,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31141:3:16" + "src": "21460:3:16" }, "nodeType": "YulFunctionCall", - "src": "31141:11:16" + "src": "21460:11:16" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "31134:3:16" + "src": "21453:3:16" } ] } @@ -15082,7 +11600,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "30929:3:16", + "src": "21248:3:16", "type": "" } ], @@ -15090,31 +11608,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "30937:3:16", + "src": "21256:3:16", "type": "" } ], - "src": "30796:362:16" + "src": "21115:362:16" }, { "body": { "nodeType": "YulBlock", - "src": "31446:577:16", + "src": "21765:577:16", "statements": [ { "nodeType": "YulAssignment", - "src": "31456:27:16", + "src": "21775:27:16", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31468:9:16" + "src": "21787:9:16" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31479:3:16", + "src": "21798:3:16", "type": "", "value": "160" } @@ -15122,16 +11640,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31464:3:16" + "src": "21783:3:16" }, "nodeType": "YulFunctionCall", - "src": "31464:19:16" + "src": "21783:19:16" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "31456:4:16" + "src": "21775:4:16" } ] }, @@ -15141,19 +11659,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "31537:6:16" + "src": "21856:6:16" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31550:9:16" + "src": "21869:9:16" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31561:1:16", + "src": "21880:1:16", "type": "", "value": "0" } @@ -15161,22 +11679,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31546:3:16" + "src": "21865:3:16" }, "nodeType": "YulFunctionCall", - "src": "31546:17:16" + "src": "21865:17:16" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "31493:43:16" + "src": "21812:43:16" }, "nodeType": "YulFunctionCall", - "src": "31493:71:16" + "src": "21812:71:16" }, "nodeType": "YulExpressionStatement", - "src": "31493:71:16" + "src": "21812:71:16" }, { "expression": { @@ -15184,19 +11702,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "31618:6:16" + "src": "21937:6:16" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31631:9:16" + "src": "21950:9:16" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31642:2:16", + "src": "21961:2:16", "type": "", "value": "32" } @@ -15204,22 +11722,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31627:3:16" + "src": "21946:3:16" }, "nodeType": "YulFunctionCall", - "src": "31627:18:16" + "src": "21946:18:16" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "31574:43:16" + "src": "21893:43:16" }, "nodeType": "YulFunctionCall", - "src": "31574:72:16" + "src": "21893:72:16" }, "nodeType": "YulExpressionStatement", - "src": "31574:72:16" + "src": "21893:72:16" }, { "expression": { @@ -15227,19 +11745,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "31700:6:16" + "src": "22019:6:16" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31713:9:16" + "src": "22032:9:16" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31724:2:16", + "src": "22043:2:16", "type": "", "value": "64" } @@ -15247,22 +11765,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31709:3:16" + "src": "22028:3:16" }, "nodeType": "YulFunctionCall", - "src": "31709:18:16" + "src": "22028:18:16" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "31656:43:16" + "src": "21975:43:16" }, "nodeType": "YulFunctionCall", - "src": "31656:72:16" + "src": "21975:72:16" }, "nodeType": "YulExpressionStatement", - "src": "31656:72:16" + "src": "21975:72:16" }, { "expression": { @@ -15270,19 +11788,19 @@ { "name": "value3", "nodeType": "YulIdentifier", - "src": "31782:6:16" + "src": "22101:6:16" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31795:9:16" + "src": "22114:9:16" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31806:2:16", + "src": "22125:2:16", "type": "", "value": "96" } @@ -15290,22 +11808,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31791:3:16" + "src": "22110:3:16" }, "nodeType": "YulFunctionCall", - "src": "31791:18:16" + "src": "22110:18:16" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "31738:43:16" + "src": "22057:43:16" }, "nodeType": "YulFunctionCall", - "src": "31738:72:16" + "src": "22057:72:16" }, "nodeType": "YulExpressionStatement", - "src": "31738:72:16" + "src": "22057:72:16" }, { "expression": { @@ -15315,12 +11833,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31831:9:16" + "src": "22150:9:16" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31842:3:16", + "src": "22161:3:16", "type": "", "value": "128" } @@ -15328,68 +11846,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31827:3:16" + "src": "22146:3:16" }, "nodeType": "YulFunctionCall", - "src": "31827:19:16" + "src": "22146:19:16" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "31852:4:16" + "src": "22171:4:16" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31858:9:16" + "src": "22177:9:16" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "31848:3:16" + "src": "22167:3:16" }, "nodeType": "YulFunctionCall", - "src": "31848:20:16" + "src": "22167:20:16" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "31820:6:16" + "src": "22139:6:16" }, "nodeType": "YulFunctionCall", - "src": "31820:49:16" + "src": "22139:49:16" }, "nodeType": "YulExpressionStatement", - "src": "31820:49:16" + "src": "22139:49:16" }, { "nodeType": "YulAssignment", - "src": "31878:138:16", + "src": "22197:138:16", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32011:4:16" + "src": "22330:4:16" } ], "functionName": { "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "31886:123:16" + "src": "22205:123:16" }, "nodeType": "YulFunctionCall", - "src": "31886:130:16" + "src": "22205:130:16" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "31878:4:16" + "src": "22197:4:16" } ] } @@ -15401,31 +11919,31 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "31394:9:16", + "src": "21713:9:16", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "31406:6:16", + "src": "21725:6:16", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "31414:6:16", + "src": "21733:6:16", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "31422:6:16", + "src": "21741:6:16", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "31430:6:16", + "src": "21749:6:16", "type": "" } ], @@ -15433,11 +11951,3479 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "31441:4:16", + "src": "21760:4:16", "type": "" } ], - "src": "31164:859:16" + "src": "21483:859:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22454:128:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22476:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22484:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22472:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "22472:14:16" + }, + { + "hexValue": "4e46544d61726b65743a20666565207265636569766564206164647265737320", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22488:34:16", + "type": "", + "value": "NFTMarket: fee received address " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22465:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "22465:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "22465:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22544:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22552:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22540:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "22540:15:16" + }, + { + "hexValue": "63616e206e6f74206265207a65726f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22557:17:16", + "type": "", + "value": "can not be zero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22533:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "22533:42:16" + }, + "nodeType": "YulExpressionStatement", + "src": "22533:42:16" + } + ] + }, + "name": "store_literal_in_memory_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22446:6:16", + "type": "" + } + ], + "src": "22348:234:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22734:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22744:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22810:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22815:2:16", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22751:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "22751:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22744:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22916:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6", + "nodeType": "YulIdentifier", + "src": "22827:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "22827:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "22827:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "22929:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22940:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22945:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22936:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "22936:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22929:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22722:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22730:3:16", + "type": "" + } + ], + "src": "22588:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23131:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23141:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23153:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23164:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23149:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "23149:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23141:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23188:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23199:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23184:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "23184:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23207:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23213:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23203:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "23203:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23177:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "23177:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "23177:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "23233:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23367:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23241:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "23241:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23233:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23111:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23126:4:16", + "type": "" + } + ], + "src": "22960:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23491:73:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23513:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23521:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23509:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "23509:14:16" + }, + { + "hexValue": "4e46544d61726b65743a204e465420646f6573206e6f74206578697374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23525:31:16", + "type": "", + "value": "NFTMarket: NFT does not exist" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23502:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "23502:55:16" + }, + "nodeType": "YulExpressionStatement", + "src": "23502:55:16" + } + ] + }, + "name": "store_literal_in_memory_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23483:6:16", + "type": "" + } + ], + "src": "23385:179:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23716:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23726:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23792:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23797:2:16", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23733:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "23733:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23726:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23898:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400", + "nodeType": "YulIdentifier", + "src": "23809:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "23809:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "23809:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "23911:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23922:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23927:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23918:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "23918:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "23911:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23704:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23712:3:16", + "type": "" + } + ], + "src": "23570:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24113:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24123:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24135:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24146:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24131:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "24131:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24123:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24170:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24181:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24166:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "24166:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24189:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24195:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24185:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "24185:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24159:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "24159:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "24159:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "24215:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24349:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24223:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "24223:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24215:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24093:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24108:4:16", + "type": "" + } + ], + "src": "23942:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24473:74:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24495:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24503:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24491:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "24491:14:16" + }, + { + "hexValue": "4e46544d61726b65743a2063616c6c6572206973206e6f74206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24507:32:16", + "type": "", + "value": "NFTMarket: caller is not owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24484:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "24484:56:16" + }, + "nodeType": "YulExpressionStatement", + "src": "24484:56:16" + } + ] + }, + "name": "store_literal_in_memory_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24465:6:16", + "type": "" + } + ], + "src": "24367:180:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24699:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24709:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24775:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24780:2:16", + "type": "", + "value": "30" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24716:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "24716:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24709:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24881:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47", + "nodeType": "YulIdentifier", + "src": "24792:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "24792:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "24792:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "24894:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24905:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24910:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24901:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "24901:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24894:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24687:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24695:3:16", + "type": "" + } + ], + "src": "24553:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25096:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25106:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25118:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25129:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25114:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25114:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25106:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25153:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25164:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25149:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25149:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25172:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25178:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25168:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25168:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25142:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "25142:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "25142:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "25198:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25332:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25206:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "25206:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25198:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25076:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25091:4:16", + "type": "" + } + ], + "src": "24925:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25456:120:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25478:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25486:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25474:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25474:14:16" + }, + { + "hexValue": "4e46544d61726b65743a204d6178696d756d207072696365206c696d69742065", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25490:34:16", + "type": "", + "value": "NFTMarket: Maximum price limit e" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25467:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "25467:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "25467:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25546:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25554:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25542:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25542:15:16" + }, + { + "hexValue": "78636565646564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25559:9:16", + "type": "", + "value": "xceeded" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25535:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "25535:34:16" + }, + "nodeType": "YulExpressionStatement", + "src": "25535:34:16" + } + ] + }, + "name": "store_literal_in_memory_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "25448:6:16", + "type": "" + } + ], + "src": "25350:226:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25728:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25738:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25804:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25809:2:16", + "type": "", + "value": "39" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25745:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "25745:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25738:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25910:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13", + "nodeType": "YulIdentifier", + "src": "25821:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "25821:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "25821:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "25923:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25934:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25939:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25930:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25930:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "25923:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25716:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25724:3:16", + "type": "" + } + ], + "src": "25582:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26125:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26135:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26147:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26158:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26143:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26143:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26135:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26182:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26193:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26178:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26178:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26201:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26207:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26197:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26197:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26171:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "26171:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "26171:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "26227:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26361:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26235:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "26235:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26227:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26105:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26120:4:16", + "type": "" + } + ], + "src": "25954:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26485:121:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "26507:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26515:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26503:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26503:14:16" + }, + { + "hexValue": "4e46544d61726b65743a2042656c6f7720746865206d696e696d756d20707269", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26519:34:16", + "type": "", + "value": "NFTMarket: Below the minimum pri" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26496:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "26496:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "26496:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "26575:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26583:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26571:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26571:15:16" + }, + { + "hexValue": "6365206c696d6974", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26588:10:16", + "type": "", + "value": "ce limit" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26564:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "26564:35:16" + }, + "nodeType": "YulExpressionStatement", + "src": "26564:35:16" + } + ] + }, + "name": "store_literal_in_memory_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "26477:6:16", + "type": "" + } + ], + "src": "26379:227:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26758:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26768:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26834:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26839:2:16", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26775:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "26775:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26768:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26940:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf", + "nodeType": "YulIdentifier", + "src": "26851:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "26851:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "26851:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "26953:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26964:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26969:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26960:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26960:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26953:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26746:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26754:3:16", + "type": "" + } + ], + "src": "26612:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27155:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27165:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27177:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27188:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27173:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27173:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27165:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27212:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27223:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27208:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27208:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27231:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27237:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27227:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27227:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27201:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "27201:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "27201:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "27257:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27391:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27265:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "27265:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27257:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27135:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27150:4:16", + "type": "" + } + ], + "src": "26984:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27535:206:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27545:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27557:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27568:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27553:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27553:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27545:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "27625:6:16" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27638:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27649:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27634:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27634:17:16" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "27581:43:16" + }, + "nodeType": "YulFunctionCall", + "src": "27581:71:16" + }, + "nodeType": "YulExpressionStatement", + "src": "27581:71:16" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "27706:6:16" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27719:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27730:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27715:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27715:18:16" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "27662:43:16" + }, + "nodeType": "YulFunctionCall", + "src": "27662:72:16" + }, + "nodeType": "YulExpressionStatement", + "src": "27662:72:16" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27499:9:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "27511:6:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "27519:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27530:4:16", + "type": "" + } + ], + "src": "27409:332:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27853:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27875:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27883:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27871:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27871:14:16" + }, + { + "hexValue": "4e46544d61726b65743a20746f6b656e49642063616e206e6f74206265203021", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27887:34:16", + "type": "", + "value": "NFTMarket: tokenId can not be 0!" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27864:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "27864:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "27864:58:16" + } + ] + }, + "name": "store_literal_in_memory_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27845:6:16", + "type": "" + } + ], + "src": "27747:182:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28081:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28091:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28157:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28162:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28098:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "28098:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28091:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28263:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6", + "nodeType": "YulIdentifier", + "src": "28174:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "28174:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "28174:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "28276:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28287:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28292:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28283:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28283:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28276:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "28069:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "28077:3:16", + "type": "" + } + ], + "src": "27935:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28478:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28488:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28500:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28511:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28496:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28496:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28488:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28535:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28546:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28531:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28531:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28554:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28560:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28550:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28550:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28524:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "28524:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "28524:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "28580:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28714:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28588:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "28588:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28580:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28458:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28473:4:16", + "type": "" + } + ], + "src": "28307:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28838:70:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28860:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28868:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28856:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28856:14:16" + }, + { + "hexValue": "4e46544d61726b65743a20556e737570706f72746564204e4654", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28872:28:16", + "type": "", + "value": "NFTMarket: Unsupported NFT" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28849:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "28849:52:16" + }, + "nodeType": "YulExpressionStatement", + "src": "28849:52:16" + } + ] + }, + "name": "store_literal_in_memory_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "28830:6:16", + "type": "" + } + ], + "src": "28732:176:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29060:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29070:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29136:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29141:2:16", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29077:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "29077:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29070:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29242:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3", + "nodeType": "YulIdentifier", + "src": "29153:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "29153:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "29153:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "29255:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29266:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29271:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29262:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29262:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "29255:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "29048:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "29056:3:16", + "type": "" + } + ], + "src": "28914:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29457:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29467:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29479:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29490:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29475:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29475:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29467:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29514:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29525:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29510:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29510:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29533:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29539:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29529:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29529:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29503:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "29503:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "29503:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "29559:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29693:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29567:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "29567:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29559:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29437:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29452:4:16", + "type": "" + } + ], + "src": "29286:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29817:73:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29839:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29847:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29835:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29835:14:16" + }, + { + "hexValue": "4e46544d61726b65743a20556e737570706f7274656420746f6b656e73", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29851:31:16", + "type": "", + "value": "NFTMarket: Unsupported tokens" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29828:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "29828:55:16" + }, + "nodeType": "YulExpressionStatement", + "src": "29828:55:16" + } + ] + }, + "name": "store_literal_in_memory_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29809:6:16", + "type": "" + } + ], + "src": "29711:179:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30042:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30052:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30118:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30123:2:16", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30059:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "30059:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30052:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30224:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7", + "nodeType": "YulIdentifier", + "src": "30135:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "30135:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "30135:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "30237:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30248:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30253:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30244:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30244:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30237:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "30030:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30038:3:16", + "type": "" + } + ], + "src": "29896:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30439:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30449:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30461:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30472:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30457:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30457:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30449:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30496:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30507:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30492:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30492:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30515:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30521:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "30511:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30511:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30485:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "30485:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "30485:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "30541:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30675:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30549:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "30549:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30541:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30419:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30434:4:16", + "type": "" + } + ], + "src": "30268:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30737:261:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30747:25:16", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30770:1:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "30752:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "30752:20:16" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30747:1:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "30781:25:16", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "30804:1:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "30786:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "30786:20:16" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "30781:1:16" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30944:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "30946:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "30946:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "30946:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30865:1:16" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30872:66:16", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "30940:1:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "30868:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30868:74:16" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "30862:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "30862:81:16" + }, + "nodeType": "YulIf", + "src": "30859:107:16" + }, + { + "nodeType": "YulAssignment", + "src": "30976:16:16", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30987:1:16" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "30990:1:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30983:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30983:9:16" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "30976:3:16" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "30724:1:16", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "30727:1:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "30733:3:16", + "type": "" + } + ], + "src": "30693:305:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31110:116:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31132:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31140:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31128:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31128:14:16" + }, + { + "hexValue": "4e46544d61726b65743a2045524337323120616d6f756e74206d757374206265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31144:34:16", + "type": "", + "value": "NFTMarket: ERC721 amount must be" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31121:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "31121:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "31121:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31200:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31208:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31196:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31196:15:16" + }, + { + "hexValue": "203120", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31213:5:16", + "type": "", + "value": " 1 " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31189:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "31189:30:16" + }, + "nodeType": "YulExpressionStatement", + "src": "31189:30:16" + } + ] + }, + "name": "store_literal_in_memory_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31102:6:16", + "type": "" + } + ], + "src": "31004:222:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31378:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31388:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31454:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31459:2:16", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31395:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "31395:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31388:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31560:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f", + "nodeType": "YulIdentifier", + "src": "31471:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "31471:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "31471:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "31573:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31584:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31589:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31580:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31580:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31573:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31366:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31374:3:16", + "type": "" + } + ], + "src": "31232:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31775:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31785:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31797:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31808:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31793:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31793:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31785:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31832:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31843:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31828:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31828:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31851:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31857:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31847:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31847:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31821:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "31821:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "31821:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "31877:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32011:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31885:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "31885:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31877:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31755:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31770:4:16", + "type": "" + } + ], + "src": "31604:419:16" }, { "body": { @@ -19783,15 +19769,15 @@ } ] }, - "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 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 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 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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 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 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(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\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(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_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\n\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_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 abi_decode_tuple_t_uint256t_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_uint256(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_encode_tuple_t_uint256_t_uint256_t_uint256_t_address_t_uint256_t_address_t_address__to_t_uint256_t_uint256_t_uint256_t_address_t_uint256_t_address_t_address__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_address_to_t_address_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_address_to_t_address_fromStack(value6, add(headStart, 192))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { 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 := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { 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 := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(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_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { 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 := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\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 store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__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_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function 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\n function store_literal_in_memory_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: _transactionFee must \")\n\n mstore(add(memPtr, 32), \">= 0.5% and <= 10%\")\n\n }\n\n function abi_encode_t_stringliteral_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1__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_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: minLimit can not be l\")\n\n mstore(add(memPtr, 32), \"arger than max limit!\")\n\n }\n\n function abi_encode_t_stringliteral_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n store_literal_in_memory_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74__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_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619(memPtr) {\n\n mstore(add(memPtr, 0), \"ReentrancyGuard: reentrant call\")\n\n }\n\n function abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__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_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: cancel caller is not \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7__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_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\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 }\n\n function store_literal_in_memory_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: fee received address \")\n\n mstore(add(memPtr, 32), \"can not be zero\")\n\n }\n\n function abi_encode_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6__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_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: NFT does not exist\")\n\n }\n\n function abi_encode_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400__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_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: caller is not owner\")\n\n }\n\n function abi_encode_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 30)\n store_literal_in_memory_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47__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_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: Maximum price limit e\")\n\n mstore(add(memPtr, 32), \"xceeded\")\n\n }\n\n function abi_encode_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13__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_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: Below the minimum pri\")\n\n mstore(add(memPtr, 32), \"ce limit\")\n\n }\n\n function abi_encode_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf__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_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: tokenId can not be 0!\")\n\n }\n\n function abi_encode_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6__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_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: Unsupported NFT\")\n\n }\n\n function abi_encode_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3__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_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: Unsupported tokens\")\n\n }\n\n function abi_encode_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7__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_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: ERC721 amount must be\")\n\n mstore(add(memPtr, 32), \" 1 \")\n\n }\n\n function abi_encode_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f__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_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\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 abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_address_t_uint256__to_t_uint256_t_uint256_t_address_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function store_literal_in_memory_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: maxLimit can not be l\")\n\n mstore(add(memPtr, 32), \"ess than min limit!\")\n\n }\n\n function abi_encode_t_stringliteral_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 51)\n store_literal_in_memory_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862__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_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: ERC20 address is zero\")\n\n }\n\n function abi_encode_t_stringliteral_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4__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_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function abi_encode_tuple_t_uint256_t_address_t_uint256_t_address_t_address_t_address_t_uint256__to_t_uint256_t_address_t_uint256_t_address_t_address_t_address_t_uint256__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\n\n abi_encode_t_uint256_to_t_uint256_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 abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_address_to_t_address_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 192))\n\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__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_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_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_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(memPtr) {\n\n mstore(add(memPtr, 0), \"SafeERC20: ERC20 operation did n\")\n\n mstore(add(memPtr, 32), \"ot succeed\")\n\n }\n\n function abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__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_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: insufficient balance fo\")\n\n mstore(add(memPtr, 32), \"r call\")\n\n }\n\n function abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__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_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: call to non-contract\")\n\n }\n\n function abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function copy_memory_to_memory(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 if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\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(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}\n", + "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 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 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 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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 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 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(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\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(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_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\n\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_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 abi_decode_tuple_t_uint256t_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_uint256(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_encode_tuple_t_uint256_t_uint256_t_uint256_t_address_t_uint256_t_address_t_address__to_t_uint256_t_uint256_t_uint256_t_address_t_uint256_t_address_t_address__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_address_to_t_address_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_address_to_t_address_fromStack(value6, add(headStart, 192))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { 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 := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { 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 := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(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_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { 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 := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\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 store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__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_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function 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\n function store_literal_in_memory_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: _transactionFee must \")\n\n mstore(add(memPtr, 32), \">= 0.5% and <= 10%\")\n\n }\n\n function abi_encode_t_stringliteral_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1__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_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: minLimit can not be l\")\n\n mstore(add(memPtr, 32), \"arger than max limit!\")\n\n }\n\n function abi_encode_t_stringliteral_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n store_literal_in_memory_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74__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_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619(memPtr) {\n\n mstore(add(memPtr, 0), \"ReentrancyGuard: reentrant call\")\n\n }\n\n function abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__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_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: cancel caller is not \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7__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_6c69d55baef5686650b822d5a2151c42b0bd1b4c242a3a333d38245088445ad7_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\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 }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\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 abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: fee received address \")\n\n mstore(add(memPtr, 32), \"can not be zero\")\n\n }\n\n function abi_encode_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6__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_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: NFT does not exist\")\n\n }\n\n function abi_encode_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400__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_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: caller is not owner\")\n\n }\n\n function abi_encode_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 30)\n store_literal_in_memory_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47__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_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: Maximum price limit e\")\n\n mstore(add(memPtr, 32), \"xceeded\")\n\n }\n\n function abi_encode_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13__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_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: Below the minimum pri\")\n\n mstore(add(memPtr, 32), \"ce limit\")\n\n }\n\n function abi_encode_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf__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_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: tokenId can not be 0!\")\n\n }\n\n function abi_encode_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6__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_1fc5a8353b7bcb96529893a4f9e0592462a8f8c7bd48c223d208a6f163e4a4e6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: Unsupported NFT\")\n\n }\n\n function abi_encode_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3__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_668e670f389ea2022d2f202bf010ba2ff684105eb9bb5b434c96388c4e3e7bf3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: Unsupported tokens\")\n\n }\n\n function abi_encode_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7__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_7a7ddd2c378b25a00c9aa179120048f3c19b76cd5d3231da609df84a5107a4d7_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: ERC721 amount must be\")\n\n mstore(add(memPtr, 32), \" 1 \")\n\n }\n\n function abi_encode_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f__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_8a599a619c1e8bd2d1e81301b146ddc5ec086633a69609a7dfe1d0df5476209f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_address_t_uint256__to_t_uint256_t_uint256_t_address_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function store_literal_in_memory_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: maxLimit can not be l\")\n\n mstore(add(memPtr, 32), \"ess than min limit!\")\n\n }\n\n function abi_encode_t_stringliteral_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 51)\n store_literal_in_memory_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862__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_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4(memPtr) {\n\n mstore(add(memPtr, 0), \"NFTMarket: ERC20 address is zero\")\n\n }\n\n function abi_encode_t_stringliteral_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4__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_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function abi_encode_tuple_t_uint256_t_address_t_uint256_t_address_t_address_t_address_t_uint256__to_t_uint256_t_address_t_uint256_t_address_t_address_t_address_t_uint256__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\n\n abi_encode_t_uint256_to_t_uint256_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 abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_address_to_t_address_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 192))\n\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__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_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_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_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(memPtr) {\n\n mstore(add(memPtr, 0), \"SafeERC20: ERC20 operation did n\")\n\n mstore(add(memPtr, 32), \"ot succeed\")\n\n }\n\n function abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__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_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: insufficient balance fo\")\n\n mstore(add(memPtr, 32), \"r call\")\n\n }\n\n function abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__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_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: call to non-contract\")\n\n }\n\n function abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function copy_memory_to_memory(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 if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\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(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}\n", "id": 16, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "559:7742:15:-:0;;;2091:3;2034:7;2078:1;:9;;;;:::i;:::-;2077:17;;;;:::i;:::-;2045:49;;559:7742;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;1701:1:1;1806:7;:22;;;;559:7742:15;;640:96:12;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;7:77:16:-;44:7;73:5;62:16;;7:77;;;:::o;90:180::-;138:77;135:1;128:88;235:4;232:1;225:15;259:4;256:1;249:15;276:348;316:7;339:20;357:1;339:20;:::i;:::-;334:25;;373:20;391:1;373:20;:::i;:::-;368:25;;561:1;493:66;489:74;486:1;483:81;478:1;471:9;464:17;460:105;457:131;;;568:18;;:::i;:::-;457:131;616:1;613;609:9;598:20;;276:348;;;;:::o;630:180::-;678:77;675:1;668:88;775:4;772:1;765:15;799:4;796:1;789:15;816:185;856:1;873:20;891:1;873:20;:::i;:::-;868:25;;907:20;925:1;907:20;:::i;:::-;902:25;;946:1;936:35;;951:18;;:::i;:::-;936:35;993:1;990;986:9;981:14;;816:185;;;;:::o;559:7742:15:-;;;;;;;", - "deployedSourceMap": "559:7742:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;387:221:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2302:27:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7807:289;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;588:200:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7476:327:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;891:48;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2334:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1099:51;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6704:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6407:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5073:455;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8100:199;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1977:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;840:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2233:64;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:0;;;:::i;:::-;;5532:727:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6263:140;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1036:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;943:46:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2045:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6558:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2132:64;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;993:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;2360:1466;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7204:268;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6857:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;724:247:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1044:51:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3830:1239;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;499:219:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7062:138:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;387:221:5;489:4;527:34;512:49;;;:11;:49;;;;:89;;;;565:36;589:11;565:23;:36::i;:::-;512:89;505:96;;387:221;;;:::o;2302:27:15:-;;;;;;;;;;;;;:::o;7807:289::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2192:4:15::1;2034:7;2179:1;:9;;;;:::i;:::-;2178:18;;;;:::i;:::-;7899:15;:38;;:88;;;;;2294:3;2034:7;2280:2;:10;;;;:::i;:::-;2279:18;;;;:::i;:::-;7949:15;:38;;7899:88;7884:169;;;;;;;;;;;;:::i;:::-;;;;;;;;;8076:15;8059:14;:32;;;;7807:289:::0;:::o;588:200:10:-;726:6;751:30;;;744:37;;588:200;;;;;;:::o;7476:327:15:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7610:1:15::1;7580:16;:26;7597:8;7580:26;;;;;;;;;;;;;;;;:31;7576:180;;7650:16;:26;7667:8;7650:26;;;;;;;;;;;;;;;;7638:8;:38;;7621:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;7576:180;7790:8;7761:16;:26;7778:8;7761:26;;;;;;;;;;;;;;;:37;;;;7476:327:::0;;:::o;891:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2334:21::-;;;;:::o;1099:51::-;;;;;;;;;;;;;;;;;:::o;6704:149::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6806:5:15::1;6777:16;:26;6794:8;6777:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;6822:26;6839:8;6822:26;;;;;;:::i;:::-;;;;;;;;6704:149:::0;:::o;6407:147::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6507:5:15::1;6479:15;:25;6495:8;6479:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;6523:26;6540:8;6523:26;;;;;;:::i;:::-;;;;;;;;6407:147:::0;:::o;5073:455::-;1744:1:1;2325:7;;:19;;2317:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1744:1;2455:7;:18;;;;5183:10:15::1;5154:39;;:10;:19;5165:7;5154:19;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;5139:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;5252:26;5281:10;:19;5292:7;5281:19;;;;;;;;;;;5252:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;5314:9;:18;;;5306:44;;;5366:4;5379:10;5397:9;:17;;;5306:114;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5433:10;:19;5444:7;5433:19;;;;;;;;;;;;5426:26:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5505:9;:17;;;5485:9;:18;;;5464:59;;5476:7;5464:59;;;;;;;;;;5133:395;1701:1:1::0;2628:7;:22;;;;5073:455:15;:::o;8100:199::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8206:1:15::1;8181:27;;:13;:27;;;;8173:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;8281:13;8266:12;;:28;;;;;;;;;;;;;;;;;;8100:199:::0;:::o;1977:27::-;;;;:::o;840:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;2233:64::-;2294:3;2034:7;2280:2;:10;;;;:::i;:::-;2279:18;;;;:::i;:::-;2233:64;:::o;1668:101:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;5532:727:15:-;5600:26;5629:10;:19;5640:7;5629:19;;;;;;;;;;;5600:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5683:1;5662:9;:17;;;:22;;5654:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5751:10;5732:29;;:9;:15;;;:29;;;5724:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;5826:16;:36;5843:9;:18;;;5826:36;;;;;;;;;;;;;;;;5817:5;:45;;:90;;;;5906:1;5866:16;:36;5883:9;:18;;;5866:36;;;;;;;;;;;;;;;;:41;5817:90;5802:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;5992:16;:36;6009:9;:18;;;5992:36;;;;;;;;;;;;;;;;5983:5;:45;;:59;;;;;6041:1;6032:5;:10;;5983:59;5968:130;;;;;;;;;;;;:::i;:::-;;;;;;;;;6104:16;6123:9;:15;;;6104:34;;6162:5;6144:9;:15;;:23;;;;;6219:9;:17;;;6199:9;:18;;;6178:76;;6190:7;6178:76;6238:8;6248:5;6178:76;;;;;;;:::i;:::-;;;;;;;;5594:665;;5532:727;;:::o;6263:140::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6360:4:15::1;6332:15;:25;6348:8;6332:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;6375:23;6389:8;6375:23;;;;;;:::i;:::-;;;;;;;;6263:140:::0;:::o;1036:85:0:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;943:46:15:-;;;;;;;;;;;;;;;;;;;;;;:::o;2045:49::-;;;;:::o;6558:142::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6657:4:15::1;6628:16;:26;6645:8;6628:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;6672:23;6686:8;6672:23;;;;;;:::i;:::-;;;;;;;;6558:142:::0;:::o;2132:64::-;2192:4;2034:7;2179:1;:9;;;;:::i;:::-;2178:18;;;;:::i;:::-;2132:64;:::o;993:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2360:1466::-;2516:1;2505:7;:12;;2497:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;2575:15;:25;2591:8;2575:25;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;2604:16;:26;2621:8;2604:26;;;;;;;;;;;;;;;;;;;;;;;;;2575:55;2560:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;2686:14;:24;2701:8;2686:24;;;;;;;;;;;;;;;;;;;;;;;;;2678:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2774:16;:26;2791:8;2774:26;;;;;;;;;;;;;;;;2765:5;:35;;:70;;;;2834:1;2804:16;:26;2821:8;2804:26;;;;;;;;;;;;;;;;:31;2765:70;2750:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;2920:16;:26;2937:8;2920:26;;;;;;;;;;;;;;;;2911:5;:35;;:49;;;;;2959:1;2950:5;:10;;2911:49;2896:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;3032:1;3022:6;;:11;;;;;;;:::i;:::-;;;;;;;;3039:27;3069:10;:18;3080:6;;3069:18;;;;;;;;;;;3039:48;;3113:6;;3093:9;:17;;:26;;;;3145:7;3125:9;:17;;:27;;;;3177:6;3158:9;:16;;:25;;;;3210:8;3189:9;:18;;;:29;;;;;;;;;;;;;;;;;;3242:10;3224:9;:15;;;:28;;;;;;;;;;;;;;;;;;3276:5;3258:9;:15;;:23;;;;3308:8;3287:9;:18;;;:29;;;;;;;;;;;;;;;;;;3326:15;:25;3342:8;3326:25;;;;;;;;;;;;;;;;;;;;;;;;;3322:367;;;3379:1;3369:6;:11;3361:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3436:8;3428:34;;;3463:10;3483:4;3490:7;3428:70;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3322:367;;;3515:16;:26;3532:8;3515:26;;;;;;;;;;;;;;;;;;;;;;;;;3511:178;;;3560:8;3551:35;;;3596:10;3624:4;3639:7;3656:6;3551:131;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3511:178;3322:367;3750:8;3700:121;;3732:10;3700:121;;3717:7;3700:121;3766:6;3780;;3794:8;3810:5;3700:121;;;;;;;;;:::i;:::-;;;;;;;;2491:1335;2360:1466;;;;;:::o;7204:268::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7331:16:15::1;:26;7348:8;7331:26;;;;;;;;;;;;;;;;7319:8;:38;;7304:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;7459:8;7430:16;:26;7447:8;7430:26;;;;;;;;;;;;;;;:37;;;;7204:268:::0;;:::o;6857:201::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6947:1:15::1;6930:19;;:5;:19;;;;6922:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7016:4;6992:14;:21;7007:5;6992:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;7031:22;7047:5;7031:22;;;;;;:::i;:::-;;;;;;;;6857:201:::0;:::o;724:247:4:-;903:6;928:36;;;921:43;;724:247;;;;;;;:::o;1044:51:15:-;;;;;;;;;;;;;;;;;:::o;3830:1239::-;1744:1:1;2325:7;;:19;;2317:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1744:1;2455:7;:18;;;;3888:26:15::1;3917:10;:19;3928:7;3917:19;;;;;;;;;;;3888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;3971:1;3950:9;:17;;;:22;;3942:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4012:23;2034:7;4057:14;;4039:9;:15;;;:32;;;;:::i;:::-;4038:42;;;;:::i;:::-;4012:68;;4117:15;4102:12;;:30;;;;:::i;:::-;4087:12;:45;;;;4139:15;4175;4157:9;:15;;;:33;;;;:::i;:::-;4139:51;;4197:105;4248:10;4266:9;:15;;;4289:7;4204:9;:18;;;4197:43;;;;:105;;;;;;:::i;:::-;4309:110;4360:10;4378:12;;;;;;;;;;;4398:15;4316:9;:18;;;4309:43;;;;:110;;;;;;:::i;:::-;4429:15;:35;4445:9;:18;;;4429:35;;;;;;;;;;;;;;;;;;;;;;;;;4425:402;;;4482:9;:18;;;4474:44;;;4536:4;4551:10;4571:9;:17;;;4474:122;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4425:402;;;4613:16;:36;4630:9;:18;;;4613:36;;;;;;;;;;;;;;;;;;;;;;;;;4609:218;;;4668:9;:18;;;4659:45;;;4714:10;4742:4;4757:9;:17;;;4784:9;:16;;;4659:161;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4609:218;4425:402;4854:9;:17;;;4838:194;4879:7;4894:9;:18;;;4920:9;:16;;;4944:9;:15;;;4967:10;4985:9;:18;;;5011:9;:15;;;4838:194;;;;;;;;;;;;:::i;:::-;;;;;;;;5045:10;:19;5056:7;5045:19;;;;;;;;;;;;5038:26:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3882:1187;;;1701:1:1::0;2628:7;:22;;;;3830:1239:15;:::o;499:219:4:-;655:6;680:31;;;673:38;;499:219;;;;;;;:::o;1918:198:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;7062:138:15:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7154:5:15::1;7130:14;:21;7145:5;7130:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;7170:25;7189:5;7170:25;;;;;;:::i;:::-;;;;;;;;7062:138:::0;:::o;829:155:13:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;640:96:12:-;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;912:241:7:-;1050:96;1070:5;1100:27;;;1129:4;1135:2;1139:5;1077:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:19;:96::i;:::-;912:241;;;;:::o;3207:706::-;3626:23;3652:69;3680:4;3652:69;;;;;;;;;;;;;;;;;3660:5;3652:27;;;;:69;;;;;:::i;:::-;3626:95;;3755:1;3735:10;:17;:21;3731:176;;;3830:10;3819:30;;;;;;;;;;;;:::i;:::-;3811:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3731:176;3277:636;3207:706;;:::o;3861:223:11:-;3994:12;4025:52;4047:6;4055:4;4061:1;4064:12;4025:21;:52::i;:::-;4018:59;;3861:223;;;;;:::o;4948:499::-;5113:12;5170:5;5145:21;:30;;5137:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;5236:18;5247:6;5236:10;:18::i;:::-;5228:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5300:12;5314:23;5341:6;:11;;5360:5;5367:4;5341:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5299:73;;;;5389:51;5406:7;5415:10;5427:12;5389:16;:51::i;:::-;5382:58;;;;4948:499;;;;;;:::o;1175:320::-;1235:4;1487:1;1465:7;:19;;;:23;1458:30;;1175:320;;;:::o;7561:692::-;7707:12;7735:7;7731:516;;;7765:10;7758:17;;;;7731:516;7896:1;7876:10;:17;:21;7872:365;;;8070:10;8064:17;8130:15;8117:10;8113:2;8109:19;8102:44;7872:365;8209:12;8202:20;;;;;;;;;;;:::i;:::-;;;;;;;;7561:692;;;;;;:::o;7:75:16:-;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:126::-;1555:7;1595:42;1588:5;1584:54;1573:65;;1518:126;;;:::o;1650:96::-;1687:7;1716:24;1734:5;1716:24;:::i;:::-;1705:35;;1650:96;;;:::o;1752:118::-;1839:24;1857:5;1839:24;:::i;:::-;1834:3;1827:37;1752:118;;:::o;1876:222::-;1969:4;2007:2;1996:9;1992:18;1984:26;;2020:71;2088:1;2077:9;2073:17;2064:6;2020:71;:::i;:::-;1876:222;;;;:::o;2104:77::-;2141:7;2170:5;2159:16;;2104:77;;;:::o;2187:122::-;2260:24;2278:5;2260:24;:::i;:::-;2253:5;2250:35;2240:63;;2299:1;2296;2289:12;2240:63;2187:122;:::o;2315:139::-;2361:5;2399:6;2386:20;2377:29;;2415:33;2442:5;2415:33;:::i;:::-;2315:139;;;;:::o;2460:329::-;2519:6;2568:2;2556:9;2547:7;2543:23;2539:32;2536:119;;;2574:79;;:::i;:::-;2536:119;2694:1;2719:53;2764:7;2755:6;2744:9;2740:22;2719:53;:::i;:::-;2709:63;;2665:117;2460:329;;;;:::o;2795:122::-;2868:24;2886:5;2868:24;:::i;:::-;2861:5;2858:35;2848:63;;2907:1;2904;2897:12;2848:63;2795:122;:::o;2923:139::-;2969:5;3007:6;2994:20;2985:29;;3023:33;3050:5;3023:33;:::i;:::-;2923:139;;;;:::o;3068:117::-;3177:1;3174;3167:12;3191:117;3300:1;3297;3290:12;3314:102;3355:6;3406:2;3402:7;3397:2;3390:5;3386:14;3382:28;3372:38;;3314:102;;;:::o;3422:180::-;3470:77;3467:1;3460:88;3567:4;3564:1;3557:15;3591:4;3588:1;3581:15;3608:281;3691:27;3713:4;3691:27;:::i;:::-;3683:6;3679:40;3821:6;3809:10;3806:22;3785:18;3773:10;3770:34;3767:62;3764:88;;;3832:18;;:::i;:::-;3764:88;3872:10;3868:2;3861:22;3651:238;3608:281;;:::o;3895:129::-;3929:6;3956:20;;:::i;:::-;3946:30;;3985:33;4013:4;4005:6;3985:33;:::i;:::-;3895:129;;;:::o;4030:307::-;4091:4;4181:18;4173:6;4170:30;4167:56;;;4203:18;;:::i;:::-;4167:56;4241:29;4263:6;4241:29;:::i;:::-;4233:37;;4325:4;4319;4315:15;4307:23;;4030:307;;;:::o;4343:154::-;4427:6;4422:3;4417;4404:30;4489:1;4480:6;4475:3;4471:16;4464:27;4343:154;;;:::o;4503:410::-;4580:5;4605:65;4621:48;4662:6;4621:48;:::i;:::-;4605:65;:::i;:::-;4596:74;;4693:6;4686:5;4679:21;4731:4;4724:5;4720:16;4769:3;4760:6;4755:3;4751:16;4748:25;4745:112;;;4776:79;;:::i;:::-;4745:112;4866:41;4900:6;4895:3;4890;4866:41;:::i;:::-;4586:327;4503:410;;;;;:::o;4932:338::-;4987:5;5036:3;5029:4;5021:6;5017:17;5013:27;5003:122;;5044:79;;:::i;:::-;5003:122;5161:6;5148:20;5186:78;5260:3;5252:6;5245:4;5237:6;5233:17;5186:78;:::i;:::-;5177:87;;4993:277;4932:338;;;;:::o;5276:943::-;5371:6;5379;5387;5395;5444:3;5432:9;5423:7;5419:23;5415:33;5412:120;;;5451:79;;:::i;:::-;5412:120;5571:1;5596:53;5641:7;5632:6;5621:9;5617:22;5596:53;:::i;:::-;5586:63;;5542:117;5698:2;5724:53;5769:7;5760:6;5749:9;5745:22;5724:53;:::i;:::-;5714:63;;5669:118;5826:2;5852:53;5897:7;5888:6;5877:9;5873:22;5852:53;:::i;:::-;5842:63;;5797:118;5982:2;5971:9;5967:18;5954:32;6013:18;6005:6;6002:30;5999:117;;;6035:79;;:::i;:::-;5999:117;6140:62;6194:7;6185:6;6174:9;6170:22;6140:62;:::i;:::-;6130:72;;5925:287;5276:943;;;;;;;:::o;6225:115::-;6310:23;6327:5;6310:23;:::i;:::-;6305:3;6298:36;6225:115;;:::o;6346:218::-;6437:4;6475:2;6464:9;6460:18;6452:26;;6488:69;6554:1;6543:9;6539:17;6530:6;6488:69;:::i;:::-;6346:218;;;;:::o;6570:474::-;6638:6;6646;6695:2;6683:9;6674:7;6670:23;6666:32;6663:119;;;6701:79;;:::i;:::-;6663:119;6821:1;6846:53;6891:7;6882:6;6871:9;6867:22;6846:53;:::i;:::-;6836:63;;6792:117;6948:2;6974:53;7019:7;7010:6;6999:9;6995:22;6974:53;:::i;:::-;6964:63;;6919:118;6570:474;;;;;:::o;7050:329::-;7109:6;7158:2;7146:9;7137:7;7133:23;7129:32;7126:119;;;7164:79;;:::i;:::-;7126:119;7284:1;7309:53;7354:7;7345:6;7334:9;7330:22;7309:53;:::i;:::-;7299:63;;7255:117;7050:329;;;;:::o;7385:118::-;7472:24;7490:5;7472:24;:::i;:::-;7467:3;7460:37;7385:118;;:::o;7509:222::-;7602:4;7640:2;7629:9;7625:18;7617:26;;7653:71;7721:1;7710:9;7706:17;7697:6;7653:71;:::i;:::-;7509:222;;;;:::o;7737:474::-;7805:6;7813;7862:2;7850:9;7841:7;7837:23;7833:32;7830:119;;;7868:79;;:::i;:::-;7830:119;7988:1;8013:53;8058:7;8049:6;8038:9;8034:22;8013:53;:::i;:::-;8003:63;;7959:117;8115:2;8141:53;8186:7;8177:6;8166:9;8162:22;8141:53;:::i;:::-;8131:63;;8086:118;7737:474;;;;;:::o;8217:886::-;8478:4;8516:3;8505:9;8501:19;8493:27;;8530:71;8598:1;8587:9;8583:17;8574:6;8530:71;:::i;:::-;8611:72;8679:2;8668:9;8664:18;8655:6;8611:72;:::i;:::-;8693;8761:2;8750:9;8746:18;8737:6;8693:72;:::i;:::-;8775;8843:2;8832:9;8828:18;8819:6;8775:72;:::i;:::-;8857:73;8925:3;8914:9;8910:19;8901:6;8857:73;:::i;:::-;8940;9008:3;8997:9;8993:19;8984:6;8940:73;:::i;:::-;9023;9091:3;9080:9;9076:19;9067:6;9023:73;:::i;:::-;8217:886;;;;;;;;;;:::o;9109:911::-;9204:6;9212;9220;9228;9236;9285:3;9273:9;9264:7;9260:23;9256:33;9253:120;;;9292:79;;:::i;:::-;9253:120;9412:1;9437:53;9482:7;9473:6;9462:9;9458:22;9437:53;:::i;:::-;9427:63;;9383:117;9539:2;9565:53;9610:7;9601:6;9590:9;9586:22;9565:53;:::i;:::-;9555:63;;9510:118;9667:2;9693:53;9738:7;9729:6;9718:9;9714:22;9693:53;:::i;:::-;9683:63;;9638:118;9795:2;9821:53;9866:7;9857:6;9846:9;9842:22;9821:53;:::i;:::-;9811:63;;9766:118;9923:3;9950:53;9995:7;9986:6;9975:9;9971:22;9950:53;:::i;:::-;9940:63;;9894:119;9109:911;;;;;;;;:::o;10026:311::-;10103:4;10193:18;10185:6;10182:30;10179:56;;;10215:18;;:::i;:::-;10179:56;10265:4;10257:6;10253:17;10245:25;;10325:4;10319;10315:15;10307:23;;10026:311;;;:::o;10343:117::-;10452:1;10449;10442:12;10483:710;10579:5;10604:81;10620:64;10677:6;10620:64;:::i;:::-;10604:81;:::i;:::-;10595:90;;10705:5;10734:6;10727:5;10720:21;10768:4;10761:5;10757:16;10750:23;;10821:4;10813:6;10809:17;10801:6;10797:30;10850:3;10842:6;10839:15;10836:122;;;10869:79;;:::i;:::-;10836:122;10984:6;10967:220;11001:6;10996:3;10993:15;10967:220;;;11076:3;11105:37;11138:3;11126:10;11105:37;:::i;:::-;11100:3;11093:50;11172:4;11167:3;11163:14;11156:21;;11043:144;11027:4;11022:3;11018:14;11011:21;;10967:220;;;10971:21;10585:608;;10483:710;;;;;:::o;11216:370::-;11287:5;11336:3;11329:4;11321:6;11317:17;11313:27;11303:122;;11344:79;;:::i;:::-;11303:122;11461:6;11448:20;11486:94;11576:3;11568:6;11561:4;11553:6;11549:17;11486:94;:::i;:::-;11477:103;;11293:293;11216:370;;;;:::o;11592:1509::-;11746:6;11754;11762;11770;11778;11827:3;11815:9;11806:7;11802:23;11798:33;11795:120;;;11834:79;;:::i;:::-;11795:120;11954:1;11979:53;12024:7;12015:6;12004:9;12000:22;11979:53;:::i;:::-;11969:63;;11925:117;12081:2;12107:53;12152:7;12143:6;12132:9;12128:22;12107:53;:::i;:::-;12097:63;;12052:118;12237:2;12226:9;12222:18;12209:32;12268:18;12260:6;12257:30;12254:117;;;12290:79;;:::i;:::-;12254:117;12395:78;12465:7;12456:6;12445:9;12441:22;12395:78;:::i;:::-;12385:88;;12180:303;12550:2;12539:9;12535:18;12522:32;12581:18;12573:6;12570:30;12567:117;;;12603:79;;:::i;:::-;12567:117;12708:78;12778:7;12769:6;12758:9;12754:22;12708:78;:::i;:::-;12698:88;;12493:303;12863:3;12852:9;12848:19;12835:33;12895:18;12887:6;12884:30;12881:117;;;12917:79;;:::i;:::-;12881:117;13022:62;13076:7;13067:6;13056:9;13052:22;13022:62;:::i;:::-;13012:72;;12806:288;11592:1509;;;;;;;;:::o;13107:1089::-;13211:6;13219;13227;13235;13243;13292:3;13280:9;13271:7;13267:23;13263:33;13260:120;;;13299:79;;:::i;:::-;13260:120;13419:1;13444:53;13489:7;13480:6;13469:9;13465:22;13444:53;:::i;:::-;13434:63;;13390:117;13546:2;13572:53;13617:7;13608:6;13597:9;13593:22;13572:53;:::i;:::-;13562:63;;13517:118;13674:2;13700:53;13745:7;13736:6;13725:9;13721:22;13700:53;:::i;:::-;13690:63;;13645:118;13802:2;13828:53;13873:7;13864:6;13853:9;13849:22;13828:53;:::i;:::-;13818:63;;13773:118;13958:3;13947:9;13943:19;13930:33;13990:18;13982:6;13979:30;13976:117;;;14012:79;;:::i;:::-;13976:117;14117:62;14171:7;14162:6;14151:9;14147:22;14117:62;:::i;:::-;14107:72;;13901:288;13107:1089;;;;;;;;:::o;14202:169::-;14286:11;14320:6;14315:3;14308:19;14360:4;14355:3;14351:14;14336:29;;14202:169;;;;:::o;14377:182::-;14517:34;14513:1;14505:6;14501:14;14494:58;14377:182;:::o;14565:366::-;14707:3;14728:67;14792:2;14787:3;14728:67;:::i;:::-;14721:74;;14804:93;14893:3;14804:93;:::i;:::-;14922:2;14917:3;14913:12;14906:19;;14565:366;;;:::o;14937:419::-;15103:4;15141:2;15130:9;15126:18;15118:26;;15190:9;15184:4;15180:20;15176:1;15165:9;15161:17;15154:47;15218:131;15344:4;15218:131;:::i;:::-;15210:139;;14937:419;;;:::o;15362:180::-;15410:77;15407:1;15400:88;15507:4;15504:1;15497:15;15531:4;15528:1;15521:15;15548:348;15588:7;15611:20;15629:1;15611:20;:::i;:::-;15606:25;;15645:20;15663:1;15645:20;:::i;:::-;15640:25;;15833:1;15765:66;15761:74;15758:1;15755:81;15750:1;15743:9;15736:17;15732:105;15729:131;;;15840:18;;:::i;:::-;15729:131;15888:1;15885;15881:9;15870:20;;15548:348;;;;:::o;15902:180::-;15950:77;15947:1;15940:88;16047:4;16044:1;16037:15;16071:4;16068:1;16061:15;16088:185;16128:1;16145:20;16163:1;16145:20;:::i;:::-;16140:25;;16179:20;16197:1;16179:20;:::i;:::-;16174:25;;16218:1;16208:35;;16223:18;;:::i;:::-;16208:35;16265:1;16262;16258:9;16253:14;;16088:185;;;;:::o;16279:237::-;16419:34;16415:1;16407:6;16403:14;16396:58;16488:20;16483:2;16475:6;16471:15;16464:45;16279:237;:::o;16522:366::-;16664:3;16685:67;16749:2;16744:3;16685:67;:::i;:::-;16678:74;;16761:93;16850:3;16761:93;:::i;:::-;16879:2;16874:3;16870:12;16863:19;;16522:366;;;:::o;16894:419::-;17060:4;17098:2;17087:9;17083:18;17075:26;;17147:9;17141:4;17137:20;17133:1;17122:9;17118:17;17111:47;17175:131;17301:4;17175:131;:::i;:::-;17167:139;;16894:419;;;:::o;17319:240::-;17459:34;17455:1;17447:6;17443:14;17436:58;17528:23;17523:2;17515:6;17511:15;17504:48;17319:240;:::o;17565:366::-;17707:3;17728:67;17792:2;17787:3;17728:67;:::i;:::-;17721:74;;17804:93;17893:3;17804:93;:::i;:::-;17922:2;17917:3;17913:12;17906:19;;17565:366;;;:::o;17937:419::-;18103:4;18141:2;18130:9;18126:18;18118:26;;18190:9;18184:4;18180:20;18176:1;18165:9;18161:17;18154:47;18218:131;18344:4;18218:131;:::i;:::-;18210:139;;17937:419;;;:::o;18362:181::-;18502:33;18498:1;18490:6;18486:14;18479:57;18362:181;:::o;18549:366::-;18691:3;18712:67;18776:2;18771:3;18712:67;:::i;:::-;18705:74;;18788:93;18877:3;18788:93;:::i;:::-;18906:2;18901:3;18897:12;18890:19;;18549:366;;;:::o;18921:419::-;19087:4;19125:2;19114:9;19110:18;19102:26;;19174:9;19168:4;19164:20;19160:1;19149:9;19145:17;19138:47;19202:131;19328:4;19202:131;:::i;:::-;19194:139;;18921:419;;;:::o;19346:224::-;19486:34;19482:1;19474:6;19470:14;19463:58;19555:7;19550:2;19542:6;19538:15;19531:32;19346:224;:::o;19576:366::-;19718:3;19739:67;19803:2;19798:3;19739:67;:::i;:::-;19732:74;;19815:93;19904:3;19815:93;:::i;:::-;19933:2;19928:3;19924:12;19917:19;;19576:366;;;:::o;19948:419::-;20114:4;20152:2;20141:9;20137:18;20129:26;;20201:9;20195:4;20191:20;20187:1;20176:9;20172:17;20165:47;20229:131;20355:4;20229:131;:::i;:::-;20221:139;;19948:419;;;:::o;20373:442::-;20522:4;20560:2;20549:9;20545:18;20537:26;;20573:71;20641:1;20630:9;20626:17;20617:6;20573:71;:::i;:::-;20654:72;20722:2;20711:9;20707:18;20698:6;20654:72;:::i;:::-;20736;20804:2;20793:9;20789:18;20780:6;20736:72;:::i;:::-;20373:442;;;;;;:::o;20821:234::-;20961:34;20957:1;20949:6;20945:14;20938:58;21030:17;21025:2;21017:6;21013:15;21006:42;20821:234;:::o;21061:366::-;21203:3;21224:67;21288:2;21283:3;21224:67;:::i;:::-;21217:74;;21300:93;21389:3;21300:93;:::i;:::-;21418:2;21413:3;21409:12;21402:19;;21061:366;;;:::o;21433:419::-;21599:4;21637:2;21626:9;21622:18;21614:26;;21686:9;21680:4;21676:20;21672:1;21661:9;21657:17;21650:47;21714:131;21840:4;21714:131;:::i;:::-;21706:139;;21433:419;;;:::o;21858:179::-;21998:31;21994:1;21986:6;21982:14;21975:55;21858:179;:::o;22043:366::-;22185:3;22206:67;22270:2;22265:3;22206:67;:::i;:::-;22199:74;;22282:93;22371:3;22282:93;:::i;:::-;22400:2;22395:3;22391:12;22384:19;;22043:366;;;:::o;22415:419::-;22581:4;22619:2;22608:9;22604:18;22596:26;;22668:9;22662:4;22658:20;22654:1;22643:9;22639:17;22632:47;22696:131;22822:4;22696:131;:::i;:::-;22688:139;;22415:419;;;:::o;22840:180::-;22980:32;22976:1;22968:6;22964:14;22957:56;22840:180;:::o;23026:366::-;23168:3;23189:67;23253:2;23248:3;23189:67;:::i;:::-;23182:74;;23265:93;23354:3;23265:93;:::i;:::-;23383:2;23378:3;23374:12;23367:19;;23026:366;;;:::o;23398:419::-;23564:4;23602:2;23591:9;23587:18;23579:26;;23651:9;23645:4;23641:20;23637:1;23626:9;23622:17;23615:47;23679:131;23805:4;23679:131;:::i;:::-;23671:139;;23398:419;;;:::o;23823:226::-;23963:34;23959:1;23951:6;23947:14;23940:58;24032:9;24027:2;24019:6;24015:15;24008:34;23823:226;:::o;24055:366::-;24197:3;24218:67;24282:2;24277:3;24218:67;:::i;:::-;24211:74;;24294:93;24383:3;24294:93;:::i;:::-;24412:2;24407:3;24403:12;24396:19;;24055:366;;;:::o;24427:419::-;24593:4;24631:2;24620:9;24616:18;24608:26;;24680:9;24674:4;24670:20;24666:1;24655:9;24651:17;24644:47;24708:131;24834:4;24708:131;:::i;:::-;24700:139;;24427:419;;;:::o;24852:227::-;24992:34;24988:1;24980:6;24976:14;24969:58;25061:10;25056:2;25048:6;25044:15;25037:35;24852:227;:::o;25085:366::-;25227:3;25248:67;25312:2;25307:3;25248:67;:::i;:::-;25241:74;;25324:93;25413:3;25324:93;:::i;:::-;25442:2;25437:3;25433:12;25426:19;;25085:366;;;:::o;25457:419::-;25623:4;25661:2;25650:9;25646:18;25638:26;;25710:9;25704:4;25700:20;25696:1;25685:9;25681:17;25674:47;25738:131;25864:4;25738:131;:::i;:::-;25730:139;;25457:419;;;:::o;25882:332::-;26003:4;26041:2;26030:9;26026:18;26018:26;;26054:71;26122:1;26111:9;26107:17;26098:6;26054:71;:::i;:::-;26135:72;26203:2;26192:9;26188:18;26179:6;26135:72;:::i;:::-;25882:332;;;;;:::o;26220:182::-;26360:34;26356:1;26348:6;26344:14;26337:58;26220:182;:::o;26408:366::-;26550:3;26571:67;26635:2;26630:3;26571:67;:::i;:::-;26564:74;;26647:93;26736:3;26647:93;:::i;:::-;26765:2;26760:3;26756:12;26749:19;;26408:366;;;:::o;26780:419::-;26946:4;26984:2;26973:9;26969:18;26961:26;;27033:9;27027:4;27023:20;27019:1;27008:9;27004:17;26997:47;27061:131;27187:4;27061:131;:::i;:::-;27053:139;;26780:419;;;:::o;27205:176::-;27345:28;27341:1;27333:6;27329:14;27322:52;27205:176;:::o;27387:366::-;27529:3;27550:67;27614:2;27609:3;27550:67;:::i;:::-;27543:74;;27626:93;27715:3;27626:93;:::i;:::-;27744:2;27739:3;27735:12;27728:19;;27387:366;;;:::o;27759:419::-;27925:4;27963:2;27952:9;27948:18;27940:26;;28012:9;28006:4;28002:20;27998:1;27987:9;27983:17;27976:47;28040:131;28166:4;28040:131;:::i;:::-;28032:139;;27759:419;;;:::o;28184:179::-;28324:31;28320:1;28312:6;28308:14;28301:55;28184:179;:::o;28369:366::-;28511:3;28532:67;28596:2;28591:3;28532:67;:::i;:::-;28525:74;;28608:93;28697:3;28608:93;:::i;:::-;28726:2;28721:3;28717:12;28710:19;;28369:366;;;:::o;28741:419::-;28907:4;28945:2;28934:9;28930:18;28922:26;;28994:9;28988:4;28984:20;28980:1;28969:9;28965:17;28958:47;29022:131;29148:4;29022:131;:::i;:::-;29014:139;;28741:419;;;:::o;29166:305::-;29206:3;29225:20;29243:1;29225:20;:::i;:::-;29220:25;;29259:20;29277:1;29259:20;:::i;:::-;29254:25;;29413:1;29345:66;29341:74;29338:1;29335:81;29332:107;;;29419:18;;:::i;:::-;29332:107;29463:1;29460;29456:9;29449:16;;29166:305;;;;:::o;29477:222::-;29617:34;29613:1;29605:6;29601:14;29594:58;29686:5;29681:2;29673:6;29669:15;29662:30;29477:222;:::o;29705:366::-;29847:3;29868:67;29932:2;29927:3;29868:67;:::i;:::-;29861:74;;29944:93;30033:3;29944:93;:::i;:::-;30062:2;30057:3;30053:12;30046:19;;29705:366;;;:::o;30077:419::-;30243:4;30281:2;30270:9;30266:18;30258:26;;30330:9;30324:4;30320:20;30316:1;30305:9;30301:17;30294:47;30358:131;30484:4;30358:131;:::i;:::-;30350:139;;30077:419;;;:::o;30502:168::-;30585:11;30619:6;30614:3;30607:19;30659:4;30654:3;30650:14;30635:29;;30502:168;;;;:::o;30676:114::-;;:::o;30796:362::-;30937:3;30958:65;31021:1;31016:3;30958:65;:::i;:::-;30951:72;;31032:93;31121:3;31032:93;:::i;:::-;31150:1;31145:3;31141:11;31134:18;;30796:362;;;:::o;31164:859::-;31441:4;31479:3;31468:9;31464:19;31456:27;;31493:71;31561:1;31550:9;31546:17;31537:6;31493:71;:::i;:::-;31574:72;31642:2;31631:9;31627:18;31618:6;31574:72;:::i;:::-;31656;31724:2;31713:9;31709:18;31700:6;31656:72;:::i;:::-;31738;31806:2;31795:9;31791:18;31782:6;31738:72;:::i;:::-;31858:9;31852:4;31848:20;31842:3;31831:9;31827:19;31820:49;31886:130;32011:4;31886:130;:::i;:::-;31878:138;;31164:859;;;;;;;:::o;32029:553::-;32206:4;32244:3;32233:9;32229:19;32221:27;;32258:71;32326:1;32315:9;32311:17;32302:6;32258:71;:::i;:::-;32339:72;32407:2;32396:9;32392:18;32383:6;32339:72;:::i;:::-;32421;32489:2;32478:9;32474:18;32465:6;32421:72;:::i;:::-;32503;32571:2;32560:9;32556:18;32547:6;32503:72;:::i;:::-;32029:553;;;;;;;:::o;32588:238::-;32728:34;32724:1;32716:6;32712:14;32705:58;32797:21;32792:2;32784:6;32780:15;32773:46;32588:238;:::o;32832:366::-;32974:3;32995:67;33059:2;33054:3;32995:67;:::i;:::-;32988:74;;33071:93;33160:3;33071:93;:::i;:::-;33189:2;33184:3;33180:12;33173:19;;32832:366;;;:::o;33204:419::-;33370:4;33408:2;33397:9;33393:18;33385:26;;33457:9;33451:4;33447:20;33443:1;33432:9;33428:17;33421:47;33485:131;33611:4;33485:131;:::i;:::-;33477:139;;33204:419;;;:::o;33629:182::-;33769:34;33765:1;33757:6;33753:14;33746:58;33629:182;:::o;33817:366::-;33959:3;33980:67;34044:2;34039:3;33980:67;:::i;:::-;33973:74;;34056:93;34145:3;34056:93;:::i;:::-;34174:2;34169:3;34165:12;34158:19;;33817:366;;;:::o;34189:419::-;34355:4;34393:2;34382:9;34378:18;34370:26;;34442:9;34436:4;34432:20;34428:1;34417:9;34413:17;34406:47;34470:131;34596:4;34470:131;:::i;:::-;34462:139;;34189:419;;;:::o;34614:191::-;34654:4;34674:20;34692:1;34674:20;:::i;:::-;34669:25;;34708:20;34726:1;34708:20;:::i;:::-;34703:25;;34747:1;34744;34741:8;34738:34;;;34752:18;;:::i;:::-;34738:34;34797:1;34794;34790:9;34782:17;;34614:191;;;;:::o;34811:886::-;35072:4;35110:3;35099:9;35095:19;35087:27;;35124:71;35192:1;35181:9;35177:17;35168:6;35124:71;:::i;:::-;35205:72;35273:2;35262:9;35258:18;35249:6;35205:72;:::i;:::-;35287;35355:2;35344:9;35340:18;35331:6;35287:72;:::i;:::-;35369;35437:2;35426:9;35422:18;35413:6;35369:72;:::i;:::-;35451:73;35519:3;35508:9;35504:19;35495:6;35451:73;:::i;:::-;35534;35602:3;35591:9;35587:19;35578:6;35534:73;:::i;:::-;35617;35685:3;35674:9;35670:19;35661:6;35617:73;:::i;:::-;34811:886;;;;;;;;;;:::o;35703:225::-;35843:34;35839:1;35831:6;35827:14;35820:58;35912:8;35907:2;35899:6;35895:15;35888:33;35703:225;:::o;35934:366::-;36076:3;36097:67;36161:2;36156:3;36097:67;:::i;:::-;36090:74;;36173:93;36262:3;36173:93;:::i;:::-;36291:2;36286:3;36282:12;36275:19;;35934:366;;;:::o;36306:419::-;36472:4;36510:2;36499:9;36495:18;36487:26;;36559:9;36553:4;36549:20;36545:1;36534:9;36530:17;36523:47;36587:131;36713:4;36587:131;:::i;:::-;36579:139;;36306:419;;;:::o;36731:116::-;36801:21;36816:5;36801:21;:::i;:::-;36794:5;36791:32;36781:60;;36837:1;36834;36827:12;36781:60;36731:116;:::o;36853:137::-;36907:5;36938:6;36932:13;36923:22;;36954:30;36978:5;36954:30;:::i;:::-;36853:137;;;;:::o;36996:345::-;37063:6;37112:2;37100:9;37091:7;37087:23;37083:32;37080:119;;;37118:79;;:::i;:::-;37080:119;37238:1;37263:61;37316:7;37307:6;37296:9;37292:22;37263:61;:::i;:::-;37253:71;;37209:125;36996:345;;;;:::o;37347:229::-;37487:34;37483:1;37475:6;37471:14;37464:58;37556:12;37551:2;37543:6;37539:15;37532:37;37347:229;:::o;37582:366::-;37724:3;37745:67;37809:2;37804:3;37745:67;:::i;:::-;37738:74;;37821:93;37910:3;37821:93;:::i;:::-;37939:2;37934:3;37930:12;37923:19;;37582:366;;;:::o;37954:419::-;38120:4;38158:2;38147:9;38143:18;38135:26;;38207:9;38201:4;38197:20;38193:1;38182:9;38178:17;38171:47;38235:131;38361:4;38235:131;:::i;:::-;38227:139;;37954:419;;;:::o;38379:225::-;38519:34;38515:1;38507:6;38503:14;38496:58;38588:8;38583:2;38575:6;38571:15;38564:33;38379:225;:::o;38610:366::-;38752:3;38773:67;38837:2;38832:3;38773:67;:::i;:::-;38766:74;;38849:93;38938:3;38849:93;:::i;:::-;38967:2;38962:3;38958:12;38951:19;;38610:366;;;:::o;38982:419::-;39148:4;39186:2;39175:9;39171:18;39163:26;;39235:9;39229:4;39225:20;39221:1;39210:9;39206:17;39199:47;39263:131;39389:4;39263:131;:::i;:::-;39255:139;;38982:419;;;:::o;39407:179::-;39547:31;39543:1;39535:6;39531:14;39524:55;39407:179;:::o;39592:366::-;39734:3;39755:67;39819:2;39814:3;39755:67;:::i;:::-;39748:74;;39831:93;39920:3;39831:93;:::i;:::-;39949:2;39944:3;39940:12;39933:19;;39592:366;;;:::o;39964:419::-;40130:4;40168:2;40157:9;40153:18;40145:26;;40217:9;40211:4;40207:20;40203:1;40192:9;40188:17;40181:47;40245:131;40371:4;40245:131;:::i;:::-;40237:139;;39964:419;;;:::o;40389:98::-;40440:6;40474:5;40468:12;40458:22;;40389:98;;;:::o;40493:147::-;40594:11;40631:3;40616:18;;40493:147;;;;:::o;40646:307::-;40714:1;40724:113;40738:6;40735:1;40732:13;40724:113;;;40823:1;40818:3;40814:11;40808:18;40804:1;40799:3;40795:11;40788:39;40760:2;40757:1;40753:10;40748:15;;40724:113;;;40855:6;40852:1;40849:13;40846:101;;;40935:1;40926:6;40921:3;40917:16;40910:27;40846:101;40695:258;40646:307;;;:::o;40959:373::-;41063:3;41091:38;41123:5;41091:38;:::i;:::-;41145:88;41226:6;41221:3;41145:88;:::i;:::-;41138:95;;41242:52;41287:6;41282:3;41275:4;41268:5;41264:16;41242:52;:::i;:::-;41319:6;41314:3;41310:16;41303:23;;41067:265;40959:373;;;;:::o;41338:271::-;41468:3;41490:93;41579:3;41570:6;41490:93;:::i;:::-;41483:100;;41600:3;41593:10;;41338:271;;;;:::o;41615:99::-;41667:6;41701:5;41695:12;41685:22;;41615:99;;;:::o;41720:364::-;41808:3;41836:39;41869:5;41836:39;:::i;:::-;41891:71;41955:6;41950:3;41891:71;:::i;:::-;41884:78;;41971:52;42016:6;42011:3;42004:4;41997:5;41993:16;41971:52;:::i;:::-;42048:29;42070:6;42048:29;:::i;:::-;42043:3;42039:39;42032:46;;41812:272;41720:364;;;;:::o;42090:313::-;42203:4;42241:2;42230:9;42226:18;42218:26;;42290:9;42284:4;42280:20;42276:1;42265:9;42261:17;42254:47;42318:78;42391:4;42382:6;42318:78;:::i;:::-;42310:86;;42090:313;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol\";\nimport \"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\";\nimport \"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol\";\nimport \"@openzeppelin/contracts/security/ReentrancyGuard.sol\";\n\ncontract BENFTMarket is Ownable, ReentrancyGuard, ERC1155Holder,ERC721Holder {\n using SafeERC20 for IERC20;\n\n struct OrderInfo {\n uint256 orderId;\n uint256 tokenId;\n uint256 amount;\n address owner;\n uint256 price;\n address nftToken;\n address currency;\n }\n mapping(address => bool) public erc721Supported;\n mapping(address => bool) public erc1155Supported;\n mapping(address => bool) public erc20Supported;\n mapping(uint256 => OrderInfo) public orderInfos;\n mapping(address => uint256) public nftPriceMaxLimit;\n mapping(address => uint256) public nftPriceMinLimit;\n\n event SellOrder(\n uint256 indexed tokenId,\n address indexed owner,\n address indexed nftToken,\n uint256 amount,\n uint256 orderId,\n address currency,\n uint256 price\n );\n\n event CancelOrder(\n uint256 indexed orderId,\n address indexed nftToken,\n uint256 indexed tokenId\n );\n\n event PriceUpdate(\n uint256 indexed orderId,\n address indexed nftToken,\n uint256 indexed tokenId,\n uint256 priceOld,\n uint256 price\n );\n\n event BuyOrder(\n uint256 indexed tokenId,\n uint256 orderId,\n address nftToken,\n uint256 amount,\n address seller,\n address buyer,\n address erc20,\n uint256 price\n );\n\n event AddNFTSuppout(address nftToken);\n event RemoveNFTSuppout(address nftToken);\n event AddERC20Suppout(address erc20);\n event RemoveERC20Suppout(address erc20);\n\n uint256 public tranFeeTotal;\n\n uint256 constant ROUND = 1000000;\n uint256 public transactionFee = (3 * ROUND) / 100;\n // min transaction fee is: 0.5%\n uint256 public constant MIN_TRANSACTION_FEE = (5 * ROUND) / 1000;\n // max transaction fee is: 10%\n uint256 public constant MAX_TRANSACTION_FEE = (10 * ROUND) / 100;\n\n address public feeToAddress;\n\n uint256 public incrId;\n\n function sell(\n address nftToken,\n address currency,\n uint256 tokenId,\n uint256 price,\n uint256 amount\n ) external {\n require(tokenId != 0, \"NFTMarket: tokenId can not be 0!\");\n require(\n erc721Supported[nftToken] || erc1155Supported[nftToken],\n \"NFTMarket: Unsupported NFT\"\n );\n require(erc20Supported[currency], \"NFTMarket: Unsupported tokens\");\n require(\n price <= nftPriceMaxLimit[nftToken] || nftPriceMaxLimit[nftToken] == 0,\n \"NFTMarket: Maximum price limit exceeded\"\n );\n require(\n price >= nftPriceMinLimit[nftToken] && price != 0,\n \"NFTMarket: Below the minimum price limit\"\n );\n incrId += 1;\n OrderInfo storage orderInfo = orderInfos[incrId];\n orderInfo.orderId = incrId;\n orderInfo.tokenId = tokenId;\n orderInfo.amount = amount;\n orderInfo.nftToken = nftToken;\n orderInfo.owner = msg.sender;\n orderInfo.price = price;\n orderInfo.currency = currency;\n if (erc721Supported[nftToken]) {\n require(amount == 1, \"NFTMarket: ERC721 amount must be 1 \");\n IERC721(nftToken).safeTransferFrom(msg.sender, address(this), tokenId);\n } else if (erc1155Supported[nftToken]) {\n IERC1155(nftToken).safeTransferFrom(\n msg.sender,\n address(this),\n tokenId,\n amount,\n \"\"\n );\n }\n\n emit SellOrder(\n tokenId,\n msg.sender,\n nftToken,\n amount,\n incrId,\n currency,\n price\n );\n }\n\n function buy(uint256 orderId) external nonReentrant {\n OrderInfo memory orderInfo = orderInfos[orderId];\n require(orderInfo.tokenId != 0, \"NFTMarket: NFT does not exist\");\n uint256 _transactionFee = (orderInfo.price * transactionFee) / ROUND;\n\n tranFeeTotal = tranFeeTotal + _transactionFee;\n\n uint256 _amount = orderInfo.price - _transactionFee;\n\n IERC20(orderInfo.currency).safeTransferFrom(\n msg.sender,\n orderInfo.owner,\n _amount\n );\n\n IERC20(orderInfo.currency).safeTransferFrom(\n msg.sender,\n feeToAddress,\n _transactionFee\n );\n if (erc721Supported[orderInfo.nftToken]) {\n IERC721(orderInfo.nftToken).safeTransferFrom(\n address(this),\n msg.sender,\n orderInfo.tokenId\n );\n } else if (erc1155Supported[orderInfo.nftToken]) {\n IERC1155(orderInfo.nftToken).safeTransferFrom(\n msg.sender,\n address(this),\n orderInfo.tokenId,\n orderInfo.amount,\n \"\"\n );\n }\n\n emit BuyOrder(\n orderInfo.tokenId,\n orderId,\n orderInfo.nftToken,\n orderInfo.amount,\n orderInfo.owner,\n msg.sender,\n orderInfo.currency,\n orderInfo.price\n );\n delete orderInfos[orderId];\n }\n\n function cancelOrder(uint256 orderId) external nonReentrant {\n require(\n orderInfos[orderId].owner == msg.sender,\n \"NFTMarket: cancel caller is not owner\"\n );\n OrderInfo memory orderInfo = orderInfos[orderId];\n IERC721(orderInfo.nftToken).safeTransferFrom(\n address(this),\n msg.sender,\n orderInfo.tokenId\n );\n delete orderInfos[orderId];\n\n emit CancelOrder(orderId, orderInfo.nftToken, orderInfo.tokenId);\n }\n\n function updatePrice(uint256 orderId, uint256 price) external {\n OrderInfo memory orderInfo = orderInfos[orderId];\n require(orderInfo.tokenId != 0, \"NFTMarket: NFT does not exist\");\n require(orderInfo.owner == msg.sender, \"NFTMarket: caller is not owner\");\n require(\n price <= nftPriceMaxLimit[orderInfo.nftToken] || nftPriceMaxLimit[orderInfo.nftToken] == 0,\n \"NFTMarket: Maximum price limit exceeded\"\n );\n require(\n price >= nftPriceMinLimit[orderInfo.nftToken] && price != 0,\n \"NFTMarket: Below the minimum price limit\"\n );\n uint256 priceOld = orderInfo.price;\n orderInfo.price = price;\n emit PriceUpdate(orderId, orderInfo.nftToken, orderInfo.tokenId, priceOld, price);\n }\n\n function addERC721Support(address nftToken) external onlyOwner {\n erc721Supported[nftToken] = true;\n emit AddNFTSuppout(nftToken);\n }\n\n function removeERC721Support(address nftToken) external onlyOwner {\n erc721Supported[nftToken] = false;\n emit RemoveNFTSuppout(nftToken);\n }\n\n function addERC1155Support(address nftToken) external onlyOwner {\n erc1155Supported[nftToken] = true;\n emit AddNFTSuppout(nftToken);\n }\n\n function removeERC1155Support(address nftToken) external onlyOwner {\n erc1155Supported[nftToken] = false;\n emit RemoveNFTSuppout(nftToken);\n }\n\n function addERC20Support(address erc20) external onlyOwner {\n require(erc20 != address(0), \"NFTMarket: ERC20 address is zero\");\n erc20Supported[erc20] = true;\n emit AddERC20Suppout(erc20);\n }\n\n function removeERC20Support(address erc20) external onlyOwner {\n erc20Supported[erc20] = false;\n emit RemoveERC20Suppout(erc20);\n }\n\n function setNFTPriceMaxLimit(address nftToken, uint256 maxLimit)\n external\n onlyOwner\n {\n require(\n maxLimit >= nftPriceMinLimit[nftToken],\n \"NFTMarket: maxLimit can not be less than min limit!\"\n );\n nftPriceMaxLimit[nftToken] = maxLimit;\n }\n\n function setNFTPriceMinLimit(address nftToken, uint256 minLimit)\n external\n onlyOwner\n {\n if (nftPriceMaxLimit[nftToken] != 0) {\n require(\n minLimit <= nftPriceMaxLimit[nftToken],\n \"NFTMarket: minLimit can not be larger than max limit!\"\n );\n }\n nftPriceMinLimit[nftToken] = minLimit;\n }\n\n function setTransactionFee(uint256 _transactionFee) external onlyOwner {\n require(\n _transactionFee >= MIN_TRANSACTION_FEE &&\n _transactionFee <= MAX_TRANSACTION_FEE,\n \"NFTMarket: _transactionFee must >= 0.5% and <= 10%\"\n );\n transactionFee = _transactionFee;\n }\n\n function setFeeToAddress(address _feeToAddress) external onlyOwner {\n require(_feeToAddress != address(0), \"NFTMarket: fee received address can not be zero\");\n feeToAddress = _feeToAddress;\n }\n}\n", + "sourceMap": "559:8029:15:-:0;;;2091:3;2034:7;2078:1;:9;;;;:::i;:::-;2077:17;;;;:::i;:::-;2045:49;;559:8029;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;1701:1:1;1806:7;:22;;;;559:8029:15;;640:96:12;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;7:77:16:-;44:7;73:5;62:16;;7:77;;;:::o;90:180::-;138:77;135:1;128:88;235:4;232:1;225:15;259:4;256:1;249:15;276:348;316:7;339:20;357:1;339:20;:::i;:::-;334:25;;373:20;391:1;373:20;:::i;:::-;368:25;;561:1;493:66;489:74;486:1;483:81;478:1;471:9;464:17;460:105;457:131;;;568:18;;:::i;:::-;457:131;616:1;613;609:9;598:20;;276:348;;;;:::o;630:180::-;678:77;675:1;668:88;775:4;772:1;765:15;799:4;796:1;789:15;816:185;856:1;873:20;891:1;873:20;:::i;:::-;868:25;;907:20;925:1;907:20;:::i;:::-;902:25;;946:1;936:35;;951:18;;:::i;:::-;936:35;993:1;990;986:9;981:14;;816:185;;;;:::o;559:8029:15:-;;;;;;;", + "deployedSourceMap": "559:8029:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;387:221:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2302:27:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8094:289;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;588:200:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7763:327:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;891:48;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2334:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1099:51;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6991:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6694:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5073:742;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8387:199;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1977:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;840:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2233:64;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:0;;;:::i;:::-;;5819:727:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6550:140;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1036:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;943:46:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2045:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6845:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2132:64;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;993:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;2360:1466;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7491:268;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7144:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;724:247:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1044:51:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3830:1239;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;499:219:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7349:138:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;387:221:5;489:4;527:34;512:49;;;:11;:49;;;;:89;;;;565:36;589:11;565:23;:36::i;:::-;512:89;505:96;;387:221;;;:::o;2302:27:15:-;;;;;;;;;;;;;:::o;8094:289::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2192:4:15::1;2034:7;2179:1;:9;;;;:::i;:::-;2178:18;;;;:::i;:::-;8186:15;:38;;:88;;;;;2294:3;2034:7;2280:2;:10;;;;:::i;:::-;2279:18;;;;:::i;:::-;8236:15;:38;;8186:88;8171:169;;;;;;;;;;;;:::i;:::-;;;;;;;;;8363:15;8346:14;:32;;;;8094:289:::0;:::o;588:200:10:-;726:6;751:30;;;744:37;;588:200;;;;;;:::o;7763:327:15:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7897:1:15::1;7867:16;:26;7884:8;7867:26;;;;;;;;;;;;;;;;:31;7863:180;;7937:16;:26;7954:8;7937:26;;;;;;;;;;;;;;;;7925:8;:38;;7908:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;7863:180;8077:8;8048:16;:26;8065:8;8048:26;;;;;;;;;;;;;;;:37;;;;7763:327:::0;;:::o;891:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2334:21::-;;;;:::o;1099:51::-;;;;;;;;;;;;;;;;;:::o;6991:149::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7093:5:15::1;7064:16;:26;7081:8;7064:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;7109:26;7126:8;7109:26;;;;;;:::i;:::-;;;;;;;;6991:149:::0;:::o;6694:147::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6794:5:15::1;6766:15;:25;6782:8;6766:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;6810:26;6827:8;6810:26;;;;;;:::i;:::-;;;;;;;;6694:147:::0;:::o;5073:742::-;1744:1:1;2325:7;;:19;;2317:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1744:1;2455:7;:18;;;;5183:10:15::1;5154:39;;:10;:19;5165:7;5154:19;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;5139:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;5252:26;5281:10;:19;5292:7;5281:19;;;;;;;;;;;5252:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;5310:15;:35;5326:9;:18;;;5310:35;;;;;;;;;;;;;;;;;;;;;;;;;5306:402;;;5363:9;:18;;;5355:44;;;5417:4;5432:10;5452:9;:17;;;5355:122;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5306:402;;;5494:16;:36;5511:9;:18;;;5494:36;;;;;;;;;;;;;;;;;;;;;;;;;5490:218;;;5549:9;:18;;;5540:45;;;5603:4;5618:10;5638:9;:17;;;5665:9;:16;;;5540:161;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5490:218;5306:402;5720:10;:19;5731:7;5720:19;;;;;;;;;;;;5713:26:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5792:9;:17;;;5772:9;:18;;;5751:59;;5763:7;5751:59;;;;;;;;;;5133:682;1701:1:1::0;2628:7;:22;;;;5073:742:15;:::o;8387:199::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8493:1:15::1;8468:27;;:13;:27;;;;8460:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;8568:13;8553:12;;:28;;;;;;;;;;;;;;;;;;8387:199:::0;:::o;1977:27::-;;;;:::o;840:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;2233:64::-;2294:3;2034:7;2280:2;:10;;;;:::i;:::-;2279:18;;;;:::i;:::-;2233:64;:::o;1668:101:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;5819:727:15:-;5887:26;5916:10;:19;5927:7;5916:19;;;;;;;;;;;5887:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5970:1;5949:9;:17;;;:22;;5941:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6038:10;6019:29;;:9;:15;;;:29;;;6011:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6113:16;:36;6130:9;:18;;;6113:36;;;;;;;;;;;;;;;;6104:5;:45;;:90;;;;6193:1;6153:16;:36;6170:9;:18;;;6153:36;;;;;;;;;;;;;;;;:41;6104:90;6089:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;6279:16;:36;6296:9;:18;;;6279:36;;;;;;;;;;;;;;;;6270:5;:45;;:59;;;;;6328:1;6319:5;:10;;6270:59;6255:130;;;;;;;;;;;;:::i;:::-;;;;;;;;;6391:16;6410:9;:15;;;6391:34;;6449:5;6431:9;:15;;:23;;;;;6506:9;:17;;;6486:9;:18;;;6465:76;;6477:7;6465:76;6525:8;6535:5;6465:76;;;;;;;:::i;:::-;;;;;;;;5881:665;;5819:727;;:::o;6550:140::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6647:4:15::1;6619:15;:25;6635:8;6619:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;6662:23;6676:8;6662:23;;;;;;:::i;:::-;;;;;;;;6550:140:::0;:::o;1036:85:0:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;943:46:15:-;;;;;;;;;;;;;;;;;;;;;;:::o;2045:49::-;;;;:::o;6845:142::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6944:4:15::1;6915:16;:26;6932:8;6915:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;6959:23;6973:8;6959:23;;;;;;:::i;:::-;;;;;;;;6845:142:::0;:::o;2132:64::-;2192:4;2034:7;2179:1;:9;;;;:::i;:::-;2178:18;;;;:::i;:::-;2132:64;:::o;993:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2360:1466::-;2516:1;2505:7;:12;;2497:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;2575:15;:25;2591:8;2575:25;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;2604:16;:26;2621:8;2604:26;;;;;;;;;;;;;;;;;;;;;;;;;2575:55;2560:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;2686:14;:24;2701:8;2686:24;;;;;;;;;;;;;;;;;;;;;;;;;2678:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2774:16;:26;2791:8;2774:26;;;;;;;;;;;;;;;;2765:5;:35;;:70;;;;2834:1;2804:16;:26;2821:8;2804:26;;;;;;;;;;;;;;;;:31;2765:70;2750:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;2920:16;:26;2937:8;2920:26;;;;;;;;;;;;;;;;2911:5;:35;;:49;;;;;2959:1;2950:5;:10;;2911:49;2896:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;3032:1;3022:6;;:11;;;;;;;:::i;:::-;;;;;;;;3039:27;3069:10;:18;3080:6;;3069:18;;;;;;;;;;;3039:48;;3113:6;;3093:9;:17;;:26;;;;3145:7;3125:9;:17;;:27;;;;3177:6;3158:9;:16;;:25;;;;3210:8;3189:9;:18;;;:29;;;;;;;;;;;;;;;;;;3242:10;3224:9;:15;;;:28;;;;;;;;;;;;;;;;;;3276:5;3258:9;:15;;:23;;;;3308:8;3287:9;:18;;;:29;;;;;;;;;;;;;;;;;;3326:15;:25;3342:8;3326:25;;;;;;;;;;;;;;;;;;;;;;;;;3322:367;;;3379:1;3369:6;:11;3361:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3436:8;3428:34;;;3463:10;3483:4;3490:7;3428:70;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3322:367;;;3515:16;:26;3532:8;3515:26;;;;;;;;;;;;;;;;;;;;;;;;;3511:178;;;3560:8;3551:35;;;3596:10;3624:4;3639:7;3656:6;3551:131;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3511:178;3322:367;3750:8;3700:121;;3732:10;3700:121;;3717:7;3700:121;3766:6;3780;;3794:8;3810:5;3700:121;;;;;;;;;:::i;:::-;;;;;;;;2491:1335;2360:1466;;;;;:::o;7491:268::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7618:16:15::1;:26;7635:8;7618:26;;;;;;;;;;;;;;;;7606:8;:38;;7591:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;7746:8;7717:16;:26;7734:8;7717:26;;;;;;;;;;;;;;;:37;;;;7491:268:::0;;:::o;7144:201::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7234:1:15::1;7217:19;;:5;:19;;;;7209:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7303:4;7279:14;:21;7294:5;7279:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;7318:22;7334:5;7318:22;;;;;;:::i;:::-;;;;;;;;7144:201:::0;:::o;724:247:4:-;903:6;928:36;;;921:43;;724:247;;;;;;;:::o;1044:51:15:-;;;;;;;;;;;;;;;;;:::o;3830:1239::-;1744:1:1;2325:7;;:19;;2317:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1744:1;2455:7;:18;;;;3888:26:15::1;3917:10;:19;3928:7;3917:19;;;;;;;;;;;3888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;3971:1;3950:9;:17;;;:22;;3942:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4012:23;2034:7;4057:14;;4039:9;:15;;;:32;;;;:::i;:::-;4038:42;;;;:::i;:::-;4012:68;;4117:15;4102:12;;:30;;;;:::i;:::-;4087:12;:45;;;;4139:15;4175;4157:9;:15;;;:33;;;;:::i;:::-;4139:51;;4197:105;4248:10;4266:9;:15;;;4289:7;4204:9;:18;;;4197:43;;;;:105;;;;;;:::i;:::-;4309:110;4360:10;4378:12;;;;;;;;;;;4398:15;4316:9;:18;;;4309:43;;;;:110;;;;;;:::i;:::-;4429:15;:35;4445:9;:18;;;4429:35;;;;;;;;;;;;;;;;;;;;;;;;;4425:402;;;4482:9;:18;;;4474:44;;;4536:4;4551:10;4571:9;:17;;;4474:122;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4425:402;;;4613:16;:36;4630:9;:18;;;4613:36;;;;;;;;;;;;;;;;;;;;;;;;;4609:218;;;4668:9;:18;;;4659:45;;;4722:4;4737:10;4757:9;:17;;;4784:9;:16;;;4659:161;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4609:218;4425:402;4854:9;:17;;;4838:194;4879:7;4894:9;:18;;;4920:9;:16;;;4944:9;:15;;;4967:10;4985:9;:18;;;5011:9;:15;;;4838:194;;;;;;;;;;;;:::i;:::-;;;;;;;;5045:10;:19;5056:7;5045:19;;;;;;;;;;;;5038:26:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3882:1187;;;1701:1:1::0;2628:7;:22;;;;3830:1239:15;:::o;499:219:4:-;655:6;680:31;;;673:38;;499:219;;;;;;;:::o;1918:198:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;7349:138:15:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7441:5:15::1;7417:14;:21;7432:5;7417:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;7457:25;7476:5;7457:25;;;;;;:::i;:::-;;;;;;;;7349:138:::0;:::o;829:155:13:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;640:96:12:-;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;912:241:7:-;1050:96;1070:5;1100:27;;;1129:4;1135:2;1139:5;1077:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:19;:96::i;:::-;912:241;;;;:::o;3207:706::-;3626:23;3652:69;3680:4;3652:69;;;;;;;;;;;;;;;;;3660:5;3652:27;;;;:69;;;;;:::i;:::-;3626:95;;3755:1;3735:10;:17;:21;3731:176;;;3830:10;3819:30;;;;;;;;;;;;:::i;:::-;3811:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3731:176;3277:636;3207:706;;:::o;3861:223:11:-;3994:12;4025:52;4047:6;4055:4;4061:1;4064:12;4025:21;:52::i;:::-;4018:59;;3861:223;;;;;:::o;4948:499::-;5113:12;5170:5;5145:21;:30;;5137:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;5236:18;5247:6;5236:10;:18::i;:::-;5228:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5300:12;5314:23;5341:6;:11;;5360:5;5367:4;5341:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5299:73;;;;5389:51;5406:7;5415:10;5427:12;5389:16;:51::i;:::-;5382:58;;;;4948:499;;;;;;:::o;1175:320::-;1235:4;1487:1;1465:7;:19;;;:23;1458:30;;1175:320;;;:::o;7561:692::-;7707:12;7735:7;7731:516;;;7765:10;7758:17;;;;7731:516;7896:1;7876:10;:17;:21;7872:365;;;8070:10;8064:17;8130:15;8117:10;8113:2;8109:19;8102:44;7872:365;8209:12;8202:20;;;;;;;;;;;:::i;:::-;;;;;;;;7561:692;;;;;;:::o;7:75:16:-;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:126::-;1555:7;1595:42;1588:5;1584:54;1573:65;;1518:126;;;:::o;1650:96::-;1687:7;1716:24;1734:5;1716:24;:::i;:::-;1705:35;;1650:96;;;:::o;1752:118::-;1839:24;1857:5;1839:24;:::i;:::-;1834:3;1827:37;1752:118;;:::o;1876:222::-;1969:4;2007:2;1996:9;1992:18;1984:26;;2020:71;2088:1;2077:9;2073:17;2064:6;2020:71;:::i;:::-;1876:222;;;;:::o;2104:77::-;2141:7;2170:5;2159:16;;2104:77;;;:::o;2187:122::-;2260:24;2278:5;2260:24;:::i;:::-;2253:5;2250:35;2240:63;;2299:1;2296;2289:12;2240:63;2187:122;:::o;2315:139::-;2361:5;2399:6;2386:20;2377:29;;2415:33;2442:5;2415:33;:::i;:::-;2315:139;;;;:::o;2460:329::-;2519:6;2568:2;2556:9;2547:7;2543:23;2539:32;2536:119;;;2574:79;;:::i;:::-;2536:119;2694:1;2719:53;2764:7;2755:6;2744:9;2740:22;2719:53;:::i;:::-;2709:63;;2665:117;2460:329;;;;:::o;2795:122::-;2868:24;2886:5;2868:24;:::i;:::-;2861:5;2858:35;2848:63;;2907:1;2904;2897:12;2848:63;2795:122;:::o;2923:139::-;2969:5;3007:6;2994:20;2985:29;;3023:33;3050:5;3023:33;:::i;:::-;2923:139;;;;:::o;3068:117::-;3177:1;3174;3167:12;3191:117;3300:1;3297;3290:12;3314:102;3355:6;3406:2;3402:7;3397:2;3390:5;3386:14;3382:28;3372:38;;3314:102;;;:::o;3422:180::-;3470:77;3467:1;3460:88;3567:4;3564:1;3557:15;3591:4;3588:1;3581:15;3608:281;3691:27;3713:4;3691:27;:::i;:::-;3683:6;3679:40;3821:6;3809:10;3806:22;3785:18;3773:10;3770:34;3767:62;3764:88;;;3832:18;;:::i;:::-;3764:88;3872:10;3868:2;3861:22;3651:238;3608:281;;:::o;3895:129::-;3929:6;3956:20;;:::i;:::-;3946:30;;3985:33;4013:4;4005:6;3985:33;:::i;:::-;3895:129;;;:::o;4030:307::-;4091:4;4181:18;4173:6;4170:30;4167:56;;;4203:18;;:::i;:::-;4167:56;4241:29;4263:6;4241:29;:::i;:::-;4233:37;;4325:4;4319;4315:15;4307:23;;4030:307;;;:::o;4343:154::-;4427:6;4422:3;4417;4404:30;4489:1;4480:6;4475:3;4471:16;4464:27;4343:154;;;:::o;4503:410::-;4580:5;4605:65;4621:48;4662:6;4621:48;:::i;:::-;4605:65;:::i;:::-;4596:74;;4693:6;4686:5;4679:21;4731:4;4724:5;4720:16;4769:3;4760:6;4755:3;4751:16;4748:25;4745:112;;;4776:79;;:::i;:::-;4745:112;4866:41;4900:6;4895:3;4890;4866:41;:::i;:::-;4586:327;4503:410;;;;;:::o;4932:338::-;4987:5;5036:3;5029:4;5021:6;5017:17;5013:27;5003:122;;5044:79;;:::i;:::-;5003:122;5161:6;5148:20;5186:78;5260:3;5252:6;5245:4;5237:6;5233:17;5186:78;:::i;:::-;5177:87;;4993:277;4932:338;;;;:::o;5276:943::-;5371:6;5379;5387;5395;5444:3;5432:9;5423:7;5419:23;5415:33;5412:120;;;5451:79;;:::i;:::-;5412:120;5571:1;5596:53;5641:7;5632:6;5621:9;5617:22;5596:53;:::i;:::-;5586:63;;5542:117;5698:2;5724:53;5769:7;5760:6;5749:9;5745:22;5724:53;:::i;:::-;5714:63;;5669:118;5826:2;5852:53;5897:7;5888:6;5877:9;5873:22;5852:53;:::i;:::-;5842:63;;5797:118;5982:2;5971:9;5967:18;5954:32;6013:18;6005:6;6002:30;5999:117;;;6035:79;;:::i;:::-;5999:117;6140:62;6194:7;6185:6;6174:9;6170:22;6140:62;:::i;:::-;6130:72;;5925:287;5276:943;;;;;;;:::o;6225:115::-;6310:23;6327:5;6310:23;:::i;:::-;6305:3;6298:36;6225:115;;:::o;6346:218::-;6437:4;6475:2;6464:9;6460:18;6452:26;;6488:69;6554:1;6543:9;6539:17;6530:6;6488:69;:::i;:::-;6346:218;;;;:::o;6570:474::-;6638:6;6646;6695:2;6683:9;6674:7;6670:23;6666:32;6663:119;;;6701:79;;:::i;:::-;6663:119;6821:1;6846:53;6891:7;6882:6;6871:9;6867:22;6846:53;:::i;:::-;6836:63;;6792:117;6948:2;6974:53;7019:7;7010:6;6999:9;6995:22;6974:53;:::i;:::-;6964:63;;6919:118;6570:474;;;;;:::o;7050:329::-;7109:6;7158:2;7146:9;7137:7;7133:23;7129:32;7126:119;;;7164:79;;:::i;:::-;7126:119;7284:1;7309:53;7354:7;7345:6;7334:9;7330:22;7309:53;:::i;:::-;7299:63;;7255:117;7050:329;;;;:::o;7385:118::-;7472:24;7490:5;7472:24;:::i;:::-;7467:3;7460:37;7385:118;;:::o;7509:222::-;7602:4;7640:2;7629:9;7625:18;7617:26;;7653:71;7721:1;7710:9;7706:17;7697:6;7653:71;:::i;:::-;7509:222;;;;:::o;7737:474::-;7805:6;7813;7862:2;7850:9;7841:7;7837:23;7833:32;7830:119;;;7868:79;;:::i;:::-;7830:119;7988:1;8013:53;8058:7;8049:6;8038:9;8034:22;8013:53;:::i;:::-;8003:63;;7959:117;8115:2;8141:53;8186:7;8177:6;8166:9;8162:22;8141:53;:::i;:::-;8131:63;;8086:118;7737:474;;;;;:::o;8217:886::-;8478:4;8516:3;8505:9;8501:19;8493:27;;8530:71;8598:1;8587:9;8583:17;8574:6;8530:71;:::i;:::-;8611:72;8679:2;8668:9;8664:18;8655:6;8611:72;:::i;:::-;8693;8761:2;8750:9;8746:18;8737:6;8693:72;:::i;:::-;8775;8843:2;8832:9;8828:18;8819:6;8775:72;:::i;:::-;8857:73;8925:3;8914:9;8910:19;8901:6;8857:73;:::i;:::-;8940;9008:3;8997:9;8993:19;8984:6;8940:73;:::i;:::-;9023;9091:3;9080:9;9076:19;9067:6;9023:73;:::i;:::-;8217:886;;;;;;;;;;:::o;9109:911::-;9204:6;9212;9220;9228;9236;9285:3;9273:9;9264:7;9260:23;9256:33;9253:120;;;9292:79;;:::i;:::-;9253:120;9412:1;9437:53;9482:7;9473:6;9462:9;9458:22;9437:53;:::i;:::-;9427:63;;9383:117;9539:2;9565:53;9610:7;9601:6;9590:9;9586:22;9565:53;:::i;:::-;9555:63;;9510:118;9667:2;9693:53;9738:7;9729:6;9718:9;9714:22;9693:53;:::i;:::-;9683:63;;9638:118;9795:2;9821:53;9866:7;9857:6;9846:9;9842:22;9821:53;:::i;:::-;9811:63;;9766:118;9923:3;9950:53;9995:7;9986:6;9975:9;9971:22;9950:53;:::i;:::-;9940:63;;9894:119;9109:911;;;;;;;;:::o;10026:311::-;10103:4;10193:18;10185:6;10182:30;10179:56;;;10215:18;;:::i;:::-;10179:56;10265:4;10257:6;10253:17;10245:25;;10325:4;10319;10315:15;10307:23;;10026:311;;;:::o;10343:117::-;10452:1;10449;10442:12;10483:710;10579:5;10604:81;10620:64;10677:6;10620:64;:::i;:::-;10604:81;:::i;:::-;10595:90;;10705:5;10734:6;10727:5;10720:21;10768:4;10761:5;10757:16;10750:23;;10821:4;10813:6;10809:17;10801:6;10797:30;10850:3;10842:6;10839:15;10836:122;;;10869:79;;:::i;:::-;10836:122;10984:6;10967:220;11001:6;10996:3;10993:15;10967:220;;;11076:3;11105:37;11138:3;11126:10;11105:37;:::i;:::-;11100:3;11093:50;11172:4;11167:3;11163:14;11156:21;;11043:144;11027:4;11022:3;11018:14;11011:21;;10967:220;;;10971:21;10585:608;;10483:710;;;;;:::o;11216:370::-;11287:5;11336:3;11329:4;11321:6;11317:17;11313:27;11303:122;;11344:79;;:::i;:::-;11303:122;11461:6;11448:20;11486:94;11576:3;11568:6;11561:4;11553:6;11549:17;11486:94;:::i;:::-;11477:103;;11293:293;11216:370;;;;:::o;11592:1509::-;11746:6;11754;11762;11770;11778;11827:3;11815:9;11806:7;11802:23;11798:33;11795:120;;;11834:79;;:::i;:::-;11795:120;11954:1;11979:53;12024:7;12015:6;12004:9;12000:22;11979:53;:::i;:::-;11969:63;;11925:117;12081:2;12107:53;12152:7;12143:6;12132:9;12128:22;12107:53;:::i;:::-;12097:63;;12052:118;12237:2;12226:9;12222:18;12209:32;12268:18;12260:6;12257:30;12254:117;;;12290:79;;:::i;:::-;12254:117;12395:78;12465:7;12456:6;12445:9;12441:22;12395:78;:::i;:::-;12385:88;;12180:303;12550:2;12539:9;12535:18;12522:32;12581:18;12573:6;12570:30;12567:117;;;12603:79;;:::i;:::-;12567:117;12708:78;12778:7;12769:6;12758:9;12754:22;12708:78;:::i;:::-;12698:88;;12493:303;12863:3;12852:9;12848:19;12835:33;12895:18;12887:6;12884:30;12881:117;;;12917:79;;:::i;:::-;12881:117;13022:62;13076:7;13067:6;13056:9;13052:22;13022:62;:::i;:::-;13012:72;;12806:288;11592:1509;;;;;;;;:::o;13107:1089::-;13211:6;13219;13227;13235;13243;13292:3;13280:9;13271:7;13267:23;13263:33;13260:120;;;13299:79;;:::i;:::-;13260:120;13419:1;13444:53;13489:7;13480:6;13469:9;13465:22;13444:53;:::i;:::-;13434:63;;13390:117;13546:2;13572:53;13617:7;13608:6;13597:9;13593:22;13572:53;:::i;:::-;13562:63;;13517:118;13674:2;13700:53;13745:7;13736:6;13725:9;13721:22;13700:53;:::i;:::-;13690:63;;13645:118;13802:2;13828:53;13873:7;13864:6;13853:9;13849:22;13828:53;:::i;:::-;13818:63;;13773:118;13958:3;13947:9;13943:19;13930:33;13990:18;13982:6;13979:30;13976:117;;;14012:79;;:::i;:::-;13976:117;14117:62;14171:7;14162:6;14151:9;14147:22;14117:62;:::i;:::-;14107:72;;13901:288;13107:1089;;;;;;;;:::o;14202:169::-;14286:11;14320:6;14315:3;14308:19;14360:4;14355:3;14351:14;14336:29;;14202:169;;;;:::o;14377:182::-;14517:34;14513:1;14505:6;14501:14;14494:58;14377:182;:::o;14565:366::-;14707:3;14728:67;14792:2;14787:3;14728:67;:::i;:::-;14721:74;;14804:93;14893:3;14804:93;:::i;:::-;14922:2;14917:3;14913:12;14906:19;;14565:366;;;:::o;14937:419::-;15103:4;15141:2;15130:9;15126:18;15118:26;;15190:9;15184:4;15180:20;15176:1;15165:9;15161:17;15154:47;15218:131;15344:4;15218:131;:::i;:::-;15210:139;;14937:419;;;:::o;15362:180::-;15410:77;15407:1;15400:88;15507:4;15504:1;15497:15;15531:4;15528:1;15521:15;15548:348;15588:7;15611:20;15629:1;15611:20;:::i;:::-;15606:25;;15645:20;15663:1;15645:20;:::i;:::-;15640:25;;15833:1;15765:66;15761:74;15758:1;15755:81;15750:1;15743:9;15736:17;15732:105;15729:131;;;15840:18;;:::i;:::-;15729:131;15888:1;15885;15881:9;15870:20;;15548:348;;;;:::o;15902:180::-;15950:77;15947:1;15940:88;16047:4;16044:1;16037:15;16071:4;16068:1;16061:15;16088:185;16128:1;16145:20;16163:1;16145:20;:::i;:::-;16140:25;;16179:20;16197:1;16179:20;:::i;:::-;16174:25;;16218:1;16208:35;;16223:18;;:::i;:::-;16208:35;16265:1;16262;16258:9;16253:14;;16088:185;;;;:::o;16279:237::-;16419:34;16415:1;16407:6;16403:14;16396:58;16488:20;16483:2;16475:6;16471:15;16464:45;16279:237;:::o;16522:366::-;16664:3;16685:67;16749:2;16744:3;16685:67;:::i;:::-;16678:74;;16761:93;16850:3;16761:93;:::i;:::-;16879:2;16874:3;16870:12;16863:19;;16522:366;;;:::o;16894:419::-;17060:4;17098:2;17087:9;17083:18;17075:26;;17147:9;17141:4;17137:20;17133:1;17122:9;17118:17;17111:47;17175:131;17301:4;17175:131;:::i;:::-;17167:139;;16894:419;;;:::o;17319:240::-;17459:34;17455:1;17447:6;17443:14;17436:58;17528:23;17523:2;17515:6;17511:15;17504:48;17319:240;:::o;17565:366::-;17707:3;17728:67;17792:2;17787:3;17728:67;:::i;:::-;17721:74;;17804:93;17893:3;17804:93;:::i;:::-;17922:2;17917:3;17913:12;17906:19;;17565:366;;;:::o;17937:419::-;18103:4;18141:2;18130:9;18126:18;18118:26;;18190:9;18184:4;18180:20;18176:1;18165:9;18161:17;18154:47;18218:131;18344:4;18218:131;:::i;:::-;18210:139;;17937:419;;;:::o;18362:181::-;18502:33;18498:1;18490:6;18486:14;18479:57;18362:181;:::o;18549:366::-;18691:3;18712:67;18776:2;18771:3;18712:67;:::i;:::-;18705:74;;18788:93;18877:3;18788:93;:::i;:::-;18906:2;18901:3;18897:12;18890:19;;18549:366;;;:::o;18921:419::-;19087:4;19125:2;19114:9;19110:18;19102:26;;19174:9;19168:4;19164:20;19160:1;19149:9;19145:17;19138:47;19202:131;19328:4;19202:131;:::i;:::-;19194:139;;18921:419;;;:::o;19346:224::-;19486:34;19482:1;19474:6;19470:14;19463:58;19555:7;19550:2;19542:6;19538:15;19531:32;19346:224;:::o;19576:366::-;19718:3;19739:67;19803:2;19798:3;19739:67;:::i;:::-;19732:74;;19815:93;19904:3;19815:93;:::i;:::-;19933:2;19928:3;19924:12;19917:19;;19576:366;;;:::o;19948:419::-;20114:4;20152:2;20141:9;20137:18;20129:26;;20201:9;20195:4;20191:20;20187:1;20176:9;20172:17;20165:47;20229:131;20355:4;20229:131;:::i;:::-;20221:139;;19948:419;;;:::o;20373:442::-;20522:4;20560:2;20549:9;20545:18;20537:26;;20573:71;20641:1;20630:9;20626:17;20617:6;20573:71;:::i;:::-;20654:72;20722:2;20711:9;20707:18;20698:6;20654:72;:::i;:::-;20736;20804:2;20793:9;20789:18;20780:6;20736:72;:::i;:::-;20373:442;;;;;;:::o;20821:168::-;20904:11;20938:6;20933:3;20926:19;20978:4;20973:3;20969:14;20954:29;;20821:168;;;;:::o;20995:114::-;;:::o;21115:362::-;21256:3;21277:65;21340:1;21335:3;21277:65;:::i;:::-;21270:72;;21351:93;21440:3;21351:93;:::i;:::-;21469:1;21464:3;21460:11;21453:18;;21115:362;;;:::o;21483:859::-;21760:4;21798:3;21787:9;21783:19;21775:27;;21812:71;21880:1;21869:9;21865:17;21856:6;21812:71;:::i;:::-;21893:72;21961:2;21950:9;21946:18;21937:6;21893:72;:::i;:::-;21975;22043:2;22032:9;22028:18;22019:6;21975:72;:::i;:::-;22057;22125:2;22114:9;22110:18;22101:6;22057:72;:::i;:::-;22177:9;22171:4;22167:20;22161:3;22150:9;22146:19;22139:49;22205:130;22330:4;22205:130;:::i;:::-;22197:138;;21483:859;;;;;;;:::o;22348:234::-;22488:34;22484:1;22476:6;22472:14;22465:58;22557:17;22552:2;22544:6;22540:15;22533:42;22348:234;:::o;22588:366::-;22730:3;22751:67;22815:2;22810:3;22751:67;:::i;:::-;22744:74;;22827:93;22916:3;22827:93;:::i;:::-;22945:2;22940:3;22936:12;22929:19;;22588:366;;;:::o;22960:419::-;23126:4;23164:2;23153:9;23149:18;23141:26;;23213:9;23207:4;23203:20;23199:1;23188:9;23184:17;23177:47;23241:131;23367:4;23241:131;:::i;:::-;23233:139;;22960:419;;;:::o;23385:179::-;23525:31;23521:1;23513:6;23509:14;23502:55;23385:179;:::o;23570:366::-;23712:3;23733:67;23797:2;23792:3;23733:67;:::i;:::-;23726:74;;23809:93;23898:3;23809:93;:::i;:::-;23927:2;23922:3;23918:12;23911:19;;23570:366;;;:::o;23942:419::-;24108:4;24146:2;24135:9;24131:18;24123:26;;24195:9;24189:4;24185:20;24181:1;24170:9;24166:17;24159:47;24223:131;24349:4;24223:131;:::i;:::-;24215:139;;23942:419;;;:::o;24367:180::-;24507:32;24503:1;24495:6;24491:14;24484:56;24367:180;:::o;24553:366::-;24695:3;24716:67;24780:2;24775:3;24716:67;:::i;:::-;24709:74;;24792:93;24881:3;24792:93;:::i;:::-;24910:2;24905:3;24901:12;24894:19;;24553:366;;;:::o;24925:419::-;25091:4;25129:2;25118:9;25114:18;25106:26;;25178:9;25172:4;25168:20;25164:1;25153:9;25149:17;25142:47;25206:131;25332:4;25206:131;:::i;:::-;25198:139;;24925:419;;;:::o;25350:226::-;25490:34;25486:1;25478:6;25474:14;25467:58;25559:9;25554:2;25546:6;25542:15;25535:34;25350:226;:::o;25582:366::-;25724:3;25745:67;25809:2;25804:3;25745:67;:::i;:::-;25738:74;;25821:93;25910:3;25821:93;:::i;:::-;25939:2;25934:3;25930:12;25923:19;;25582:366;;;:::o;25954:419::-;26120:4;26158:2;26147:9;26143:18;26135:26;;26207:9;26201:4;26197:20;26193:1;26182:9;26178:17;26171:47;26235:131;26361:4;26235:131;:::i;:::-;26227:139;;25954:419;;;:::o;26379:227::-;26519:34;26515:1;26507:6;26503:14;26496:58;26588:10;26583:2;26575:6;26571:15;26564:35;26379:227;:::o;26612:366::-;26754:3;26775:67;26839:2;26834:3;26775:67;:::i;:::-;26768:74;;26851:93;26940:3;26851:93;:::i;:::-;26969:2;26964:3;26960:12;26953:19;;26612:366;;;:::o;26984:419::-;27150:4;27188:2;27177:9;27173:18;27165:26;;27237:9;27231:4;27227:20;27223:1;27212:9;27208:17;27201:47;27265:131;27391:4;27265:131;:::i;:::-;27257:139;;26984:419;;;:::o;27409:332::-;27530:4;27568:2;27557:9;27553:18;27545:26;;27581:71;27649:1;27638:9;27634:17;27625:6;27581:71;:::i;:::-;27662:72;27730:2;27719:9;27715:18;27706:6;27662:72;:::i;:::-;27409:332;;;;;:::o;27747:182::-;27887:34;27883:1;27875:6;27871:14;27864:58;27747:182;:::o;27935:366::-;28077:3;28098:67;28162:2;28157:3;28098:67;:::i;:::-;28091:74;;28174:93;28263:3;28174:93;:::i;:::-;28292:2;28287:3;28283:12;28276:19;;27935:366;;;:::o;28307:419::-;28473:4;28511:2;28500:9;28496:18;28488:26;;28560:9;28554:4;28550:20;28546:1;28535:9;28531:17;28524:47;28588:131;28714:4;28588:131;:::i;:::-;28580:139;;28307:419;;;:::o;28732:176::-;28872:28;28868:1;28860:6;28856:14;28849:52;28732:176;:::o;28914:366::-;29056:3;29077:67;29141:2;29136:3;29077:67;:::i;:::-;29070:74;;29153:93;29242:3;29153:93;:::i;:::-;29271:2;29266:3;29262:12;29255:19;;28914:366;;;:::o;29286:419::-;29452:4;29490:2;29479:9;29475:18;29467:26;;29539:9;29533:4;29529:20;29525:1;29514:9;29510:17;29503:47;29567:131;29693:4;29567:131;:::i;:::-;29559:139;;29286:419;;;:::o;29711:179::-;29851:31;29847:1;29839:6;29835:14;29828:55;29711:179;:::o;29896:366::-;30038:3;30059:67;30123:2;30118:3;30059:67;:::i;:::-;30052:74;;30135:93;30224:3;30135:93;:::i;:::-;30253:2;30248:3;30244:12;30237:19;;29896:366;;;:::o;30268:419::-;30434:4;30472:2;30461:9;30457:18;30449:26;;30521:9;30515:4;30511:20;30507:1;30496:9;30492:17;30485:47;30549:131;30675:4;30549:131;:::i;:::-;30541:139;;30268:419;;;:::o;30693:305::-;30733:3;30752:20;30770:1;30752:20;:::i;:::-;30747:25;;30786:20;30804:1;30786:20;:::i;:::-;30781:25;;30940:1;30872:66;30868:74;30865:1;30862:81;30859:107;;;30946:18;;:::i;:::-;30859:107;30990:1;30987;30983:9;30976:16;;30693:305;;;;:::o;31004:222::-;31144:34;31140:1;31132:6;31128:14;31121:58;31213:5;31208:2;31200:6;31196:15;31189:30;31004:222;:::o;31232:366::-;31374:3;31395:67;31459:2;31454:3;31395:67;:::i;:::-;31388:74;;31471:93;31560:3;31471:93;:::i;:::-;31589:2;31584:3;31580:12;31573:19;;31232:366;;;:::o;31604:419::-;31770:4;31808:2;31797:9;31793:18;31785:26;;31857:9;31851:4;31847:20;31843:1;31832:9;31828:17;31821:47;31885:131;32011:4;31885:131;:::i;:::-;31877:139;;31604:419;;;:::o;32029:553::-;32206:4;32244:3;32233:9;32229:19;32221:27;;32258:71;32326:1;32315:9;32311:17;32302:6;32258:71;:::i;:::-;32339:72;32407:2;32396:9;32392:18;32383:6;32339:72;:::i;:::-;32421;32489:2;32478:9;32474:18;32465:6;32421:72;:::i;:::-;32503;32571:2;32560:9;32556:18;32547:6;32503:72;:::i;:::-;32029:553;;;;;;;:::o;32588:238::-;32728:34;32724:1;32716:6;32712:14;32705:58;32797:21;32792:2;32784:6;32780:15;32773:46;32588:238;:::o;32832:366::-;32974:3;32995:67;33059:2;33054:3;32995:67;:::i;:::-;32988:74;;33071:93;33160:3;33071:93;:::i;:::-;33189:2;33184:3;33180:12;33173:19;;32832:366;;;:::o;33204:419::-;33370:4;33408:2;33397:9;33393:18;33385:26;;33457:9;33451:4;33447:20;33443:1;33432:9;33428:17;33421:47;33485:131;33611:4;33485:131;:::i;:::-;33477:139;;33204:419;;;:::o;33629:182::-;33769:34;33765:1;33757:6;33753:14;33746:58;33629:182;:::o;33817:366::-;33959:3;33980:67;34044:2;34039:3;33980:67;:::i;:::-;33973:74;;34056:93;34145:3;34056:93;:::i;:::-;34174:2;34169:3;34165:12;34158:19;;33817:366;;;:::o;34189:419::-;34355:4;34393:2;34382:9;34378:18;34370:26;;34442:9;34436:4;34432:20;34428:1;34417:9;34413:17;34406:47;34470:131;34596:4;34470:131;:::i;:::-;34462:139;;34189:419;;;:::o;34614:191::-;34654:4;34674:20;34692:1;34674:20;:::i;:::-;34669:25;;34708:20;34726:1;34708:20;:::i;:::-;34703:25;;34747:1;34744;34741:8;34738:34;;;34752:18;;:::i;:::-;34738:34;34797:1;34794;34790:9;34782:17;;34614:191;;;;:::o;34811:886::-;35072:4;35110:3;35099:9;35095:19;35087:27;;35124:71;35192:1;35181:9;35177:17;35168:6;35124:71;:::i;:::-;35205:72;35273:2;35262:9;35258:18;35249:6;35205:72;:::i;:::-;35287;35355:2;35344:9;35340:18;35331:6;35287:72;:::i;:::-;35369;35437:2;35426:9;35422:18;35413:6;35369:72;:::i;:::-;35451:73;35519:3;35508:9;35504:19;35495:6;35451:73;:::i;:::-;35534;35602:3;35591:9;35587:19;35578:6;35534:73;:::i;:::-;35617;35685:3;35674:9;35670:19;35661:6;35617:73;:::i;:::-;34811:886;;;;;;;;;;:::o;35703:225::-;35843:34;35839:1;35831:6;35827:14;35820:58;35912:8;35907:2;35899:6;35895:15;35888:33;35703:225;:::o;35934:366::-;36076:3;36097:67;36161:2;36156:3;36097:67;:::i;:::-;36090:74;;36173:93;36262:3;36173:93;:::i;:::-;36291:2;36286:3;36282:12;36275:19;;35934:366;;;:::o;36306:419::-;36472:4;36510:2;36499:9;36495:18;36487:26;;36559:9;36553:4;36549:20;36545:1;36534:9;36530:17;36523:47;36587:131;36713:4;36587:131;:::i;:::-;36579:139;;36306:419;;;:::o;36731:116::-;36801:21;36816:5;36801:21;:::i;:::-;36794:5;36791:32;36781:60;;36837:1;36834;36827:12;36781:60;36731:116;:::o;36853:137::-;36907:5;36938:6;36932:13;36923:22;;36954:30;36978:5;36954:30;:::i;:::-;36853:137;;;;:::o;36996:345::-;37063:6;37112:2;37100:9;37091:7;37087:23;37083:32;37080:119;;;37118:79;;:::i;:::-;37080:119;37238:1;37263:61;37316:7;37307:6;37296:9;37292:22;37263:61;:::i;:::-;37253:71;;37209:125;36996:345;;;;:::o;37347:229::-;37487:34;37483:1;37475:6;37471:14;37464:58;37556:12;37551:2;37543:6;37539:15;37532:37;37347:229;:::o;37582:366::-;37724:3;37745:67;37809:2;37804:3;37745:67;:::i;:::-;37738:74;;37821:93;37910:3;37821:93;:::i;:::-;37939:2;37934:3;37930:12;37923:19;;37582:366;;;:::o;37954:419::-;38120:4;38158:2;38147:9;38143:18;38135:26;;38207:9;38201:4;38197:20;38193:1;38182:9;38178:17;38171:47;38235:131;38361:4;38235:131;:::i;:::-;38227:139;;37954:419;;;:::o;38379:225::-;38519:34;38515:1;38507:6;38503:14;38496:58;38588:8;38583:2;38575:6;38571:15;38564:33;38379:225;:::o;38610:366::-;38752:3;38773:67;38837:2;38832:3;38773:67;:::i;:::-;38766:74;;38849:93;38938:3;38849:93;:::i;:::-;38967:2;38962:3;38958:12;38951:19;;38610:366;;;:::o;38982:419::-;39148:4;39186:2;39175:9;39171:18;39163:26;;39235:9;39229:4;39225:20;39221:1;39210:9;39206:17;39199:47;39263:131;39389:4;39263:131;:::i;:::-;39255:139;;38982:419;;;:::o;39407:179::-;39547:31;39543:1;39535:6;39531:14;39524:55;39407:179;:::o;39592:366::-;39734:3;39755:67;39819:2;39814:3;39755:67;:::i;:::-;39748:74;;39831:93;39920:3;39831:93;:::i;:::-;39949:2;39944:3;39940:12;39933:19;;39592:366;;;:::o;39964:419::-;40130:4;40168:2;40157:9;40153:18;40145:26;;40217:9;40211:4;40207:20;40203:1;40192:9;40188:17;40181:47;40245:131;40371:4;40245:131;:::i;:::-;40237:139;;39964:419;;;:::o;40389:98::-;40440:6;40474:5;40468:12;40458:22;;40389:98;;;:::o;40493:147::-;40594:11;40631:3;40616:18;;40493:147;;;;:::o;40646:307::-;40714:1;40724:113;40738:6;40735:1;40732:13;40724:113;;;40823:1;40818:3;40814:11;40808:18;40804:1;40799:3;40795:11;40788:39;40760:2;40757:1;40753:10;40748:15;;40724:113;;;40855:6;40852:1;40849:13;40846:101;;;40935:1;40926:6;40921:3;40917:16;40910:27;40846:101;40695:258;40646:307;;;:::o;40959:373::-;41063:3;41091:38;41123:5;41091:38;:::i;:::-;41145:88;41226:6;41221:3;41145:88;:::i;:::-;41138:95;;41242:52;41287:6;41282:3;41275:4;41268:5;41264:16;41242:52;:::i;:::-;41319:6;41314:3;41310:16;41303:23;;41067:265;40959:373;;;;:::o;41338:271::-;41468:3;41490:93;41579:3;41570:6;41490:93;:::i;:::-;41483:100;;41600:3;41593:10;;41338:271;;;;:::o;41615:99::-;41667:6;41701:5;41695:12;41685:22;;41615:99;;;:::o;41720:364::-;41808:3;41836:39;41869:5;41836:39;:::i;:::-;41891:71;41955:6;41950:3;41891:71;:::i;:::-;41884:78;;41971:52;42016:6;42011:3;42004:4;41997:5;41993:16;41971:52;:::i;:::-;42048:29;42070:6;42048:29;:::i;:::-;42043:3;42039:39;42032:46;;41812:272;41720:364;;;;:::o;42090:313::-;42203:4;42241:2;42230:9;42226:18;42218:26;;42290:9;42284:4;42280:20;42276:1;42265:9;42261:17;42254:47;42318:78;42391:4;42382:6;42318:78;:::i;:::-;42310:86;;42090:313;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol\";\nimport \"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\";\nimport \"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol\";\nimport \"@openzeppelin/contracts/security/ReentrancyGuard.sol\";\n\ncontract BENFTMarket is Ownable, ReentrancyGuard, ERC1155Holder,ERC721Holder {\n using SafeERC20 for IERC20;\n\n struct OrderInfo {\n uint256 orderId;\n uint256 tokenId;\n uint256 amount;\n address owner;\n uint256 price;\n address nftToken;\n address currency;\n }\n mapping(address => bool) public erc721Supported;\n mapping(address => bool) public erc1155Supported;\n mapping(address => bool) public erc20Supported;\n mapping(uint256 => OrderInfo) public orderInfos;\n mapping(address => uint256) public nftPriceMaxLimit;\n mapping(address => uint256) public nftPriceMinLimit;\n\n event SellOrder(\n uint256 indexed tokenId,\n address indexed owner,\n address indexed nftToken,\n uint256 amount,\n uint256 orderId,\n address currency,\n uint256 price\n );\n\n event CancelOrder(\n uint256 indexed orderId,\n address indexed nftToken,\n uint256 indexed tokenId\n );\n\n event PriceUpdate(\n uint256 indexed orderId,\n address indexed nftToken,\n uint256 indexed tokenId,\n uint256 priceOld,\n uint256 price\n );\n\n event BuyOrder(\n uint256 indexed tokenId,\n uint256 orderId,\n address nftToken,\n uint256 amount,\n address seller,\n address buyer,\n address erc20,\n uint256 price\n );\n\n event AddNFTSuppout(address nftToken);\n event RemoveNFTSuppout(address nftToken);\n event AddERC20Suppout(address erc20);\n event RemoveERC20Suppout(address erc20);\n\n uint256 public tranFeeTotal;\n\n uint256 constant ROUND = 1000000;\n uint256 public transactionFee = (3 * ROUND) / 100;\n // min transaction fee is: 0.5%\n uint256 public constant MIN_TRANSACTION_FEE = (5 * ROUND) / 1000;\n // max transaction fee is: 10%\n uint256 public constant MAX_TRANSACTION_FEE = (10 * ROUND) / 100;\n\n address public feeToAddress;\n\n uint256 public incrId;\n\n function sell(\n address nftToken,\n address currency,\n uint256 tokenId,\n uint256 price,\n uint256 amount\n ) external {\n require(tokenId != 0, \"NFTMarket: tokenId can not be 0!\");\n require(\n erc721Supported[nftToken] || erc1155Supported[nftToken],\n \"NFTMarket: Unsupported NFT\"\n );\n require(erc20Supported[currency], \"NFTMarket: Unsupported tokens\");\n require(\n price <= nftPriceMaxLimit[nftToken] || nftPriceMaxLimit[nftToken] == 0,\n \"NFTMarket: Maximum price limit exceeded\"\n );\n require(\n price >= nftPriceMinLimit[nftToken] && price != 0,\n \"NFTMarket: Below the minimum price limit\"\n );\n incrId += 1;\n OrderInfo storage orderInfo = orderInfos[incrId];\n orderInfo.orderId = incrId;\n orderInfo.tokenId = tokenId;\n orderInfo.amount = amount;\n orderInfo.nftToken = nftToken;\n orderInfo.owner = msg.sender;\n orderInfo.price = price;\n orderInfo.currency = currency;\n if (erc721Supported[nftToken]) {\n require(amount == 1, \"NFTMarket: ERC721 amount must be 1 \");\n IERC721(nftToken).safeTransferFrom(msg.sender, address(this), tokenId);\n } else if (erc1155Supported[nftToken]) {\n IERC1155(nftToken).safeTransferFrom(\n msg.sender,\n address(this),\n tokenId,\n amount,\n \"\"\n );\n }\n\n emit SellOrder(\n tokenId,\n msg.sender,\n nftToken,\n amount,\n incrId,\n currency,\n price\n );\n }\n\n function buy(uint256 orderId) external nonReentrant {\n OrderInfo memory orderInfo = orderInfos[orderId];\n require(orderInfo.tokenId != 0, \"NFTMarket: NFT does not exist\");\n uint256 _transactionFee = (orderInfo.price * transactionFee) / ROUND;\n\n tranFeeTotal = tranFeeTotal + _transactionFee;\n\n uint256 _amount = orderInfo.price - _transactionFee;\n\n IERC20(orderInfo.currency).safeTransferFrom(\n msg.sender,\n orderInfo.owner,\n _amount\n );\n\n IERC20(orderInfo.currency).safeTransferFrom(\n msg.sender,\n feeToAddress,\n _transactionFee\n );\n if (erc721Supported[orderInfo.nftToken]) {\n IERC721(orderInfo.nftToken).safeTransferFrom(\n address(this),\n msg.sender,\n orderInfo.tokenId\n );\n } else if (erc1155Supported[orderInfo.nftToken]) {\n IERC1155(orderInfo.nftToken).safeTransferFrom(\n address(this),\n msg.sender,\n orderInfo.tokenId,\n orderInfo.amount,\n \"\"\n );\n }\n\n emit BuyOrder(\n orderInfo.tokenId,\n orderId,\n orderInfo.nftToken,\n orderInfo.amount,\n orderInfo.owner,\n msg.sender,\n orderInfo.currency,\n orderInfo.price\n );\n delete orderInfos[orderId];\n }\n\n function cancelOrder(uint256 orderId) external nonReentrant {\n require(\n orderInfos[orderId].owner == msg.sender,\n \"NFTMarket: cancel caller is not owner\"\n );\n OrderInfo memory orderInfo = orderInfos[orderId];\n if (erc721Supported[orderInfo.nftToken]) {\n IERC721(orderInfo.nftToken).safeTransferFrom(\n address(this),\n msg.sender,\n orderInfo.tokenId\n );\n } else if (erc1155Supported[orderInfo.nftToken]) {\n IERC1155(orderInfo.nftToken).safeTransferFrom(\n address(this),\n msg.sender,\n orderInfo.tokenId,\n orderInfo.amount,\n \"\"\n );\n }\n delete orderInfos[orderId];\n\n emit CancelOrder(orderId, orderInfo.nftToken, orderInfo.tokenId);\n }\n\n function updatePrice(uint256 orderId, uint256 price) external {\n OrderInfo memory orderInfo = orderInfos[orderId];\n require(orderInfo.tokenId != 0, \"NFTMarket: NFT does not exist\");\n require(orderInfo.owner == msg.sender, \"NFTMarket: caller is not owner\");\n require(\n price <= nftPriceMaxLimit[orderInfo.nftToken] || nftPriceMaxLimit[orderInfo.nftToken] == 0,\n \"NFTMarket: Maximum price limit exceeded\"\n );\n require(\n price >= nftPriceMinLimit[orderInfo.nftToken] && price != 0,\n \"NFTMarket: Below the minimum price limit\"\n );\n uint256 priceOld = orderInfo.price;\n orderInfo.price = price;\n emit PriceUpdate(orderId, orderInfo.nftToken, orderInfo.tokenId, priceOld, price);\n }\n\n function addERC721Support(address nftToken) external onlyOwner {\n erc721Supported[nftToken] = true;\n emit AddNFTSuppout(nftToken);\n }\n\n function removeERC721Support(address nftToken) external onlyOwner {\n erc721Supported[nftToken] = false;\n emit RemoveNFTSuppout(nftToken);\n }\n\n function addERC1155Support(address nftToken) external onlyOwner {\n erc1155Supported[nftToken] = true;\n emit AddNFTSuppout(nftToken);\n }\n\n function removeERC1155Support(address nftToken) external onlyOwner {\n erc1155Supported[nftToken] = false;\n emit RemoveNFTSuppout(nftToken);\n }\n\n function addERC20Support(address erc20) external onlyOwner {\n require(erc20 != address(0), \"NFTMarket: ERC20 address is zero\");\n erc20Supported[erc20] = true;\n emit AddERC20Suppout(erc20);\n }\n\n function removeERC20Support(address erc20) external onlyOwner {\n erc20Supported[erc20] = false;\n emit RemoveERC20Suppout(erc20);\n }\n\n function setNFTPriceMaxLimit(address nftToken, uint256 maxLimit)\n external\n onlyOwner\n {\n require(\n maxLimit >= nftPriceMinLimit[nftToken],\n \"NFTMarket: maxLimit can not be less than min limit!\"\n );\n nftPriceMaxLimit[nftToken] = maxLimit;\n }\n\n function setNFTPriceMinLimit(address nftToken, uint256 minLimit)\n external\n onlyOwner\n {\n if (nftPriceMaxLimit[nftToken] != 0) {\n require(\n minLimit <= nftPriceMaxLimit[nftToken],\n \"NFTMarket: minLimit can not be larger than max limit!\"\n );\n }\n nftPriceMinLimit[nftToken] = minLimit;\n }\n\n function setTransactionFee(uint256 _transactionFee) external onlyOwner {\n require(\n _transactionFee >= MIN_TRANSACTION_FEE &&\n _transactionFee <= MAX_TRANSACTION_FEE,\n \"NFTMarket: _transactionFee must >= 0.5% and <= 10%\"\n );\n transactionFee = _transactionFee;\n }\n\n function setFeeToAddress(address _feeToAddress) external onlyOwner {\n require(_feeToAddress != address(0), \"NFTMarket: fee received address can not be zero\");\n feeToAddress = _feeToAddress;\n }\n}\n", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/market/BENftMarket.sol", "ast": { "absolutePath": "project:/contracts/market/BENftMarket.sol", @@ -19800,7 +19786,7 @@ 1150 ], "BENFTMarket": [ - 2046 + 2076 ], "Context": [ 1172 @@ -19845,7 +19831,7 @@ 694 ] }, - "id": 2047, + "id": 2077, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -19865,7 +19851,7 @@ "id": 1211, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2047, + "scope": 2077, "sourceUnit": 105, "src": "57:52:15", "symbolAliases": [], @@ -19877,7 +19863,7 @@ "id": 1212, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2047, + "scope": 2077, "sourceUnit": 471, "src": "110:56:15", "symbolAliases": [], @@ -19889,7 +19875,7 @@ "id": 1213, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2047, + "scope": 2077, "sourceUnit": 695, "src": "167:65:15", "symbolAliases": [], @@ -19901,7 +19887,7 @@ "id": 1214, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2047, + "scope": 2077, "sourceUnit": 811, "src": "233:58:15", "symbolAliases": [], @@ -19913,7 +19899,7 @@ "id": 1215, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2047, + "scope": 2077, "sourceUnit": 856, "src": "292:69:15", "symbolAliases": [], @@ -19925,7 +19911,7 @@ "id": 1216, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2047, + "scope": 2077, "sourceUnit": 267, "src": "362:60:15", "symbolAliases": [], @@ -19937,7 +19923,7 @@ "id": 1217, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2047, + "scope": 2077, "sourceUnit": 359, "src": "423:71:15", "symbolAliases": [], @@ -19949,7 +19935,7 @@ "id": 1218, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2047, + "scope": 2077, "sourceUnit": 145, "src": "495:62:15", "symbolAliases": [], @@ -20011,9 +19997,9 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 2046, + "id": 2076, "linearizedBaseContracts": [ - 2046, + 2076, 855, 828, 358, @@ -20258,7 +20244,7 @@ "name": "OrderInfo", "nameLocation": "678:9:15", "nodeType": "StructDefinition", - "scope": 2046, + "scope": 2076, "src": "671:166:15", "visibility": "public" }, @@ -20270,7 +20256,7 @@ "name": "erc721Supported", "nameLocation": "872:15:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "840:47:15", "stateVariable": true, "storageLocation": "default", @@ -20317,7 +20303,7 @@ "name": "erc1155Supported", "nameLocation": "923:16:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "891:48:15", "stateVariable": true, "storageLocation": "default", @@ -20364,7 +20350,7 @@ "name": "erc20Supported", "nameLocation": "975:14:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "943:46:15", "stateVariable": true, "storageLocation": "default", @@ -20411,7 +20397,7 @@ "name": "orderInfos", "nameLocation": "1030:10:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "993:47:15", "stateVariable": true, "storageLocation": "default", @@ -20465,7 +20451,7 @@ "name": "nftPriceMaxLimit", "nameLocation": "1079:16:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "1044:51:15", "stateVariable": true, "storageLocation": "default", @@ -20512,7 +20498,7 @@ "name": "nftPriceMinLimit", "nameLocation": "1134:16:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "1099:51:15", "stateVariable": true, "storageLocation": "default", @@ -21448,7 +21434,7 @@ "name": "tranFeeTotal", "nameLocation": "1992:12:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "1977:27:15", "stateVariable": true, "storageLocation": "default", @@ -21475,7 +21461,7 @@ "name": "ROUND", "nameLocation": "2026:5:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "2009:32:15", "stateVariable": true, "storageLocation": "default", @@ -21519,7 +21505,7 @@ "name": "transactionFee", "nameLocation": "2060:14:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "2045:49:15", "stateVariable": true, "storageLocation": "default", @@ -21643,7 +21629,7 @@ "name": "MIN_TRANSACTION_FEE", "nameLocation": "2156:19:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "2132:64:15", "stateVariable": true, "storageLocation": "default", @@ -21767,7 +21753,7 @@ "name": "MAX_TRANSACTION_FEE", "nameLocation": "2257:19:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "2233:64:15", "stateVariable": true, "storageLocation": "default", @@ -21891,7 +21877,7 @@ "name": "feeToAddress", "nameLocation": "2317:12:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "2302:27:15", "stateVariable": true, "storageLocation": "default", @@ -21920,7 +21906,7 @@ "name": "incrId", "nameLocation": "2349:6:15", "nodeType": "VariableDeclaration", - "scope": 2046, + "scope": 2076, "src": "2334:21:15", "stateVariable": true, "storageLocation": "default", @@ -23399,7 +23385,7 @@ "referencedDeclaration": 4294967268, "src": "3624:4:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", + "typeIdentifier": "t_contract$_BENFTMarket_$2076", "typeString": "contract BENFTMarket" } } @@ -23407,7 +23393,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", + "typeIdentifier": "t_contract$_BENFTMarket_$2076", "typeString": "contract BENFTMarket" } ], @@ -23750,7 +23736,7 @@ "referencedDeclaration": 4294967268, "src": "3483:4:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", + "typeIdentifier": "t_contract$_BENFTMarket_$2076", "typeString": "contract BENFTMarket" } } @@ -23758,7 +23744,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", + "typeIdentifier": "t_contract$_BENFTMarket_$2076", "typeString": "contract BENFTMarket" } ], @@ -24231,7 +24217,7 @@ "parameters": [], "src": "2491:0:15" }, - "scope": 2046, + "scope": 2076, "src": "2360:1466:15", "stateMutability": "nonpayable", "virtual": false, @@ -25218,43 +25204,17 @@ { "expression": { "arguments": [ - { - "expression": { - "id": 1647, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4714:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4714:10:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, { "arguments": [ { - "id": 1651, + "id": 1649, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967268, - "src": "4742:4:15", + "src": "4722:4:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", + "typeIdentifier": "t_contract$_BENFTMarket_$2076", "typeString": "contract BENFTMarket" } } @@ -25262,30 +25222,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", + "typeIdentifier": "t_contract$_BENFTMarket_$2076", "typeString": "contract BENFTMarket" } ], - "id": 1650, + "id": 1648, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4734:7:15", + "src": "4714:7:15", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1649, + "id": 1647, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4734:7:15", + "src": "4714:7:15", "typeDescriptions": {} } }, - "id": 1652, + "id": 1650, "isConstant": false, "isLValue": false, "isPure": false, @@ -25293,13 +25253,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4734:13:15", + "src": "4714:13:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, + { + "expression": { + "id": 1651, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4737:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4737:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, { "expression": { "id": 1653, @@ -25514,7 +25500,7 @@ "referencedDeclaration": 4294967268, "src": "4536:4:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", + "typeIdentifier": "t_contract$_BENFTMarket_$2076", "typeString": "contract BENFTMarket" } } @@ -25522,7 +25508,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", + "typeIdentifier": "t_contract$_BENFTMarket_$2076", "typeString": "contract BENFTMarket" } ], @@ -26118,7 +26104,7 @@ "parameters": [], "src": "3882:0:15" }, - "scope": 2046, + "scope": 2076, "src": "3830:1239:15", "stateMutability": "nonpayable", "virtual": false, @@ -26126,9 +26112,9 @@ }, { "body": { - "id": 1740, + "id": 1770, "nodeType": "Block", - "src": "5133:395:15", + "src": "5133:682:15", "statements": [ { "expression": { @@ -26302,7 +26288,7 @@ "name": "orderInfo", "nameLocation": "5269:9:15", "nodeType": "VariableDeclaration", - "scope": 1740, + "scope": 1770, "src": "5252:26:15", "stateVariable": false, "storageLocation": "memory", @@ -26372,232 +26358,635 @@ "src": "5252:48:15" }, { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1719, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "5366:4:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", - "typeString": "contract BENFTMarket" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BENFTMarket_$2046", - "typeString": "contract BENFTMarket" - } - ], - "id": 1718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5358:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5358:7:15", - "typeDescriptions": {} - } - }, - "id": 1720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5358:13:15", - "tryCall": false, + "condition": { + "baseExpression": { + "id": 1712, + "name": "erc721Supported", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "5310:15:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1715, + "indexExpression": { + "expression": { + "id": 1713, + "name": "orderInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1707, + "src": "5326:9:15", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", + "typeString": "struct BENFTMarket.OrderInfo memory" } }, - { - "expression": { - "id": 1721, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5379:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5379:10:15", + "id": 1714, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "nftToken", + "nodeType": "MemberAccess", + "referencedDeclaration": 1242, + "src": "5326:18:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5310:35:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "baseExpression": { + "id": 1732, + "name": "erc1155Supported", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "5494:16:15", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" } }, - { + "id": 1735, + "indexExpression": { "expression": { - "id": 1723, + "id": 1733, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1707, - "src": "5397:9:15", + "src": "5511:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1724, + "id": 1734, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "tokenId", + "memberName": "nftToken", "nodeType": "MemberAccess", - "referencedDeclaration": 1234, - "src": "5397:17:15", + "referencedDeclaration": 1242, + "src": "5511:18:15", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { "typeIdentifier": "t_address", "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 1713, - "name": "orderInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1707, - "src": "5314:9:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", - "typeString": "struct BENFTMarket.OrderInfo memory" - } - }, - "id": 1714, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nftToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 1242, - "src": "5314:18:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1712, - "name": "IERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "5306:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721_$810_$", - "typeString": "type(contract IERC721)" - } - }, - "id": 1715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5306:27:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$810", - "typeString": "contract IERC721" } }, - "id": 1716, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 753, - "src": "5306:44:15", + "nodeType": "IndexAccess", + "src": "5494:36:15", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 1725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5306:114:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "id": 1755, + "nodeType": "IfStatement", + "src": "5490:218:15", + "trueBody": { + "id": 1754, + "nodeType": "Block", + "src": "5532:176:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1743, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "5603:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BENFTMarket_$2076", + "typeString": "contract BENFTMarket" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BENFTMarket_$2076", + "typeString": "contract BENFTMarket" + } + ], + "id": 1742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5595:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1741, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5595:7:15", + "typeDescriptions": {} + } + }, + "id": 1744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5595:13:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1745, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5618:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5618:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1747, + "name": "orderInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1707, + "src": "5638:9:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", + "typeString": "struct BENFTMarket.OrderInfo memory" + } + }, + "id": 1748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1234, + "src": "5638:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1749, + "name": "orderInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1707, + "src": "5665:9:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", + "typeString": "struct BENFTMarket.OrderInfo memory" + } + }, + "id": 1750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 1236, + "src": "5665:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 1751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5691:2:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 1737, + "name": "orderInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1707, + "src": "5549:9:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", + "typeString": "struct BENFTMarket.OrderInfo memory" + } + }, + "id": 1738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "nftToken", + "nodeType": "MemberAccess", + "referencedDeclaration": 1242, + "src": "5549:18:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1736, + "name": "IERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 266, + "src": "5540:8:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1155_$266_$", + "typeString": "type(contract IERC1155)" + } + }, + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5540:28:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1155_$266", + "typeString": "contract IERC1155" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 249, + "src": "5540:45:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 1752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5540:161:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1753, + "nodeType": "ExpressionStatement", + "src": "5540:161:15" + } + ] } }, - "id": 1726, - "nodeType": "ExpressionStatement", - "src": "5306:114:15" + "id": 1756, + "nodeType": "IfStatement", + "src": "5306:402:15", + "trueBody": { + "id": 1731, + "nodeType": "Block", + "src": "5347:137:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1723, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "5417:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BENFTMarket_$2076", + "typeString": "contract BENFTMarket" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BENFTMarket_$2076", + "typeString": "contract BENFTMarket" + } + ], + "id": 1722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5409:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1721, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5409:7:15", + "typeDescriptions": {} + } + }, + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5409:13:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1725, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5432:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5432:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1727, + "name": "orderInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1707, + "src": "5452:9:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", + "typeString": "struct BENFTMarket.OrderInfo memory" + } + }, + "id": 1728, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1234, + "src": "5452:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 1717, + "name": "orderInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1707, + "src": "5363:9:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", + "typeString": "struct BENFTMarket.OrderInfo memory" + } + }, + "id": 1718, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "nftToken", + "nodeType": "MemberAccess", + "referencedDeclaration": 1242, + "src": "5363:18:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1716, + "name": "IERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 810, + "src": "5355:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721_$810_$", + "typeString": "type(contract IERC721)" + } + }, + "id": 1719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5355:27:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721_$810", + "typeString": "contract IERC721" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 753, + "src": "5355:44:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) external" + } + }, + "id": 1729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5355:122:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1730, + "nodeType": "ExpressionStatement", + "src": "5355:122:15" + } + ] + } }, { "expression": { - "id": 1730, + "id": 1760, "isConstant": false, "isLValue": false, "isPure": false, @@ -26605,28 +26994,28 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "5426:26:15", + "src": "5713:26:15", "subExpression": { "baseExpression": { - "id": 1727, + "id": 1757, "name": "orderInfos", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1262, - "src": "5433:10:15", + "src": "5720:10:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OrderInfo_$1245_storage_$", "typeString": "mapping(uint256 => struct BENFTMarket.OrderInfo storage ref)" } }, - "id": 1729, + "id": 1759, "indexExpression": { - "id": 1728, + "id": 1758, "name": "orderId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1689, - "src": "5444:7:15", + "src": "5731:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26637,7 +27026,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5433:19:15", + "src": "5720:19:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_storage", "typeString": "struct BENFTMarket.OrderInfo storage ref" @@ -26648,20 +27037,20 @@ "typeString": "tuple()" } }, - "id": 1731, + "id": 1761, "nodeType": "ExpressionStatement", - "src": "5426:26:15" + "src": "5713:26:15" }, { "eventCall": { "arguments": [ { - "id": 1733, + "id": 1763, "name": "orderId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1689, - "src": "5476:7:15", + "src": "5763:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26669,18 +27058,18 @@ }, { "expression": { - "id": 1734, + "id": 1764, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1707, - "src": "5485:9:15", + "src": "5772:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1735, + "id": 1765, "isConstant": false, "isLValue": true, "isPure": false, @@ -26688,7 +27077,7 @@ "memberName": "nftToken", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "5485:18:15", + "src": "5772:18:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26696,18 +27085,18 @@ }, { "expression": { - "id": 1736, + "id": 1766, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1707, - "src": "5505:9:15", + "src": "5792:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1737, + "id": 1767, "isConstant": false, "isLValue": true, "isPure": false, @@ -26715,7 +27104,7 @@ "memberName": "tokenId", "nodeType": "MemberAccess", "referencedDeclaration": 1234, - "src": "5505:17:15", + "src": "5792:17:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26737,18 +27126,18 @@ "typeString": "uint256" } ], - "id": 1732, + "id": 1762, "name": "CancelOrder", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1294, - "src": "5464:11:15", + "src": "5751:11:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,address,uint256)" } }, - "id": 1738, + "id": 1768, "isConstant": false, "isLValue": false, "isPure": false, @@ -26756,21 +27145,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5464:59:15", + "src": "5751:59:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1739, + "id": 1769, "nodeType": "EmitStatement", - "src": "5459:64:15" + "src": "5746:64:15" } ] }, "functionSelector": "514fcac7", - "id": 1741, + "id": 1771, "implemented": true, "kind": "function", "modifiers": [ @@ -26802,7 +27191,7 @@ "name": "orderId", "nameLocation": "5102:7:15", "nodeType": "VariableDeclaration", - "scope": 1741, + "scope": 1771, "src": "5094:15:15", "stateVariable": false, "storageLocation": "default", @@ -26831,32 +27220,32 @@ "parameters": [], "src": "5133:0:15" }, - "scope": 2046, - "src": "5073:455:15", + "scope": 2076, + "src": "5073:742:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1824, + "id": 1854, "nodeType": "Block", - "src": "5594:665:15", + "src": "5881:665:15", "statements": [ { "assignments": [ - 1750 + 1780 ], "declarations": [ { "constant": false, - "id": 1750, + "id": 1780, "mutability": "mutable", "name": "orderInfo", - "nameLocation": "5617:9:15", + "nameLocation": "5904:9:15", "nodeType": "VariableDeclaration", - "scope": 1824, - "src": "5600:26:15", + "scope": 1854, + "src": "5887:26:15", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -26864,17 +27253,17 @@ "typeString": "struct BENFTMarket.OrderInfo" }, "typeName": { - "id": 1749, + "id": 1779, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 1748, + "id": 1778, "name": "OrderInfo", "nodeType": "IdentifierPath", "referencedDeclaration": 1245, - "src": "5600:9:15" + "src": "5887:9:15" }, "referencedDeclaration": 1245, - "src": "5600:9:15", + "src": "5887:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_storage_ptr", "typeString": "struct BENFTMarket.OrderInfo" @@ -26883,28 +27272,28 @@ "visibility": "internal" } ], - "id": 1754, + "id": 1784, "initialValue": { "baseExpression": { - "id": 1751, + "id": 1781, "name": "orderInfos", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1262, - "src": "5629:10:15", + "src": "5916:10:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_OrderInfo_$1245_storage_$", "typeString": "mapping(uint256 => struct BENFTMarket.OrderInfo storage ref)" } }, - "id": 1753, + "id": 1783, "indexExpression": { - "id": 1752, + "id": 1782, "name": "orderId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "5640:7:15", + "referencedDeclaration": 1773, + "src": "5927:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26915,14 +27304,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5629:19:15", + "src": "5916:19:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_storage", "typeString": "struct BENFTMarket.OrderInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "5600:48:15" + "src": "5887:48:15" }, { "expression": { @@ -26932,25 +27321,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1759, + "id": 1789, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 1756, + "id": 1786, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "5662:9:15", + "referencedDeclaration": 1780, + "src": "5949:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1757, + "id": 1787, "isConstant": false, "isLValue": true, "isPure": false, @@ -26958,7 +27347,7 @@ "memberName": "tokenId", "nodeType": "MemberAccess", "referencedDeclaration": 1234, - "src": "5662:17:15", + "src": "5949:17:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26968,21 +27357,21 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 1758, + "id": 1788, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5683:1:15", + "src": "5970:1:15", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "5662:22:15", + "src": "5949:22:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26990,14 +27379,14 @@ }, { "hexValue": "4e46544d61726b65743a204e465420646f6573206e6f74206578697374", - "id": 1760, + "id": 1790, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5686:31:15", + "src": "5973:31:15", "typeDescriptions": { "typeIdentifier": "t_stringliteral_91996d5e26724312118a80c49d609267cf3d8859d05119c382cfda0b8758f400", "typeString": "literal_string \"NFTMarket: NFT does not exist\"" @@ -27016,7 +27405,7 @@ "typeString": "literal_string \"NFTMarket: NFT does not exist\"" } ], - "id": 1755, + "id": 1785, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27024,13 +27413,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5654:7:15", + "src": "5941:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1761, + "id": 1791, "isConstant": false, "isLValue": false, "isPure": false, @@ -27038,16 +27427,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5654:64:15", + "src": "5941:64:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1762, + "id": 1792, "nodeType": "ExpressionStatement", - "src": "5654:64:15" + "src": "5941:64:15" }, { "expression": { @@ -27057,25 +27446,25 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1768, + "id": 1798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 1764, + "id": 1794, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "5732:9:15", + "referencedDeclaration": 1780, + "src": "6019:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1765, + "id": 1795, "isConstant": false, "isLValue": true, "isPure": false, @@ -27083,7 +27472,7 @@ "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 1238, - "src": "5732:15:15", + "src": "6019:15:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27093,31 +27482,31 @@ "operator": "==", "rightExpression": { "expression": { - "id": 1766, + "id": 1796, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "5751:3:15", + "src": "6038:3:15", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1767, + "id": 1797, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "5751:10:15", + "src": "6038:10:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5732:29:15", + "src": "6019:29:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27125,14 +27514,14 @@ }, { "hexValue": "4e46544d61726b65743a2063616c6c6572206973206e6f74206f776e6572", - "id": 1769, + "id": 1799, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5763:32:15", + "src": "6050:32:15", "typeDescriptions": { "typeIdentifier": "t_stringliteral_19812bba446941be332c58af40b198944559ee4ff950fbaaca44d932fa502a47", "typeString": "literal_string \"NFTMarket: caller is not owner\"" @@ -27151,7 +27540,7 @@ "typeString": "literal_string \"NFTMarket: caller is not owner\"" } ], - "id": 1763, + "id": 1793, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27159,13 +27548,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5724:7:15", + "src": "6011:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1770, + "id": 1800, "isConstant": false, "isLValue": false, "isPure": false, @@ -27173,16 +27562,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5724:72:15", + "src": "6011:72:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1771, + "id": 1801, "nodeType": "ExpressionStatement", - "src": "5724:72:15" + "src": "6011:72:15" }, { "expression": { @@ -27192,7 +27581,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1785, + "id": 1815, "isConstant": false, "isLValue": false, "isPure": false, @@ -27202,18 +27591,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1778, + "id": 1808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1773, + "id": 1803, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "5817:5:15", + "referencedDeclaration": 1775, + "src": "6104:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27223,32 +27612,32 @@ "operator": "<=", "rightExpression": { "baseExpression": { - "id": 1774, + "id": 1804, "name": "nftPriceMaxLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1266, - "src": "5826:16:15", + "src": "6113:16:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1777, + "id": 1807, "indexExpression": { "expression": { - "id": 1775, + "id": 1805, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "5843:9:15", + "referencedDeclaration": 1780, + "src": "6130:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1776, + "id": 1806, "isConstant": false, "isLValue": true, "isPure": false, @@ -27256,7 +27645,7 @@ "memberName": "nftToken", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "5843:18:15", + "src": "6130:18:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27267,13 +27656,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5826:36:15", + "src": "6113:36:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5817:45:15", + "src": "6104:45:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27286,39 +27675,39 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1784, + "id": 1814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1779, + "id": 1809, "name": "nftPriceMaxLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1266, - "src": "5866:16:15", + "src": "6153:16:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1782, + "id": 1812, "indexExpression": { "expression": { - "id": 1780, + "id": 1810, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "5883:9:15", + "referencedDeclaration": 1780, + "src": "6170:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1781, + "id": 1811, "isConstant": false, "isLValue": true, "isPure": false, @@ -27326,7 +27715,7 @@ "memberName": "nftToken", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "5883:18:15", + "src": "6170:18:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27337,7 +27726,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5866:36:15", + "src": "6153:36:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27347,27 +27736,27 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1783, + "id": 1813, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5906:1:15", + "src": "6193:1:15", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "5866:41:15", + "src": "6153:41:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "5817:90:15", + "src": "6104:90:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27375,14 +27764,14 @@ }, { "hexValue": "4e46544d61726b65743a204d6178696d756d207072696365206c696d6974206578636565646564", - "id": 1786, + "id": 1816, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5915:41:15", + "src": "6202:41:15", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4cb6df112f38a5e8930a5993583968b49c106f624e768bc7f965587788a9ba13", "typeString": "literal_string \"NFTMarket: Maximum price limit exceeded\"" @@ -27401,7 +27790,7 @@ "typeString": "literal_string \"NFTMarket: Maximum price limit exceeded\"" } ], - "id": 1772, + "id": 1802, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27409,13 +27798,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5802:7:15", + "src": "6089:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1787, + "id": 1817, "isConstant": false, "isLValue": false, "isPure": false, @@ -27423,16 +27812,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5802:160:15", + "src": "6089:160:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1788, + "id": 1818, "nodeType": "ExpressionStatement", - "src": "5802:160:15" + "src": "6089:160:15" }, { "expression": { @@ -27442,7 +27831,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1799, + "id": 1829, "isConstant": false, "isLValue": false, "isPure": false, @@ -27452,18 +27841,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1795, + "id": 1825, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1790, + "id": 1820, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "5983:5:15", + "referencedDeclaration": 1775, + "src": "6270:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27473,32 +27862,32 @@ "operator": ">=", "rightExpression": { "baseExpression": { - "id": 1791, + "id": 1821, "name": "nftPriceMinLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1270, - "src": "5992:16:15", + "src": "6279:16:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1794, + "id": 1824, "indexExpression": { "expression": { - "id": 1792, + "id": 1822, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "6009:9:15", + "referencedDeclaration": 1780, + "src": "6296:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1793, + "id": 1823, "isConstant": false, "isLValue": true, "isPure": false, @@ -27506,7 +27895,7 @@ "memberName": "nftToken", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "6009:18:15", + "src": "6296:18:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27517,13 +27906,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5992:36:15", + "src": "6279:36:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5983:45:15", + "src": "6270:45:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27536,18 +27925,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1798, + "id": 1828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1796, + "id": 1826, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "6032:5:15", + "referencedDeclaration": 1775, + "src": "6319:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27557,27 +27946,27 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 1797, + "id": 1827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6041:1:15", + "src": "6328:1:15", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "6032:10:15", + "src": "6319:10:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "5983:59:15", + "src": "6270:59:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27585,14 +27974,14 @@ }, { "hexValue": "4e46544d61726b65743a2042656c6f7720746865206d696e696d756d207072696365206c696d6974", - "id": 1800, + "id": 1830, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6050:42:15", + "src": "6337:42:15", "typeDescriptions": { "typeIdentifier": "t_stringliteral_744b4ba124daa910620675d926ec89aeeb4da774fb91c8cbe522d0cf48a3f6cf", "typeString": "literal_string \"NFTMarket: Below the minimum price limit\"" @@ -27611,7 +28000,7 @@ "typeString": "literal_string \"NFTMarket: Below the minimum price limit\"" } ], - "id": 1789, + "id": 1819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27619,13 +28008,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5968:7:15", + "src": "6255:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1801, + "id": 1831, "isConstant": false, "isLValue": false, "isPure": false, @@ -27633,31 +28022,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5968:130:15", + "src": "6255:130:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1802, + "id": 1832, "nodeType": "ExpressionStatement", - "src": "5968:130:15" + "src": "6255:130:15" }, { "assignments": [ - 1804 + 1834 ], "declarations": [ { "constant": false, - "id": 1804, + "id": 1834, "mutability": "mutable", "name": "priceOld", - "nameLocation": "6112:8:15", + "nameLocation": "6399:8:15", "nodeType": "VariableDeclaration", - "scope": 1824, - "src": "6104:16:15", + "scope": 1854, + "src": "6391:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27665,10 +28054,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1803, + "id": 1833, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6104:7:15", + "src": "6391:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27677,21 +28066,21 @@ "visibility": "internal" } ], - "id": 1807, + "id": 1837, "initialValue": { "expression": { - "id": 1805, + "id": 1835, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "6123:9:15", + "referencedDeclaration": 1780, + "src": "6410:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1806, + "id": 1836, "isConstant": false, "isLValue": true, "isPure": false, @@ -27699,36 +28088,36 @@ "memberName": "price", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6123:15:15", + "src": "6410:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6104:34:15" + "src": "6391:34:15" }, { "expression": { - "id": 1812, + "id": 1842, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 1808, + "id": 1838, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "6144:9:15", + "referencedDeclaration": 1780, + "src": "6431:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1810, + "id": 1840, "isConstant": false, "isLValue": true, "isPure": false, @@ -27736,7 +28125,7 @@ "memberName": "price", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6144:15:15", + "src": "6431:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27745,37 +28134,37 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1811, + "id": 1841, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "6162:5:15", + "referencedDeclaration": 1775, + "src": "6449:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6144:23:15", + "src": "6431:23:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1813, + "id": 1843, "nodeType": "ExpressionStatement", - "src": "6144:23:15" + "src": "6431:23:15" }, { "eventCall": { "arguments": [ { - "id": 1815, + "id": 1845, "name": "orderId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "6190:7:15", + "referencedDeclaration": 1773, + "src": "6477:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27783,18 +28172,18 @@ }, { "expression": { - "id": 1816, + "id": 1846, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "6199:9:15", + "referencedDeclaration": 1780, + "src": "6486:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1817, + "id": 1847, "isConstant": false, "isLValue": true, "isPure": false, @@ -27802,7 +28191,7 @@ "memberName": "nftToken", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "6199:18:15", + "src": "6486:18:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27810,18 +28199,18 @@ }, { "expression": { - "id": 1818, + "id": 1848, "name": "orderInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1750, - "src": "6219:9:15", + "referencedDeclaration": 1780, + "src": "6506:9:15", "typeDescriptions": { "typeIdentifier": "t_struct$_OrderInfo_$1245_memory_ptr", "typeString": "struct BENFTMarket.OrderInfo memory" } }, - "id": 1819, + "id": 1849, "isConstant": false, "isLValue": true, "isPure": false, @@ -27829,31 +28218,31 @@ "memberName": "tokenId", "nodeType": "MemberAccess", "referencedDeclaration": 1234, - "src": "6219:17:15", + "src": "6506:17:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1820, + "id": 1850, "name": "priceOld", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "6238:8:15", + "referencedDeclaration": 1834, + "src": "6525:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1821, + "id": 1851, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "6248:5:15", + "referencedDeclaration": 1775, + "src": "6535:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27883,18 +28272,18 @@ "typeString": "uint256" } ], - "id": 1814, + "id": 1844, "name": "PriceUpdate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1306, - "src": "6178:11:15", + "src": "6465:11:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,address,uint256,uint256,uint256)" } }, - "id": 1822, + "id": 1852, "isConstant": false, "isLValue": false, "isPure": false, @@ -27902,40 +28291,40 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6178:76:15", + "src": "6465:76:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1823, + "id": 1853, "nodeType": "EmitStatement", - "src": "6173:81:15" + "src": "6460:81:15" } ] }, "functionSelector": "82367b2d", - "id": 1825, + "id": 1855, "implemented": true, "kind": "function", "modifiers": [], "name": "updatePrice", - "nameLocation": "5541:11:15", + "nameLocation": "5828:11:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1746, + "id": 1776, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1743, + "id": 1773, "mutability": "mutable", "name": "orderId", - "nameLocation": "5561:7:15", + "nameLocation": "5848:7:15", "nodeType": "VariableDeclaration", - "scope": 1825, - "src": "5553:15:15", + "scope": 1855, + "src": "5840:15:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27943,10 +28332,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1742, + "id": 1772, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5553:7:15", + "src": "5840:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27956,13 +28345,13 @@ }, { "constant": false, - "id": 1745, + "id": 1775, "mutability": "mutable", "name": "price", - "nameLocation": "5578:5:15", + "nameLocation": "5865:5:15", "nodeType": "VariableDeclaration", - "scope": 1825, - "src": "5570:13:15", + "scope": 1855, + "src": "5857:13:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27970,10 +28359,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1744, + "id": 1774, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5570:7:15", + "src": "5857:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27982,54 +28371,54 @@ "visibility": "internal" } ], - "src": "5552:32:15" + "src": "5839:32:15" }, "returnParameters": { - "id": 1747, + "id": 1777, "nodeType": "ParameterList", "parameters": [], - "src": "5594:0:15" + "src": "5881:0:15" }, - "scope": 2046, - "src": "5532:727:15", + "scope": 2076, + "src": "5819:727:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1842, + "id": 1872, "nodeType": "Block", - "src": "6326:77:15", + "src": "6613:77:15", "statements": [ { "expression": { - "id": 1836, + "id": 1866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1832, + "id": 1862, "name": "erc721Supported", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1249, - "src": "6332:15:15", + "src": "6619:15:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1834, + "id": 1864, "indexExpression": { - "id": 1833, + "id": 1863, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1827, - "src": "6348:8:15", + "referencedDeclaration": 1857, + "src": "6635:8:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28040,7 +28429,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6332:25:15", + "src": "6619:25:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28050,444 +28439,40 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1835, + "id": 1865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6360:4:15", + "src": "6647:4:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "6332:32:15", + "src": "6619:32:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1837, + "id": 1867, "nodeType": "ExpressionStatement", - "src": "6332:32:15" + "src": "6619:32:15" }, { "eventCall": { "arguments": [ { - "id": 1839, - "name": "nftToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1827, - "src": "6389:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1838, - "name": "AddNFTSuppout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1328, - "src": "6375:13:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 1840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6375:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1841, - "nodeType": "EmitStatement", - "src": "6370:28:15" - } - ] - }, - "functionSelector": "86847c70", - "id": 1843, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1830, - "kind": "modifierInvocation", - "modifierName": { - "id": 1829, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "6316:9:15" - }, - "nodeType": "ModifierInvocation", - "src": "6316:9:15" - } - ], - "name": "addERC721Support", - "nameLocation": "6272:16:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1827, - "mutability": "mutable", - "name": "nftToken", - "nameLocation": "6297:8:15", - "nodeType": "VariableDeclaration", - "scope": 1843, - "src": "6289:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1826, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6289:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6288:18:15" - }, - "returnParameters": { - "id": 1831, - "nodeType": "ParameterList", - "parameters": [], - "src": "6326:0:15" - }, - "scope": 2046, - "src": "6263:140:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1860, - "nodeType": "Block", - "src": "6473:81:15", - "statements": [ - { - "expression": { - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1850, - "name": "erc721Supported", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1249, - "src": "6479:15:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1852, - "indexExpression": { - "id": 1851, - "name": "nftToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "6495:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6479:25:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 1853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6507:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6479:33:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1855, - "nodeType": "ExpressionStatement", - "src": "6479:33:15" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1857, - "name": "nftToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "6540:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1856, - "name": "RemoveNFTSuppout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1332, - "src": "6523:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 1858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6523:26:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1859, - "nodeType": "EmitStatement", - "src": "6518:31:15" - } - ] - }, - "functionSelector": "498886ac", - "id": 1861, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1848, - "kind": "modifierInvocation", - "modifierName": { - "id": 1847, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "6463:9:15" - }, - "nodeType": "ModifierInvocation", - "src": "6463:9:15" - } - ], - "name": "removeERC721Support", - "nameLocation": "6416:19:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1846, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1845, - "mutability": "mutable", - "name": "nftToken", - "nameLocation": "6444:8:15", - "nodeType": "VariableDeclaration", - "scope": 1861, - "src": "6436:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6436:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6435:18:15" - }, - "returnParameters": { - "id": 1849, - "nodeType": "ParameterList", - "parameters": [], - "src": "6473:0:15" - }, - "scope": 2046, - "src": "6407:147:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1878, - "nodeType": "Block", - "src": "6622:78:15", - "statements": [ - { - "expression": { - "id": 1872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1868, - "name": "erc1155Supported", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1253, - "src": "6628:16:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1870, - "indexExpression": { "id": 1869, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1863, - "src": "6645:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6628:26:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 1871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6657:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6628:33:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1873, - "nodeType": "ExpressionStatement", - "src": "6628:33:15" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1875, - "name": "nftToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1863, - "src": "6686:8:15", + "referencedDeclaration": 1857, + "src": "6676:8:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28501,18 +28486,18 @@ "typeString": "address" } ], - "id": 1874, + "id": 1868, "name": "AddNFTSuppout", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1328, - "src": "6672:13:15", + "src": "6662:13:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1876, + "id": 1870, "isConstant": false, "isLValue": false, "isPure": false, @@ -28520,54 +28505,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6672:23:15", + "src": "6662:23:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1877, + "id": 1871, "nodeType": "EmitStatement", - "src": "6667:28:15" + "src": "6657:28:15" } ] }, - "functionSelector": "a5f95558", - "id": 1879, + "functionSelector": "86847c70", + "id": 1873, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1866, + "id": 1860, "kind": "modifierInvocation", "modifierName": { - "id": 1865, + "id": 1859, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "6612:9:15" + "src": "6603:9:15" }, "nodeType": "ModifierInvocation", - "src": "6612:9:15" + "src": "6603:9:15" } ], - "name": "addERC1155Support", - "nameLocation": "6567:17:15", + "name": "addERC721Support", + "nameLocation": "6559:16:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1864, + "id": 1858, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1863, + "id": 1857, "mutability": "mutable", "name": "nftToken", - "nameLocation": "6593:8:15", + "nameLocation": "6584:8:15", "nodeType": "VariableDeclaration", - "scope": 1879, - "src": "6585:16:15", + "scope": 1873, + "src": "6576:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28575,10 +28560,10 @@ "typeString": "address" }, "typeName": { - "id": 1862, + "id": 1856, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6585:7:15", + "src": "6576:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28588,54 +28573,54 @@ "visibility": "internal" } ], - "src": "6584:18:15" + "src": "6575:18:15" }, "returnParameters": { - "id": 1867, + "id": 1861, "nodeType": "ParameterList", "parameters": [], - "src": "6622:0:15" + "src": "6613:0:15" }, - "scope": 2046, - "src": "6558:142:15", + "scope": 2076, + "src": "6550:140:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1896, + "id": 1890, "nodeType": "Block", - "src": "6771:82:15", + "src": "6760:81:15", "statements": [ { "expression": { - "id": 1890, + "id": 1884, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1886, - "name": "erc1155Supported", + "id": 1880, + "name": "erc721Supported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1253, - "src": "6777:16:15", + "referencedDeclaration": 1249, + "src": "6766:15:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1888, + "id": 1882, "indexExpression": { - "id": 1887, + "id": 1881, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1881, - "src": "6794:8:15", + "referencedDeclaration": 1875, + "src": "6782:8:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28646,7 +28631,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6777:26:15", + "src": "6766:25:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28656,40 +28641,40 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 1889, + "id": 1883, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6806:5:15", + "src": "6794:5:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "6777:34:15", + "src": "6766:33:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1891, + "id": 1885, "nodeType": "ExpressionStatement", - "src": "6777:34:15" + "src": "6766:33:15" }, { "eventCall": { "arguments": [ { - "id": 1893, + "id": 1887, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1881, - "src": "6839:8:15", + "referencedDeclaration": 1875, + "src": "6827:8:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28703,18 +28688,18 @@ "typeString": "address" } ], - "id": 1892, + "id": 1886, "name": "RemoveNFTSuppout", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1332, - "src": "6822:16:15", + "src": "6810:16:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1894, + "id": 1888, "isConstant": false, "isLValue": false, "isPure": false, @@ -28722,54 +28707,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6822:26:15", + "src": "6810:26:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1895, + "id": 1889, "nodeType": "EmitStatement", - "src": "6817:31:15" + "src": "6805:31:15" } ] }, - "functionSelector": "40a28c56", - "id": 1897, + "functionSelector": "498886ac", + "id": 1891, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1884, + "id": 1878, "kind": "modifierInvocation", "modifierName": { - "id": 1883, + "id": 1877, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "6761:9:15" + "src": "6750:9:15" }, "nodeType": "ModifierInvocation", - "src": "6761:9:15" + "src": "6750:9:15" } ], - "name": "removeERC1155Support", - "nameLocation": "6713:20:15", + "name": "removeERC721Support", + "nameLocation": "6703:19:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1882, + "id": 1876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1881, + "id": 1875, "mutability": "mutable", "name": "nftToken", - "nameLocation": "6742:8:15", + "nameLocation": "6731:8:15", "nodeType": "VariableDeclaration", - "scope": 1897, - "src": "6734:16:15", + "scope": 1891, + "src": "6723:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28777,10 +28762,10 @@ "typeString": "address" }, "typeName": { - "id": 1880, + "id": 1874, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6734:7:15", + "src": "6723:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28790,25 +28775,429 @@ "visibility": "internal" } ], - "src": "6733:18:15" + "src": "6722:18:15" }, "returnParameters": { - "id": 1885, + "id": 1879, "nodeType": "ParameterList", "parameters": [], - "src": "6771:0:15" + "src": "6760:0:15" }, - "scope": 2046, - "src": "6704:149:15", + "scope": 2076, + "src": "6694:147:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1924, + "id": 1908, "nodeType": "Block", - "src": "6916:142:15", + "src": "6909:78:15", + "statements": [ + { + "expression": { + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1898, + "name": "erc1155Supported", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "6915:16:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1900, + "indexExpression": { + "id": 1899, + "name": "nftToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1893, + "src": "6932:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6915:26:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 1901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6944:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6915:33:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1903, + "nodeType": "ExpressionStatement", + "src": "6915:33:15" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1905, + "name": "nftToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1893, + "src": "6973:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1904, + "name": "AddNFTSuppout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "6959:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6959:23:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1907, + "nodeType": "EmitStatement", + "src": "6954:28:15" + } + ] + }, + "functionSelector": "a5f95558", + "id": 1909, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1896, + "kind": "modifierInvocation", + "modifierName": { + "id": 1895, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 46, + "src": "6899:9:15" + }, + "nodeType": "ModifierInvocation", + "src": "6899:9:15" + } + ], + "name": "addERC1155Support", + "nameLocation": "6854:17:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1893, + "mutability": "mutable", + "name": "nftToken", + "nameLocation": "6880:8:15", + "nodeType": "VariableDeclaration", + "scope": 1909, + "src": "6872:16:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1892, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6872:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6871:18:15" + }, + "returnParameters": { + "id": 1897, + "nodeType": "ParameterList", + "parameters": [], + "src": "6909:0:15" + }, + "scope": 2076, + "src": "6845:142:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1926, + "nodeType": "Block", + "src": "7058:82:15", + "statements": [ + { + "expression": { + "id": 1920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1916, + "name": "erc1155Supported", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1253, + "src": "7064:16:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1918, + "indexExpression": { + "id": 1917, + "name": "nftToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1911, + "src": "7081:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7064:26:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 1919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7093:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "7064:34:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1921, + "nodeType": "ExpressionStatement", + "src": "7064:34:15" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1923, + "name": "nftToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1911, + "src": "7126:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1922, + "name": "RemoveNFTSuppout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1332, + "src": "7109:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7109:26:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1925, + "nodeType": "EmitStatement", + "src": "7104:31:15" + } + ] + }, + "functionSelector": "40a28c56", + "id": 1927, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1914, + "kind": "modifierInvocation", + "modifierName": { + "id": 1913, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 46, + "src": "7048:9:15" + }, + "nodeType": "ModifierInvocation", + "src": "7048:9:15" + } + ], + "name": "removeERC1155Support", + "nameLocation": "7000:20:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1911, + "mutability": "mutable", + "name": "nftToken", + "nameLocation": "7029:8:15", + "nodeType": "VariableDeclaration", + "scope": 1927, + "src": "7021:16:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1910, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7021:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7020:18:15" + }, + "returnParameters": { + "id": 1915, + "nodeType": "ParameterList", + "parameters": [], + "src": "7058:0:15" + }, + "scope": 2076, + "src": "6991:149:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1954, + "nodeType": "Block", + "src": "7203:142:15", "statements": [ { "expression": { @@ -28818,18 +29207,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1910, + "id": 1940, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1905, + "id": 1935, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1899, - "src": "6930:5:15", + "referencedDeclaration": 1929, + "src": "7217:5:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28841,14 +29230,14 @@ "arguments": [ { "hexValue": "30", - "id": 1908, + "id": 1938, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6947:1:15", + "src": "7234:1:15", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28863,26 +29252,26 @@ "typeString": "int_const 0" } ], - "id": 1907, + "id": 1937, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6939:7:15", + "src": "7226:7:15", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1906, + "id": 1936, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6939:7:15", + "src": "7226:7:15", "typeDescriptions": {} } }, - "id": 1909, + "id": 1939, "isConstant": false, "isLValue": false, "isPure": true, @@ -28890,14 +29279,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6939:10:15", + "src": "7226:10:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6930:19:15", + "src": "7217:19:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28905,14 +29294,14 @@ }, { "hexValue": "4e46544d61726b65743a2045524332302061646472657373206973207a65726f", - "id": 1911, + "id": 1941, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6951:34:15", + "src": "7238:34:15", "typeDescriptions": { "typeIdentifier": "t_stringliteral_807fb10079fb7874d810a3894d618e9fb6b2c9b5fb4e2459717209a06ea12cd4", "typeString": "literal_string \"NFTMarket: ERC20 address is zero\"" @@ -28931,7 +29320,7 @@ "typeString": "literal_string \"NFTMarket: ERC20 address is zero\"" } ], - "id": 1904, + "id": 1934, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -28939,13 +29328,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "6922:7:15", + "src": "7209:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1912, + "id": 1942, "isConstant": false, "isLValue": false, "isPure": false, @@ -28953,45 +29342,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6922:64:15", + "src": "7209:64:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1913, + "id": 1943, "nodeType": "ExpressionStatement", - "src": "6922:64:15" + "src": "7209:64:15" }, { "expression": { - "id": 1918, + "id": 1948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1914, + "id": 1944, "name": "erc20Supported", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1257, - "src": "6992:14:15", + "src": "7279:14:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1916, + "id": 1946, "indexExpression": { - "id": 1915, + "id": 1945, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1899, - "src": "7007:5:15", + "referencedDeclaration": 1929, + "src": "7294:5:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29002,7 +29391,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6992:21:15", + "src": "7279:21:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29012,40 +29401,40 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1917, + "id": 1947, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7016:4:15", + "src": "7303:4:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "6992:28:15", + "src": "7279:28:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1919, + "id": 1949, "nodeType": "ExpressionStatement", - "src": "6992:28:15" + "src": "7279:28:15" }, { "eventCall": { "arguments": [ { - "id": 1921, + "id": 1951, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1899, - "src": "7047:5:15", + "referencedDeclaration": 1929, + "src": "7334:5:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29059,18 +29448,18 @@ "typeString": "address" } ], - "id": 1920, + "id": 1950, "name": "AddERC20Suppout", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1336, - "src": "7031:15:15", + "src": "7318:15:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1922, + "id": 1952, "isConstant": false, "isLValue": false, "isPure": false, @@ -29078,54 +29467,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7031:22:15", + "src": "7318:22:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1923, + "id": 1953, "nodeType": "EmitStatement", - "src": "7026:27:15" + "src": "7313:27:15" } ] }, "functionSelector": "b9d2df61", - "id": 1925, + "id": 1955, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1902, + "id": 1932, "kind": "modifierInvocation", "modifierName": { - "id": 1901, + "id": 1931, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "6906:9:15" + "src": "7193:9:15" }, "nodeType": "ModifierInvocation", - "src": "6906:9:15" + "src": "7193:9:15" } ], "name": "addERC20Support", - "nameLocation": "6866:15:15", + "nameLocation": "7153:15:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1900, + "id": 1930, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1899, + "id": 1929, "mutability": "mutable", "name": "erc20", - "nameLocation": "6890:5:15", + "nameLocation": "7177:5:15", "nodeType": "VariableDeclaration", - "scope": 1925, - "src": "6882:13:15", + "scope": 1955, + "src": "7169:13:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29133,10 +29522,10 @@ "typeString": "address" }, "typeName": { - "id": 1898, + "id": 1928, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6882:7:15", + "src": "7169:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29146,54 +29535,54 @@ "visibility": "internal" } ], - "src": "6881:15:15" + "src": "7168:15:15" }, "returnParameters": { - "id": 1903, + "id": 1933, "nodeType": "ParameterList", "parameters": [], - "src": "6916:0:15" + "src": "7203:0:15" }, - "scope": 2046, - "src": "6857:201:15", + "scope": 2076, + "src": "7144:201:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1942, + "id": 1972, "nodeType": "Block", - "src": "7124:76:15", + "src": "7411:76:15", "statements": [ { "expression": { - "id": 1936, + "id": 1966, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1932, + "id": 1962, "name": "erc20Supported", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1257, - "src": "7130:14:15", + "src": "7417:14:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1934, + "id": 1964, "indexExpression": { - "id": 1933, + "id": 1963, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "7145:5:15", + "referencedDeclaration": 1957, + "src": "7432:5:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29204,7 +29593,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7130:21:15", + "src": "7417:21:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29214,40 +29603,40 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 1935, + "id": 1965, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7154:5:15", + "src": "7441:5:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "7130:29:15", + "src": "7417:29:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1937, + "id": 1967, "nodeType": "ExpressionStatement", - "src": "7130:29:15" + "src": "7417:29:15" }, { "eventCall": { "arguments": [ { - "id": 1939, + "id": 1969, "name": "erc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "7189:5:15", + "referencedDeclaration": 1957, + "src": "7476:5:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29261,18 +29650,18 @@ "typeString": "address" } ], - "id": 1938, + "id": 1968, "name": "RemoveERC20Suppout", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1340, - "src": "7170:18:15", + "src": "7457:18:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1940, + "id": 1970, "isConstant": false, "isLValue": false, "isPure": false, @@ -29280,54 +29669,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7170:25:15", + "src": "7457:25:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1941, + "id": 1971, "nodeType": "EmitStatement", - "src": "7165:30:15" + "src": "7452:30:15" } ] }, "functionSelector": "fdf397ee", - "id": 1943, + "id": 1973, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1930, + "id": 1960, "kind": "modifierInvocation", "modifierName": { - "id": 1929, + "id": 1959, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "7114:9:15" + "src": "7401:9:15" }, "nodeType": "ModifierInvocation", - "src": "7114:9:15" + "src": "7401:9:15" } ], "name": "removeERC20Support", - "nameLocation": "7071:18:15", + "nameLocation": "7358:18:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1928, + "id": 1958, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1927, + "id": 1957, "mutability": "mutable", "name": "erc20", - "nameLocation": "7098:5:15", + "nameLocation": "7385:5:15", "nodeType": "VariableDeclaration", - "scope": 1943, - "src": "7090:13:15", + "scope": 1973, + "src": "7377:13:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29335,10 +29724,10 @@ "typeString": "address" }, "typeName": { - "id": 1926, + "id": 1956, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7090:7:15", + "src": "7377:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29348,25 +29737,25 @@ "visibility": "internal" } ], - "src": "7089:15:15" + "src": "7376:15:15" }, "returnParameters": { - "id": 1931, + "id": 1961, "nodeType": "ParameterList", "parameters": [], - "src": "7124:0:15" + "src": "7411:0:15" }, - "scope": 2046, - "src": "7062:138:15", + "scope": 2076, + "src": "7349:138:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1967, + "id": 1997, "nodeType": "Block", - "src": "7298:174:15", + "src": "7585:174:15", "statements": [ { "expression": { @@ -29376,18 +29765,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1957, + "id": 1987, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1953, + "id": 1983, "name": "maxLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "7319:8:15", + "referencedDeclaration": 1977, + "src": "7606:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29397,25 +29786,25 @@ "operator": ">=", "rightExpression": { "baseExpression": { - "id": 1954, + "id": 1984, "name": "nftPriceMinLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1270, - "src": "7331:16:15", + "src": "7618:16:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1956, + "id": 1986, "indexExpression": { - "id": 1955, + "id": 1985, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1945, - "src": "7348:8:15", + "referencedDeclaration": 1975, + "src": "7635:8:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29426,13 +29815,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7331:26:15", + "src": "7618:26:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7319:38:15", + "src": "7606:38:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29440,14 +29829,14 @@ }, { "hexValue": "4e46544d61726b65743a206d61784c696d69742063616e206e6f74206265206c657373207468616e206d696e206c696d697421", - "id": 1958, + "id": 1988, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7365:53:15", + "src": "7652:53:15", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1c08654cc37f003c56b475ad00ed98bf68bd23b2805ed7a765ec62d7a0287862", "typeString": "literal_string \"NFTMarket: maxLimit can not be less than min limit!\"" @@ -29466,7 +29855,7 @@ "typeString": "literal_string \"NFTMarket: maxLimit can not be less than min limit!\"" } ], - "id": 1952, + "id": 1982, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29474,13 +29863,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "7304:7:15", + "src": "7591:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1959, + "id": 1989, "isConstant": false, "isLValue": false, "isPure": false, @@ -29488,45 +29877,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7304:120:15", + "src": "7591:120:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1960, + "id": 1990, "nodeType": "ExpressionStatement", - "src": "7304:120:15" + "src": "7591:120:15" }, { "expression": { - "id": 1965, + "id": 1995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1961, + "id": 1991, "name": "nftPriceMaxLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1266, - "src": "7430:16:15", + "src": "7717:16:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1963, + "id": 1993, "indexExpression": { - "id": 1962, + "id": 1992, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1945, - "src": "7447:8:15", + "referencedDeclaration": 1975, + "src": "7734:8:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29537,7 +29926,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7430:26:15", + "src": "7717:26:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29546,64 +29935,64 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1964, + "id": 1994, "name": "maxLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "7459:8:15", + "referencedDeclaration": 1977, + "src": "7746:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7430:37:15", + "src": "7717:37:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1966, + "id": 1996, "nodeType": "ExpressionStatement", - "src": "7430:37:15" + "src": "7717:37:15" } ] }, "functionSelector": "b9c214a1", - "id": 1968, + "id": 1998, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1950, + "id": 1980, "kind": "modifierInvocation", "modifierName": { - "id": 1949, + "id": 1979, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "7286:9:15" + "src": "7573:9:15" }, "nodeType": "ModifierInvocation", - "src": "7286:9:15" + "src": "7573:9:15" } ], "name": "setNFTPriceMaxLimit", - "nameLocation": "7213:19:15", + "nameLocation": "7500:19:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1948, + "id": 1978, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1945, + "id": 1975, "mutability": "mutable", "name": "nftToken", - "nameLocation": "7241:8:15", + "nameLocation": "7528:8:15", "nodeType": "VariableDeclaration", - "scope": 1968, - "src": "7233:16:15", + "scope": 1998, + "src": "7520:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29611,10 +30000,10 @@ "typeString": "address" }, "typeName": { - "id": 1944, + "id": 1974, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7233:7:15", + "src": "7520:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29625,13 +30014,13 @@ }, { "constant": false, - "id": 1947, + "id": 1977, "mutability": "mutable", "name": "maxLimit", - "nameLocation": "7259:8:15", + "nameLocation": "7546:8:15", "nodeType": "VariableDeclaration", - "scope": 1968, - "src": "7251:16:15", + "scope": 1998, + "src": "7538:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29639,10 +30028,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1946, + "id": 1976, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7251:7:15", + "src": "7538:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29651,25 +30040,25 @@ "visibility": "internal" } ], - "src": "7232:36:15" + "src": "7519:36:15" }, "returnParameters": { - "id": 1951, + "id": 1981, "nodeType": "ParameterList", "parameters": [], - "src": "7298:0:15" + "src": "7585:0:15" }, - "scope": 2046, - "src": "7204:268:15", + "scope": 2076, + "src": "7491:268:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1999, + "id": 2029, "nodeType": "Block", - "src": "7570:233:15", + "src": "7857:233:15", "statements": [ { "condition": { @@ -29677,32 +30066,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1981, + "id": 2011, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1977, + "id": 2007, "name": "nftPriceMaxLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1266, - "src": "7580:16:15", + "src": "7867:16:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1979, + "id": 2009, "indexExpression": { - "id": 1978, + "id": 2008, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1970, - "src": "7597:8:15", + "referencedDeclaration": 2000, + "src": "7884:8:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29713,7 +30102,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7580:26:15", + "src": "7867:26:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29723,33 +30112,33 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 1980, + "id": 2010, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7610:1:15", + "src": "7897:1:15", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "7580:31:15", + "src": "7867:31:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1992, + "id": 2022, "nodeType": "IfStatement", - "src": "7576:180:15", + "src": "7863:180:15", "trueBody": { - "id": 1991, + "id": 2021, "nodeType": "Block", - "src": "7613:143:15", + "src": "7900:143:15", "statements": [ { "expression": { @@ -29759,18 +30148,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1987, + "id": 2017, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1983, + "id": 2013, "name": "minLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "7638:8:15", + "referencedDeclaration": 2002, + "src": "7925:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29780,25 +30169,25 @@ "operator": "<=", "rightExpression": { "baseExpression": { - "id": 1984, + "id": 2014, "name": "nftPriceMaxLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1266, - "src": "7650:16:15", + "src": "7937:16:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1986, + "id": 2016, "indexExpression": { - "id": 1985, + "id": 2015, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1970, - "src": "7667:8:15", + "referencedDeclaration": 2000, + "src": "7954:8:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29809,13 +30198,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7650:26:15", + "src": "7937:26:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7638:38:15", + "src": "7925:38:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29823,14 +30212,14 @@ }, { "hexValue": "4e46544d61726b65743a206d696e4c696d69742063616e206e6f74206265206c6172676572207468616e206d6178206c696d697421", - "id": 1988, + "id": 2018, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7686:55:15", + "src": "7973:55:15", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8d707352005b7a9792af61210bacc67770e71e7c95420f16fc3df5d5eb059e74", "typeString": "literal_string \"NFTMarket: minLimit can not be larger than max limit!\"" @@ -29849,7 +30238,7 @@ "typeString": "literal_string \"NFTMarket: minLimit can not be larger than max limit!\"" } ], - "id": 1982, + "id": 2012, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29857,13 +30246,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "7621:7:15", + "src": "7908:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1989, + "id": 2019, "isConstant": false, "isLValue": false, "isPure": false, @@ -29871,48 +30260,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7621:128:15", + "src": "7908:128:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1990, + "id": 2020, "nodeType": "ExpressionStatement", - "src": "7621:128:15" + "src": "7908:128:15" } ] } }, { "expression": { - "id": 1997, + "id": 2027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1993, + "id": 2023, "name": "nftPriceMinLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1270, - "src": "7761:16:15", + "src": "8048:16:15", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1995, + "id": 2025, "indexExpression": { - "id": 1994, + "id": 2024, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1970, - "src": "7778:8:15", + "referencedDeclaration": 2000, + "src": "8065:8:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29923,7 +30312,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7761:26:15", + "src": "8048:26:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29932,64 +30321,64 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1996, + "id": 2026, "name": "minLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "7790:8:15", + "referencedDeclaration": 2002, + "src": "8077:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7761:37:15", + "src": "8048:37:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1998, + "id": 2028, "nodeType": "ExpressionStatement", - "src": "7761:37:15" + "src": "8048:37:15" } ] }, "functionSelector": "28400cf3", - "id": 2000, + "id": 2030, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1975, + "id": 2005, "kind": "modifierInvocation", "modifierName": { - "id": 1974, + "id": 2004, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "7558:9:15" + "src": "7845:9:15" }, "nodeType": "ModifierInvocation", - "src": "7558:9:15" + "src": "7845:9:15" } ], "name": "setNFTPriceMinLimit", - "nameLocation": "7485:19:15", + "nameLocation": "7772:19:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1973, + "id": 2003, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1970, + "id": 2000, "mutability": "mutable", "name": "nftToken", - "nameLocation": "7513:8:15", + "nameLocation": "7800:8:15", "nodeType": "VariableDeclaration", - "scope": 2000, - "src": "7505:16:15", + "scope": 2030, + "src": "7792:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29997,10 +30386,10 @@ "typeString": "address" }, "typeName": { - "id": 1969, + "id": 1999, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7505:7:15", + "src": "7792:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30011,13 +30400,13 @@ }, { "constant": false, - "id": 1972, + "id": 2002, "mutability": "mutable", "name": "minLimit", - "nameLocation": "7531:8:15", + "nameLocation": "7818:8:15", "nodeType": "VariableDeclaration", - "scope": 2000, - "src": "7523:16:15", + "scope": 2030, + "src": "7810:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30025,10 +30414,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1971, + "id": 2001, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7523:7:15", + "src": "7810:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30037,25 +30426,25 @@ "visibility": "internal" } ], - "src": "7504:36:15" + "src": "7791:36:15" }, "returnParameters": { - "id": 1976, + "id": 2006, "nodeType": "ParameterList", "parameters": [], - "src": "7570:0:15" + "src": "7857:0:15" }, - "scope": 2046, - "src": "7476:327:15", + "scope": 2076, + "src": "7763:327:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2022, + "id": 2052, "nodeType": "Block", - "src": "7878:218:15", + "src": "8165:218:15", "statements": [ { "expression": { @@ -30065,7 +30454,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2014, + "id": 2044, "isConstant": false, "isLValue": false, "isPure": false, @@ -30075,18 +30464,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2010, + "id": 2040, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2008, + "id": 2038, "name": "_transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2002, - "src": "7899:15:15", + "referencedDeclaration": 2032, + "src": "8186:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30095,18 +30484,18 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 2009, + "id": 2039, "name": "MIN_TRANSACTION_FEE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1361, - "src": "7918:19:15", + "src": "8205:19:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7899:38:15", + "src": "8186:38:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30119,18 +30508,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2013, + "id": 2043, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2011, + "id": 2041, "name": "_transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2002, - "src": "7949:15:15", + "referencedDeclaration": 2032, + "src": "8236:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30139,24 +30528,24 @@ "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { - "id": 2012, + "id": 2042, "name": "MAX_TRANSACTION_FEE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1369, - "src": "7968:19:15", + "src": "8255:19:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7949:38:15", + "src": "8236:38:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7899:88:15", + "src": "8186:88:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30164,14 +30553,14 @@ }, { "hexValue": "4e46544d61726b65743a205f7472616e73616374696f6e466565206d757374203e3d20302e352520616e64203c3d20313025", - "id": 2015, + "id": 2045, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7995:52:15", + "src": "8282:52:15", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f49c2823e6e88a8da7e3f26c7dd2d3d467d89fe7075a0a9b37119fceb0e765f1", "typeString": "literal_string \"NFTMarket: _transactionFee must >= 0.5% and <= 10%\"" @@ -30190,7 +30579,7 @@ "typeString": "literal_string \"NFTMarket: _transactionFee must >= 0.5% and <= 10%\"" } ], - "id": 2007, + "id": 2037, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30198,13 +30587,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "7884:7:15", + "src": "8171:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2016, + "id": 2046, "isConstant": false, "isLValue": false, "isPure": false, @@ -30212,31 +30601,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7884:169:15", + "src": "8171:169:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2017, + "id": 2047, "nodeType": "ExpressionStatement", - "src": "7884:169:15" + "src": "8171:169:15" }, { "expression": { - "id": 2020, + "id": 2050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2018, + "id": 2048, "name": "transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1353, - "src": "8059:14:15", + "src": "8346:14:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30245,64 +30634,64 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 2019, + "id": 2049, "name": "_transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2002, - "src": "8076:15:15", + "referencedDeclaration": 2032, + "src": "8363:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8059:32:15", + "src": "8346:32:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2021, + "id": 2051, "nodeType": "ExpressionStatement", - "src": "8059:32:15" + "src": "8346:32:15" } ] }, "functionSelector": "096a8ab7", - "id": 2023, + "id": 2053, "implemented": true, "kind": "function", "modifiers": [ { - "id": 2005, + "id": 2035, "kind": "modifierInvocation", "modifierName": { - "id": 2004, + "id": 2034, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "7868:9:15" + "src": "8155:9:15" }, "nodeType": "ModifierInvocation", - "src": "7868:9:15" + "src": "8155:9:15" } ], "name": "setTransactionFee", - "nameLocation": "7816:17:15", + "nameLocation": "8103:17:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 2003, + "id": 2033, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2002, + "id": 2032, "mutability": "mutable", "name": "_transactionFee", - "nameLocation": "7842:15:15", + "nameLocation": "8129:15:15", "nodeType": "VariableDeclaration", - "scope": 2023, - "src": "7834:23:15", + "scope": 2053, + "src": "8121:23:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30310,10 +30699,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2001, + "id": 2031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7834:7:15", + "src": "8121:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30322,25 +30711,25 @@ "visibility": "internal" } ], - "src": "7833:25:15" + "src": "8120:25:15" }, "returnParameters": { - "id": 2006, + "id": 2036, "nodeType": "ParameterList", "parameters": [], - "src": "7878:0:15" + "src": "8165:0:15" }, - "scope": 2046, - "src": "7807:289:15", + "scope": 2076, + "src": "8094:289:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2044, + "id": 2074, "nodeType": "Block", - "src": "8167:132:15", + "src": "8454:132:15", "statements": [ { "expression": { @@ -30350,18 +30739,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2036, + "id": 2066, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2031, + "id": 2061, "name": "_feeToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2025, - "src": "8181:13:15", + "referencedDeclaration": 2055, + "src": "8468:13:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30373,14 +30762,14 @@ "arguments": [ { "hexValue": "30", - "id": 2034, + "id": 2064, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8206:1:15", + "src": "8493:1:15", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -30395,26 +30784,26 @@ "typeString": "int_const 0" } ], - "id": 2033, + "id": 2063, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8198:7:15", + "src": "8485:7:15", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2032, + "id": 2062, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8198:7:15", + "src": "8485:7:15", "typeDescriptions": {} } }, - "id": 2035, + "id": 2065, "isConstant": false, "isLValue": false, "isPure": true, @@ -30422,14 +30811,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8198:10:15", + "src": "8485:10:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8181:27:15", + "src": "8468:27:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30437,14 +30826,14 @@ }, { "hexValue": "4e46544d61726b65743a2066656520726563656976656420616464726573732063616e206e6f74206265207a65726f", - "id": 2037, + "id": 2067, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8210:49:15", + "src": "8497:49:15", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3b04b8e26e4b4f37c4e02792de76b923f7bbb4c995d4be6d4bf338e41a5da1f6", "typeString": "literal_string \"NFTMarket: fee received address can not be zero\"" @@ -30463,7 +30852,7 @@ "typeString": "literal_string \"NFTMarket: fee received address can not be zero\"" } ], - "id": 2030, + "id": 2060, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30471,13 +30860,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "8173:7:15", + "src": "8460:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2038, + "id": 2068, "isConstant": false, "isLValue": false, "isPure": false, @@ -30485,31 +30874,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8173:87:15", + "src": "8460:87:15", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2039, + "id": 2069, "nodeType": "ExpressionStatement", - "src": "8173:87:15" + "src": "8460:87:15" }, { "expression": { - "id": 2042, + "id": 2072, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2040, + "id": 2070, "name": "feeToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "8266:12:15", + "src": "8553:12:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30518,64 +30907,64 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 2041, + "id": 2071, "name": "_feeToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2025, - "src": "8281:13:15", + "referencedDeclaration": 2055, + "src": "8568:13:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8266:28:15", + "src": "8553:28:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2043, + "id": 2073, "nodeType": "ExpressionStatement", - "src": "8266:28:15" + "src": "8553:28:15" } ] }, "functionSelector": "580bb9a5", - "id": 2045, + "id": 2075, "implemented": true, "kind": "function", "modifiers": [ { - "id": 2028, + "id": 2058, "kind": "modifierInvocation", "modifierName": { - "id": 2027, + "id": 2057, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "8157:9:15" + "src": "8444:9:15" }, "nodeType": "ModifierInvocation", - "src": "8157:9:15" + "src": "8444:9:15" } ], "name": "setFeeToAddress", - "nameLocation": "8109:15:15", + "nameLocation": "8396:15:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 2026, + "id": 2056, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2025, + "id": 2055, "mutability": "mutable", "name": "_feeToAddress", - "nameLocation": "8133:13:15", + "nameLocation": "8420:13:15", "nodeType": "VariableDeclaration", - "scope": 2045, - "src": "8125:21:15", + "scope": 2075, + "src": "8412:21:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30583,10 +30972,10 @@ "typeString": "address" }, "typeName": { - "id": 2024, + "id": 2054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8125:7:15", + "src": "8412:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30596,27 +30985,27 @@ "visibility": "internal" } ], - "src": "8124:23:15" + "src": "8411:23:15" }, "returnParameters": { - "id": 2029, + "id": 2059, "nodeType": "ParameterList", "parameters": [], - "src": "8167:0:15" + "src": "8454:0:15" }, - "scope": 2046, - "src": "8100:199:15", + "scope": 2076, + "src": "8387:199:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 2047, - "src": "559:7742:15", + "scope": 2077, + "src": "559:8029:15", "usedErrors": [] } ], - "src": "32:8270:15" + "src": "32:8557:15" }, "compiler": { "name": "solc", @@ -30875,8 +31264,7 @@ } }, "schemaVersion": "3.4.11", - "updatedAt": "2023-01-05T09:11:36.236Z", - "networkType": "ethereum", + "updatedAt": "2023-01-10T09:07:38.797Z", "devdoc": { "kind": "dev", "methods": { diff --git a/contracts/market/BENftMarket.sol b/contracts/market/BENftMarket.sol index b938fa2..907ef0d 100644 --- a/contracts/market/BENftMarket.sol +++ b/contracts/market/BENftMarket.sol @@ -164,8 +164,8 @@ contract BENFTMarket is Ownable, ReentrancyGuard, ERC1155Holder,ERC721Holder { ); } else if (erc1155Supported[orderInfo.nftToken]) { IERC1155(orderInfo.nftToken).safeTransferFrom( - msg.sender, address(this), + msg.sender, orderInfo.tokenId, orderInfo.amount, "" @@ -191,11 +191,21 @@ contract BENFTMarket is Ownable, ReentrancyGuard, ERC1155Holder,ERC721Holder { "NFTMarket: cancel caller is not owner" ); OrderInfo memory orderInfo = orderInfos[orderId]; - IERC721(orderInfo.nftToken).safeTransferFrom( - address(this), - msg.sender, - orderInfo.tokenId - ); + if (erc721Supported[orderInfo.nftToken]) { + IERC721(orderInfo.nftToken).safeTransferFrom( + address(this), + msg.sender, + orderInfo.tokenId + ); + } else if (erc1155Supported[orderInfo.nftToken]) { + IERC1155(orderInfo.nftToken).safeTransferFrom( + address(this), + msg.sender, + orderInfo.tokenId, + orderInfo.amount, + "" + ); + } delete orderInfos[orderId]; emit CancelOrder(orderId, orderInfo.nftToken, orderInfo.tokenId);