[ { "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": 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": [ { "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": "", "type": "address" } ], "name": "ammPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "buyDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "developmentWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludeFromMaximumTransactionAllowed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludemaximumTransactionAllowed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maximumTransactionAllowed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maximumWalletAllowed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "openTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeBuyFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeSellFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "setPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapBackThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForDev", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarket", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapRouter", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaximumTransactionAllowed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaximumWalletAllowed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapBackThreshold", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a06040526009805462ffffff60a01b1916600160b01b179055348015610024575f80fd5b506040518060400160405280600b81526020016a2837bb32b610223ab932bb60a91b81525060405180604001604052806005815260200164222aa922ab60d91b81525061007d61007861025960201b60201c565b61025d565b60016100898382610428565b5060026100968282610428565b505060038054336001600160a01b031991821617909155737a250d5630b4cf539739df2c5dacb4c659f2488d6080525f80546008805484166001600160a01b03928316908117909155600980549094168117909355601760209081527f6ed4a2ad7fcc8c909e132e6944330e092422b135566df0c96615e85c6f709ad8805460ff199081166001908117909255948452604080852080548716831790553080865281862080548816841790557f43fedf50e12e5c047fbe3576d03ab50250348e9a6030f531ab6d4ce10f5b0303805488168417905585549094168552601690925281842080548616821790559183528220805484168217905561dead9091527f290d80ce586bfe95e1ebf348e3ba109df813891ad867417e64d38c5a50473b5780549092161790555067016345785d8a00006127106101d68260056104f6565b6101e09190610513565b600b5560646101f08260026104f6565b6101fa9190610513565b600a55606461020a8260026104f6565b6102149190610513565b600c556013600e8190555f600f81905561022d91610532565b600d55601360118190555f601281905561024691610532565b60105561025333826102ac565b50610545565b3390565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166103065760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060045f8282546103179190610532565b90915550506001600160a01b0382165f9081526005602052604081208054839290610343908490610532565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806103b957607f821691505b6020821081036103d757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561038c57805f5260205f20601f840160051c810160208510156104025750805b601f840160051c820191505b81811015610421575f815560010161040e565b5050505050565b81516001600160401b0381111561044157610441610391565b6104558161044f84546103a5565b846103dd565b6020601f821160018114610487575f83156104705750848201515b5f19600385901b1c1916600184901b178455610421565b5f84815260208120601f198516915b828110156104b65787850151825560209485019460019092019101610496565b50848210156104d357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761050d5761050d6104e2565b92915050565b5f8261052d57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561050d5761050d6104e2565b60805161212a6105805f395f81816104d201528181610b5801528181610be701528181611c7d01528181611d340152611d70015261212a5ff3fe608060405260043610610277575f3560e01c80638968794c1161014a578063a9059cbb116100be578063cff16b2f11610078578063cff16b2f1461073f578063d85ba06314610754578063dd62ed3e14610769578063e4a1b95f146107ad578063f2fde38b146107c2578063f8acfffa146107e1575f80fd5b8063a9059cbb1461068f578063bbc0c742146106ae578063c0246668146106ce578063c04a5414146106ed578063c816841b1461070c578063c9567bf91461072b575f80fd5b80639c3b4fdc1161010f5780639c3b4fdc146105d55780639fccce32146105ea578063a0d82dc5146105ff578063a457c2d714610614578063a72905a214610633578063a781dc3514610661575f80fd5b80638968794c146105535780638da5cb5b14610567578063924de9b71461058357806394a1700e146105a257806395d89b41146105c1575f80fd5b80634a62bb65116101ec57806370a08231116101a657806370a0823114610479578063715018a6146104ad578063735de9f7146104c1578063751039fc1461050c57806375f0a87414610520578063798da9261461053f575f80fd5b80634a62bb65146103cd5780634bdc18de146103ed5780634fbee193146104015780636a486a8e1461042f5780636ddd1713146104445780636e1b6cda14610464575f80fd5b806323b872dd1161023d57806323b872dd14610329578063313ce5671461034857806335b5fb631461036357806337da26ca14610378578063395093511461038d57806348898186146103ac575f80fd5b8062c305ee1461028257806306fdde03146102b6578063095ea7b3146102d757806318160ddd146102f65780631f7ea8da14610314575f80fd5b3661027e57005b5f80fd5b34801561028d575f80fd5b506102a161029c366004611e15565b610800565b60405190151581526020015b60405180910390f35b3480156102c1575f80fd5b506102ca6108fe565b6040516102ad9190611e2c565b3480156102e2575f80fd5b506102a16102f1366004611e75565b61098e565b348015610301575f80fd5b506004545b6040519081526020016102ad565b34801561031f575f80fd5b5061030660135481565b348015610334575f80fd5b506102a1610343366004611e9f565b6109a4565b348015610353575f80fd5b50604051600981526020016102ad565b34801561036e575f80fd5b5061030660115481565b348015610383575f80fd5b50610306600c5481565b348015610398575f80fd5b506102a16103a7366004611e75565b610a4c565b3480156103b7575f80fd5b506103cb6103c6366004611e15565b610a87565b005b3480156103d8575f80fd5b506009546102a190600160b01b900460ff1681565b3480156103f8575f80fd5b506103cb610b2d565b34801561040c575f80fd5b506102a161041b366004611edd565b60166020525f908152604090205460ff1681565b34801561043a575f80fd5b5061030660105481565b34801561044f575f80fd5b506009546102a190600160a81b900460ff1681565b34801561046f575f80fd5b50610306600b5481565b348015610484575f80fd5b50610306610493366004611edd565b6001600160a01b03165f9081526005602052604090205490565b3480156104b8575f80fd5b506103cb610d2a565b3480156104cc575f80fd5b506104f47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102ad565b348015610517575f80fd5b506102a1610d5e565b34801561052b575f80fd5b506008546104f4906001600160a01b031681565b34801561054a575f80fd5b506103cb610d9b565b34801561055e575f80fd5b506103cb610dde565b348015610572575f80fd5b505f546001600160a01b03166104f4565b34801561058e575f80fd5b506103cb61059d366004611f07565b610e21565b3480156105ad575f80fd5b506103cb6105bc366004611f20565b610e68565b3480156105cc575f80fd5b506102ca610ebb565b3480156105e0575f80fd5b50610306600f5481565b3480156105f5575f80fd5b5061030660145481565b34801561060a575f80fd5b5061030660125481565b34801561061f575f80fd5b506102a161062e366004611e75565b610eca565b34801561063e575f80fd5b506102a161064d366004611edd565b60186020525f908152604090205460ff1681565b34801561066c575f80fd5b506102a161067b366004611edd565b60176020525f908152604090205460ff1681565b34801561069a575f80fd5b506102a16106a9366004611e75565b610f62565b3480156106b9575f80fd5b506009546102a190600160a01b900460ff1681565b3480156106d9575f80fd5b506103cb6106e8366004611f20565b610f6e565b3480156106f8575f80fd5b506009546104f4906001600160a01b031681565b348015610717575f80fd5b506007546104f4906001600160a01b031681565b348015610736575f80fd5b506103cb610fc1565b34801561074a575f80fd5b50610306600a5481565b34801561075f575f80fd5b50610306600d5481565b348015610774575f80fd5b50610306610783366004611f53565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107b8575f80fd5b50610306600e5481565b3480156107cd575f80fd5b506103cb6107dc366004611edd565b611001565b3480156107ec575f80fd5b506103cb6107fb366004611e15565b61105c565b5f80546001600160a01b031633146108335760405162461bcd60e51b815260040161082a90611f8a565b60405180910390fd5b620186a061084060045490565b61084b906001611fc1565b6108559190611fd8565b8210156108935760405162461bcd60e51b815260206004820152600c60248201526b6c7420302e3030312520747360a01b604482015260640161082a565b6103e861089f60045490565b6108aa906005611fc1565b6108b49190611fd8565b8211156108f05760405162461bcd60e51b815260206004820152600a6024820152696c7420302e352520747360b01b604482015260640161082a565b50600b81905560015b919050565b60606001805461090d90611ff7565b80601f016020809104026020016040519081016040528092919081815260200182805461093990611ff7565b80156109845780601f1061095b57610100808354040283529160200191610984565b820191905f5260205f20905b81548152906001019060200180831161096757829003601f168201915b5050505050905090565b5f61099a338484611102565b5060015b92915050565b5f6109b0848484611225565b6001600160a01b0384165f90815260066020908152604080832033845290915290205482811015610a345760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161082a565b610a418533858403611102565b506001949350505050565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161099a918590610a8290869061202f565b611102565b5f546001600160a01b03163314610ab05760405162461bcd60e51b815260040161082a90611f8a565b633b9aca006103e8610ac160045490565b610acc906001611fc1565b610ad69190611fd8565b610ae09190611fd8565b811015610b195760405162461bcd60e51b81526020600482015260076024820152666c7420302e312560c81b604482015260640161082a565b610b2781633b9aca00611fc1565b600a5550565b5f546001600160a01b03163314610b565760405162461bcd60e51b815260040161082a90611f8a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd69190612042565b6001600160a01b031663e6a43905307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c659190612042565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610cae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd29190612042565b600780546001600160a01b0319166001600160a01b0392831690811782555f908152601760209081526040808320805460ff199081166001908117909255945490951683526018909152902080549091169091179055565b5f546001600160a01b03163314610d535760405162461bcd60e51b815260040161082a90611f8a565b610d5c5f61186b565b565b5f80546001600160a01b03163314610d885760405162461bcd60e51b815260040161082a90611f8a565b506009805460ff60b01b19169055600190565b5f546001600160a01b03163314610dc45760405162461bcd60e51b815260040161082a90611f8a565b5f600e819055600f819055610dd9908061202f565b600d55565b5f546001600160a01b03163314610e075760405162461bcd60e51b815260040161082a90611f8a565b5f60118190556012819055610e1c908061202f565b601055565b5f546001600160a01b03163314610e4a5760405162461bcd60e51b815260040161082a90611f8a565b60098054911515600160a81b0260ff60a81b19909216919091179055565b5f546001600160a01b03163314610e915760405162461bcd60e51b815260040161082a90611f8a565b6001600160a01b03919091165f908152601760205260409020805460ff1916911515919091179055565b60606002805461090d90611ff7565b335f9081526006602090815260408083206001600160a01b038616845290915281205482811015610f4b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161082a565b610f583385858403611102565b5060019392505050565b5f61099a338484611225565b5f546001600160a01b03163314610f975760405162461bcd60e51b815260040161082a90611f8a565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610fea5760405162461bcd60e51b815260040161082a90611f8a565b6009805461ffff60a01b191661010160a01b179055565b5f546001600160a01b0316331461102a5760405162461bcd60e51b815260040161082a90611f8a565b6001600160a01b0381166110505760405162461bcd60e51b815260040161082a90611f8a565b6110598161186b565b50565b5f546001600160a01b031633146110855760405162461bcd60e51b815260040161082a90611f8a565b633b9aca006103e861109660045490565b6110a1906005611fc1565b6110ab9190611fd8565b6110b59190611fd8565b8110156110ee5760405162461bcd60e51b81526020600482015260076024820152666c7420302e352560c81b604482015260640161082a565b6110fc81633b9aca00611fc1565b600c5550565b6001600160a01b0383166111645760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161082a565b6001600160a01b0382166111c55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161082a565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661126a5760405162461bcd60e51b815260206004820152600c60248201526b199c9bdb480c1e0c0818591960a21b604482015260640161082a565b6001600160a01b0382166112ad5760405162461bcd60e51b815260206004820152600a6024820152691d1bc80c1e0c0818591960b21b604482015260640161082a565b805f036112c4576112bf83835f6118ba565b505050565b600954600160b01b900460ff16156115bc575f546001600160a01b0384811691161480159061130057505f546001600160a01b03838116911614155b801561131457506001600160a01b03821615155b801561132b57506001600160a01b03821661dead14155b801561133a575060155460ff16155b156115bc57600954600160a01b900460ff166113ce576001600160a01b0383165f9081526016602052604090205460ff168061138d57506001600160a01b0382165f9081526016602052604090205460ff165b6113ce5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b604482015260640161082a565b6001600160a01b0383165f9081526018602052604090205460ff16801561140d57506001600160a01b0382165f9081526017602052604090205460ff16155b156114b857600a548111156114505760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b604482015260640161082a565b600c546001600160a01b0383165f90815260056020526040902054611475908361202f565b11156114b35760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b604482015260640161082a565b6115bc565b6001600160a01b0382165f9081526018602052604090205460ff1680156114f757506001600160a01b0383165f9081526017602052604090205460ff16155b1561153a57600a548111156114b35760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b604482015260640161082a565b6001600160a01b0382165f9081526017602052604090205460ff166115bc57600c546001600160a01b0383165f9081526005602052604090205461157e908361202f565b11156115bc5760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b604482015260640161082a565b305f90815260056020526040902054600b54811080159081906115e85750600954600160a81b900460ff165b80156115f7575060155460ff16155b801561161b57506001600160a01b0385165f9081526018602052604090205460ff16155b801561163f57506001600160a01b0385165f9081526016602052604090205460ff16155b801561166357506001600160a01b0384165f9081526016602052604090205460ff16155b15611688576015805460ff1916600117905561167d611a91565b6015805460ff191690555b6015546001600160a01b0386165f9081526016602052604090205460ff918216159116806116cd57506001600160a01b0385165f9081526016602052604090205460ff165b156116d557505f5b5f8115611857576001600160a01b0386165f9081526018602052604090205460ff16801561170457505f601054115b1561179057611729606461172360105488611bd990919063ffffffff16565b90611beb565b90506010546012548261173c9190611fc1565b6117469190611fd8565b60145f828254611756919061202f565b909155505060105460115461176b9083611fc1565b6117759190611fd8565b60135f828254611785919061202f565b909155506118399050565b6001600160a01b0387165f9081526018602052604090205460ff1680156117b857505f600d54115b15611839576117d76064611723600d5488611bd990919063ffffffff16565b9050600d54600f54826117ea9190611fc1565b6117f49190611fd8565b60145f828254611804919061202f565b9091555050600d54600e546118199083611fc1565b6118239190611fd8565b60135f828254611833919061202f565b90915550505b801561184a5761184a8730836118ba565b611854818661205d565b94505b6118628787876118ba565b50505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831661191e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161082a565b6001600160a01b0382166119805760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161082a565b6001600160a01b0383165f90815260056020526040902054818110156119f75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161082a565b81611a0185611bf6565b6001600160a01b038087165f90815260056020526040808220949093039093558516825281208054849290611a3790849061202f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a8391815260200190565b60405180910390a350505050565b305f9081526005602052604081205490505f601454601354611ab3919061202f565b90505f821580611ac1575081155b15611acb57505050565b600b54611ad9906014611fc1565b831115611af157600b54611aee906014611fc1565b92505b47611afb84611c28565b5f611b064783611dde565b90505f611b228561172360145485611bd990919063ffffffff16565b5f601381905560148190556009546040519293506001600160a01b031691839181818185875af1925050503d805f8114611b77576040519150601f19603f3d011682016040523d82523d5f602084013e611b7c565b606091505b50506008546040519195506001600160a01b03169047905f81818185875af1925050503d805f8114611bc9576040519150601f19603f3d011682016040523d82523d5f602084013e611bce565b606091505b505050505050505050565b5f611be48284611fc1565b9392505050565b5f611be48284611fd8565b5f611c0082611de9565b611c21576001600160a01b0382165f9081526005602052604090205461099e565b5f92915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611c5b57611c5b612070565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cfb9190612042565b81600181518110611d0e57611d0e612070565b60200260200101906001600160a01b031690816001600160a01b031681525050611d59307f000000000000000000000000000000000000000000000000000000000000000084611102565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611dad9085905f90869030904290600401612084565b5f604051808303815f87803b158015611dc4575f80fd5b505af1158015611dd6573d5f803e3d5ffd5b505050505050565b5f611be4828461205d565b6003545f906001600160a01b03838116911614801561099e5750505f546001600160a01b031615919050565b5f60208284031215611e25575f80fd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611059575f80fd5b5f8060408385031215611e86575f80fd5b8235611e9181611e61565b946020939093013593505050565b5f805f60608486031215611eb1575f80fd5b8335611ebc81611e61565b92506020840135611ecc81611e61565b929592945050506040919091013590565b5f60208284031215611eed575f80fd5b8135611be481611e61565b803580151581146108f9575f80fd5b5f60208284031215611f17575f80fd5b611be482611ef8565b5f8060408385031215611f31575f80fd5b8235611f3c81611e61565b9150611f4a60208401611ef8565b90509250929050565b5f8060408385031215611f64575f80fd5b8235611f6f81611e61565b91506020830135611f7f81611e61565b809150509250929050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761099e5761099e611fad565b5f82611ff257634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c9082168061200b57607f821691505b60208210810361202957634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561099e5761099e611fad565b5f60208284031215612052575f80fd5b8151611be481611e61565b8181038181111561099e5761099e611fad565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156120d45783516001600160a01b03168352602093840193909201916001016120ad565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220d6c517dddead27e361ff7d98f7816b554e14ae12f3145e2dcaff1049a4c8fe4d64736f6c634300081a0033