[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "_reach", "type": "uint256" }, { "internalType": "uint256", "name": "_maxSupply", "type": "uint256" }, { "internalType": "string", "name": "_baseInfoURI", "type": "string" }, { "internalType": "string", "name": "_frozenInfoURI", "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": "account", "type": "address" }, { "indexed": true, "internalType": "string", "name": "newBaseInfoURI", "type": "string" } ], "name": "BaseInfoURIUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "CampaignStopped", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Claimed", "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": "_tokenIdTracker", "outputs": [ { "internalType": "uint256", "name": "_value", "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": "baseInfoURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "claim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "claimed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimedNum", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "frozenInfoURI", "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": [], "name": "isActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "merkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reach", "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": "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": [], "name": "stopCampaign", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_baseInfoURI", "type": "string" } ], "name": "updateBaseInfoURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60e06040523480156200001157600080fd5b506040516200463638038062004636833981810160405281019062000037919062000399565b866040518060400160405280600581526020017f4b4152415400000000000000000000000000000000000000000000000000000081525087878786866000801b841415620000bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000b39062000506565b60405180910390fd5b600083141562000103576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000fa906200054a565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508360a081815250508260c08181525050600060038190555060018060006101000a81548160ff02191690831515021790555081600090805190602001906200018492919062000232565b5080600290805190602001906200019d92919062000232565b5050505050508160059080519060200190620001bb92919062000232565b508060069080519060200190620001d492919062000232565b50505060008314156200021e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002159062000528565b60405180910390fd5b82600f8190555050505050505050620007fe565b82805462000240906200065a565b90600052602060002090601f016020900481019282620002645760008555620002b0565b82601f106200027f57805160ff1916838001178555620002b0565b82800160010185558215620002b0579182015b82811115620002af57825182559160200191906001019062000292565b5b509050620002bf9190620002c3565b5090565b5b80821115620002de576000816000905550600101620002c4565b5090565b6000620002f9620002f38462000595565b6200056c565b9050828152602081018484840111156200031257600080fd5b6200031f84828562000624565b509392505050565b6000815190506200033881620007b0565b92915050565b6000815190506200034f81620007ca565b92915050565b600082601f8301126200036757600080fd5b815162000379848260208601620002e2565b91505092915050565b6000815190506200039381620007e4565b92915050565b600080600080600080600060e0888a031215620003b557600080fd5b600088015167ffffffffffffffff811115620003d057600080fd5b620003de8a828b0162000355565b9750506020620003f18a828b0162000327565b9650506040620004048a828b016200033e565b9550506060620004178a828b0162000382565b94505060806200042a8a828b0162000382565b93505060a088015167ffffffffffffffff8111156200044857600080fd5b620004568a828b0162000355565b92505060c088015167ffffffffffffffff8111156200047457600080fd5b620004828a828b0162000355565b91505092959891949750929550565b6000620004a0600f83620005cb565b9150620004ad8262000735565b602082019050919050565b6000620004c7601883620005cb565b9150620004d4826200075e565b602082019050919050565b6000620004ee601483620005cb565b9150620004fb8262000787565b602082019050919050565b60006020820190508181036000830152620005218162000491565b9050919050565b600060208201905081810360008301526200054381620004b8565b9050919050565b600060208201905081810360008301526200056581620004df565b9050919050565b6000620005786200058b565b905062000586828262000690565b919050565b6000604051905090565b600067ffffffffffffffff821115620005b357620005b2620006f5565b5b620005be8262000724565b9050602081019050919050565b600082825260208201905092915050565b6000620005e982620005fa565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156200064457808201518184015260208101905062000627565b8381111562000654576000848401525b50505050565b600060028204905060018216806200067357607f821691505b602082108114156200068a5762000689620006c6565b5b50919050565b6200069b8262000724565b810181811067ffffffffffffffff82111715620006bd57620006bc620006f5565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4d65726b6c65526f6f74206e756c6c0000000000000000000000000000000000600082015250565b7f4d6178537570706c792063616e6e6f74206265207a65726f0000000000000000600082015250565b7f52656163682063616e6e6f74206265207a65726f000000000000000000000000600082015250565b620007bb81620005dc565b8114620007c757600080fd5b50565b620007d581620005f0565b8114620007e157600080fd5b50565b620007ef816200061a565b8114620007fb57600080fd5b50565b60805160601c60a05160c051613ddb6200085b6000396000818161086501526118b1015260008181610a6601526119d30152600081816108a00152818161098101528181610e5901528181610f490152610fb00152613ddb6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80634f6ccce71161010457806398bcede9116100a2578063c87b56dd11610071578063c87b56dd1461050c578063c884ef831461053c578063d5abeb011461056c578063e985e9c51461058a576101cf565b806398bcede914610498578063a22cb465146104b6578063a95b313a146104d2578063b88d4fde146104f0576101cf565b806370a08231116100de57806370a082311461041057806375fae758146104405780638da5cb5b1461045c57806395d89b411461047a576101cf565b80634f6ccce7146103925780636352211e146103c2578063709bab5d146103f2576101cf565b806322f3e2d4116101715780632f745c591161014b5780632f745c591461030c5780633d13f8741461033c57806342842e0e146103585780634bbf545b14610374576101cf565b806322f3e2d4146102b457806323b872dd146102d25780632eb4a7ab146102ee576101cf565b8063095ea7b3116101ad578063095ea7b3146102525780630faf11191461026e57806316f1bc221461028c57806318160ddd14610296576101cf565b806301ffc9a7146101d457806306fdde0314610204578063081812fc14610222575b600080fd5b6101ee60048036038101906101e99190612b88565b6105ba565b6040516101fb91906130f7565b60405180910390f35b61020c610634565b604051610219919061312d565b60405180910390f35b61023c60048036038101906102379190612c1f565b6106c6565b6040516102499190613090565b60405180910390f35b61026c60048036038101906102679190612ae5565b61074b565b005b610276610863565b604051610283919061340f565b60405180910390f35b610294610887565b005b61029e6109e4565b6040516102ab919061340f565b60405180910390f35b6102bc6109f1565b6040516102c991906130f7565b60405180910390f35b6102ec60048036038101906102e791906129df565b610a04565b005b6102f6610a64565b6040516103039190613112565b60405180910390f35b61032660048036038101906103219190612ae5565b610a88565b604051610333919061340f565b60405180910390f35b61035660048036038101906103519190612b21565b610b2d565b005b610372600480360381019061036d91906129df565b610b8b565b005b61037c610bab565b604051610389919061340f565b60405180910390f35b6103ac60048036038101906103a79190612c1f565b610bb1565b6040516103b9919061340f565b60405180910390f35b6103dc60048036038101906103d79190612c1f565b610c48565b6040516103e99190613090565b60405180910390f35b6103fa610cfa565b604051610407919061312d565b60405180910390f35b61042a6004803603810190610425919061297a565b610d88565b604051610437919061340f565b60405180910390f35b61045a60048036038101906104559190612bda565b610e40565b005b610464610fae565b6040516104719190613090565b60405180910390f35b610482610fd2565b60405161048f919061312d565b60405180910390f35b6104a0611064565b6040516104ad919061340f565b60405180910390f35b6104d060048036038101906104cb9190612aa9565b611070565b005b6104da611086565b6040516104e7919061312d565b60405180910390f35b61050a60048036038101906105059190612a2e565b611114565b005b61052660048036038101906105219190612c1f565b611176565b604051610533919061312d565b60405180910390f35b6105566004803603810190610551919061297a565b611252565b60405161056391906130f7565b60405180910390f35b610574611272565b604051610581919061340f565b60405180910390f35b6105a4600480360381019061059f91906129a3565b611278565b6040516105b191906130f7565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061062d575061062c8261130c565b5b9050919050565b60606005805461064390613639565b80601f016020809104026020016040519081016040528092919081815260200182805461066f90613639565b80156106bc5780601f10610691576101008083540402835291602001916106bc565b820191906000526020600020905b81548152906001019060200180831161069f57829003601f168201915b5050505050905090565b60006106d1826113ee565b610710576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107079061330f565b60405180910390fd5b6009600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061075682610c48565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107be9061336f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107e661145a565b73ffffffffffffffffffffffffffffffffffffffff16148061081557506108148161080f61145a565b611278565b5b610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084b9061326f565b60405180910390fd5b61085e8383611462565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090c9061314f565b60405180910390fd5b600160009054906101000a900460ff16610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b9061332f565b60405180910390fd5b6000600160006101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167faefec657fa3f98e159e6086bbb7e02497bad0f1e3451601bf3e5b22975f1f57f60405160405180910390a2565b6000600d80549050905090565b600160009054906101000a900460ff1681565b610a15610a0f61145a565b8261151b565b610a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4b9061338f565b60405180910390fd5b610a5f8383836115f9565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610a9383610d88565b8210610ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acb9061316f565b60405180910390fd5b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610b38838383611860565b610b428383611aaf565b818373ffffffffffffffffffffffffffffffffffffffff167fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a60405160405180910390a3505050565b610ba683838360405180602001604052806000815250611114565b505050565b60035481565b6000610bbb6109e4565b8210610bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf3906133af565b60405180910390fd5b600d8281548110610c36577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b6000806007600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce8906132af565b60405180910390fd5b80915050919050565b60028054610d0790613639565b80601f0160208091040260200160405190810160405280929190818152602001828054610d3390613639565b8015610d805780601f10610d5557610100808354040283529160200191610d80565b820191906000526020600020905b815481529060010190602001808311610d6357829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610df9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df09061328f565b60405180910390fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614610ece576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec59061314f565b60405180910390fd5b600160009054906101000a900460ff16610f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f149061332f565b60405180910390fd5b818160009190610f2e929190612711565b508181604051610f3f929190613077565b60405180910390207f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f909ceb1f72d7a6a53a6d536b4e26761129d6766e9ac40dc9ac8ea843d94b9a9e60405160405180910390a35050565b7f000000000000000000000000000000000000000000000000000000000000000081565b606060068054610fe190613639565b80601f016020809104026020016040519081016040528092919081815260200182805461100d90613639565b801561105a5780601f1061102f5761010080835404028352916020019161105a565b820191906000526020600020905b81548152906001019060200180831161103d57829003601f168201915b5050505050905090565b60108060000154905081565b61108261107b61145a565b8383611b4e565b5050565b6000805461109390613639565b80601f01602080910402602001604051908101604052809291908181526020018280546110bf90613639565b801561110c5780601f106110e15761010080835404028352916020019161110c565b820191906000526020600020905b8154815290600101906020018083116110ef57829003601f168201915b505050505081565b61112561111f61145a565b8361151b565b611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115b9061338f565b60405180910390fd5b61117084848484611cbb565b50505050565b6060611181826113ee565b6111c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b79061324f565b60405180910390fd5b600080546111cd90613639565b80601f01602080910402602001604051908101604052809291908181526020018280546111f990613639565b80156112465780601f1061121b57610100808354040283529160200191611246565b820191906000526020600020905b81548152906001019060200180831161122957829003601f168201915b50505050509050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b600f5481565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806113d757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806113e757506113e682611d17565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166007600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816009600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166114d583610c48565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611526826113ee565b611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c9061322f565b60405180910390fd5b600061157083610c48565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806115b257506115b18185611278565b5b806115f057508373ffffffffffffffffffffffffffffffffffffffff166115d8846106c6565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661161982610c48565b73ffffffffffffffffffffffffffffffffffffffff161461166f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611666906131af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d6906131ef565b60405180910390fd5b6116ea838383611d81565b6116f5600082611462565b6001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117459190613545565b925050819055506001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461179c91906134ef565b92505081905550816007600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461185b838383611e95565b505050565b600160009054906101000a900460ff166118af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a69061332f565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060035410611913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190a906133cf565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119979061334f565b60405180910390fd5b600083836040516020016119b592919061304b565b6040516020818303038152906040528051906020012090506119f8827f000000000000000000000000000000000000000000000000000000000000000083611e9a565b611a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2e906133ef565b60405180910390fd5b600160036000828254611a4a91906134ef565b925050819055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050565b6000611abb6010611eb1565b9050600f548282611acc91906134ef565b1115611b0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b04906132ef565b60405180910390fd5b60005b82811015611b4857611b2b84611b266010611eb1565b611ebf565b611b356010611edd565b8080611b409061369c565b915050611b10565b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb49061320f565b60405180910390fd5b80600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611cae91906130f7565b60405180910390a3505050565b611cc68484846115f9565b611cd284848484611ef3565b611d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d089061318f565b60405180910390fd5b50505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611d8c83838361208a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611dcf57611dca8161208f565b611e0e565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611e0d57611e0c83826120d8565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e5157611e4c81612245565b611e90565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e8f57611e8e8282612388565b5b5b505050565b505050565b600082611ea78584612407565b1490509392505050565b600081600001549050919050565b611ed98282604051806020016040528060008152506124a2565b5050565b6001816000016000828254019250508190555050565b6000611f148473ffffffffffffffffffffffffffffffffffffffff166124fd565b1561207d578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611f3d61145a565b8786866040518563ffffffff1660e01b8152600401611f5f94939291906130ab565b602060405180830381600087803b158015611f7957600080fd5b505af1925050508015611faa57506040513d601f19601f82011682018060405250810190611fa79190612bb1565b60015b61202d573d8060008114611fda576040519150601f19603f3d011682016040523d82523d6000602084013e611fdf565b606091505b50600081511415612025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201c9061318f565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612082565b600190505b949350505050565b505050565b600d80549050600e600083815260200190815260200160002081905550600d81908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016120e584610d88565b6120ef9190613545565b90506000600c60008481526020019081526020016000205490508181146121d4576000600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555081600c600083815260200190815260200160002081905550505b600c600084815260200190815260200160002060009055600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600d805490506122599190613545565b90506000600e60008481526020019081526020016000205490506000600d83815481106122af577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080600d83815481106122f7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018190555081600e600083815260200190815260200160002081905550600e600085815260200190815260200160002060009055600d80548061236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061239383610d88565b905081600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000208190555080600c600084815260200190815260200160002081905550505050565b60008082905060005b8451811015612497576000858281518110612454577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190508083116124765761246f8382612520565b9250612483565b6124808184612520565b92505b50808061248f9061369c565b915050612410565b508091505092915050565b6124ac8383612537565b6124b96000848484611ef3565b6124f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ef9061318f565b60405180910390fd5b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082600052816020526040600020905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259e906132cf565b60405180910390fd5b6125b0816113ee565b156125f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e7906131cf565b60405180910390fd5b6125fc60008383611d81565b6001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461264c91906134ef565b92505081905550816007600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461270d60008383611e95565b5050565b82805461271d90613639565b90600052602060002090601f01602090048101928261273f5760008555612786565b82601f1061275857803560ff1916838001178555612786565b82800160010185558215612786579182015b8281111561278557823582559160200191906001019061276a565b5b5090506127939190612797565b5090565b5b808211156127b0576000816000905550600101612798565b5090565b60006127c76127c28461344f565b61342a565b905080838252602082019050828560208602820111156127e657600080fd5b60005b8581101561281657816127fc88826128b2565b8452602084019350602083019250506001810190506127e9565b5050509392505050565b600061283361282e8461347b565b61342a565b90508281526020810184848401111561284b57600080fd5b6128568482856135f7565b509392505050565b60008135905061286d81613d32565b92915050565b600082601f83011261288457600080fd5b81356128948482602086016127b4565b91505092915050565b6000813590506128ac81613d49565b92915050565b6000813590506128c181613d60565b92915050565b6000813590506128d681613d77565b92915050565b6000815190506128eb81613d77565b92915050565b600082601f83011261290257600080fd5b8135612912848260208601612820565b91505092915050565b60008083601f84011261292d57600080fd5b8235905067ffffffffffffffff81111561294657600080fd5b60208301915083600182028301111561295e57600080fd5b9250929050565b60008135905061297481613d8e565b92915050565b60006020828403121561298c57600080fd5b600061299a8482850161285e565b91505092915050565b600080604083850312156129b657600080fd5b60006129c48582860161285e565b92505060206129d58582860161285e565b9150509250929050565b6000806000606084860312156129f457600080fd5b6000612a028682870161285e565b9350506020612a138682870161285e565b9250506040612a2486828701612965565b9150509250925092565b60008060008060808587031215612a4457600080fd5b6000612a528782880161285e565b9450506020612a638782880161285e565b9350506040612a7487828801612965565b925050606085013567ffffffffffffffff811115612a9157600080fd5b612a9d878288016128f1565b91505092959194509250565b60008060408385031215612abc57600080fd5b6000612aca8582860161285e565b9250506020612adb8582860161289d565b9150509250929050565b60008060408385031215612af857600080fd5b6000612b068582860161285e565b9250506020612b1785828601612965565b9150509250929050565b600080600060608486031215612b3657600080fd5b6000612b448682870161285e565b9350506020612b5586828701612965565b925050604084013567ffffffffffffffff811115612b7257600080fd5b612b7e86828701612873565b9150509250925092565b600060208284031215612b9a57600080fd5b6000612ba8848285016128c7565b91505092915050565b600060208284031215612bc357600080fd5b6000612bd1848285016128dc565b91505092915050565b60008060208385031215612bed57600080fd5b600083013567ffffffffffffffff811115612c0757600080fd5b612c138582860161291b565b92509250509250929050565b600060208284031215612c3157600080fd5b6000612c3f84828501612965565b91505092915050565b612c5181613579565b82525050565b612c68612c6382613579565b6136e5565b82525050565b612c778161358b565b82525050565b612c8681613597565b82525050565b6000612c97826134ac565b612ca181856134c2565b9350612cb1818560208601613606565b612cba816137a0565b840191505092915050565b6000612cd183856134e4565b9350612cde8385846135f7565b82840190509392505050565b6000612cf5826134b7565b612cff81856134d3565b9350612d0f818560208601613606565b612d18816137a0565b840191505092915050565b6000612d306017836134d3565b9150612d3b826137be565b602082019050919050565b6000612d53602b836134d3565b9150612d5e826137e7565b604082019050919050565b6000612d766032836134d3565b9150612d8182613836565b604082019050919050565b6000612d996025836134d3565b9150612da482613885565b604082019050919050565b6000612dbc601c836134d3565b9150612dc7826138d4565b602082019050919050565b6000612ddf6024836134d3565b9150612dea826138fd565b604082019050919050565b6000612e026019836134d3565b9150612e0d8261394c565b602082019050919050565b6000612e25602c836134d3565b9150612e3082613975565b604082019050919050565b6000612e486011836134d3565b9150612e53826139c4565b602082019050919050565b6000612e6b6038836134d3565b9150612e76826139ed565b604082019050919050565b6000612e8e602a836134d3565b9150612e9982613a3c565b604082019050919050565b6000612eb16029836134d3565b9150612ebc82613a8b565b604082019050919050565b6000612ed46020836134d3565b9150612edf82613ada565b602082019050919050565b6000612ef76011836134d3565b9150612f0282613b03565b602082019050919050565b6000612f1a602c836134d3565b9150612f2582613b2c565b604082019050919050565b6000612f3d6013836134d3565b9150612f4882613b7b565b602082019050919050565b6000612f606013836134d3565b9150612f6b82613ba4565b602082019050919050565b6000612f836021836134d3565b9150612f8e82613bcd565b604082019050919050565b6000612fa66031836134d3565b9150612fb182613c1c565b604082019050919050565b6000612fc9602c836134d3565b9150612fd482613c6b565b604082019050919050565b6000612fec6017836134d3565b9150612ff782613cba565b602082019050919050565b600061300f6022836134d3565b915061301a82613ce3565b604082019050919050565b61302e816135ed565b82525050565b613045613040826135ed565b613709565b82525050565b60006130578285612c57565b6014820191506130678284613034565b6020820191508190509392505050565b6000613084828486612cc5565b91508190509392505050565b60006020820190506130a56000830184612c48565b92915050565b60006080820190506130c06000830187612c48565b6130cd6020830186612c48565b6130da6040830185613025565b81810360608301526130ec8184612c8c565b905095945050505050565b600060208201905061310c6000830184612c6e565b92915050565b60006020820190506131276000830184612c7d565b92915050565b600060208201905081810360008301526131478184612cea565b905092915050565b6000602082019050818103600083015261316881612d23565b9050919050565b6000602082019050818103600083015261318881612d46565b9050919050565b600060208201905081810360008301526131a881612d69565b9050919050565b600060208201905081810360008301526131c881612d8c565b9050919050565b600060208201905081810360008301526131e881612daf565b9050919050565b6000602082019050818103600083015261320881612dd2565b9050919050565b6000602082019050818103600083015261322881612df5565b9050919050565b6000602082019050818103600083015261324881612e18565b9050919050565b6000602082019050818103600083015261326881612e3b565b9050919050565b6000602082019050818103600083015261328881612e5e565b9050919050565b600060208201905081810360008301526132a881612e81565b9050919050565b600060208201905081810360008301526132c881612ea4565b9050919050565b600060208201905081810360008301526132e881612ec7565b9050919050565b6000602082019050818103600083015261330881612eea565b9050919050565b6000602082019050818103600083015261332881612f0d565b9050919050565b6000602082019050818103600083015261334881612f30565b9050919050565b6000602082019050818103600083015261336881612f53565b9050919050565b6000602082019050818103600083015261338881612f76565b9050919050565b600060208201905081810360008301526133a881612f99565b9050919050565b600060208201905081810360008301526133c881612fbc565b9050919050565b600060208201905081810360008301526133e881612fdf565b9050919050565b6000602082019050818103600083015261340881613002565b9050919050565b60006020820190506134246000830184613025565b92915050565b6000613434613445565b9050613440828261366b565b919050565b6000604051905090565b600067ffffffffffffffff82111561346a57613469613771565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561349657613495613771565b5b61349f826137a0565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006134fa826135ed565b9150613505836135ed565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561353a57613539613713565b5b828201905092915050565b6000613550826135ed565b915061355b836135ed565b92508282101561356e5761356d613713565b5b828203905092915050565b6000613584826135cd565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613624578082015181840152602081019050613609565b83811115613633576000848401525b50505050565b6000600282049050600182168061365157607f821691505b6020821081141561366557613664613742565b5b50919050565b613674826137a0565b810181811067ffffffffffffffff8211171561369357613692613771565b5b80604052505050565b60006136a7826135ed565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136da576136d9613713565b5b600182019050919050565b60006136f0826136f7565b9050919050565b6000613702826137b1565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f546f6b656e206e6f742065786973746564000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f457863656564206d617820737570706c79000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f43616d706169676e2069732073746f7070656400000000000000000000000000600082015250565b7f4163636f756e742068617320636c61696d656400000000000000000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f457863656564206d617820636c61696d206e756d626572000000000000000000600082015250565b7f41697264726f704469737472696275746f723a20496e76616c69642070726f6f60008201527f662e000000000000000000000000000000000000000000000000000000000000602082015250565b613d3b81613579565b8114613d4657600080fd5b50565b613d528161358b565b8114613d5d57600080fd5b50565b613d6981613597565b8114613d7457600080fd5b50565b613d80816135a1565b8114613d8b57600080fd5b50565b613d97816135ed565b8114613da257600080fd5b5056fea2646970667358221220d3c59bc1641a1f70396c9cc6eb56dc120748716f1f6d3d2b273f2408fde26ee564736f6c6343000804003300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000337daffab127ebe46da1db15b67203eea92f01f2d352e05da68a4123a3375e452d7f85eb9da48bf474959655c9c0613401ef8d0c0000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000014456c797369756d20446f6c7068696e20506173730000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d5948745336623467726a6e34567058456f774244784d504e50796e4a48356d5769746832437638797555545600000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d4e7934676a65785744666f6866524b654234615a79333643396b48664d44427a33514379564653706f72636e0000000000000000000000