[ { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" }, { "internalType": "address", "name": "firstHolder", "type": "address" }, { "internalType": "address", "name": "factory", "type": "address" }, { "components": [ { "internalType": "uint16", "name": "buy", "type": "uint16" }, { "internalType": "uint16", "name": "sell", "type": "uint16" }, { "internalType": "address", "name": "feeReceiver", "type": "address" } ], "internalType": "struct Token.Taxes", "name": "settings", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "increasedSupply", "type": "uint256" }, { "internalType": "uint256", "name": "cap", "type": "uint256" } ], "name": "ERC20ExceededCap", "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": "uint256", "name": "cap", "type": "uint256" } ], "name": "ERC20InvalidCap", "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": [], "name": "EnforcedPause", "type": "error" }, { "inputs": [], "name": "ExpectedPause", "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": "address", "name": "user", "type": "address" }, { "internalType": "bool", "name": "paused", "type": "bool" }, { "internalType": "bool", "name": "blacklisted", "type": "bool" } ], "name": "TransferForbidden", "type": "error" }, { "inputs": [ { "internalType": "uint16", "name": "buyTax", "type": "uint16" }, { "internalType": "uint16", "name": "sellTax", "type": "uint16" } ], "name": "WrongTaxes", "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": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "DENOMINATOR", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "FACTORY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_TAX", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "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": "address", "name": "", "type": "address" } ], "name": "blacklist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "cap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "users", "type": "address[]" } ], "name": "changeBlackStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "users", "type": "address[]" } ], "name": "changeExcludedStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint16", "name": "buy", "type": "uint16" }, { "internalType": "uint16", "name": "sell", "type": "uint16" }, { "internalType": "address", "name": "feeReceiver", "type": "address" } ], "internalType": "struct Token.Taxes", "name": "settings", "type": "tuple" } ], "name": "changeSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "users", "type": "address[]" } ], "name": "changeWhiteStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "excludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "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": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxes", "outputs": [ { "internalType": "uint16", "name": "buy", "type": "uint16" }, { "internalType": "uint16", "name": "sell", "type": "uint16" }, { "internalType": "address", "name": "feeReceiver", "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": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
60c060405234801562000010575f80fd5b50604051620021d5380380620021d583398101604081905262000033916200091b565b836c0c9f2c9cd038943736989c00006040518060400160405280600e81526020016d4b392046696e616e63652044414f60901b815250604051806040016040528060058152602001644b4e494e4560d81b815250816003908162000098919062000a5b565b506004620000a7828262000a5b565b505050805f03620000d25760405163392e1e2760e01b81525f60048201526024015b60405180910390fd5b6080526005805460ff191690556001600160a01b0381166200010a57604051631e4fbdf760e01b81525f6004820152602401620000c9565b62000115816200018a565b506001600160a01b0382811660a05284165f9081526007602090815260408083208054600160ff19918216811790925560099093529220805490911690911790556200016181620001e3565b62000176836200017060805190565b62000300565b620001806200033c565b5050505062000bc6565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60408101516001600160a01b03166200023f5760405162461bcd60e51b815260206004820152601760248201527f546f6b656e3a20496e76616c69642072656365697665720000000000000000006044820152606401620000c9565b8051610bb861ffff90911611801590620002675750610bb861ffff16816020015161ffff1611155b620002aa5760405162461bcd60e51b8152602060048201526012602482015271546f6b656e3a2057726f6e6720746178657360701b6044820152606401620000c9565b80516006805460208401516040909401516001600160a01b031664010000000002600160201b600160c01b031961ffff958616620100000263ffffffff1990931695909416949094171791909116919091179055565b6001600160a01b0382166200032b5760405163ec442f0560e01b81525f6004820152602401620000c9565b620003385f838362000399565b5050565b620003466200054f565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586200037c3390565b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383165f9081526007602052604090205460ff1680620003e6575060055460ff1680620003e457506001600160a01b0383165f9081526008602052604090205460ff165b155b620004345760405162461bcd60e51b815260206004820152601960248201527f546f6b656e3a205472616e7366657220666f7262696464656e000000000000006044820152606401620000c9565b5f620004408362000576565b90505f6200044e8562000576565b90505f8180156200047757506001600160a01b0385165f9081526009602052604090205460ff16155b620004dd57828015620004a257506001600160a01b0386165f9081526009602052604090205460ff16155b620004ae575f62000500565b60065461271090620004cb9062010000900461ffff168662000b37565b620004d7919062000b57565b62000500565b60065461271090620004f49061ffff168662000b37565b62000500919062000b57565b905080156200053a576006546200052b90879064010000000090046001600160a01b0316836200073f565b62000537818562000b77565b93505b620005478686866200086e565b505050505050565b60055460ff1615620005745760405163d93c066560e01b815260040160405180910390fd5b565b5f8080833b156200073657836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620005de575060408051601f3d908101601f19168201909252620005db9181019062000b8d565b60015b620005ec57505f9392505050565b9150836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156200064b575060408051601f3d908101601f19168201909252620006489181019062000b8d565b60015b6200065957505f9392505050565b60a05160405163e6a4390560e01b81526001600160a01b03858116600483015280841660248301529293505f929091169063e6a4390590604401602060405180830381865afa158015620006af573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006d5919062000b8d565b9050846001600160a01b0316816001600160a01b031614620006fb57505f949350505050565b6001600160a01b0383163014806200071b57506001600160a01b03821630145b156200072c57506001949350505050565b505f949350505050565b505f9392505050565b6001600160a01b0383166200076d578060025f82825462000761919062000bb0565b90915550620007df9050565b6001600160a01b0383165f9081526020819052604090205481811015620007c15760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000c9565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216620007fd576002805482900390556200081b565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200086191815260200190565b60405180910390a3505050565b6200087b8383836200073f565b6001600160a01b038316620008d4575f6200089560805190565b90505f620008a260025490565b905081811115620008d15760405163279e7e1560e21b81526004810182905260248101839052604401620000c9565b50505b505050565b80516001600160a01b0381168114620008f0575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b805161ffff81168114620008f0575f80fd5b5f805f8084860360c081121562000930575f80fd5b6200093b86620008d9565b94506200094b60208701620008d9565b93506200095b60408701620008d9565b92506060605f19820112156200096f575f80fd5b50604051606081016001600160401b0381118282101715620009955762000995620008f5565b604052620009a66060870162000909565b8152620009b66080870162000909565b6020820152620009c960a08701620008d9565b6040820152939692955090935050565b600181811c90821680620009ee57607f821691505b60208210810362000a0d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620008d457805f5260205f20601f840160051c8101602085101562000a3a5750805b601f840160051c820191505b81811015620008d1575f815560010162000a46565b81516001600160401b0381111562000a775762000a77620008f5565b62000a8f8162000a888454620009d9565b8462000a13565b602080601f83116001811462000ac5575f841562000aad5750858301515b5f19600386901b1c1916600185901b17855562000547565b5f85815260208120601f198616915b8281101562000af55788860151825594840194600190910190840162000ad4565b508582101562000b1357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141762000b515762000b5162000b23565b92915050565b5f8262000b7257634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111562000b515762000b5162000b23565b5f6020828403121562000b9e575f80fd5b62000ba982620008d9565b9392505050565b8082018082111562000b515762000b5162000b23565b60805160a0516115df62000bf65f395f81816102400152610fc001525f818161028b01526111d401526115df5ff3fe608060405234801561000f575f80fd5b50600436106101d1575f3560e01c806379cc6790116100fe57806395d89b411161009e578063dd62ed3e1161006e578063dd62ed3e1461045e578063e3e8efdc14610496578063f2fde38b146104a9578063f9f92be4146104bc575f80fd5b806395d89b411461040e5780639b19251a14610416578063a9059cbb14610438578063d0b21d171461044b575f80fd5b806386a35f25116100d957806386a35f25146103c05780638da5cb5b146103dc57806390f9d9d8146103f2578063918f867414610405575f80fd5b806379cc6790146103835780638456cb591461039657806385ecafd71461039e575f80fd5b80633f4ba83a11610174578063600174ae11610144578063600174ae146102ea57806370a08231146102fd578063715018a614610325578063728f8eea1461032d575f80fd5b80633f4ba83a146102af57806340c10f19146102b957806342966c68146102cc5780635c975abb146102df575f80fd5b806323b872dd116101af57806323b872dd146102285780632dd310001461023b578063313ce5671461027a578063355274ea14610289575f80fd5b806306fdde03146101d5578063095ea7b3146101f357806318160ddd14610216575b5f80fd5b6101dd6104de565b6040516101ea9190611226565b60405180910390f35b610206610201366004611286565b61056e565b60405190151581526020016101ea565b6002545b6040519081526020016101ea565b6102066102363660046112b0565b610587565b6102627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101ea565b604051601281526020016101ea565b7f000000000000000000000000000000000000000000000000000000000000000061021a565b6102b76105aa565b005b6102b76102c7366004611286565b6105bc565b6102b76102da3660046112ee565b6105d2565b60055460ff16610206565b6102b76102f836600461134a565b6105df565b61021a61030b3660046113f7565b6001600160a01b03165f9081526020819052604090205490565b6102b761068a565b6006546103599061ffff808216916201000081049091169064010000000090046001600160a01b031683565b6040805161ffff94851681529390921660208401526001600160a01b0316908201526060016101ea565b6102b7610391366004611286565b61069b565b6102b76106b0565b6102066103ac3660046113f7565b60096020525f908152604090205460ff1681565b6103c9610bb881565b60405161ffff90911681526020016101ea565b60055461010090046001600160a01b0316610262565b6102b761040036600461134a565b6106c0565b6103c961271081565b6101dd61076b565b6102066104243660046113f7565b60076020525f908152604090205460ff1681565b610206610446366004611286565b61077a565b6102b761045936600461134a565b610787565b61021a61046c366004611419565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102b76104a4366004611466565b610832565b6102b76104b73660046113f7565b610843565b6102066104ca3660046113f7565b60086020525f908152604090205460ff1681565b6060600380546104ed906114d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610519906114d2565b80156105645780601f1061053b57610100808354040283529160200191610564565b820191905f5260205f20905b81548152906001019060200180831161054757829003601f168201915b5050505050905090565b5f3361057b818585610882565b60019150505b92915050565b5f33610594858285610894565b61059f85858561090f565b506001949350505050565b6105b261096c565b6105ba61099f565b565b6105c461096c565b6105ce82826109f1565b5050565b6105dc3382610a25565b50565b6105e761096c565b5f5b81518110156105ce5760095f8383815181106106075761060761150a565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f9054906101000a900460ff161560095f8484815181106106515761065161150a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105e9565b61069261096c565b6105ba5f610a59565b6106a6823383610894565b6105ce8282610a25565b6106b861096c565b6105ba610ab2565b6106c861096c565b5f5b81518110156105ce5760075f8383815181106106e8576106e861150a565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f9054906101000a900460ff161560075f8484815181106107325761073261150a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016106ca565b6060600480546104ed906114d2565b5f3361057b81858561090f565b61078f61096c565b5f5b81518110156105ce5760085f8383815181106107af576107af61150a565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f9054906101000a900460ff161560085f8484815181106107f9576107f961150a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610791565b61083a61096c565b6105dc81610aef565b61084b61096c565b6001600160a01b03811661087957604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6105dc81610a59565b61088f8383836001610c08565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461090957818110156108fb57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610870565b61090984848484035f610c08565b50505050565b6001600160a01b03831661093857604051634b637e8f60e11b81525f6004820152602401610870565b6001600160a01b0382166109615760405163ec442f0560e01b81525f6004820152602401610870565b61088f838383610cda565b6005546001600160a01b036101009091041633146105ba5760405163118cdaa760e01b8152336004820152602401610870565b6109a7610e73565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216610a1a5760405163ec442f0560e01b81525f6004820152602401610870565b6105ce5f8383610cda565b6001600160a01b038216610a4e57604051634b637e8f60e11b81525f6004820152602401610870565b6105ce825f83610cda565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b610aba610e96565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586109d43390565b60408101516001600160a01b0316610b495760405162461bcd60e51b815260206004820152601760248201527f546f6b656e3a20496e76616c69642072656365697665720000000000000000006044820152606401610870565b8051610bb861ffff90911611801590610b705750610bb861ffff16816020015161ffff1611155b610bb15760405162461bcd60e51b8152602060048201526012602482015271546f6b656e3a2057726f6e6720746178657360701b6044820152606401610870565b80516006805460208401516040909401516001600160a01b031664010000000002640100000000600160c01b031961ffff958616620100000263ffffffff1990931695909416949094171791909116919091179055565b6001600160a01b038416610c315760405163e602df0560e01b81525f6004820152602401610870565b6001600160a01b038316610c5a57604051634a1406b160e11b81525f6004820152602401610870565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561090957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ccc91815260200190565b60405180910390a350505050565b6001600160a01b0383165f9081526007602052604090205460ff1680610d25575060055460ff1680610d2357506001600160a01b0383165f9081526008602052604090205460ff165b155b610d715760405162461bcd60e51b815260206004820152601960248201527f546f6b656e3a205472616e7366657220666f7262696464656e000000000000006044820152606401610870565b5f610d7b83610eba565b90505f610d8785610eba565b90505f818015610daf57506001600160a01b0385165f9081526009602052604090205460ff16155b610e0c57828015610dd857506001600160a01b0386165f9081526009602052604090205460ff16155b610de2575f610e2b565b60065461271090610dfd9062010000900461ffff1686611532565b610e079190611549565b610e2b565b60065461271090610e219061ffff1686611532565b610e2b9190611549565b90508015610e6057600654610e5390879064010000000090046001600160a01b031683611090565b610e5d8185611568565b93505b610e6b8686866111b6565b505050505050565b60055460ff166105ba57604051638dfc202b60e01b815260040160405180910390fd5b60055460ff16156105ba5760405163d93c066560e01b815260040160405180910390fd5b5f8080833b1561108757836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f1e575060408051601f3d908101601f19168201909252610f1b9181019061157b565b60015b610f2b57505f9392505050565b9150836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f87575060408051601f3d908101601f19168201909252610f849181019061157b565b60015b610f9457505f9392505050565b60405163e6a4390560e01b81526001600160a01b03848116600483015280831660248301529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063e6a4390590604401602060405180830381865afa158015611005573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611029919061157b565b9050846001600160a01b0316816001600160a01b03161461104e57505f949350505050565b6001600160a01b03831630148061106d57506001600160a01b03821630145b1561107d57506001949350505050565b505f949350505050565b505f9392505050565b6001600160a01b0383166110ba578060025f8282546110af9190611596565b9091555061112a9050565b6001600160a01b0383165f908152602081905260409020548181101561110c5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610870565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661114657600280548290039055611164565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111a991815260200190565b60405180910390a3505050565b6111c1838383611090565b6001600160a01b03831661088f576002547f0000000000000000000000000000000000000000000000000000000000000000908181111561121f5760405163279e7e1560e21b81526004810182905260248101839052604401610870565b5050505050565b5f602080835283518060208501525f5b8181101561125257858101830151858201604001528201611236565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105dc575f80fd5b5f8060408385031215611297575f80fd5b82356112a281611272565b946020939093013593505050565b5f805f606084860312156112c2575f80fd5b83356112cd81611272565b925060208401356112dd81611272565b929592945050506040919091013590565b5f602082840312156112fe575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561134257611342611305565b604052919050565b5f602080838503121561135b575f80fd5b823567ffffffffffffffff80821115611372575f80fd5b818501915085601f830112611385575f80fd5b81358181111561139757611397611305565b8060051b91506113a8848301611319565b81815291830184019184810190888411156113c1575f80fd5b938501935b838510156113eb57843592506113db83611272565b82825293850193908501906113c6565b98975050505050505050565b5f60208284031215611407575f80fd5b813561141281611272565b9392505050565b5f806040838503121561142a575f80fd5b823561143581611272565b9150602083013561144581611272565b809150509250929050565b803561ffff81168114611461575f80fd5b919050565b5f60608284031215611476575f80fd5b6040516060810181811067ffffffffffffffff8211171561149957611499611305565b6040526114a583611450565b81526114b360208401611450565b602082015260408301356114c681611272565b60408201529392505050565b600181811c908216806114e657607f821691505b60208210810361150457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105815761058161151e565b5f8261156357634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156105815761058161151e565b5f6020828403121561158b575f80fd5b815161141281611272565b808201808211156105815761058161151e56fea26469706673582212207367a1ebdbbb0c1170aaec3ed6a38825d7bea79b4ab9fde7095920bf53d9d28c64736f6c63430008170033000000000000000000000000ca39d333663ca9ecc21e6af58f448b282b5578c4000000000000000000000000ca39d333663ca9ecc21e6af58f448b282b5578c40000000000000000000000008d6f38f6c33cffe991d7956f023a83583843813900000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000c43584823eaaae881f10a03e6110417f782129cd
0x000000000000000000000000ca39d333663ca9ecc21e6af58f448b282b5578c4000000000000000000000000ca39d333663ca9ecc21e6af58f448b282b5578c40000000000000000000000008d6f38f6c33cffe991d7956f023a83583843813900000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000c43584823eaaae881f10a03e6110417f782129cd