[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "_queryId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "_time", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "_value", "type": "bytes" }, { "indexed": false, "internalType": "uint256", "name": "_nonce", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "_queryData", "type": "bytes" }, { "indexed": false, "internalType": "address", "name": "_reporter", "type": "address" } ], "name": "NewReport", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_staker", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "NewStaker", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_staker", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "StakeWithdrawRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_staker", "type": "address" } ], "name": "StakeWithdrawn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "addStakingRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_queryId", "type": "bytes32" }, { "internalType": "uint256", "name": "_timestamp", "type": "uint256" } ], "name": "beginDispute", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "depositStake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "faucet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_queryId", "type": "bytes32" }, { "internalType": "uint256", "name": "_timestamp", "type": "uint256" } ], "name": "getDataBefore", "outputs": [ { "internalType": "bool", "name": "_ifRetrieve", "type": "bool" }, { "internalType": "bytes", "name": "_value", "type": "bytes" }, { "internalType": "uint256", "name": "_timestampRetrieved", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_queryId", "type": "bytes32" }, { "internalType": "uint256", "name": "_timestamp", "type": "uint256" } ], "name": "getIndexForDataBefore", "outputs": [ { "internalType": "bool", "name": "_found", "type": "bool" }, { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_queryId", "type": "bytes32" } ], "name": "getNewValueCountbyQueryId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_queryId", "type": "bytes32" }, { "internalType": "uint256", "name": "_timestamp", "type": "uint256" } ], "name": "getReporterByTimestamp", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getStakeAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_stakerAddress", "type": "address" } ], "name": "getStakerInfo", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_queryId", "type": "bytes32" }, { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "name": "getTimestampbyQueryIdandIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_hash", "type": "bytes32" } ], "name": "getVoteRounds", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "governance", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "isDisputed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_queryId", "type": "bytes32" }, { "internalType": "uint256", "name": "_timestamp", "type": "uint256" } ], "name": "isInDispute", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "reporterByTimestamp", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "requestStakingWithdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_queryId", "type": "bytes32" }, { "internalType": "uint256", "name": "_timestamp", "type": "uint256" } ], "name": "retrieveData", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "stakeAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_queryId", "type": "bytes32" }, { "internalType": "bytes", "name": "_value", "type": "bytes" }, { "internalType": "uint256", "name": "_nonce", "type": "uint256" }, { "internalType": "bytes", "name": "_queryData", "type": "bytes" } ], "name": "submitValue", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "timeBasedReward", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "timestamps", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "tips", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tipsInContract", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "values", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "voteCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "voteRounds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawStake", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b506040805180820190915260108082526f15195b1b1bdc941b185e59dc9bdd5b9960821b60209092019182526200004b91600e916200009f565b50604080518082019091526004808252630545242560e41b60209092019182526200007991600f916200009f565b506010805460ff19166012179055600c80546001600160a01b0319163017905562000182565b828054620000ad9062000145565b90600052602060002090601f016020900481019282620000d157600085556200011c565b82601f10620000ec57805160ff19168380011785556200011c565b828001600101855582156200011c579182015b828111156200011c578251825591602001919060010190620000ff565b506200012a9291506200012e565b5090565b5b808211156200012a57600081556001016200012f565b600181811c908216806200015a57607f821691505b602082108114156200017c57634e487b7160e01b600052602260045260246000fd5b50919050565b611d6380620001926000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c8063733bdef011610130578063c5958af9116100b8578063d9c51cd41161007c578063d9c51cd4146105c7578063dd62ed3e146105da578063e07c548614610613578063f25133f314610647578063fc0c546a1461065a57610232565b8063c5958af914610572578063c638407114610585578063c979fe9f1461058e578063cb82cc8f146105a1578063ce5e11bf146105b457610232565b806396426d97116100ff57806396426d9714610513578063a792765f14610522578063a9059cbb14610544578063b86d1d6314610557578063bed9d8611461056a57610232565b8063733bdef01461044357806377b03e0d146104d85780638929f4c6146104f857806395d89b411461050b57610232565b8063313ce567116101be57806360c7dc471161018257806360c7dc47146103d557806364473df2146103de57806369d43bd31461040957806370a0823114610412578063722580b61461043b57610232565b8063313ce5671461035b57806344e87f91146103705780635aa6e6751461039c5780635eaa9ced146103a2578063602bf227146103b557610232565b80631f379acc116102055780631f379acc1461029d578063217053c0146102b257806323b872dd146102fe578063248638e514610311578063294490851461033157610232565b806306fdde0314610237578063091b50ff14610255578063095ea7b31461026857806318160ddd1461028b575b600080fd5b61023f61066d565b60405161024c9190611c32565b60405180910390f35b61023f610263366004611ada565b6106ff565b61027b6102763660046119f4565b6107a4565b604051901515815260200161024c565b600d545b60405190815260200161024c565b6102b06102ab366004611ada565b6107bb565b005b6102e66102c0366004611ada565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b61027b61030c3660046119b9565b610881565b61032461031f366004611a1d565b6108d3565b60405161024c9190611b56565b61034461033f366004611ada565b610936565b60408051921515835260208301919091520161024c565b60105460405160ff909116815260200161024c565b61027b61037e366004611ada565b60009182526020828152604080842092845291905290205460ff1690565b306102e6565b6102b06103b0366004611a35565b610c60565b61028f6103c3366004611a1d565b60046020526000908152604090205481565b61028f60095481565b61027b6103ec366004611ada565b600060208181529281526040808220909352908152205460ff1681565b61028f600a5481565b61028f610420366004611966565b6001600160a01b031660009081526008602052604090205490565b60095461028f565b610492610451366004611966565b6001600160a01b0316600090815260026020819052604082208054600182015492820154600383015460049093015491959394909390929190839081908190565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e083015215156101008201526101200161024c565b61028f6104e6366004611a1d565b60009081526003602052604090205490565b6102b0610506366004611a1d565b610e9a565b61023f610f75565b61028f6706f05b59d3b2000081565b610535610530366004611ada565b610f84565b60405161024c93929190611b9a565b61027b6105523660046119f4565b611081565b6102b0610565366004611966565b61108e565b6102b06110a4565b61023f610580366004611ada565b6111b2565b61028f600b5481565b61028f61059c366004611ada565b611260565b6102b06105af366004611a1d565b611291565b61028f6105c2366004611ada565b61136f565b6102b06105d5366004611a1d565b6113dc565b61028f6105e8366004611987565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6102e6610621366004611ada565b60009182526001602090815260408084209284529190529020546001600160a01b031690565b61028f610655366004611ada565b6113f0565b600c546102e6906001600160a01b031681565b6060600e805461067c90611cab565b80601f01602080910402602001604051908101604052809291908181526020018280546106a890611cab565b80156106f55780601f106106ca576101008083540402835291602001916106f5565b820191906000526020600020905b8154815290600101906020018083116106d857829003601f168201915b5050505050905090565b60056020908152600092835260408084209091529082529020805461072390611cab565b80601f016020809104026020016040519081016040528092919081815260200182805461074f90611cab565b801561079c5780601f106107715761010080835404028352916020019161079c565b820191906000526020600020905b81548152906001019060200180831161077f57829003601f168201915b505050505081565b60006107b133848461140c565b5060015b92915050565b60408051602080820180845260008084528681526005835284812086825290925292902090516107eb92906117bb565b506000828152602081815260408083208484529091528120805460ff19166001179055600b80549161081c83611ce6565b9190505550600660008383604051602001610841929190918252602082015260400190565b60408051601f19818403018152918152815160209283012083528282019390935291016000908120600b5481546001810183559183529290912001555050565b600061088e848484611531565b6001600160a01b0384166000908152600760209081526040808320338085529252909120546108c99186916108c4908690611c7d565b61140c565b5060019392505050565b60008181526006602090815260409182902080548351818402810184019094528084526060939283018282801561092957602002820191906000526020600020905b815481526020019060010190808311610915575b505050505090505b919050565b60008281526003602052604081205481908015610c50576000808061095c600185611c7d565b9050600061096a898461136f565b905087811061098457600080965096505050505050610c59565b61098e898361136f565b905087811015610a2e575b60008981526020818152604080832084845290915290205460ff1680156109c05750600082115b156109e357816109cf81611c94565b9250506109dc898361136f565b9050610999565b81158015610a08575060008981526020818152604080832084845290915290205460ff165b15610a1e57600080965096505050505050610c59565b50600195509350610c5992505050565b826002610a3b8285611c7d565b610a459190611c5d565b610a50906001611c45565b610a5a9190611c45565b9350610a66898561136f565b905087811015610b66576000610a818a6105c2876001611c45565b9050888110610b535760008a81526020818152604080832085845290915290205460ff16610abb5760018597509750505050505050610c59565b60008a81526020818152604080832085845290915290205460ff168015610ae25750600085115b15610b055784610af181611c94565b955050610afe8a8661136f565b9150610abb565b84158015610b2a575060008a81526020818152604080832085845290915290205460ff165b15610b415760008097509750505050505050610c59565b60018597509750505050505050610c59565b610b5e856001611c45565b935050610c4b565b6000610b778a6105c2600188611c7d565b905088811015610c3c5760008a81526020818152604080832084845290915290205460ff16610bbb576001610bac8187611c7d565b97509750505050505050610c59565b84610bc581611c94565b9550505b60008a81526020818152604080832084845290915290205460ff168015610bf05750600085115b15610c135784610bff81611c94565b955050610c0c8a8661136f565b9050610bc9565b84158015610b2a575060008a81526020818152604080832084845290915290205460ff16610b2a565b610c47600186611c7d565b9250505b610a2e565b60008092509250505b9250929050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708484604051610c91929190611b46565b60405180910390201415610cec5760405162461bcd60e51b815260206004820152601760248201527f76616c7565206d757374206265207375626d697474656400000000000000000060448201526064015b60405180910390fd5b600085815260036020526040902054821480610d06575081155b610d525760405162461bcd60e51b815260206004820181905260248201527f6e6f6e6365206d757374206d617463682074696d657374616d7020696e6465786044820152606401610ce3565b80516020820120851480610d67575060648511155b610db35760405162461bcd60e51b815260206004820152601d60248201527f6964206d7573742062652068617368206f6620627974657320646174610000006044820152606401610ce3565b60008581526005602090815260408083204284529091529020610dd790858561183f565b5060008581526003602081815260408084208054600181810183559186528386204291018190558a86529083528185208186528352818520805473ffffffffffffffffffffffffffffffffffffffff19163390811790915585526002909252832091820155600401805491610e4b83611ce6565b91905055507f48e9e2c732ba278de6ac88a3a57a5c5ba13d3d8370e709b3b98333a57876ca9585428686868633604051610e8b9796959493929190611bc5565b60405180910390a15050505050565b3360009081526002602052604090206001810154821115610efd5760405162461bcd60e51b815260206004820152601b60248201527f696e73756666696369656e74207374616b65642062616c616e636500000000006044820152606401610ce3565b428155600281018054839190600090610f17908490611c45565b9250508190555081816001016000828254610f329190611c7d565b909155505060408051338152602081018490527f3d8d9df4bd0172df32e557fa48e96435cd7f2cac06aaffacfaee608e6f7898ef91015b60405180910390a15050565b6060600f805461067c90611cab565b600060606000806000610f978787610936565b9150915081610fc1576000604051806020016040528060008152506000945094509450505061107a565b610fcb878261136f565b60008881526005602090815260408083208484529091529020805491945090610ff390611cab565b80601f016020809104026020016040519081016040528092919081815260200182805461101f90611cab565b801561106c5780601f106110415761010080835404028352916020019161106c565b820191906000526020600020905b81548152906001019060200180831161104f57829003601f168201915b505050505093506001945050505b9250925092565b60006107b1338484611531565b6110a181683635c9adc5dea00000611698565b50565b336000908152600260205260409020805462093a80906110c49042611c7d565b10156111075760405162461bcd60e51b8152602060048201526012602482015271372064617973206469646e2774207061737360701b6044820152606401610ce3565b60008160020154116111665760405162461bcd60e51b815260206004820152602260248201527f7265706f72746572206e6f74206c6f636b656420666f72207769746864726177604482015261185b60f21b6064820152608401610ce3565b61117530338360020154611531565b600060028201556040513381527f4a7934670bd8304e7da22378be1368f7c4fef17c5aee81804beda8638fe428ec9060200160405180910390a150565b600082815260056020908152604080832084845290915290208054606091906111da90611cab565b80601f016020809104026020016040519081016040528092919081815260200182805461120690611cab565b80156112535780601f1061122857610100808354040283529160200191611253565b820191906000526020600020905b81548152906001019060200180831161123657829003601f168201915b5050505050905092915050565b6006602052816000526040600020818154811061127c57600080fd5b90600052602060002001600091509150505481565b336000908152600260208190526040909120908101541561130657818160020154106112d657818160020160008282546112cb9190611c7d565b909155506113019050565b6112f033308360020154856112eb9190611c7d565b611777565b6112f957600080fd5b600060028201555b61131a565b611311333084611777565b61131a57600080fd5b428155600181018054839190600090611334908490611c45565b909155505060408051338152602081018490527fa96c2cce65119a2170d1711a6e82f18f2006448828483ba7545e5954765436479101610f69565b60008281526003602052604081205480158061138b5750828111155b1561139a5760009150506107b5565b60008481526003602052604090208054849081106113c857634e487b7160e01b600052603260045260246000fd5b906000526020600020015491505092915050565b6113e7333083611777565b6110a157600080fd5b6003602052816000526040600020818154811061127c57600080fd5b6001600160a01b03831661146e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ce3565b6001600160a01b0382166114cf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ce3565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166115955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ce3565b6001600160a01b0382166115f75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ce3565b6001600160a01b0383166000908152600860205260408120805483929061161f908490611c7d565b90915550506001600160a01b0382166000908152600860205260408120805483929061164c908490611c45565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161152491815260200190565b6001600160a01b0382166116ee5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610ce3565b80600d60008282546117009190611c45565b90915550506001600160a01b0382166000908152600860205260408120805483929061172d908490611c45565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6000611784848484611531565b6001600160a01b03841660009081526007602090815260408083203084529091529020546108c990859033906108c4908690611c7d565b8280546117c790611cab565b90600052602060002090601f0160209004810192826117e9576000855561182f565b82601f1061180257805160ff191683800117855561182f565b8280016001018555821561182f579182015b8281111561182f578251825591602001919060010190611814565b5061183b9291506118b3565b5090565b82805461184b90611cab565b90600052602060002090601f01602090048101928261186d576000855561182f565b82601f106118865782800160ff1982351617855561182f565b8280016001018555821561182f579182015b8281111561182f578235825591602001919060010190611898565b5b8082111561183b57600081556001016118b4565b80356001600160a01b038116811461093157600080fd5b600082601f8301126118ef578081fd5b813567ffffffffffffffff8082111561190a5761190a611d17565b604051601f8301601f19908116603f0116810190828211818310171561193257611932611d17565b8160405283815286602085880101111561194a578485fd5b8360208701602083013792830160200193909352509392505050565b600060208284031215611977578081fd5b611980826118c8565b9392505050565b60008060408385031215611999578081fd5b6119a2836118c8565b91506119b0602084016118c8565b90509250929050565b6000806000606084860312156119cd578081fd5b6119d6846118c8565b92506119e4602085016118c8565b9150604084013590509250925092565b60008060408385031215611a06578182fd5b611a0f836118c8565b946020939093013593505050565b600060208284031215611a2e578081fd5b5035919050565b600080600080600060808688031215611a4c578081fd5b85359450602086013567ffffffffffffffff80821115611a6a578283fd5b818801915088601f830112611a7d578283fd5b813581811115611a8b578384fd5b896020828501011115611a9c578384fd5b60208301965080955050604088013593506060880135915080821115611ac0578283fd5b50611acd888289016118df565b9150509295509295909350565b60008060408385031215611aec578182fd5b50508035926020909101359150565b60008151808452815b81811015611b2057602081850181015186830182015201611b04565b81811115611b315782602083870101525b50601f01601f19169290920160200192915050565b6000828483379101908152919050565b6020808252825182820181905260009190848201906040850190845b81811015611b8e57835183529284019291840191600101611b72565b50909695505050505050565b6000841515825260606020830152611bb56060830185611afb565b9050826040830152949350505050565b600088825287602083015260c060408301528560c0830152858760e08401378060e08784010152601f19601f870116820185606084015260e0838203016080840152611c1460e0820186611afb565b9150506001600160a01b03831660a083015298975050505050505050565b6000602082526119806020830184611afb565b60008219821115611c5857611c58611d01565b500190565b600082611c7857634e487b7160e01b81526012600452602481fd5b500490565b600082821015611c8f57611c8f611d01565b500390565b600081611ca357611ca3611d01565b506000190190565b600181811c90821680611cbf57607f821691505b60208210811415611ce057634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611cfa57611cfa611d01565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220f2233fa3c479dfac43a71b519542a8a0dc83f6b7f3788fccd8c715ebdd6b418264736f6c63430008030033