[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "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": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "character", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_NTPid", "type": "uint256" }, { "internalType": "uint256", "name": "_characterType", "type": "uint256" } ], "name": "claim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claimStart", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "claimed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getCreated", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "getHoldNTP", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "getOwnerOfNTP", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "implementation", "type": "address" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "tokenContract", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "salt", "type": "uint256" } ], "name": "getTBA", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "getWalletOfOwnerNTP", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "getWalletOfStakeToken", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "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": "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "setClaimStart", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "bool_", "type": "bool" } ], "name": "setIndividual", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_characterType", "type": "uint256" }, { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setUnificationURI", "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": "tokenId", "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": "tokenId", "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" } ]
608060405260016004556009805460ff19169055600e805474a65ba71d653f62c64d97099b58d25a955eb374a0016001600160a81b0319909116179055600f80546001600160a01b031990811673493ed2537be3a2aa380d63f943220616f27b6a7817909155601080548216739eb8788bea8beeb00427b3cbfa826048c0b4b3431790556011805490911673b032ca260b1cabd144f47825c6ae32fb3026f12c1790553480156100ad575f80fd5b5033604051806040016040528060078152602001664e45572041474560c81b815250604051806040016040528060028152602001614e4160f01b81525081600190816100f991906102ce565b50600261010682826102ce565b5050506001600160a01b03811661013757604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61014081610193565b50600160088190555061016b5f604051806080016040528060428152602001612bef604291396101e4565b61018e6001604051806080016040528060428152602001612bad604291396101e4565b61038d565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6101ec610208565b5f828152600b6020526040902061020382826102ce565b505050565b6007546001600160a01b031633146102355760405163118cdaa760e01b815233600482015260240161012e565b565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061025f57607f821691505b60208210810361027d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561020357805f5260205f20601f840160051c810160208510156102a85750805b601f840160051c820191505b818110156102c7575f81556001016102b4565b5050505050565b81516001600160401b038111156102e7576102e7610237565b6102fb816102f5845461024b565b84610283565b602080601f83116001811461032e575f84156103175750858301515b5f19600386901b1c1916600185901b178555610385565b5f85815260208120601f198616915b8281101561035c5788860151825594840194600190910190840161033d565b508582101561037957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6128138061039a5f395ff3fe608060405234801561000f575f80fd5b50600436106101f2575f3560e01c8063715018a611610114578063b78aece3116100a9578063dbe7e3bd11610079578063dbe7e3bd1461043f578063e985e9c514610461578063f04d688f1461049c578063f2fde38b146104a9578063ffb39076146104bc575f80fd5b8063b78aece3146103f3578063b88d4fde14610406578063c349026314610419578063c87b56dd1461042c575f80fd5b80639cb2b69b116100e45780639cb2b69b146103a7578063a0da6955146103ba578063a22cb465146103cd578063a7ab14c2146103e0575f80fd5b8063715018a6146103735780638da5cb5b1461037b578063920caa971461038c57806395d89b411461039f575f80fd5b80632f745c591161018a5780634f6ccce71161015a5780634f6ccce71461032757806355f804b31461033a5780636352211e1461034d57806370a0823114610360575f80fd5b80632f745c59146102cf5780633d722c59146102e257806342842e0e146102f5578063468f25b014610308575f80fd5b80630a34a739116101c55780630a34a73914610273578063172dfcd81461029357806318160ddd146102a657806323b872dd146102bc575f80fd5b806301ffc9a7146101f657806306fdde031461021e578063081812fc14610233578063095ea7b31461025e575b5f80fd5b610209610204366004611e3f565b6104cf565b60405190151581526020015b60405180910390f35b61022661053b565b6040516102159190611e88565b610246610241366004611e9a565b6105cb565b6040516001600160a01b039091168152602001610215565b61027161026c366004611ec5565b61065b565b005b610286610281366004611eef565b610771565b6040516102159190611f0a565b6102716102a1366004611fe7565b6108a1565b6102ae6108c0565b604051908152602001610215565b6102716102ca36600461203e565b6108d5565b6102ae6102dd366004611ec5565b610906565b6102866102f0366004611eef565b6109c5565b61027161030336600461203e565b610a3f565b6102ae610316366004611e9a565b600a6020525f908152604090205481565b6102ae610335366004611e9a565b610a59565b61027161034836600461207c565b610b07565b61024661035b366004611e9a565b610b1c565b6102ae61036e366004611eef565b610b2f565b610271610bf6565b6007546001600160a01b0316610246565b61028661039a366004611eef565b610c09565b610226610c45565b6102096103b5366004611e9a565b610c54565b6102716103c83660046120f5565b610cc3565b6102716103db366004612110565b610cde565b6102716103ee3660046120f5565b610da1565b610246610401366004612147565b610dbc565b610271610414366004612195565b610e55565b610271610427366004612210565b610e8d565b61022661043a366004611e9a565b610faa565b61020961044d366004611e9a565b600d6020525f908152604090205460ff1681565b61020961046f366004612230565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205460ff1690565b600e546102099060ff1681565b6102716104b7366004611eef565b611095565b6102466104ca366004611e9a565b6110d2565b5f6001600160e01b031982166380ac58cd60e01b14806104ff57506001600160e01b03198216635b5e139f60e01b145b8061051a57506001600160e01b0319821663780e9d6360e01b145b8061053557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606001805461054a9061225c565b80601f01602080910402602001604051908101604052809291908181526020018280546105769061225c565b80156105c15780601f10610598576101008083540402835291602001916105c1565b820191905f5260205f20905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b5f6105d7826004541190565b6106405760405162461bcd60e51b815260206004820152602f60248201527f4552433732315073693a20617070726f76656420717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084015b60405180910390fd5b505f908152600560205260409020546001600160a01b031690565b5f61066582610b1c565b9050806001600160a01b0316836001600160a01b0316036106d45760405162461bcd60e51b8152602060048201526024808201527f4552433732315073693a20617070726f76616c20746f2063757272656e74206f6044820152633bb732b960e11b6064820152608401610637565b336001600160a01b03821614806106f057506106f0813361046f565b6107625760405162461bcd60e51b815260206004820152603b60248201527f4552433732315073693a20617070726f76652063616c6c6572206973206e6f7460448201527f206f776e6572206e6f7220617070726f76656420666f7220616c6c00000000006064820152608401610637565b61076c8383611145565b505050565b60605f61077d83610c09565b90505f610789846109c5565b90505f8151835161079a91906122a8565b67ffffffffffffffff8111156107b2576107b2611f4d565b6040519080825280602002602001820160405280156107db578160200160208202803683370190505b5090505f805b8451811015610836578481815181106107fc576107fc6122bb565b6020026020010151838381518110610816576108166122bb565b60209081029190910101528161082b816122cf565b9250506001016107e1565b505f5b835181101561088e57838181518110610854576108546122bb565b602002602001015183838151811061086e5761086e6122bb565b602090810291909101015281610883816122cf565b925050600101610839565b50610898826111b2565b50949350505050565b6108a9611296565b5f828152600b6020526040902061076c8282612332565b5f60016004546108d091906123ee565b905090565b6108df33826112c3565b6108fb5760405162461bcd60e51b815260040161063790612401565b61076c8383836113af565b5f8060015b60045481101561097057610920816004541190565b8015610945575061093081610b1c565b6001600160a01b0316856001600160a01b0316145b156109685783820361095a5791506105359050565b81610964816122cf565b9250505b60010161090b565b5060405162461bcd60e51b8152602060048201526024808201527f4552433732315073693a206f776e657220696e646578206f7574206f6620626f604482015263756e647360e01b6064820152608401610637565b600f54604051634b152ed960e01b81526001600160a01b0383811660048301526060925f92911690634b152ed9906024015b5f60405180830381865afa158015610a11573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a389190810190612455565b9392505050565b61076c83838360405180602001604052805f815250610e55565b5f610a626108c0565b8210610abe5760405162461bcd60e51b815260206004820152602560248201527f4552433732315073693a20676c6f62616c20696e646578206f7574206f6620626044820152646f756e647360d81b6064820152608401610637565b5f60015b600454811015610b0057610ad7816004541190565b15610af857838203610aea579392505050565b81610af4816122cf565b9250505b600101610ac2565b5050919050565b610b0f611296565b600c61076c8284836124f6565b5f80610b27836115a2565b509392505050565b5f6001600160a01b038216610b9c5760405162461bcd60e51b815260206004820152602d60248201527f4552433732315073693a2062616c616e636520717565727920666f722074686560448201526c207a65726f206164647265737360981b6064820152608401610637565b5f60015b600454811015610bef57610bb5816004541190565b15610be757610bc381610b1c565b6001600160a01b0316846001600160a01b031603610be757610be4826122cf565b91505b600101610ba0565b5092915050565b610bfe611296565b610c075f611639565b565b600e5460405162438b6360e81b81526001600160a01b0383811660048301526060925f926101009091049091169063438b6300906024016109f7565b60606002805461054a9061225c565b601054604051634165b5b960e11b8152600481018390525f9182916001600160a01b03909116906382cb6b7290602401602060405180830381865afa158015610c9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906125b0565b610ccb611296565b6009805460ff1916911515919091179055565b336001600160a01b03831603610d365760405162461bcd60e51b815260206004820152601c60248201527f4552433732315073693a20617070726f766520746f2063616c6c6572000000006044820152606401610637565b335f8181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610da9611296565b600e805460ff1916911515919091179055565b601054604051632f4de29b60e11b81526001600160a01b03878116600483015260248201879052858116604483015260648201859052608482018490525f928392911690635e9bc5369060a401602060405180830381865afa158015610e24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4891906125cb565b9150505b95945050505050565b610e5f33836112c3565b610e7b5760405162461bcd60e51b815260040161063790612401565b610e878484848461168a565b50505050565b610e956116bf565b5f828152600d6020526040812054601154600e5460ff9092169291610ed1916001600160a01b0390811691600191610100909104168785610dbc565b600e5490915060ff16610f165760405162461bcd60e51b815260206004820152600d60248201526c2132b337b932903132b3b4b71760991b6044820152606401610637565b8115610f5d5760405162461bcd60e51b815260206004820152601660248201527513951408125108185b1c9958591e4818db185a5b595960521b6044820152606401610637565b610f68816001611718565b5f610f716108c0565b5f908152600a60209081526040808320879055878352600d9091529020805460ff1916600117905550610fa691506117319050565b5050565b60095460609060ff1615610fe757610fc182611738565b604051602001610fd191906125fd565b6040516020818303038152906040529050919050565b5f828152600a6020908152604080832054808452600b909252822080549192916110109061225c565b80601f016020809104026020016040519081016040528092919081815260200182805461103c9061225c565b80156110875780601f1061105e57610100808354040283529160200191611087565b820191905f5260205f20905b81548152906001019060200180831161106a57829003601f168201915b509398975050505050505050565b61109d611296565b6001600160a01b0381166110c657604051631e4fbdf760e01b81525f6004820152602401610637565b6110cf81611639565b50565b600e546040516331a9108f60e11b8152600481018390525f9182916101009091046001600160a01b031690636352211e90602401602060405180830381865afa158015611121573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906125cb565b5f81815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061117982610b1c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f5b8151811015610fa6575f6111c98260016122a8565b90505b825181101561128d578281815181106111e7576111e76122bb565b6020026020010151838381518110611201576112016122bb565b60200260200101511115611285575f838381518110611222576112226122bb565b6020026020010151905083828151811061123e5761123e6122bb565b6020026020010151848481518110611258576112586122bb565b60200260200101818152505080848381518110611277576112776122bb565b602002602001018181525050505b6001016111cc565b506001016111b4565b6007546001600160a01b03163314610c075760405163118cdaa760e01b8152336004820152602401610637565b5f6112cf826004541190565b6113335760405162461bcd60e51b815260206004820152602f60248201527f4552433732315073693a206f70657261746f7220717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610637565b5f61133d83610b1c565b9050806001600160a01b0316846001600160a01b031614806113785750836001600160a01b031661136d846105cb565b6001600160a01b0316145b806113a757506001600160a01b038082165f9081526006602090815260408083209388168352929052205460ff165b949350505050565b5f806113ba836115a2565b91509150846001600160a01b0316826001600160a01b0316146114345760405162461bcd60e51b815260206004820152602c60248201527f4552433732315073693a207472616e73666572206f6620746f6b656e2074686160448201526b3a1034b9903737ba1037bbb760a11b6064820152608401610637565b6001600160a01b03841661149a5760405162461bcd60e51b815260206004820152602760248201527f4552433732315073693a207472616e7366657220746f20746865207a65726f206044820152666164647265737360c81b6064820152608401610637565b6114a785858560016117fc565b6114b15f84611145565b5f6114bd8460016122a8565b600881901c5f90815260208190526040902054909150600160ff1b60ff83161c161580156114ec575060045481105b15611521575f81815260036020526040812080546001600160a01b0319166001600160a01b038916179055611521908261186a565b5f84815260036020526040902080546001600160a01b0319166001600160a01b038716179055818414611558576115585f8561186a565b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b5f806115af836004541190565b6116105760405162461bcd60e51b815260206004820152602c60248201527f4552433732315073693a206f776e657220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610637565b61161983611895565b5f818152600360205260409020546001600160a01b031694909350915050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6116958484846113af565b6116a38484846001856118a0565b610e875760405162461bcd60e51b81526004016106379061261d565b6002600854036117115760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610637565b6002600855565b610fa6828260405180602001604052805f8152506119c4565b6001600855565b6060611745826004541190565b6117a45760405162461bcd60e51b815260206004820152602a60248201527f4552433732315073693a2055524920717565727920666f72206e6f6e657869736044820152693a32b73a103a37b5b2b760b11b6064820152608401610637565b5f6117ad6119de565b90505f8151116117cb5760405180602001604052805f815250610a38565b806117d5846119ed565b6040516020016117e6929190612672565b6040516020818303038152906040529392505050565b6001600160a01b038416158061181957506001600160a01b038316155b6118655760405162461bcd60e51b815260206004820152601860248201527f4572723a20746f6b656e20697320534f554c20424f554e4400000000000000006044820152606401610637565b610e87565b600881901c5f90815260209290925260409091208054600160ff1b60ff9093169290921c9091179055565b5f6105358183611a7d565b5f6001600160a01b0385163b156119bc57506001835b6118c084866122a8565b8110156119b657604051630a85bd0160e11b81526001600160a01b0387169063150b7a02906118f99033908b9086908990600401612686565b6020604051808303815f875af1925050508015611933575060408051601f3d908101601f19168201909252611930918101906126c2565b60015b61198e573d808015611960576040519150601f19603f3d011682016040523d82523d5f602084013e611965565b606091505b5080515f036119865760405162461bcd60e51b81526004016106379061261d565b805181602001fd5b8280156119ab57506001600160e01b03198116630a85bd0160e11b145b9250506001016118b6565b50610e4c565b506001610e4c565b6004546119d18484611b71565b6116a35f858386866118a0565b6060600c805461054a9061225c565b60605f6119f983611cd5565b60010190505f8167ffffffffffffffff811115611a1857611a18611f4d565b6040519080825280601f01601f191660200182016040528015611a42576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611a4c57509392505050565b600881901c5f8181526020849052604081205490919060ff808516919082181c8015611abe57611aac81611dac565b60ff168203600884901b179350611b68565b5f8311611b2a5760405162461bcd60e51b815260206004820152603460248201527f4269744d6170733a205468652073657420626974206265666f7265207468652060448201527334b73232bc103237b2b9b713ba1032bc34b9ba1760611b6064820152608401610637565b505f199091015f818152602086905260409020549091908015611b6357611b5081611dac565b60ff0360ff16600884901b179350611b68565b611abe565b50505092915050565b60045481611bcf5760405162461bcd60e51b815260206004820152602560248201527f4552433732315073693a207175616e74697479206d7573742062652067726561604482015264074657220360dc1b6064820152608401610637565b6001600160a01b038316611c315760405162461bcd60e51b815260206004820152602360248201527f4552433732315073693a206d696e7420746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610637565b611c3d5f8483856117fc565b8160045f828254611c4e91906122a8565b90915550505f81815260036020526040812080546001600160a01b0319166001600160a01b038616179055611c83908261186a565b805b611c8f83836122a8565b811015610e875760405181906001600160a01b038616905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4600101611c85565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611d135772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611d3f576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611d5d57662386f26fc10000830492506010015b6305f5e1008310611d75576305f5e100830492506008015b6127108310611d8957612710830492506004015b60648310611d9b576064830492506002015b600a83106105355760010192915050565b5f60405180610120016040528061010081526020016126de610100913960f87e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff611df485611e15565b02901c81518110611e0757611e076122bb565b016020015160f81c92915050565b5f808211611e21575f80fd5b505f8190031690565b6001600160e01b0319811681146110cf575f80fd5b5f60208284031215611e4f575f80fd5b8135610a3881611e2a565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610a386020830184611e5a565b5f60208284031215611eaa575f80fd5b5035919050565b6001600160a01b03811681146110cf575f80fd5b5f8060408385031215611ed6575f80fd5b8235611ee181611eb1565b946020939093013593505050565b5f60208284031215611eff575f80fd5b8135610a3881611eb1565b602080825282518282018190525f9190848201906040850190845b81811015611f4157835183529284019291840191600101611f25565b50909695505050505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611f8a57611f8a611f4d565b604052919050565b5f67ffffffffffffffff831115611fab57611fab611f4d565b611fbe601f8401601f1916602001611f61565b9050828152838383011115611fd1575f80fd5b828260208301375f602084830101529392505050565b5f8060408385031215611ff8575f80fd5b82359150602083013567ffffffffffffffff811115612015575f80fd5b8301601f81018513612025575f80fd5b61203485823560208401611f92565b9150509250929050565b5f805f60608486031215612050575f80fd5b833561205b81611eb1565b9250602084013561206b81611eb1565b929592945050506040919091013590565b5f806020838503121561208d575f80fd5b823567ffffffffffffffff808211156120a4575f80fd5b818501915085601f8301126120b7575f80fd5b8135818111156120c5575f80fd5b8660208285010111156120d6575f80fd5b60209290920196919550909350505050565b80151581146110cf575f80fd5b5f60208284031215612105575f80fd5b8135610a38816120e8565b5f8060408385031215612121575f80fd5b823561212c81611eb1565b9150602083013561213c816120e8565b809150509250929050565b5f805f805f60a0868803121561215b575f80fd5b853561216681611eb1565b945060208601359350604086013561217d81611eb1565b94979396509394606081013594506080013592915050565b5f805f80608085870312156121a8575f80fd5b84356121b381611eb1565b935060208501356121c381611eb1565b925060408501359150606085013567ffffffffffffffff8111156121e5575f80fd5b8501601f810187136121f5575f80fd5b61220487823560208401611f92565b91505092959194509250565b5f8060408385031215612221575f80fd5b50508035926020909101359150565b5f8060408385031215612241575f80fd5b823561224c81611eb1565b9150602083013561213c81611eb1565b600181811c9082168061227057607f821691505b60208210810361228e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561053557610535612294565b634e487b7160e01b5f52603260045260245ffd5b5f600182016122e0576122e0612294565b5060010190565b601f82111561076c57805f5260205f20601f840160051c8101602085101561230c5750805b601f840160051c820191505b8181101561232b575f8155600101612318565b5050505050565b815167ffffffffffffffff81111561234c5761234c611f4d565b6123608161235a845461225c565b846122e7565b602080601f831160018114612393575f841561237c5750858301515b5f19600386901b1c1916600185901b17855561159a565b5f85815260208120601f198616915b828110156123c1578886015182559484019460019091019084016123a2565b50858210156123de57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561053557610535612294565b60208082526034908201527f4552433732315073693a207472616e736665722063616c6c6572206973206e6f6040820152731d081bdddb995c881b9bdc88185c1c1c9bdd995960621b606082015260800190565b5f6020808385031215612466575f80fd5b825167ffffffffffffffff8082111561247d575f80fd5b818501915085601f830112612490575f80fd5b8151818111156124a2576124a2611f4d565b8060051b91506124b3848301611f61565b81815291830184019184810190888411156124cc575f80fd5b938501935b838510156124ea578451825293850193908501906124d1565b98975050505050505050565b67ffffffffffffffff83111561250e5761250e611f4d565b6125228361251c835461225c565b836122e7565b5f601f841160018114612553575f851561253c5750838201355b5f19600387901b1c1916600186901b17835561232b565b5f83815260208120601f198716915b828110156125825786850135825560209485019460019092019101612562565b508682101561259e575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f602082840312156125c0575f80fd5b8151610a38816120e8565b5f602082840312156125db575f80fd5b8151610a3881611eb1565b5f81518060208401855e5f93019283525090919050565b5f61260882846125e6565b64173539b7b760d91b81526005019392505050565b60208082526035908201527f4552433732315073693a207472616e7366657220746f206e6f6e20455243373260408201527418a932b1b2b4bb32b91034b6b83632b6b2b73a32b960591b606082015260800190565b5f6113a761268083866125e6565b846125e6565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906126b890830184611e5a565b9695505050505050565b5f602082840312156126d2575f80fd5b8151610a3881611e2a56fe0001020903110a19042112290b311a3905412245134d2a550c5d32651b6d3a7506264262237d468514804e8d2b95569d0d495ea533a966b11c886eb93bc176c9071727374353637324837e9b47af86c7155181ad4fd18ed32c9096db57d59ee30e2e4a6a5f92a6be3498aae067ddb2eb1d5989b56fd7baf33ca0c2ee77e5caf7ff0810182028303840444c545c646c7425617c847f8c949c48a4a8b087b8c0c816365272829aaec650acd0d28fdad4e22d6991bd97dfdcea58b4d6f29fede4f6fe0f1f2f3f4b5b6b607b8b93a3a7b7bf357199c5abcfd9e168bcdee9b3f1ecf5fd1e3e5a7a8aa2b670c4ced8bbe8f0f4fc3d79a1c3cde7effb78cce6facbf9f8a26469706673582212203701e00964c8b8bebce8fb80e526d7aceb5a00d3f3a257cdc0ed7bbc4eca4bd064736f6c63430008190033697066733a2f2f6261666b726569647373666879746b356e366c6b6c6266736932786e6869776532346c34657277326d6b75727672696a796a36337468377668796d697066733a2f2f6261666b72656961616f7565367475366b6166747070746a6172766633706a373275376c33377137636768626b7063687371373765367a61776265