[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "_initBaseURI", "type": "string" }, { "internalType": "string", "name": "_initNotRevealedUri", "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": "uint256", "name": "_mintAmount", "type": "uint256" } ], "name": "airdropMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "isWhitelisted", "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" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "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": "notRevealedUri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "onlyWhitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "reveal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "revealed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "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": "_newCost", "type": "uint256" } ], "name": "setCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_limit", "type": "uint256" } ], "name": "setNftPerAddressLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_notRevealedURI", "type": "string" } ], "name": "setNotRevealedURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "setOnlyWhitelisted", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newmaxMintAmount", "type": "uint256" } ], "name": "setmaxMintAmount", "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": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "walletOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" } ], "name": "whitelistUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "whitelistedAddresses", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c908051906020019062000051929190620003c2565b5067016345785d8a0000600e556107d0600f55603260105560036011556000601260006101000a81548160ff0219169083151502179055506001601260016101000a81548160ff0219169083151502179055506001601260026101000a81548160ff021916908315150217905550348015620000cc57600080fd5b50604051620055a6380380620055a68339818101604052810190620000f29190620004f0565b838381600090805190602001906200010c929190620003c2565b50806001908051906020019062000125929190620003c2565b505050620001486200013c6200017460201b60201c565b6200017c60201b60201c565b62000159826200024260201b60201c565b6200016a81620002ed60201b60201c565b50505050620007e5565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002526200017460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620002786200039860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620002d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002c89062000605565b60405180910390fd5b80600b9080519060200190620002e9929190620003c2565b5050565b620002fd6200017460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620003236200039860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200037c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003739062000605565b60405180910390fd5b80600d908051906020019062000394929190620003c2565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620003d090620006cd565b90600052602060002090601f016020900481019282620003f4576000855562000440565b82601f106200040f57805160ff191683800117855562000440565b8280016001018555821562000440579182015b828111156200043f57825182559160200191906001019062000422565b5b5090506200044f919062000453565b5090565b5b808211156200046e57600081600090555060010162000454565b5090565b600062000489620004838462000650565b62000627565b905082815260208101848484011115620004a857620004a76200079c565b5b620004b584828562000697565b509392505050565b600082601f830112620004d557620004d462000797565b5b8151620004e784826020860162000472565b91505092915050565b600080600080608085870312156200050d576200050c620007a6565b5b600085015167ffffffffffffffff8111156200052e576200052d620007a1565b5b6200053c87828801620004bd565b945050602085015167ffffffffffffffff81111562000560576200055f620007a1565b5b6200056e87828801620004bd565b935050604085015167ffffffffffffffff811115620005925762000591620007a1565b5b620005a087828801620004bd565b925050606085015167ffffffffffffffff811115620005c457620005c3620007a1565b5b620005d287828801620004bd565b91505092959194509250565b6000620005ed60208362000686565b9150620005fa82620007bc565b602082019050919050565b600060208201905081810360008301526200062081620005de565b9050919050565b60006200063362000646565b905062000641828262000703565b919050565b6000604051905090565b600067ffffffffffffffff8211156200066e576200066d62000768565b5b6200067982620007ab565b9050602081019050919050565b600082825260208201905092915050565b60005b83811015620006b75780820151818401526020810190506200069a565b83811115620006c7576000848401525b50505050565b60006002820490506001821680620006e657607f821691505b60208210811415620006fd57620006fc62000739565b5b50919050565b6200070e82620007ab565b810181811067ffffffffffffffff8211171562000730576200072f62000768565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b614db180620007f56000396000f3fe6080604052600436106102725760003560e01c80636352211e1161014f578063a475b5dd116100c1578063d0eb26b01161007a578063d0eb26b01461093b578063d5abeb0114610964578063da3ef23f1461098f578063e985e9c5146109b8578063f2c4ce1e146109f5578063f2fde38b14610a1e57610272565b8063a475b5dd1461082b578063b88d4fde14610842578063ba4e5c491461086b578063ba7d2c76146108a8578063c6682862146108d3578063c87b56dd146108fe57610272565b80638da5cb5b116101135780638da5cb5b1461073c57806395d89b41146107675780639b6fbf8a146107925780639c70b512146107bb578063a0712d68146107e6578063a22cb4651461080257610272565b80636352211e146106575780636c0360eb1461069457806370a08231146106bf578063715018a6146106fc5780637f00c7a61461071357610272565b80633af32abf116101e857806344799d6c116101ac57806344799d6c1461055657806344a0d68a146105725780634f6ccce71461059b57806351830227146105d857806355f804b3146106035780635c975abb1461062c57610272565b80633af32abf146104805780633c952764146104bd5780633ccfd60b146104e657806342842e0e146104f0578063438b63001461051957610272565b8063095ea7b31161023a578063095ea7b31461037057806313faede61461039957806318160ddd146103c4578063239c70ae146103ef57806323b872dd1461041a5780632f745c591461044357610272565b806301ffc9a71461027757806302329a29146102b457806306fdde03146102dd578063081812fc14610308578063081c8c4414610345575b600080fd5b34801561028357600080fd5b5061029e60048036038101906102999190613a02565b610a47565b6040516102ab9190614031565b60405180910390f35b3480156102c057600080fd5b506102db60048036038101906102d691906139d5565b610ac1565b005b3480156102e957600080fd5b506102f2610b5a565b6040516102ff919061404c565b60405180910390f35b34801561031457600080fd5b5061032f600480360381019061032a9190613aa5565b610bec565b60405161033c9190613fa8565b60405180910390f35b34801561035157600080fd5b5061035a610c71565b604051610367919061404c565b60405180910390f35b34801561037c57600080fd5b5061039760048036038101906103929190613948565b610cff565b005b3480156103a557600080fd5b506103ae610e17565b6040516103bb91906142ce565b60405180910390f35b3480156103d057600080fd5b506103d9610e1d565b6040516103e691906142ce565b60405180910390f35b3480156103fb57600080fd5b50610404610e2a565b60405161041191906142ce565b60405180910390f35b34801561042657600080fd5b50610441600480360381019061043c9190613832565b610e30565b005b34801561044f57600080fd5b5061046a60048036038101906104659190613948565b610e90565b60405161047791906142ce565b60405180910390f35b34801561048c57600080fd5b506104a760048036038101906104a291906137c5565b610f35565b6040516104b49190614031565b60405180910390f35b3480156104c957600080fd5b506104e460048036038101906104df91906139d5565b610fe4565b005b6104ee61107d565b005b3480156104fc57600080fd5b5061051760048036038101906105129190613832565b61121c565b005b34801561052557600080fd5b50610540600480360381019061053b91906137c5565b61123c565b60405161054d919061400f565b60405180910390f35b610570600480360381019061056b9190613aa5565b6112ea565b005b34801561057e57600080fd5b5061059960048036038101906105949190613aa5565b61143b565b005b3480156105a757600080fd5b506105c260048036038101906105bd9190613aa5565b6114c1565b6040516105cf91906142ce565b60405180910390f35b3480156105e457600080fd5b506105ed611532565b6040516105fa9190614031565b60405180910390f35b34801561060f57600080fd5b5061062a60048036038101906106259190613a5c565b611545565b005b34801561063857600080fd5b506106416115db565b60405161064e9190614031565b60405180910390f35b34801561066357600080fd5b5061067e60048036038101906106799190613aa5565b6115ee565b60405161068b9190613fa8565b60405180910390f35b3480156106a057600080fd5b506106a96116a0565b6040516106b6919061404c565b60405180910390f35b3480156106cb57600080fd5b506106e660048036038101906106e191906137c5565b61172e565b6040516106f391906142ce565b60405180910390f35b34801561070857600080fd5b506107116117e6565b005b34801561071f57600080fd5b5061073a60048036038101906107359190613aa5565b61186e565b005b34801561074857600080fd5b506107516118f4565b60405161075e9190613fa8565b60405180910390f35b34801561077357600080fd5b5061077c61191e565b604051610789919061404c565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b49190613988565b6119b0565b005b3480156107c757600080fd5b506107d0611a50565b6040516107dd9190614031565b60405180910390f35b61080060048036038101906107fb9190613aa5565b611a63565b005b34801561080e57600080fd5b5061082960048036038101906108249190613908565b611bd0565b005b34801561083757600080fd5b50610840611be6565b005b34801561084e57600080fd5b5061086960048036038101906108649190613885565b611c7f565b005b34801561087757600080fd5b50610892600480360381019061088d9190613aa5565b611ce1565b60405161089f9190613fa8565b60405180910390f35b3480156108b457600080fd5b506108bd611d20565b6040516108ca91906142ce565b60405180910390f35b3480156108df57600080fd5b506108e8611d26565b6040516108f5919061404c565b60405180910390f35b34801561090a57600080fd5b5061092560048036038101906109209190613aa5565b611db4565b604051610932919061404c565b60405180910390f35b34801561094757600080fd5b50610962600480360381019061095d9190613aa5565b611f0d565b005b34801561097057600080fd5b50610979611f93565b60405161098691906142ce565b60405180910390f35b34801561099b57600080fd5b506109b660048036038101906109b19190613a5c565b611f99565b005b3480156109c457600080fd5b506109df60048036038101906109da91906137f2565b61202f565b6040516109ec9190614031565b60405180910390f35b348015610a0157600080fd5b50610a1c6004803603810190610a179190613a5c565b6120c3565b005b348015610a2a57600080fd5b50610a456004803603810190610a4091906137c5565b612159565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610aba5750610ab982612251565b5b9050919050565b610ac9612333565b73ffffffffffffffffffffffffffffffffffffffff16610ae76118f4565b73ffffffffffffffffffffffffffffffffffffffff1614610b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b349061422e565b60405180910390fd5b80601260006101000a81548160ff02191690831515021790555050565b606060008054610b69906145d7565b80601f0160208091040260200160405190810160405280929190818152602001828054610b95906145d7565b8015610be25780601f10610bb757610100808354040283529160200191610be2565b820191906000526020600020905b815481529060010190602001808311610bc557829003601f168201915b5050505050905090565b6000610bf78261233b565b610c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2d9061420e565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600d8054610c7e906145d7565b80601f0160208091040260200160405190810160405280929190818152602001828054610caa906145d7565b8015610cf75780601f10610ccc57610100808354040283529160200191610cf7565b820191906000526020600020905b815481529060010190602001808311610cda57829003601f168201915b505050505081565b6000610d0a826115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d729061426e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610d9a612333565b73ffffffffffffffffffffffffffffffffffffffff161480610dc95750610dc881610dc3612333565b61202f565b5b610e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dff9061418e565b60405180910390fd5b610e1283836123a7565b505050565b600e5481565b6000600880549050905090565b60105481565b610e41610e3b612333565b82612460565b610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e779061428e565b60405180910390fd5b610e8b83838361253e565b505050565b6000610e9b8361172e565b8210610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed39061406e565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600080600090505b601380549050811015610fd9578273ffffffffffffffffffffffffffffffffffffffff1660138281548110610f7557610f74614770565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610fc6576001915050610fdf565b8080610fd19061463a565b915050610f3d565b50600090505b919050565b610fec612333565b73ffffffffffffffffffffffffffffffffffffffff1661100a6118f4565b73ffffffffffffffffffffffffffffffffffffffff1614611060576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110579061422e565b60405180910390fd5b80601260026101000a81548160ff02191690831515021790555050565b611085612333565b73ffffffffffffffffffffffffffffffffffffffff166110a36118f4565b73ffffffffffffffffffffffffffffffffffffffff16146110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f09061422e565b60405180910390fd5b60007374ed471d7c89e5d77e955e36266543fc2d70bc2a73ffffffffffffffffffffffffffffffffffffffff1660646005476111359190614493565b61113f9190614462565b60405161114b90613f93565b60006040518083038185875af1925050503d8060008114611188576040519150601f19603f3d011682016040523d82523d6000602084013e61118d565b606091505b505090508061119b57600080fd5b60006111a56118f4565b73ffffffffffffffffffffffffffffffffffffffff16476040516111c890613f93565b60006040518083038185875af1925050503d8060008114611205576040519150601f19603f3d011682016040523d82523d6000602084013e61120a565b606091505b505090508061121857600080fd5b5050565b61123783838360405180602001604052806000815250611c7f565b505050565b606060006112498361172e565b905060008167ffffffffffffffff8111156112675761126661479f565b5b6040519080825280602002602001820160405280156112955781602001602082028036833780820191505090505b50905060005b828110156112df576112ad8582610e90565b8282815181106112c0576112bf614770565b5b60200260200101818152505080806112d79061463a565b91505061129b565b508092505050919050565b6112f2612333565b73ffffffffffffffffffffffffffffffffffffffff166113106118f4565b73ffffffffffffffffffffffffffffffffffffffff1614611366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135d9061422e565b60405180910390fd5b6000611370610e1d565b9050601260009054906101000a900460ff161561138c57600080fd5b6000821161139957600080fd5b6010548211156113a857600080fd5b600f5482826113b7919061440c565b11156113c257600080fd5b6000600190505b82811161143657611423601382815481106113e7576113e6614770565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828461141e919061440c565b6127a5565b808061142e9061463a565b9150506113c9565b505050565b611443612333565b73ffffffffffffffffffffffffffffffffffffffff166114616118f4565b73ffffffffffffffffffffffffffffffffffffffff16146114b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ae9061422e565b60405180910390fd5b80600e8190555050565b60006114cb610e1d565b821061150c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611503906142ae565b60405180910390fd5b600882815481106115205761151f614770565b5b90600052602060002001549050919050565b601260019054906101000a900460ff1681565b61154d612333565b73ffffffffffffffffffffffffffffffffffffffff1661156b6118f4565b73ffffffffffffffffffffffffffffffffffffffff16146115c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b89061422e565b60405180910390fd5b80600b90805190602001906115d79291906134c2565b5050565b601260009054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168e906141ce565b60405180910390fd5b80915050919050565b600b80546116ad906145d7565b80601f01602080910402602001604051908101604052809291908181526020018280546116d9906145d7565b80156117265780601f106116fb57610100808354040283529160200191611726565b820191906000526020600020905b81548152906001019060200180831161170957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561179f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611796906141ae565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117ee612333565b73ffffffffffffffffffffffffffffffffffffffff1661180c6118f4565b73ffffffffffffffffffffffffffffffffffffffff1614611862576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118599061422e565b60405180910390fd5b61186c60006127c3565b565b611876612333565b73ffffffffffffffffffffffffffffffffffffffff166118946118f4565b73ffffffffffffffffffffffffffffffffffffffff16146118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e19061422e565b60405180910390fd5b8060108190555050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461192d906145d7565b80601f0160208091040260200160405190810160405280929190818152602001828054611959906145d7565b80156119a65780601f1061197b576101008083540402835291602001916119a6565b820191906000526020600020905b81548152906001019060200180831161198957829003601f168201915b5050505050905090565b6119b8612333565b73ffffffffffffffffffffffffffffffffffffffff166119d66118f4565b73ffffffffffffffffffffffffffffffffffffffff1614611a2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a239061422e565b60405180910390fd5b60136000611a3a9190613548565b818160139190611a4b929190613569565b505050565b601260029054906101000a900460ff1681565b601260009054906101000a900460ff1615611a7d57600080fd5b6000611a87610e1d565b905060008211611a9657600080fd5b601054821115611aa557600080fd5b600f548282611ab4919061440c565b1115611abf57600080fd5b611ac76118f4565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b955760011515601260029054906101000a900460ff1615151415611b7a57611b1e33610f35565b611b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b549061416e565b60405180910390fd5b6000611b683361172e565b90506011548110611b7857600080fd5b505b81600e54611b889190614493565b341015611b9457600080fd5b5b6000600190505b828111611bcb57611bb8338284611bb3919061440c565b6127a5565b8080611bc39061463a565b915050611b9c565b505050565b611be2611bdb612333565b8383612889565b5050565b611bee612333565b73ffffffffffffffffffffffffffffffffffffffff16611c0c6118f4565b73ffffffffffffffffffffffffffffffffffffffff1614611c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c599061422e565b60405180910390fd5b6001601260016101000a81548160ff021916908315150217905550565b611c90611c8a612333565b83612460565b611ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc69061428e565b60405180910390fd5b611cdb848484846129f6565b50505050565b60138181548110611cf157600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b600c8054611d33906145d7565b80601f0160208091040260200160405190810160405280929190818152602001828054611d5f906145d7565b8015611dac5780601f10611d8157610100808354040283529160200191611dac565b820191906000526020600020905b815481529060010190602001808311611d8f57829003601f168201915b505050505081565b6060611dbf8261233b565b611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df59061424e565b60405180910390fd5b60001515601260019054906101000a900460ff1615151415611eac57600d8054611e27906145d7565b80601f0160208091040260200160405190810160405280929190818152602001828054611e53906145d7565b8015611ea05780601f10611e7557610100808354040283529160200191611ea0565b820191906000526020600020905b815481529060010190602001808311611e8357829003601f168201915b50505050509050611f08565b6000611eb6612a52565b90506000815111611ed65760405180602001604052806000815250611f04565b80611ee084612ae4565b600c604051602001611ef493929190613f62565b6040516020818303038152906040525b9150505b919050565b611f15612333565b73ffffffffffffffffffffffffffffffffffffffff16611f336118f4565b73ffffffffffffffffffffffffffffffffffffffff1614611f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f809061422e565b60405180910390fd5b8060118190555050565b600f5481565b611fa1612333565b73ffffffffffffffffffffffffffffffffffffffff16611fbf6118f4565b73ffffffffffffffffffffffffffffffffffffffff1614612015576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200c9061422e565b60405180910390fd5b80600c908051906020019061202b9291906134c2565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6120cb612333565b73ffffffffffffffffffffffffffffffffffffffff166120e96118f4565b73ffffffffffffffffffffffffffffffffffffffff161461213f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121369061422e565b60405180910390fd5b80600d90805190602001906121559291906134c2565b5050565b612161612333565b73ffffffffffffffffffffffffffffffffffffffff1661217f6118f4565b73ffffffffffffffffffffffffffffffffffffffff16146121d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cc9061422e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223c906140ae565b60405180910390fd5b61224e816127c3565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061231c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061232c575061232b82612c45565b5b9050919050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661241a836115ee565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061246b8261233b565b6124aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a19061414e565b60405180910390fd5b60006124b5836115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061252457508373ffffffffffffffffffffffffffffffffffffffff1661250c84610bec565b73ffffffffffffffffffffffffffffffffffffffff16145b806125355750612534818561202f565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661255e826115ee565b73ffffffffffffffffffffffffffffffffffffffff16146125b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ab906140ce565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612624576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261b9061410e565b60405180910390fd5b61262f838383612caf565b61263a6000826123a7565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461268a91906144ed565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126e1919061440c565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46127a0838383612dc3565b505050565b6127bf828260405180602001604052806000815250612dc8565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156128f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ef9061412e565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516129e99190614031565b60405180910390a3505050565b612a0184848461253e565b612a0d84848484612e23565b612a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a439061408e565b60405180910390fd5b50505050565b6060600b8054612a61906145d7565b80601f0160208091040260200160405190810160405280929190818152602001828054612a8d906145d7565b8015612ada5780601f10612aaf57610100808354040283529160200191612ada565b820191906000526020600020905b815481529060010190602001808311612abd57829003601f168201915b5050505050905090565b60606000821415612b2c576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612c40565b600082905060005b60008214612b5e578080612b479061463a565b915050600a82612b579190614462565b9150612b34565b60008167ffffffffffffffff811115612b7a57612b7961479f565b5b6040519080825280601f01601f191660200182016040528015612bac5781602001600182028036833780820191505090505b5090505b60008514612c3957600182612bc591906144ed565b9150600a85612bd49190614683565b6030612be0919061440c565b60f81b818381518110612bf657612bf5614770565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612c329190614462565b9450612bb0565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612cba838383612fba565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612cfd57612cf881612fbf565b612d3c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612d3b57612d3a8382613008565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d7f57612d7a81613175565b612dbe565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612dbd57612dbc8282613246565b5b5b505050565b505050565b612dd283836132c5565b612ddf6000848484612e23565b612e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e159061408e565b60405180910390fd5b505050565b6000612e448473ffffffffffffffffffffffffffffffffffffffff1661349f565b15612fad578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612e6d612333565b8786866040518563ffffffff1660e01b8152600401612e8f9493929190613fc3565b602060405180830381600087803b158015612ea957600080fd5b505af1925050508015612eda57506040513d601f19601f82011682018060405250810190612ed79190613a2f565b60015b612f5d573d8060008114612f0a576040519150601f19603f3d011682016040523d82523d6000602084013e612f0f565b606091505b50600081511415612f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4c9061408e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612fb2565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016130158461172e565b61301f91906144ed565b9050600060076000848152602001908152602001600020549050818114613104576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061318991906144ed565b90506000600960008481526020019081526020016000205490506000600883815481106131b9576131b8614770565b5b9060005260206000200154905080600883815481106131db576131da614770565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061322a57613229614741565b5b6001900381819060005260206000200160009055905550505050565b60006132518361172e565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161332c906141ee565b60405180910390fd5b61333e8161233b565b1561337e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613375906140ee565b60405180910390fd5b61338a60008383612caf565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133da919061440c565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461349b60008383612dc3565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b8280546134ce906145d7565b90600052602060002090601f0160209004810192826134f05760008555613537565b82601f1061350957805160ff1916838001178555613537565b82800160010185558215613537579182015b8281111561353657825182559160200191906001019061351b565b5b5090506135449190613609565b5090565b50805460008255906000526020600020908101906135669190613609565b50565b8280548282559060005260206000209081019282156135f8579160200282015b828111156135f757823573ffffffffffffffffffffffffffffffffffffffff168260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190613589565b5b5090506136059190613609565b5090565b5b8082111561362257600081600090555060010161360a565b5090565b60006136396136348461430e565b6142e9565b905082815260208101848484011115613655576136546147dd565b5b613660848285614595565b509392505050565b600061367b6136768461433f565b6142e9565b905082815260208101848484011115613697576136966147dd565b5b6136a2848285614595565b509392505050565b6000813590506136b981614d1f565b92915050565b60008083601f8401126136d5576136d46147d3565b5b8235905067ffffffffffffffff8111156136f2576136f16147ce565b5b60208301915083602082028301111561370e5761370d6147d8565b5b9250929050565b60008135905061372481614d36565b92915050565b60008135905061373981614d4d565b92915050565b60008151905061374e81614d4d565b92915050565b600082601f830112613769576137686147d3565b5b8135613779848260208601613626565b91505092915050565b600082601f830112613797576137966147d3565b5b81356137a7848260208601613668565b91505092915050565b6000813590506137bf81614d64565b92915050565b6000602082840312156137db576137da6147e7565b5b60006137e9848285016136aa565b91505092915050565b60008060408385031215613809576138086147e7565b5b6000613817858286016136aa565b9250506020613828858286016136aa565b9150509250929050565b60008060006060848603121561384b5761384a6147e7565b5b6000613859868287016136aa565b935050602061386a868287016136aa565b925050604061387b868287016137b0565b9150509250925092565b6000806000806080858703121561389f5761389e6147e7565b5b60006138ad878288016136aa565b94505060206138be878288016136aa565b93505060406138cf878288016137b0565b925050606085013567ffffffffffffffff8111156138f0576138ef6147e2565b5b6138fc87828801613754565b91505092959194509250565b6000806040838503121561391f5761391e6147e7565b5b600061392d858286016136aa565b925050602061393e85828601613715565b9150509250929050565b6000806040838503121561395f5761395e6147e7565b5b600061396d858286016136aa565b925050602061397e858286016137b0565b9150509250929050565b6000806020838503121561399f5761399e6147e7565b5b600083013567ffffffffffffffff8111156139bd576139bc6147e2565b5b6139c9858286016136bf565b92509250509250929050565b6000602082840312156139eb576139ea6147e7565b5b60006139f984828501613715565b91505092915050565b600060208284031215613a1857613a176147e7565b5b6000613a268482850161372a565b91505092915050565b600060208284031215613a4557613a446147e7565b5b6000613a538482850161373f565b91505092915050565b600060208284031215613a7257613a716147e7565b5b600082013567ffffffffffffffff811115613a9057613a8f6147e2565b5b613a9c84828501613782565b91505092915050565b600060208284031215613abb57613aba6147e7565b5b6000613ac9848285016137b0565b91505092915050565b6000613ade8383613f44565b60208301905092915050565b613af381614521565b82525050565b6000613b0482614395565b613b0e81856143c3565b9350613b1983614370565b8060005b83811015613b4a578151613b318882613ad2565b9750613b3c836143b6565b925050600181019050613b1d565b5085935050505092915050565b613b6081614533565b82525050565b6000613b71826143a0565b613b7b81856143d4565b9350613b8b8185602086016145a4565b613b94816147ec565b840191505092915050565b6000613baa826143ab565b613bb481856143f0565b9350613bc48185602086016145a4565b613bcd816147ec565b840191505092915050565b6000613be3826143ab565b613bed8185614401565b9350613bfd8185602086016145a4565b80840191505092915050565b60008154613c16816145d7565b613c208186614401565b94506001821660008114613c3b5760018114613c4c57613c7f565b60ff19831686528186019350613c7f565b613c5585614380565b60005b83811015613c7757815481890152600182019150602081019050613c58565b838801955050505b50505092915050565b6000613c95602b836143f0565b9150613ca0826147fd565b604082019050919050565b6000613cb86032836143f0565b9150613cc38261484c565b604082019050919050565b6000613cdb6026836143f0565b9150613ce68261489b565b604082019050919050565b6000613cfe6025836143f0565b9150613d09826148ea565b604082019050919050565b6000613d21601c836143f0565b9150613d2c82614939565b602082019050919050565b6000613d446024836143f0565b9150613d4f82614962565b604082019050919050565b6000613d676019836143f0565b9150613d72826149b1565b602082019050919050565b6000613d8a602c836143f0565b9150613d95826149da565b604082019050919050565b6000613dad6017836143f0565b9150613db882614a29565b602082019050919050565b6000613dd06038836143f0565b9150613ddb82614a52565b604082019050919050565b6000613df3602a836143f0565b9150613dfe82614aa1565b604082019050919050565b6000613e166029836143f0565b9150613e2182614af0565b604082019050919050565b6000613e396020836143f0565b9150613e4482614b3f565b602082019050919050565b6000613e5c602c836143f0565b9150613e6782614b68565b604082019050919050565b6000613e7f6020836143f0565b9150613e8a82614bb7565b602082019050919050565b6000613ea2602f836143f0565b9150613ead82614be0565b604082019050919050565b6000613ec56021836143f0565b9150613ed082614c2f565b604082019050919050565b6000613ee86000836143e5565b9150613ef382614c7e565b600082019050919050565b6000613f0b6031836143f0565b9150613f1682614c81565b604082019050919050565b6000613f2e602c836143f0565b9150613f3982614cd0565b604082019050919050565b613f4d8161458b565b82525050565b613f5c8161458b565b82525050565b6000613f6e8286613bd8565b9150613f7a8285613bd8565b9150613f868284613c09565b9150819050949350505050565b6000613f9e82613edb565b9150819050919050565b6000602082019050613fbd6000830184613aea565b92915050565b6000608082019050613fd86000830187613aea565b613fe56020830186613aea565b613ff26040830185613f53565b81810360608301526140048184613b66565b905095945050505050565b600060208201905081810360008301526140298184613af9565b905092915050565b60006020820190506140466000830184613b57565b92915050565b600060208201905081810360008301526140668184613b9f565b905092915050565b6000602082019050818103600083015261408781613c88565b9050919050565b600060208201905081810360008301526140a781613cab565b9050919050565b600060208201905081810360008301526140c781613cce565b9050919050565b600060208201905081810360008301526140e781613cf1565b9050919050565b6000602082019050818103600083015261410781613d14565b9050919050565b6000602082019050818103600083015261412781613d37565b9050919050565b6000602082019050818103600083015261414781613d5a565b9050919050565b6000602082019050818103600083015261416781613d7d565b9050919050565b6000602082019050818103600083015261418781613da0565b9050919050565b600060208201905081810360008301526141a781613dc3565b9050919050565b600060208201905081810360008301526141c781613de6565b9050919050565b600060208201905081810360008301526141e781613e09565b9050919050565b6000602082019050818103600083015261420781613e2c565b9050919050565b6000602082019050818103600083015261422781613e4f565b9050919050565b6000602082019050818103600083015261424781613e72565b9050919050565b6000602082019050818103600083015261426781613e95565b9050919050565b6000602082019050818103600083015261428781613eb8565b9050919050565b600060208201905081810360008301526142a781613efe565b9050919050565b600060208201905081810360008301526142c781613f21565b9050919050565b60006020820190506142e36000830184613f53565b92915050565b60006142f3614304565b90506142ff8282614609565b919050565b6000604051905090565b600067ffffffffffffffff8211156143295761432861479f565b5b614332826147ec565b9050602081019050919050565b600067ffffffffffffffff82111561435a5761435961479f565b5b614363826147ec565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006144178261458b565b91506144228361458b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614457576144566146b4565b5b828201905092915050565b600061446d8261458b565b91506144788361458b565b925082614488576144876146e3565b5b828204905092915050565b600061449e8261458b565b91506144a98361458b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156144e2576144e16146b4565b5b828202905092915050565b60006144f88261458b565b91506145038361458b565b925082821015614516576145156146b4565b5b828203905092915050565b600061452c8261456b565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156145c25780820151818401526020810190506145a7565b838111156145d1576000848401525b50505050565b600060028204905060018216806145ef57607f821691505b6020821081141561460357614602614712565b5b50919050565b614612826147ec565b810181811067ffffffffffffffff821117156146315761463061479f565b5b80604052505050565b60006146458261458b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614678576146776146b4565b5b600182019050919050565b600061468e8261458b565b91506146998361458b565b9250826146a9576146a86146e3565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f55736572206973206e6f742077686974656c6973746564000000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b614d2881614521565b8114614d3357600080fd5b50565b614d3f81614533565b8114614d4a57600080fd5b50565b614d568161453f565b8114614d6157600080fd5b50565b614d6d8161458b565b8114614d7857600080fd5b5056fea2646970667358221220ce42eb6ebb091f2e817be7b5d4ccdf16904a8b0e9cf65f2bc04ba1b9b0a4e80064736f6c63430008070033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000e415641582050617373706f727473000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000241500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d53395057566e50527245434a564c3777727a4d466276474169337a6d32357a587174655062794348595169422f000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d53395057566e50527245434a564c3777727a4d466276474169337a6d32357a587174655062794348595169422f00000000000000000000