[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "string", "name": "baseTokenURI", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PAUSER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "allowSetMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "allowedSetMints", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getRoleMember", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleMemberCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "mintSet", "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": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "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": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405260136010553480156200001657600080fd5b5060405162002f5238038062002f528339810160408190526200003991620003d6565b60016002558251839083906200005790600390602085019062000263565b5080516200006d90600490602084019062000263565b5050600d805460ff191690555080516200008f90601190602084019062000263565b506200009d600033620000fe565b620000c97f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620000fe565b620000f57f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33620000fe565b505050620004a4565b6200011582826200014160201b6200130c1760201c565b60008281526001602090815260409091206200013c9183906200131a62000151821b17901c565b505050565b6200014d828262000171565b5050565b600062000168836001600160a01b03841662000211565b90505b92915050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200014d576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001cd3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008181526001830160205260408120546200025a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200016b565b5060006200016b565b828054620002719062000467565b90600052602060002090601f016020900481019282620002955760008555620002e0565b82601f10620002b057805160ff1916838001178555620002e0565b82800160010185558215620002e0579182015b82811115620002e0578251825591602001919060010190620002c3565b50620002ee929150620002f2565b5090565b5b80821115620002ee5760008155600101620002f3565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200033157600080fd5b81516001600160401b03808211156200034e576200034e62000309565b604051601f8301601f19908116603f0116810190828211818310171562000379576200037962000309565b816040528381526020925086838588010111156200039657600080fd5b600091505b83821015620003ba57858201830151818301840152908201906200039b565b83821115620003cc5760008385830101525b9695505050505050565b600080600060608486031215620003ec57600080fd5b83516001600160401b03808211156200040457600080fd5b62000412878388016200031f565b945060208601519150808211156200042957600080fd5b62000437878388016200031f565b935060408601519150808211156200044e57600080fd5b506200045d868287016200031f565b9150509250925092565b600181811c908216806200047c57607f821691505b602082108114156200049e57634e487b7160e01b600052602260045260246000fd5b50919050565b612a9e80620004b46000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c80636352211e1161012a578063a217fddf116100bd578063ca15c8731161008c578063d547741f11610071578063d547741f146104cc578063e63ab1e9146104df578063e985e9c51461050657600080fd5b8063ca15c87314610492578063d5391393146104a557600080fd5b8063a217fddf14610451578063a22cb46514610459578063b88d4fde1461046c578063c87b56dd1461047f57600080fd5b80638456cb59116100f95780638456cb59146103f75780639010d07c146103ff57806391d148541461041257806395d89b411461044957600080fd5b80636352211e1461039b5780636a627842146103ae57806370a08231146103c157806375eb40bb146103d457600080fd5b80632f745c59116101bd57806342842e0e1161018c5780634f6ccce7116101715780634f6ccce71461036a5780635c975abb1461037d5780636196006d1461038857600080fd5b806342842e0e1461034457806342966c681461035757600080fd5b80632f745c591461030357806336568abe146103165780633f4ba83a146103295780633fddfd461461033157600080fd5b806318160ddd116101f957806318160ddd146102a857806323b872dd146102ba578063248a9ca3146102cd5780632f2ff15d146102f057600080fd5b806301ffc9a71461022b57806306fdde0314610253578063081812fc14610268578063095ea7b314610293575b600080fd5b61023e6102393660046125f7565b610542565b60405190151581526020015b60405180910390f35b61025b610553565b60405161024a919061266c565b61027b61027636600461267f565b6105e5565b6040516001600160a01b03909116815260200161024a565b6102a66102a13660046126b4565b61067f565b005b600b545b60405190815260200161024a565b6102a66102c83660046126de565b6107b1565b6102ac6102db36600461267f565b60009081526020819052604090206001015490565b6102a66102fe36600461271a565b610839565b6102ac6103113660046126b4565b61085b565b6102a661032436600461271a565b610903565b6102a6610925565b6102a661033f366004612746565b6109cb565b6102a66103523660046126de565b610b63565b6102a661036536600461267f565b610b7e565b6102ac61037836600461267f565b610c05565b600d5460ff1661023e565b6102a6610396366004612761565b610ca9565b61027b6103a936600461267f565b610dac565b6102a66103bc366004612746565b610e37565b6102ac6103cf366004612746565b610f44565b61023e6103e2366004612746565b600f6020526000908152604090205460ff1681565b6102a6610fde565b61027b61040d36600461279d565b611082565b61023e61042036600461271a565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b61025b6110a1565b6102ac600081565b6102a6610467366004612761565b6110b0565b6102a661047a3660046127d5565b611175565b61025b61048d36600461267f565b611203565b6102ac6104a036600461267f565b6112eb565b6102ac7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102a66104da36600461271a565b611302565b6102ac7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b61023e6105143660046128b1565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b600061054d8261132f565b92915050565b606060038054610562906128db565b80601f016020809104026020016040519081016040528092919081815260200182805461058e906128db565b80156105db5780601f106105b0576101008083540402835291602001916105db565b820191906000526020600020905b8154815290600101906020018083116105be57829003601f168201915b5050505050905090565b6000818152600560205260408120546001600160a01b03166106635760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600760205260409020546001600160a01b031690565b600061068a82610dac565b9050806001600160a01b0316836001600160a01b031614156107145760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f7200000000000000000000000000000000000000000000000000000000000000606482015260840161065a565b336001600160a01b038216148061073057506107308133610514565b6107a25760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161065a565b6107ac838361136d565b505050565b6107bc335b826113e8565b61082e5760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f766564000000000000000000000000000000606482015260840161065a565b6107ac8383836114df565b61084382826116c4565b60008281526001602052604090206107ac908261131a565b600061086683610f44565b82106108da5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e6473000000000000000000000000000000000000000000606482015260840161065a565b506001600160a01b03919091166000908152600960209081526040808320938352929052205490565b61090d8282611753565b60008281526001602052604090206107ac90826117db565b61094f7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610420565b6109c15760405162461bcd60e51b815260206004820152602c60248201527f456c6b5465616d4e46543a206d75737420686176652070617573657220726f6c60448201527f6520746f20756e70617573650000000000000000000000000000000000000000606482015260840161065a565b6109c96117f0565b565b600280541415610a1d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161065a565b60028055610a4b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610420565b80610a655750336000908152600f602052604090205460ff165b610ad75760405162461bcd60e51b815260206004820152602960248201527f456c6b5465616d4e46543a206d75737420626520616c6c6f77656420746f206d60448201527f696e742061207365740000000000000000000000000000000000000000000000606482015260840161065a565b60005b601054811015610b1457610af682610af1600e5490565b61188c565b610b04600e80546001019055565b610b0d8161292c565b9050610ada565b50610b3f7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610420565b610b5b57336000908152600f60205260409020805460ff191690555b506001600255565b6107ac83838360405180602001604052806000815250611175565b610b87336107b6565b610bf95760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656400000000000000000000000000000000606482015260840161065a565b610c02816119e7565b50565b6000610c10600b5490565b8210610c845760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e64730000000000000000000000000000000000000000606482015260840161065a565b600b8281548110610c9757610c97612947565b90600052602060002001549050919050565b600280541415610cfb5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161065a565b60028055610d0a600033610420565b610d7c5760405162461bcd60e51b815260206004820152603260248201527f456c6b5465616d4e46543a206d75737420686176652061646d696e20726f6c6560448201527f20746f2061646420736574206d696e7465720000000000000000000000000000606482015260840161065a565b6001600160a01b03919091166000908152600f60205260409020805460ff19169115159190911790556001600255565b6000818152600560205260408120546001600160a01b03168061054d5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201527f656e7420746f6b656e0000000000000000000000000000000000000000000000606482015260840161065a565b600280541415610e895760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161065a565b60028055610eb77f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610420565b610f295760405162461bcd60e51b815260206004820152602960248201527f456c6b5465616d4e46543a206d7573742068617665206d696e74657220726f6c60448201527f6520746f206d696e740000000000000000000000000000000000000000000000606482015260840161065a565b610f3681610af1600e5490565b610b5b600e80546001019055565b60006001600160a01b038216610fc25760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f206164647265737300000000000000000000000000000000000000000000606482015260840161065a565b506001600160a01b031660009081526006602052604090205490565b6110087f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610420565b61107a5760405162461bcd60e51b815260206004820152602a60248201527f456c6b5465616d4e46543a206d75737420686176652070617573657220726f6c60448201527f6520746f20706175736500000000000000000000000000000000000000000000606482015260840161065a565b6109c9611a9b565b600082815260016020526040812061109a9083611b23565b9392505050565b606060048054610562906128db565b6001600160a01b0382163314156111095760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065a565b3360008181526008602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61117f33836113e8565b6111f15760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f766564000000000000000000000000000000606482015260840161065a565b6111fd84848484611b2f565b50505050565b6000818152600560205260409020546060906001600160a01b03166112905760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000606482015260840161065a565b600061129a611bb8565b905060008151116112ba576040518060200160405280600081525061109a565b806112c484611bc7565b6040516020016112d592919061295d565b6040516020818303038152906040529392505050565b600081815260016020526040812061054d90611cf9565b61090d8282611d03565b6113168282611d90565b5050565b600061109a836001600160a01b038416611e2e565b60006001600160e01b031982167f780e9d6300000000000000000000000000000000000000000000000000000000148061054d575061054d82611e7d565b6000818152600760205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03841690811790915581906113af82610dac565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600560205260408120546001600160a01b03166114615760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161065a565b600061146c83610dac565b9050806001600160a01b0316846001600160a01b031614806114a75750836001600160a01b031661149c846105e5565b6001600160a01b0316145b806114d757506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166114f282610dac565b6001600160a01b03161461156e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e0000000000000000000000000000000000000000000000606482015260840161065a565b6001600160a01b0382166115e95760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065a565b6115f4838383611eef565b6115ff60008261136d565b6001600160a01b038316600090815260066020526040812080546001929061162890849061298c565b90915550506001600160a01b03821660009081526006602052604081208054600192906116569084906129a3565b9091555050600081815260056020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000828152602081905260409020600101546116e1905b33610420565b61130c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201527f2061646d696e20746f206772616e740000000000000000000000000000000000606482015260840161065a565b6001600160a01b03811633146117d15760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c660000000000000000000000000000000000606482015260840161065a565b6113168282611efa565b600061109a836001600160a01b038416611f79565b600d5460ff166118425760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161065a565b600d805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166118e25760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065a565b6000818152600560205260409020546001600160a01b0316156119475760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065a565b61195360008383611eef565b6001600160a01b038216600090815260066020526040812080546001929061197c9084906129a3565b9091555050600081815260056020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006119f282610dac565b9050611a0081600084611eef565b611a0b60008361136d565b6001600160a01b0381166000908152600660205260408120805460019290611a3490849061298c565b9091555050600082815260056020526040808220805473ffffffffffffffffffffffffffffffffffffffff19169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600d5460ff1615611aee5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161065a565b600d805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861186f3390565b600061109a838361206c565b611b3a8484846114df565b611b468484848461210d565b6111fd5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065a565b606060118054610562906128db565b606081611c0757505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611c315780611c1b8161292c565b9150611c2a9050600a836129d1565b9150611c0b565b60008167ffffffffffffffff811115611c4c57611c4c6127bf565b6040519080825280601f01601f191660200182016040528015611c76576020820181803683370190505b5090505b84156114d757611c8b60018361298c565b9150611c98600a866129e5565b611ca39060306129a3565b60f81b818381518110611cb857611cb8612947565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611cf2600a866129d1565b9450611c7a565b600061054d825490565b600082815260208190526040902060010154611d1e906116db565b6117d15760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606482015260840161065a565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16611316576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055611dea3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000818152600183016020526040812054611e755750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561054d565b50600061054d565b60006001600160e01b031982167f80ac58cd000000000000000000000000000000000000000000000000000000001480611ee057506001600160e01b031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061054d575061054d82612270565b6107ac8383836122ae565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1615611316576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008181526001830160205260408120548015612062576000611f9d60018361298c565b8554909150600090611fb19060019061298c565b90506000866000018281548110611fca57611fca612947565b9060005260206000200154905080876000018481548110611fed57611fed612947565b6000918252602090912001556120048360016129a3565b60008281526001890160205260409020558654879080612026576120266129f9565b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061054d565b600091505061054d565b815460009082106120e55760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60448201527f6473000000000000000000000000000000000000000000000000000000000000606482015260840161065a565b8260000182815481106120fa576120fa612947565b9060005260206000200154905092915050565b60006001600160a01b0384163b1561226557604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612151903390899088908890600401612a0f565b602060405180830381600087803b15801561216b57600080fd5b505af192505050801561219b575060408051601f3d908101601f1916820190925261219891810190612a4b565b60015b61224b573d8080156121c9576040519150601f19603f3d011682016040523d82523d6000602084013e6121ce565b606091505b5080516122435760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065a565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506114d7565b506001949350505050565b60006001600160e01b031982167f5a05180f00000000000000000000000000000000000000000000000000000000148061054d575061054d82612332565b6122b9838383612399565b600d5460ff16156107ac5760405162461bcd60e51b815260206004820152602b60248201527f4552433732315061757361626c653a20746f6b656e207472616e73666572207760448201527f68696c6520706175736564000000000000000000000000000000000000000000606482015260840161065a565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061054d57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b031983161461054d565b6001600160a01b0383166123f4576123ef81600b80546000838152600c60205260408120829055600182018355919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90155565b612417565b816001600160a01b0316836001600160a01b031614612417576124178382612451565b6001600160a01b03821661242e576107ac816124ee565b826001600160a01b0316826001600160a01b0316146107ac576107ac828261259d565b6000600161245e84610f44565b612468919061298c565b6000838152600a60205260409020549091508082146124bb576001600160a01b03841660009081526009602090815260408083208584528252808320548484528184208190558352600a90915290208190555b506000918252600a602090815260408084208490556001600160a01b039094168352600981528383209183525290812055565b600b546000906125009060019061298c565b6000838152600c6020526040812054600b805493945090928490811061252857612528612947565b9060005260206000200154905080600b838154811061254957612549612947565b6000918252602080832090910192909255828152600c9091526040808220849055858252812055600b805480612581576125816129f9565b6001900381819060005260206000200160009055905550505050565b60006125a883610f44565b6001600160a01b0390931660009081526009602090815260408083208684528252808320859055938252600a9052919091209190915550565b6001600160e01b031981168114610c0257600080fd5b60006020828403121561260957600080fd5b813561109a816125e1565b60005b8381101561262f578181015183820152602001612617565b838111156111fd5750506000910152565b60008151808452612658816020860160208601612614565b601f01601f19169290920160200192915050565b60208152600061109a6020830184612640565b60006020828403121561269157600080fd5b5035919050565b80356001600160a01b03811681146126af57600080fd5b919050565b600080604083850312156126c757600080fd5b6126d083612698565b946020939093013593505050565b6000806000606084860312156126f357600080fd5b6126fc84612698565b925061270a60208501612698565b9150604084013590509250925092565b6000806040838503121561272d57600080fd5b8235915061273d60208401612698565b90509250929050565b60006020828403121561275857600080fd5b61109a82612698565b6000806040838503121561277457600080fd5b61277d83612698565b91506020830135801515811461279257600080fd5b809150509250929050565b600080604083850312156127b057600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156127eb57600080fd5b6127f485612698565b935061280260208601612698565b925060408501359150606085013567ffffffffffffffff8082111561282657600080fd5b818701915087601f83011261283a57600080fd5b81358181111561284c5761284c6127bf565b604051601f8201601f19908116603f01168101908382118183101715612874576128746127bf565b816040528281528a602084870101111561288d57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156128c457600080fd5b6128cd83612698565b915061273d60208401612698565b600181811c908216806128ef57607f821691505b6020821081141561291057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600060001982141561294057612940612916565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6000835161296f818460208801612614565b835190830190612983818360208801612614565b01949350505050565b60008282101561299e5761299e612916565b500390565b600082198211156129b6576129b6612916565b500190565b634e487b7160e01b600052601260045260246000fd5b6000826129e0576129e06129bb565b500490565b6000826129f4576129f46129bb565b500690565b634e487b7160e01b600052603160045260246000fd5b60006001600160a01b03808716835280861660208401525083604083015260806060830152612a416080830184612640565b9695505050505050565b600060208284031215612a5d57600080fd5b815161109a816125e156fea2646970667358221220dbc187aa0aa4f421ecdc7a7f48ab1740899ec590c1a091e0956e31ecd38af49c64736f6c63430008090033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000c456c6b205465616d204e46540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000545544e4654000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003768747470733a2f2f6e66742e656c6b2e66696e616e63652f617661782f636f6c6c656374696f6e2d656c6b7465616d2f746f6b656e732f000000000000000000