[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "buyTax", "type": "uint256" } ], "name": "BuyTaxesUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "wallet", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "EthClaimed", "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": "uint256", "name": "sellTax", "type": "uint256" } ], "name": "SellTaxesUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldTaxWallet1", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newTaxWallet1", "type": "address" } ], "name": "TaxWallet1Transferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldTaxWallet2", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newTaxWallet2", "type": "address" } ], "name": "TaxWallet2Transferred", "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": "uint256", "name": "fee", "type": "uint256" } ], "name": "collectedFee", "type": "event" }, { "anonymous": false, "inputs": [], "name": "disabledTrading", "type": "event" }, { "anonymous": false, "inputs": [], "name": "enabledTrading", "type": "event" }, { "inputs": [ { "internalType": "address[]", "name": "blacklistedAddresses", "type": "address[]" } ], "name": "addToBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "blacklist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTax", "outputs": [ { "internalType": "uint256", "name": "marketing", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "claimStuckERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "claimStuckEth", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromTaxes", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxAmountPerTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletAmount", "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": "address[]", "name": "blacklistedAddresses", "type": "address[]" } ], "name": "removeFromBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceTaxWallet1", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceTaxWallet2", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellTax", "outputs": [ { "internalType": "uint256", "name": "marketing", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setExcludeFromTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" } ], "name": "setMaxAmountPerTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" } ], "name": "setMaxWalletPercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokens", "type": "uint256" } ], "name": "setSwapTokensAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newTaxWallet1", "type": "address" }, { "internalType": "address", "name": "newTaxWallet2", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "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": "taxWallet1", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxWallet2", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSellTax", "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": "trading", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newTaxWallet1", "type": "address" } ], "name": "transferTaxWallet1", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newTaxWallet2", "type": "address" } ], "name": "transferTaxWallet2", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c060405261001b60c86b033b2e3c9fd0803ce8000000610d2c565b60085561003560c86b033b2e3c9fd0803ce8000000610d2c565b600955610051620186a06b033b2e3c9fd0803ce8000000610d2c565b600a5534801561005f575f80fd5b50336040518060400160405280600a81526020016926a0a3a09020b3b0b4b760b11b815250604051806040016040528060058152602001644d4147414160d81b81525081600390816100b19190610ddb565b5060046100be8282610ddb565b5050506001600160a01b0381166100ef57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100f881610375565b50737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052600680546001600160a01b03199081167365a3da951eba111c48a154b03beaa4159c3ec53c17909155600780549091167336c5d9f56d50b39666a0e71dacf2d7ebbcb540041790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610194573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b89190610e9a565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610205573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102299190610e9a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610273573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102979190610e9a565b6001600160a01b0390811660a0526040805160208082018352606491829052600e829055601082905582518082018452829052600f829055601191909155305f908152600c909152818120805460ff1990811660019081179092553380845284842080548316841790557f13649b2456f1b42fef0f0040b3aaeabcd21a76a0f3f5defd4f583839455116e88054831684179055600654861684528484208054831684179055600754909516835292909120805483169091179055600b80549091169055610370906b033b2e3c9fd0803ce80000006103c6565b611041565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382166103ef5760405163ec442f0560e01b81525f60048201526024016100e6565b6103fa5f83836103fe565b5050565b6001600160a01b0383165f908152600d602052604090205460ff168061043b57506001600160a01b0382165f908152600d602052604090205460ff165b156104885760405162461bcd60e51b815260206004820181905260248201527f4164647265737320697320626c61636b6c69737465642c2061626f7274696e6760448201526064016100e6565b600b5460ff16806104b057506001600160a01b0383165f908152600c602052604090205460ff165b806104d257506001600160a01b0382165f908152600c602052604090205460ff165b8061050e57506080516001600160a01b0316836001600160a01b031614801561050e575060a0516001600160a01b0316826001600160a01b0316145b8061054a57506080516001600160a01b0316826001600160a01b031614801561054a575060a0516001600160a01b0316836001600160a01b0316145b6105a85760405162461bcd60e51b815260206004820152602960248201527f54726164696e672064697361626c65642c206f6e6c79206f776e65722063616e604482015268103a3930b739b332b960b91b60648201526084016100e6565b6001600160a01b0383165f908152600c602052604090205460ff16806105e557506001600160a01b0382165f908152600c602052604090205460ff165b1580156105f45750600b5460ff165b156107fc575f60a0516001600160a01b0316836001600160a01b031614610688576009546001600160a01b0384165f9081526020819052604090205461063a9084610ec7565b11156106885760405162461bcd60e51b815260206004820152601c60248201527f4d6178206c696d6974207065722077616c6c657420726561636865640000000060448201526064016100e6565b60a0516001600160a01b0316846001600160a01b031603610720576008548211156106f55760405162461bcd60e51b815260206004820152601e60248201527f4d61782062757920616d6f756e7420706572205478206578636565646564000060448201526064016100e6565b6010541561071b576127106010548361070e9190610eda565b6107189190610d2c565b90505b6107b3565b60a0516001600160a01b0316836001600160a01b0316036107b35760085482111561078d5760405162461bcd60e51b815260206004820152601f60248201527f4d61782073656c6c20616d6f756e74207065722054782065786365656465640060448201526064016100e6565b601154156107b357612710601154836107a69190610eda565b6107b09190610d2c565b90505b60405181907f946cf2ce5ccac152682786d5f6b2e2dcfd804ab709002314d1d3b7dd2122f837905f90a26107e78183610ef1565b915080156107fa576107fa8430836108b0565b505b305f9081526020819052604081205490505f600a548210158015610834575060a0516001600160a01b0316856001600160a01b031614155b801561085857506001600160a01b0385165f908152600c602052604090205460ff16155b8015610867575060125460ff16155b80156108755750600b5460ff165b9050801561089e576012805460ff19166001179055610893826109d6565b6012805460ff191690555b6108a98585856108b0565b5050505050565b6001600160a01b0383166108da578060025f8282546108cf9190610ec7565b9091555061094a9050565b6001600160a01b0383165f908152602081905260409020548181101561092c5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100e6565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661096657600280548290039055610984565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109c991815260200190565b60405180910390a3505050565b5f60105411806109e757505f601154115b80156109f257505f81115b15610a7c57610a0081610a7f565b4715610a7c576006546001600160a01b03166108fc610a20600247610d2c565b6040518115909202915f818181858888f19350505050158015610a45573d5f803e3d5ffd5b506007546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156103fa573d5f803e3d5ffd5b50565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ab257610ab2610f04565b60200260200101906001600160a01b031690816001600160a01b0316815250506080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b349190610e9a565b81600181518110610b4757610b47610f04565b60200260200101906001600160a01b031690816001600160a01b03168152505081610b7a30608051610c1160201b60201c565b1015610b9457610b94306080515f19610c3d60201b60201c565b6080516001600160a01b03166318cbafe5835f8430426040518663ffffffff1660e01b8152600401610bca959493929190610f18565b5f604051808303815f875af1158015610be5573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c0c9190810190610f89565b505050565b6001600160a01b038083165f908152600160209081526040808320938516835292905220545b92915050565b610c0c83838360016001600160a01b038416610c6e5760405163e602df0560e01b81525f60048201526024016100e6565b6001600160a01b038316610c9757604051634a1406b160e11b81525f60048201526024016100e6565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610d1257826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d0991815260200190565b60405180910390a35b50505050565b634e487b7160e01b5f52601160045260245ffd5b5f82610d4657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680610d7357607f821691505b602082108103610d9157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c0c57805f5260205f20601f840160051c81016020851015610dbc5750805b601f840160051c820191505b818110156108a9575f8155600101610dc8565b81516001600160401b03811115610df457610df4610d4b565b610e0881610e028454610d5f565b84610d97565b602080601f831160018114610e3b575f8415610e245750858301515b5f19600386901b1c1916600185901b178555610e92565b5f85815260208120601f198616915b82811015610e6957888601518255948401946001909101908401610e4a565b5085821015610e8657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215610eaa575f80fd5b81516001600160a01b0381168114610ec0575f80fd5b9392505050565b80820180821115610c3757610c37610d18565b8082028115828204841417610c3757610c37610d18565b81810381811115610c3757610c37610d18565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015610f685784516001600160a01b031683529383019391830191600101610f43565b50506001600160a01b03969096166060850152505050608001529392505050565b5f6020808385031215610f9a575f80fd5b82516001600160401b0380821115610fb0575f80fd5b818501915085601f830112610fc3575f80fd5b815181811115610fd557610fd5610d4b565b8060051b604051601f19603f83011681018181108582111715610ffa57610ffa610d4b565b604052918252848201925083810185019188831115611017575f80fd5b938501935b828510156110355784518452938501939285019261101c565b98975050505050505050565b60805160a05161246c6110b65f395f81816105d3015281816115fa015281816116720152818161175801528181611804015281816118ba01526119d301525f81816102b6015281816115be0152818161163601528181611cf301528181611dab01528181611ddb0152611e18015261246c5ff3fe608060405260043610610241575f3560e01c806389daf79911610134578063cbe2de71116100b3578063e39111ab11610078578063e39111ab1461067d578063ec44acf21461069c578063f26a9816146106b5578063f2fde38b146106d4578063f9f92be4146106f3578063fba62f5e14610721575f80fd5b8063cbe2de71146105f5578063cc1776d314610614578063d3f6a1571461062a578063dd62ed3e14610649578063e2f4560514610668575f80fd5b8063a9059cbb116100f9578063a9059cbb14610550578063aa4bde281461056f578063afa4f3b214610584578063c345c4d5146105a3578063c816841b146105c2575f80fd5b806389daf799146104cd5780638a8c523c146104ec5780638da5cb5b14610500578063935eb35f1461051d57806395d89b411461053c575f80fd5b80633d8f0453116101c057806370a082311161018557806370a082311461043d578063715018a6146104715780637a9590761461048557806382bf293c1461049957806385b27c85146104b8575f80fd5b80633d8f0453146103b557806346469afb146103d45780634f7041a5146103e95780635b58741b146103ff5780636eb3a90f1461041e575f80fd5b80631bff7898116102065780631bff78981461032457806323b872dd1461033957806327b07d7514610358578063313ce5671461038657806333096098146103a1575f80fd5b806306fdde031461024c578063095ea7b3146102765780631694505e146102a557806317700f01146102f057806318160ddd14610306575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b50610260610740565b60405161026d9190611e97565b60405180910390f35b348015610281575f80fd5b50610295610290366004611ee0565b6107d0565b604051901515815260200161026d565b3480156102b0575f80fd5b506102d87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161026d565b3480156102fb575f80fd5b506103046107e9565b005b348015610311575f80fd5b506002545b60405190815260200161026d565b34801561032f575f80fd5b5061031660115481565b348015610344575f80fd5b50610295610353366004611f0a565b610825565b348015610363575f80fd5b50610295610372366004611f48565b600c6020525f908152604090205460ff1681565b348015610391575f80fd5b506040516012815260200161026d565b3480156103ac575f80fd5b50610304610848565b3480156103c0575f80fd5b506103046103cf366004611f6a565b6108b6565b3480156103df575f80fd5b5061031660105481565b3480156103f4575f80fd5b50600e546103169081565b34801561040a575f80fd5b50610304610419366004611fb6565b6109b7565b348015610429575f80fd5b50610304610438366004611f48565b610a3f565b348015610448575f80fd5b50610316610457366004611f48565b6001600160a01b03165f9081526020819052604090205490565b34801561047c575f80fd5b50610304610b18565b348015610490575f80fd5b50610304610b32565b3480156104a4575f80fd5b506103046104b3366004611fed565b610b97565b3480156104c3575f80fd5b5061031660085481565b3480156104d8575f80fd5b506103046104e7366004612004565b610c31565b3480156104f7575f80fd5b50610304610ca2565b34801561050b575f80fd5b506005546001600160a01b03166102d8565b348015610528575f80fd5b50610304610537366004612004565b610ce1565b348015610547575f80fd5b50610260610dfa565b34801561055b575f80fd5b5061029561056a366004611ee0565b610e09565b34801561057a575f80fd5b5061031660095481565b34801561058f575f80fd5b5061030461059e366004611fed565b610e16565b3480156105ae575f80fd5b506103046105bd366004611f48565b610e7b565b3480156105cd575f80fd5b506102d87f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506007546102d8906001600160a01b031681565b34801561061f575f80fd5b50600f546103169081565b348015610635575f80fd5b50610304610644366004612073565b610fc0565b348015610654575f80fd5b50610316610663366004612073565b6110c4565b348015610673575f80fd5b50610316600a5481565b348015610688575f80fd5b506006546102d8906001600160a01b031681565b3480156106a7575f80fd5b50600b546102959060ff1681565b3480156106c0575f80fd5b506103046106cf366004611fed565b6110ee565b3480156106df575f80fd5b506103046106ee366004611f48565b61117e565b3480156106fe575f80fd5b5061029561070d366004611f48565b600d6020525f908152604090205460ff1681565b34801561072c575f80fd5b5061030461073b366004611f48565b6111ef565b60606003805461074f9061209f565b80601f016020809104026020016040519081016040528092919081815260200182805461077b9061209f565b80156107c65780601f1061079d576101008083540402835291602001916107c6565b820191905f5260205f20905b8154815290600101906020018083116107a957829003601f168201915b5050505050905090565b5f336107dd8185856112c8565b60019150505b92915050565b6107f16112d5565b600b805460ff191690556040517f822119f1d1dbfeb2dca7218674b3bfc8047a99f0149d5812b12daae7a2f62712905f90a1565b5f33610832858285611302565b61083d858585611365565b506001949350505050565b6006546001600160a01b0316331461087b5760405162461bcd60e51b8152600401610872906120d7565b60405180910390fd5b600680546001600160a01b03165f908152600c60205260408120805460ff1916905581546001600160a01b031916909155600e819055601055565b6006546001600160a01b03163314806108d957506007546001600160a01b031633145b6108f55760405162461bcd60e51b81526004016108729061211f565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284915f9183169063a9059cbb906044016020604051808303815f875af1158015610945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109699190612166565b9050806109b05760405162461bcd60e51b8152602060048201526015602482015274115490cc8c081d1c985b9cd9995c8819985a5b1959605a1b6044820152606401610872565b5050505050565b6109bf6112d5565b6001600160a01b038216610a155760405162461bcd60e51b815260206004820152601f60248201527f4163636f756e74206d757374206e6f74206265203078302061646472657373006044820152606401610872565b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b6006546001600160a01b03163314610a695760405162461bcd60e51b8152600401610872906120d7565b6001600160a01b038116610a8f5760405162461bcd60e51b815260040161087290612181565b600680546001600160a01b039081165f908152600c6020526040808220805460ff199081169091558584168084528284208054909216600117909155935490519216917fcaf4855279e6519140a8d4af190e14fadc5174e7311356c2c3b57baa050811319190a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b610b206112d5565b610b28610ca2565b610b306113c2565b565b6007546001600160a01b03163314610b5c5760405162461bcd60e51b8152600401610872906121c9565b600780546001600160a01b03165f908152600c60205260408120805460ff1916905581546001600160a01b031916909155600f819055601155565b610b9f6112d5565b60018110158015610bb257508061271010155b610c085760405162461bcd60e51b815260206004820152602160248201527f4d61782077616c6c657420616d6f756e74206973206f7574206f662072616e676044820152606560f81b6064820152608401610872565b612710610c21826b033b2e3c9fd0803ce8000000612225565b610c2b919061223c565b60095550565b610c396112d5565b5f5b81811015610c9d575f600d5f858585818110610c5957610c5961225b565b9050602002016020810190610c6e9190611f48565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610c3b565b505050565b610caa6112d5565b600b805460ff191660011790556040517fa62ccc2c5bc0b8eb49b01f78e5ca0c296b739ecac1c21b7b74793559450bf45a905f90a1565b610ce96112d5565b5f5b81811015610c9d57600c5f848484818110610d0857610d0861225b565b9050602002016020810190610d1d9190611f48565b6001600160a01b0316815260208101919091526040015f205460ff1615610d9f5760405162461bcd60e51b815260206004820152603060248201527f41646472657373206973206578636c756465642066726f6d2074617865732c2060448201526f18d85b9b9bdd08189b1858dadb1a5cdd60821b6064820152608401610872565b6001600d5f858585818110610db657610db661225b565b9050602002016020810190610dcb9190611f48565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610ceb565b60606004805461074f9061209f565b5f336107dd818585611365565b610e1e6112d5565b683635c9adc5dea000008111610e765760405162461bcd60e51b815260206004820152601f60248201527f4d696e696d756d206f66203130303020746f6b656e73207265717569726564006044820152606401610872565b600a55565b6006546001600160a01b0316331480610e9e57506007546001600160a01b031633145b610eba5760405162461bcd60e51b81526004016108729061211f565b6001600160a01b038116610f105760405162461bcd60e51b815260206004820152601e60248201527f57616c6c6574206d757374206e6f7420626520307830206164647265737300006044820152606401610872565b4780610f535760405162461bcd60e51b815260206004820152601260248201527127379022aa24103a37903a3930b739b332b960711b6044820152606401610872565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610f86573d5f803e3d5ffd5b5060405181906001600160a01b038416907f0d7976053781e071cecf47e898ad2a6dc87621ca33734e96eb4b92453319e8c9905f90a35050565b610fc86112d5565b6001600160a01b038216610fee5760405162461bcd60e51b815260040161087290612181565b6001600160a01b0381166110145760405162461bcd60e51b81526004016108729061226f565b6006546040516001600160a01b038085169216907fcaf4855279e6519140a8d4af190e14fadc5174e7311356c2c3b57baa05081131905f90a3600680546001600160a01b0319166001600160a01b03848116919091179091556007546040518383169291909116907f46233802773a6f8b6255846521d8ea859df177f1a116429fbd4a81de50cbec3d905f90a3600780546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6110f66112d5565b6001811015801561110957508061271010155b6111555760405162461bcd60e51b815260206004820152601e60248201527f4d617820616d6f756e7420706572205458206f7574206f662072616e676500006044820152606401610872565b61271061116e826b033b2e3c9fd0803ce8000000612225565b611178919061223c565b60085550565b6111866112d5565b5f600c5f61119c6005546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556111cc816113d3565b6001600160a01b03165f908152600c60205260409020805460ff19166001179055565b6007546001600160a01b031633146112195760405162461bcd60e51b8152600401610872906121c9565b6001600160a01b03811661123f5760405162461bcd60e51b81526004016108729061226f565b600780546001600160a01b039081165f908152600c6020526040808220805460ff199081169091558584168084528284208054909216600117909155935490519216917f46233802773a6f8b6255846521d8ea859df177f1a116429fbd4a81de50cbec3d9190a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b610c9d8383836001611410565b6005546001600160a01b03163314610b305760405163118cdaa760e01b8152336004820152602401610872565b5f61130d84846110c4565b90505f19811461135f578181101561135157604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610872565b61135f84848484035f611410565b50505050565b6001600160a01b03831661138e57604051634b637e8f60e11b81525f6004820152602401610872565b6001600160a01b0382166113b75760405163ec442f0560e01b81525f6004820152602401610872565b610c9d8383836114e2565b6113ca6112d5565b610b305f611a7d565b6113db6112d5565b6001600160a01b03811661140457604051631e4fbdf760e01b81525f6004820152602401610872565b61140d81611a7d565b50565b6001600160a01b0384166114395760405163e602df0560e01b81525f6004820152602401610872565b6001600160a01b03831661146257604051634a1406b160e11b81525f6004820152602401610872565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561135f57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516114d491815260200190565b60405180910390a350505050565b6001600160a01b0383165f908152600d602052604090205460ff168061151f57506001600160a01b0382165f908152600d602052604090205460ff165b1561156c5760405162461bcd60e51b815260206004820181905260248201527f4164647265737320697320626c61636b6c69737465642c2061626f7274696e676044820152606401610872565b600b5460ff168061159457506001600160a01b0383165f908152600c602052604090205460ff165b806115b657506001600160a01b0382165f908152600c602052604090205460ff165b8061162e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614801561162e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b806116a657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480156116a657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316145b6117045760405162461bcd60e51b815260206004820152602960248201527f54726164696e672064697361626c65642c206f6e6c79206f776e65722063616e604482015268103a3930b739b332b960b91b6064820152608401610872565b6001600160a01b0383165f908152600c602052604090205460ff168061174157506001600160a01b0382165f908152600c602052604090205460ff165b1580156117505750600b5460ff165b156119b2575f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614611802576009546001600160a01b0384165f908152602081905260409020546117b490846122b7565b11156118025760405162461bcd60e51b815260206004820152601c60248201527f4d6178206c696d6974207065722077616c6c65742072656163686564000000006044820152606401610872565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316036118b85760085482111561188d5760405162461bcd60e51b815260206004820152601e60248201527f4d61782062757920616d6f756e742070657220547820657863656564656400006044820152606401610872565b601054156118b357612710601054836118a69190612225565b6118b0919061223c565b90505b611969565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611969576008548211156119435760405162461bcd60e51b815260206004820152601f60248201527f4d61782073656c6c20616d6f756e7420706572205478206578636565646564006044820152606401610872565b60115415611969576127106011548361195c9190612225565b611966919061223c565b90505b60405181907f946cf2ce5ccac152682786d5f6b2e2dcfd804ab709002314d1d3b7dd2122f837905f90a261199d81836122ca565b915080156119b0576119b0843083611ace565b505b305f9081526020819052604081205490505f600a548210158015611a0857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b8015611a2c57506001600160a01b0385165f908152600c602052604090205460ff16155b8015611a3b575060125460ff16155b8015611a495750600b5460ff165b90508015611a72576012805460ff19166001179055611a6782611bf4565b6012805460ff191690555b6109b0858585611ace565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038316611af8578060025f828254611aed91906122b7565b90915550611b689050565b6001600160a01b0383165f9081526020819052604090205481811015611b4a5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610872565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216611b8457600280548290039055611ba2565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611be791815260200190565b60405180910390a3505050565b5f6010541180611c0557505f601154115b8015611c1057505f81115b1561140d57611c1e81611c9e565b471561140d576006546001600160a01b03166108fc611c3e60024761223c565b6040518115909202915f818181858888f19350505050158015611c63573d5f803e3d5ffd5b506007546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611c9a573d5f803e3d5ffd5b5050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611cd157611cd161225b565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d4d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d7191906122f1565b81600181518110611d8457611d8461225b565b60200260200101906001600160a01b031690816001600160a01b03168152505081611dcf307f00000000000000000000000000000000000000000000000000000000000000006110c4565b1015611e0157611e01307f00000000000000000000000000000000000000000000000000000000000000005f196112c8565b6040516318cbafe560e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906318cbafe590611e559085905f9086903090429060040161230c565b5f604051808303815f875af1158015611e70573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c9d919081019061237d565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461140d575f80fd5b5f8060408385031215611ef1575f80fd5b8235611efc81611ecc565b946020939093013593505050565b5f805f60608486031215611f1c575f80fd5b8335611f2781611ecc565b92506020840135611f3781611ecc565b929592945050506040919091013590565b5f60208284031215611f58575f80fd5b8135611f6381611ecc565b9392505050565b5f805f60608486031215611f7c575f80fd5b8335611f8781611ecc565b9250602084013591506040840135611f9e81611ecc565b809150509250925092565b801515811461140d575f80fd5b5f8060408385031215611fc7575f80fd5b8235611fd281611ecc565b91506020830135611fe281611fa9565b809150509250929050565b5f60208284031215611ffd575f80fd5b5035919050565b5f8060208385031215612015575f80fd5b823567ffffffffffffffff8082111561202c575f80fd5b818501915085601f83011261203f575f80fd5b81358181111561204d575f80fd5b8660208260051b8501011115612061575f80fd5b60209290920196919550909350505050565b5f8060408385031215612084575f80fd5b823561208f81611ecc565b91506020830135611fe281611ecc565b600181811c908216806120b357607f821691505b6020821081036120d157634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526028908201527f4f6e6c79205461782057616c6c657420312063616e2063616c6c207468697320604082015267333ab731ba34b7b760c11b606082015260800190565b60208082526027908201527f4f6e6c79205461782057616c6c6574732063616e2063616c6c207468697320666040820152663ab731ba34b7b760c91b606082015260800190565b5f60208284031215612176575f80fd5b8151611f6381611fa9565b60208082526028908201527f4e6577205461782057616c6c65742031206d757374206e6f7420626520307830604082015267206164647265737360c01b606082015260800190565b60208082526028908201527f4f6e6c79205461782057616c6c657420322063616e2063616c6c207468697320604082015267333ab731ba34b7b760c11b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107e3576107e3612211565b5f8261225657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b60208082526028908201527f4e6577205461782057616c6c65742032206d757374206e6f7420626520307830604082015267206164647265737360c01b606082015260800190565b808201808211156107e3576107e3612211565b818103818111156107e3576107e3612211565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215612301575f80fd5b8151611f6381611ecc565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561235c5784516001600160a01b031683529383019391830191600101612337565b50506001600160a01b03969096166060850152505050608001529392505050565b5f602080838503121561238e575f80fd5b825167ffffffffffffffff808211156123a5575f80fd5b818501915085601f8301126123b8575f80fd5b8151818111156123ca576123ca6122dd565b8060051b604051601f19603f830116810181811085821117156123ef576123ef6122dd565b60405291825284820192508381018501918883111561240c575f80fd5b938501935b8285101561242a57845184529385019392850192612411565b9897505050505050505056fea26469706673582212205f78b4419173ae8e113d6c6c6b2c9afe5c647c60356d718efeaf5cf10ae1c37d64736f6c63430008190033