[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "ECDSAInvalidSignatureLength", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "ECDSAInvalidSignatureS", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "ERC2612ExpiredSignature", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC2612InvalidSigner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" }, { "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": [], "name": "EIP712DomainChanged", "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": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "activatePublicSale", "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": "value", "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": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "isWhiteListed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limited", "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": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_uniswapV2Pair", "type": "address" } ], "name": "setRule", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxWallet", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_taxWallet", "type": "address" } ], "name": "updateTaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6003600a55600b80546001600160a01b031916738ff6195b681418e738ee2faccf2aa862529f104e17905561062060405273f8303f2deab54f99e76f6f2b4c0ff644824d285361016090815273b1e7585ff8712c9e2736fab60c4dad5e8de9e76361018052733a3e2f5d937cf0bdc4fb0a9bbbb8cd6fa09f30316101a0527357fb9c5fa2d369f69d8664be1077b9c273a944016101c05273f4b44545d056a20254a64bc3e91f63bc023ef9ec6101e05273adec621bca1c2e76dd18f1041f15099af9aef75b61020052738686bf551d92de8f2d9568e329c29a39fa3fde296102205273d9127b19b94ffcdd3cf7a6f3aea5bd51a15bf4326102405273d0ddfc1d847b8d4cbf91972e73018f138ca86ba3610260527358556648c4d7987ed7ab3dfd3c2190a40baad6c261028052731b2b1ad98be96ad5cb487a67d4e74168296a7ace6102a052734af50f8d848791b44fb8d27b8dc7bca96e18a4096102c05273063845926b82481376495350066b157b28de67216102e052736efd42bd1f8fe17197209243515500af012416d9610300527355902f686dbe785faf66c66f782cf86566b166a361032052734c1a860fc9d39a98e480789a3d1b8359dfe1a6ab6103405273d1b619adb6ce89e5de561013d2ca2be5fda97fc761036052735f04dc8d2b3003f808c900c828fb9b1332478087610380527372533b6ac6e0b5000726b9eae708f964d51f2a756103a052731efe00f53ad42a1a07d74929284d4a0275e5e7d56103c05273c3feca86ba736645192c13500386dfd1a393b7716103e05273fdd8f6db6a6b6eb42e677359989608215376efc661040052738762f519e72f4d8834a72eba4927b672336eb503610420527382f19814b9445c3afa3bebc4e6cc9daaf4b7df90610440527397458b1439b3613070631160a36ae4c073b686316104605273970b80f1e7efd59913cc23fcdf4e6bac22e60f526104805273e8d5eea64fb1dc8fffa2cc0a3723ed9a26162d4b6104a0527320278e607cb00683dc9c0f355b7ec1bf9cf2bb4c6104c052731ddbeb90a12609a827496bf5a03a65e93f3441f06104e052739f74e2a138fe20692aa7e6540dd27f59013d8ffa61050052732559f01cc997231b2fef2249e5ceda64886df35f610520527381ae9c89accebbcc33a5ba9e044d6ac2bfe0b3486105405273f53359b4881f127125f0c3d2b1433fb4c59f98396105605273dde149b351d2731548f7bc994df3717e197147e3610580527361d0c6c7ee4b3f4e9eb96097de075c619f2720e56105a05273bba646c5f4eb96e379883df4e1492ff47f6e62326105c05273b87b623bb76b1a42c955dddfc27d98d9cfdd5a086105e05273fb35d0f84cb01b103be7729f31fec24ae388bfad61060052620003f890600c90602662000beb565b5034801562000405575f80fd5b50336040518060400160405280600681526020016524535441434b60d01b81525080604051806040016040528060018152602001603160f81b8152506040518060400160405280600681526020016524535441434b60d01b8152506040518060400160405280600681526020016524535441434b60d01b815250816003908162000490919062000cff565b5060046200049f828262000cff565b50620004b191508390506005620005c3565b61012052620004c2816006620005c3565b61014052815160208084019190912060e052815190820120610100524660a0526200054f60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b0381166200058857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6200059381620005fb565b50620005bd33620005a76012600a62000ed8565b620005b7906305f5e10062000eef565b6200064c565b62000fdb565b5f602083511015620005e257620005da8362000688565b9050620005f5565b81620005ef848262000cff565b5060ff90505b92915050565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038216620006775760405163ec442f0560e01b81525f60048201526024016200057f565b620006845f8383620006ca565b5050565b5f80829050601f81511115620006b5578260405163305a27a960e01b81526004016200057f919062000f09565b8051620006c28262000f57565b179392505050565b6009546001600160a01b0316158015620006ec57506001600160a01b03831615155b156200076a576008546001600160a01b03848116911614806200071c57506008546001600160a01b038381169116145b6200076a5760405162461bcd60e51b815260206004820152601660248201527f74726164696e67206973206e6f7420737461727465640000000000000000000060448201526064016200057f565b600954600160a01b900460ff1680156200079157506009546001600160a01b038481169116145b8015620007c657506008546001600160a01b03838116911614801590620007c657506008546001600160a01b03848116911614155b8015620007fb5750600b546001600160a01b03838116911614801590620007fb5750600b546001600160a01b03848116911614155b1562000922576103e86200080e60025490565b6200081b90600f62000eef565b62000827919062000f7b565b8162000847846001600160a01b03165f9081526020819052604090205490565b62000853919062000f9b565b1115620008c95760405162461bcd60e51b815260206004820152603360248201527f466f726269642c20596f752043616e277420686f6c64206d6f7265207468616e60448201527f20312e3525206f662074686520737570706c790000000000000000000000000060648201526084016200057f565b620008d48262000a5a565b620009225760405162461bcd60e51b815260206004820152601f60248201527f596f75722041646472657373204973204e6f742057686974656c69737465640060448201526064016200057f565b6009546001600160a01b031615801590620009475750600b546001600160a01b031615155b80156200097957506009546001600160a01b03848116911614806200097957506009546001600160a01b038381169116145b8015620009ae57506008546001600160a01b03848116911614801590620009ae57506008546001600160a01b03838116911614155b8015620009e35750600b546001600160a01b03848116911614801590620009e35750600b546001600160a01b03838116911614155b1562000a48575f6064600a5483620009fc919062000eef565b62000a08919062000f7b565b90505f62000a17828462000fb1565b600b5490915062000a349086906001600160a01b03168462000abc565b62000a4185858362000abc565b5050505050565b62000a5583838362000abc565b505050565b5f805b600c5481101562000ab457826001600160a01b0316600c828154811062000a885762000a8862000fc7565b5f918252602090912001546001600160a01b03160362000aab5750600192915050565b60010162000a5d565b505f92915050565b6001600160a01b03831662000aea578060025f82825462000ade919062000f9b565b9091555062000b5c9050565b6001600160a01b0383165f908152602081905260409020548181101562000b3e5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016200057f565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821662000b7a5760028054829003905562000b98565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000bde91815260200190565b60405180910390a3505050565b828054828255905f5260205f2090810192821562000c41579160200282015b8281111562000c4157825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000c0a565b5062000c4f92915062000c53565b5090565b5b8082111562000c4f575f815560010162000c54565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168062000c9257607f821691505b60208210810362000cb157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000a5557805f5260205f20601f840160051c8101602085101562000cde5750805b601f840160051c820191505b8181101562000a41575f815560010162000cea565b81516001600160401b0381111562000d1b5762000d1b62000c69565b62000d338162000d2c845462000c7d565b8462000cb7565b602080601f83116001811462000d69575f841562000d515750858301515b5f19600386901b1c1916600185901b17855562000dc3565b5f85815260208120601f198616915b8281101562000d995788860151825594840194600190910190840162000d78565b508582101562000db757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111562000e1f57815f190482111562000e035762000e0362000dcb565b8085161562000e1157918102915b93841c939080029062000de4565b509250929050565b5f8262000e3757506001620005f5565b8162000e4557505f620005f5565b816001811462000e5e576002811462000e695762000e89565b6001915050620005f5565b60ff84111562000e7d5762000e7d62000dcb565b50506001821b620005f5565b5060208310610133831016604e8410600b841016171562000eae575081810a620005f5565b62000eba838362000ddf565b805f190482111562000ed05762000ed062000dcb565b029392505050565b5f62000ee860ff84168362000e27565b9392505050565b8082028115828204841417620005f557620005f562000dcb565b5f602080835283518060208501525f5b8181101562000f375785810183015185820160400152820162000f19565b505f604082860101526040601f19601f8301168501019250505092915050565b8051602080830151919081101562000cb1575f1960209190910360031b1b16919050565b5f8262000f9657634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620005f557620005f562000dcb565b81810381811115620005f557620005f562000dcb565b634e487b7160e01b5f52603260045260245ffd5b60805160a05160c05160e0516101005161012051610140516116116200102d5f395f610a7e01525f610a5101525f61097501525f61094d01525f6108a801525f6108d201525f6108fc01526116115ff3fe608060405234801561000f575f80fd5b5060043610610187575f3560e01c806374c9f603116100d95780638da5cb5b11610093578063d505accf1161006e578063d505accf14610343578063db5d779314610356578063dd62ed3e14610369578063f2fde38b146103a1575f80fd5b80638da5cb5b1461031757806395d89b4114610328578063a9059cbb14610330575f80fd5b806374c9f603146102a6578063771a3a1d146102b957806379cc6790146102c25780637ecebe00146102d557806384b0196e146102e8578063860a32ec14610303575f80fd5b8063313ce5671161014457806349bd5a5e1161011f57806349bd5a5e146102505780636f9170f61461026357806370a0823114610276578063715018a61461029e575f80fd5b8063313ce567146102265780633644e5151461023557806342966c681461023d575f80fd5b806306fdde031461018b578063095ea7b3146101a957806311eb3047146101cc57806318160ddd146101d657806323b872dd146101e85780632dc0562d146101fb575b5f80fd5b6101936103b4565b6040516101a09190611311565b60405180910390f35b6101bc6101b7366004611345565b610444565b60405190151581526020016101a0565b6101d461045d565b005b6002545b6040519081526020016101a0565b6101bc6101f636600461136d565b610474565b600b5461020e906001600160a01b031681565b6040516001600160a01b0390911681526020016101a0565b604051601281526020016101a0565b6101da610497565b6101d461024b3660046113a6565b6104a5565b60095461020e906001600160a01b031681565b6101bc6102713660046113bd565b6104b2565b6101da6102843660046113bd565b6001600160a01b03165f9081526020819052604090205490565b6101d461050e565b6101d46102b43660046113bd565b610521565b6101da600a5481565b6101d46102d0366004611345565b61054b565b6101da6102e33660046113bd565b610564565b6102f0610581565b6040516101a097969594939291906113d6565b6009546101bc90600160a01b900460ff1681565b6008546001600160a01b031661020e565b6101936105c3565b6101bc61033e366004611345565b6105d2565b6101d461035136600461146d565b6105df565b6101d46103643660046113bd565b61071a565b6101da6103773660046114da565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6101d46103af3660046113bd565b61074b565b6060600380546103c39061150b565b80601f01602080910402602001604051908101604052809291908181526020018280546103ef9061150b565b801561043a5780601f106104115761010080835404028352916020019161043a565b820191905f5260205f20905b81548152906001019060200180831161041d57829003601f168201915b5050505050905090565b5f33610451818585610785565b60019150505b92915050565b610465610797565b6009805460ff60a01b19169055565b5f336104818582856107c4565b61048c85858561083f565b506001949350505050565b5f6104a061089c565b905090565b6104af33826109c5565b50565b5f805b600c5481101561050657826001600160a01b0316600c82815481106104dc576104dc611543565b5f918252602090912001546001600160a01b0316036104fe5750600192915050565b6001016104b5565b505f92915050565b610516610797565b61051f5f6109f9565b565b610529610797565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6105568233836107c4565b61056082826109c5565b5050565b6001600160a01b0381165f90815260076020526040812054610457565b5f6060805f805f6060610592610a4a565b61059a610a77565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546103c39061150b565b5f3361045181858561083f565b834211156106085760405163313c898160e11b8152600481018590526024015b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886106538c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f6106ad82610aa4565b90505f6106bc82878787610ad0565b9050896001600160a01b0316816001600160a01b031614610703576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016105ff565b61070e8a8a8a610785565b50505050505050505050565b610722610797565b600980546001600160a01b039092166001600160a81b031990921691909117600160a01b179055565b610753610797565b6001600160a01b03811661077c57604051631e4fbdf760e01b81525f60048201526024016105ff565b6104af816109f9565b6107928383836001610afc565b505050565b6008546001600160a01b0316331461051f5760405163118cdaa760e01b81523360048201526024016105ff565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f198114610839578181101561082b57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016105ff565b61083984848484035f610afc565b50505050565b6001600160a01b03831661086857604051634b637e8f60e11b81525f60048201526024016105ff565b6001600160a01b0382166108915760405163ec442f0560e01b81525f60048201526024016105ff565b610792838383610bce565b5f306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156108f457507f000000000000000000000000000000000000000000000000000000000000000046145b1561091e57507f000000000000000000000000000000000000000000000000000000000000000090565b6104a0604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166109ee57604051634b637e8f60e11b81525f60048201526024016105ff565b610560825f83610bce565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60606104a07f00000000000000000000000000000000000000000000000000000000000000006005610f1b565b60606104a07f00000000000000000000000000000000000000000000000000000000000000006006610f1b565b5f610457610ab061089c565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f80610ae088888888610fc4565b925092509250610af0828261108c565b50909695505050505050565b6001600160a01b038416610b255760405163e602df0560e01b81525f60048201526024016105ff565b6001600160a01b038316610b4e57604051634a1406b160e11b81525f60048201526024016105ff565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561083957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bc091815260200190565b60405180910390a350505050565b6009546001600160a01b0316158015610bef57506001600160a01b03831615155b15610c62576008546001600160a01b0384811691161480610c1d57506008546001600160a01b038381169116145b610c625760405162461bcd60e51b81526020600482015260166024820152751d1c98591a5b99c81a5cc81b9bdd081cdd185c9d195960521b60448201526064016105ff565b600954600160a01b900460ff168015610c8857506009546001600160a01b038481169116145b8015610cbb57506008546001600160a01b03838116911614801590610cbb57506008546001600160a01b03848116911614155b8015610cee5750600b546001600160a01b03838116911614801590610cee5750600b546001600160a01b03848116911614155b15610dfc576103e8610cff60025490565b610d0a90600f61156b565b610d149190611582565b81610d33846001600160a01b03165f9081526020819052604090205490565b610d3d91906115a1565b1115610da75760405162461bcd60e51b815260206004820152603360248201527f466f726269642c20596f752043616e277420686f6c64206d6f7265207468616e60448201527220312e3525206f662074686520737570706c7960681b60648201526084016105ff565b610db0826104b2565b610dfc5760405162461bcd60e51b815260206004820152601f60248201527f596f75722041646472657373204973204e6f742057686974656c69737465640060448201526064016105ff565b6009546001600160a01b031615801590610e205750600b546001600160a01b031615155b8015610e5057506009546001600160a01b0384811691161480610e5057506009546001600160a01b038381169116145b8015610e8357506008546001600160a01b03848116911614801590610e8357506008546001600160a01b03838116911614155b8015610eb65750600b546001600160a01b03848116911614801590610eb65750600b546001600160a01b03838116911614155b15610f10575f6064600a5483610ecc919061156b565b610ed69190611582565b90505f610ee382846115b4565b600b54909150610efe9086906001600160a01b031684611144565b610f09858583611144565b5050505050565b610792838383611144565b606060ff8314610f3557610f2e8361126a565b9050610457565b818054610f419061150b565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6d9061150b565b8015610fb85780601f10610f8f57610100808354040283529160200191610fb8565b820191905f5260205f20905b815481529060010190602001808311610f9b57829003601f168201915b50505050509050610457565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610ffd57505f91506003905082611082565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561104e573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661107957505f925060019150829050611082565b92505f91508190505b9450945094915050565b5f82600381111561109f5761109f6115c7565b036110a8575050565b60018260038111156110bc576110bc6115c7565b036110da5760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156110ee576110ee6115c7565b0361110f5760405163fce698f760e01b8152600481018290526024016105ff565b6003826003811115611123576111236115c7565b03610560576040516335e2f38360e21b8152600481018290526024016105ff565b6001600160a01b03831661116e578060025f82825461116391906115a1565b909155506111de9050565b6001600160a01b0383165f90815260208190526040902054818110156111c05760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016105ff565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166111fa57600280548290039055611218565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161125d91815260200190565b60405180910390a3505050565b60605f611276836112a7565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561045757604051632cd44ac360e21b815260040160405180910390fd5b5f81518084525f5b818110156112f2576020818501810151868301820152016112d6565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61132360208301846112ce565b9392505050565b80356001600160a01b0381168114611340575f80fd5b919050565b5f8060408385031215611356575f80fd5b61135f8361132a565b946020939093013593505050565b5f805f6060848603121561137f575f80fd5b6113888461132a565b92506113966020850161132a565b9150604084013590509250925092565b5f602082840312156113b6575f80fd5b5035919050565b5f602082840312156113cd575f80fd5b6113238261132a565b60ff60f81b881681525f602060e060208401526113f660e084018a6112ce565b8381036040850152611408818a6112ce565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b8181101561145b5783518352928401929184019160010161143f565b50909c9b505050505050505050505050565b5f805f805f805f60e0888a031215611483575f80fd5b61148c8861132a565b965061149a6020890161132a565b95506040880135945060608801359350608088013560ff811681146114bd575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f80604083850312156114eb575f80fd5b6114f48361132a565b91506115026020840161132a565b90509250929050565b600181811c9082168061151f57607f821691505b60208210810361153d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761045757610457611557565b5f8261159c57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561045757610457611557565b8181038181111561045757610457611557565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220fe9139ac5bde9aa9cd5ada2a8ae4733fe0a71ba733a24abd56e1e5bd111f7b4664736f6c63430008160033