{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeMint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeMint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PuppetMaster_NoPuppet","inputs":[{"name":"systemAddress","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50612cf8806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636352211e116100cd578063a22cb46511610081578063c87b56dd11610066578063c87b56dd146102d1578063e1af802c146102e4578063e985e9c5146102ec57600080fd5b8063a22cb465146102ab578063b88d4fde146102be57600080fd5b80638832e6e3116100b25780638832e6e31461027d57806395d89b4114610290578063a14481941461029857600080fd5b80636352211e1461025757806370a082311461026a57600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e1461021c57806342966c681461022f57806345ec93541461024257600080fd5b806323b872dd146101f657806340c10f191461020957600080fd5b8063081812fc11610155578063081812fc146101ae578063095ea7b3146101d9578063119df25f146101ee57600080fd5b806301ffc9a71461017157806306fdde0314610199575b600080fd5b61018461017f36600461254b565b6102ff565b60405190151581526020015b60405180910390f35b6101a1610398565b60405161019091906125b8565b6101c16101bc3660046125cb565b6103b7565b6040516001600160a01b039091168152602001610190565b6101ec6101e73660046125fb565b6103cc565b005b6101c16103e2565b6101ec610204366004612625565b6103ec565b6101ec6102173660046125fb565b61049c565b6101ec61022a366004612625565b6104ae565b6101ec61023d3660046125cb565b6104ce565b36601f1901355b604051908152602001610190565b6101c16102653660046125cb565b6104e2565b610249610278366004612661565b6104ed565b6101ec61028b366004612741565b61054b565b6101a161055e565b6101ec6102a63660046125fb565b610573565b6101ec6102b9366004612798565b610595565b6101ec6102cc3660046127d4565b6105a7565b6101a16102df3660046125cb565b6105be565b6101c1610648565b6101846102fa36600461283c565b610652565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061039257507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606103b26103ad6103a8610675565b610693565b6106c5565b905090565b60006103c2826106e3565b5061039282610734565b6103de82826103d96103e2565b61074f565b5050565b60006103b261075c565b6001600160a01b03821661041b57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061042f838361042a6103e2565b61078e565b9050836001600160a01b0316816001600160a01b031614610496576040517f64283d7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301526024820184905282166044820152606401610412565b50505050565b6104a4610912565b6103de828261092d565b6104c9838383604051806020016040528060008152506105a7565b505050565b6104d6610912565b6104df816109ab565b50565b6000610392826106e3565b60006001600160a01b038216610532576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b610392610545610540610675565b6109ff565b83610a31565b610553610912565b6104c9838383610ab7565b60606103b261056e6103a8610675565b610ace565b61057b610912565b6103de828260405180602001604052806000815250610ab7565b6103de6105a06103e2565b8383610aed565b6105b28484846103ec565b61049684848484610c11565b60606105c9826106e3565b5060006105d4610d72565b905060006105f16105eb6105e6610675565b610d87565b85610db9565b9050600081511161060a5761060584610e10565b61060c565b805b9050600082511161061d5780610640565b818160405160200161063092919061286f565b6040516020818303038152906040525b949350505050565b60006103b2610e54565b600061066e610667610662610675565b610e5e565b8484610e90565b9392505050565b60008061068130610f4f565b905061068d8160101b90565b91505090565b6000610392613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610fec565b60408051600080825260208201909252606091610640848383611064565b6000806106ef8361112b565b90506001600160a01b038116610392576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610412565b6000610392610749610744610675565b61113b565b8361116d565b6104c983838360016111ed565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061078b5750335b90565b60008061079c610540610675565b905060006107a98561112b565b90506001600160a01b038416156107c5576107c581858761137f565b6001600160a01b038116156107f9576107e26000866000806111ed565b6107f9828260016107f38686610a31565b03611415565b6001600160a01b0386161561081f5761081f8287610817858a610a31565b600101611415565b61083961083261082d610675565b6114b2565b86886114e4565b6108416115a1565b6001600160a01b03166366c93bdb7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610880846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526108d69291906001600160a01b038c16908b906024810161289e565b600060405180830381600087803b1580156108f057600080fd5b505af1158015610904573d6000803e3d6000fd5b509298975050505050505050565b61092b61091e30610f4f565b6109266103e2565b61167c565b565b6001600160a01b03821661095757604051633250574960e11b815260006004820152602401610412565b60006109658383600061078e565b90506001600160a01b038116156104c9576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b60006109ba600083600061078e565b90506001600160a01b0381166103de576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101839052602401610412565b6000610392613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610fec565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610a7657610a766128d4565b60209081029190910101526000610aae8583837e2001002000000000000000000000000000000000000000000000000000000061171d565b95945050505050565b610ac1838361092d565b6104c96000848484610c11565b6040805160008082526020820190925260609161064084836001611064565b6001600160a01b038216610b38576040517f5b08ba180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610412565b610b4e610b46610662610675565b8484846117da565b610b566115a1565b6001600160a01b031663c9a34acd7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31610b95866001600160a01b031690565b6001600160a01b038616604080518715156020820152016040516020818303038152906040526040518563ffffffff1660e01b8152600401610bda94939291906128ea565b600060405180830381600087803b158015610bf457600080fd5b505af1158015610c08573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383163b1561049657826001600160a01b031663150b7a02610c386103e2565b8685856040518563ffffffff1660e01b8152600401610c5a949392919061290f565b6020604051808303816000875af1925050508015610c95575060408051601f3d908101601f19168201909252610c9291810190612941565b60015b610cfe573d808015610cc3576040519150601f19603f3d011682016040523d82523d6000602084013e610cc8565b606091505b508051600003610cf657604051633250574960e11b81526001600160a01b0385166004820152602401610412565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014610d6b57604051633250574960e11b81526001600160a01b0385166004820152602401610412565b5050505050565b60606103b2610d826103a8610675565b6118a7565b6000610392613a3160f11b837f546f6b656e555249000000000000000000000000000000000000000000000000610fec565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110610df657610df66128d4565b6020026020010181815250506000610aae85836000611064565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a900480610e2a5750819003601f19909101908152919050565b60006103b26118c6565b6000610392613a3160f11b837f4f70657261746f72417070726f76616c00000000000000000000000000000000610fec565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610ed557610ed56128d4565b602002602001018181525050826001600160a01b031660001b81600181518110610f0157610f016128d4565b60209081029190910101526000610f398683837e0101000100000000000000000000000000000000000000000000000000000061171d565b9050610f458160f81c90565b9695505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610f9457610f946128d4565b602090810291909101015260006106407f7462776f726c6400000000000000000053797374656d5265676973747279000083837e2001002000000000000000000000000000000000000000000000000000000061171d565b6000610ffa60706010612974565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b606060006110706118c6565b9050306001600160a01b038216036110955761108d858585611905565b91505061066e565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e788977906110de908890889088906004016129c3565b600060405180830381865afa1580156110fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d91908101906129ef565b509392505050565b600061039261074961082d610675565b6000610392613a3160f11b837f546f6b656e417070726f76616c00000000000000000000000000000000000000610fec565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111a9576111a96128d4565b602090810291909101015260006111e18583837e1401001400000000000000000000000000000000000000000000000000000061171d565b60601c95945050505050565b808061120157506001600160a01b03821615155b1561136a576000611211846106e3565b90506001600160a01b0383161580159061123d5750826001600160a01b0316816001600160a01b031614155b8015611250575061124e8184610652565b155b15611292576040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610412565b8115611368576112a06115a1565b6001600160a01b03166366c93bdb7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256112df846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526113359291906001600160a01b038b16908a906024810161289e565b600060405180830381600087803b15801561134f57600080fd5b505af1158015611363573d6000803e3d6000fd5b505050505b505b610496611378610744610675565b84866114e4565b61138a83838361193f565b6104c9576001600160a01b0383166113d1576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610412565b6040517f177e802f0000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401610412565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611457576114576128d4565b602002602001018181525050610496848260008560405160200161147d91815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119a4565b6000610392613a3160f11b837f4f776e6572730000000000000000000000000000000000000000000000000000610fec565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061151d5761151d6128d4565b602002602001018181525050610496848260008560405160200161156c919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006119a4565b6000806115ad30610f4f565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091611631910160405160208183030381529060405261162b90612a5d565b83611a5a565b90506001600160a01b038116610392576040517f9434f7e100000000000000000000000000000000000000000000000000000000815230600482015260248101839052604401610412565b6001600160a01b0381166116d17f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617611a93565b6001600160a01b0316146103de576116e882611b2f565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610412929190612a84565b6000806117286118c6565b9050306001600160a01b0382160361174e5761174686868686611c5d565b915050610640565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611799908990899089908990600401612aaf565b602060405180830381865afa1580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117469190612ade565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061181b5761181b6128d4565b602002602001018181525050826001600160a01b031660001b81600181518110611847576118476128d4565b602002602001018181525050610d6b858260008560405160200161187291151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006119a4565b6040805160008082526020820190925260609161064084836002611064565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611900573391505090565b919050565b6060610640611915858585611c8a565b600061193a856119258989611d0a565b9060ff166028026038011c64ffffffffff1690565b611d1d565b60006001600160a01b038316158015906106405750826001600160a01b0316846001600160a01b0316148061197957506119798484610652565b806106405750826001600160a01b031661199283610734565b6001600160a01b031614949350505050565b60006119ae6118c6565b9050306001600160a01b038216036119d2576119cd8686868686611d40565b611a52565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611a1f9089908990899089908990600401612af7565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b505050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111a9576111a96128d4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611acc57611acc6128d4565b60209081029190910101526000611b247f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e1401001400000000000000000000000000000000000000000000000000000061171d565b60601c949350505050565b606081601081901b6000611b4283611d55565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615611b9d57611b987fffffffffffffffffffffffffffff0000000000000000000000000000000000008416611d6c565b611bd4565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615611bfb57611bf683611d6c565b611c32565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611c4493929190612b3e565b6040516020818303038152906040529350505050919050565b6000610aae611c6c8686611df2565b60ff858116601b0360080285901c16611c858587611e48565b611e79565b60008383604051602001611c9f929190612bcc565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b600061066e611d198484611eca565b5490565b60405160208101601f19603f848401011660405282825261112385858584611f20565b610d6b8585611d4f8487611e48565b85611fec565b6000611d6360706010612974565b9190911b919050565b606060005b6010811015611dc2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615611dc257600101611d71565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610640565b60008282604051602001611e07929190612bcc565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561112357611e6f60ff601b83900360080287901c1683612974565b9150600101611e4d565b600060208210611e9f57602082048401935060208281611e9b57611e9b612c08565b0691505b508254600882021b602082900380841115611123576001850154600882021c82179150509392505050565b60008282604051602001611edf929190612bcc565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b8215611fa75760208310611f4a57602083048401935060208381611f4657611f46612c08565b0692505b8215611fa7576020839003600081841015611f6d5750600019600884021c611f77565b50600019600882021c5b8554600886021b818451168219821617845250818411611f98575050610496565b50600194909401939182900391015b5b60208210611fc95783548152600190930192601f1990910190602001611fa8565b8115610496576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361207657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161206993929190612c1e565b60405180910390a2610496565b60006120828585611df2565b9050600061208f86612287565b905060005b81518110156121645760008282815181106120b1576120b16128d4565b602002602001015190506120dd6004826affffffffffffffffffffff191661231090919063ffffffff16565b1561215b576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612128908b908b908b908b90600401612c51565b600060405180830381600087803b15801561214257600080fd5b505af1158015612156573d6000803e3d6000fd5b505050505b50600101612094565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161219993929190612c1e565b60405180910390a26121b4828565ffffffffffff168561232e565b60005b8151811015610c085760008282815181106121d4576121d46128d4565b602002602001015190506122006008826affffffffffffffffffffff191661231090919063ffffffff16565b1561227e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061224b908b908b908b908b90600401612c51565b600060405180830381600087803b15801561226557600080fd5b505af1158015612279573d6000803e3d6000fd5b505050505b506001016121b7565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106122c1576122c16128d4565b602090810291909101015260006122f97f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611905565b905061064061230b8260008451612344565b6123d2565b60008160ff16826123218560581c90565b1660ff1614905092915050565b6104c98383835161233f8560200190565b6123e3565b6000818311806123545750835182115b15612391578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161041293929190612c8a565b6020840161239f8482612974565b905060006123ad8585612caf565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061066e83601560006124a2565b821561245d576020831061240d5760208304840193506020838161240957612409612c08565b0692505b821561245d5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161244e575050610496565b50600194909401939182900391015b5b6020821061247f5780518455600190930192601f199091019060200161245e565b8115610496576000600019600884021c8554835182191691161785555050505050565b606060006124b08560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816124d6576124d6612c08565b04905060405193506020840160208202810160405281855260005b82811015612511578451871c8252938701936020909101906001016124f1565b50505050509392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146104df57600080fd5b60006020828403121561255d57600080fd5b813561066e8161251d565b60005b8381101561258357818101518382015260200161256b565b50506000910152565b600081518084526125a4816020860160208601612568565b601f01601f19169290920160200192915050565b60208152600061066e602083018461258c565b6000602082840312156125dd57600080fd5b5035919050565b80356001600160a01b038116811461190057600080fd5b6000806040838503121561260e57600080fd5b612617836125e4565b946020939093013593505050565b60008060006060848603121561263a57600080fd5b612643846125e4565b9250612651602085016125e4565b9150604084013590509250925092565b60006020828403121561267357600080fd5b61066e826125e4565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126bb576126bb61267c565b604052919050565b600067ffffffffffffffff8211156126dd576126dd61267c565b50601f01601f191660200190565b600082601f8301126126fc57600080fd5b813561270f61270a826126c3565b612692565b81815284602083860101111561272457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561275657600080fd5b61275f846125e4565b925060208401359150604084013567ffffffffffffffff81111561278257600080fd5b61278e868287016126eb565b9150509250925092565b600080604083850312156127ab57600080fd5b6127b4836125e4565b9150602083013580151581146127c957600080fd5b809150509250929050565b600080600080608085870312156127ea57600080fd5b6127f3856125e4565b9350612801602086016125e4565b925060408501359150606085013567ffffffffffffffff81111561282457600080fd5b612830878288016126eb565b91505092959194509250565b6000806040838503121561284f57600080fd5b612858836125e4565b9150612866602084016125e4565b90509250929050565b60008351612881818460208801612568565b835190830190612895818360208801612568565b01949350505050565b85815284602082015283604082015282606082015260a0608082015260006128c960a083018461258c565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b848152836020820152826040820152608060608201526000610f45608083018461258c565b60006001600160a01b03808716835280861660208401525083604083015260806060830152610f45608083018461258c565b60006020828403121561295357600080fd5b815161066e8161251d565b634e487b7160e01b600052601160045260246000fd5b808201808211156103925761039261295e565b60008151808452602080850194506020840160005b838110156129b85781518752958201959082019060010161299c565b509495945050505050565b8381526060602082015260006129dc6060830185612987565b905060ff83166040830152949350505050565b600060208284031215612a0157600080fd5b815167ffffffffffffffff811115612a1857600080fd5b8201601f81018413612a2957600080fd5b8051612a3761270a826126c3565b818152856020838501011115612a4c57600080fd5b610aae826020830160208601612568565b80516020808301519190811015612a7e576000198160200360031b1b821691505b50919050565b604081526000612a97604083018561258c565b90506001600160a01b03831660208301529392505050565b848152608060208201526000612ac86080830186612987565b60ff949094166040830152506060015292915050565b600060208284031215612af057600080fd5b5051919050565b85815260a060208201526000612b1060a0830187612987565b60ff861660408401528281036060840152612b2b818661258c565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612b9f816003860160208901612568565b808401905081600382015284519150612bbf826004830160208801612568565b0160040195945050505050565b8281526000602080830184516020860160005b82811015612bfb57815184529284019290840190600101612bdf565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000612c316060830186612987565b65ffffffffffff851660208401528281036040840152610f45818561258c565b848152608060208201526000612c6a6080830186612987565b65ffffffffffff8516604084015282810360608401526128c9818561258c565b606081526000612c9d606083018661258c565b60208301949094525060400152919050565b818103818111156103925761039261295e56fea264697066735822122023d476b4865f864378233084d8c7119de19b206976e8d565a1d8fcfdb1e28f9564736f6c63430008180033","sourceMap":"1200:17688:65:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061016c5760003560e01c80636352211e116100cd578063a22cb46511610081578063c87b56dd11610066578063c87b56dd146102d1578063e1af802c146102e4578063e985e9c5146102ec57600080fd5b8063a22cb465146102ab578063b88d4fde146102be57600080fd5b80638832e6e3116100b25780638832e6e31461027d57806395d89b4114610290578063a14481941461029857600080fd5b80636352211e1461025757806370a082311461026a57600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e1461021c57806342966c681461022f57806345ec93541461024257600080fd5b806323b872dd146101f657806340c10f191461020957600080fd5b8063081812fc11610155578063081812fc146101ae578063095ea7b3146101d9578063119df25f146101ee57600080fd5b806301ffc9a71461017157806306fdde0314610199575b600080fd5b61018461017f36600461254b565b6102ff565b60405190151581526020015b60405180910390f35b6101a1610398565b60405161019091906125b8565b6101c16101bc3660046125cb565b6103b7565b6040516001600160a01b039091168152602001610190565b6101ec6101e73660046125fb565b6103cc565b005b6101c16103e2565b6101ec610204366004612625565b6103ec565b6101ec6102173660046125fb565b61049c565b6101ec61022a366004612625565b6104ae565b6101ec61023d3660046125cb565b6104ce565b36601f1901355b604051908152602001610190565b6101c16102653660046125cb565b6104e2565b610249610278366004612661565b6104ed565b6101ec61028b366004612741565b61054b565b6101a161055e565b6101ec6102a63660046125fb565b610573565b6101ec6102b9366004612798565b610595565b6101ec6102cc3660046127d4565b6105a7565b6101a16102df3660046125cb565b6105be565b6101c1610648565b6101846102fa36600461283c565b610652565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061039257507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606103b26103ad6103a8610675565b610693565b6106c5565b905090565b60006103c2826106e3565b5061039282610734565b6103de82826103d96103e2565b61074f565b5050565b60006103b261075c565b6001600160a01b03821661041b57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061042f838361042a6103e2565b61078e565b9050836001600160a01b0316816001600160a01b031614610496576040517f64283d7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301526024820184905282166044820152606401610412565b50505050565b6104a4610912565b6103de828261092d565b6104c9838383604051806020016040528060008152506105a7565b505050565b6104d6610912565b6104df816109ab565b50565b6000610392826106e3565b60006001600160a01b038216610532576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b610392610545610540610675565b6109ff565b83610a31565b610553610912565b6104c9838383610ab7565b60606103b261056e6103a8610675565b610ace565b61057b610912565b6103de828260405180602001604052806000815250610ab7565b6103de6105a06103e2565b8383610aed565b6105b28484846103ec565b61049684848484610c11565b60606105c9826106e3565b5060006105d4610d72565b905060006105f16105eb6105e6610675565b610d87565b85610db9565b9050600081511161060a5761060584610e10565b61060c565b805b9050600082511161061d5780610640565b818160405160200161063092919061286f565b6040516020818303038152906040525b949350505050565b60006103b2610e54565b600061066e610667610662610675565b610e5e565b8484610e90565b9392505050565b60008061068130610f4f565b905061068d8160101b90565b91505090565b6000610392613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610fec565b60408051600080825260208201909252606091610640848383611064565b6000806106ef8361112b565b90506001600160a01b038116610392576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610412565b6000610392610749610744610675565b61113b565b8361116d565b6104c983838360016111ed565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061078b5750335b90565b60008061079c610540610675565b905060006107a98561112b565b90506001600160a01b038416156107c5576107c581858761137f565b6001600160a01b038116156107f9576107e26000866000806111ed565b6107f9828260016107f38686610a31565b03611415565b6001600160a01b0386161561081f5761081f8287610817858a610a31565b600101611415565b61083961083261082d610675565b6114b2565b86886114e4565b6108416115a1565b6001600160a01b03166366c93bdb7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610880846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526108d69291906001600160a01b038c16908b906024810161289e565b600060405180830381600087803b1580156108f057600080fd5b505af1158015610904573d6000803e3d6000fd5b509298975050505050505050565b61092b61091e30610f4f565b6109266103e2565b61167c565b565b6001600160a01b03821661095757604051633250574960e11b815260006004820152602401610412565b60006109658383600061078e565b90506001600160a01b038116156104c9576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b60006109ba600083600061078e565b90506001600160a01b0381166103de576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101839052602401610412565b6000610392613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610fec565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610a7657610a766128d4565b60209081029190910101526000610aae8583837e2001002000000000000000000000000000000000000000000000000000000061171d565b95945050505050565b610ac1838361092d565b6104c96000848484610c11565b6040805160008082526020820190925260609161064084836001611064565b6001600160a01b038216610b38576040517f5b08ba180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610412565b610b4e610b46610662610675565b8484846117da565b610b566115a1565b6001600160a01b031663c9a34acd7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31610b95866001600160a01b031690565b6001600160a01b038616604080518715156020820152016040516020818303038152906040526040518563ffffffff1660e01b8152600401610bda94939291906128ea565b600060405180830381600087803b158015610bf457600080fd5b505af1158015610c08573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383163b1561049657826001600160a01b031663150b7a02610c386103e2565b8685856040518563ffffffff1660e01b8152600401610c5a949392919061290f565b6020604051808303816000875af1925050508015610c95575060408051601f3d908101601f19168201909252610c9291810190612941565b60015b610cfe573d808015610cc3576040519150601f19603f3d011682016040523d82523d6000602084013e610cc8565b606091505b508051600003610cf657604051633250574960e11b81526001600160a01b0385166004820152602401610412565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014610d6b57604051633250574960e11b81526001600160a01b0385166004820152602401610412565b5050505050565b60606103b2610d826103a8610675565b6118a7565b6000610392613a3160f11b837f546f6b656e555249000000000000000000000000000000000000000000000000610fec565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110610df657610df66128d4565b6020026020010181815250506000610aae85836000611064565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a900480610e2a5750819003601f19909101908152919050565b60006103b26118c6565b6000610392613a3160f11b837f4f70657261746f72417070726f76616c00000000000000000000000000000000610fec565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610ed557610ed56128d4565b602002602001018181525050826001600160a01b031660001b81600181518110610f0157610f016128d4565b60209081029190910101526000610f398683837e0101000100000000000000000000000000000000000000000000000000000061171d565b9050610f458160f81c90565b9695505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610f9457610f946128d4565b602090810291909101015260006106407f7462776f726c6400000000000000000053797374656d5265676973747279000083837e2001002000000000000000000000000000000000000000000000000000000061171d565b6000610ffa60706010612974565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b606060006110706118c6565b9050306001600160a01b038216036110955761108d858585611905565b91505061066e565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e788977906110de908890889088906004016129c3565b600060405180830381865afa1580156110fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d91908101906129ef565b509392505050565b600061039261074961082d610675565b6000610392613a3160f11b837f546f6b656e417070726f76616c00000000000000000000000000000000000000610fec565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111a9576111a96128d4565b602090810291909101015260006111e18583837e1401001400000000000000000000000000000000000000000000000000000061171d565b60601c95945050505050565b808061120157506001600160a01b03821615155b1561136a576000611211846106e3565b90506001600160a01b0383161580159061123d5750826001600160a01b0316816001600160a01b031614155b8015611250575061124e8184610652565b155b15611292576040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610412565b8115611368576112a06115a1565b6001600160a01b03166366c93bdb7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256112df846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526113359291906001600160a01b038b16908a906024810161289e565b600060405180830381600087803b15801561134f57600080fd5b505af1158015611363573d6000803e3d6000fd5b505050505b505b610496611378610744610675565b84866114e4565b61138a83838361193f565b6104c9576001600160a01b0383166113d1576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610412565b6040517f177e802f0000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401610412565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611457576114576128d4565b602002602001018181525050610496848260008560405160200161147d91815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119a4565b6000610392613a3160f11b837f4f776e6572730000000000000000000000000000000000000000000000000000610fec565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061151d5761151d6128d4565b602002602001018181525050610496848260008560405160200161156c919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006119a4565b6000806115ad30610f4f565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091611631910160405160208183030381529060405261162b90612a5d565b83611a5a565b90506001600160a01b038116610392576040517f9434f7e100000000000000000000000000000000000000000000000000000000815230600482015260248101839052604401610412565b6001600160a01b0381166116d17f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617611a93565b6001600160a01b0316146103de576116e882611b2f565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610412929190612a84565b6000806117286118c6565b9050306001600160a01b0382160361174e5761174686868686611c5d565b915050610640565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611799908990899089908990600401612aaf565b602060405180830381865afa1580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117469190612ade565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061181b5761181b6128d4565b602002602001018181525050826001600160a01b031660001b81600181518110611847576118476128d4565b602002602001018181525050610d6b858260008560405160200161187291151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006119a4565b6040805160008082526020820190925260609161064084836002611064565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611900573391505090565b919050565b6060610640611915858585611c8a565b600061193a856119258989611d0a565b9060ff166028026038011c64ffffffffff1690565b611d1d565b60006001600160a01b038316158015906106405750826001600160a01b0316846001600160a01b0316148061197957506119798484610652565b806106405750826001600160a01b031661199283610734565b6001600160a01b031614949350505050565b60006119ae6118c6565b9050306001600160a01b038216036119d2576119cd8686868686611d40565b611a52565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611a1f9089908990899089908990600401612af7565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b505050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111a9576111a96128d4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611acc57611acc6128d4565b60209081029190910101526000611b247f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e1401001400000000000000000000000000000000000000000000000000000061171d565b60601c949350505050565b606081601081901b6000611b4283611d55565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615611b9d57611b987fffffffffffffffffffffffffffff0000000000000000000000000000000000008416611d6c565b611bd4565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615611bfb57611bf683611d6c565b611c32565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611c4493929190612b3e565b6040516020818303038152906040529350505050919050565b6000610aae611c6c8686611df2565b60ff858116601b0360080285901c16611c858587611e48565b611e79565b60008383604051602001611c9f929190612bcc565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b600061066e611d198484611eca565b5490565b60405160208101601f19603f848401011660405282825261112385858584611f20565b610d6b8585611d4f8487611e48565b85611fec565b6000611d6360706010612974565b9190911b919050565b606060005b6010811015611dc2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615611dc257600101611d71565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610640565b60008282604051602001611e07929190612bcc565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561112357611e6f60ff601b83900360080287901c1683612974565b9150600101611e4d565b600060208210611e9f57602082048401935060208281611e9b57611e9b612c08565b0691505b508254600882021b602082900380841115611123576001850154600882021c82179150509392505050565b60008282604051602001611edf929190612bcc565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b8215611fa75760208310611f4a57602083048401935060208381611f4657611f46612c08565b0692505b8215611fa7576020839003600081841015611f6d5750600019600884021c611f77565b50600019600882021c5b8554600886021b818451168219821617845250818411611f98575050610496565b50600194909401939182900391015b5b60208210611fc95783548152600190930192601f1990910190602001611fa8565b8115610496576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361207657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161206993929190612c1e565b60405180910390a2610496565b60006120828585611df2565b9050600061208f86612287565b905060005b81518110156121645760008282815181106120b1576120b16128d4565b602002602001015190506120dd6004826affffffffffffffffffffff191661231090919063ffffffff16565b1561215b576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612128908b908b908b908b90600401612c51565b600060405180830381600087803b15801561214257600080fd5b505af1158015612156573d6000803e3d6000fd5b505050505b50600101612094565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161219993929190612c1e565b60405180910390a26121b4828565ffffffffffff168561232e565b60005b8151811015610c085760008282815181106121d4576121d46128d4565b602002602001015190506122006008826affffffffffffffffffffff191661231090919063ffffffff16565b1561227e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061224b908b908b908b908b90600401612c51565b600060405180830381600087803b15801561226557600080fd5b505af1158015612279573d6000803e3d6000fd5b505050505b506001016121b7565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106122c1576122c16128d4565b602090810291909101015260006122f97f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611905565b905061064061230b8260008451612344565b6123d2565b60008160ff16826123218560581c90565b1660ff1614905092915050565b6104c98383835161233f8560200190565b6123e3565b6000818311806123545750835182115b15612391578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161041293929190612c8a565b6020840161239f8482612974565b905060006123ad8585612caf565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061066e83601560006124a2565b821561245d576020831061240d5760208304840193506020838161240957612409612c08565b0692505b821561245d5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161244e575050610496565b50600194909401939182900391015b5b6020821061247f5780518455600190930192601f199091019060200161245e565b8115610496576000600019600884021c8554835182191691161785555050505050565b606060006124b08560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816124d6576124d6612c08565b04905060405193506020840160208202810160405281855260005b82811015612511578451871c8252938701936020909101906001016124f1565b50505050509392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146104df57600080fd5b60006020828403121561255d57600080fd5b813561066e8161251d565b60005b8381101561258357818101518382015260200161256b565b50506000910152565b600081518084526125a4816020860160208601612568565b601f01601f19169290920160200192915050565b60208152600061066e602083018461258c565b6000602082840312156125dd57600080fd5b5035919050565b80356001600160a01b038116811461190057600080fd5b6000806040838503121561260e57600080fd5b612617836125e4565b946020939093013593505050565b60008060006060848603121561263a57600080fd5b612643846125e4565b9250612651602085016125e4565b9150604084013590509250925092565b60006020828403121561267357600080fd5b61066e826125e4565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126bb576126bb61267c565b604052919050565b600067ffffffffffffffff8211156126dd576126dd61267c565b50601f01601f191660200190565b600082601f8301126126fc57600080fd5b813561270f61270a826126c3565b612692565b81815284602083860101111561272457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561275657600080fd5b61275f846125e4565b925060208401359150604084013567ffffffffffffffff81111561278257600080fd5b61278e868287016126eb565b9150509250925092565b600080604083850312156127ab57600080fd5b6127b4836125e4565b9150602083013580151581146127c957600080fd5b809150509250929050565b600080600080608085870312156127ea57600080fd5b6127f3856125e4565b9350612801602086016125e4565b925060408501359150606085013567ffffffffffffffff81111561282457600080fd5b612830878288016126eb565b91505092959194509250565b6000806040838503121561284f57600080fd5b612858836125e4565b9150612866602084016125e4565b90509250929050565b60008351612881818460208801612568565b835190830190612895818360208801612568565b01949350505050565b85815284602082015283604082015282606082015260a0608082015260006128c960a083018461258c565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b848152836020820152826040820152608060608201526000610f45608083018461258c565b60006001600160a01b03808716835280861660208401525083604083015260806060830152610f45608083018461258c565b60006020828403121561295357600080fd5b815161066e8161251d565b634e487b7160e01b600052601160045260246000fd5b808201808211156103925761039261295e565b60008151808452602080850194506020840160005b838110156129b85781518752958201959082019060010161299c565b509495945050505050565b8381526060602082015260006129dc6060830185612987565b905060ff83166040830152949350505050565b600060208284031215612a0157600080fd5b815167ffffffffffffffff811115612a1857600080fd5b8201601f81018413612a2957600080fd5b8051612a3761270a826126c3565b818152856020838501011115612a4c57600080fd5b610aae826020830160208601612568565b80516020808301519190811015612a7e576000198160200360031b1b821691505b50919050565b604081526000612a97604083018561258c565b90506001600160a01b03831660208301529392505050565b848152608060208201526000612ac86080830186612987565b60ff949094166040830152506060015292915050565b600060208284031215612af057600080fd5b5051919050565b85815260a060208201526000612b1060a0830187612987565b60ff861660408401528281036060840152612b2b818661258c565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612b9f816003860160208901612568565b808401905081600382015284519150612bbf826004830160208801612568565b0160040195945050505050565b8281526000602080830184516020860160005b82811015612bfb57815184529284019290840190600101612bdf565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000612c316060830186612987565b65ffffffffffff851660208401528281036040840152610f45818561258c565b848152608060208201526000612c6a6080830186612987565b65ffffffffffff8516604084015282810360608401526128c9818561258c565b606081526000612c9d606083018661258c565b60208301949094525060400152919050565b818103818111156103925761039261295e56fea264697066735822122023d476b4865f864378233084d8c7119de19b206976e8d565a1d8fcfdb1e28f9564736f6c63430008180033","sourceMap":"1200:17688:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:117;;;;;;:::i;:::-;;:::i;:::-;;;611:14:341;;604:22;586:41;;574:2;559:18;2331:198:117;;;;;;;;1832:132:65;;;:::i;:::-;;;;;;;:::i;3135:144::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1802:55:341;;;1784:74;;1772:2;1757:18;3135:144:65;1638:226:341;2975:107:65;;;;;;:::i;:::-;;:::i;:::-;;1262:113:117;;;:::i;3777:536:65:-;;;;;;:::i;:::-;;:::i;4996:108::-;;;;;;:::i;:::-;;:::i;4371:126::-;;;;;;:::i;:::-;;:::i;6159:84::-;;;;;;:::i;:::-;;:::i;1616:110:117:-;3800:14;-1:-1:-1;;3796:25:117;3783:39;1616:110;;;2808:25:341;;;2796:2;2781:18;1616:110:117;2662:177:341;1666:112:65;;;;;;:::i;:::-;;:::i;1394:223::-;;;;;;:::i;:::-;;:::i;5791:141::-;;;;;;:::i;:::-;;:::i;2020:136::-;;;:::i;5470:112::-;;;;;;:::i;:::-;;:::i;3338:138::-;;;;;;:::i;:::-;;:::i;4555:198::-;;;;;;:::i;:::-;;:::i;2214:402::-;;;;;;:::i;:::-;;:::i;1942:98:117:-;;;:::i;3534:189:65:-;;;;;;:::i;:::-;;:::i;2331:198:117:-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:117;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:117:o;1832:132:65:-;1877:13;1905:54;1928:30;1945:12;:10;:12::i;:::-;1928:16;:30::i;:::-;1905:22;:54::i;:::-;1898:61;;1832:132;:::o;3135:144::-;3202:7;3217:22;3231:7;3217:13;:22::i;:::-;;3253:21;3266:7;3253:12;:21::i;2975:107::-;3042:35;3051:2;3055:7;3064:12;:10;:12::i;:::-;3042:8;:35::i;:::-;2975:107;;:::o;1262:113:117:-;1305:14;1334:36;:34;:36::i;3777:536:65:-;-1:-1:-1;;;;;3867:16:65;;3863:77;;3900:33;;-1:-1:-1;;;3900:33:65;;3930:1;3900:33;;;1784:74:341;1757:18;;3900:33:65;;;;;;;;3863:77;4146:21;4170:34;4178:2;4182:7;4191:12;:10;:12::i;:::-;4170:7;:34::i;:::-;4146:58;;4231:4;-1:-1:-1;;;;;4214:21:65;:13;-1:-1:-1;;;;;4214:21:65;;4210:99;;4252:50;;;;;-1:-1:-1;;;;;6187:15:341;;;4252:50:65;;;6169:34:341;6219:18;;;6212:34;;;6282:15;;6262:18;;;6255:43;6081:18;;4252:50:65;5906:398:341;4210:99:65;3857:456;3777:536;;;:::o;4996:108::-;5060:15;:13;:15::i;:::-;5081:18;5087:2;5091:7;5081:5;:18::i;4371:126::-;4453:39;4470:4;4476:2;4480:7;4453:39;;;;;;;;;;;;:16;:39::i;:::-;4371:126;;;:::o;6159:84::-;6203:15;:13;:15::i;:::-;6224:14;6230:7;6224:5;:14::i;:::-;6159:84;:::o;1666:112::-;1729:7;1751:22;1765:7;1751:13;:22::i;1394:223::-;1457:7;-1:-1:-1;;;;;1476:19:65;;1472:77;;1512:30;;;;;1539:1;1512:30;;;1784:74:341;1757:18;;1512:30:65;1638:226:341;1472:77:65;1561:51;1574:30;1591:12;:10;:12::i;:::-;1574:16;:30::i;:::-;1606:5;1561:12;:51::i;5791:141::-;5878:15;:13;:15::i;:::-;5899:28;5909:2;5913:7;5922:4;5899:9;:28::i;2020:136::-;2067:13;2095:56;2120:30;2137:12;:10;:12::i;2120:30::-;2095:24;:56::i;5470:112::-;5530:15;:13;:15::i;:::-;5551:26;5561:2;5565:7;5551:26;;;;;;;;;;;;:9;:26::i;3338:138::-;3419:52;3438:12;:10;:12::i;:::-;3452:8;3462;3419:18;:52::i;4555:198::-;4664:31;4677:4;4683:2;4687:7;4664:12;:31::i;:::-;4701:47;4724:4;4730:2;4734:7;4743:4;4701:22;:47::i;2214:402::-;2278:13;2299:22;2313:7;2299:13;:22::i;:::-;;2328:21;2352:10;:8;:10::i;:::-;2328:34;;2368:23;2394:53;2407:30;2424:12;:10;:12::i;:::-;2407:16;:30::i;:::-;2439:7;2394:12;:53::i;:::-;2368:79;;2491:1;2471:9;2465:23;:27;:60;;2507:18;:7;:16;:18::i;:::-;2465:60;;;2495:9;2465:60;2453:72;;2562:1;2544:7;2538:21;:25;:73;;2602:9;2538:73;;;2580:7;2589:9;2566:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2538:73;2531:80;2214:402;-1:-1:-1;;;;2214:402:65:o;1942:98:117:-;1981:7;2003:32;:30;:32::i;3534:189:65:-;3622:4;3641:77;3662:38;3687:12;:10;:12::i;:::-;3662:24;:38::i;:::-;3702:5;3709:8;3641:20;:77::i;:::-;3634:84;3534:189;-1:-1:-1;;;3534:189:65:o;18588:166::-;18633:17;18658:19;18680:33;18707:4;18680:18;:33::i;:::-;18658:55;;18726:23;:8;451:5:32;2637:44:118;;2539:148;18726:23:65;18719:30;;;18588:166;:::o;709:181:80:-;768:10;791:96;-1:-1:-1;;;854:9:80;871:13;791:25;:96::i;2512:244:74:-;2628:16;;;2599:26;2628:16;;;;;;;;;2573:18;;2672:51;2700:8;2628:16;2599:26;2672:27;:51::i;17196:217:65:-;17259:7;17274:13;17290:17;17299:7;17290:8;:17::i;:::-;17274:33;-1:-1:-1;;;;;;17317:19:65;;17313:78;;17353:31;;;;;;;;2808:25:341;;;2781:18;;17353:31:65;2662:177:341;6989:160:65;7059:7;7081:63;7099:35;7121:12;:10;:12::i;:::-;7099:21;:35::i;:::-;7136:7;7081:17;:63::i;15347:114::-;15423:33;15432:2;15436:7;15445:4;15451;15423:8;:33::i;2992:383:117:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:117;3325:45;2992:383;:::o;9885:985:65:-;9971:7;9986:25;10014:30;10031:12;:10;:12::i;10014:30::-;9986:58;;10050:12;10065:17;10074:7;10065:8;:17::i;:::-;10050:32;-1:-1:-1;;;;;;10134:18:65;;;10130:76;;10162:37;10179:4;10185;10191:7;10162:16;:37::i;:::-;-1:-1:-1;;;;;10242:18:65;;;10238:274;;10346:48;10363:1;10367:7;10384:1;10388:5;10346:8;:48::i;:::-;10423:74;10436:14;10452:4;10495:1;10458:34;10471:14;10487:4;10458:12;:34::i;:::-;:38;10423:12;:74::i;:::-;-1:-1:-1;;;;;10522:16:65;;;10518:135;;10568:70;10581:14;10597:2;10601:32;10614:14;10630:2;10601:12;:32::i;:::-;10636:1;10601:36;10568:12;:70::i;:::-;10659:53;10670:28;10685:12;:10;:12::i;:::-;10670:14;:28::i;:::-;10700:7;10709:2;10659:10;:53::i;:::-;10756:8;:6;:8::i;:::-;-1:-1:-1;;;;;10756:12:65;;10769:17;10788:13;10796:4;-1:-1:-1;;;;;133:23:89;;59:101;10788:13:65;10834:12;;;10844:1;10834:12;;;;;;;;;10756:91;;;;;;;;;;;;;-1:-1:-1;;;;;133:23:89;;;10824:7:65;;10756:91;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10861:4:65;;9885:985;-1:-1:-1;;;;;;;;9885:985:65:o;18758:128::-;18803:78;18833:33;18860:4;18833:18;:33::i;:::-;18868:12;:10;:12::i;:::-;18803:29;:78::i;:::-;18758:128::o;11166:293::-;-1:-1:-1;;;;;11229:16:65;;11225:77;;11262:33;;-1:-1:-1;;;11262:33:65;;11292:1;11262:33;;;1784:74:341;1757:18;;11262:33:65;1638:226:341;11225:77:65;11307:21;11331:32;11339:2;11343:7;11360:1;11331:7;:32::i;:::-;11307:56;-1:-1:-1;;;;;;11373:27:65;;;11369:86;;11417:31;;;;;11445:1;11417:31;;;1784:74:341;1757:18;;11417:31:65;1638:226:341;12567:207:65;12614:21;12638:40;12654:1;12658:7;12675:1;12638:7;:40::i;:::-;12614:64;-1:-1:-1;;;;;;12688:27:65;;12684:86;;12732:31;;;;;;;;2808:25:341;;;2781:18;;12732:31:65;2662:177:341;526:181:80;585:10;608:96;-1:-1:-1;;;671:9:80;688:13;608:25;:96::i;3126:325:98:-;3250:16;;;3264:1;3250:16;;;;;;;;;3200:13;;;;3250:16;;;;;;;;;;;;-1:-1:-1;3250:16:98;3221:45;;3311:7;-1:-1:-1;;;;;3295:25:98;3287:34;;3272:9;3282:1;3272:12;;;;;;;;:::i;:::-;;;;;;;;;;:49;3328:13;3344:64;3371:8;3381:9;3328:13;951:66;3344:26;:64::i;:::-;3328:80;3126:325;-1:-1:-1;;;;;3126:325:98:o;12093:172:65:-;12183:18;12189:2;12193:7;12183:5;:18::i;:::-;12207:53;12238:1;12242:2;12246:7;12255:4;12207:22;:53::i;6843:248:74:-;6963:16;;;6934:26;6963:16;;;;;;;;;6906:20;;7007:51;7035:8;6963:16;7056:1;7007:27;:51::i;16554:421:65:-;-1:-1:-1;;;;;16657:22:65;;16653:81;;16696:31;;;;;-1:-1:-1;;;;;1802:55:341;;16696:31:65;;;1784:74:341;1757:18;;16696:31:65;1638:226:341;16653:81:65;16739:87;16760:38;16785:12;:10;:12::i;16760:38::-;16800:5;16807:8;16817;16739:20;:87::i;:::-;16876:8;:6;:8::i;:::-;-1:-1:-1;;;;;16876:12:65;;16889:23;16914:14;16922:5;-1:-1:-1;;;;;133:23:89;;59:101;16914:14:65;-1:-1:-1;;;;;133:23:89;;16949:20:65;;;611:14:341;;604:22;16949:20:65;;;586:41:341;559:18;16949:20:65;;;;;;;;;;;;16876:94;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16554:421;;;:::o;17932:652::-;-1:-1:-1;;;;;18044:14:65;;;:18;18040:540;;18092:2;-1:-1:-1;;;;;18076:36:65;;18113:12;:10;:12::i;:::-;18127:4;18133:7;18142:4;18076:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18076:71:65;;;;;;;;-1:-1:-1;;18076:71:65;;;;;;;;;;;;:::i;:::-;;;18072:502;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18345:6;:13;18362:1;18345:18;18341:225;;18384:25;;-1:-1:-1;;;18384:25:65;;-1:-1:-1;;;;;1802:55:341;;18384:25:65;;;1784:74:341;1757:18;;18384:25:65;1638:226:341;18341:225:65;18536:6;18530:13;18521:6;18517:2;18513:15;18506:38;18072:502;18186:51;;;18196:41;18186:51;18182:112;;18258:25;;-1:-1:-1;;;18258:25:65;;-1:-1:-1;;;;;1802:55:341;;18258:25:65;;;1784:74:341;1757:18;;18258:25:65;1638:226:341;18182:112:65;18148:154;17932:652;;;;:::o;2785:141::-;2836:13;2864:57;2890:30;2907:12;:10;:12::i;2890:30::-;2864:25;:57::i;1465:182:80:-;1524:10;1547:97;-1:-1:-1;;;1610:9:80;1627:14;1547:25;:97::i;3107:307:79:-;3240:16;;;3254:1;3240:16;;;;;;;;;3181:22;;3211:26;;3240:16;;;;;;;;;;;;-1:-1:-1;3240:16:79;3211:45;;3293:7;3277:25;;3262:9;3272:1;3262:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;3309:18;3330:51;3358:8;3368:9;3379:1;3330:27;:51::i;1181:1894:72:-;1237:17;1677:3;1670:4;1664:11;1660:21;1774:20;1768:4;1761:34;1906:2;1884:20;1880:29;1873:36;;;1995:1;1990:3;1983:14;2084:3;2294:5;2276:477;2397:1;2392:3;2388:11;2381:18;;2566:2;2560:4;2556:13;2552:2;2548:22;2543:3;2535:36;2657:2;2647:13;;2714:25;2276:477;2714:25;-1:-1:-1;2840:13:72;;;-1:-1:-1;;2942:12:72;;;3046:19;;;2942:12;1181:1894;-1:-1:-1;1181:1894:72:o;4048:97:117:-;4089:7;4111:29;:27;:29::i;892:198:80:-;959:10;982:105;-1:-1:-1;;;1045:9:80;1062:22;982:25;:105::i;3338:401:76:-;3478:16;;;3492:1;3478:16;;;;;;;;3428:13;;;;3478:16;3492:1;3478:16;;;;;;;;;;-1:-1:-1;3478:16:76;3449:45;;3539:5;-1:-1:-1;;;;;3523:23:76;3515:32;;3500:9;3510:1;3500:12;;;;;;;;:::i;:::-;;;;;;:47;;;;;3592:8;-1:-1:-1;;;;;3576:26:76;3568:35;;3553:9;3563:1;3553:12;;;;;;;;:::i;:::-;;;;;;;;;;:50;3610:13;3626:64;3653:8;3663:9;3610:13;959:66;3626:26;:64::i;:::-;3610:80;;3704:29;3725:5;3712:20;;8125:5;8039:97;3704:29;3696:38;3338:401;-1:-1:-1;;;;;;3338:401:76:o;3430:314:136:-;3538:16;;;3552:1;3538:16;;;;;;;;;3482:19;;;;3538:16;;;;;;;;;;;;-1:-1:-1;3538:16:136;3509:45;;3599:6;-1:-1:-1;;;;;3583:24:136;3575:33;;3560:9;3570:1;3560:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3615:13;3631:64;1169:66;3668:9;3615:13;1298:66;3631:26;:64::i;1046:257:118:-;1133:10;1262:26;438:6;451:5:32;1262:26:118;:::i;:::-;1189:15;;;1208:31;451:5:32;1208:31:118;;;;1189:51;-1:-1:-1;;1244:13:118;;:45;;;1189:101;;-1:-1:-1;1046:257:118;;;;;:::o;18598:431:37:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:37;-1:-1:-1;;;;;18805:30:37;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:37;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:37;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;6739:142:65:-;6805:7;6827:49;6838:28;6853:12;:10;:12::i;1271:192:80:-;1335:10;1358:102;-1:-1:-1;;;1421:9:80;1438:19;1358:25;:102::i;3129:318:78:-;3255:16;;;3269:1;3255:16;;;;;;;;;3203:15;;;;3255:16;;;;;;;;;;;;-1:-1:-1;3255:16:78;3226:45;;3308:7;3292:25;;3277:9;3287:1;3277:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3324:13;3340:64;3367:8;3377:9;3324:13;956:66;3340:26;:64::i;:::-;3418:23;;;3129:318;-1:-1:-1;;;;;3129:318:78:o;15633:730:65:-;15785:9;:31;;;-1:-1:-1;;;;;;15798:18:65;;;;15785:31;15781:504;;;15826:13;15842:22;15856:7;15842:13;:22::i;:::-;15826:38;-1:-1:-1;;;;;;15980:18:65;;;;;;:35;;;16011:4;-1:-1:-1;;;;;16002:13:65;:5;-1:-1:-1;;;;;16002:13:65;;;15980:35;:69;;;;;16020:29;16037:5;16044:4;16020:16;:29::i;:::-;16019:30;15980:69;15976:128;;;16068:27;;;;;-1:-1:-1;;;;;1802:55:341;;16068:27:65;;;1784:74:341;1757:18;;16068:27:65;1638:226:341;15976:128:65;16116:9;16112:167;;;16178:8;:6;:8::i;:::-;-1:-1:-1;;;;;16178:12:65;;16191:17;16210:14;16218:5;-1:-1:-1;;;;;133:23:89;;59:101;16210:14:65;16257:12;;;16267:1;16257:12;;;;;;;;;16178:92;;;;;;;;;;;;;-1:-1:-1;;;;;133:23:89;;;16247:7:65;;16178:92;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16112:167;15818:467;15781:504;16291:67;16309:35;16331:12;:10;:12::i;16309:35::-;16346:7;16355:2;16291:17;:67::i;8114:324::-;8222:38;8236:5;8243:7;8252;8222:13;:38::i;:::-;8217:217;;-1:-1:-1;;;;;8274:19:65;;8270:158;;8312:31;;;;;;;;2808:25:341;;;2781:18;;8312:31:65;2662:177:341;8270:158:65;8375:44;;;;;-1:-1:-1;;;;;10771:55:341;;8375:44:65;;;10753:74:341;10843:18;;;10836:34;;;10726:18;;8375:44:65;10579:297:341;4512:284:98;4622:16;;;4636:1;4622:16;;;;;;;;;4593:26;;4622:16;;;;;;;;;;;-1:-1:-1;4622:16:98;4593:45;;4683:7;-1:-1:-1;;;;;4667:25:98;4659:34;;4644:9;4654:1;4644:12;;;;;;;;:::i;:::-;;;;;;:49;;;;;4700:91;4727:8;4737:9;4748:1;4769:5;4751:25;;;;;;11010:19:341;;11054:2;11045:12;;10881:182;4751:25:98;;;;-1:-1:-1;;4751:25:98;;;;;;;;;951:66;4700:26;:91::i;1092:177:80:-;1149:10;1172:94;-1:-1:-1;;;1235:9:80;1252:11;1172:25;:94::i;4456:275:77:-;4566:16;;;4580:1;4566:16;;;;;;;;;4537:26;;4566:16;;;;;;;;;;;-1:-1:-1;4566:16:77;4537:45;;4619:7;4603:25;;4588:9;4598:1;4588:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4635:91;4662:8;4672:9;4683:1;4704:5;4686:25;;;;;;;11217:2:341;11213:15;;;;11230:66;11209:88;11197:101;;11323:2;11314:12;;11068:264;4686:25:77;;;;-1:-1:-1;;4686:25:77;;;;;;;;;949:66;4635:26;:91::i;471:324:84:-;512:6;526:19;548:41;583:4;548:26;:41::i;:::-;875:70:86;;;-1:-1:-1;;;875:70:86;;;11520:92:341;405:17:86;11628:11:341;;;11621:100;919:25:86;11737:12:341;;;11730:101;526:63:84;;-1:-1:-1;595:21:84;;619:45;;11847:12:341;875:70:86;;;;;;;;;;;;867:79;;;:::i;:::-;655:8:84;619:18;:45::i;:::-;595:69;-1:-1:-1;;;;;;674:27:84;;670:86;;710:46;;;;;740:4;710:46;;;10753:74:341;10843:18;;;10836:34;;;10726:18;;710:46:84;10579:297:341;2292:232:100;-1:-1:-1;;;;;2377:57:100;;:47;696:18:143;578:36:118;2955:46;;2954:74;2377:18:100;:47::i;:::-;-1:-1:-1;;;;;2377:57:100;;2373:147;;2483:21;:10;:19;:21::i;:::-;2506:6;2451:62;;;;;;;;;;;;:::i;17775:457:37:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:37;-1:-1:-1;;;;;17998:30:37;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:37;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5040:357:76:-;5166:16;;;5180:1;5166:16;;;;;;;;5137:26;;5166:16;;;;;;;;;;-1:-1:-1;5166:16:76;5137:45;;5227:5;-1:-1:-1;;;;;5211:23:76;5203:32;;5188:9;5198:1;5188:12;;;;;;;;:::i;:::-;;;;;;:47;;;;;5280:8;-1:-1:-1;;;;;5264:26:76;5256:35;;5241:9;5251:1;5241:12;;;;;;;;:::i;:::-;;;;;;:50;;;;;5298:94;5325:8;5335:9;5346:1;5367:8;5349:28;;;;;;13801:14:341;13794:22;13789:3;13785:32;13773:45;;13843:1;13834:11;;13650:201;5349:28:76;;;;-1:-1:-1;;5349:28:76;;;;;;;;;959:66;5298:26;:94::i;11241:250:74:-;11363:16;;;11334:26;11363:16;;;;;;;;;11305:21;;11407:51;11435:8;11363:16;11456:1;11407:27;:51::i;1836:227:37:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:37;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:37:o;37180:522:36:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:36;37440:12;:257::i;7444:254:65:-;7547:4;-1:-1:-1;;;;;7572:21:65;;;;;;:121;;;7613:7;-1:-1:-1;;;;;7604:16:65;:5;-1:-1:-1;;;;;7604:16:65;;:52;;;;7624:32;7641:5;7648:7;7624:16;:32::i;:::-;7604:88;;;;7685:7;-1:-1:-1;;;;;7660:32:65;:21;7673:7;7660:12;:21::i;:::-;-1:-1:-1;;;;;7660:32:65;;;7444:254;-1:-1:-1;;;;7444:254:65:o;10761:455:37:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:37;-1:-1:-1;;;;;10984:30:37;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:37;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10980:232;10927:289;10761:455;;;;;:::o;3224:323:88:-;3353:16;;;3367:1;3353:16;;;;;;;;;3302:14;;;;3353:16;;;;;;;;;;;;-1:-1:-1;3353:16:88;3324:45;;3408:8;3375:9;3385:1;3375:12;;;;;;;;:::i;3403:307:133:-;3513:16;;;3527:1;3513:16;;;;;;;;;3463:13;;;;3513:16;;;;;;;;;;;;-1:-1:-1;3513:16:133;3484:45;;3568:11;3535:9;3545:1;3535:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3587:13;3603:64;1169:66;3640:9;3587:13;1298:66;3603:26;:64::i;:::-;3681:23;;;3403:307;-1:-1:-1;;;;3403:307:133:o;3486:592:118:-;3550:13;3620:10;451:5:32;2637:44:118;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:118;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:118;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;36171:541:36:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:16;:27;579:1:43;4322:44:16;4288:79;;;4275:93;36635:63:36;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;52742:274::-;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;53939:303::-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:35;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:35;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;23107:355:36:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;3165:160:118:-;3228:7;3292:26;438:6;451:5:32;3292:26:118;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:118:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:118;;3261:1:14;3257:13;;3253:24;2007:42:118;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;16284:79:341;;2092:30:118;;;16272:92:341;2092:30:118;;16380:12:341;;;;2092:30:118;;;875:21:14;;;2092:30:118;2142:39;760:164:14;50806:191:36;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:36;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:36:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:16;4323:19;:27;;;579:1:43;4322:44:16;4288:79;;;4275:93;52003:32:36;;:::i;:::-;;-1:-1:-1;51990:3:36;;51958:84;;8945:812:35;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:35;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;53371:230:36:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:36;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:36:o;6076:2380:35:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:43;804:25:44;;782:48;6806:135:35;;;-1:-1:-1;;;579:1:43;804:25:44;;782:48;6806:135:35;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:35;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:35;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:43;804:25:44;;782:48;8389:20:35;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:35;;;;:::o;17013:1682:36:-;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:45;17798:4:36;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:17;;;;;17851:54:36;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:36;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:45;18455:4:36;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:17;;;;;18507:53:36;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:36;;18365:326;;3658:342:41;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:41;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:17:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:35:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::31;884:15;;758:151;1098:24:35;1055:5;:68::i;2003:574:34:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:34;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:34:o;40103:220:47:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:35:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:43;804:25:44;;782:48;2208:18:35;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:35;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:35;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:43;804:25:44;;782:48;3761:21:35;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:35;;;;:::o;2681:1129:49:-;2801:22;2831:21;2855;:11;2997:3:34;2975:25;;2901:104;2855:21:49;2831:45;-1:-1:-1;692:17:34;3238:38;;2882:20:49;3044:11;3238:38:34;3044:11:49;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;14:177:341:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;638:250::-;723:1;733:113;747:6;744:1;741:13;733:113;;;823:11;;;817:18;804:11;;;797:39;769:2;762:10;733:113;;;-1:-1:-1;;880:1:341;862:16;;855:27;638:250::o;893:330::-;935:3;973:5;967:12;1000:6;995:3;988:19;1016:76;1085:6;1078:4;1073:3;1069:14;1062:4;1055:5;1051:16;1016:76;:::i;:::-;1137:2;1125:15;-1:-1:-1;;1121:88:341;1112:98;;;;1212:4;1108:109;;893:330;-1:-1:-1;;893:330:341:o;1228:220::-;1377:2;1366:9;1359:21;1340:4;1397:45;1438:2;1427:9;1423:18;1415:6;1397:45;:::i;1453:180::-;1512:6;1565:2;1553:9;1544:7;1540:23;1536:32;1533:52;;;1581:1;1578;1571:12;1533:52;-1:-1:-1;1604:23:341;;1453:180;-1:-1:-1;1453:180:341:o;1869:196::-;1937:20;;-1:-1:-1;;;;;1986:54:341;;1976:65;;1966:93;;2055:1;2052;2045:12;2070:254;2138:6;2146;2199:2;2187:9;2178:7;2174:23;2170:32;2167:52;;;2215:1;2212;2205:12;2167:52;2238:29;2257:9;2238:29;:::i;:::-;2228:39;2314:2;2299:18;;;;2286:32;;-1:-1:-1;;;2070:254:341:o;2329:328::-;2406:6;2414;2422;2475:2;2463:9;2454:7;2450:23;2446:32;2443:52;;;2491:1;2488;2481:12;2443:52;2514:29;2533:9;2514:29;:::i;:::-;2504:39;;2562:38;2596:2;2585:9;2581:18;2562:38;:::i;:::-;2552:48;;2647:2;2636:9;2632:18;2619:32;2609:42;;2329:328;;;;;:::o;2844:186::-;2903:6;2956:2;2944:9;2935:7;2931:23;2927:32;2924:52;;;2972:1;2969;2962:12;2924:52;2995:29;3014:9;2995:29;:::i;3035:184::-;-1:-1:-1;;;3084:1:341;3077:88;3184:4;3181:1;3174:15;3208:4;3205:1;3198:15;3224:334;3295:2;3289:9;3351:2;3341:13;;-1:-1:-1;;3337:86:341;3325:99;;3454:18;3439:34;;3475:22;;;3436:62;3433:88;;;3501:18;;:::i;:::-;3537:2;3530:22;3224:334;;-1:-1:-1;3224:334:341:o;3563:245::-;3611:4;3644:18;3636:6;3633:30;3630:56;;;3666:18;;:::i;:::-;-1:-1:-1;3723:2:341;3711:15;-1:-1:-1;;3707:88:341;3797:4;3703:99;;3563:245::o;3813:462::-;3855:5;3908:3;3901:4;3893:6;3889:17;3885:27;3875:55;;3926:1;3923;3916:12;3875:55;3962:6;3949:20;3993:48;4009:31;4037:2;4009:31;:::i;:::-;3993:48;:::i;:::-;4066:2;4057:7;4050:19;4112:3;4105:4;4100:2;4092:6;4088:15;4084:26;4081:35;4078:55;;;4129:1;4126;4119:12;4078:55;4194:2;4187:4;4179:6;4175:17;4168:4;4159:7;4155:18;4142:55;4242:1;4217:16;;;4235:4;4213:27;4206:38;;;;4221:7;3813:462;-1:-1:-1;;;3813:462:341:o;4280:::-;4366:6;4374;4382;4435:2;4423:9;4414:7;4410:23;4406:32;4403:52;;;4451:1;4448;4441:12;4403:52;4474:29;4493:9;4474:29;:::i;:::-;4464:39;;4550:2;4539:9;4535:18;4522:32;4512:42;;4605:2;4594:9;4590:18;4577:32;4632:18;4624:6;4621:30;4618:50;;;4664:1;4661;4654:12;4618:50;4687:49;4728:7;4719:6;4708:9;4704:22;4687:49;:::i;:::-;4677:59;;;4280:462;;;;;:::o;4747:347::-;4812:6;4820;4873:2;4861:9;4852:7;4848:23;4844:32;4841:52;;;4889:1;4886;4879:12;4841:52;4912:29;4931:9;4912:29;:::i;:::-;4902:39;;4991:2;4980:9;4976:18;4963:32;5038:5;5031:13;5024:21;5017:5;5014:32;5004:60;;5060:1;5057;5050:12;5004:60;5083:5;5073:15;;;4747:347;;;;;:::o;5099:537::-;5194:6;5202;5210;5218;5271:3;5259:9;5250:7;5246:23;5242:33;5239:53;;;5288:1;5285;5278:12;5239:53;5311:29;5330:9;5311:29;:::i;:::-;5301:39;;5359:38;5393:2;5382:9;5378:18;5359:38;:::i;:::-;5349:48;;5444:2;5433:9;5429:18;5416:32;5406:42;;5499:2;5488:9;5484:18;5471:32;5526:18;5518:6;5515:30;5512:50;;;5558:1;5555;5548:12;5512:50;5581:49;5622:7;5613:6;5602:9;5598:22;5581:49;:::i;:::-;5571:59;;;5099:537;;;;;;;:::o;5641:260::-;5709:6;5717;5770:2;5758:9;5749:7;5745:23;5741:32;5738:52;;;5786:1;5783;5776:12;5738:52;5809:29;5828:9;5809:29;:::i;:::-;5799:39;;5857:38;5891:2;5880:9;5876:18;5857:38;:::i;:::-;5847:48;;5641:260;;;;;:::o;6309:496::-;6488:3;6526:6;6520:13;6542:66;6601:6;6596:3;6589:4;6581:6;6577:17;6542:66;:::i;:::-;6671:13;;6630:16;;;;6693:70;6671:13;6630:16;6740:4;6728:17;;6693:70;:::i;:::-;6779:20;;6309:496;-1:-1:-1;;;;6309:496:341:o;6810:505::-;7069:6;7058:9;7051:25;7112:6;7107:2;7096:9;7092:18;7085:34;7155:6;7150:2;7139:9;7135:18;7128:34;7198:6;7193:2;7182:9;7178:18;7171:34;7242:3;7236;7225:9;7221:19;7214:32;7032:4;7263:46;7304:3;7293:9;7289:19;7281:6;7263:46;:::i;:::-;7255:54;6810:505;-1:-1:-1;;;;;;;6810:505:341:o;7320:184::-;-1:-1:-1;;;7369:1:341;7362:88;7469:4;7466:1;7459:15;7493:4;7490:1;7483:15;7509:433;7740:6;7729:9;7722:25;7783:6;7778:2;7767:9;7763:18;7756:34;7826:6;7821:2;7810:9;7806:18;7799:34;7869:3;7864:2;7853:9;7849:18;7842:31;7703:4;7890:46;7931:3;7920:9;7916:19;7908:6;7890:46;:::i;7947:512::-;8141:4;-1:-1:-1;;;;;8251:2:341;8243:6;8239:15;8228:9;8221:34;8303:2;8295:6;8291:15;8286:2;8275:9;8271:18;8264:43;;8343:6;8338:2;8327:9;8323:18;8316:34;8386:3;8381:2;8370:9;8366:18;8359:31;8407:46;8448:3;8437:9;8433:19;8425:6;8407:46;:::i;8464:249::-;8533:6;8586:2;8574:9;8565:7;8561:23;8557:32;8554:52;;;8602:1;8599;8592:12;8554:52;8634:9;8628:16;8653:30;8677:5;8653:30;:::i;8718:184::-;-1:-1:-1;;;8767:1:341;8760:88;8867:4;8864:1;8857:15;8891:4;8888:1;8881:15;8907:125;8972:9;;;8993:10;;;8990:36;;;9006:18;;:::i;9037:439::-;9090:3;9128:5;9122:12;9155:6;9150:3;9143:19;9181:4;9210;9205:3;9201:14;9194:21;;9249:4;9242:5;9238:16;9272:1;9282:169;9296:6;9293:1;9290:13;9282:169;;;9357:13;;9345:26;;9391:12;;;;9426:15;;;;9318:1;9311:9;9282:169;;;-1:-1:-1;9467:3:341;;9037:439;-1:-1:-1;;;;;9037:439:341:o;9481:441::-;9743:6;9732:9;9725:25;9786:2;9781;9770:9;9766:18;9759:30;9706:4;9806:56;9858:2;9847:9;9843:18;9835:6;9806:56;:::i;:::-;9798:64;;9910:4;9902:6;9898:17;9893:2;9882:9;9878:18;9871:45;9481:441;;;;;;:::o;9927:647::-;10006:6;10059:2;10047:9;10038:7;10034:23;10030:32;10027:52;;;10075:1;10072;10065:12;10027:52;10108:9;10102:16;10141:18;10133:6;10130:30;10127:50;;;10173:1;10170;10163:12;10127:50;10196:22;;10249:4;10241:13;;10237:27;-1:-1:-1;10227:55:341;;10278:1;10275;10268:12;10227:55;10307:2;10301:9;10332:48;10348:31;10376:2;10348:31;:::i;10332:48::-;10403:2;10396:5;10389:17;10443:7;10438:2;10433;10429;10425:11;10421:20;10418:33;10415:53;;;10464:1;10461;10454:12;10415:53;10477:67;10541:2;10536;10529:5;10525:14;10520:2;10516;10512:11;10477:67;:::i;11870:357::-;11988:12;;12035:4;12024:16;;;12018:23;;11988:12;12053:16;;12050:171;;;-1:-1:-1;;12133:6:341;12127:4;12123:17;12120:1;12116:25;12112:98;12105:5;12101:110;12092:119;;12050:171;;11870:357;;;:::o;12565:340::-;12742:2;12731:9;12724:21;12705:4;12762:45;12803:2;12792:9;12788:18;12780:6;12762:45;:::i;:::-;12754:53;;-1:-1:-1;;;;;12847:6:341;12843:55;12838:2;12827:9;12823:18;12816:83;12565:340;;;;;:::o;12910:546::-;13232:6;13221:9;13214:25;13275:3;13270:2;13259:9;13255:18;13248:31;13195:4;13296:57;13348:3;13337:9;13333:19;13325:6;13296:57;:::i;:::-;13401:4;13389:17;;;;13384:2;13369:18;;13362:45;-1:-1:-1;13438:2:341;13423:18;13416:34;13288:65;12910:546;-1:-1:-1;;12910:546:341:o;13461:184::-;13531:6;13584:2;13572:9;13563:7;13559:23;13555:32;13552:52;;;13600:1;13597;13590:12;13552:52;-1:-1:-1;13623:16:341;;13461:184;-1:-1:-1;13461:184:341:o;13856:708::-;14224:6;14213:9;14206:25;14267:3;14262:2;14251:9;14247:18;14240:31;14187:4;14294:57;14346:3;14335:9;14331:19;14323:6;14294:57;:::i;:::-;14399:4;14391:6;14387:17;14382:2;14371:9;14367:18;14360:45;14453:9;14445:6;14441:22;14436:2;14425:9;14421:18;14414:50;14481:33;14507:6;14499;14481:33;:::i;:::-;14473:41;;;14551:6;14545:3;14534:9;14530:19;14523:35;13856:708;;;;;;;;:::o;14569:925::-;15018:66;15010:6;15006:79;15001:3;14994:92;14976:3;15105;15137:2;15133:1;15128:3;15124:11;15117:23;15169:6;15163:13;15185:74;15252:6;15248:1;15243:3;15239:11;15232:4;15224:6;15220:17;15185:74;:::i;:::-;15287:6;15282:3;15278:16;15268:26;;15322:2;15318:1;15314:2;15310:10;15303:22;15356:6;15350:13;15334:29;;15372:75;15438:8;15434:1;15430:2;15426:10;15419:4;15411:6;15407:17;15372:75;:::i;:::-;15467:17;15486:1;15463:25;;14569:925;-1:-1:-1;;;;;14569:925:341:o;15499:639::-;15749:6;15744:3;15737:19;15719:3;15775:2;15808;15803:3;15799:12;15840:6;15834:13;15905:2;15897:6;15893:15;15926:1;15936:175;15950:6;15947:1;15944:13;15936:175;;;16013:13;;15999:28;;16049:14;;;;16086:15;;;;15972:1;15965:9;15936:175;;;-1:-1:-1;16127:5:341;;15499:639;-1:-1:-1;;;;;;;15499:639:341:o;16403:184::-;-1:-1:-1;;;16452:1:341;16445:88;16552:4;16549:1;16542:15;16576:4;16573:1;16566:15;16592:512;16843:2;16832:9;16825:21;16806:4;16869:56;16921:2;16910:9;16906:18;16898:6;16869:56;:::i;:::-;16973:14;16965:6;16961:27;16956:2;16945:9;16941:18;16934:55;17037:9;17029:6;17025:22;17020:2;17009:9;17005:18;16998:50;17065:33;17091:6;17083;17065:33;:::i;17109:616::-;17419:6;17408:9;17401:25;17462:3;17457:2;17446:9;17442:18;17435:31;17382:4;17489:57;17541:3;17530:9;17526:19;17518:6;17489:57;:::i;:::-;17594:14;17586:6;17582:27;17577:2;17566:9;17562:18;17555:55;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:33;17712:6;17704;17686:33;:::i;17730:360::-;17933:2;17922:9;17915:21;17896:4;17953:45;17994:2;17983:9;17979:18;17971:6;17953:45;:::i;:::-;18029:2;18014:18;;18007:34;;;;-1:-1:-1;18072:2:341;18057:18;18050:34;17945:53;17730:360;-1:-1:-1;17730:360:341:o;18095:128::-;18162:9;;;18183:11;;;18180:37;;;18197:18;;:::i","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","mint(address,uint256)":"40c10f19","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeMint(address,uint256)":"a1448194","safeMint(address,uint256,bytes)":"8832e6e3","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"systemAddress\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"}],\"name\":\"PuppetMaster_NoPuppet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `tokenId`. The approval is cleared when the token is burned. Requirements: - caller must own the namespace - `tokenId` must exist. Emits a {Transfer} event.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"mint(address,uint256)\":{\"details\":\"Mints `tokenId` and transfers it to `to`. Requirements: - caller must own the namespace - `tokenId` must not exist. - `to` cannot be the zero address. Emits a {Transfer} event.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeMint(address,uint256)\":{\"details\":\"Mints `tokenId`, transfers it to `to` and checks for `to` acceptance. Requirements: - caller must own the namespace - `tokenId` must not exist. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeMint(address,uint256,bytes)\":{\"details\":\"Same as {xref-ERC721-safeMint-address-uint256-}[`safeMint`], with an additional `data` parameter which is forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}]},\"events\":{\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/ERC721System.sol\":\"ERC721System\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":base/=src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/ERC721System.sol\":{\"keccak256\":\"0x98578fcafdd03afd1686661d2297685dd6377be9c8b8adbe43f0116c292585f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66204cef52ff9e2242917483a4cb957990f28cbbd5de5c2e99fdedc9e2905a7c\",\"dweb:/ipfs/QmQEFdPecLmfZZgGJDUqTfuU8GduDU61sAxgaA4YvASQoE\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Receiver.sol\":{\"keccak256\":\"0x62fd44cbfe77f557d2f3bb53f7851ee08e0f547d1a66dc4909b137b79f6b9806\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a15974c235e222bbc301460835b2c73c2203fbabacb53ea21261737be0724fc\",\"dweb:/ipfs/QmbLrBfWMeYQjqBVFBn5yAHrXHuNKeGTWiUwciX4dheAmR\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/libraries/LibString.sol\":{\"keccak256\":\"0xcfa58b9d8de969db85aedb2d4d276e067ce9687d7aad1b4d0cb68c4b1551e281\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3165a316e3bfa292a06f2eb3d244a6181daf75cd3abbb4d673e4091d91a870cb\",\"dweb:/ipfs/QmUSYqbUwC3g3Ai83nyk97iZGDL7M2vMFuDTis5odumXDF\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/ERC721Metadata.sol\":{\"keccak256\":\"0xb0aec142df53cbd8465dc34da6734f92fe96a8d05f16ff368109206676b14978\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e84a1a25ba5f7bbbefbeebd78a863c7234507bbf72fe025144f1ffeec88a488b\",\"dweb:/ipfs/QmVx7DeGeCbwPMXcZ6yph9yLK8f2Riod7hXYfs4tmF55tv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/OperatorApproval.sol\":{\"keccak256\":\"0xbbed481b7ccef9525cd566c8e36f42512c8de94c7431510356b35c853c2764d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://984af22419c3ba9e19775b47cdd981872bb1aff430ebab83752a0ea3f6b6fb79\",\"dweb:/ipfs/Qmdr1FByP2aWAuursvKr126EZhNzT29H4bGs3qx9yacVfg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/Owners.sol\":{\"keccak256\":\"0x189034b75e6ae4d1422205be83c2280bb515acd625863f889bb1a7ae0670b2b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70bbdcab47c980fe519e62d829ad76015c5525d940b942f5a3f8a9108c71f510\",\"dweb:/ipfs/QmZ5ixxJtFScPi6VugYq7jJRgrvmczFzjyLhxEhHTfNcQK\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenApproval.sol\":{\"keccak256\":\"0xde22b2b236bc5046f8ef24b8fb806ba085859628ada159bde90395cd2f0621fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fb05815619dc76c1854c1327d860ce38ed67a02337d8373fd8339538a5e16c\",\"dweb:/ipfs/QmZSJFRdNokt6uTGnonCA4GbAQPWF5d3aeFYj6wtDJaktD\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6\",\"dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8\"]},\"node_modules/@latticexyz/world-modules/src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c\",\"dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm\"]},\"node_modules/@latticexyz/world-modules/src/modules/puppet/constants.sol\":{\"keccak256\":\"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d\",\"dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq\"]},\"node_modules/@latticexyz/world-modules/src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0x37273e42577e71b80621bcaa9132b8f9d28ded452242fb478fd7e52f382b83a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26403866f063923a910cc1e6f4ff7b0e74e4f343b1222675658d1b9a1ecdbe14\",\"dweb:/ipfs/QmSTqLMbg9PvyFkVexVbLPUPLr1aBuBtcfnBZGbqEaje7Q\"]},\"node_modules/@latticexyz/world-modules/src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"node_modules/@latticexyz/world-modules/src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047\",\"dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721IncorrectOwner"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721InsufficientApproval"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC721InvalidApprover"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"ERC721InvalidOperator"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721InvalidOwner"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC721InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC721InvalidSender"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721NonexistentToken"},{"inputs":[{"internalType":"address","name":"systemAddress","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"}],"type":"error","name":"PuppetMaster_NoPuppet"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeMint"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeMint"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"burn(uint256)":{"details":"Destroys `tokenId`. The approval is cleared when the token is burned. Requirements: - caller must own the namespace - `tokenId` must exist. Emits a {Transfer} event."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"mint(address,uint256)":{"details":"Mints `tokenId` and transfers it to `to`. Requirements: - caller must own the namespace - `tokenId` must not exist. - `to` cannot be the zero address. Emits a {Transfer} event."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"safeMint(address,uint256)":{"details":"Mints `tokenId`, transfers it to `to` and checks for `to` acceptance. Requirements: - caller must own the namespace - `tokenId` must not exist. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"safeMint(address,uint256,bytes)":{"details":"Same as {xref-ERC721-safeMint-address-uint256-}[`safeMint`], with an additional `data` parameter which is forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin/=node_modules/@openzeppelin/","base/=src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/ERC721System.sol":"ERC721System"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/ERC721System.sol":{"keccak256":"0x98578fcafdd03afd1686661d2297685dd6377be9c8b8adbe43f0116c292585f1","urls":["bzz-raw://66204cef52ff9e2242917483a4cb957990f28cbbd5de5c2e99fdedc9e2905a7c","dweb:/ipfs/QmQEFdPecLmfZZgGJDUqTfuU8GduDU61sAxgaA4YvASQoE"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Receiver.sol":{"keccak256":"0x62fd44cbfe77f557d2f3bb53f7851ee08e0f547d1a66dc4909b137b79f6b9806","urls":["bzz-raw://0a15974c235e222bbc301460835b2c73c2203fbabacb53ea21261737be0724fc","dweb:/ipfs/QmbLrBfWMeYQjqBVFBn5yAHrXHuNKeGTWiUwciX4dheAmR"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/libraries/LibString.sol":{"keccak256":"0xcfa58b9d8de969db85aedb2d4d276e067ce9687d7aad1b4d0cb68c4b1551e281","urls":["bzz-raw://3165a316e3bfa292a06f2eb3d244a6181daf75cd3abbb4d673e4091d91a870cb","dweb:/ipfs/QmUSYqbUwC3g3Ai83nyk97iZGDL7M2vMFuDTis5odumXDF"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/ERC721Metadata.sol":{"keccak256":"0xb0aec142df53cbd8465dc34da6734f92fe96a8d05f16ff368109206676b14978","urls":["bzz-raw://e84a1a25ba5f7bbbefbeebd78a863c7234507bbf72fe025144f1ffeec88a488b","dweb:/ipfs/QmVx7DeGeCbwPMXcZ6yph9yLK8f2Riod7hXYfs4tmF55tv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/OperatorApproval.sol":{"keccak256":"0xbbed481b7ccef9525cd566c8e36f42512c8de94c7431510356b35c853c2764d5","urls":["bzz-raw://984af22419c3ba9e19775b47cdd981872bb1aff430ebab83752a0ea3f6b6fb79","dweb:/ipfs/Qmdr1FByP2aWAuursvKr126EZhNzT29H4bGs3qx9yacVfg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/Owners.sol":{"keccak256":"0x189034b75e6ae4d1422205be83c2280bb515acd625863f889bb1a7ae0670b2b1","urls":["bzz-raw://70bbdcab47c980fe519e62d829ad76015c5525d940b942f5a3f8a9108c71f510","dweb:/ipfs/QmZ5ixxJtFScPi6VugYq7jJRgrvmczFzjyLhxEhHTfNcQK"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenApproval.sol":{"keccak256":"0xde22b2b236bc5046f8ef24b8fb806ba085859628ada159bde90395cd2f0621fc","urls":["bzz-raw://26fb05815619dc76c1854c1327d860ce38ed67a02337d8373fd8339538a5e16c","dweb:/ipfs/QmZSJFRdNokt6uTGnonCA4GbAQPWF5d3aeFYj6wtDJaktD"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/puppet/Puppet.sol":{"keccak256":"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9","urls":["bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6","dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/puppet/PuppetMaster.sol":{"keccak256":"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72","urls":["bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c","dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/puppet/constants.sol":{"keccak256":"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e","urls":["bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d","dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0x37273e42577e71b80621bcaa9132b8f9d28ded452242fb478fd7e52f382b83a6","urls":["bzz-raw://26403866f063923a910cc1e6f4ff7b0e74e4f343b1222675658d1b9a1ecdbe14","dweb:/ipfs/QmSTqLMbg9PvyFkVexVbLPUPLr1aBuBtcfnBZGbqEaje7Q"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/puppet/utils.sol":{"keccak256":"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d","urls":["bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489","dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/tokens/tables/Balances.sol":{"keccak256":"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc","urls":["bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047","dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/ERC721System.sol","id":33487,"exportedSymbols":{"AccessControlLib":[47224],"Balances":[46946],"ERC721Metadata":[36290],"ERC721System":[33486],"IERC721Mintable":[33701],"IERC721Receiver":[33719],"LibString":[33828],"OperatorApproval":[37918],"Owners":[38635],"PuppetMaster":[41566],"ResourceId":[9486],"System":[47981],"SystemRegistry":[57138],"TokenApproval":[39342],"TokenURI":[41126],"WorldResourceIdInstance":[48858],"_balancesTableId":[41160],"_metadataTableId":[41176],"_operatorApprovalTableId":[41192],"_ownersTableId":[41208],"_tokenApprovalTableId":[41224],"_tokenUriTableId":[41240],"toTopic":[42612,42625]},"nodeType":"SourceUnit","src":"32:18857:65","nodes":[{"id":32264,"nodeType":"PragmaDirective","src":"32:25:65","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":32266,"nodeType":"ImportDirective","src":"59:66:65","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"@latticexyz/store/src/ResourceId.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":32265,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"68:10:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32268,"nodeType":"ImportDirective","src":"126:58:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/System.sol","file":"@latticexyz/world/src/System.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":47982,"symbolAliases":[{"foreign":{"id":32267,"name":"System","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47981,"src":"135:6:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32270,"nodeType":"ImportDirective","src":"185:84:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","file":"@latticexyz/world/src/WorldResourceId.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":48859,"symbolAliases":[{"foreign":{"id":32269,"name":"WorldResourceIdInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48858,"src":"194:23:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32272,"nodeType":"ImportDirective","src":"270:89:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol","file":"@latticexyz/world/src/codegen/tables/SystemRegistry.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":57139,"symbolAliases":[{"foreign":{"id":32271,"name":"SystemRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57138,"src":"279:14:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32274,"nodeType":"ImportDirective","src":"361:68:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol","file":"../../utils/AccessControlLib.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":47225,"symbolAliases":[{"foreign":{"id":32273,"name":"AccessControlLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47224,"src":"370:16:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32276,"nodeType":"ImportDirective","src":"430:58:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/puppet/PuppetMaster.sol","file":"../puppet/PuppetMaster.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":41567,"symbolAliases":[{"foreign":{"id":32275,"name":"PuppetMaster","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41566,"src":"439:12:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32278,"nodeType":"ImportDirective","src":"489:46:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/puppet/utils.sol","file":"../puppet/utils.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":42626,"symbolAliases":[{"foreign":{"id":32277,"name":"toTopic","nodeType":"Identifier","overloadedDeclarations":[],"src":"498:7:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32280,"nodeType":"ImportDirective","src":"536:57:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/tokens/tables/Balances.sol","file":"../tokens/tables/Balances.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":46947,"symbolAliases":[{"foreign":{"id":32279,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"545:8:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32282,"nodeType":"ImportDirective","src":"595:56:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol","file":"./IERC721Mintable.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":33702,"symbolAliases":[{"foreign":{"id":32281,"name":"IERC721Mintable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33701,"src":"604:15:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32284,"nodeType":"ImportDirective","src":"652:56:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Receiver.sol","file":"./IERC721Receiver.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":33720,"symbolAliases":[{"foreign":{"id":32283,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33719,"src":"661:15:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32286,"nodeType":"ImportDirective","src":"710:61:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/ERC721Metadata.sol","file":"./tables/ERC721Metadata.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":36291,"symbolAliases":[{"foreign":{"id":32285,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36290,"src":"719:14:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32288,"nodeType":"ImportDirective","src":"772:65:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/OperatorApproval.sol","file":"./tables/OperatorApproval.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":37929,"symbolAliases":[{"foreign":{"id":32287,"name":"OperatorApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37918,"src":"781:16:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32290,"nodeType":"ImportDirective","src":"838:45:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/Owners.sol","file":"./tables/Owners.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":38636,"symbolAliases":[{"foreign":{"id":32289,"name":"Owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38635,"src":"847:6:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32292,"nodeType":"ImportDirective","src":"884:59:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenApproval.sol","file":"./tables/TokenApproval.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":39343,"symbolAliases":[{"foreign":{"id":32291,"name":"TokenApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39342,"src":"893:13:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32294,"nodeType":"ImportDirective","src":"944:49:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol","file":"./tables/TokenURI.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":41127,"symbolAliases":[{"foreign":{"id":32293,"name":"TokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41126,"src":"953:8:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32301,"nodeType":"ImportDirective","src":"995:148:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol","file":"./utils.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":41257,"symbolAliases":[{"foreign":{"id":32295,"name":"_balancesTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41160,"src":"1004:16:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":32296,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41176,"src":"1022:16:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":32297,"name":"_tokenUriTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41240,"src":"1040:16:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":32298,"name":"_operatorApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41192,"src":"1058:24:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":32299,"name":"_ownersTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41208,"src":"1084:14:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":32300,"name":"_tokenApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41224,"src":"1100:21:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32303,"nodeType":"ImportDirective","src":"1144:54:65","nodes":[],"absolutePath":"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/libraries/LibString.sol","file":"./libraries/LibString.sol","nameLocation":"-1:-1:-1","scope":33487,"sourceUnit":33829,"symbolAliases":[{"foreign":{"id":32302,"name":"LibString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33828,"src":"1153:9:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":33486,"nodeType":"ContractDefinition","src":"1200:17688:65","nodes":[{"id":32313,"nodeType":"UsingForDirective","src":"1267:45:65","nodes":[],"global":false,"libraryName":{"id":32310,"name":"WorldResourceIdInstance","nameLocations":["1273:23:65"],"nodeType":"IdentifierPath","referencedDeclaration":48858,"src":"1273:23:65"},"typeName":{"id":32312,"nodeType":"UserDefinedTypeName","pathNode":{"id":32311,"name":"ResourceId","nameLocations":["1301:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"1301:10:65"},"referencedDeclaration":9486,"src":"1301:10:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}},{"id":32316,"nodeType":"UsingForDirective","src":"1315:28:65","nodes":[],"global":false,"libraryName":{"id":32314,"name":"LibString","nameLocations":["1321:9:65"],"nodeType":"IdentifierPath","referencedDeclaration":33828,"src":"1321:9:65"},"typeName":{"id":32315,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":32349,"nodeType":"FunctionDefinition","src":"1394:223:65","nodes":[],"body":{"id":32348,"nodeType":"Block","src":"1466:151:65","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32324,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32319,"src":"1476:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":32327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1493:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1485:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32325,"name":"address","nodeType":"ElementaryTypeName","src":"1485:7:65","typeDescriptions":{}}},"id":32328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1485:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1476:19:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32338,"nodeType":"IfStatement","src":"1472:77:65","trueBody":{"id":32337,"nodeType":"Block","src":"1497:52:65","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":32333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1539:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1531:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32331,"name":"address","nodeType":"ElementaryTypeName","src":"1531:7:65","typeDescriptions":{}}},"id":32334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1531:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":32330,"name":"ERC721InvalidOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33588,"src":"1512:18:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":32335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1512:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32336,"nodeType":"RevertStatement","src":"1505:37:65"}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32342,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"1591:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1591:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32341,"name":"_balancesTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41160,"src":"1574:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1574:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32345,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32319,"src":"1606:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":32339,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"1561:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$46946_$","typeString":"type(library Balances)"}},"id":32340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1570:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":46509,"src":"1561:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$returns$_t_uint256_$","typeString":"function (ResourceId,address) view returns (uint256)"}},"id":32346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1561:51:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":32323,"id":32347,"nodeType":"Return","src":"1554:58:65"}]},"baseFunctions":[33505],"documentation":{"id":32317,"nodeType":"StructuredDocumentation","src":"1347:44:65","text":" @dev See {IERC721-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1403:9:65","parameters":{"id":32320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32319,"mutability":"mutable","name":"owner","nameLocation":"1421:5:65","nodeType":"VariableDeclaration","scope":32349,"src":"1413:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32318,"name":"address","nodeType":"ElementaryTypeName","src":"1413:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1412:15:65"},"returnParameters":{"id":32323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32349,"src":"1457:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32321,"name":"uint256","nodeType":"ElementaryTypeName","src":"1457:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1456:9:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":32362,"nodeType":"FunctionDefinition","src":"1666:112:65","nodes":[],"body":{"id":32361,"nodeType":"Block","src":"1738:40:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":32358,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32352,"src":"1765:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32357,"name":"_requireOwned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33382,"src":"1751:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":32359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1751:22:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":32356,"id":32360,"nodeType":"Return","src":"1744:29:65"}]},"baseFunctions":[33513],"documentation":{"id":32350,"nodeType":"StructuredDocumentation","src":"1621:42:65","text":" @dev See {IERC721-ownerOf}."},"functionSelector":"6352211e","implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1675:7:65","parameters":{"id":32353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32352,"mutability":"mutable","name":"tokenId","nameLocation":"1691:7:65","nodeType":"VariableDeclaration","scope":32362,"src":"1683:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32351,"name":"uint256","nodeType":"ElementaryTypeName","src":"1683:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1682:17:65"},"returnParameters":{"id":32356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32355,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32362,"src":"1729:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32354,"name":"address","nodeType":"ElementaryTypeName","src":"1729:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1728:9:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":32377,"nodeType":"FunctionDefinition","src":"1832:132:65","nodes":[],"body":{"id":32376,"nodeType":"Block","src":"1892:72:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32371,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"1945:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1945:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32370,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41176,"src":"1928:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1928:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":32368,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36290,"src":"1905:14:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Metadata_$36290_$","typeString":"type(library ERC721Metadata)"}},"id":32369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1920:7:65","memberName":"getName","nodeType":"MemberAccess","referencedDeclaration":34098,"src":"1905:22:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_string_memory_ptr_$","typeString":"function (ResourceId) view returns (string memory)"}},"id":32374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1905:54:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":32367,"id":32375,"nodeType":"Return","src":"1898:61:65"}]},"documentation":{"id":32363,"nodeType":"StructuredDocumentation","src":"1782:47:65","text":" @dev See {IERC721Metadata-name}."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"1841:4:65","parameters":{"id":32364,"nodeType":"ParameterList","parameters":[],"src":"1845:2:65"},"returnParameters":{"id":32367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32377,"src":"1877:13:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32365,"name":"string","nodeType":"ElementaryTypeName","src":"1877:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1876:15:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":32392,"nodeType":"FunctionDefinition","src":"2020:136:65","nodes":[],"body":{"id":32391,"nodeType":"Block","src":"2082:74:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32386,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"2137:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32385,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41176,"src":"2120:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2120:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":32383,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36290,"src":"2095:14:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Metadata_$36290_$","typeString":"type(library ERC721Metadata)"}},"id":32384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2110:9:65","memberName":"getSymbol","nodeType":"MemberAccess","referencedDeclaration":34632,"src":"2095:24:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_string_memory_ptr_$","typeString":"function (ResourceId) view returns (string memory)"}},"id":32389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2095:56:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":32382,"id":32390,"nodeType":"Return","src":"2088:63:65"}]},"documentation":{"id":32378,"nodeType":"StructuredDocumentation","src":"1968:49:65","text":" @dev See {IERC721Metadata-symbol}."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2029:6:65","parameters":{"id":32379,"nodeType":"ParameterList","parameters":[],"src":"2035:2:65"},"returnParameters":{"id":32382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32392,"src":"2067:13:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32380,"name":"string","nodeType":"ElementaryTypeName","src":"2067:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2066:15:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":32452,"nodeType":"FunctionDefinition","src":"2214:402:65","nodes":[],"body":{"id":32451,"nodeType":"Block","src":"2293:323:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":32401,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32395,"src":"2313:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32400,"name":"_requireOwned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33382,"src":"2299:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":32402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2299:22:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":32403,"nodeType":"ExpressionStatement","src":"2299:22:65"},{"assignments":[32405],"declarations":[{"constant":false,"id":32405,"mutability":"mutable","name":"baseURI","nameLocation":"2342:7:65","nodeType":"VariableDeclaration","scope":32451,"src":"2328:21:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32404,"name":"string","nodeType":"ElementaryTypeName","src":"2328:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":32408,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":32406,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32467,"src":"2352:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":32407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2352:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2328:34:65"},{"assignments":[32410],"declarations":[{"constant":false,"id":32410,"mutability":"mutable","name":"_tokenURI","nameLocation":"2382:9:65","nodeType":"VariableDeclaration","scope":32451,"src":"2368:23:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32409,"name":"string","nodeType":"ElementaryTypeName","src":"2368:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":32419,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32414,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"2424:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2424:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32413,"name":"_tokenUriTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41240,"src":"2407:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2407:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32417,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32395,"src":"2439:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32411,"name":"TokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41126,"src":"2394:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TokenURI_$41126_$","typeString":"type(library TokenURI)"}},"id":32412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2403:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":39624,"src":"2394:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (ResourceId,uint256) view returns (string memory)"}},"id":32418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:53:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2368:79:65"},{"expression":{"id":32433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":32420,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32410,"src":"2453:9:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":32423,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32410,"src":"2471:9:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":32422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2465:5:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":32421,"name":"bytes","nodeType":"ElementaryTypeName","src":"2465:5:65","typeDescriptions":{}}},"id":32424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2465:16:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":32425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2482:6:65","memberName":"length","nodeType":"MemberAccess","src":"2465:23:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":32426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2491:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2465:27:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":32429,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32395,"src":"2507:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2515:8:65","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":33827,"src":"2507:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (string memory)"}},"id":32431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2507:18:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":32432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2465:60:65","trueExpression":{"id":32428,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32410,"src":"2495:9:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2453:72:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":32434,"nodeType":"ExpressionStatement","src":"2453:72:65"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":32437,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32405,"src":"2544:7:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":32436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2538:5:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":32435,"name":"bytes","nodeType":"ElementaryTypeName","src":"2538:5:65","typeDescriptions":{}}},"id":32438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2538:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":32439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2553:6:65","memberName":"length","nodeType":"MemberAccess","src":"2538:21:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":32440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2562:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2538:25:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":32448,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32410,"src":"2602:9:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":32449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2538:73:65","trueExpression":{"arguments":[{"id":32445,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32405,"src":"2580:7:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":32446,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32410,"src":"2589:9:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":32443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2566:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":32442,"name":"string","nodeType":"ElementaryTypeName","src":"2566:6:65","typeDescriptions":{}}},"id":32444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2573:6:65","memberName":"concat","nodeType":"MemberAccess","src":"2566:13:65","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":32447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2566:33:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":32399,"id":32450,"nodeType":"Return","src":"2531:80:65"}]},"documentation":{"id":32393,"nodeType":"StructuredDocumentation","src":"2160:51:65","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"2223:8:65","parameters":{"id":32396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32395,"mutability":"mutable","name":"tokenId","nameLocation":"2240:7:65","nodeType":"VariableDeclaration","scope":32452,"src":"2232:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32394,"name":"uint256","nodeType":"ElementaryTypeName","src":"2232:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2231:17:65"},"returnParameters":{"id":32399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32452,"src":"2278:13:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32397,"name":"string","nodeType":"ElementaryTypeName","src":"2278:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2277:15:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":32467,"nodeType":"FunctionDefinition","src":"2785:141:65","nodes":[],"body":{"id":32466,"nodeType":"Block","src":"2851:75:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32461,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"2907:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2907:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32460,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41176,"src":"2890:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2890:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":32458,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36290,"src":"2864:14:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Metadata_$36290_$","typeString":"type(library ERC721Metadata)"}},"id":32459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2879:10:65","memberName":"getBaseURI","nodeType":"MemberAccess","referencedDeclaration":35166,"src":"2864:25:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_string_memory_ptr_$","typeString":"function (ResourceId) view returns (string memory)"}},"id":32464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2864:57:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":32457,"id":32465,"nodeType":"Return","src":"2857:64:65"}]},"documentation":{"id":32453,"nodeType":"StructuredDocumentation","src":"2620:162:65","text":" @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`."},"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"2794:8:65","parameters":{"id":32454,"nodeType":"ParameterList","parameters":[],"src":"2802:2:65"},"returnParameters":{"id":32457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32456,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32467,"src":"2836:13:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32455,"name":"string","nodeType":"ElementaryTypeName","src":"2836:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2835:15:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":32483,"nodeType":"FunctionDefinition","src":"2975:107:65","nodes":[],"body":{"id":32482,"nodeType":"Block","src":"3036:46:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":32476,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32470,"src":"3051:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32477,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32472,"src":"3055:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":32478,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48336,"src":"3064:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":32479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3064:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":32475,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[33216,33301],"referencedDeclaration":33216,"src":"3042:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":32480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3042:35:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32481,"nodeType":"ExpressionStatement","src":"3042:35:65"}]},"baseFunctions":[33553],"documentation":{"id":32468,"nodeType":"StructuredDocumentation","src":"2930:42:65","text":" @dev See {IERC721-approve}."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2984:7:65","parameters":{"id":32473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32470,"mutability":"mutable","name":"to","nameLocation":"3000:2:65","nodeType":"VariableDeclaration","scope":32483,"src":"2992:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32469,"name":"address","nodeType":"ElementaryTypeName","src":"2992:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32472,"mutability":"mutable","name":"tokenId","nameLocation":"3012:7:65","nodeType":"VariableDeclaration","scope":32483,"src":"3004:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32471,"name":"uint256","nodeType":"ElementaryTypeName","src":"3004:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2991:29:65"},"returnParameters":{"id":32474,"nodeType":"ParameterList","parameters":[],"src":"3036:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":32500,"nodeType":"FunctionDefinition","src":"3135:144:65","nodes":[],"body":{"id":32499,"nodeType":"Block","src":"3211:68:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":32492,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32486,"src":"3231:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32491,"name":"_requireOwned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33382,"src":"3217:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":32493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3217:22:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":32494,"nodeType":"ExpressionStatement","src":"3217:22:65"},{"expression":{"arguments":[{"id":32496,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32486,"src":"3266:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32495,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32732,"src":"3253:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":32497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3253:21:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":32490,"id":32498,"nodeType":"Return","src":"3246:28:65"}]},"baseFunctions":[33569],"documentation":{"id":32484,"nodeType":"StructuredDocumentation","src":"3086:46:65","text":" @dev See {IERC721-getApproved}."},"functionSelector":"081812fc","implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"3144:11:65","parameters":{"id":32487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32486,"mutability":"mutable","name":"tokenId","nameLocation":"3164:7:65","nodeType":"VariableDeclaration","scope":32500,"src":"3156:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32485,"name":"uint256","nodeType":"ElementaryTypeName","src":"3156:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3155:17:65"},"returnParameters":{"id":32490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32500,"src":"3202:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32488,"name":"address","nodeType":"ElementaryTypeName","src":"3202:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3201:9:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":32516,"nodeType":"FunctionDefinition","src":"3338:138:65","nodes":[],"body":{"id":32515,"nodeType":"Block","src":"3413:63:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32509,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48336,"src":"3438:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":32510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3438:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32511,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32503,"src":"3452:8:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32512,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32505,"src":"3462:8:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":32508,"name":"_setApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33353,"src":"3419:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":32513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3419:52:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32514,"nodeType":"ExpressionStatement","src":"3419:52:65"}]},"baseFunctions":[33561],"documentation":{"id":32501,"nodeType":"StructuredDocumentation","src":"3283:52:65","text":" @dev See {IERC721-setApprovalForAll}."},"functionSelector":"a22cb465","implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"3347:17:65","parameters":{"id":32506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32503,"mutability":"mutable","name":"operator","nameLocation":"3373:8:65","nodeType":"VariableDeclaration","scope":32516,"src":"3365:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32502,"name":"address","nodeType":"ElementaryTypeName","src":"3365:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32505,"mutability":"mutable","name":"approved","nameLocation":"3388:8:65","nodeType":"VariableDeclaration","scope":32516,"src":"3383:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32504,"name":"bool","nodeType":"ElementaryTypeName","src":"3383:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3364:33:65"},"returnParameters":{"id":32507,"nodeType":"ParameterList","parameters":[],"src":"3413:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":32537,"nodeType":"FunctionDefinition","src":"3534:189:65","nodes":[],"body":{"id":32536,"nodeType":"Block","src":"3628:95:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32529,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"3687:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3687:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32528,"name":"_operatorApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41192,"src":"3662:24:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3662:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32532,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32519,"src":"3702:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32533,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32521,"src":"3709:8:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":32526,"name":"OperatorApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37918,"src":"3641:16:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OperatorApproval_$37918_$","typeString":"type(library OperatorApproval)"}},"id":32527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3658:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":37343,"src":"3641:20:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (ResourceId,address,address) view returns (bool)"}},"id":32534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3641:77:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":32525,"id":32535,"nodeType":"Return","src":"3634:84:65"}]},"baseFunctions":[33579],"documentation":{"id":32517,"nodeType":"StructuredDocumentation","src":"3480:51:65","text":" @dev See {IERC721-isApprovedForAll}."},"functionSelector":"e985e9c5","implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"3543:16:65","parameters":{"id":32522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32519,"mutability":"mutable","name":"owner","nameLocation":"3568:5:65","nodeType":"VariableDeclaration","scope":32537,"src":"3560:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32518,"name":"address","nodeType":"ElementaryTypeName","src":"3560:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32521,"mutability":"mutable","name":"operator","nameLocation":"3583:8:65","nodeType":"VariableDeclaration","scope":32537,"src":"3575:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32520,"name":"address","nodeType":"ElementaryTypeName","src":"3575:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3559:33:65"},"returnParameters":{"id":32525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32524,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32537,"src":"3622:4:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32523,"name":"bool","nodeType":"ElementaryTypeName","src":"3622:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3621:6:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":32583,"nodeType":"FunctionDefinition","src":"3777:536:65","nodes":[],"body":{"id":32582,"nodeType":"Block","src":"3857:456:65","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32547,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32542,"src":"3867:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":32550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3881:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3873:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32548,"name":"address","nodeType":"ElementaryTypeName","src":"3873:7:65","typeDescriptions":{}}},"id":32551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3867:16:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32561,"nodeType":"IfStatement","src":"3863:77:65","trueBody":{"id":32560,"nodeType":"Block","src":"3885:55:65","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":32556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3930:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3922:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32554,"name":"address","nodeType":"ElementaryTypeName","src":"3922:7:65","typeDescriptions":{}}},"id":32557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3922:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":32553,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33612,"src":"3900:21:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":32558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3900:33:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32559,"nodeType":"RevertStatement","src":"3893:40:65"}]}},{"assignments":[32563],"declarations":[{"constant":false,"id":32563,"mutability":"mutable","name":"previousOwner","nameLocation":"4154:13:65","nodeType":"VariableDeclaration","scope":32582,"src":"4146:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32562,"name":"address","nodeType":"ElementaryTypeName","src":"4146:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":32570,"initialValue":{"arguments":[{"id":32565,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32542,"src":"4178:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32566,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32544,"src":"4182:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":32567,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48336,"src":"4191:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":32568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":32564,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32970,"src":"4170:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":32569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4170:34:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4146:58:65"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32571,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32563,"src":"4214:13:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":32572,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32540,"src":"4231:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4214:21:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32581,"nodeType":"IfStatement","src":"4210:99:65","trueBody":{"id":32580,"nodeType":"Block","src":"4237:72:65","statements":[{"errorCall":{"arguments":[{"id":32575,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32540,"src":"4273:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32576,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32544,"src":"4279:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32577,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32563,"src":"4288:13:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":32574,"name":"ERC721IncorrectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33602,"src":"4252:20:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) pure"}},"id":32578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4252:50:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32579,"nodeType":"RevertStatement","src":"4245:57:65"}]}}]},"baseFunctions":[33545],"documentation":{"id":32538,"nodeType":"StructuredDocumentation","src":"3727:47:65","text":" @dev See {IERC721-transferFrom}."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3786:12:65","parameters":{"id":32545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32540,"mutability":"mutable","name":"from","nameLocation":"3807:4:65","nodeType":"VariableDeclaration","scope":32583,"src":"3799:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32539,"name":"address","nodeType":"ElementaryTypeName","src":"3799:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32542,"mutability":"mutable","name":"to","nameLocation":"3821:2:65","nodeType":"VariableDeclaration","scope":32583,"src":"3813:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32541,"name":"address","nodeType":"ElementaryTypeName","src":"3813:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32544,"mutability":"mutable","name":"tokenId","nameLocation":"3833:7:65","nodeType":"VariableDeclaration","scope":32583,"src":"3825:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32543,"name":"uint256","nodeType":"ElementaryTypeName","src":"3825:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3798:43:65"},"returnParameters":{"id":32546,"nodeType":"ParameterList","parameters":[],"src":"3857:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":32601,"nodeType":"FunctionDefinition","src":"4371:126:65","nodes":[],"body":{"id":32600,"nodeType":"Block","src":"4447:50:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":32594,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32586,"src":"4470:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32595,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32588,"src":"4476:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32596,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32590,"src":"4480:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":32597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4489:2:65","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_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":32593,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[32601,32627],"referencedDeclaration":32627,"src":"4453:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":32598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4453:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32599,"nodeType":"ExpressionStatement","src":"4453:39:65"}]},"baseFunctions":[33535],"documentation":{"id":32584,"nodeType":"StructuredDocumentation","src":"4317:51:65","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"42842e0e","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4380:16:65","parameters":{"id":32591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32586,"mutability":"mutable","name":"from","nameLocation":"4405:4:65","nodeType":"VariableDeclaration","scope":32601,"src":"4397:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32585,"name":"address","nodeType":"ElementaryTypeName","src":"4397:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32588,"mutability":"mutable","name":"to","nameLocation":"4419:2:65","nodeType":"VariableDeclaration","scope":32601,"src":"4411:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32587,"name":"address","nodeType":"ElementaryTypeName","src":"4411:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32590,"mutability":"mutable","name":"tokenId","nameLocation":"4431:7:65","nodeType":"VariableDeclaration","scope":32601,"src":"4423:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32589,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4396:43:65"},"returnParameters":{"id":32592,"nodeType":"ParameterList","parameters":[],"src":"4447:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32627,"nodeType":"FunctionDefinition","src":"4555:198:65","nodes":[],"body":{"id":32626,"nodeType":"Block","src":"4658:95:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":32614,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32604,"src":"4677:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32615,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32606,"src":"4683:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32616,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32608,"src":"4687:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32613,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32583,"src":"4664:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":32617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4664:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32618,"nodeType":"ExpressionStatement","src":"4664:31:65"},{"expression":{"arguments":[{"id":32620,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32604,"src":"4724:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32621,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32606,"src":"4730:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32622,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32608,"src":"4734:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32623,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32610,"src":"4743:4:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":32619,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33446,"src":"4701:22:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":32624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4701:47:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32625,"nodeType":"ExpressionStatement","src":"4701:47:65"}]},"baseFunctions":[33525],"documentation":{"id":32602,"nodeType":"StructuredDocumentation","src":"4501:51:65","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"b88d4fde","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4564:16:65","parameters":{"id":32611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32604,"mutability":"mutable","name":"from","nameLocation":"4589:4:65","nodeType":"VariableDeclaration","scope":32627,"src":"4581:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32603,"name":"address","nodeType":"ElementaryTypeName","src":"4581:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32606,"mutability":"mutable","name":"to","nameLocation":"4603:2:65","nodeType":"VariableDeclaration","scope":32627,"src":"4595:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32605,"name":"address","nodeType":"ElementaryTypeName","src":"4595:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32608,"mutability":"mutable","name":"tokenId","nameLocation":"4615:7:65","nodeType":"VariableDeclaration","scope":32627,"src":"4607:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32607,"name":"uint256","nodeType":"ElementaryTypeName","src":"4607:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32610,"mutability":"mutable","name":"data","nameLocation":"4637:4:65","nodeType":"VariableDeclaration","scope":32627,"src":"4624:17:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":32609,"name":"bytes","nodeType":"ElementaryTypeName","src":"4624:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4580:62:65"},"returnParameters":{"id":32612,"nodeType":"ParameterList","parameters":[],"src":"4658:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":32644,"nodeType":"FunctionDefinition","src":"4996:108:65","nodes":[],"body":{"id":32643,"nodeType":"Block","src":"5054:50:65","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":32635,"name":"_requireOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33485,"src":"5060:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":32636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5060:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32637,"nodeType":"ExpressionStatement","src":"5060:15:65"},{"expression":{"arguments":[{"id":32639,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32630,"src":"5087:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32640,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32632,"src":"5091:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32638,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33020,"src":"5081:5:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":32641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5081:18:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32642,"nodeType":"ExpressionStatement","src":"5081:18:65"}]},"baseFunctions":[33676],"documentation":{"id":32628,"nodeType":"StructuredDocumentation","src":"4757:236:65","text":" @dev Mints `tokenId` and transfers it to `to`.\n Requirements:\n - caller must own the namespace\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event."},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"5005:4:65","parameters":{"id":32633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32630,"mutability":"mutable","name":"to","nameLocation":"5018:2:65","nodeType":"VariableDeclaration","scope":32644,"src":"5010:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32629,"name":"address","nodeType":"ElementaryTypeName","src":"5010:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32632,"mutability":"mutable","name":"tokenId","nameLocation":"5030:7:65","nodeType":"VariableDeclaration","scope":32644,"src":"5022:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32631,"name":"uint256","nodeType":"ElementaryTypeName","src":"5022:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5009:29:65"},"returnParameters":{"id":32634,"nodeType":"ParameterList","parameters":[],"src":"5054:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":32662,"nodeType":"FunctionDefinition","src":"5470:112:65","nodes":[],"body":{"id":32661,"nodeType":"Block","src":"5524:58:65","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":32652,"name":"_requireOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33485,"src":"5530:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":32653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5530:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32654,"nodeType":"ExpressionStatement","src":"5530:15:65"},{"expression":{"arguments":[{"id":32656,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32647,"src":"5561:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32657,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32649,"src":"5565:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":32658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5574:2:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":32655,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[33035,33061],"referencedDeclaration":33061,"src":"5551:9:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":32659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:26:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32660,"nodeType":"ExpressionStatement","src":"5551:26:65"}]},"baseFunctions":[33684],"documentation":{"id":32645,"nodeType":"StructuredDocumentation","src":"5108:359:65","text":" @dev Mints `tokenId`, transfers it to `to` and checks for `to` acceptance.\n Requirements:\n - caller must own the namespace\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"a1448194","implemented":true,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"5479:8:65","parameters":{"id":32650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32647,"mutability":"mutable","name":"to","nameLocation":"5496:2:65","nodeType":"VariableDeclaration","scope":32662,"src":"5488:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32646,"name":"address","nodeType":"ElementaryTypeName","src":"5488:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32649,"mutability":"mutable","name":"tokenId","nameLocation":"5508:7:65","nodeType":"VariableDeclaration","scope":32662,"src":"5500:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32648,"name":"uint256","nodeType":"ElementaryTypeName","src":"5500:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5487:29:65"},"returnParameters":{"id":32651,"nodeType":"ParameterList","parameters":[],"src":"5524:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32682,"nodeType":"FunctionDefinition","src":"5791:141:65","nodes":[],"body":{"id":32681,"nodeType":"Block","src":"5872:60:65","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":32672,"name":"_requireOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33485,"src":"5878:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":32673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5878:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32674,"nodeType":"ExpressionStatement","src":"5878:15:65"},{"expression":{"arguments":[{"id":32676,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32665,"src":"5909:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32677,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32667,"src":"5913:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32678,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32669,"src":"5922:4:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":32675,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[33035,33061],"referencedDeclaration":33061,"src":"5899:9:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":32679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5899:28:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32680,"nodeType":"ExpressionStatement","src":"5899:28:65"}]},"baseFunctions":[33694],"documentation":{"id":32663,"nodeType":"StructuredDocumentation","src":"5586:202:65","text":" @dev Same as {xref-ERC721-safeMint-address-uint256-}[`safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"functionSelector":"8832e6e3","implemented":true,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"5800:8:65","parameters":{"id":32670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32665,"mutability":"mutable","name":"to","nameLocation":"5817:2:65","nodeType":"VariableDeclaration","scope":32682,"src":"5809:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32664,"name":"address","nodeType":"ElementaryTypeName","src":"5809:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32667,"mutability":"mutable","name":"tokenId","nameLocation":"5829:7:65","nodeType":"VariableDeclaration","scope":32682,"src":"5821:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32666,"name":"uint256","nodeType":"ElementaryTypeName","src":"5821:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32669,"mutability":"mutable","name":"data","nameLocation":"5851:4:65","nodeType":"VariableDeclaration","scope":32682,"src":"5838:17:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":32668,"name":"bytes","nodeType":"ElementaryTypeName","src":"5838:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5808:48:65"},"returnParameters":{"id":32671,"nodeType":"ParameterList","parameters":[],"src":"5872:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":32696,"nodeType":"FunctionDefinition","src":"6159:84:65","nodes":[],"body":{"id":32695,"nodeType":"Block","src":"6197:46:65","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":32688,"name":"_requireOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33485,"src":"6203:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":32689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6203:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32690,"nodeType":"ExpressionStatement","src":"6203:15:65"},{"expression":{"arguments":[{"id":32692,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32685,"src":"6230:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32691,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33094,"src":"6224:5:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":32693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6224:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32694,"nodeType":"ExpressionStatement","src":"6224:14:65"}]},"baseFunctions":[33700],"documentation":{"id":32683,"nodeType":"StructuredDocumentation","src":"5936:220:65","text":" @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n Requirements:\n - caller must own the namespace\n - `tokenId` must exist.\n Emits a {Transfer} event."},"functionSelector":"42966c68","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"6168:4:65","parameters":{"id":32686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32685,"mutability":"mutable","name":"tokenId","nameLocation":"6181:7:65","nodeType":"VariableDeclaration","scope":32696,"src":"6173:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32684,"name":"uint256","nodeType":"ElementaryTypeName","src":"6173:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6172:17:65"},"returnParameters":{"id":32687,"nodeType":"ParameterList","parameters":[],"src":"6197:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32714,"nodeType":"FunctionDefinition","src":"6739:142:65","nodes":[],"body":{"id":32713,"nodeType":"Block","src":"6814:67:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32707,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"6853:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6853:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32706,"name":"_ownersTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41208,"src":"6838:14:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6838:28:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32710,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32699,"src":"6868:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32704,"name":"Owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38635,"src":"6827:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Owners_$38635_$","typeString":"type(library Owners)"}},"id":32705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6834:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":38222,"src":"6827:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_uint256_$returns$_t_address_$","typeString":"function (ResourceId,uint256) view returns (address)"}},"id":32711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6827:49:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":32703,"id":32712,"nodeType":"Return","src":"6820:56:65"}]},"documentation":{"id":32697,"nodeType":"StructuredDocumentation","src":"6247:489:65","text":" @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist\n IMPORTANT: Any overrides to this function that add ownership of tokens not tracked by the\n core ERC721 logic MUST be matched with the use of {_increaseBalance} to keep balances\n consistent with ownership. The invariant to preserve is that for any address `a` the value returned by\n `balanceOf(a)` must be equal to the number of tokens such that `_ownerOf(tokenId)` is `a`."},"implemented":true,"kind":"function","modifiers":[],"name":"_ownerOf","nameLocation":"6748:8:65","parameters":{"id":32700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32699,"mutability":"mutable","name":"tokenId","nameLocation":"6765:7:65","nodeType":"VariableDeclaration","scope":32714,"src":"6757:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32698,"name":"uint256","nodeType":"ElementaryTypeName","src":"6757:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6756:17:65"},"returnParameters":{"id":32703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32714,"src":"6805:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32701,"name":"address","nodeType":"ElementaryTypeName","src":"6805:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6804:9:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":32732,"nodeType":"FunctionDefinition","src":"6989:160:65","nodes":[],"body":{"id":32731,"nodeType":"Block","src":"7068:81:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32725,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"7121:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7121:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32724,"name":"_tokenApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41224,"src":"7099:21:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7099:35:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32728,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32717,"src":"7136:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32722,"name":"TokenApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39342,"src":"7081:13:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TokenApproval_$39342_$","typeString":"type(library TokenApproval)"}},"id":32723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7095:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":38929,"src":"7081:17:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_uint256_$returns$_t_address_$","typeString":"function (ResourceId,uint256) view returns (address)"}},"id":32729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7081:63:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":32721,"id":32730,"nodeType":"Return","src":"7074:70:65"}]},"documentation":{"id":32715,"nodeType":"StructuredDocumentation","src":"6885:101:65","text":" @dev Returns the approved address for `tokenId`. Returns 0 if `tokenId` is not minted."},"implemented":true,"kind":"function","modifiers":[],"name":"_getApproved","nameLocation":"6998:12:65","parameters":{"id":32718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32717,"mutability":"mutable","name":"tokenId","nameLocation":"7019:7:65","nodeType":"VariableDeclaration","scope":32732,"src":"7011:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32716,"name":"uint256","nodeType":"ElementaryTypeName","src":"7011:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7010:17:65"},"returnParameters":{"id":32721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32732,"src":"7059:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32719,"name":"address","nodeType":"ElementaryTypeName","src":"7059:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7058:9:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":32768,"nodeType":"FunctionDefinition","src":"7444:254:65","nodes":[],"body":{"id":32767,"nodeType":"Block","src":"7553:145:65","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32744,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32737,"src":"7572:7:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":32747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7591:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7583:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32745,"name":"address","nodeType":"ElementaryTypeName","src":"7583:7:65","typeDescriptions":{}}},"id":32748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7583:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7572:21:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":32757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32750,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32735,"src":"7604:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":32751,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32737,"src":"7613:7:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7604:16:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":32754,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32735,"src":"7641:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32755,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32737,"src":"7648:7:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":32753,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32537,"src":"7624:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":32756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7624:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7604:52:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":32759,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32739,"src":"7673:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32758,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32732,"src":"7660:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":32760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7660:21:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":32761,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32737,"src":"7685:7:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7660:32:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7604:88:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":32764,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7603:90:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7572:121:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":32743,"id":32766,"nodeType":"Return","src":"7559:134:65"}]},"documentation":{"id":32733,"nodeType":"StructuredDocumentation","src":"7153:288:65","text":" @dev Returns whether `spender` is allowed to manage `owner`'s tokens, or `tokenId` in\n particular (ignoring whether it is owned by `owner`).\n WARNING: This function assumes that `owner` is the actual owner of `tokenId` and does not verify this\n assumption."},"implemented":true,"kind":"function","modifiers":[],"name":"_isAuthorized","nameLocation":"7453:13:65","parameters":{"id":32740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32735,"mutability":"mutable","name":"owner","nameLocation":"7475:5:65","nodeType":"VariableDeclaration","scope":32768,"src":"7467:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32734,"name":"address","nodeType":"ElementaryTypeName","src":"7467:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32737,"mutability":"mutable","name":"spender","nameLocation":"7490:7:65","nodeType":"VariableDeclaration","scope":32768,"src":"7482:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32736,"name":"address","nodeType":"ElementaryTypeName","src":"7482:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32739,"mutability":"mutable","name":"tokenId","nameLocation":"7507:7:65","nodeType":"VariableDeclaration","scope":32768,"src":"7499:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32738,"name":"uint256","nodeType":"ElementaryTypeName","src":"7499:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7466:49:65"},"returnParameters":{"id":32743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32768,"src":"7547:4:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32741,"name":"bool","nodeType":"ElementaryTypeName","src":"7547:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7546:6:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":32805,"nodeType":"FunctionDefinition","src":"8114:324:65","nodes":[],"body":{"id":32804,"nodeType":"Block","src":"8211:227:65","nodes":[],"statements":[{"condition":{"id":32783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8221:39:65","subExpression":{"arguments":[{"id":32779,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32771,"src":"8236:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32780,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32773,"src":"8243:7:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32781,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32775,"src":"8252:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32778,"name":"_isAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32768,"src":"8222:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) view returns (bool)"}},"id":32782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8222:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32803,"nodeType":"IfStatement","src":"8217:217:65","trueBody":{"id":32802,"nodeType":"Block","src":"8262:172:65","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32784,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32771,"src":"8274:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":32787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8291:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8283:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32785,"name":"address","nodeType":"ElementaryTypeName","src":"8283:7:65","typeDescriptions":{}}},"id":32788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8283:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8274:19:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":32800,"nodeType":"Block","src":"8358:70:65","statements":[{"errorCall":{"arguments":[{"id":32796,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32773,"src":"8402:7:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32797,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32775,"src":"8411:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32795,"name":"ERC721InsufficientApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33619,"src":"8375:26:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":32798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8375:44:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32799,"nodeType":"RevertStatement","src":"8368:51:65"}]},"id":32801,"nodeType":"IfStatement","src":"8270:158:65","trueBody":{"id":32794,"nodeType":"Block","src":"8295:57:65","statements":[{"errorCall":{"arguments":[{"id":32791,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32775,"src":"8335:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32790,"name":"ERC721NonexistentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33593,"src":"8312:22:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":32792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8312:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32793,"nodeType":"RevertStatement","src":"8305:38:65"}]}}]}}]},"documentation":{"id":32769,"nodeType":"StructuredDocumentation","src":"7702:409:65","text":" @dev Checks if `spender` can operate on `tokenId`, assuming the provided `owner` is the actual owner.\n Reverts if `spender` does not have approval from the provided `owner` for the given token or for all its assets\n the `spender` for the specific `tokenId`.\n WARNING: This function assumes that `owner` is the actual owner of `tokenId` and does not verify this\n assumption."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkAuthorized","nameLocation":"8123:16:65","parameters":{"id":32776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32771,"mutability":"mutable","name":"owner","nameLocation":"8148:5:65","nodeType":"VariableDeclaration","scope":32805,"src":"8140:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32770,"name":"address","nodeType":"ElementaryTypeName","src":"8140:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32773,"mutability":"mutable","name":"spender","nameLocation":"8163:7:65","nodeType":"VariableDeclaration","scope":32805,"src":"8155:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32772,"name":"address","nodeType":"ElementaryTypeName","src":"8155:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32775,"mutability":"mutable","name":"tokenId","nameLocation":"8180:7:65","nodeType":"VariableDeclaration","scope":32805,"src":"8172:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32774,"name":"uint256","nodeType":"ElementaryTypeName","src":"8172:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8139:49:65"},"returnParameters":{"id":32777,"nodeType":"ParameterList","parameters":[],"src":"8211:0:65"},"scope":33486,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":32837,"nodeType":"FunctionDefinition","src":"9058:258:65","nodes":[],"body":{"id":32836,"nodeType":"Block","src":"9133:183:65","nodes":[],"statements":[{"assignments":[32815],"declarations":[{"constant":false,"id":32815,"mutability":"mutable","name":"balanceTableId","nameLocation":"9150:14:65","nodeType":"VariableDeclaration","scope":32836,"src":"9139:25:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":32814,"nodeType":"UserDefinedTypeName","pathNode":{"id":32813,"name":"ResourceId","nameLocations":["9139:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9139:10:65"},"referencedDeclaration":9486,"src":"9139:10:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"id":32820,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32817,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"9184:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9184:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32816,"name":"_balancesTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41160,"src":"9167:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9167:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"9139:58:65"},{"id":32835,"nodeType":"UncheckedBlock","src":"9203:109:65","statements":[{"expression":{"arguments":[{"id":32824,"name":"balanceTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32815,"src":"9234:14:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32825,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32808,"src":"9250:7:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":32828,"name":"balanceTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32815,"src":"9272:14:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32829,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32808,"src":"9288:7:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":32826,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"9259:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$46946_$","typeString":"type(library Balances)"}},"id":32827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9268:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":46509,"src":"9259:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$returns$_t_uint256_$","typeString":"function (ResourceId,address) view returns (uint256)"}},"id":32830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9259:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":32831,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32810,"src":"9299:5:65","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"9259:45:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32821,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"9221:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$46946_$","typeString":"type(library Balances)"}},"id":32823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9230:3:65","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":46722,"src":"9221:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$_t_uint256_$returns$__$","typeString":"function (ResourceId,address,uint256)"}},"id":32833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9221:84:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32834,"nodeType":"ExpressionStatement","src":"9221:84:65"}]}]},"documentation":{"id":32806,"nodeType":"StructuredDocumentation","src":"8442:613:65","text":" @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n NOTE: the value is limited to type(uint128).max. This protect against _balance overflow. It is unrealistic that\n a uint256 would ever overflow from increments when these increments are bounded to uint128 values.\n WARNING: Increasing an account's balance using this function tends to be paired with an override of the\n {_ownerOf} function to resolve the ownership of the corresponding tokens so that balances and ownership\n remain consistent with one another."},"implemented":true,"kind":"function","modifiers":[],"name":"_increaseBalance","nameLocation":"9067:16:65","parameters":{"id":32811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32808,"mutability":"mutable","name":"account","nameLocation":"9092:7:65","nodeType":"VariableDeclaration","scope":32837,"src":"9084:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32807,"name":"address","nodeType":"ElementaryTypeName","src":"9084:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32810,"mutability":"mutable","name":"value","nameLocation":"9109:5:65","nodeType":"VariableDeclaration","scope":32837,"src":"9101:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":32809,"name":"uint128","nodeType":"ElementaryTypeName","src":"9101:7:65","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"9083:32:65"},"returnParameters":{"id":32812,"nodeType":"ParameterList","parameters":[],"src":"9133:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":32970,"nodeType":"FunctionDefinition","src":"9885:985:65","nodes":[],"body":{"id":32969,"nodeType":"Block","src":"9980:890:65","nodes":[],"statements":[{"assignments":[32851],"declarations":[{"constant":false,"id":32851,"mutability":"mutable","name":"balanceTableId","nameLocation":"9997:14:65","nodeType":"VariableDeclaration","scope":32969,"src":"9986:25:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":32850,"nodeType":"UserDefinedTypeName","pathNode":{"id":32849,"name":"ResourceId","nameLocations":["9986:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9986:10:65"},"referencedDeclaration":9486,"src":"9986:10:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"id":32856,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32853,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"10031:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10031:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32852,"name":"_balancesTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41160,"src":"10014:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10014:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"9986:58:65"},{"assignments":[32858],"declarations":[{"constant":false,"id":32858,"mutability":"mutable","name":"from","nameLocation":"10058:4:65","nodeType":"VariableDeclaration","scope":32969,"src":"10050:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32857,"name":"address","nodeType":"ElementaryTypeName","src":"10050:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":32862,"initialValue":{"arguments":[{"id":32860,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32842,"src":"10074:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32859,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32714,"src":"10065:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":32861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10065:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10050:32:65"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32863,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32844,"src":"10134:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":32866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10150:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10142:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32864,"name":"address","nodeType":"ElementaryTypeName","src":"10142:7:65","typeDescriptions":{}}},"id":32867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10142:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10134:18:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32876,"nodeType":"IfStatement","src":"10130:76:65","trueBody":{"id":32875,"nodeType":"Block","src":"10154:52:65","statements":[{"expression":{"arguments":[{"id":32870,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32858,"src":"10179:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32871,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32844,"src":"10185:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32872,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32842,"src":"10191:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32869,"name":"_checkAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32805,"src":"10162:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256) view"}},"id":32873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10162:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32874,"nodeType":"ExpressionStatement","src":"10162:37:65"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32877,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32858,"src":"10242:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":32880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10258:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10250:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32878,"name":"address","nodeType":"ElementaryTypeName","src":"10250:7:65","typeDescriptions":{}}},"id":32881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10250:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10242:18:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32912,"nodeType":"IfStatement","src":"10238:274:65","trueBody":{"id":32911,"nodeType":"Block","src":"10262:250:65","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":32886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10363:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10355:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32884,"name":"address","nodeType":"ElementaryTypeName","src":"10355:7:65","typeDescriptions":{}}},"id":32887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10355:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32888,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32842,"src":"10367:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":32891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10384:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10376:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32889,"name":"address","nodeType":"ElementaryTypeName","src":"10376:7:65","typeDescriptions":{}}},"id":32892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10376:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":32893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10388:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":32883,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[33216,33301],"referencedDeclaration":33301,"src":"10346:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,uint256,address,bool)"}},"id":32894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10346:48:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32895,"nodeType":"ExpressionStatement","src":"10346:48:65"},{"id":32910,"nodeType":"UncheckedBlock","src":"10403:103:65","statements":[{"expression":{"arguments":[{"id":32899,"name":"balanceTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32851,"src":"10436:14:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32900,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32858,"src":"10452:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":32903,"name":"balanceTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32851,"src":"10471:14:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32904,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32858,"src":"10487:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":32901,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"10458:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$46946_$","typeString":"type(library Balances)"}},"id":32902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10467:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":46509,"src":"10458:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$returns$_t_uint256_$","typeString":"function (ResourceId,address) view returns (uint256)"}},"id":32905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10458:34:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":32906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10495:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10458:38:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32896,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"10423:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$46946_$","typeString":"type(library Balances)"}},"id":32898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10432:3:65","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":46722,"src":"10423:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$_t_uint256_$returns$__$","typeString":"function (ResourceId,address,uint256)"}},"id":32908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10423:74:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32909,"nodeType":"ExpressionStatement","src":"10423:74:65"}]}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32913,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32840,"src":"10522:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":32916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10536:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10528:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32914,"name":"address","nodeType":"ElementaryTypeName","src":"10528:7:65","typeDescriptions":{}}},"id":32917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10528:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10522:16:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32935,"nodeType":"IfStatement","src":"10518:135:65","trueBody":{"id":32934,"nodeType":"Block","src":"10540:113:65","statements":[{"id":32933,"nodeType":"UncheckedBlock","src":"10548:99:65","statements":[{"expression":{"arguments":[{"id":32922,"name":"balanceTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32851,"src":"10581:14:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32923,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32840,"src":"10597:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":32926,"name":"balanceTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32851,"src":"10614:14:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32927,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32840,"src":"10630:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":32924,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"10601:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$46946_$","typeString":"type(library Balances)"}},"id":32925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10610:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":46509,"src":"10601:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$returns$_t_uint256_$","typeString":"function (ResourceId,address) view returns (uint256)"}},"id":32928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10601:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":32929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10636:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10601:36:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":32919,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"10568:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$46946_$","typeString":"type(library Balances)"}},"id":32921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10577:3:65","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":46722,"src":"10568:12:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$_t_uint256_$returns$__$","typeString":"function (ResourceId,address,uint256)"}},"id":32931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10568:70:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32932,"nodeType":"ExpressionStatement","src":"10568:70:65"}]}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":32940,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"10685:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":32941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10685:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":32939,"name":"_ownersTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41208,"src":"10670:14:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":32942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10670:28:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":32943,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32842,"src":"10700:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":32944,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32840,"src":"10709:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":32936,"name":"Owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38635,"src":"10659:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Owners_$38635_$","typeString":"type(library Owners)"}},"id":32938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10666:3:65","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":38423,"src":"10659:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_uint256_$_t_address_$returns$__$","typeString":"function (ResourceId,uint256,address)"}},"id":32945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10659:53:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32946,"nodeType":"ExpressionStatement","src":"10659:53:65"},{"expression":{"arguments":[{"expression":{"id":32950,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33642,"src":"10769:8:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":32951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10778:8:65","memberName":"selector","nodeType":"MemberAccess","src":"10769:17:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":32953,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32858,"src":"10796:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":32952,"name":"toTopic","nodeType":"Identifier","overloadedDeclarations":[42612,42625],"referencedDeclaration":42612,"src":"10788:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_bytes32_$","typeString":"function (address) pure returns (bytes32)"}},"id":32954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10788:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":32956,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32840,"src":"10811:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":32955,"name":"toTopic","nodeType":"Identifier","overloadedDeclarations":[42612,42625],"referencedDeclaration":42612,"src":"10803:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_bytes32_$","typeString":"function (address) pure returns (bytes32)"}},"id":32957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10803:11:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":32959,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32842,"src":"10824:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32958,"name":"toTopic","nodeType":"Identifier","overloadedDeclarations":[42612,42625],"referencedDeclaration":42625,"src":"10816:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) pure returns (bytes32)"}},"id":32960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10816:16:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":32963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10844:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10834:9:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":32961,"name":"bytes","nodeType":"ElementaryTypeName","src":"10838:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":32964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10834:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":32947,"name":"puppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41565,"src":"10756:6:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Puppet_$41402_$","typeString":"function () view returns (contract Puppet)"}},"id":32948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10756:8:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Puppet_$41402","typeString":"contract Puppet"}},"id":32949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10765:3:65","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":41401,"src":"10756:12:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,bytes32,bytes32,bytes memory) external"}},"id":32965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10756:91:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32966,"nodeType":"ExpressionStatement","src":"10756:91:65"},{"expression":{"id":32967,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32858,"src":"10861:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":32848,"id":32968,"nodeType":"Return","src":"10854:11:65"}]},"documentation":{"id":32838,"nodeType":"StructuredDocumentation","src":"9320:562:65","text":" @dev Transfers `tokenId` from its current owner to `to`, or alternatively mints (or burns) if the current owner\n (or `to`) is the zero address. Returns the owner of the `tokenId` before the update.\n The `auth` argument is optional. If the value passed is non 0, then this function will check that\n `auth` is either the owner of the token, or approved to operate on the token (by the owner).\n Emits a {Transfer} event.\n NOTE: If overriding this function in a way that tracks balances, see also {_increaseBalance}."},"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"9894:7:65","parameters":{"id":32845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32840,"mutability":"mutable","name":"to","nameLocation":"9910:2:65","nodeType":"VariableDeclaration","scope":32970,"src":"9902:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32839,"name":"address","nodeType":"ElementaryTypeName","src":"9902:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32842,"mutability":"mutable","name":"tokenId","nameLocation":"9922:7:65","nodeType":"VariableDeclaration","scope":32970,"src":"9914:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32841,"name":"uint256","nodeType":"ElementaryTypeName","src":"9914:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32844,"mutability":"mutable","name":"auth","nameLocation":"9939:4:65","nodeType":"VariableDeclaration","scope":32970,"src":"9931:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32843,"name":"address","nodeType":"ElementaryTypeName","src":"9931:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9901:43:65"},"returnParameters":{"id":32848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32970,"src":"9971:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32846,"name":"address","nodeType":"ElementaryTypeName","src":"9971:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9970:9:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33020,"nodeType":"FunctionDefinition","src":"11166:293:65","nodes":[],"body":{"id":33019,"nodeType":"Block","src":"11219:240:65","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":32983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":32978,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32973,"src":"11229:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":32981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11243:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11235:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32979,"name":"address","nodeType":"ElementaryTypeName","src":"11235:7:65","typeDescriptions":{}}},"id":32982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11235:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11229:16:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32992,"nodeType":"IfStatement","src":"11225:77:65","trueBody":{"id":32991,"nodeType":"Block","src":"11247:55:65","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":32987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11292:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11284:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32985,"name":"address","nodeType":"ElementaryTypeName","src":"11284:7:65","typeDescriptions":{}}},"id":32988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11284:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":32984,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33612,"src":"11262:21:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":32989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11262:33:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32990,"nodeType":"RevertStatement","src":"11255:40:65"}]}},{"assignments":[32994],"declarations":[{"constant":false,"id":32994,"mutability":"mutable","name":"previousOwner","nameLocation":"11315:13:65","nodeType":"VariableDeclaration","scope":33019,"src":"11307:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32993,"name":"address","nodeType":"ElementaryTypeName","src":"11307:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":33003,"initialValue":{"arguments":[{"id":32996,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32973,"src":"11339:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":32997,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32975,"src":"11343:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":33000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11360:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":32999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11352:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":32998,"name":"address","nodeType":"ElementaryTypeName","src":"11352:7:65","typeDescriptions":{}}},"id":33001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11352:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":32995,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32970,"src":"11331:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":33002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11331:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11307:56:65"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33004,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32994,"src":"11373:13:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11398:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11390:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33005,"name":"address","nodeType":"ElementaryTypeName","src":"11390:7:65","typeDescriptions":{}}},"id":33008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11390:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11373:27:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33018,"nodeType":"IfStatement","src":"11369:86:65","trueBody":{"id":33017,"nodeType":"Block","src":"11402:53:65","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":33013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11445:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11437:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33011,"name":"address","nodeType":"ElementaryTypeName","src":"11437:7:65","typeDescriptions":{}}},"id":33014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11437:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33010,"name":"ERC721InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33607,"src":"11417:19:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":33015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11417:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33016,"nodeType":"RevertStatement","src":"11410:38:65"}]}}]},"documentation":{"id":32971,"nodeType":"StructuredDocumentation","src":"10874:289:65","text":" @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"11175:5:65","parameters":{"id":32976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32973,"mutability":"mutable","name":"to","nameLocation":"11189:2:65","nodeType":"VariableDeclaration","scope":33020,"src":"11181:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32972,"name":"address","nodeType":"ElementaryTypeName","src":"11181:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32975,"mutability":"mutable","name":"tokenId","nameLocation":"11201:7:65","nodeType":"VariableDeclaration","scope":33020,"src":"11193:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32974,"name":"uint256","nodeType":"ElementaryTypeName","src":"11193:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11180:29:65"},"returnParameters":{"id":32977,"nodeType":"ParameterList","parameters":[],"src":"11219:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":33035,"nodeType":"FunctionDefinition","src":"11788:94:65","nodes":[],"body":{"id":33034,"nodeType":"Block","src":"11845:37:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":33029,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33023,"src":"11861:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33030,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33025,"src":"11865:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":33031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11874:2:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":33028,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[33035,33061],"referencedDeclaration":33061,"src":"11851:9:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":33032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11851:26:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33033,"nodeType":"ExpressionStatement","src":"11851:26:65"}]},"documentation":{"id":33021,"nodeType":"StructuredDocumentation","src":"11463:322:65","text":" @dev Mints `tokenId`, transfers it to `to` and checks for `to` acceptance.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"11797:9:65","parameters":{"id":33026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33023,"mutability":"mutable","name":"to","nameLocation":"11815:2:65","nodeType":"VariableDeclaration","scope":33035,"src":"11807:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33022,"name":"address","nodeType":"ElementaryTypeName","src":"11807:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33025,"mutability":"mutable","name":"tokenId","nameLocation":"11827:7:65","nodeType":"VariableDeclaration","scope":33035,"src":"11819:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33024,"name":"uint256","nodeType":"ElementaryTypeName","src":"11819:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11806:29:65"},"returnParameters":{"id":33027,"nodeType":"ParameterList","parameters":[],"src":"11845:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":33061,"nodeType":"FunctionDefinition","src":"12093:172:65","nodes":[],"body":{"id":33060,"nodeType":"Block","src":"12177:88:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":33046,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33038,"src":"12189:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33047,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33040,"src":"12193:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33045,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33020,"src":"12183:5:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":33048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12183:18:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33049,"nodeType":"ExpressionStatement","src":"12183:18:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":33053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12238:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12230:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33051,"name":"address","nodeType":"ElementaryTypeName","src":"12230:7:65","typeDescriptions":{}}},"id":33054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12230:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33055,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33038,"src":"12242:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33056,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33040,"src":"12246:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33057,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33042,"src":"12255:4:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":33050,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33446,"src":"12207:22:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":33058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12207:53:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33059,"nodeType":"ExpressionStatement","src":"12207:53:65"}]},"documentation":{"id":33036,"nodeType":"StructuredDocumentation","src":"11886:204:65","text":" @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"12102:9:65","parameters":{"id":33043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33038,"mutability":"mutable","name":"to","nameLocation":"12120:2:65","nodeType":"VariableDeclaration","scope":33061,"src":"12112:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33037,"name":"address","nodeType":"ElementaryTypeName","src":"12112:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33040,"mutability":"mutable","name":"tokenId","nameLocation":"12132:7:65","nodeType":"VariableDeclaration","scope":33061,"src":"12124:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33039,"name":"uint256","nodeType":"ElementaryTypeName","src":"12124:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33042,"mutability":"mutable","name":"data","nameLocation":"12154:4:65","nodeType":"VariableDeclaration","scope":33061,"src":"12141:17:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":33041,"name":"bytes","nodeType":"ElementaryTypeName","src":"12141:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12111:48:65"},"returnParameters":{"id":33044,"nodeType":"ParameterList","parameters":[],"src":"12177:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33094,"nodeType":"FunctionDefinition","src":"12567:207:65","nodes":[],"body":{"id":33093,"nodeType":"Block","src":"12608:166:65","nodes":[],"statements":[{"assignments":[33068],"declarations":[{"constant":false,"id":33068,"mutability":"mutable","name":"previousOwner","nameLocation":"12622:13:65","nodeType":"VariableDeclaration","scope":33093,"src":"12614:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33067,"name":"address","nodeType":"ElementaryTypeName","src":"12614:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":33080,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":33072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12654:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12646:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33070,"name":"address","nodeType":"ElementaryTypeName","src":"12646:7:65","typeDescriptions":{}}},"id":33073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12646:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33074,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33064,"src":"12658:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":33077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12675:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12667:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33075,"name":"address","nodeType":"ElementaryTypeName","src":"12667:7:65","typeDescriptions":{}}},"id":33078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12667:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33069,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32970,"src":"12638:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":33079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12638:40:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12614:64:65"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33081,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33068,"src":"12688:13:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":33084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12713:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12705:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33082,"name":"address","nodeType":"ElementaryTypeName","src":"12705:7:65","typeDescriptions":{}}},"id":33085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12705:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12688:27:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33092,"nodeType":"IfStatement","src":"12684:86:65","trueBody":{"id":33091,"nodeType":"Block","src":"12717:53:65","statements":[{"errorCall":{"arguments":[{"id":33088,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33064,"src":"12755:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33087,"name":"ERC721NonexistentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33593,"src":"12732:22:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":33089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12732:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33090,"nodeType":"RevertStatement","src":"12725:38:65"}]}}]},"documentation":{"id":33062,"nodeType":"StructuredDocumentation","src":"12269:295:65","text":" @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"12576:5:65","parameters":{"id":33065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33064,"mutability":"mutable","name":"tokenId","nameLocation":"12590:7:65","nodeType":"VariableDeclaration","scope":33094,"src":"12582:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33063,"name":"uint256","nodeType":"ElementaryTypeName","src":"12582:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12581:17:65"},"returnParameters":{"id":33066,"nodeType":"ParameterList","parameters":[],"src":"12608:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":33154,"nodeType":"FunctionDefinition","src":"13074:416:65","nodes":[],"body":{"id":33153,"nodeType":"Block","src":"13145:345:65","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33104,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33099,"src":"13155:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":33107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13169:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13161:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33105,"name":"address","nodeType":"ElementaryTypeName","src":"13161:7:65","typeDescriptions":{}}},"id":33108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13161:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13155:16:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33118,"nodeType":"IfStatement","src":"13151:77:65","trueBody":{"id":33117,"nodeType":"Block","src":"13173:55:65","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":33113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13218:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13210:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33111,"name":"address","nodeType":"ElementaryTypeName","src":"13210:7:65","typeDescriptions":{}}},"id":33114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13210:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33110,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33612,"src":"13188:21:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":33115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13188:33:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33116,"nodeType":"RevertStatement","src":"13181:40:65"}]}},{"assignments":[33120],"declarations":[{"constant":false,"id":33120,"mutability":"mutable","name":"previousOwner","nameLocation":"13241:13:65","nodeType":"VariableDeclaration","scope":33153,"src":"13233:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33119,"name":"address","nodeType":"ElementaryTypeName","src":"13233:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":33129,"initialValue":{"arguments":[{"id":33122,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33099,"src":"13265:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33123,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33101,"src":"13269:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":33126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13286:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13278:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33124,"name":"address","nodeType":"ElementaryTypeName","src":"13278:7:65","typeDescriptions":{}}},"id":33127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13278:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33121,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32970,"src":"13257:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":33128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13257:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13233:56:65"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33130,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33120,"src":"13299:13:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":33133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13324:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13316:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33131,"name":"address","nodeType":"ElementaryTypeName","src":"13316:7:65","typeDescriptions":{}}},"id":33134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13316:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13299:27:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33141,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33120,"src":"13391:13:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":33142,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33097,"src":"13408:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13391:21:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33151,"nodeType":"IfStatement","src":"13387:99:65","trueBody":{"id":33150,"nodeType":"Block","src":"13414:72:65","statements":[{"errorCall":{"arguments":[{"id":33145,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33097,"src":"13450:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33146,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33101,"src":"13456:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33147,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33120,"src":"13465:13:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33144,"name":"ERC721IncorrectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33602,"src":"13429:20:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) pure"}},"id":33148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13429:50:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33149,"nodeType":"RevertStatement","src":"13422:57:65"}]}},"id":33152,"nodeType":"IfStatement","src":"13295:191:65","trueBody":{"id":33140,"nodeType":"Block","src":"13328:53:65","statements":[{"errorCall":{"arguments":[{"id":33137,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33101,"src":"13366:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33136,"name":"ERC721NonexistentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33593,"src":"13343:22:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":33138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13343:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33139,"nodeType":"RevertStatement","src":"13336:38:65"}]}}]},"documentation":{"id":33095,"nodeType":"StructuredDocumentation","src":"12778:293:65","text":" @dev Transfers `tokenId` from `from` to `to`.\n  As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"13083:9:65","parameters":{"id":33102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33097,"mutability":"mutable","name":"from","nameLocation":"13101:4:65","nodeType":"VariableDeclaration","scope":33154,"src":"13093:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33096,"name":"address","nodeType":"ElementaryTypeName","src":"13093:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33099,"mutability":"mutable","name":"to","nameLocation":"13115:2:65","nodeType":"VariableDeclaration","scope":33154,"src":"13107:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33098,"name":"address","nodeType":"ElementaryTypeName","src":"13107:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33101,"mutability":"mutable","name":"tokenId","nameLocation":"13127:7:65","nodeType":"VariableDeclaration","scope":33154,"src":"13119:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33100,"name":"uint256","nodeType":"ElementaryTypeName","src":"13119:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13092:43:65"},"returnParameters":{"id":33103,"nodeType":"ParameterList","parameters":[],"src":"13145:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":33172,"nodeType":"FunctionDefinition","src":"14383:122:65","nodes":[],"body":{"id":33171,"nodeType":"Block","src":"14458:47:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":33165,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33157,"src":"14478:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33166,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33159,"src":"14484:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33167,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33161,"src":"14488:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":33168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14497:2:65","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_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":33164,"name":"_safeTransfer","nodeType":"Identifier","overloadedDeclarations":[33172,33198],"referencedDeclaration":33198,"src":"14464:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":33169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14464:36:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33170,"nodeType":"ExpressionStatement","src":"14464:36:65"}]},"documentation":{"id":33155,"nodeType":"StructuredDocumentation","src":"13494:886:65","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking that contract recipients\n are aware of the ERC721 standard to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is like {safeTransferFrom} in the sense that it invokes\n {IERC721Receiver-onERC721Received} on the receiver, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `tokenId` token must exist and be owned by `from`.\n - `to` cannot be the zero address.\n - `from` cannot be the zero address.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"14392:13:65","parameters":{"id":33162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33157,"mutability":"mutable","name":"from","nameLocation":"14414:4:65","nodeType":"VariableDeclaration","scope":33172,"src":"14406:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33156,"name":"address","nodeType":"ElementaryTypeName","src":"14406:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33159,"mutability":"mutable","name":"to","nameLocation":"14428:2:65","nodeType":"VariableDeclaration","scope":33172,"src":"14420:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33158,"name":"address","nodeType":"ElementaryTypeName","src":"14420:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33161,"mutability":"mutable","name":"tokenId","nameLocation":"14440:7:65","nodeType":"VariableDeclaration","scope":33172,"src":"14432:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33160,"name":"uint256","nodeType":"ElementaryTypeName","src":"14432:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14405:43:65"},"returnParameters":{"id":33163,"nodeType":"ParameterList","parameters":[],"src":"14458:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":33198,"nodeType":"FunctionDefinition","src":"14732:194:65","nodes":[],"body":{"id":33197,"nodeType":"Block","src":"14834:92:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":33185,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33175,"src":"14850:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33186,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33177,"src":"14856:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33187,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33179,"src":"14860:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33184,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33154,"src":"14840:9:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14840:28:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33189,"nodeType":"ExpressionStatement","src":"14840:28:65"},{"expression":{"arguments":[{"id":33191,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33175,"src":"14897:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33192,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33177,"src":"14903:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33193,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33179,"src":"14907:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33194,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33181,"src":"14916:4:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":33190,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33446,"src":"14874:22:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":33195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14874:47:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33196,"nodeType":"ExpressionStatement","src":"14874:47:65"}]},"documentation":{"id":33173,"nodeType":"StructuredDocumentation","src":"14509:220:65","text":" @dev Same as {xref-ERC721-_safeTransfer-address-address-uint256-}[`_safeTransfer`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"14741:13:65","parameters":{"id":33182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33175,"mutability":"mutable","name":"from","nameLocation":"14763:4:65","nodeType":"VariableDeclaration","scope":33198,"src":"14755:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33174,"name":"address","nodeType":"ElementaryTypeName","src":"14755:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33177,"mutability":"mutable","name":"to","nameLocation":"14777:2:65","nodeType":"VariableDeclaration","scope":33198,"src":"14769:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33176,"name":"address","nodeType":"ElementaryTypeName","src":"14769:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33179,"mutability":"mutable","name":"tokenId","nameLocation":"14789:7:65","nodeType":"VariableDeclaration","scope":33198,"src":"14781:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33178,"name":"uint256","nodeType":"ElementaryTypeName","src":"14781:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33181,"mutability":"mutable","name":"data","nameLocation":"14811:4:65","nodeType":"VariableDeclaration","scope":33198,"src":"14798:17:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":33180,"name":"bytes","nodeType":"ElementaryTypeName","src":"14798:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14754:62:65"},"returnParameters":{"id":33183,"nodeType":"ParameterList","parameters":[],"src":"14834:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33216,"nodeType":"FunctionDefinition","src":"15347:114:65","nodes":[],"body":{"id":33215,"nodeType":"Block","src":"15417:44:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":33209,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33201,"src":"15432:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33210,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33203,"src":"15436:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33211,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33205,"src":"15445:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":33212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15451:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":33208,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[33216,33301],"referencedDeclaration":33301,"src":"15423:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,uint256,address,bool)"}},"id":33213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15423:33:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33214,"nodeType":"ExpressionStatement","src":"15423:33:65"}]},"documentation":{"id":33199,"nodeType":"StructuredDocumentation","src":"14930:414:65","text":" @dev Approve `to` to operate on `tokenId`\n The `auth` argument is optional. If the value passed is non 0, then this function will check that `auth` is\n either the owner of the token, or approved to operate on all tokens held by this owner.\n Emits an {Approval} event.\n Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"15356:8:65","parameters":{"id":33206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33201,"mutability":"mutable","name":"to","nameLocation":"15373:2:65","nodeType":"VariableDeclaration","scope":33216,"src":"15365:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33200,"name":"address","nodeType":"ElementaryTypeName","src":"15365:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33203,"mutability":"mutable","name":"tokenId","nameLocation":"15385:7:65","nodeType":"VariableDeclaration","scope":33216,"src":"15377:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33202,"name":"uint256","nodeType":"ElementaryTypeName","src":"15377:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33205,"mutability":"mutable","name":"auth","nameLocation":"15402:4:65","nodeType":"VariableDeclaration","scope":33216,"src":"15394:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33204,"name":"address","nodeType":"ElementaryTypeName","src":"15394:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15364:43:65"},"returnParameters":{"id":33207,"nodeType":"ParameterList","parameters":[],"src":"15417:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":33301,"nodeType":"FunctionDefinition","src":"15633:730:65","nodes":[],"body":{"id":33300,"nodeType":"Block","src":"15727:636:65","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33228,"name":"emitEvent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33225,"src":"15785:9:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33229,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"15798:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15814:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15806:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33230,"name":"address","nodeType":"ElementaryTypeName","src":"15806:7:65","typeDescriptions":{}}},"id":33233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15806:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15798:18:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15785:31:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33288,"nodeType":"IfStatement","src":"15781:504:65","trueBody":{"id":33287,"nodeType":"Block","src":"15818:467:65","statements":[{"assignments":[33237],"declarations":[{"constant":false,"id":33237,"mutability":"mutable","name":"owner","nameLocation":"15834:5:65","nodeType":"VariableDeclaration","scope":33287,"src":"15826:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33236,"name":"address","nodeType":"ElementaryTypeName","src":"15826:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":33241,"initialValue":{"arguments":[{"id":33239,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33221,"src":"15856:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33238,"name":"_requireOwned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33382,"src":"15842:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":33240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15842:22:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15826:38:65"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33242,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"15980:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15996:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15988:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33243,"name":"address","nodeType":"ElementaryTypeName","src":"15988:7:65","typeDescriptions":{}}},"id":33246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15988:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15980:18:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33248,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33237,"src":"16002:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":33249,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"16011:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16002:13:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15980:35:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":33256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16019:30:65","subExpression":{"arguments":[{"id":33253,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33237,"src":"16037:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33254,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"16044:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33252,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32537,"src":"16020:16:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":33255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16020:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15980:69:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33263,"nodeType":"IfStatement","src":"15976:128:65","trueBody":{"id":33262,"nodeType":"Block","src":"16051:53:65","statements":[{"errorCall":{"arguments":[{"id":33259,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"16090:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33258,"name":"ERC721InvalidApprover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33624,"src":"16068:21:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":33260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16068:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33261,"nodeType":"RevertStatement","src":"16061:34:65"}]}},{"condition":{"id":33264,"name":"emitEvent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33225,"src":"16116:9:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33286,"nodeType":"IfStatement","src":"16112:167:65","trueBody":{"id":33285,"nodeType":"Block","src":"16127:152:65","statements":[{"expression":{"arguments":[{"expression":{"id":33268,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33651,"src":"16191:8:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16200:8:65","memberName":"selector","nodeType":"MemberAccess","src":"16191:17:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":33271,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33237,"src":"16218:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33270,"name":"toTopic","nodeType":"Identifier","overloadedDeclarations":[42612,42625],"referencedDeclaration":42612,"src":"16210:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_bytes32_$","typeString":"function (address) pure returns (bytes32)"}},"id":33272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16210:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":33274,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33219,"src":"16234:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33273,"name":"toTopic","nodeType":"Identifier","overloadedDeclarations":[42612,42625],"referencedDeclaration":42612,"src":"16226:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_bytes32_$","typeString":"function (address) pure returns (bytes32)"}},"id":33275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16226:11:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":33277,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33221,"src":"16247:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33276,"name":"toTopic","nodeType":"Identifier","overloadedDeclarations":[42612,42625],"referencedDeclaration":42625,"src":"16239:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) pure returns (bytes32)"}},"id":33278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16239:16:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":33281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16267:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"16257:9:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":33279,"name":"bytes","nodeType":"ElementaryTypeName","src":"16261:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":33282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16257:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33265,"name":"puppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41565,"src":"16178:6:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Puppet_$41402_$","typeString":"function () view returns (contract Puppet)"}},"id":33266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16178:8:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Puppet_$41402","typeString":"contract Puppet"}},"id":33267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16187:3:65","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":41401,"src":"16178:12:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,bytes32,bytes32,bytes memory) external"}},"id":33283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16178:92:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33284,"nodeType":"ExpressionStatement","src":"16178:92:65"}]}}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":33293,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"16331:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":33294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16331:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":33292,"name":"_tokenApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41224,"src":"16309:21:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":33295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16309:35:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":33296,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33221,"src":"16346:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33297,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33219,"src":"16355:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":33289,"name":"TokenApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39342,"src":"16291:13:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TokenApproval_$39342_$","typeString":"type(library TokenApproval)"}},"id":33291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16305:3:65","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":39130,"src":"16291:17:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_uint256_$_t_address_$returns$__$","typeString":"function (ResourceId,uint256,address)"}},"id":33298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16291:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33299,"nodeType":"ExpressionStatement","src":"16291:67:65"}]},"documentation":{"id":33217,"nodeType":"StructuredDocumentation","src":"15465:165:65","text":" @dev Variant of `_approve` with an optional flag to enable or disable the {Approval} event. The event is not\n emitted in the context of transfers."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"15642:8:65","parameters":{"id":33226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33219,"mutability":"mutable","name":"to","nameLocation":"15659:2:65","nodeType":"VariableDeclaration","scope":33301,"src":"15651:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33218,"name":"address","nodeType":"ElementaryTypeName","src":"15651:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33221,"mutability":"mutable","name":"tokenId","nameLocation":"15671:7:65","nodeType":"VariableDeclaration","scope":33301,"src":"15663:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33220,"name":"uint256","nodeType":"ElementaryTypeName","src":"15663:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33223,"mutability":"mutable","name":"auth","nameLocation":"15688:4:65","nodeType":"VariableDeclaration","scope":33301,"src":"15680:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33222,"name":"address","nodeType":"ElementaryTypeName","src":"15680:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33225,"mutability":"mutable","name":"emitEvent","nameLocation":"15699:9:65","nodeType":"VariableDeclaration","scope":33301,"src":"15694:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33224,"name":"bool","nodeType":"ElementaryTypeName","src":"15694:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15650:59:65"},"returnParameters":{"id":33227,"nodeType":"ParameterList","parameters":[],"src":"15727:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33353,"nodeType":"FunctionDefinition","src":"16554:421:65","nodes":[],"body":{"id":33352,"nodeType":"Block","src":"16647:328:65","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33311,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33306,"src":"16657:8:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":33314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16677:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16669:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33312,"name":"address","nodeType":"ElementaryTypeName","src":"16669:7:65","typeDescriptions":{}}},"id":33315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16669:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16657:22:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33322,"nodeType":"IfStatement","src":"16653:81:65","trueBody":{"id":33321,"nodeType":"Block","src":"16681:53:65","statements":[{"errorCall":{"arguments":[{"id":33318,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33306,"src":"16718:8:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33317,"name":"ERC721InvalidOperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33629,"src":"16696:21:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":33319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16696:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33320,"nodeType":"RevertStatement","src":"16689:38:65"}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":33327,"name":"_namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33467,"src":"16785:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes14_$","typeString":"function () view returns (bytes14)"}},"id":33328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16785:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":33326,"name":"_operatorApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41192,"src":"16760:24:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":33329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16760:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":33330,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33304,"src":"16800:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33331,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33306,"src":"16807:8:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33332,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33308,"src":"16817:8:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":33323,"name":"OperatorApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37918,"src":"16739:16:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OperatorApproval_$37918_$","typeString":"type(library OperatorApproval)"}},"id":33325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16756:3:65","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":37626,"src":"16739:20:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (ResourceId,address,address,bool)"}},"id":33333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16739:87:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33334,"nodeType":"ExpressionStatement","src":"16739:87:65"},{"expression":{"arguments":[{"expression":{"id":33338,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33660,"src":"16889:14:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":33339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16904:8:65","memberName":"selector","nodeType":"MemberAccess","src":"16889:23:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":33341,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33304,"src":"16922:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33340,"name":"toTopic","nodeType":"Identifier","overloadedDeclarations":[42612,42625],"referencedDeclaration":42612,"src":"16914:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_bytes32_$","typeString":"function (address) pure returns (bytes32)"}},"id":33342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16914:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":33344,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33306,"src":"16938:8:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33343,"name":"toTopic","nodeType":"Identifier","overloadedDeclarations":[42612,42625],"referencedDeclaration":42612,"src":"16930:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_bytes32_$","typeString":"function (address) pure returns (bytes32)"}},"id":33345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16930:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":33348,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33308,"src":"16960:8:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":33346,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16949:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":33347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16953:6:65","memberName":"encode","nodeType":"MemberAccess","src":"16949:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":33349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16949:20:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33335,"name":"puppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41565,"src":"16876:6:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Puppet_$41402_$","typeString":"function () view returns (contract Puppet)"}},"id":33336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16876:8:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Puppet_$41402","typeString":"contract Puppet"}},"id":33337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16885:3:65","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":41383,"src":"16876:12:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,bytes32,bytes memory) external"}},"id":33350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16876:94:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33351,"nodeType":"ExpressionStatement","src":"16876:94:65"}]},"documentation":{"id":33302,"nodeType":"StructuredDocumentation","src":"16367:184:65","text":" @dev Approve `operator` to operate on all of `owner` tokens\n Requirements:\n - operator can't be the address zero.\n Emits an {ApprovalForAll} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_setApprovalForAll","nameLocation":"16563:18:65","parameters":{"id":33309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33304,"mutability":"mutable","name":"owner","nameLocation":"16590:5:65","nodeType":"VariableDeclaration","scope":33353,"src":"16582:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33303,"name":"address","nodeType":"ElementaryTypeName","src":"16582:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33306,"mutability":"mutable","name":"operator","nameLocation":"16605:8:65","nodeType":"VariableDeclaration","scope":33353,"src":"16597:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33305,"name":"address","nodeType":"ElementaryTypeName","src":"16597:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33308,"mutability":"mutable","name":"approved","nameLocation":"16620:8:65","nodeType":"VariableDeclaration","scope":33353,"src":"16615:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33307,"name":"bool","nodeType":"ElementaryTypeName","src":"16615:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16581:48:65"},"returnParameters":{"id":33310,"nodeType":"ParameterList","parameters":[],"src":"16647:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33382,"nodeType":"FunctionDefinition","src":"17196:217:65","nodes":[],"body":{"id":33381,"nodeType":"Block","src":"17268:145:65","nodes":[],"statements":[{"assignments":[33362],"declarations":[{"constant":false,"id":33362,"mutability":"mutable","name":"owner","nameLocation":"17282:5:65","nodeType":"VariableDeclaration","scope":33381,"src":"17274:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33361,"name":"address","nodeType":"ElementaryTypeName","src":"17274:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":33366,"initialValue":{"arguments":[{"id":33364,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33356,"src":"17299:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33363,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32714,"src":"17290:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":33365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17290:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17274:33:65"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33367,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33362,"src":"17317:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":33370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17334:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17326:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33368,"name":"address","nodeType":"ElementaryTypeName","src":"17326:7:65","typeDescriptions":{}}},"id":33371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17326:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17317:19:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33378,"nodeType":"IfStatement","src":"17313:78:65","trueBody":{"id":33377,"nodeType":"Block","src":"17338:53:65","statements":[{"errorCall":{"arguments":[{"id":33374,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33356,"src":"17376:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33373,"name":"ERC721NonexistentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33593,"src":"17353:22:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":33375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17353:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33376,"nodeType":"RevertStatement","src":"17346:38:65"}]}},{"expression":{"id":33379,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33362,"src":"17403:5:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":33360,"id":33380,"nodeType":"Return","src":"17396:12:65"}]},"documentation":{"id":33354,"nodeType":"StructuredDocumentation","src":"16979:214:65","text":" @dev Reverts if the `tokenId` doesn't have a current owner (it hasn't been minted, or it has been burned).\n Returns the owner.\n Overrides to ownership logic should be done to {_ownerOf}."},"implemented":true,"kind":"function","modifiers":[],"name":"_requireOwned","nameLocation":"17205:13:65","parameters":{"id":33357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33356,"mutability":"mutable","name":"tokenId","nameLocation":"17227:7:65","nodeType":"VariableDeclaration","scope":33382,"src":"17219:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33355,"name":"uint256","nodeType":"ElementaryTypeName","src":"17219:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17218:17:65"},"returnParameters":{"id":33360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33382,"src":"17259:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33358,"name":"address","nodeType":"ElementaryTypeName","src":"17259:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17258:9:65"},"scope":33486,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":33446,"nodeType":"FunctionDefinition","src":"17932:652:65","nodes":[],"body":{"id":33445,"nodeType":"Block","src":"18034:550:65","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":33394,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33387,"src":"18044:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18047:4:65","memberName":"code","nodeType":"MemberAccess","src":"18044:7:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":33396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18052:6:65","memberName":"length","nodeType":"MemberAccess","src":"18044:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":33397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18061:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18044:18:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33444,"nodeType":"IfStatement","src":"18040:540:65","trueBody":{"id":33443,"nodeType":"Block","src":"18064:516:65","statements":[{"clauses":[{"block":{"id":33423,"nodeType":"Block","src":"18172:130:65","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33412,"name":"retval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33410,"src":"18186:6:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":33413,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33719,"src":"18196:15:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$33719_$","typeString":"type(contract IERC721Receiver)"}},"id":33414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18212:16:65","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33718,"src":"18196:32:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":33415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18229:8:65","memberName":"selector","nodeType":"MemberAccess","src":"18196:41:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"18186:51:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33422,"nodeType":"IfStatement","src":"18182:112:65","trueBody":{"id":33421,"nodeType":"Block","src":"18239:55:65","statements":[{"errorCall":{"arguments":[{"id":33418,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33387,"src":"18280:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33417,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33612,"src":"18258:21:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":33419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18258:25:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33420,"nodeType":"RevertStatement","src":"18251:32:65"}]}}]},"errorName":"","id":33424,"nodeType":"TryCatchClause","parameters":{"id":33411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33410,"mutability":"mutable","name":"retval","nameLocation":"18164:6:65","nodeType":"VariableDeclaration","scope":33424,"src":"18157:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":33409,"name":"bytes4","nodeType":"ElementaryTypeName","src":"18157:6:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"18156:15:65"},"src":"18148:154:65"},{"block":{"id":33440,"nodeType":"Block","src":"18331:243:65","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33428,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33426,"src":"18345:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":33429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18352:6:65","memberName":"length","nodeType":"MemberAccess","src":"18345:13:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":33430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18362:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18345:18:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":33438,"nodeType":"Block","src":"18426:140:65","statements":[{"AST":{"nativeSrc":"18492:64:65","nodeType":"YulBlock","src":"18492:64:65","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"18517:2:65","nodeType":"YulLiteral","src":"18517:2:65","type":"","value":"32"},{"name":"reason","nativeSrc":"18521:6:65","nodeType":"YulIdentifier","src":"18521:6:65"}],"functionName":{"name":"add","nativeSrc":"18513:3:65","nodeType":"YulIdentifier","src":"18513:3:65"},"nativeSrc":"18513:15:65","nodeType":"YulFunctionCall","src":"18513:15:65"},{"arguments":[{"name":"reason","nativeSrc":"18536:6:65","nodeType":"YulIdentifier","src":"18536:6:65"}],"functionName":{"name":"mload","nativeSrc":"18530:5:65","nodeType":"YulIdentifier","src":"18530:5:65"},"nativeSrc":"18530:13:65","nodeType":"YulFunctionCall","src":"18530:13:65"}],"functionName":{"name":"revert","nativeSrc":"18506:6:65","nodeType":"YulIdentifier","src":"18506:6:65"},"nativeSrc":"18506:38:65","nodeType":"YulFunctionCall","src":"18506:38:65"},"nativeSrc":"18506:38:65","nodeType":"YulExpressionStatement","src":"18506:38:65"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":33426,"isOffset":false,"isSlot":false,"src":"18521:6:65","valueSize":1},{"declaration":33426,"isOffset":false,"isSlot":false,"src":"18536:6:65","valueSize":1}],"id":33437,"nodeType":"InlineAssembly","src":"18483:73:65"}]},"id":33439,"nodeType":"IfStatement","src":"18341:225:65","trueBody":{"id":33436,"nodeType":"Block","src":"18365:55:65","statements":[{"errorCall":{"arguments":[{"id":33433,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33387,"src":"18406:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33432,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33612,"src":"18384:21:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":33434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18384:25:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33435,"nodeType":"RevertStatement","src":"18377:32:65"}]}}]},"errorName":"","id":33441,"nodeType":"TryCatchClause","parameters":{"id":33427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33426,"mutability":"mutable","name":"reason","nameLocation":"18323:6:65","nodeType":"VariableDeclaration","scope":33441,"src":"18310:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":33425,"name":"bytes","nodeType":"ElementaryTypeName","src":"18310:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18309:21:65"},"src":"18303:271:65"}],"externalCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":33403,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48336,"src":"18113:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":33404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18113:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33405,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33385,"src":"18127:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33406,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33389,"src":"18133:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33407,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33391,"src":"18142:4:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":33400,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33387,"src":"18092:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33399,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33719,"src":"18076:15:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$33719_$","typeString":"type(contract IERC721Receiver)"}},"id":33401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18076:19:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721Receiver_$33719","typeString":"contract IERC721Receiver"}},"id":33402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18096:16:65","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33718,"src":"18076:36:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":33408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18076:71:65","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":33442,"nodeType":"TryStatement","src":"18072:502:65"}]}}]},"documentation":{"id":33383,"nodeType":"StructuredDocumentation","src":"17417:512:65","text":" @dev Private function to invoke {IERC721Receiver-onERC721Received} on a target address. This will revert if the\n recipient doesn't accept the token transfer. The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnERC721Received","nameLocation":"17941:22:65","parameters":{"id":33392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33385,"mutability":"mutable","name":"from","nameLocation":"17972:4:65","nodeType":"VariableDeclaration","scope":33446,"src":"17964:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33384,"name":"address","nodeType":"ElementaryTypeName","src":"17964:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33387,"mutability":"mutable","name":"to","nameLocation":"17986:2:65","nodeType":"VariableDeclaration","scope":33446,"src":"17978:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33386,"name":"address","nodeType":"ElementaryTypeName","src":"17978:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33389,"mutability":"mutable","name":"tokenId","nameLocation":"17998:7:65","nodeType":"VariableDeclaration","scope":33446,"src":"17990:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33388,"name":"uint256","nodeType":"ElementaryTypeName","src":"17990:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33391,"mutability":"mutable","name":"data","nameLocation":"18020:4:65","nodeType":"VariableDeclaration","scope":33446,"src":"18007:17:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":33390,"name":"bytes","nodeType":"ElementaryTypeName","src":"18007:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17963:62:65"},"returnParameters":{"id":33393,"nodeType":"ParameterList","parameters":[],"src":"18034:0:65"},"scope":33486,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":33467,"nodeType":"FunctionDefinition","src":"18588:166:65","nodes":[],"body":{"id":33466,"nodeType":"Block","src":"18652:102:65","nodes":[],"statements":[{"assignments":[33453],"declarations":[{"constant":false,"id":33453,"mutability":"mutable","name":"systemId","nameLocation":"18669:8:65","nodeType":"VariableDeclaration","scope":33466,"src":"18658:19:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":33452,"nodeType":"UserDefinedTypeName","pathNode":{"id":33451,"name":"ResourceId","nameLocations":["18658:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"18658:10:65"},"referencedDeclaration":9486,"src":"18658:10:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"id":33461,"initialValue":{"arguments":[{"arguments":[{"id":33458,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18707:4:65","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721System_$33486","typeString":"contract ERC721System"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC721System_$33486","typeString":"contract ERC721System"}],"id":33457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18699:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33456,"name":"address","nodeType":"ElementaryTypeName","src":"18699:7:65","typeDescriptions":{}}},"id":33459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18699:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":33454,"name":"SystemRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57138,"src":"18680:14:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemRegistry_$57138_$","typeString":"type(library SystemRegistry)"}},"id":33455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18695:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":56708,"src":"18680:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (address) view returns (ResourceId)"}},"id":33460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18680:33:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"18658:55:65"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":33462,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33453,"src":"18726:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":33463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18735:12:65","memberName":"getNamespace","nodeType":"MemberAccess","referencedDeclaration":48753,"src":"18726:21:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes14_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes14)"}},"id":33464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18726:23:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"functionReturnParameters":33450,"id":33465,"nodeType":"Return","src":"18719:30:65"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_namespace","nameLocation":"18597:10:65","parameters":{"id":33447,"nodeType":"ParameterList","parameters":[],"src":"18607:2:65"},"returnParameters":{"id":33450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33449,"mutability":"mutable","name":"namespace","nameLocation":"18641:9:65","nodeType":"VariableDeclaration","scope":33467,"src":"18633:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":33448,"name":"bytes14","nodeType":"ElementaryTypeName","src":"18633:7:65","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"18632:19:65"},"scope":33486,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":33485,"nodeType":"FunctionDefinition","src":"18758:128:65","nodes":[],"body":{"id":33484,"nodeType":"Block","src":"18797:89:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":33477,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18860:4:65","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721System_$33486","typeString":"contract ERC721System"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC721System_$33486","typeString":"contract ERC721System"}],"id":33476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18852:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33475,"name":"address","nodeType":"ElementaryTypeName","src":"18852:7:65","typeDescriptions":{}}},"id":33478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18852:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":33473,"name":"SystemRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57138,"src":"18833:14:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemRegistry_$57138_$","typeString":"type(library SystemRegistry)"}},"id":33474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18848:3:65","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":56708,"src":"18833:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (address) view returns (ResourceId)"}},"id":33479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18833:33:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[],"expression":{"argumentTypes":[],"id":33480,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48336,"src":"18868:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":33481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18868:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":33470,"name":"AccessControlLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47224,"src":"18803:16:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AccessControlLib_$47224_$","typeString":"type(library AccessControlLib)"}},"id":33472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18820:12:65","memberName":"requireOwner","nodeType":"MemberAccess","referencedDeclaration":47223,"src":"18803:29:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$returns$__$","typeString":"function (ResourceId,address) view"}},"id":33482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18803:78:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33483,"nodeType":"ExpressionStatement","src":"18803:78:65"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_requireOwner","nameLocation":"18767:13:65","parameters":{"id":33468,"nodeType":"ParameterList","parameters":[],"src":"18780:2:65"},"returnParameters":{"id":33469,"nodeType":"ParameterList","parameters":[],"src":"18797:0:65"},"scope":33486,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":32304,"name":"IERC721Mintable","nameLocations":["1225:15:65"],"nodeType":"IdentifierPath","referencedDeclaration":33701,"src":"1225:15:65"},"id":32305,"nodeType":"InheritanceSpecifier","src":"1225:15:65"},{"baseName":{"id":32306,"name":"System","nameLocations":["1242:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":47981,"src":"1242:6:65"},"id":32307,"nodeType":"InheritanceSpecifier","src":"1242:6:65"},{"baseName":{"id":32308,"name":"PuppetMaster","nameLocations":["1250:12:65"],"nodeType":"IdentifierPath","referencedDeclaration":41566,"src":"1250:12:65"},"id":32309,"nodeType":"InheritanceSpecifier","src":"1250:12:65"}],"canonicalName":"ERC721System","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[33486,41566,47981,48382,47684,47584,33701,33580,33630,33661],"name":"ERC721System","nameLocation":"1209:12:65","scope":33487,"usedErrors":[8645,33588,33593,33602,33607,33612,33619,33624,33629,41520,47715],"usedEvents":[8796,33642,33651,33660]}],"license":"MIT"},"id":65}