[ { "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": [], "name": "AutoNukeLP", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sniper", "type": "address" } ], "name": "BoughtEarly", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [], "name": "ManualNukeLP", "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": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "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": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "devWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "marketingWalletUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "account", "type": "address" }, { "internalType": "bool", "name": "isBlacklisted", "type": "bool" } ], "name": "blacklistAccount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "buyDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_DevFee", "type": "uint256" } ], "name": "changeBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "changeDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newMarketingWallet", "type": "address" } ], "name": "changeMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_DevFee", "type": "uint256" } ], "name": "changeSellFees", "outputs": [], "stateMutability": "nonpayable", "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": "disableTransferDelay", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableEarlySellTax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "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": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "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": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "onoff", "type": "bool" } ], "name": "setEarlySellTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "setMaxTransactionAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "setSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "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": "tokensForDev", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarketing", "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": [], "name": "transferDelayEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "updateAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526019805464ffffffffff19166401010000011790553480156200002657600080fd5b50604080518082018252600a81526909acadacae69edc8ae8d60b31b6020808301918252835180850190945260058452644d454d455360d81b90840152815191929162000076916003916200074f565b5080516200008c9060049060208401906200074f565b5050506000620000a16200046b60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d620001118160016200046f565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200015c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001829190620007f5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f69190620007f5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026a9190620007f5565b6001600160a01b031660a0819052620002859060016200046f565b60a05162000295906001620004e9565b600080600a81808281620002ab60128362000933565b620002bb9063041cdb406200094b565b90506064620002cc8260026200094b565b620002d891906200096d565b6016556064620002ea8260026200094b565b620002f691906200096d565b6018556127106200030982600a6200094b565b6200031591906200096d565b6017556007879055600886905560098590558462000334878962000990565b62000340919062000990565b600655600b849055600c839055600d829055816200035f848662000990565b6200036b919062000990565b600a5560148054610100600160a81b031916742d70b2e4177037ce2e69a1aa72aeb3ef85c6d23e0017905560158054732d70b2e4177037ce2e69a1aa72aeb3ef85c6d23e6001600160a01b03199091168117909155620003df620003d76005546001600160a01b031690565b60016200053d565b620003ec3060016200053d565b620003fb61dead60016200053d565b620004088160016200053d565b620004276200041f6005546001600160a01b031690565b60016200046f565b620004343060016200046f565b6200044361dead60016200046f565b620004508160016200046f565b6200045c3383620005e7565b505050505050505050620009e7565b3390565b6005546001600160a01b03163314620004be5760405162461bcd60e51b815260206004820181905260248201526000805160206200385a83398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601e60205260409020805460ff1916911515919091179055565b6001600160a01b0382166000818152601f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314620005885760405162461bcd60e51b815260206004820181905260248201526000805160206200385a8339815191526044820152606401620004b5565b6001600160a01b0382166000818152601d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166200063f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004b5565b6200065b81600254620006e360201b620015ea1790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200068e918390620015ea620006e3821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600080620006f2838562000990565b905083811015620007465760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620004b5565b90505b92915050565b8280546200075d90620009ab565b90600052602060002090601f016020900481019282620007815760008555620007cc565b82601f106200079c57805160ff1916838001178555620007cc565b82800160010185558215620007cc579182015b82811115620007cc578251825591602001919060010190620007af565b50620007da929150620007de565b5090565b5b80821115620007da5760008155600101620007df565b6000602082840312156200080857600080fd5b81516001600160a01b03811681146200074657600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008775781600019048211156200085b576200085b62000820565b808516156200086957918102915b93841c93908002906200083b565b509250929050565b600082620008905750600162000749565b816200089f5750600062000749565b8160018114620008b85760028114620008c357620008e3565b600191505062000749565b60ff841115620008d757620008d762000820565b50506001821b62000749565b5060208310610133831016604e8410600b841016171562000908575081810a62000749565b62000914838362000836565b80600019048211156200092b576200092b62000820565b029392505050565b60006200094460ff8416836200087f565b9392505050565b600081600019048311821515161562000968576200096862000820565b500290565b6000826200098b57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620009a657620009a662000820565b500190565b600181811c90821680620009c057607f821691505b602082108103620009e157634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a051612e1562000a456000396000818161051701528181610cb801526119f20152600081816103e2015281816119b4015281816126d10152818161278a015281816127c601528181612840015261289c0152612e156000f3fe6080604052600436106103395760003560e01c806395d89b41116101ab578063bd8d8211116100f7578063dd62ed3e11610095578063f11a24d31161006f578063f11a24d3146109a7578063f2fde38b146109bd578063f6374342146109dd578063f8b45b05146109f357600080fd5b8063dd62ed3e14610936578063e2f456051461097c578063e884f2601461099257600080fd5b8063c876d0b9116100d1578063c876d0b9146108c8578063c8c8ebe4146108ea578063cd7b33ab14610900578063d85ba0631461092057600080fd5b8063bd8d821114610868578063c024666814610888578063c18bc195146108a857600080fd5b8063a457c2d711610164578063afa4f3b21161013e578063afa4f3b2146107d9578063b62496f5146107f9578063bb85c6d114610829578063bbc0c7421461084957600080fd5b8063a457c2d714610778578063a4d15b6414610798578063a9059cbb146107b957600080fd5b806395d89b41146106e15780639c3b4fdc146106f65780639fccce321461070c578063a0d82dc514610722578063a265777814610738578063a3d14e721461075857600080fd5b80634ec27aac11610285578063751039fc116102235780638a8c523c116101fd5780638a8c523c146106785780638da5cb5b1461068d57806392136913146106ab578063924de9b7146106c157600080fd5b8063751039fc1461062d5780637571336a146106425780637bce5a041461066257600080fd5b80636d7dce711161025f5780636d7dce71146105a85780636ddd1713146105c257806370a08231146105e2578063715018a61461061857600080fd5b80634ec27aac146105395780634fbee193146105595780636a486a8e1461059257600080fd5b80631e293c10116102f25780632d5a5d34116102cc5780632d5a5d34146104a9578063313ce567146104c957806339509351146104e557806349bd5a5e1461050557600080fd5b80631e293c10146104515780631f3fed8f1461047357806323b872dd1461048957600080fd5b806306fdde0314610345578063095ea7b31461037057806310d5de53146103a05780631694505e146103d057806318160ddd1461041c5780631a8145bb1461043b57600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a610a09565b6040516103679190612948565b60405180910390f35b34801561037c57600080fd5b5061039061038b3660046129b5565b610a9b565b6040519015158152602001610367565b3480156103ac57600080fd5b506103906103bb3660046129e1565b601e6020526000908152604090205460ff1681565b3480156103dc57600080fd5b506104047f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610367565b34801561042857600080fd5b506002545b604051908152602001610367565b34801561044757600080fd5b5061042d600f5481565b34801561045d57600080fd5b5061047161046c3660046129fe565b610ab2565b005b34801561047f57600080fd5b5061042d600e5481565b34801561049557600080fd5b506103906104a4366004612a17565b610b98565b3480156104b557600080fd5b506104716104c4366004612a68565b610c01565b3480156104d557600080fd5b5060405160128152602001610367565b3480156104f157600080fd5b506103906105003660046129b5565b610c56565b34801561051157600080fd5b506104047f000000000000000000000000000000000000000000000000000000000000000081565b34801561054557600080fd5b50610471610554366004612a68565b610c8c565b34801561056557600080fd5b506103906105743660046129e1565b6001600160a01b03166000908152601d602052604090205460ff1690565b34801561059e57600080fd5b5061042d600a5481565b3480156105b457600080fd5b506019546103909060ff1681565b3480156105ce57600080fd5b506019546103909062010000900460ff1681565b3480156105ee57600080fd5b5061042d6105fd3660046129e1565b6001600160a01b031660009081526020819052604090205490565b34801561062457600080fd5b50610471610d6b565b34801561063957600080fd5b50610390610ddf565b34801561064e57600080fd5b5061047161065d366004612a68565b610e1c565b34801561066e57600080fd5b5061042d60075481565b34801561068457600080fd5b50610471610e71565b34801561069957600080fd5b506005546001600160a01b0316610404565b3480156106b757600080fd5b5061042d600b5481565b3480156106cd57600080fd5b506104716106dc366004612a9d565b610eb2565b3480156106ed57600080fd5b5061035a610ef8565b34801561070257600080fd5b5061042d60095481565b34801561071857600080fd5b5061042d60105481565b34801561072e57600080fd5b5061042d600d5481565b34801561074457600080fd5b50610471610753366004612a9d565b610f07565b34801561076457600080fd5b50610471610773366004612ab8565b610f4f565b34801561078457600080fd5b506103906107933660046129b5565b610ff5565b3480156107a457600080fd5b50601954610390906301000000900460ff1681565b3480156107c557600080fd5b506103906107d43660046129b5565b611044565b3480156107e557600080fd5b506103906107f43660046129fe565b611051565b34801561080557600080fd5b506103906108143660046129e1565b601f6020526000908152604090205460ff1681565b34801561083557600080fd5b506104716108443660046129e1565b6111a8565b34801561085557600080fd5b5060195461039090610100900460ff1681565b34801561087457600080fd5b506104716108833660046129e1565b61123a565b34801561089457600080fd5b506104716108a3366004612a68565b6112c1565b3480156108b457600080fd5b506104716108c33660046129fe565b61134a565b3480156108d457600080fd5b5060195461039090640100000000900460ff1681565b3480156108f657600080fd5b5061042d60165481565b34801561090c57600080fd5b5061047161091b366004612ab8565b61141b565b34801561092c57600080fd5b5061042d60065481565b34801561094257600080fd5b5061042d610951366004612ae4565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561098857600080fd5b5061042d60175481565b34801561099e57600080fd5b506103906114be565b3480156109b357600080fd5b5061042d60085481565b3480156109c957600080fd5b506104716109d83660046129e1565b6114ff565b3480156109e957600080fd5b5061042d600c5481565b3480156109ff57600080fd5b5061042d60185481565b606060038054610a1890612b1d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4490612b1d565b8015610a915780601f10610a6657610100808354040283529160200191610a91565b820191906000526020600020905b815481529060010190602001808311610a7457829003601f168201915b5050505050905090565b6000610aa8338484611650565b5060015b92915050565b6005546001600160a01b03163314610ae55760405162461bcd60e51b8152600401610adc90612b57565b60405180910390fd5b670de0b6b3a76400006103e8610afa60025490565b610b05906001612ba2565b610b0f9190612bc1565b610b199190612bc1565b811015610b805760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b6064820152608401610adc565b610b9281670de0b6b3a7640000612ba2565b60165550565b6000610ba5848484611775565b610bf78433610bf285604051806060016040528060288152602001612d93602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061219f565b611650565b5060019392505050565b6005546001600160a01b03163314610c2b5760405162461bcd60e51b8152600401610adc90612b57565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610aa8918590610bf290866115ea565b6005546001600160a01b03163314610cb65760405162461bcd60e51b8152600401610adc90612b57565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610d5d5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610adc565b610d6782826121d9565b5050565b6005546001600160a01b03163314610d955760405162461bcd60e51b8152600401610adc90612b57565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546000906001600160a01b03163314610e0c5760405162461bcd60e51b8152600401610adc90612b57565b506019805460ff19169055600190565b6005546001600160a01b03163314610e465760405162461bcd60e51b8152600401610adc90612b57565b6001600160a01b03919091166000908152601e60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610e9b5760405162461bcd60e51b8152600401610adc90612b57565b436013556019805462ffff00191662010100179055565b6005546001600160a01b03163314610edc5760405162461bcd60e51b8152600401610adc90612b57565b60198054911515620100000262ff000019909216919091179055565b606060048054610a1890612b1d565b6005546001600160a01b03163314610f315760405162461bcd60e51b8152600401610adc90612b57565b6019805491151563010000000263ff00000019909216919091179055565b6005546001600160a01b03163314610f795760405162461bcd60e51b8152600401610adc90612b57565b600b839055600c829055600d81905580610f938385612be3565b610f9d9190612be3565b600a8181551015610ff05760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610adc565b505050565b6000610aa83384610bf285604051806060016040528060258152602001612dbb602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061219f565b6000610aa8338484611775565b6005546000906001600160a01b0316331461107e5760405162461bcd60e51b8152600401610adc90612b57565b620186a061108b60025490565b611096906001612ba2565b6110a09190612bc1565b82101561110d5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610adc565b6103e861111960025490565b611124906005612ba2565b61112e9190612bc1565b82111561119a5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610adc565b50601781905560015b919050565b6005546001600160a01b031633146111d25760405162461bcd60e51b8152600401610adc90612b57565b6014546040516001600160a01b036101009092048216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567490600090a3601480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546001600160a01b031633146112645760405162461bcd60e51b8152600401610adc90612b57565b6015546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3601580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146112eb5760405162461bcd60e51b8152600401610adc90612b57565b6001600160a01b0382166000818152601d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146113745760405162461bcd60e51b8152600401610adc90612b57565b670de0b6b3a76400006103e861138960025490565b611394906005612ba2565b61139e9190612bc1565b6113a89190612bc1565b8110156114035760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b6064820152608401610adc565b61141581670de0b6b3a7640000612ba2565b60185550565b6005546001600160a01b031633146114455760405162461bcd60e51b8152600401610adc90612b57565b6007839055600882905560098190558061145f8385612be3565b6114699190612be3565b6006819055600a1015610ff05760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610adc565b6005546000906001600160a01b031633146114eb5760405162461bcd60e51b8152600401610adc90612b57565b506019805464ff0000000019169055600190565b6005546001600160a01b031633146115295760405162461bcd60e51b8152600401610adc90612b57565b6001600160a01b03811661158e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610adc565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000806115f78385612be3565b9050838110156116495760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610adc565b9392505050565b6001600160a01b0383166116b25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610adc565b6001600160a01b0382166117135760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610adc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661179b5760405162461bcd60e51b8152600401610adc90612bfb565b6001600160a01b0382166117c15760405162461bcd60e51b8152600401610adc90612c40565b6001600160a01b0382166000908152601c602052604090205460ff1615801561180357506001600160a01b0383166000908152601c602052604090205460ff16155b6118695760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b6064820152608401610adc565b8060000361187d57610ff08383600061222d565b60195460ff1615611d3c576005546001600160a01b038481169116148015906118b457506005546001600160a01b03838116911614155b80156118c857506001600160a01b03821615155b80156118df57506001600160a01b03821661dead14155b80156118ee575060145460ff16155b15611d3c57601954610100900460ff16611986576001600160a01b0383166000908152601d602052604090205460ff168061194157506001600160a01b0382166000908152601d602052604090205460ff165b6119865760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610adc565b601954640100000000900460ff1615611ad6576005546001600160a01b038381169116148015906119e957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015611a2757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15611ad657326000908152601a6020526040902054431015611ac35760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610adc565b326000908152601a602052604090204390555b6001600160a01b0382166000908152601f602052604090205460ff168015611b1757506001600160a01b0383166000908152601e602052604090205460ff16155b15611b9257601654811115611b8d5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610adc565b611d3c565b6001600160a01b0383166000908152601f602052604090205460ff168015611bd357506001600160a01b0382166000908152601e602052604090205460ff16155b15611cb2576018546001600160a01b038316600090815260208190526040902054611bfe9083612be3565b1115611c425760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610adc565b601654811115611b8d5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610adc565b6001600160a01b0382166000908152601e602052604090205460ff16611d3c576018546001600160a01b038316600090815260208190526040902054611cf89083612be3565b1115611d3c5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610adc565b30600090815260208181526040808320546017546001600160a01b0388168552601d909352922054908210159060ff16158015611d9257506001600160a01b0384166000908152601d602052604090205460ff16155b8015611da1575060145460ff16155b8015611dc657506001600160a01b0385166000908152601f602052604090205460ff16155b8015611dcf5750805b8015611de3575060195462010000900460ff165b15611e08576014805460ff19166001179055611dfd612336565b6014805460ff191690555b6014546001600160a01b0386166000908152601d602052604090205460ff91821615911680611e4f57506001600160a01b0385166000908152601d602052604090205460ff165b15611e58575060005b600081156120ba576001600160a01b0386166000908152601f602052604090205460ff1615611f9857611ea16064611e9b600a548861257490919063ffffffff16565b906125f6565b9050601154600b54611eb39190612c83565b601255600a5415611f5457600a54600c54611ece9083612ba2565b611ed89190612bc1565b600f6000828254611ee99190612be3565b9091555050600a54600d54611efe9083612ba2565b611f089190612bc1565b60106000828254611f199190612be3565b9091555050600a54600b54611f2e9083612ba2565b611f389190612bc1565b600e6000828254611f499190612be3565b909155506120989050565b80600f6000828254611f669190612be3565b925050819055508060106000828254611f7f9190612be3565b9250508190555080600e6000828254611f499190612be3565b6001600160a01b0387166000908152601f602052604090205460ff161561209857611fd36064611e9b6006548861257490919063ffffffff16565b6006549091501561204e57600654600854611fee9083612ba2565b611ff89190612bc1565b600f60008282546120099190612be3565b909155505060065460095461201e9083612ba2565b6120289190612bc1565b601060008282546120399190612be3565b9091555050600654600754611f2e9083612ba2565b80600f60008282546120609190612be3565b9250508190555080601060008282546120799190612be3565b9250508190555080600e60008282546120929190612be3565b90915550505b80156120a9576120a987308361222d565b6120b38186612c83565b9450612194565b6001600160a01b0386166000908152601f602052604090205460ff161561213e57846120fb886001600160a01b031660009081526020819052604090205490565b10801561212057506001600160a01b0387166000908152601d602052604090205460ff165b156121395761213086888761222d565b50505050505050565b612194565b6001600160a01b038616301480159061215957506017548510155b801561217d57506001600160a01b0386166000908152601d602052604090205460ff165b1561219457600654612190906001612be3565b6011555b61213087878761222d565b600081848411156121c35760405162461bcd60e51b8152600401610adc9190612948565b5060006121d08486612c83565b95945050505050565b6001600160a01b0382166000818152601f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166122535760405162461bcd60e51b8152600401610adc90612bfb565b6001600160a01b0382166122795760405162461bcd60e51b8152600401610adc90612c40565b6122b681604051806060016040528060268152602001612d6d602691396001600160a01b038616600090815260208190526040902054919061219f565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546122e590826115ea565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611768565b3060009081526020819052604081205490506000601054600e54600f5461235d9190612be3565b6123679190612be3565b90506000821580612376575081155b1561238057505050565b60175461238e906014612ba2565b8311156123a6576017546123a3906014612ba2565b92505b6000600283600f54866123b99190612ba2565b6123c39190612bc1565b6123cd9190612bc1565b905060006123db8583612638565b9050476123e78261267a565b60006123f34783612638565b9050600061241087611e9b600e548561257490919063ffffffff16565b9050600061242d88611e9b6010548661257490919063ffffffff16565b905060008161243c8486612c83565b6124469190612c83565b6000600f819055600e81905560108190556015546040519293506001600160a01b031691849181818185875af1925050503d80600081146124a3576040519150601f19603f3d011682016040523d82523d6000602084013e6124a8565b606091505b509098505086158015906124bc5750600081115b1561250f576124cb878261283a565b600f54604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6014546040516101009091046001600160a01b0316904790600081818185875af1925050503d8060008114612560576040519150601f19603f3d011682016040523d82523d6000602084013e612565565b606091505b50505050505050505050505050565b60008260000361258657506000610aac565b60006125928385612ba2565b90508261259f8583612bc1565b146116495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610adc565b600061164983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061291a565b600061164983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061219f565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106126af576126af612c9a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561272d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127519190612cb0565b8160018151811061276457612764612c9a565b60200260200101906001600160a01b031690816001600160a01b0316815250506127af307f000000000000000000000000000000000000000000000000000000000000000084611650565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790612804908590600090869030904290600401612ccd565b600060405180830381600087803b15801561281e57600080fd5b505af1158015612832573d6000803e3d6000fd5b505050505050565b612865307f000000000000000000000000000000000000000000000000000000000000000084611650565b60405163f305d71960e01b8152306004820181905260248201849052600060448301819052606483015260848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f305d71990839060c40160606040518083038185885af11580156128ee573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906129139190612d3e565b5050505050565b6000818361293b5760405162461bcd60e51b8152600401610adc9190612948565b5060006121d08486612bc1565b600060208083528351808285015260005b8181101561297557858101830151858201604001528201612959565b81811115612987576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146129b257600080fd5b50565b600080604083850312156129c857600080fd5b82356129d38161299d565b946020939093013593505050565b6000602082840312156129f357600080fd5b81356116498161299d565b600060208284031215612a1057600080fd5b5035919050565b600080600060608486031215612a2c57600080fd5b8335612a378161299d565b92506020840135612a478161299d565b929592945050506040919091013590565b803580151581146111a357600080fd5b60008060408385031215612a7b57600080fd5b8235612a868161299d565b9150612a9460208401612a58565b90509250929050565b600060208284031215612aaf57600080fd5b61164982612a58565b600080600060608486031215612acd57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215612af757600080fd5b8235612b028161299d565b91506020830135612b128161299d565b809150509250929050565b600181811c90821680612b3157607f821691505b602082108103612b5157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612bbc57612bbc612b8c565b500290565b600082612bde57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115612bf657612bf6612b8c565b500190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600082821015612c9557612c95612b8c565b500390565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612cc257600080fd5b81516116498161299d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612d1d5784516001600160a01b031683529383019391830191600101612cf8565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612d5357600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122040f9ac52026ced2fbe6be01c6c3ec1d2327301118c5d9baed538fb5f2a17dc6364736f6c634300080d00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572