[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "_initBaseURI", "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": 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": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "addressMintedBalance", "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": [ { "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": "maxMintAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintCost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "mintOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nftPerAddressLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ownerMaxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "ownerTokenId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pauseMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "pausedMint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "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": "string", "name": "_newBaseExtension", "type": "string" } ], "name": "setBaseExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newMaxLimit", "type": "uint256" } ], "name": "setMaxAddressNftLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newMaxMintAmount", "type": "uint256" } ], "name": "setMaxMintAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newCost", "type": "uint256" } ], "name": "setMintCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newSignerAddress", "type": "address" } ], "name": "setSignerAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "signerAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "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": [ { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "verifySender", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "walletOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c90805190602001906200005192919062000321565b5067011c37937e080000600d556128b4600e556000600f556101a4601055612710601155600360135560036014556001601560006101000a81548160ff021916908315150217905550348015620000a757600080fd5b5060405162005bf538038062005bf58339818101604052810190620000cd91906200044f565b82828160009080519060200190620000e792919062000321565b5080600190805190602001906200010092919062000321565b50505062000123620001176200017e60201b60201c565b6200018660201b60201c565b62000134816200024c60201b60201c565b33601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200070f565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200025c6200017e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000282620002f760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620002db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002d2906200052f565b60405180910390fd5b80600b9080519060200190620002f392919062000321565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200032f90620005f7565b90600052602060002090601f0160209004810192826200035357600085556200039f565b82601f106200036e57805160ff19168380011785556200039f565b828001600101855582156200039f579182015b828111156200039e57825182559160200191906001019062000381565b5b509050620003ae9190620003b2565b5090565b5b80821115620003cd576000816000905550600101620003b3565b5090565b6000620003e8620003e2846200057a565b62000551565b905082815260208101848484011115620004075762000406620006c6565b5b62000414848285620005c1565b509392505050565b600082601f830112620004345762000433620006c1565b5b815162000446848260208601620003d1565b91505092915050565b6000806000606084860312156200046b576200046a620006d0565b5b600084015167ffffffffffffffff8111156200048c576200048b620006cb565b5b6200049a868287016200041c565b935050602084015167ffffffffffffffff811115620004be57620004bd620006cb565b5b620004cc868287016200041c565b925050604084015167ffffffffffffffff811115620004f057620004ef620006cb565b5b620004fe868287016200041c565b9150509250925092565b600062000517602083620005b0565b91506200052482620006e6565b602082019050919050565b600060208201905081810360008301526200054a8162000508565b9050919050565b60006200055d62000570565b90506200056b82826200062d565b919050565b6000604051905090565b600067ffffffffffffffff82111562000598576200059762000692565b5b620005a382620006d5565b9050602081019050919050565b600082825260208201905092915050565b60005b83811015620005e1578082015181840152602081019050620005c4565b83811115620005f1576000848401525b50505050565b600060028204905060018216806200061057607f821691505b6020821081141562000627576200062662000663565b5b50919050565b6200063882620006d5565b810181811067ffffffffffffffff821117156200065a576200065962000692565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6154d6806200071f6000396000f3fe6080604052600436106102465760003560e01c8063715018a611610139578063ba7d2c76116100b6578063d5abeb011161007a578063d5abeb0114610895578063da3ef23f146108c0578063db7fd408146108e9578063e985e9c514610905578063f2fde38b14610942578063f30e6e771461096b57610246565b8063ba7d2c761461079a578063bdb4b848146107c5578063c6682862146107f0578063c87b56dd1461081b578063cd8702e61461085857610246565b80639c07b27d116100fd5780639c07b27d146106cb5780639f15df12146106f45780639f1a3d9c1461071d578063a22cb46514610748578063b88d4fde1461077157610246565b8063715018a61461060a57806371771e5e146106215780638545f4ea1461064c5780638da5cb5b1461067557806395d89b41146106a057610246565b80632f745c59116101c75780634f6ccce71161018b5780634f6ccce7146104ff57806355f804b31461053c5780635b7633d0146105655780636352211e1461059057806370a08231146105cd57610246565b80632f745c59146104275780633908b4ee146104645780633ccfd60b1461048f57806342842e0e14610499578063438b6300146104c257610246565b8063095ea7b31161020e578063095ea7b31461034257806318160ddd1461036b57806318cae26914610396578063239c70ae146103d357806323b872dd146103fe57610246565b806301ffc9a71461024b578063046dc1661461028857806306fdde03146102b1578063081812fc146102dc578063088a4ed014610319575b600080fd5b34801561025757600080fd5b50610272600480360381019061026d91906139b7565b610994565b60405161027f91906142d9565b60405180910390f35b34801561029457600080fd5b506102af60048036038101906102aa91906137c7565b610a0e565b005b3480156102bd57600080fd5b506102c6610ace565b6040516102d39190614339565b60405180910390f35b3480156102e857600080fd5b5061030360048036038101906102fe9190613aa3565b610b60565b6040516103109190614250565b60405180910390f35b34801561032557600080fd5b50610340600480360381019061033b9190613aa3565b610be5565b005b34801561034e57600080fd5b506103696004803603810190610364919061394a565b610c6b565b005b34801561037757600080fd5b50610380610d83565b60405161038d91906146fb565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b891906137c7565b610d90565b6040516103ca91906146fb565b60405180910390f35b3480156103df57600080fd5b506103e8610da8565b6040516103f591906146fb565b60405180910390f35b34801561040a57600080fd5b5061042560048036038101906104209190613834565b610dae565b005b34801561043357600080fd5b5061044e6004803603810190610449919061394a565b610e0e565b60405161045b91906146fb565b60405180910390f35b34801561047057600080fd5b50610479610eb3565b60405161048691906146fb565b60405180910390f35b610497610eb9565b005b3480156104a557600080fd5b506104c060048036038101906104bb9190613834565b610fb5565b005b3480156104ce57600080fd5b506104e960048036038101906104e491906137c7565b610fd5565b6040516104f691906142b7565b60405180910390f35b34801561050b57600080fd5b5061052660048036038101906105219190613aa3565b611083565b60405161053391906146fb565b60405180910390f35b34801561054857600080fd5b50610563600480360381019061055e9190613a5a565b6110f4565b005b34801561057157600080fd5b5061057a61118a565b6040516105879190614250565b60405180910390f35b34801561059c57600080fd5b506105b760048036038101906105b29190613aa3565b6111b0565b6040516105c49190614250565b60405180910390f35b3480156105d957600080fd5b506105f460048036038101906105ef91906137c7565b611262565b60405161060191906146fb565b60405180910390f35b34801561061657600080fd5b5061061f61131a565b005b34801561062d57600080fd5b506106366113a2565b60405161064391906146fb565b60405180910390f35b34801561065857600080fd5b50610673600480360381019061066e9190613aa3565b6113a8565b005b34801561068157600080fd5b5061068a61142e565b6040516106979190614250565b60405180910390f35b3480156106ac57600080fd5b506106b5611458565b6040516106c29190614339565b60405180910390f35b3480156106d757600080fd5b506106f260048036038101906106ed9190613aa3565b6114ea565b005b34801561070057600080fd5b5061071b60048036038101906107169190613ad0565b611570565b005b34801561072957600080fd5b5061073261171b565b60405161073f91906142d9565b60405180910390f35b34801561075457600080fd5b5061076f600480360381019061076a919061390a565b61172e565b005b34801561077d57600080fd5b5061079860048036038101906107939190613887565b611744565b005b3480156107a657600080fd5b506107af6117a6565b6040516107bc91906146fb565b60405180910390f35b3480156107d157600080fd5b506107da6117ac565b6040516107e791906146fb565b60405180910390f35b3480156107fc57600080fd5b506108056117b2565b6040516108129190614339565b60405180910390f35b34801561082757600080fd5b50610842600480360381019061083d9190613aa3565b611840565b60405161084f9190614339565b60405180910390f35b34801561086457600080fd5b5061087f600480360381019061087a9190613a11565b6118ea565b60405161088c91906142d9565b60405180910390f35b3480156108a157600080fd5b506108aa611980565b6040516108b791906146fb565b60405180910390f35b3480156108cc57600080fd5b506108e760048036038101906108e29190613a5a565b611986565b005b61090360048036038101906108fe9190613b10565b611a1c565b005b34801561091157600080fd5b5061092c600480360381019061092791906137f4565b611ce3565b60405161093991906142d9565b60405180910390f35b34801561094e57600080fd5b50610969600480360381019061096491906137c7565b611d77565b005b34801561097757600080fd5b50610992600480360381019061098d919061398a565b611e6f565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a075750610a0682611f08565b5b9050919050565b610a16611fea565b73ffffffffffffffffffffffffffffffffffffffff16610a3461142e565b73ffffffffffffffffffffffffffffffffffffffff1614610a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a81906145db565b60405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060008054610add90614a1b565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0990614a1b565b8015610b565780601f10610b2b57610100808354040283529160200191610b56565b820191906000526020600020905b815481529060010190602001808311610b3957829003601f168201915b5050505050905090565b6000610b6b82611ff2565b610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba1906145bb565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610bed611fea565b73ffffffffffffffffffffffffffffffffffffffff16610c0b61142e565b73ffffffffffffffffffffffffffffffffffffffff1614610c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c58906145db565b60405180910390fd5b8060138190555050565b6000610c76826111b0565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde9061467b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610d06611fea565b73ffffffffffffffffffffffffffffffffffffffff161480610d355750610d3481610d2f611fea565b611ce3565b5b610d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6b906144fb565b60405180910390fd5b610d7e838361205e565b505050565b6000600880549050905090565b60166020528060005260406000206000915090505481565b60135481565b610dbf610db9611fea565b82612117565b610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df59061469b565b60405180910390fd5b610e098383836121f5565b505050565b6000610e1983611262565b8210610e5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e519061439b565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60115481565b610ec1611fea565b73ffffffffffffffffffffffffffffffffffffffff16610edf61142e565b73ffffffffffffffffffffffffffffffffffffffff1614610f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2c906145db565b60405180910390fd5b6000610f3f61142e565b73ffffffffffffffffffffffffffffffffffffffff1647604051610f629061423b565b60006040518083038185875af1925050503d8060008114610f9f576040519150601f19603f3d011682016040523d82523d6000602084013e610fa4565b606091505b5050905080610fb257600080fd5b50565b610fd083838360405180602001604052806000815250611744565b505050565b60606000610fe283611262565b905060008167ffffffffffffffff81111561100057610fff614c40565b5b60405190808252806020026020018201604052801561102e5781602001602082028036833780820191505090505b50905060005b82811015611078576110468582610e0e565b82828151811061105957611058614c11565b5b602002602001018181525050808061107090614a7e565b915050611034565b508092505050919050565b600061108d610d83565b82106110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c5906146bb565b60405180910390fd5b600882815481106110e2576110e1614c11565b5b90600052602060002001549050919050565b6110fc611fea565b73ffffffffffffffffffffffffffffffffffffffff1661111a61142e565b73ffffffffffffffffffffffffffffffffffffffff1614611170576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611167906145db565b60405180910390fd5b80600b90805190602001906111869291906135db565b5050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112509061453b565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ca9061451b565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611322611fea565b73ffffffffffffffffffffffffffffffffffffffff1661134061142e565b73ffffffffffffffffffffffffffffffffffffffff1614611396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138d906145db565b60405180910390fd5b6113a06000612451565b565b60105481565b6113b0611fea565b73ffffffffffffffffffffffffffffffffffffffff166113ce61142e565b73ffffffffffffffffffffffffffffffffffffffff1614611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b906145db565b60405180910390fd5b80600d8190555050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461146790614a1b565b80601f016020809104026020016040519081016040528092919081815260200182805461149390614a1b565b80156114e05780601f106114b5576101008083540402835291602001916114e0565b820191906000526020600020905b8154815290600101906020018083116114c357829003601f168201915b5050505050905090565b6114f2611fea565b73ffffffffffffffffffffffffffffffffffffffff1661151061142e565b73ffffffffffffffffffffffffffffffffffffffff1614611566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155d906145db565b60405180910390fd5b8060148190555050565b611578611fea565b73ffffffffffffffffffffffffffffffffffffffff1661159661142e565b73ffffffffffffffffffffffffffffffffffffffff16146115ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e3906145db565b60405180910390fd5b6000821161162f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611626906146db565b60405180910390fd5b6000611639612517565b9050600e54811115611680576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116779061441b565b60405180910390fd5b6000600190505b83811161171557601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906116de90614a7e565b919050555060006116ed612517565b90506116f98482612534565b611701612552565b50808061170d90614a7e565b915050611687565b50505050565b601560009054906101000a900460ff1681565b611740611739611fea565b838361256c565b5050565b61175561174f611fea565b83612117565b611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178b9061469b565b60405180910390fd5b6117a0848484846126d9565b50505050565b60145481565b600d5481565b600c80546117bf90614a1b565b80601f01602080910402602001604051908101604052809291908181526020018280546117eb90614a1b565b80156118385780601f1061180d57610100808354040283529160200191611838565b820191906000526020600020905b81548152906001019060200180831161181b57829003601f168201915b505050505081565b606061184b82611ff2565b61188a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118819061463b565b60405180910390fd5b6000611894612735565b905060008151116118b457604051806020016040528060008152506118e2565b806118be846127c7565b600c6040516020016118d2939291906141e4565b6040516020818303038152906040525b915050919050565b60008061191c3360405160200161190191906141c9565b60405160208183030381529060405280519060200120612928565b9050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119618285612958565b73ffffffffffffffffffffffffffffffffffffffff1614915050919050565b600e5481565b61198e611fea565b73ffffffffffffffffffffffffffffffffffffffff166119ac61142e565b73ffffffffffffffffffffffffffffffffffffffff1614611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f9906145db565b60405180910390fd5b80600c9080519060200190611a189291906135db565b5050565b601560009054906101000a900460ff1615611a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a63906145fb565b60405180910390fd5b60008211611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa6906146db565b60405180910390fd5b601054600e54611abf919061491a565b82600f54611acd9190614839565b10611b0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b049061465b565b60405180910390fd5b601354821115611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b499061455b565b60405180910390fd5b611b5b816118ea565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906144bb565b60405180910390fd5b6000601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506014548382611bed9190614839565b1115611c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c259061443b565b60405180910390fd5b82600d54611c3c91906148c0565b341015611c4857600080fd5b6000600190505b838111611cdd57601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611ca690614a7e565b91905055506000611cb561297f565b9050611cc13382612534565b611cc961299c565b508080611cd590614a7e565b915050611c4f565b50505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611d7f611fea565b73ffffffffffffffffffffffffffffffffffffffff16611d9d61142e565b73ffffffffffffffffffffffffffffffffffffffff1614611df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dea906145db565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5a906143db565b60405180910390fd5b611e6c81612451565b50565b611e77611fea565b73ffffffffffffffffffffffffffffffffffffffff16611e9561142e565b73ffffffffffffffffffffffffffffffffffffffff1614611eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee2906145db565b60405180910390fd5b80601560006101000a81548160ff02191690831515021790555050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611fd357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611fe35750611fe2826129b6565b5b9050919050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166120d1836111b0565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061212282611ff2565b612161576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612158906144db565b60405180910390fd5b600061216c836111b0565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806121db57508373ffffffffffffffffffffffffffffffffffffffff166121c384610b60565b73ffffffffffffffffffffffffffffffffffffffff16145b806121ec57506121eb8185611ce3565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16612215826111b0565b73ffffffffffffffffffffffffffffffffffffffff161461226b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122629061461b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d29061445b565b60405180910390fd5b6122e6838383612a20565b6122f160008261205e565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612341919061491a565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123989190614839565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600061252f6001601154612b3490919063ffffffff16565b905090565b61254e828260405180602001604052806000815250612b4a565b5050565b6011600081548092919061256590614a7e565b9190505550565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d29061447b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516126cc91906142d9565b60405180910390a3505050565b6126e48484846121f5565b6126f084848484612ba5565b61272f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612726906143bb565b60405180910390fd5b50505050565b6060600b805461274490614a1b565b80601f016020809104026020016040519081016040528092919081815260200182805461277090614a1b565b80156127bd5780601f10612792576101008083540402835291602001916127bd565b820191906000526020600020905b8154815290600101906020018083116127a057829003601f168201915b5050505050905090565b6060600082141561280f576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612923565b600082905060005b6000821461284157808061282a90614a7e565b915050600a8261283a919061488f565b9150612817565b60008167ffffffffffffffff81111561285d5761285c614c40565b5b6040519080825280601f01601f19166020018201604052801561288f5781602001600182028036833780820191505090505b5090505b6000851461291c576001826128a8919061491a565b9150600a856128b79190614af5565b60306128c39190614839565b60f81b8183815181106128d9576128d8614c11565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612915919061488f565b9450612893565b8093505050505b919050565b60008160405160200161293b9190614215565b604051602081830303815290604052805190602001209050919050565b60008060006129678585612d3c565b9150915061297481612dbf565b819250505092915050565b60006129976001600f54612b3490919063ffffffff16565b905090565b600f60008154809291906129af90614a7e565b9190505550565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612a2b838383612f94565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612a6e57612a6981612f99565b612aad565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612aac57612aab8382612fe2565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612af057612aeb8161314f565b612b2f565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612b2e57612b2d8282613220565b5b5b505050565b60008183612b429190614839565b905092915050565b612b54838361329f565b612b616000848484612ba5565b612ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b97906143bb565b60405180910390fd5b505050565b6000612bc68473ffffffffffffffffffffffffffffffffffffffff1661346d565b15612d2f578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612bef611fea565b8786866040518563ffffffff1660e01b8152600401612c11949392919061426b565b602060405180830381600087803b158015612c2b57600080fd5b505af1925050508015612c5c57506040513d601f19601f82011682018060405250810190612c5991906139e4565b60015b612cdf573d8060008114612c8c576040519150601f19603f3d011682016040523d82523d6000602084013e612c91565b606091505b50600081511415612cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cce906143bb565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612d34565b600190505b949350505050565b600080604183511415612d7e5760008060006020860151925060408601519150606086015160001a9050612d7287828585613480565b94509450505050612db8565b604083511415612daf576000806020850151915060408501519050612da486838361358d565b935093505050612db8565b60006002915091505b9250929050565b60006004811115612dd357612dd2614b84565b5b816004811115612de657612de5614b84565b5b1415612df157612f91565b60016004811115612e0557612e04614b84565b5b816004811115612e1857612e17614b84565b5b1415612e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e509061435b565b60405180910390fd5b60026004811115612e6d57612e6c614b84565b5b816004811115612e8057612e7f614b84565b5b1415612ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb89061437b565b60405180910390fd5b60036004811115612ed557612ed4614b84565b5b816004811115612ee857612ee7614b84565b5b1415612f29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f209061449b565b60405180910390fd5b600480811115612f3c57612f3b614b84565b5b816004811115612f4f57612f4e614b84565b5b1415612f90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f879061457b565b60405180910390fd5b5b50565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612fef84611262565b612ff9919061491a565b90506000600760008481526020019081526020016000205490508181146130de576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600880549050613163919061491a565b905060006009600084815260200190815260200160002054905060006008838154811061319357613192614c11565b5b9060005260206000200154905080600883815481106131b5576131b4614c11565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061320457613203614be2565b5b6001900381819060005260206000200160009055905550505050565b600061322b83611262565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561330f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133069061459b565b60405180910390fd5b61331881611ff2565b15613358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161334f906143fb565b60405180910390fd5b61336460008383612a20565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133b49190614839565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156134bb576000600391509150613584565b601b8560ff16141580156134d35750601c8560ff1614155b156134e5576000600491509150613584565b60006001878787876040516000815260200160405260405161350a94939291906142f4565b6020604051602081039080840390855afa15801561352c573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561357b57600060019250925050613584565b80600092509250505b94509492505050565b6000806000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85169150601b8560ff1c0190506135cd87828885613480565b935093505050935093915050565b8280546135e790614a1b565b90600052602060002090601f0160209004810192826136095760008555613650565b82601f1061362257805160ff1916838001178555613650565b82800160010185558215613650579182015b8281111561364f578251825591602001919060010190613634565b5b50905061365d9190613661565b5090565b5b8082111561367a576000816000905550600101613662565b5090565b600061369161368c8461473b565b614716565b9050828152602081018484840111156136ad576136ac614c74565b5b6136b88482856149d9565b509392505050565b60006136d36136ce8461476c565b614716565b9050828152602081018484840111156136ef576136ee614c74565b5b6136fa8482856149d9565b509392505050565b60008135905061371181615444565b92915050565b6000813590506137268161545b565b92915050565b60008135905061373b81615472565b92915050565b60008151905061375081615472565b92915050565b600082601f83011261376b5761376a614c6f565b5b813561377b84826020860161367e565b91505092915050565b600082601f83011261379957613798614c6f565b5b81356137a98482602086016136c0565b91505092915050565b6000813590506137c181615489565b92915050565b6000602082840312156137dd576137dc614c7e565b5b60006137eb84828501613702565b91505092915050565b6000806040838503121561380b5761380a614c7e565b5b600061381985828601613702565b925050602061382a85828601613702565b9150509250929050565b60008060006060848603121561384d5761384c614c7e565b5b600061385b86828701613702565b935050602061386c86828701613702565b925050604061387d868287016137b2565b9150509250925092565b600080600080608085870312156138a1576138a0614c7e565b5b60006138af87828801613702565b94505060206138c087828801613702565b93505060406138d1878288016137b2565b925050606085013567ffffffffffffffff8111156138f2576138f1614c79565b5b6138fe87828801613756565b91505092959194509250565b6000806040838503121561392157613920614c7e565b5b600061392f85828601613702565b925050602061394085828601613717565b9150509250929050565b6000806040838503121561396157613960614c7e565b5b600061396f85828601613702565b9250506020613980858286016137b2565b9150509250929050565b6000602082840312156139a05761399f614c7e565b5b60006139ae84828501613717565b91505092915050565b6000602082840312156139cd576139cc614c7e565b5b60006139db8482850161372c565b91505092915050565b6000602082840312156139fa576139f9614c7e565b5b6000613a0884828501613741565b91505092915050565b600060208284031215613a2757613a26614c7e565b5b600082013567ffffffffffffffff811115613a4557613a44614c79565b5b613a5184828501613756565b91505092915050565b600060208284031215613a7057613a6f614c7e565b5b600082013567ffffffffffffffff811115613a8e57613a8d614c79565b5b613a9a84828501613784565b91505092915050565b600060208284031215613ab957613ab8614c7e565b5b6000613ac7848285016137b2565b91505092915050565b60008060408385031215613ae757613ae6614c7e565b5b6000613af5858286016137b2565b9250506020613b0685828601613702565b9150509250929050565b60008060408385031215613b2757613b26614c7e565b5b6000613b35858286016137b2565b925050602083013567ffffffffffffffff811115613b5657613b55614c79565b5b613b6285828601613756565b9150509250929050565b6000613b78838361419c565b60208301905092915050565b613b8d8161494e565b82525050565b613ba4613b9f8261494e565b614ac7565b82525050565b6000613bb5826147c2565b613bbf81856147f0565b9350613bca8361479d565b8060005b83811015613bfb578151613be28882613b6c565b9750613bed836147e3565b925050600181019050613bce565b5085935050505092915050565b613c1181614960565b82525050565b613c208161496c565b82525050565b613c37613c328261496c565b614ad9565b82525050565b6000613c48826147cd565b613c528185614801565b9350613c628185602086016149e8565b613c6b81614c83565b840191505092915050565b6000613c81826147d8565b613c8b818561481d565b9350613c9b8185602086016149e8565b613ca481614c83565b840191505092915050565b6000613cba826147d8565b613cc4818561482e565b9350613cd48185602086016149e8565b80840191505092915050565b60008154613ced81614a1b565b613cf7818661482e565b94506001821660008114613d125760018114613d2357613d56565b60ff19831686528186019350613d56565b613d2c856147ad565b60005b83811015613d4e57815481890152600182019150602081019050613d2f565b838801955050505b50505092915050565b6000613d6c60188361481d565b9150613d7782614ca1565b602082019050919050565b6000613d8f601f8361481d565b9150613d9a82614cca565b602082019050919050565b6000613db2601c8361482e565b9150613dbd82614cf3565b601c82019050919050565b6000613dd5602b8361481d565b9150613de082614d1c565b604082019050919050565b6000613df860328361481d565b9150613e0382614d6b565b604082019050919050565b6000613e1b60268361481d565b9150613e2682614dba565b604082019050919050565b6000613e3e601c8361481d565b9150613e4982614e09565b602082019050919050565b6000613e6160218361481d565b9150613e6c82614e32565b604082019050919050565b6000613e84601c8361481d565b9150613e8f82614e81565b602082019050919050565b6000613ea760248361481d565b9150613eb282614eaa565b604082019050919050565b6000613eca60198361481d565b9150613ed582614ef9565b602082019050919050565b6000613eed60228361481d565b9150613ef882614f22565b604082019050919050565b6000613f10600e8361481d565b9150613f1b82614f71565b602082019050919050565b6000613f33602c8361481d565b9150613f3e82614f9a565b604082019050919050565b6000613f5660388361481d565b9150613f6182614fe9565b604082019050919050565b6000613f79602a8361481d565b9150613f8482615038565b604082019050919050565b6000613f9c60298361481d565b9150613fa782615087565b604082019050919050565b6000613fbf60248361481d565b9150613fca826150d6565b604082019050919050565b6000613fe260228361481d565b9150613fed82615125565b604082019050919050565b600061400560208361481d565b915061401082615174565b602082019050919050565b6000614028602c8361481d565b91506140338261519d565b604082019050919050565b600061404b60208361481d565b9150614056826151ec565b602082019050919050565b600061406e60168361481d565b915061407982615215565b602082019050919050565b600061409160298361481d565b915061409c8261523e565b604082019050919050565b60006140b4602f8361481d565b91506140bf8261528d565b604082019050919050565b60006140d760248361481d565b91506140e2826152dc565b604082019050919050565b60006140fa60218361481d565b91506141058261532b565b604082019050919050565b600061411d600083614812565b91506141288261537a565b600082019050919050565b600061414060318361481d565b915061414b8261537d565b604082019050919050565b6000614163602c8361481d565b915061416e826153cc565b604082019050919050565b6000614186601b8361481d565b91506141918261541b565b602082019050919050565b6141a5816149c2565b82525050565b6141b4816149c2565b82525050565b6141c3816149cc565b82525050565b60006141d58284613b93565b60148201915081905092915050565b60006141f08286613caf565b91506141fc8285613caf565b91506142088284613ce0565b9150819050949350505050565b600061422082613da5565b915061422c8284613c26565b60208201915081905092915050565b600061424682614110565b9150819050919050565b60006020820190506142656000830184613b84565b92915050565b60006080820190506142806000830187613b84565b61428d6020830186613b84565b61429a60408301856141ab565b81810360608301526142ac8184613c3d565b905095945050505050565b600060208201905081810360008301526142d18184613baa565b905092915050565b60006020820190506142ee6000830184613c08565b92915050565b60006080820190506143096000830187613c17565b61431660208301866141ba565b6143236040830185613c17565b6143306060830184613c17565b95945050505050565b600060208201905081810360008301526143538184613c76565b905092915050565b6000602082019050818103600083015261437481613d5f565b9050919050565b6000602082019050818103600083015261439481613d82565b9050919050565b600060208201905081810360008301526143b481613dc8565b9050919050565b600060208201905081810360008301526143d481613deb565b9050919050565b600060208201905081810360008301526143f481613e0e565b9050919050565b6000602082019050818103600083015261441481613e31565b9050919050565b6000602082019050818103600083015261443481613e54565b9050919050565b6000602082019050818103600083015261445481613e77565b9050919050565b6000602082019050818103600083015261447481613e9a565b9050919050565b6000602082019050818103600083015261449481613ebd565b9050919050565b600060208201905081810360008301526144b481613ee0565b9050919050565b600060208201905081810360008301526144d481613f03565b9050919050565b600060208201905081810360008301526144f481613f26565b9050919050565b6000602082019050818103600083015261451481613f49565b9050919050565b6000602082019050818103600083015261453481613f6c565b9050919050565b6000602082019050818103600083015261455481613f8f565b9050919050565b6000602082019050818103600083015261457481613fb2565b9050919050565b6000602082019050818103600083015261459481613fd5565b9050919050565b600060208201905081810360008301526145b481613ff8565b9050919050565b600060208201905081810360008301526145d48161401b565b9050919050565b600060208201905081810360008301526145f48161403e565b9050919050565b6000602082019050818103600083015261461481614061565b9050919050565b6000602082019050818103600083015261463481614084565b9050919050565b60006020820190508181036000830152614654816140a7565b9050919050565b60006020820190508181036000830152614674816140ca565b9050919050565b60006020820190508181036000830152614694816140ed565b9050919050565b600060208201905081810360008301526146b481614133565b9050919050565b600060208201905081810360008301526146d481614156565b9050919050565b600060208201905081810360008301526146f481614179565b9050919050565b600060208201905061471060008301846141ab565b92915050565b6000614720614731565b905061472c8282614a4d565b919050565b6000604051905090565b600067ffffffffffffffff82111561475657614755614c40565b5b61475f82614c83565b9050602081019050919050565b600067ffffffffffffffff82111561478757614786614c40565b5b61479082614c83565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000614844826149c2565b915061484f836149c2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561488457614883614b26565b5b828201905092915050565b600061489a826149c2565b91506148a5836149c2565b9250826148b5576148b4614b55565b5b828204905092915050565b60006148cb826149c2565b91506148d6836149c2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561490f5761490e614b26565b5b828202905092915050565b6000614925826149c2565b9150614930836149c2565b92508282101561494357614942614b26565b5b828203905092915050565b6000614959826149a2565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015614a065780820151818401526020810190506149eb565b83811115614a15576000848401525b50505050565b60006002820490506001821680614a3357607f821691505b60208210811415614a4757614a46614bb3565b5b50919050565b614a5682614c83565b810181811067ffffffffffffffff82111715614a7557614a74614c40565b5b80604052505050565b6000614a89826149c2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614abc57614abb614b26565b5b600182019050919050565b6000614ad282614ae3565b9050919050565b6000819050919050565b6000614aee82614c94565b9050919050565b6000614b00826149c2565b9150614b0b836149c2565b925082614b1b57614b1a614b55565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f616d6f756e7420697320657863656564696e6720746865206d6178537570706c60008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b7f6d6178204e465420706572206164647265737320657863656564656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f696e76616c696420616363657373000000000000000000000000000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f6d6178206d696e7420616d6f756e74207065722073657373696f6e206578636560008201527f6564656400000000000000000000000000000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f74686520636f6e74726163742069732070617573656400000000000000000000600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4e6f7420616c6c6f77656420746f206d696e742066726f6d206f776e6572732060008201527f706f6f6c00000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f6e65656420746f206d696e74206174206c656173742031204e46540000000000600082015250565b61544d8161494e565b811461545857600080fd5b50565b61546481614960565b811461546f57600080fd5b50565b61547b81614976565b811461548657600080fd5b50565b615492816149c2565b811461549d57600080fd5b5056fea26469706673582212204da6554ae2466758af3295257a8aaa87f7aff1f1d3ec8b86deed7b4b6b1cb62164736f6c63430008070033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b4163726f63616c7970736500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054143524f430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d504e3850596b3662507a335036367a676259664c7231766f484b4b76716f696a58514d68676f6655467a44712f00000000000000000000
0xa26469706673582212204da6554ae2466758af3295257a8aaa87f7aff1f1d3ec8b86deed7b4b6b1cb62164736f6c63430008070033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b4163726f63616c7970736500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054143524f430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d504e3850596b3662507a335036367a676259664c7231766f484b4b76716f696a58514d68676f6655467a44712f00000000000000000000