Loading
[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "_baseURI", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "ApproveToCaller", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "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": "uint256", "name": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "ConsecutiveTransfer", "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" }, { "inputs": [], "name": "MAX_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ROYALTY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addresses", "type": "address[]" } ], "name": "addAllowList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "addressMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "allowList", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allowListCost", "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": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "flipAllowList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "flipPaused", "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": [], "name": "maxPerTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxPerWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "onlyAllowList", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "publicCost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "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": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "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": [ { "internalType": "uint256", "name": "_newAmount", "type": "uint256" } ], "name": "updateAllowListCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newExtension", "type": "string" } ], "name": "updateBaseExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newURI", "type": "string" } ], "name": "updateBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newAmount", "type": "uint256" } ], "name": "updatePublicCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600a90805190602001906200005192919062000347565b5060405180602001604052806000815250600b90805190602001906200007992919062000347565b506000600c60006101000a81548160ff0219169083151502179055506001600c60016101000a81548160ff0219169083151502179055506703782dace9d90000600d556706f05b59d3b20000600e55348015620000d557600080fd5b5060405162003f0a38038062003f0a8339818101604052810190620000fb919062000594565b828281600290805190602001906200011592919062000347565b5080600390805190602001906200012e92919062000347565b506200013f6200018960201b60201c565b6000819055505050620001676200015b6200019260201b60201c565b6200019a60201b60201c565b600160098190555062000180816200026060201b60201c565b50505062000735565b60006001905090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002706200028c60201b60201c565b80600b90805190602001906200028892919062000347565b5050565b6200029c6200019260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620002c26200031d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200031b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200031290620006ae565b60405180910390fd5b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200035590620006ff565b90600052602060002090601f016020900481019282620003795760008555620003c5565b82601f106200039457805160ff1916838001178555620003c5565b82800160010185558215620003c5579182015b82811115620003c4578251825591602001919060010190620003a7565b5b509050620003d49190620003d8565b5090565b5b80821115620003f3576000816000905550600101620003d9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004608262000415565b810181811067ffffffffffffffff8211171562000482576200048162000426565b5b80604052505050565b600062000497620003f7565b9050620004a5828262000455565b919050565b600067ffffffffffffffff821115620004c857620004c762000426565b5b620004d38262000415565b9050602081019050919050565b60005b8381101562000500578082015181840152602081019050620004e3565b8381111562000510576000848401525b50505050565b60006200052d6200052784620004aa565b6200048b565b9050828152602081018484840111156200054c576200054b62000410565b5b62000559848285620004e0565b509392505050565b600082601f8301126200057957620005786200040b565b5b81516200058b84826020860162000516565b91505092915050565b600080600060608486031215620005b057620005af62000401565b5b600084015167ffffffffffffffff811115620005d157620005d062000406565b5b620005df8682870162000561565b935050602084015167ffffffffffffffff81111562000603576200060262000406565b5b620006118682870162000561565b925050604084015167ffffffffffffffff81111562000635576200063462000406565b5b620006438682870162000561565b9150509250925092565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620006966020836200064d565b9150620006a3826200065e565b602082019050919050565b60006020820190508181036000830152620006c98162000687565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200071857607f821691505b602082108114156200072f576200072e620006d0565b5b50919050565b6137c580620007456000396000f3fe6080604052600436106102255760003560e01c80636352211e11610123578063a0712d68116100ab578063c87b56dd1161006f578063c87b56dd146107c3578063e985e9c514610800578063f2fde38b1461083d578063f968adbe14610866578063fa30297e1461089157610225565b8063a0712d6814610701578063a22cb4651461071d578063ae5f4d9014610746578063b88d4fde1461076f578063c66828621461079857610225565b80638693da20116100f25780638693da201461062c5780638704a208146106575780638da5cb5b14610682578063931688cb146106ad57806395d89b41146106d657610225565b80636352211e146105705780636c0360eb146105ad57806370a08231146105d8578063715018a61461061557610225565b8063255323ff116101b1578063333171bb11610175578063333171bb146104b157806342842e0e146104c8578063453c2310146104f1578063488020b31461051c5780635c975abb1461054557610225565b8063255323ff146103b95780632848aeaf146103e25780632a55205a1461041f5780633232c10b1461045d57806332cb6b0c1461048657610225565b8063095ea7b3116101f8578063095ea7b3146102fa57806318160ddd1461032357806320843e871461034e57806323b872dd14610365578063252e3ab91461038e57610225565b806301ffc9a71461022a57806306fdde031461026757806307b02c8b14610292578063081812fc146102bd575b600080fd5b34801561023657600080fd5b50610251600480360381019061024c919061266a565b6108ce565b60405161025e91906126b2565b60405180910390f35b34801561027357600080fd5b5061027c610948565b6040516102899190612766565b60405180910390f35b34801561029e57600080fd5b506102a76109da565b6040516102b491906127a1565b60405180910390f35b3480156102c957600080fd5b506102e460048036038101906102df91906127e8565b6109e0565b6040516102f19190612856565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c919061289d565b610a5f565b005b34801561032f57600080fd5b50610338610ba3565b60405161034591906127a1565b60405180910390f35b34801561035a57600080fd5b50610363610bba565b005b34801561037157600080fd5b5061038c600480360381019061038791906128dd565b610bee565b005b34801561039a57600080fd5b506103a3610f13565b6040516103b091906126b2565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db9190612995565b610f26565b005b3480156103ee57600080fd5b50610409600480360381019061040491906129e2565b610fd4565b6040516104169190612a2b565b60405180910390f35b34801561042b57600080fd5b5061044660048036038101906104419190612a46565b610ff4565b604051610454929190612a86565b60405180910390f35b34801561046957600080fd5b50610484600480360381019061047f9190612bdf565b611025565b005b34801561049257600080fd5b5061049b611047565b6040516104a891906127a1565b60405180910390f35b3480156104bd57600080fd5b506104c661104c565b005b3480156104d457600080fd5b506104ef60048036038101906104ea91906128dd565b611080565b005b3480156104fd57600080fd5b506105066110a0565b60405161051391906127a1565b60405180910390f35b34801561052857600080fd5b50610543600480360381019061053e91906127e8565b6110a5565b005b34801561055157600080fd5b5061055a6110b7565b60405161056791906126b2565b60405180910390f35b34801561057c57600080fd5b50610597600480360381019061059291906127e8565b6110ca565b6040516105a49190612856565b60405180910390f35b3480156105b957600080fd5b506105c26110dc565b6040516105cf9190612766565b60405180910390f35b3480156105e457600080fd5b506105ff60048036038101906105fa91906129e2565b61116a565b60405161060c91906127a1565b60405180910390f35b34801561062157600080fd5b5061062a611223565b005b34801561063857600080fd5b50610641611237565b60405161064e91906127a1565b60405180910390f35b34801561066357600080fd5b5061066c61123d565b60405161067991906127a1565b60405180910390f35b34801561068e57600080fd5b50610697611243565b6040516106a49190612856565b60405180910390f35b3480156106b957600080fd5b506106d460048036038101906106cf9190612bdf565b61126d565b005b3480156106e257600080fd5b506106eb61128f565b6040516106f89190612766565b60405180910390f35b61071b600480360381019061071691906127e8565b611321565b005b34801561072957600080fd5b50610744600480360381019061073f9190612c54565b6117cf565b005b34801561075257600080fd5b5061076d600480360381019061076891906127e8565b611947565b005b34801561077b57600080fd5b5061079660048036038101906107919190612d35565b611959565b005b3480156107a457600080fd5b506107ad6119cc565b6040516107ba9190612766565b60405180910390f35b3480156107cf57600080fd5b506107ea60048036038101906107e591906127e8565b611a5a565b6040516107f79190612766565b60405180910390f35b34801561080c57600080fd5b5061082760048036038101906108229190612db8565b611afd565b60405161083491906126b2565b60405180910390f35b34801561084957600080fd5b50610864600480360381019061085f91906129e2565b611b91565b005b34801561087257600080fd5b5061087b611c15565b60405161088891906127a1565b60405180910390f35b34801561089d57600080fd5b506108b860048036038101906108b391906129e2565b611c1a565b6040516108c591906127a1565b60405180910390f35b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610941575061094082611c32565b5b9050919050565b60606002805461095790612e27565b80601f016020809104026020016040519081016040528092919081815260200182805461098390612e27565b80156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b5050505050905090565b600d5481565b60006109eb82611cc4565b610a21576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a6a826110ca565b90508073ffffffffffffffffffffffffffffffffffffffff16610a8b611d23565b73ffffffffffffffffffffffffffffffffffffffff1614610aee57610ab781610ab2611d23565b611afd565b610aed576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000610bad611d2b565b6001546000540303905090565b610bc2611d34565b600c60019054906101000a900460ff1615600c60016101000a81548160ff021916908315150217905550565b6000610bf982611db2565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c60576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610c6c84611e80565b91509150610c828187610c7d611d23565b611ea7565b610cce57610c9786610c92611d23565b611afd565b610ccd576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610d35576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d428686866001611eeb565b8015610d4d57600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610e1b85610df7888887611ef1565b7c020000000000000000000000000000000000000000000000000000000017611f19565b600460008681526020019081526020016000208190555060007c020000000000000000000000000000000000000000000000000000000084161415610ea3576000600185019050600060046000838152602001908152602001600020541415610ea1576000548114610ea0578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610f0b8686866001611f44565b505050505050565b600c60019054906101000a900460ff1681565b610f2e611d34565b60005b82829050811015610fcf576001600f6000858585818110610f5557610f54612e59565b5b9050602002016020810190610f6a91906129e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055508080610fc790612eb7565b915050610f31565b505050565b600f6020528060005260406000206000915054906101000a900460ff1681565b600080610fff611243565b6127106102ee856110109190612f00565b61101a9190612f89565b915091509250929050565b61102d611d34565b80600a908051906020019061104392919061255b565b5050565b606581565b611054611d34565b600c60009054906101000a900460ff1615600c60006101000a81548160ff021916908315150217905550565b61109b83838360405180602001604052806000815250611959565b505050565b600181565b6110ad611d34565b80600e8190555050565b600c60009054906101000a900460ff1681565b60006110d582611db2565b9050919050565b600b80546110e990612e27565b80601f016020809104026020016040519081016040528092919081815260200182805461111590612e27565b80156111625780601f1061113757610100808354040283529160200191611162565b820191906000526020600020905b81548152906001019060200180831161114557829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111d2576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b61122b611d34565b6112356000611f4a565b565b600e5481565b6102ee81565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611275611d34565b80600b908051906020019061128b92919061255b565b5050565b60606003805461129e90612e27565b80601f01602080910402602001604051908101604052809291908181526020018280546112ca90612e27565b80156113175780601f106112ec57610100808354040283529160200191611317565b820191906000526020600020905b8154815290600101906020018083116112fa57829003601f168201915b5050505050905090565b60026009541415611367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135e90613006565b60405180910390fd5b6002600981905550600081116113b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a990613072565b60405180910390fd5b600c60009054906101000a900460ff1615611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f9906130de565b60405180910390fd5b6001811115611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143d9061314a565b60405180910390fd5b606581611451610ba3565b61145b919061316a565b111561149c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114939061320c565b60405180910390fd5b6114a4611243565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116b057600c60019054906101000a900460ff161561165f576001600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff161461157d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157490613278565b60405180910390fd5b80600d5461158b9190612f00565b34146115cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c3906132e4565b60405180910390fd5b600181601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611619919061316a565b111561165a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165190613350565b60405180910390fd5b6116af565b80600e5461166d9190612f00565b34146116ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a5906132e4565b60405180910390fd5b5b5b60006116ba611243565b73ffffffffffffffffffffffffffffffffffffffff16346040516116dd906133a1565b60006040518083038185875af1925050503d806000811461171a576040519150601f19603f3d011682016040523d82523d6000602084013e61171f565b606091505b5050905080611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90613428565b60405180910390fd5b81601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117b2919061316a565b925050819055506117c33383612010565b50600160098190555050565b6117d7611d23565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561183c576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060076000611849611d23565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166118f6611d23565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161193b91906126b2565b60405180910390a35050565b61194f611d34565b80600d8190555050565b611964848484610bee565b60008373ffffffffffffffffffffffffffffffffffffffff163b146119c65761198f8484848461202e565b6119c5576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b600a80546119d990612e27565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0590612e27565b8015611a525780601f10611a2757610100808354040283529160200191611a52565b820191906000526020600020905b815481529060010190602001808311611a3557829003601f168201915b505050505081565b6060611a6582611cc4565b611a9b576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600b8054611aaa90612e27565b90501415611ac75760405180602001604052806000815250611af6565b600b611ad28361217f565b600a604051602001611ae693929190613518565b6040516020818303038152906040525b9050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611b99611d34565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c00906135bb565b60405180910390fd5b611c1281611f4a565b50565b600181565b60106020528060005260406000206000915090505481565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611c8d57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611cbd5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600081611ccf611d2b565b11158015611cde575060005482105b8015611d1c575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b60006001905090565b611d3c6122e0565b73ffffffffffffffffffffffffffffffffffffffff16611d5a611243565b73ffffffffffffffffffffffffffffffffffffffff1614611db0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da790613627565b60405180910390fd5b565b60008082905080611dc1611d2b565b11611e4957600054811015611e485760006004600083815260200190815260200160002054905060007c010000000000000000000000000000000000000000000000000000000082161415611e46575b6000811415611e3c576004600083600190039350838152602001908152602001600020549050611e11565b8092505050611e7b565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611f088686846122e8565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61202a8282604051806020016040528060008152506122f1565b5050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612054611d23565b8786866040518563ffffffff1660e01b8152600401612076949392919061369c565b6020604051808303816000875af19250505080156120b257506040513d601f19601f820116820180604052508101906120af91906136fd565b60015b61212c573d80600081146120e2576040519150601f19603f3d011682016040523d82523d6000602084013e6120e7565b606091505b50600081511415612124576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b606060008214156121c7576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506122db565b600082905060005b600082146121f95780806121e290612eb7565b915050600a826121f29190612f89565b91506121cf565b60008167ffffffffffffffff81111561221557612214612ab4565b5b6040519080825280601f01601f1916602001820160405280156122475781602001600182028036833780820191505090505b5090505b600085146122d457600182612260919061372a565b9150600a8561226f919061375e565b603061227b919061316a565b60f81b81838151811061229157612290612e59565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856122cd9190612f89565b945061224b565b8093505050505b919050565b600033905090565b60009392505050565b6122fb838361238e565b60008373ffffffffffffffffffffffffffffffffffffffff163b1461238957600080549050600083820390505b61233b600086838060010194508661202e565b612371576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81811061232857816000541461238657600080fd5b50505b505050565b60008054905060008214156123cf576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123dc6000848385611eeb565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612453836124446000866000611ef1565b61244d8561254b565b17611f19565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b8181146124f457808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001810190506124b9565b506000821415612530576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506125466000848385611f44565b505050565b60006001821460e11b9050919050565b82805461256790612e27565b90600052602060002090601f01602090048101928261258957600085556125d0565b82601f106125a257805160ff19168380011785556125d0565b828001600101855582156125d0579182015b828111156125cf5782518255916020019190600101906125b4565b5b5090506125dd91906125e1565b5090565b5b808211156125fa5760008160009055506001016125e2565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61264781612612565b811461265257600080fd5b50565b6000813590506126648161263e565b92915050565b6000602082840312156126805761267f612608565b5b600061268e84828501612655565b91505092915050565b60008115159050919050565b6126ac81612697565b82525050565b60006020820190506126c760008301846126a3565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127075780820151818401526020810190506126ec565b83811115612716576000848401525b50505050565b6000601f19601f8301169050919050565b6000612738826126cd565b61274281856126d8565b93506127528185602086016126e9565b61275b8161271c565b840191505092915050565b60006020820190508181036000830152612780818461272d565b905092915050565b6000819050919050565b61279b81612788565b82525050565b60006020820190506127b66000830184612792565b92915050565b6127c581612788565b81146127d057600080fd5b50565b6000813590506127e2816127bc565b92915050565b6000602082840312156127fe576127fd612608565b5b600061280c848285016127d3565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061284082612815565b9050919050565b61285081612835565b82525050565b600060208201905061286b6000830184612847565b92915050565b61287a81612835565b811461288557600080fd5b50565b60008135905061289781612871565b92915050565b600080604083850312156128b4576128b3612608565b5b60006128c285828601612888565b92505060206128d3858286016127d3565b9150509250929050565b6000806000606084860312156128f6576128f5612608565b5b600061290486828701612888565b935050602061291586828701612888565b9250506040612926868287016127d3565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f84011261295557612954612930565b5b8235905067ffffffffffffffff81111561297257612971612935565b5b60208301915083602082028301111561298e5761298d61293a565b5b9250929050565b600080602083850312156129ac576129ab612608565b5b600083013567ffffffffffffffff8111156129ca576129c961260d565b5b6129d68582860161293f565b92509250509250929050565b6000602082840312156129f8576129f7612608565b5b6000612a0684828501612888565b91505092915050565b600060ff82169050919050565b612a2581612a0f565b82525050565b6000602082019050612a406000830184612a1c565b92915050565b60008060408385031215612a5d57612a5c612608565b5b6000612a6b858286016127d3565b9250506020612a7c858286016127d3565b9150509250929050565b6000604082019050612a9b6000830185612847565b612aa86020830184612792565b9392505050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612aec8261271c565b810181811067ffffffffffffffff82111715612b0b57612b0a612ab4565b5b80604052505050565b6000612b1e6125fe565b9050612b2a8282612ae3565b919050565b600067ffffffffffffffff821115612b4a57612b49612ab4565b5b612b538261271c565b9050602081019050919050565b82818337600083830152505050565b6000612b82612b7d84612b2f565b612b14565b905082815260208101848484011115612b9e57612b9d612aaf565b5b612ba9848285612b60565b509392505050565b600082601f830112612bc657612bc5612930565b5b8135612bd6848260208601612b6f565b91505092915050565b600060208284031215612bf557612bf4612608565b5b600082013567ffffffffffffffff811115612c1357612c1261260d565b5b612c1f84828501612bb1565b91505092915050565b612c3181612697565b8114612c3c57600080fd5b50565b600081359050612c4e81612c28565b92915050565b60008060408385031215612c6b57612c6a612608565b5b6000612c7985828601612888565b9250506020612c8a85828601612c3f565b9150509250929050565b600067ffffffffffffffff821115612caf57612cae612ab4565b5b612cb88261271c565b9050602081019050919050565b6000612cd8612cd384612c94565b612b14565b905082815260208101848484011115612cf457612cf3612aaf565b5b612cff848285612b60565b509392505050565b600082601f830112612d1c57612d1b612930565b5b8135612d2c848260208601612cc5565b91505092915050565b60008060008060808587031215612d4f57612d4e612608565b5b6000612d5d87828801612888565b9450506020612d6e87828801612888565b9350506040612d7f878288016127d3565b925050606085013567ffffffffffffffff811115612da057612d9f61260d565b5b612dac87828801612d07565b91505092959194509250565b60008060408385031215612dcf57612dce612608565b5b6000612ddd85828601612888565b9250506020612dee85828601612888565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612e3f57607f821691505b60208210811415612e5357612e52612df8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ec282612788565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612ef557612ef4612e88565b5b600182019050919050565b6000612f0b82612788565b9150612f1683612788565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f4f57612f4e612e88565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f9482612788565b9150612f9f83612788565b925082612faf57612fae612f5a565b5b828204905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612ff0601f836126d8565b9150612ffb82612fba565b602082019050919050565b6000602082019050818103600083015261301f81612fe3565b9050919050565b7f6d696e2031206d696e7420726571756972656400000000000000000000000000600082015250565b600061305c6013836126d8565b915061306782613026565b602082019050919050565b6000602082019050818103600083015261308b8161304f565b9050919050565b7f4d696e74696e6720697320706175736564210000000000000000000000000000600082015250565b60006130c86012836126d8565b91506130d382613092565b602082019050919050565b600060208201905081810360008301526130f7816130bb565b9050919050565b7f6d6178206d696e74207065722073657373696f6e206578636565646564000000600082015250565b6000613134601d836126d8565b915061313f826130fe565b602082019050919050565b6000602082019050818103600083015261316381613127565b9050919050565b600061317582612788565b915061318083612788565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131b5576131b4612e88565b5b828201905092915050565b7f416d6f756e74206578636565647320737570706c792100000000000000000000600082015250565b60006131f66016836126d8565b9150613201826131c0565b602082019050919050565b60006020820190508181036000830152613225816131e9565b9050919050565b7f596f75206172656e2774206f6e20416c6c6f77204c6973742100000000000000600082015250565b60006132626019836126d8565b915061326d8261322c565b602082019050919050565b6000602082019050818103600083015261329181613255565b9050919050565b7f496e73756666696369656e742066756e64732100000000000000000000000000600082015250565b60006132ce6013836126d8565b91506132d982613298565b602082019050919050565b600060208201905081810360008301526132fd816132c1565b9050919050565b7f596f752063616e2774206d696e742074686174206d616e792121000000000000600082015250565b600061333a601a836126d8565b915061334582613304565b602082019050919050565b600060208201905081810360008301526133698161332d565b9050919050565b600081905092915050565b50565b600061338b600083613370565b91506133968261337b565b600082019050919050565b60006133ac8261337e565b9150819050919050565b7f4661696c656420746f207472616e736665722066756e647320746f206f776e6560008201527f7221000000000000000000000000000000000000000000000000000000000000602082015250565b60006134126022836126d8565b915061341d826133b6565b604082019050919050565b6000602082019050818103600083015261344181613405565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b6000815461347581612e27565b61347f8186613448565b9450600182166000811461349a57600181146134ab576134de565b60ff198316865281860193506134de565b6134b485613453565b60005b838110156134d6578154818901526001820191506020810190506134b7565b838801955050505b50505092915050565b60006134f2826126cd565b6134fc8185613448565b935061350c8185602086016126e9565b80840191505092915050565b60006135248286613468565b915061353082856134e7565b915061353c8284613468565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006135a56026836126d8565b91506135b082613549565b604082019050919050565b600060208201905081810360008301526135d481613598565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006136116020836126d8565b915061361c826135db565b602082019050919050565b6000602082019050818103600083015261364081613604565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061366e82613647565b6136788185613652565b93506136888185602086016126e9565b6136918161271c565b840191505092915050565b60006080820190506136b16000830187612847565b6136be6020830186612847565b6136cb6040830185612792565b81810360608301526136dd8184613663565b905095945050505050565b6000815190506136f78161263e565b92915050565b60006020828403121561371357613712612608565b5b6000613721848285016136e8565b91505092915050565b600061373582612788565b915061374083612788565b92508282101561375357613752612e88565b5b828203905092915050565b600061376982612788565b915061377483612788565b92508261378457613783612f5a565b5b82820690509291505056fea264697066735822122029804e1b04c0ad2e01c43a14c175a48a0047ab91335cf9e47e9037084e5297de64736f6c634300080c0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000e41692043454e5441555249414e53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000341494300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043697066733a2f2f626166796265696171367336757a697361646d6a6e366a3561696632756366686b69346867686764686734797470756d65727776347272643761712f0000000000000000000000000000000000000000000000000000000000