[ { "inputs": [], "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": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "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": [], "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": [], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "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": "_owner", "type": "address" } ], "name": "walletOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" } ]
60806040526040518060800160405280604381526020016200377360439139600a90805190602001906200003592919062000147565b506040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600b90805190602001906200008392919062000147565b506000600c55600b600d55600b600e55348015620000a057600080fd5b506040518060400160405280600c81526020017f44616e63696e674672656e7300000000000000000000000000000000000000008152506040518060400160405280600581526020017f644652454e00000000000000000000000000000000000000000000000000000081525081600090805190602001906200012592919062000147565b5080600190805190602001906200013e92919062000147565b5050506200025c565b8280546200015590620001f7565b90600052602060002090601f016020900481019282620001795760008555620001c5565b82601f106200019457805160ff1916838001178555620001c5565b82800160010185558215620001c5579182015b82811115620001c4578251825591602001919060010190620001a7565b5b509050620001d49190620001d8565b5090565b5b80821115620001f3576000816000905550600101620001d9565b5090565b600060028204905060018216806200021057607f821691505b602082108114156200022757620002266200022d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b613507806200026c6000396000f3fe6080604052600436106101405760003560e01c8063438b6300116100b6578063a22cb4651161006f578063a22cb46514610477578063b88d4fde146104a0578063c6682862146104c9578063c87b56dd146104f4578063d5abeb0114610531578063e985e9c51461055c57610140565b8063438b63001461032d5780634f6ccce71461036a5780636352211e146103a75780636c0360eb146103e457806370a082311461040f57806395d89b411461044c57610140565b806313faede61161010857806313faede61461021d57806318160ddd14610248578063239c70ae1461027357806323b872dd1461029e5780632f745c59146102c757806342842e0e1461030457610140565b806301ffc9a71461014557806306fdde0314610182578063081812fc146101ad578063095ea7b3146101ea5780631249c58b14610213575b600080fd5b34801561015157600080fd5b5061016c600480360381019061016791906123e6565b610599565b604051610179919061292b565b60405180910390f35b34801561018e57600080fd5b50610197610613565b6040516101a49190612946565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf9190612440565b6106a5565b6040516101e191906128a2565b60405180910390f35b3480156101f657600080fd5b50610211600480360381019061020c91906123a6565b61072a565b005b61021b610842565b005b34801561022957600080fd5b5061023261089c565b60405161023f9190612b68565b60405180910390f35b34801561025457600080fd5b5061025d6108a2565b60405161026a9190612b68565b60405180910390f35b34801561027f57600080fd5b506102886108af565b6040516102959190612b68565b60405180910390f35b3480156102aa57600080fd5b506102c560048036038101906102c09190612290565b6108b5565b005b3480156102d357600080fd5b506102ee60048036038101906102e991906123a6565b610915565b6040516102fb9190612b68565b60405180910390f35b34801561031057600080fd5b5061032b60048036038101906103269190612290565b6109ba565b005b34801561033957600080fd5b50610354600480360381019061034f9190612223565b6109da565b6040516103619190612909565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190612440565b610a88565b60405161039e9190612b68565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c99190612440565b610af9565b6040516103db91906128a2565b60405180910390f35b3480156103f057600080fd5b506103f9610bab565b6040516104069190612946565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190612223565b610c39565b6040516104439190612b68565b60405180910390f35b34801561045857600080fd5b50610461610cf1565b60405161046e9190612946565b60405180910390f35b34801561048357600080fd5b5061049e60048036038101906104999190612366565b610d83565b005b3480156104ac57600080fd5b506104c760048036038101906104c291906122e3565b610f04565b005b3480156104d557600080fd5b506104de610f66565b6040516104eb9190612946565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190612440565b610ff4565b6040516105289190612946565b60405180910390f35b34801561053d57600080fd5b5061054661109e565b6040516105539190612b68565b60405180910390f35b34801561056857600080fd5b50610583600480360381019061057e9190612250565b6110a4565b604051610590919061292b565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061060c575061060b82611138565b5b9050919050565b60606000805461062290612ddb565b80601f016020809104026020016040519081016040528092919081815260200182805461064e90612ddb565b801561069b5780601f106106705761010080835404028352916020019161069b565b820191906000526020600020905b81548152906001019060200180831161067e57829003601f168201915b5050505050905090565b60006106b08261121a565b6106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e690612aa8565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061073582610af9565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079d90612b08565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107c5611286565b73ffffffffffffffffffffffffffffffffffffffff1614806107f457506107f3816107ee611286565b6110a4565b5b610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082a90612a28565b60405180910390fd5b61083d838361128e565b505050565b600061084c6108a2565b90506000600b90506000341461086157600080fd5b6000600190505b8181116108975761088433828561087f9190612c6a565b611347565b808061088f90612e3e565b915050610868565b505050565b600c5481565b6000600880549050905090565b600e5481565b6108c66108c0611286565b82611365565b610905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fc90612b28565b60405180910390fd5b610910838383611443565b505050565b600061092083610c39565b8210610961576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095890612968565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6109d583838360405180602001604052806000815250610f04565b505050565b606060006109e783610c39565b905060008167ffffffffffffffff811115610a0557610a04612fa3565b5b604051908082528060200260200182016040528015610a335781602001602082028036833780820191505090505b50905060005b82811015610a7d57610a4b8582610915565b828281518110610a5e57610a5d612f74565b5b6020026020010181815250508080610a7590612e3e565b915050610a39565b508092505050919050565b6000610a926108a2565b8210610ad3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aca90612b48565b60405180910390fd5b60088281548110610ae757610ae6612f74565b5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9990612a68565b60405180910390fd5b80915050919050565b600a8054610bb890612ddb565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490612ddb565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190612a48565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060018054610d0090612ddb565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2c90612ddb565b8015610d795780601f10610d4e57610100808354040283529160200191610d79565b820191906000526020600020905b815481529060010190602001808311610d5c57829003601f168201915b5050505050905090565b610d8b611286565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610df9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df0906129e8565b60405180910390fd5b8060056000610e06611286565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610eb3611286565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ef8919061292b565b60405180910390a35050565b610f15610f0f611286565b83611365565b610f54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4b90612b28565b60405180910390fd5b610f608484848461169f565b50505050565b600b8054610f7390612ddb565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9f90612ddb565b8015610fec5780601f10610fc157610100808354040283529160200191610fec565b820191906000526020600020905b815481529060010190602001808311610fcf57829003601f168201915b505050505081565b6060610fff8261121a565b61103e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103590612ae8565b60405180910390fd5b60006110486116fb565b905060008151116110685760405180602001604052806000815250611096565b806110728461178d565b600b60405160200161108693929190612871565b6040516020818303038152906040525b915050919050565b600d5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061120357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806112135750611212826118ee565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661130183610af9565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b611361828260405180602001604052806000815250611958565b5050565b60006113708261121a565b6113af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a690612a08565b60405180910390fd5b60006113ba83610af9565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061142957508373ffffffffffffffffffffffffffffffffffffffff16611411846106a5565b73ffffffffffffffffffffffffffffffffffffffff16145b8061143a575061143981856110a4565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661146382610af9565b73ffffffffffffffffffffffffffffffffffffffff16146114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b090612ac8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611529576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611520906129c8565b60405180910390fd5b6115348383836119b3565b61153f60008261128e565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461158f9190612cf1565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115e69190612c6a565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6116aa848484611443565b6116b684848484611ac7565b6116f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ec90612988565b60405180910390fd5b50505050565b6060600a805461170a90612ddb565b80601f016020809104026020016040519081016040528092919081815260200182805461173690612ddb565b80156117835780601f1061175857610100808354040283529160200191611783565b820191906000526020600020905b81548152906001019060200180831161176657829003601f168201915b5050505050905090565b606060008214156117d5576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506118e9565b600082905060005b600082146118075780806117f090612e3e565b915050600a826118009190612cc0565b91506117dd565b60008167ffffffffffffffff81111561182357611822612fa3565b5b6040519080825280601f01601f1916602001820160405280156118555781602001600182028036833780820191505090505b5090505b600085146118e25760018261186e9190612cf1565b9150600a8561187d9190612e87565b60306118899190612c6a565b60f81b81838151811061189f5761189e612f74565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856118db9190612cc0565b9450611859565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6119628383611c5e565b61196f6000848484611ac7565b6119ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a590612988565b60405180910390fd5b505050565b6119be838383611e2c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a01576119fc81611e31565b611a40565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a3f57611a3e8382611e7a565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a8357611a7e81611fe7565b611ac2565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611ac157611ac082826120b8565b5b5b505050565b6000611ae88473ffffffffffffffffffffffffffffffffffffffff16612137565b15611c51578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611b11611286565b8786866040518563ffffffff1660e01b8152600401611b3394939291906128bd565b602060405180830381600087803b158015611b4d57600080fd5b505af1925050508015611b7e57506040513d601f19601f82011682018060405250810190611b7b9190612413565b60015b611c01573d8060008114611bae576040519150601f19603f3d011682016040523d82523d6000602084013e611bb3565b606091505b50600081511415611bf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf090612988565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611c56565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc590612a88565b60405180910390fd5b611cd78161121a565b15611d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0e906129a8565b60405180910390fd5b611d23600083836119b3565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d739190612c6a565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611e8784610c39565b611e919190612cf1565b9050600060076000848152602001908152602001600020549050818114611f76576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600880549050611ffb9190612cf1565b905060006009600084815260200190815260200160002054905060006008838154811061202b5761202a612f74565b5b90600052602060002001549050806008838154811061204d5761204c612f74565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061209c5761209b612f45565b5b6001900381819060005260206000200160009055905550505050565b60006120c383610c39565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600080823b905060008111915050919050565b600061215d61215884612ba8565b612b83565b90508281526020810184848401111561217957612178612fd7565b5b612184848285612d99565b509392505050565b60008135905061219b81613475565b92915050565b6000813590506121b08161348c565b92915050565b6000813590506121c5816134a3565b92915050565b6000815190506121da816134a3565b92915050565b600082601f8301126121f5576121f4612fd2565b5b813561220584826020860161214a565b91505092915050565b60008135905061221d816134ba565b92915050565b60006020828403121561223957612238612fe1565b5b60006122478482850161218c565b91505092915050565b6000806040838503121561226757612266612fe1565b5b60006122758582860161218c565b92505060206122868582860161218c565b9150509250929050565b6000806000606084860312156122a9576122a8612fe1565b5b60006122b78682870161218c565b93505060206122c88682870161218c565b92505060406122d98682870161220e565b9150509250925092565b600080600080608085870312156122fd576122fc612fe1565b5b600061230b8782880161218c565b945050602061231c8782880161218c565b935050604061232d8782880161220e565b925050606085013567ffffffffffffffff81111561234e5761234d612fdc565b5b61235a878288016121e0565b91505092959194509250565b6000806040838503121561237d5761237c612fe1565b5b600061238b8582860161218c565b925050602061239c858286016121a1565b9150509250929050565b600080604083850312156123bd576123bc612fe1565b5b60006123cb8582860161218c565b92505060206123dc8582860161220e565b9150509250929050565b6000602082840312156123fc576123fb612fe1565b5b600061240a848285016121b6565b91505092915050565b60006020828403121561242957612428612fe1565b5b6000612437848285016121cb565b91505092915050565b60006020828403121561245657612455612fe1565b5b60006124648482850161220e565b91505092915050565b60006124798383612853565b60208301905092915050565b61248e81612d25565b82525050565b600061249f82612bfe565b6124a98185612c2c565b93506124b483612bd9565b8060005b838110156124e55781516124cc888261246d565b97506124d783612c1f565b9250506001810190506124b8565b5085935050505092915050565b6124fb81612d37565b82525050565b600061250c82612c09565b6125168185612c3d565b9350612526818560208601612da8565b61252f81612fe6565b840191505092915050565b600061254582612c14565b61254f8185612c4e565b935061255f818560208601612da8565b61256881612fe6565b840191505092915050565b600061257e82612c14565b6125888185612c5f565b9350612598818560208601612da8565b80840191505092915050565b600081546125b181612ddb565b6125bb8186612c5f565b945060018216600081146125d657600181146125e75761261a565b60ff1983168652818601935061261a565b6125f085612be9565b60005b83811015612612578154818901526001820191506020810190506125f3565b838801955050505b50505092915050565b6000612630602b83612c4e565b915061263b82612ff7565b604082019050919050565b6000612653603283612c4e565b915061265e82613046565b604082019050919050565b6000612676601c83612c4e565b915061268182613095565b602082019050919050565b6000612699602483612c4e565b91506126a4826130be565b604082019050919050565b60006126bc601983612c4e565b91506126c78261310d565b602082019050919050565b60006126df602c83612c4e565b91506126ea82613136565b604082019050919050565b6000612702603883612c4e565b915061270d82613185565b604082019050919050565b6000612725602a83612c4e565b9150612730826131d4565b604082019050919050565b6000612748602983612c4e565b915061275382613223565b604082019050919050565b600061276b602083612c4e565b915061277682613272565b602082019050919050565b600061278e602c83612c4e565b91506127998261329b565b604082019050919050565b60006127b1602983612c4e565b91506127bc826132ea565b604082019050919050565b60006127d4602f83612c4e565b91506127df82613339565b604082019050919050565b60006127f7602183612c4e565b915061280282613388565b604082019050919050565b600061281a603183612c4e565b9150612825826133d7565b604082019050919050565b600061283d602c83612c4e565b915061284882613426565b604082019050919050565b61285c81612d8f565b82525050565b61286b81612d8f565b82525050565b600061287d8286612573565b91506128898285612573565b915061289582846125a4565b9150819050949350505050565b60006020820190506128b76000830184612485565b92915050565b60006080820190506128d26000830187612485565b6128df6020830186612485565b6128ec6040830185612862565b81810360608301526128fe8184612501565b905095945050505050565b600060208201905081810360008301526129238184612494565b905092915050565b600060208201905061294060008301846124f2565b92915050565b60006020820190508181036000830152612960818461253a565b905092915050565b6000602082019050818103600083015261298181612623565b9050919050565b600060208201905081810360008301526129a181612646565b9050919050565b600060208201905081810360008301526129c181612669565b9050919050565b600060208201905081810360008301526129e18161268c565b9050919050565b60006020820190508181036000830152612a01816126af565b9050919050565b60006020820190508181036000830152612a21816126d2565b9050919050565b60006020820190508181036000830152612a41816126f5565b9050919050565b60006020820190508181036000830152612a6181612718565b9050919050565b60006020820190508181036000830152612a818161273b565b9050919050565b60006020820190508181036000830152612aa18161275e565b9050919050565b60006020820190508181036000830152612ac181612781565b9050919050565b60006020820190508181036000830152612ae1816127a4565b9050919050565b60006020820190508181036000830152612b01816127c7565b9050919050565b60006020820190508181036000830152612b21816127ea565b9050919050565b60006020820190508181036000830152612b418161280d565b9050919050565b60006020820190508181036000830152612b6181612830565b9050919050565b6000602082019050612b7d6000830184612862565b92915050565b6000612b8d612b9e565b9050612b998282612e0d565b919050565b6000604051905090565b600067ffffffffffffffff821115612bc357612bc2612fa3565b5b612bcc82612fe6565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000612c7582612d8f565b9150612c8083612d8f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612cb557612cb4612eb8565b5b828201905092915050565b6000612ccb82612d8f565b9150612cd683612d8f565b925082612ce657612ce5612ee7565b5b828204905092915050565b6000612cfc82612d8f565b9150612d0783612d8f565b925082821015612d1a57612d19612eb8565b5b828203905092915050565b6000612d3082612d6f565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612dc6578082015181840152602081019050612dab565b83811115612dd5576000848401525b50505050565b60006002820490506001821680612df357607f821691505b60208210811415612e0757612e06612f16565b5b50919050565b612e1682612fe6565b810181811067ffffffffffffffff82111715612e3557612e34612fa3565b5b80604052505050565b6000612e4982612d8f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612e7c57612e7b612eb8565b5b600182019050919050565b6000612e9282612d8f565b9150612e9d83612d8f565b925082612ead57612eac612ee7565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b61347e81612d25565b811461348957600080fd5b50565b61349581612d37565b81146134a057600080fd5b50565b6134ac81612d43565b81146134b757600080fd5b50565b6134c381612d8f565b81146134ce57600080fd5b5056fea2646970667358221220ac109fc8cbce1dbc0eb1d845faa35bd5dea7f0886641b5a2a41fca821efee14364736f6c63430008070033697066733a2f2f6261667962656963346a36776a7176696835623775736e763571686670747571323462657373686d7779343337797561686d6334667236366771652f