[ { "inputs": [ { "internalType": "string", "name": "nftName", "type": "string" }, { "internalType": "string", "name": "nftSymbol", "type": "string" }, { "internalType": "string", "name": "baseTokenURI", "type": "string" }, { "internalType": "address", "name": "_royaltyRecipient", "type": "address" }, { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "_startAt", "type": "uint256" }, { "internalType": "uint256", "name": "_WLstartAt", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "Claim", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "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" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [ { "internalType": "address", "name": "_whitelistedAddress", "type": "address" } ], "name": "EarlyMinterMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "KALAO", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_EARLY_CLAIM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_MINTABLE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_PER_CLAIM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_PUBLIC_CLAIM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MintIsOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "NFT_PRICE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ROYALTY_VALUE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WLstartAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "n", "type": "uint256" } ], "name": "claim", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "n", "type": "uint256" }, { "internalType": "bytes32[]", "name": "_proof", "type": "bytes32[]" } ], "name": "earlyClaim", "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": "_whitelistedAddress", "type": "address" }, { "internalType": "bytes32[]", "name": "_proof", "type": "bytes32[]" } ], "name": "isEarlyMinter", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "merkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "uint256", "name": "n", "type": "uint256" }, { "internalType": "address", "name": "adr", "type": "address" } ], "name": "premint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "publicMintedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addressToWhitelist", "type": "address" } ], "name": "removeEarlyUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "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": "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": "_addr", "type": "address[]" } ], "name": "setAdmins", "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": "string", "name": "uri", "type": "string" } ], "name": "setBaseUri", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256", "name": "allowedToMint", "type": "uint256" } ], "name": "setEarlyMinters", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_root", "type": "bytes32" } ], "name": "setMerkleRoot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_royaltyRecipient", "type": "address" } ], "name": "setRoyaltyAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_startAt", "type": "uint256" } ], "name": "setStartAt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_WLstartAt", "type": "uint256" } ], "name": "setWLstartAt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [], "name": "toggleMint", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a06040819052600060808190526200001b916012916200014f565b50600160138190556014805460ff1916909117905560006015553480156200004257600080fd5b50604051620037d7380380620037d78339810160408190526200006591620002a8565b8651879087906200007e9060009060208501906200014f565b508051620000949060019060208401906200014f565b505050620000b1620000ab620000f960201b60201c565b620000fd565b601680546001600160a01b0319166001600160a01b0386161790558451620000e19060129060208801906200014f565b50600e92909255600c55600d5550620003c892505050565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200015d9062000375565b90600052602060002090601f016020900481019282620001815760008555620001cc565b82601f106200019c57805160ff1916838001178555620001cc565b82800160010185558215620001cc579182015b82811115620001cc578251825591602001919060010190620001af565b50620001da929150620001de565b5090565b5b80821115620001da5760008155600101620001df565b600082601f83011262000206578081fd5b81516001600160401b0380821115620002235762000223620003b2565b604051601f8301601f19908116603f011681019082821181831017156200024e576200024e620003b2565b816040528381526020925086838588010111156200026a578485fd5b8491505b838210156200028d57858201830151818301840152908201906200026e565b838211156200029e57848385830101525b9695505050505050565b600080600080600080600060e0888a031215620002c3578283fd5b87516001600160401b0380821115620002da578485fd5b620002e88b838c01620001f5565b985060208a0151915080821115620002fe578485fd5b6200030c8b838c01620001f5565b975060408a015191508082111562000322578485fd5b50620003318a828b01620001f5565b60608a015190965090506001600160a01b038116811462000350578384fd5b809450506080880151925060a0880151915060c0880151905092959891949750929550565b6002810460018216806200038a57607f821691505b60208210811415620003ac57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6133ff80620003d86000396000f3fe6080604052600436106102975760003560e01c80636d68b20b1161015a578063a60118e8116100c1578063e985e9c51161007a578063e985e9c514610758578063ead29d4e14610778578063f2c64ad214610798578063f2fde38b146107ad578063f3a133a9146107cd578063fc68e62d146107ed5761029e565b8063a60118e8146106ae578063accc1d5e146106ce578063b88d4fde146106ee578063c74465651461070e578063c87b56dd14610723578063d3dd5fe0146107435761029e565b80638da5cb5b116101135780638da5cb5b1461061a57806393791b031461062f57806395d89b4114610644578063a0bcfc7f14610659578063a22cb46514610679578063a28cf772146106995761029e565b80636d68b20b14610570578063705a13e21461059057806370a08231146105a5578063715018a6146105c55780637cb64759146105da57806386063f71146105fa5761029e565b8063379607f5116101fe5780634f6ccce7116101b75780634f6ccce7146104d1578063538dba3e146104f15780635471f49f146105115780636352211e14610526578063676dd563146105465780636b907eba1461055b5761029e565b8063379607f51461043f5780633ccfd60b146104525780633f879faf1461046757806340b898061461047c57806342842e0e1461049c5780634f02c420146104bc5761029e565b806318160ddd1161025057806318160ddd146103875780631b4f7f351461039c57806323b872dd146103bc5780632a55205a146103dc5780632eb4a7ab1461040a5780632f745c591461041f5761029e565b806301ffc9a7146102a057806306d254da146102d657806306fdde03146102f6578063081812fc14610318578063095ea7b31461034557806315147aee146103655761029e565b3661029e57005b005b3480156102ac57600080fd5b506102c06102bb366004612829565b61080d565b6040516102cd9190612a0d565b60405180910390f35b3480156102e257600080fd5b5061029e6102f13660046125d3565b610820565b34801561030257600080fd5b5061030b61088a565b6040516102cd9190612a21565b34801561032457600080fd5b50610338610333366004612811565b61091c565b6040516102cd91906129a3565b34801561035157600080fd5b5061029e61036036600461275e565b61095f565b34801561037157600080fd5b5061037a6109f7565b6040516102cd9190612a18565b34801561039357600080fd5b5061037a6109fc565b3480156103a857600080fd5b506102c06103b73660046126d3565b610a02565b3480156103c857600080fd5b5061029e6103d736600461261f565b610a78565b3480156103e857600080fd5b506103fc6103f73660046128fa565b610ab0565b6040516102cd9291906129f4565b34801561041657600080fd5b5061037a610b0e565b34801561042b57600080fd5b5061037a61043a36600461275e565b610b14565b61029e61044d366004612811565b610b66565b34801561045e57600080fd5b5061029e610e41565b34801561047357600080fd5b5061037a610eee565b34801561048857600080fd5b5061029e6104973660046125d3565b610ef4565b3480156104a857600080fd5b5061029e6104b736600461261f565b610f4d565b3480156104c857600080fd5b5061037a610f68565b3480156104dd57600080fd5b5061037a6104ec366004612811565b610f6e565b3480156104fd57600080fd5b5061029e61050c3660046128a7565b610fc9565b34801561051d57600080fd5b5061037a6110d2565b34801561053257600080fd5b50610338610541366004612811565b6110d7565b34801561055257600080fd5b5061037a61110c565b34801561056757600080fd5b506102c0611118565b34801561057c57600080fd5b5061029e61058b366004612811565b611121565b34801561059c57600080fd5b50610338611165565b3480156105b157600080fd5b5061037a6105c03660046125d3565b61117d565b3480156105d157600080fd5b5061029e6111c1565b3480156105e657600080fd5b5061029e6105f5366004612811565b61120c565b34801561060657600080fd5b5061029e6106153660046128c9565b611250565b34801561062657600080fd5b506103386114ef565b34801561063b57600080fd5b5061037a6114fe565b34801561065057600080fd5b5061030b611504565b34801561066557600080fd5b5061029e610674366004612861565b611513565b34801561068557600080fd5b5061029e610694366004612724565b611569565b3480156106a557600080fd5b5061037a61157b565b3480156106ba57600080fd5b5061037a6106c93660046125d3565b611581565b3480156106da57600080fd5b5061029e6106e9366004612787565b61159c565b3480156106fa57600080fd5b5061029e61070936600461265a565b61165b565b34801561071a57600080fd5b5061037a611694565b34801561072f57600080fd5b5061030b61073e366004612811565b61169a565b34801561074f57600080fd5b5061029e61171d565b34801561076457600080fd5b506102c06107733660046125ed565b611770565b34801561078457600080fd5b5061037a6107933660046125d3565b61179e565b3480156107a457600080fd5b5061037a6117b0565b3480156107b957600080fd5b5061029e6107c83660046125d3565b6117b5565b3480156107d957600080fd5b5061029e6107e8366004612811565b611823565b3480156107f957600080fd5b5061029e6108083660046127c7565b611867565b600061081882611917565b90505b919050565b61082861193c565b6001600160a01b03166108396114ef565b6001600160a01b0316146108685760405162461bcd60e51b815260040161085f90613033565b60405180910390fd5b601680546001600160a01b0319166001600160a01b0392909216919091179055565b60606000805461089990613307565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590613307565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b5050505050905090565b600061092782611940565b6109435760405162461bcd60e51b815260040161085f90612fe7565b506000908152600460205260409020546001600160a01b031690565b600061096a826110d7565b9050806001600160a01b0316836001600160a01b0316141561099e5760405162461bcd60e51b815260040161085f9061313d565b806001600160a01b03166109b061193c565b6001600160a01b031614806109cc57506109cc8161077361193c565b6109e85760405162461bcd60e51b815260040161085f90612e06565b6109f2838361195d565b505050565b600281565b60085490565b60008084604051602001610a169190612947565b604051602081830303815290604052805190602001209050610a6f84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600e5491508490506119cb565b95945050505050565b610a89610a8361193c565b826119e1565b610aa55760405162461bcd60e51b815260040161085f9061317e565b6109f2838383611a66565b6000828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b90910462ffffff16928201839052929161271090610afa90866132a5565b610b049190613291565b9150509250929050565b600e5481565b6000610b1f8361117d565b8210610b3d5760405162461bcd60e51b815260040161085f90612b13565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60145460ff16610b885760405162461bcd60e51b815260040161085f90612aa2565b600c54421015610baa5760405162461bcd60e51b815260040161085f9061321b565b61014d610bb56109fc565b610bbf9083613279565b1115610bdd5760405162461bcd60e51b815260040161085f90612a34565b60008111610bfd5760405162461bcd60e51b815260040161085f90612d9f565b600a811115610c1e5760405162461bcd60e51b815260040161085f90612ef6565b33600090815260106020526040902054600211610c4d5760405162461bcd60e51b815260040161085f90613244565b33600090815260106020526040902054600290610c6a9083613279565b1115610c885760405162461bcd60e51b815260040161085f90612fb0565b610c9a816702c68af0bb1400006132a5565b341015610cb95760405162461bcd60e51b815260040161085f90612f38565b3360009081526010602052604081208054839290610cd8908490613279565b9091555060009050610cf2826702c68af0bb1400006132a5565b90508060156000828254610d069190613279565b9091555060009050610d1882346132c4565b604051909150309083156108fc029084906000818181858888f19350505050158015610d48573d6000803e3d6000fd5b5060005b83811015610dd957610d67610d5f61193c565b601354611b99565b601354601654610d8391906001600160a01b03166103e8611bb3565b600160136000828254610d969190613279565b90915550506013546040517f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f790600090a280610dd181613342565b915050610d4c565b508015610e2257610de861193c565b6001600160a01b03166108fc829081150290604051600060405180830381858888f19350505050158015610e20573d6000803e3d6000fd5b505b6109f273eff2357c9e40103ac4d268b32de478e4fbbfc4f06001611569565b60116000610e4d61193c565b6001600160a01b0316815260208101919091526040016000205460ff161515600114610e8b5760405162461bcd60e51b815260040161085f90612dd6565b60004711610eab5760405162461bcd60e51b815260040161085f90612ae6565b610eb361193c565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015610eeb573d6000803e3d6000fd5b50565b61014d81565b610efc61193c565b6001600160a01b0316610f0d6114ef565b6001600160a01b031614610f335760405162461bcd60e51b815260040161085f90613033565b6001600160a01b03166000908152600f6020526040812055565b6109f28383836040518060200160405280600081525061165b565b60135481565b6000610f786109fc565b8210610f965760405162461bcd60e51b815260040161085f906131cf565b60088281548110610fb757634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b610fd161193c565b6001600160a01b0316610fe26114ef565b6001600160a01b0316146110085760405162461bcd60e51b815260040161085f90613033565b600082116110285760405162461bcd60e51b815260040161085f90612d9f565b600a8211156110495760405162461bcd60e51b815260040161085f90612ef6565b60005b828110156109f25761106082601354611b99565b60135460165461107c91906001600160a01b03166103e8611bb3565b60016013600082825461108f9190613279565b90915550506013546040517f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f790600090a2806110ca81613342565b91505061104c565b600a81565b6000818152600260205260408120546001600160a01b0316806108185760405162461bcd60e51b815260040161085f90612ead565b6702c68af0bb14000081565b60145460ff1681565b61112961193c565b6001600160a01b031661113a6114ef565b6001600160a01b0316146111605760405162461bcd60e51b815260040161085f90613033565b600d55565b73eff2357c9e40103ac4d268b32de478e4fbbfc4f081565b60006001600160a01b0382166111a55760405162461bcd60e51b815260040161085f90612e63565b506001600160a01b031660009081526003602052604090205490565b6111c961193c565b6001600160a01b03166111da6114ef565b6001600160a01b0316146112005760405162461bcd60e51b815260040161085f90613033565b61120a6000611c35565b565b61121461193c565b6001600160a01b03166112256114ef565b6001600160a01b03161461124b5760405162461bcd60e51b815260040161085f90613033565b600e55565b60145460ff166112725760405162461bcd60e51b815260040161085f90612aa2565b600d544210156112945760405162461bcd60e51b815260040161085f9061321b565b600c5442106112b55760405162461bcd60e51b815260040161085f9061309f565b61014d6112c06109fc565b6112ca9085613279565b11156112e85760405162461bcd60e51b815260040161085f90612a34565b600a8311156113095760405162461bcd60e51b815260040161085f90612ef6565b336000908152600f6020526040902054600110156113395760405162461bcd60e51b815260040161085f90612c72565b60003360405160200161134c9190612947565b6040516020818303038152906040528051906020012090506113a583838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600e5491508490506119cb565b6113c15760405162461bcd60e51b815260040161085f90612d24565b600084116113e15760405162461bcd60e51b815260040161085f90612d9f565b336000908152600f60205260409020546001906113fe9086613279565b111561141c5760405162461bcd60e51b815260040161085f90613068565b336000908152600f60205260408120805486929061143b908490613279565b90915550600090505b848110156114c957611457610d5f61193c565b60135460165461147391906001600160a01b03166103e8611bb3565b6001601360008282546114869190613279565b90915550506013546040517f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f790600090a2806114c181613342565b915050611444565b506114e973eff2357c9e40103ac4d268b32de478e4fbbfc4f06001611569565b50505050565b600a546001600160a01b031690565b6103e881565b60606001805461089990613307565b61151b61193c565b6001600160a01b031661152c6114ef565b6001600160a01b0316146115525760405162461bcd60e51b815260040161085f90613033565b8051611565906012906020840190612464565b5050565b61156561157461193c565b8383611c87565b600d5481565b6001600160a01b03166000908152600f602052604090205490565b6115a461193c565b6001600160a01b03166115b56114ef565b6001600160a01b0316146115db5760405162461bcd60e51b815260040161085f90613033565b60005b818110156109f25760016011600085858581811061160c57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061162191906125d3565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061165381613342565b9150506115de565b61166c61166661193c565b836119e1565b6116885760405162461bcd60e51b815260040161085f9061317e565b6114e984848484611d2a565b600c5481565b60606116a582611940565b6116c15760405162461bcd60e51b815260040161085f906130ee565b60006116cb611d5d565b905060008151116116eb5760405180602001604052806000815250611716565b806116f584611d6c565b604051602001611706929190612964565b6040516020818303038152906040525b9392505050565b61172561193c565b6001600160a01b03166117366114ef565b6001600160a01b03161461175c5760405162461bcd60e51b815260040161085f90613033565b6014805460ff19811660ff90911615179055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60106020526000908152604090205481565b600181565b6117bd61193c565b6001600160a01b03166117ce6114ef565b6001600160a01b0316146117f45760405162461bcd60e51b815260040161085f90613033565b6001600160a01b03811661181a5760405162461bcd60e51b815260040161085f90612bb0565b610eeb81611c35565b61182b61193c565b6001600160a01b031661183c6114ef565b6001600160a01b0316146118625760405162461bcd60e51b815260040161085f90613033565b600c55565b61186f61193c565b6001600160a01b03166118806114ef565b6001600160a01b0316146118a65760405162461bcd60e51b815260040161085f90613033565b60005b828110156114e95781600f60008686858181106118d657634e487b7160e01b600052603260045260246000fd5b90506020020160208101906118eb91906125d3565b6001600160a01b031681526020810191909152604001600020558061190f81613342565b9150506118a9565b60006001600160e01b0319821663152a902d60e11b1480610818575061081882611e87565b3390565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611992826110d7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000826119d88584611eac565b14949350505050565b60006119ec82611940565b611a085760405162461bcd60e51b815260040161085f90612d53565b6000611a13836110d7565b9050806001600160a01b0316846001600160a01b03161480611a3a5750611a3a8185611770565b80611a5e5750836001600160a01b0316611a538461091c565b6001600160a01b0316145b949350505050565b826001600160a01b0316611a79826110d7565b6001600160a01b031614611a9f5760405162461bcd60e51b815260040161085f90612bf6565b6001600160a01b038216611ac55760405162461bcd60e51b815260040161085f90612ca9565b611ad0838383611f26565b611adb60008261195d565b6001600160a01b0383166000908152600360205260408120805460019290611b049084906132c4565b90915550506001600160a01b0382166000908152600360205260408120805460019290611b32908490613279565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46109f28383836109f2565b611565828260405180602001604052806000815250611f31565b612710811115611bd55760405162461bcd60e51b815260040161085f90612a6b565b6040805180820182526001600160a01b03938416815262ffffff92831660208083019182526000968752600b905291909420935184549151909216600160a01b0262ffffff60a01b19929093166001600160a01b03199091161716179055565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03161415611cb95760405162461bcd60e51b815260040161085f90612ced565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611d1d908590612a0d565b60405180910390a3505050565b611d35848484611a66565b611d4184848484611f64565b6114e95760405162461bcd60e51b815260040161085f90612b5e565b60606012805461089990613307565b606081611d9157506040805180820190915260018152600360fc1b602082015261081b565b8160005b8115611dbb5780611da581613342565b9150611db49050600a83613291565b9150611d95565b60008167ffffffffffffffff811115611de457634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611e0e576020820181803683370190505b5090505b8415611a5e57611e236001836132c4565b9150611e30600a8661335d565b611e3b906030613279565b60f81b818381518110611e5e57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611e80600a86613291565b9450611e12565b60006001600160e01b0319821663780e9d6360e01b148061081857506108188261207f565b600081815b8451811015611f1e576000858281518110611edc57634e487b7160e01b600052603260045260246000fd5b60200260200101519050808311611efe57611ef783826120bf565b9250611f0b565b611f0881846120bf565b92505b5080611f1681613342565b915050611eb1565b509392505050565b6109f28383836120ce565b611f3b8383612157565b611f486000848484611f64565b6109f25760405162461bcd60e51b815260040161085f90612b5e565b6000611f78846001600160a01b031661223e565b1561207457836001600160a01b031663150b7a02611f9461193c565b8786866040518563ffffffff1660e01b8152600401611fb694939291906129b7565b602060405180830381600087803b158015611fd057600080fd5b505af1925050508015612000575060408051601f3d908101601f19168201909252611ffd91810190612845565b60015b61205a573d80801561202e576040519150601f19603f3d011682016040523d82523d6000602084013e612033565b606091505b5080516120525760405162461bcd60e51b815260040161085f90612b5e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a5e565b506001949350505050565b60006001600160e01b031982166380ac58cd60e01b14806120b057506001600160e01b03198216635b5e139f60e01b145b8061081857506108188261224d565b60009182526020526040902090565b6120d98383836109f2565b6001600160a01b0383166120f5576120f081612266565b612118565b816001600160a01b0316836001600160a01b0316146121185761211883826122aa565b6001600160a01b0382166121345761212f81612347565b6109f2565b826001600160a01b0316826001600160a01b0316146109f2576109f28282612420565b6001600160a01b03821661217d5760405162461bcd60e51b815260040161085f90612f7b565b61218681611940565b156121a35760405162461bcd60e51b815260040161085f90612c3b565b6121af60008383611f26565b6001600160a01b03821660009081526003602052604081208054600192906121d8908490613279565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4611565600083836109f2565b6001600160a01b03163b151590565b6001600160e01b031981166301ffc9a760e01b14919050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b600060016122b78461117d565b6122c191906132c4565b600083815260076020526040902054909150808214612314576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090612359906001906132c4565b6000838152600960205260408120546008805493945090928490811061238f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600883815481106123be57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061240457634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061242b8361117d565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b82805461247090613307565b90600052602060002090601f01602090048101928261249257600085556124d8565b82601f106124ab57805160ff19168380011785556124d8565b828001600101855582156124d8579182015b828111156124d85782518255916020019190600101906124bd565b506124e49291506124e8565b5090565b5b808211156124e457600081556001016124e9565b600067ffffffffffffffff808411156125185761251861339d565b604051601f8501601f19908116603f011681019082821181831017156125405761254061339d565b8160405280935085815286868601111561255957600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461081b57600080fd5b60008083601f84011261259b578081fd5b50813567ffffffffffffffff8111156125b2578182fd5b60208301915083602080830285010111156125cc57600080fd5b9250929050565b6000602082840312156125e4578081fd5b61171682612573565b600080604083850312156125ff578081fd5b61260883612573565b915061261660208401612573565b90509250929050565b600080600060608486031215612633578081fd5b61263c84612573565b925061264a60208501612573565b9150604084013590509250925092565b6000806000806080858703121561266f578081fd5b61267885612573565b935061268660208601612573565b925060408501359150606085013567ffffffffffffffff8111156126a8578182fd5b8501601f810187136126b8578182fd5b6126c7878235602084016124fd565b91505092959194509250565b6000806000604084860312156126e7578283fd5b6126f084612573565b9250602084013567ffffffffffffffff81111561270b578283fd5b6127178682870161258a565b9497909650939450505050565b60008060408385031215612736578182fd5b61273f83612573565b915060208301358015158114612753578182fd5b809150509250929050565b60008060408385031215612770578182fd5b61277983612573565b946020939093013593505050565b60008060208385031215612799578182fd5b823567ffffffffffffffff8111156127af578283fd5b6127bb8582860161258a565b90969095509350505050565b6000806000604084860312156127db578283fd5b833567ffffffffffffffff8111156127f1578384fd5b6127fd8682870161258a565b909790965060209590950135949350505050565b600060208284031215612822578081fd5b5035919050565b60006020828403121561283a578081fd5b8135611716816133b3565b600060208284031215612856578081fd5b8151611716816133b3565b600060208284031215612872578081fd5b813567ffffffffffffffff811115612888578182fd5b8201601f81018413612898578182fd5b611a5e848235602084016124fd565b600080604083850312156128b9578182fd5b8235915061261660208401612573565b6000806000604084860312156128dd578081fd5b83359250602084013567ffffffffffffffff81111561270b578182fd5b6000806040838503121561290c578182fd5b50508035926020909101359150565b600081518084526129338160208601602086016132db565b601f01601f19169290920160200192915050565b60609190911b6bffffffffffffffffffffffff1916815260140190565b600083516129768184602088016132db565b83519083019061298a8183602088016132db565b64173539b7b760d91b9101908152600501949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906129ea9083018461291b565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b600060208252611716602083018461291b565b60208082526018908201527f4e6f7420656e6f756768206c65667420746f206d696e742e0000000000000000604082015260600190565b6020808252601a908201527f45524332393831526f79616c746965733a20546f6f2068696768000000000000604082015260600190565b60208082526024908201527f49742773206e6f7420706f737369626c6520746f20636c61696d206a757374206040820152633cb2ba1760e11b606082015260800190565b6020808252601390820152724e6f7468696e6720746f20776974686472617760681b604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b6020808252601d908201527f596f752063616e2774206561726c7920636c61696d20616e796d6f7265000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b60208082526015908201527424b73b30b634b21026b2b935b63290283937b7b31760591b604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252601f908201527f4e756d626572206e65656420746f20626520686967686572207468616e203000604082015260600190565b6020808252601690820152752cb7bab91030b932903737ba103a34329037bbb732b960511b604082015260600190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b60208082526022908201527f796f752063616e277420636c61696d2074686174206d756368206174206f756e604082015261636560f01b606082015260800190565b60208082526023908201527f45746865722076616c75652073656e742069732062656c6f772074686520707260408201526269636560e81b606082015260800190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526019908201527f796f752063616e277420636c61696d2074686174206d75636800000000000000604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f796f752063616e2774206561726c7920636c61696d2074686174206d75636800604082015260600190565b6020808252602f908201527f5075626c6963206d696e74206973206f70656e2c207468652077686974656c6960408201526e39ba1036b4b73a1034b99037bb32b960891b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b6020808252600f908201526e139bdd081cdd185c9d1959081e595d608a1b604082015260600190565b6020808252818101527f6578636565647320746865207075626c6963206d696e74696e67206c696d6974604082015260600190565b6000821982111561328c5761328c613371565b500190565b6000826132a0576132a0613387565b500490565b60008160001904831182151516156132bf576132bf613371565b500290565b6000828210156132d6576132d6613371565b500390565b60005b838110156132f65781810151838201526020016132de565b838111156114e95750506000910152565b60028104600182168061331b57607f821691505b6020821081141561333c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561335657613356613371565b5060010190565b60008261336c5761336c613387565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610eeb57600080fdfea264697066735822122078c2a93eccb454bcc157fd798a42342078cd833aa84b98c5eade08fe857601c164736f6c6343000801003300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001600000000000000000000000005b0cf91fed46d6359122b2d07864b6ed983e2ca726cbc97392949ba34cc31578656b6d5b4c712754f302d714b2820c664594f07e00000000000000000000000000000000000000000000000000000000630fac2c00000000000000000000000000000000000000000000000000000000630fa1a0000000000000000000000000000000000000000000000000000000000000000543726f7773000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000343525700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d62674d766b513151744a447a31486375526650777a596f46366845767432537577576e48536f584d447775332f00000000000000000000