[ { "inputs": [], "stateMutability": "payable", "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": "amount", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "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": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "_projectFee", "type": "uint256" } ], "name": "adjustFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "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": "adr", "type": "address" } ], "name": "authorize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnContractTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "uint256", "name": "denominator", "type": "uint256" } ], "name": "changeMaxTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "uint256", "name": "denominator", "type": "uint256" } ], "name": "changeMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "createNewPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeDenominator", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "isAuthorized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isFeeExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isLimitExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isPair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "largeSwapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mainPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "max_tx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "max_wallet", "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": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "pairs", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pepes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rescue", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "rescueToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_feeReceiver", "type": "address" } ], "name": "setFeeReceivers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" } ], "name": "setNewPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_smallAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_largeAmount", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "showPairList", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "smallSwapThreshold", "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": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "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 payable", "name": "adr", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "unauthorize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newName", "type": "string" }, { "internalType": "string", "name": "newSymbol", "type": "string" } ], "name": "updateTokenDetails", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c0604052600f60809081526e05065706520636f756e7465723a203608c1b60a052600390620000309082620007a7565b5060408051808201909152600381526250504360e81b60208201526004906200005a9082620007a7565b50620000696004600a62000988565b62000079906305f5e100620009a0565b6005556103e86005546200008e9190620009ba565b6200009b90600a620009a0565b6006556103e8600554620000b09190620009ba565b620000bd906014620009a0565b6007556064600d556000600f5560006010556103e8600554620000e19190620009ba565b6015556101f4600554620000f69190620009ba565b6016556015546017556018805460ff19908116600190811790925581546001600160a01b03191632908117835560009081526020819052604090208054909116909117905546603803620001b057600280546001600160a01b031990811673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790915560128054821673ca143ce32fe78f1f7019d7d551a6402fc5350c73179055601180549091167310ed43c718714eb63d5aa57b78b54704e256024e1790556200038a565b466061036200022557600280546001600160a01b031990811673ae13d989dac2f0debff460ac112a837c89baa7cd1790915560128054821673b7926c0430afb07aa7defde6da862ae0bde767bc17905560118054909116739ac64cc6e4415144c455bd8e4837fea55603e5c31790556200038a565b466001036200029a57600280546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc217909155601280548216735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f17905560118054909116737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200038a565b466089036200030f57600280546001600160a01b0319908116730d500b1d8e8ef31e21c99d1db9a6444d3adf127017909155601280548216735757371414417b8c6caad45baef941abc7d3ab321790556011805490911673a5e0829caced8ffdd4de3c43696c57f7d7a678ff1790556200038a565b4661a4b1036200038557600280546001600160a01b03199081167382af49447d8a07e3bd95bd0d56f35241523fbab11790915560128054821673c35dadb65012ec5796536bd9864ed8773abc74c417905560118054909116731b02da8cb0d097eb8d57a175b88c7d8b479975061790556200038a565b600080fd5b306000818152600860208181526040808420601180546001600160a01b03908116875291845282862060001990819055338088529585528387209154831687529352938190209190915560125460025491516364e329cb60e11b81529184166004830152602482019490945232939192919091169063c9c65396906044016020604051808303816000875af115801562000428573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200044e9190620009dd565b601380546001600160a01b039283166001600160a01b0319918216811783556000908152600a60209081526040808320805460ff1990811660019081179092559554601480548084019091557fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0180548716918916919091179055600e80548a89169616861790556011805488168552600b845282852080548816831790558585528285208054881683179055308086528386208054891684179055905488168552600c90935281842080548716821790558484528184208054871682179055918352822080548516821790557f45117a726ea4f344045dc210793664a28d2d320b7e03f6bffdae553d24c3586c80548516821790559080527f13649b2456f1b42fef0f0040b3aaeabcd21a76a0f3f5defd4f583839455116e880549093161790915590821614620006a7576001600160a01b0381166000908152600b602090815260408083208054600160ff199182168117909255600c84528285208054821683179055928490529083208054909216179055600554620005f390606490620009ba565b6200060090605f620009a0565b905060008160055462000614919062000a08565b6001600160a01b0380861660008181526009602052604080822080548601905592871681528281208054870190559151929350916000805160206200301d83398151915290620006679085815260200190565b60405180910390a36040518281526001600160a01b038416906000906000805160206200301d8339815191529060200160405180910390a35050620006fa565b600580546001600160a01b0384166000818152600960205260408082208054909401909355925491519092916000805160206200301d83398151915291620006f191815260200190565b60405180910390a35b505062000a1e565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200072d57607f821691505b6020821081036200074e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007a257600081815260208120601f850160051c810160208610156200077d5750805b601f850160051c820191505b818110156200079e5782815560010162000789565b5050505b505050565b81516001600160401b03811115620007c357620007c362000702565b620007db81620007d4845462000718565b8462000754565b602080601f831160018114620008135760008415620007fa5750858301515b600019600386901b1c1916600185901b1785556200079e565b600085815260208120601f198616915b82811015620008445788860151825594840194600190910190840162000823565b5085821015620008635787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008ca578160001904821115620008ae57620008ae62000873565b80851615620008bc57918102915b93841c93908002906200088e565b509250929050565b600082620008e35750600162000982565b81620008f25750600062000982565b81600181146200090b5760028114620009165762000936565b600191505062000982565b60ff8411156200092a576200092a62000873565b50506001821b62000982565b5060208310610133831016604e8410600b84101617156200095b575081810a62000982565b62000967838362000889565b80600019048211156200097e576200097e62000873565b0290505b92915050565b60006200099960ff841683620008d2565b9392505050565b808202811582820484141762000982576200098262000873565b600082620009d857634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620009f057600080fd5b81516001600160a01b03811681146200099957600080fd5b8181038181111562000982576200098262000873565b6125ef8062000a2e6000396000f3fe60806040526004361061028c5760003560e01c806391f764191161015a578063d0889358116100c1578063e717fc301161007a578063e717fc30146107ed578063f0b37c0414610803578063f2fde38b14610823578063f75282e114610843578063f887ea4014610863578063fe9fbb801461088357600080fd5b8063d08893581461070f578063d58f2f271461072f578063d962cf5814610745578063dd62ed3e14610765578063e01bb6881461079d578063e5e31b13146107bd57600080fd5b8063b6a5d7de11610113578063b6a5d7de1461064f578063b91ac7881461066f578063bae192351461068f578063c45a0155146106af578063cfdf7643146106cf578063d0291d66146106ef57600080fd5b806391f764191461058a57806395d89b41146105aa5780639f5a5c39146105bf578063a9059cbb146105df578063b0c150af146105ff578063b3f006741461062f57600080fd5b806333f3d628116101fe5780636ddd1713116101b75780636ddd1713146104bf57806370a08231146104d957806370fbc7121461050657806379426c061461051c57806385af30c5146105325780638da5cb5b1461056a57600080fd5b806333f3d628146104035780633f4218e014610423578063414683a8146104535780635d03714614610469578063658d4b7f146104895780636a6bb892146104a957600080fd5b80631ab33ba1116102505780631ab33ba11461033f5780631fbe19791461036157806323b872dd146103785780632b112e49146103985780632f54bf6e146103ad578063313ce567146103dc57600080fd5b80630445b6671461029857806306fdde03146102c1578063095ea7b3146102e3578063180b0d7e1461031357806318160ddd1461032957600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ae60175481565b6040519081526020015b60405180910390f35b3480156102cd57600080fd5b506102d66108a3565b6040516102b89190611f4e565b3480156102ef57600080fd5b506103036102fe366004611f96565b610931565b60405190151581526020016102b8565b34801561031f57600080fd5b506102ae6103e881565b34801561033557600080fd5b506102ae60055481565b34801561034b57600080fd5b5061035461099e565b6040516102b89190612006565b34801561036d57600080fd5b50610376610a00565b005b34801561038457600080fd5b50610303610393366004612019565b610a46565b3480156103a457600080fd5b506102ae610ab8565b3480156103b957600080fd5b506103036103c836600461205a565b6001546001600160a01b0391821691161490565b3480156103e857600080fd5b506103f1600481565b60405160ff90911681526020016102b8565b34801561040f57600080fd5b5061037661041e366004611f96565b610b28565b34801561042f57600080fd5b5061030361043e36600461205a565b600b6020526000908152604090205460ff1681565b34801561045f57600080fd5b506102ae60165481565b34801561047557600080fd5b50610376610484366004612077565b610baa565b34801561049557600080fd5b506103766104a43660046120a5565b610bdf565b3480156104b557600080fd5b506102ae600f5481565b3480156104cb57600080fd5b506018546103039060ff1681565b3480156104e557600080fd5b506102ae6104f436600461205a565b60096020526000908152604090205481565b34801561051257600080fd5b506102ae60065481565b34801561052857600080fd5b506102ae60155481565b34801561053e57600080fd5b50601354610552906001600160a01b031681565b6040516001600160a01b0390911681526020016102b8565b34801561057657600080fd5b50600154610552906001600160a01b031681565b34801561059657600080fd5b506103766105a5366004612077565b610c2f565b3480156105b657600080fd5b506102d6610c71565b3480156105cb57600080fd5b506103766105da36600461205a565b610c7e565b3480156105eb57600080fd5b506103036105fa366004611f96565b610d82565b34801561060b57600080fd5b5061030361061a36600461205a565b600c6020526000908152604090205460ff1681565b34801561063b57600080fd5b50600e54610552906001600160a01b031681565b34801561065b57600080fd5b5061037661066a36600461205a565b610d8f565b34801561067b57600080fd5b5061055261068a366004612077565b610ddd565b34801561069b57600080fd5b506103766106aa3660046120da565b610e07565b3480156106bb57600080fd5b50601254610552906001600160a01b031681565b3480156106db57600080fd5b506103766106ea36600461205a565b610ec0565b3480156106fb57600080fd5b5061037661070a366004612145565b610f4b565b34801561071b57600080fd5b5061037661072a3660046121b1565b610f92565b34801561073b57600080fd5b506102ae600d5481565b34801561075157600080fd5b506103766107603660046120a5565b6110bd565b34801561077157600080fd5b506102ae6107803660046121e4565b600860209081526000928352604080842090915290825290205481565b3480156107a957600080fd5b506103766107b836600461205a565b61110d565b3480156107c957600080fd5b506103036107d836600461205a565b600a6020526000908152604090205460ff1681565b3480156107f957600080fd5b506102ae60075481565b34801561080f57600080fd5b5061037661081e36600461205a565b611154565b34801561082f57600080fd5b5061037661083e36600461205a565b61119f565b34801561084f57600080fd5b5061037661085e3660046120da565b611234565b34801561086f57600080fd5b50601154610552906001600160a01b031681565b34801561088f57600080fd5b5061030361089e36600461205a565b6112e2565b600380546108b09061221d565b80601f01602080910402602001604051908101604052809291908181526020018280546108dc9061221d565b80156109295780601f106108fe57610100808354040283529160200191610929565b820191906000526020600020905b81548152906001019060200180831161090c57829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061098c9086815260200190565b60405180910390a35060015b92915050565b606060148054806020026020016040519081016040528092919081815260200182805480156109f657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109d8575b5050505050905090565b610a09336112e2565b610a2e5760405162461bcd60e51b8152600401610a2590612257565b60405180910390fd5b600e54610a44906001600160a01b031647611300565b565b6001600160a01b03831660009081526008602090815260408083203384529091528120546000198114610aa257610a7d8382612292565b6001600160a01b03861660009081526008602090815260408083203384529091529020555b610aad858585611356565b9150505b9392505050565b60096020527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b5461dead60009081527f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb19307500378554600554919291610b199190612292565b610b239190612292565b905090565b610b31336112e2565b610b4d5760405162461bcd60e51b8152600401610a2590612257565b306001600160a01b03831603610b8e5760405162461bcd60e51b8152600401610a2590602080825260049082015263053544f560e41b604082015260600190565b600e54610ba69083906001600160a01b031683611577565b5050565b610bb3336112e2565b610bcf5760405162461bcd60e51b8152600401610a2590612257565b610bdc3061dead83611577565b50565b610be8336112e2565b610c045760405162461bcd60e51b8152600401610a2590612257565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610c38336112e2565b610c545760405162461bcd60e51b8152600401610a2590612257565b610c61600f6103e86122a5565b8110610c6c57600080fd5b600d55565b600480546108b09061221d565b610c87336112e2565b610ca35760405162461bcd60e51b8152600401610a2590612257565b6012546040516364e329cb60e11b81526001600160a01b038381166004830152306024830152600092169063c9c65396906044016020604051808303816000875af1158015610cf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1a91906122c7565b6001600160a01b03166000818152600a60205260408120805460ff191660019081179091556014805491820181559091527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0180546001600160a01b03191690911790555050565b6000610ab1338484611356565b6001546001600160a01b03163314610db95760405162461bcd60e51b8152600401610a25906122e4565b6001600160a01b03166000908152602081905260409020805460ff19166001179055565b60148181548110610ded57600080fd5b6000918252602090912001546001600160a01b0316905081565b610e10336112e2565b610e2c5760405162461bcd60e51b8152600401610a2590612257565b8082600554610e3b9190612304565b610e4591906122a5565b6007556005546103e890610e5a90600a612304565b610e6491906122a5565b6007541015610ba65760405162461bcd60e51b815260206004820152602260248201527f4d61782077616c6c6574206d7573742062652067726561746572207468616e20604482015261312560f01b6064820152608401610a25565b610ec9336112e2565b610ee55760405162461bcd60e51b8152600401610a2590612257565b6001600160a01b03166000818152600a60205260408120805460ff191660019081179091556014805491820181559091527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0180546001600160a01b0319169091179055565b610f54336112e2565b610f705760405162461bcd60e51b8152600401610a2590612257565b6003610f7d84868361237f565b506004610f8b82848361237f565b5050505050565b610f9b336112e2565b610fb75760405162461bcd60e51b8152600401610a2590612257565b6127106005546019610fc99190612304565b610fd391906122a5565b82111561102d5760405162461bcd60e51b815260206004820152602260248201527f536d616c6c2073776170207468726573686f6c64206d757374206265206c6f7760448201526132b960f11b6064820152608401610a25565b6103e8600554600561103f9190612304565b61104991906122a5565b8111156110a35760405162461bcd60e51b815260206004820152602260248201527f4c617267652073776170207468726573686f6c64206d757374206265206c6f7760448201526132b960f11b6064820152608401610a25565b6018805460ff191693151593909317909255601555601655565b6110c6336112e2565b6110e25760405162461bcd60e51b8152600401610a2590612257565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b611116336112e2565b6111325760405162461bcd60e51b8152600401610a2590612257565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b0316331461117e5760405162461bcd60e51b8152600401610a25906122e4565b6001600160a01b03166000908152602081905260409020805460ff19169055565b6001546001600160a01b031633146111c95760405162461bcd60e51b8152600401610a25906122e4565b600180546001600160a01b0319166001600160a01b038316908117825560008181526020818152604091829020805460ff1916909417909355519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61123d336112e2565b6112595760405162461bcd60e51b8152600401610a2590612257565b80826005546112689190612304565b61127291906122a5565b6006556005546103e89061128790600a612304565b61129191906122a5565b6006541015610ba65760405162461bcd60e51b815260206004820152601e60248201527f4d6178207478206d7573742062652067726561746572207468616e20312500006044820152606401610a25565b6001600160a01b031660009081526020819052604090205460ff1690565b600080600080600085875af19050806113515760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606401610a25565b505050565b6000611363601054151590565b15801561138857506001600160a01b0383166000908152600a602052604090205460ff165b156113bb57611396846112e2565b6113b25760405162461bcd60e51b8152600401610a25906122e4565b6113bb43601055565b601854610100900460ff16156113dd576113d68484846115fe565b9050610ab1565b6113e8848484611691565b6113f18361181d565b156113ff576113ff8361189b565b6001600160a01b03841660009081526009602052604081208054849290611427908490612292565b90915550506001600160a01b0384166000908152600a6020526040902054829060ff168061146d57506001600160a01b0384166000908152600a602052604090205460ff165b1561150e576001600160a01b0385166000908152600a602052604090205460ff16156114ed576001600f60008282546114a6919061243f565b9250508190555060006114ba600f54611c5d565b9050806040516020016114cd9190612452565b604051602081830303815290604052600390816114ea9190612488565b50505b6114f78585611cf0565b611501578261150b565b61150b8584611d45565b90505b6001600160a01b03808516600081815260096020526040908190208054850190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115649085815260200190565b60405180910390a3506001949350505050565b600060405163a9059cbb60e01b81526001600160a01b0384166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806115f85760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610a25565b50505050565b6001600160a01b038316600090815260096020526040812080548391908390611628908490612292565b90915550506001600160a01b038316600081815260096020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061167f9086815260200190565b60405180910390a35060019392505050565b600654811115806116dd57506001600160a01b0383166000908152600a602052604090205460ff1680156116dd57506001600160a01b0382166000908152600c602052604090205460ff165b8061170057506001600160a01b0383166000908152600c602052604090205460ff165b61174c5760405162461bcd60e51b815260206004820152601a60248201527f5452414e53414354494f4e5f4c494d49545f45584345454445440000000000006044820152606401610a25565b6001546001600160a01b0383811691161480159061178357506001600160a01b0382166000908152600c602052604090205460ff16155b80156117a857506001600160a01b0382166000908152600a602052604090205460ff16155b15611351576001600160a01b0382166000908152600960205260408120546117d190839061243f565b90506007548111156115f85760405162461bcd60e51b815260206004820152601560248201527415d05313115517d31253525517d15610d151511151605a1b6044820152606401610a25565b60185460009060ff16801561183457506000600d54115b801561185857506001600160a01b0382166000908152600a602052604090205460ff165b801561187557506017543060009081526009602052604090205410155b8015610998575060175461188a90600a612304565b6118943084611dd3565b1192915050565b6018805461ff001916610100179055601754601354606091906001600160a01b039081169084160361195157604080516002808252606082018352909160208301908036833701905050915030826000815181106118fb576118fb612548565b6001600160a01b03928316602091820292909201015260025483519116908390600190811061192c5761192c612548565b60200260200101906001600160a01b031690816001600160a01b031681525050611b17565b60008390506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ba91906122c7565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2091906122c7565b60408051600380825260808201909252919250602082016060803683370190505094503085600081518110611a5757611a57612548565b6001600160a01b0392831660209182029290920101526002805487519216918791908110611a8757611a87612548565b6001600160a01b03928316602091820292909201015282163014611ade578185600181518110611ab957611ab9612548565b60200260200101906001600160a01b031690816001600160a01b031681525050611b13565b8085600181518110611af257611af2612548565b60200260200101906001600160a01b031690816001600160a01b0316815250505b5050505b6011546000906001600160a01b03165a63791ac947846000873042604051602401611b4695949392919061255e565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051611b7f919061259d565b60006040518083038160008787f1925050503d8060008114611bbd576040519150601f19603f3d011682016040523d82523d6000602084013e611bc2565b606091505b50506013549091506001600160a01b0390811690851603611c1c5780611c1c5760405162461bcd60e51b815260206004820152600f60248201526e14d5d054109050d2d7d19052531151608a1b6044820152606401610a25565b600e54611c32906001600160a01b031647611300565b60155460175414611c4557601554611c49565b6016545b60175550506018805461ff00191690555050565b60606000611c6a83611e52565b600101905060008167ffffffffffffffff811115611c8a57611c8a61231b565b6040519080825280601f01601f191660200182016040528015611cb4576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611cbe57509392505050565b6001600160a01b0382166000908152600b602052604081205460ff16158015611d3257506001600160a01b0382166000908152600b602052604090205460ff16155b8015610ab1575050600d54151592915050565b600080600d546103e884611d5991906122a5565b611d639190612304565b306000818152600960205260409081902080548401905551919250906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611db99085815260200190565b60405180910390a3611dcb8184612292565b949350505050565b6000806040516370a0823160e01b81526001600160a01b0384166004820152602081602483885afa915060018203611e0a57805192505b5080611e4b5760405162461bcd60e51b815260206004820152601060248201526f18985b185b98d953d997d9985a5b195960821b6044820152606401610a25565b5092915050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611e915772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611ebd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611edb57662386f26fc10000830492506010015b6305f5e1008310611ef3576305f5e100830492506008015b6127108310611f0757612710830492506004015b60648310611f19576064830492506002015b600a83106109985760010192915050565b60005b83811015611f45578181015183820152602001611f2d565b50506000910152565b6020815260008251806020840152611f6d816040850160208701611f2a565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610bdc57600080fd5b60008060408385031215611fa957600080fd5b8235611fb481611f81565b946020939093013593505050565b600081518084526020808501945080840160005b83811015611ffb5781516001600160a01b031687529582019590820190600101611fd6565b509495945050505050565b602081526000610ab16020830184611fc2565b60008060006060848603121561202e57600080fd5b833561203981611f81565b9250602084013561204981611f81565b929592945050506040919091013590565b60006020828403121561206c57600080fd5b8135610ab181611f81565b60006020828403121561208957600080fd5b5035919050565b803580151581146120a057600080fd5b919050565b600080604083850312156120b857600080fd5b82356120c381611f81565b91506120d160208401612090565b90509250929050565b600080604083850312156120ed57600080fd5b50508035926020909101359150565b60008083601f84011261210e57600080fd5b50813567ffffffffffffffff81111561212657600080fd5b60208301915083602082850101111561213e57600080fd5b9250929050565b6000806000806040858703121561215b57600080fd5b843567ffffffffffffffff8082111561217357600080fd5b61217f888389016120fc565b9096509450602087013591508082111561219857600080fd5b506121a5878288016120fc565b95989497509550505050565b6000806000606084860312156121c657600080fd5b6121cf84612090565b95602085013595506040909401359392505050565b600080604083850312156121f757600080fd5b823561220281611f81565b9150602083013561221281611f81565b809150509250929050565b600181811c9082168061223157607f821691505b60208210810361225157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156109985761099861227c565b6000826122c257634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156122d957600080fd5b8151610ab181611f81565b60208082526006908201526510a7aba722a960d11b604082015260600190565b80820281158282048414176109985761099861227c565b634e487b7160e01b600052604160045260246000fd5b601f82111561135157600081815260208120601f850160051c810160208610156123585750805b601f850160051c820191505b8181101561237757828155600101612364565b505050505050565b67ffffffffffffffff8311156123975761239761231b565b6123ab836123a5835461221d565b83612331565b6000601f8411600181146123df57600085156123c75750838201355b600019600387901b1c1916600186901b178355610f8b565b600083815260209020601f19861690835b8281101561241057868501358255602094850194600190920191016123f0565b508682101561242d5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b808201808211156109985761099861227c565b6d02832b8329031b7bab73a32b91d160951b81526000825161247b81600e850160208701611f2a565b91909101600e0192915050565b815167ffffffffffffffff8111156124a2576124a261231b565b6124b6816124b0845461221d565b84612331565b602080601f8311600181146124eb57600084156124d35750858301515b600019600386901b1c1916600185901b178555612377565b600085815260208120601f198616915b8281101561251a578886015182559484019460019091019084016124fb565b50858210156125385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260ff8516602082015260a06040820152600061258060a0830186611fc2565b6001600160a01b0394909416606083015250608001529392505050565b600082516125af818460208701611f2a565b919091019291505056fea26469706673582212204757276332c4ae90e1c4283e37057ee5454177e192e162bbff13db917c328b5164736f6c63430008130033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef