[ { "inputs": [ { "internalType": "address", "name": "_currentRouter", "type": "address" }, { "internalType": "uint256", "name": "_startingSupply", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "ContractSwapEnabledUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "sniperAddress", "type": "address" } ], "name": "SniperCaught", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TransferFees", "type": "event" }, { "inputs": [], "name": "DEAD", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_ratios", "outputs": [ { "internalType": "uint16", "name": "rewards", "type": "uint16" }, { "internalType": "uint16", "name": "liquidity", "type": "uint16" }, { "internalType": "uint16", "name": "metaFund", "type": "uint16" }, { "internalType": "uint16", "name": "treasury", "type": "uint16" }, { "internalType": "uint16", "name": "total", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxRates", "outputs": [ { "internalType": "uint16", "name": "buyFee", "type": "uint16" }, { "internalType": "uint16", "name": "sellFee", "type": "uint16" }, { "internalType": "uint16", "name": "transferFee", "type": "uint16" }, { "internalType": "uint16", "name": "protocolFee", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "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": [], "name": "approveContractContingency", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "ascend_membership", "outputs": [ { "internalType": "contract IERC721", "name": "", "type": "address" } ], "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": "router", "type": "address" } ], "name": "changeRouterContingency", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "currentRouter", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaxTX", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "hasLiqBeenAdded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" } ], "name": "hasNodes", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "infinite_membership", "outputs": [ { "internalType": "contract IERC721", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isFeeExcluded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isSniper", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isTransferFeeEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metaFundWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "meta_membership", "outputs": [ { "internalType": "contract IERC721", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "percents", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "divisors", "type": "uint256[]" } ], "name": "multiSendPercents", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "multiSendTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "nodeApprove", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "platinum_membership", "outputs": [ { "internalType": "contract IERC721", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeSniper", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setExcludedFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setLpPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "uint256", "name": "divisor", "type": "uint256" } ], "name": "setMaxTxPercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "uint256", "name": "divisor", "type": "uint256" } ], "name": "setMaxWalletSize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_ascend", "type": "address" }, { "internalType": "address", "name": "_platinum", "type": "address" }, { "internalType": "address", "name": "_infinite", "type": "address" }, { "internalType": "address", "name": "_meta", "type": "address" } ], "name": "setNewMemberships", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "antiSnipe", "type": "bool" }, { "internalType": "bool", "name": "antiBlock", "type": "bool" } ], "name": "setProtectionSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_rewards", "type": "uint16" }, { "internalType": "uint16", "name": "_liquidity", "type": "uint16" }, { "internalType": "uint16", "name": "_metaFund", "type": "uint16" }, { "internalType": "uint16", "name": "_treasury", "type": "uint16" } ], "name": "setRatios", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "_block", "type": "uint8" } ], "name": "setStartingProtections", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_maxBuyTaxes", "type": "uint16" }, { "internalType": "uint16", "name": "_maxSellTaxes", "type": "uint16" }, { "internalType": "uint16", "name": "_maxTransferTaxes", "type": "uint16" }, { "internalType": "uint16", "name": "_masterTaxDivisor", "type": "uint16" } ], "name": "setStaticValues", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "thresholdPercent", "type": "uint256" }, { "internalType": "uint256", "name": "thresholdDivisor", "type": "uint256" } ], "name": "setSwapSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_buyFee", "type": "uint16" }, { "internalType": "uint16", "name": "_sellFee", "type": "uint16" }, { "internalType": "uint16", "name": "_transferFee", "type": "uint16" }, { "internalType": "uint16", "name": "_protocolFee", "type": "uint16" } ], "name": "setTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_isTransferFeeEnabled", "type": "bool" } ], "name": "setTransferFeeEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "metaFund", "type": "address" }, { "internalType": "address payable", "name": "treasury", "type": "address" }, { "internalType": "address payable", "name": "_rewardsPool", "type": "address" }, { "internalType": "address", "name": "_liquidityWallet", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "snipersCaught", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "startingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "staticVals", "outputs": [ { "internalType": "uint16", "name": "maxBuyTaxes", "type": "uint16" }, { "internalType": "uint16", "name": "maxSellTaxes", "type": "uint16" }, { "internalType": "uint16", "name": "maxTransferTaxes", "type": "uint16" }, { "internalType": "uint16", "name": "masterTaxDivisor", "type": "uint16" } ], "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": "pure", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6000600281905560078054601260ff1990911617905560088190556009819055600a805461ffff1916610101178155600b829055600f805461dead6001600160a01b0319918216179091556010805490911690556014805463ffffff0019168155608083905260a0829052602860c05260e092909252601880546428000a00006001600160401b03199182161790915561010082905261012092909252603261014052606461016081905260198054909316666400320014000a17909255610220604052601e610180526101a05260056101c05260376101e05261020052601a80546001600160501b031916686400370005000a001e1790553480156200010557600080fd5b506040516200362b3803806200362b83398101604081905262000128916200041b565b6200013333620002b0565b601b8190556007546200014b9060ff16600a620004c3565b62000157908262000591565b601c81905533600081815260016020526040902082905590612710906200018090600b62000591565b6200018c919062000457565b601155601c5461271090620001a390600b62000591565b620001af919062000457565b601255601c54620001c4906127109062000457565b601355600c80546001600160a01b0319166001600160a01b038516908117909155620001f5903390600019620002ef565b600c54620002119030906001600160a01b0316600019620002ef565b3360008181526004602090815260408083208054600160ff19918216811790925530855293829020805490941617909255601054601c5492519283526001600160a01b0316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36040516001600160a01b038216906000906000805160206200360b833981519152908290a3505050620005c9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283916000805160206200360b8339815191529190a35050565b6001600160a01b038316620003575760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003ba5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200034e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080604083850312156200042f57600080fd5b82516001600160a01b03811681146200044757600080fd5b6020939093015192949293505050565b6000826200047557634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004bb5781600019048211156200049f576200049f620005b3565b80851615620004ad57918102915b93841c93908002906200047f565b509250929050565b6000620004d460ff841683620004db565b9392505050565b600082620004ec575060016200058b565b81620004fb575060006200058b565b81600181146200051457600281146200051f576200053f565b60019150506200058b565b60ff841115620005335762000533620005b3565b50506001821b6200058b565b5060208310610133831016604e8410600b841016171562000564575081810a6200058b565b6200057083836200047a565b8060001904821115620005875762000587620005b3565b0290505b92915050565b6000816000190483118215151615620005ae57620005ae620005b3565b500290565b634e487b7160e01b600052601160045260246000fd5b61303280620005d96000396000f3fe6080604052600436106103855760003560e01c80635e10332b116101d157806395d89b4111610102578063dd62ed3e116100a0578063ecfc021f1161006f578063ecfc021f14610b21578063f2fde38b14610b41578063f96ebef714610b61578063fe3211f014610b8157600080fd5b8063dd62ed3e14610aa5578063e630c20814610503578063e79d416014610aeb578063e8a0e3f914610b0157600080fd5b8063a9059cbb116100dc578063a9059cbb146109b3578063bca238aa146109d3578063cf84770614610a0c578063d188026f14610a8557600080fd5b806395d89b411461094657806398312906146109735780639c0ba92a1461099357600080fd5b8063893d20e81161016f5780638c0b5e22116101495780638c0b5e22146108fa5780638da5cb5b146108b25780638f3fa860146109105780638f4590d21461092657600080fd5b8063893d20e8146108b25780638a63bd9b146108d05780638a8c523c146108e557600080fd5b806370a08231116101ab57806370a0823114610827578063715018a61461085d57806380c581d11461087257806383672f3e1461089257600080fd5b80635e10332b146107d2578063609de7e2146107f25780636ebd00781461081257600080fd5b80631f36ce1f116102b6578063384f36b611610254578063452ed4f111610223578063452ed4f11461074c5780634ada218b1461076c578063590ffdce1461078b5780635d2e508b146107ab57600080fd5b8063384f36b6146106d65780633f3cf56c146106f65780634129ecee1461071657806341c531621461073657600080fd5b80632610eaca116102905780632610eaca1461065f5780632b112e491461067f578063313ce5671461069457806333251a0b146106b657600080fd5b80631f36ce1f146105ff57806323b872dd1461061f578063260039571461063f57600080fd5b8063095ea7b3116103235780630fa604e4116102fd5780630fa604e41461057c578063122fea3b1461059157806318160ddd146105b15780631b6afa2d146105c657600080fd5b8063095ea7b3146105035780630ecc34a7146105235780630f3a325f1461054357600080fd5b8063044df7261161035f578063044df72614610422578063069d955f1461044457806306fdde03146104ab5780630712d165146104e357600080fd5b8063020372e21461039157806303fd2a45146103c65780630445b667146103fe57600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506014546103b19062010000900460ff1681565b60405190151581526020015b60405180910390f35b3480156103d257600080fd5b50600f546103e6906001600160a01b031681565b6040516001600160a01b0390911681526020016103bd565b34801561040a57600080fd5b5061041460135481565b6040519081526020016103bd565b34801561042e57600080fd5b5061044261043d366004612c44565b610ba2565b005b34801561045057600080fd5b5060185461047d9061ffff80821691620100008104821691600160201b8204811691600160301b90041684565b6040805161ffff958616815293851660208501529184169183019190915290911660608201526080016103bd565b3480156104b757600080fd5b50604080518082019091526006815265105cd8d95b9960d21b60208201525b6040516103bd9190612d14565b3480156104ef57600080fd5b506104426104fe366004612c62565b610bf8565b34801561050f57600080fd5b506103b161051e366004612af2565b610d07565b34801561052f57600080fd5b5061044261053e366004612c62565b610d74565b34801561054f57600080fd5b506103b161055e3660046129d1565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561058857600080fd5b50601254610414565b34801561059d57600080fd5b50600c546103e6906001600160a01b031681565b3480156105bd57600080fd5b50601c54610414565b3480156105d257600080fd5b5060195461047d9061ffff80821691620100008104821691600160201b8204811691600160301b90041684565b34801561060b57600080fd5b5061044261061a366004612c0a565b610e18565b34801561062b57600080fd5b506103b161063a366004612a83565b610e60565b34801561064b57600080fd5b5061044261065a366004612ccf565b610eda565b34801561066b57600080fd5b5061044261067a366004612b1e565b610f24565b34801561068b57600080fd5b5061041461107d565b3480156106a057600080fd5b5060075460405160ff90911681526020016103bd565b3480156106c257600080fd5b506104426106d13660046129d1565b6110d7565b3480156106e257600080fd5b506104426106f13660046129d1565b611194565b34801561070257600080fd5b50610442610711366004612ccf565b6111f6565b34801561072257600080fd5b50610442610731366004612cf1565b611240565b34801561074257600080fd5b50610414601b5481565b34801561075857600080fd5b50600e546103e6906001600160a01b031681565b34801561077857600080fd5b506014546103b190610100900460ff1681565b34801561079757600080fd5b506104426107a6366004612ac4565b6112fa565b3480156107b757600080fd5b506014546103e690600160201b90046001600160a01b031681565b3480156107de57600080fd5b506103b16107ed3660046129d1565b61134f565b3480156107fe57600080fd5b5061044261080d3660046129ee565b611581565b34801561081e57600080fd5b50601154610414565b34801561083357600080fd5b506104146108423660046129d1565b6001600160a01b031660009081526001602052604090205490565b34801561086957600080fd5b50610442611609565b34801561087e57600080fd5b5061044261088d366004612ac4565b61163f565b34801561089e57600080fd5b506104426108ad3660046129ee565b61175f565b3480156108be57600080fd5b506000546001600160a01b03166103e6565b3480156108dc57600080fd5b506103b16117d9565b3480156108f157600080fd5b50610442611824565b34801561090657600080fd5b5061041460115481565b34801561091c57600080fd5b5061041460125481565b34801561093257600080fd5b50610442610941366004612ccf565b611913565b34801561095257600080fd5b506040805180820190915260048152631054d39160e21b60208201526104d6565b34801561097f57600080fd5b506015546103e6906001600160a01b031681565b34801561099f57600080fd5b506017546103e6906001600160a01b031681565b3480156109bf57600080fd5b506103b16109ce366004612af2565b61195d565b3480156109df57600080fd5b506103b16109ee3660046129d1565b6001600160a01b031660009081526004602052604090205460ff1690565b348015610a1857600080fd5b50601a54610a509061ffff80821691620100008104821691600160201b8204811691600160301b8104821691600160401b9091041685565b6040805161ffff968716815294861660208601529285169284019290925283166060830152909116608082015260a0016103bd565b348015610a9157600080fd5b50601d546103e6906001600160a01b031681565b348015610ab157600080fd5b50610414610ac0366004612a4a565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b348015610af757600080fd5b5061041460095481565b348015610b0d57600080fd5b50610442610b1c366004612b82565b61196a565b348015610b2d57600080fd5b50610442610b3c366004612c62565b611b00565b348015610b4d57600080fd5b50610442610b5c3660046129d1565b611bf4565b348015610b6d57600080fd5b506016546103e6906001600160a01b031681565b348015610b8d57600080fd5b506014546103b1906301000000900460ff1681565b6000546001600160a01b03163314610bd55760405162461bcd60e51b8152600401610bcc90612d69565b60405180910390fd5b600a805461ffff19166101009315159390930260ff191692909217901515179055565b6000546001600160a01b03163314610c225760405162461bcd60e51b8152600401610bcc90612d69565b6040518060a001604052808561ffff1681526020018461ffff1681526020018361ffff1681526020018261ffff16815260200182848688610c639190612df3565b610c6d9190612df3565b610c779190612df3565b61ffff9081169091528151601a805460208501516040860151606087015160809097015194861663ffffffff199093169290921762010000918616919091021767ffffffff000000001916600160201b9185169190910261ffff60301b191617600160301b948416949094029390931769ffff00000000000000001916600160401b919092160217905550505050565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d629086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610d9e5760405162461bcd60e51b8152600401610bcc90612d69565b6040805160808101825261ffff958616808252948616602082018190529386169181018290529190941660609091018190526019805463ffffffff1916909317620100009092029190911767ffffffff000000001916600160201b90930261ffff60301b191692909217600160301b909202919091179055565b6000546001600160a01b03163314610e425760405162461bcd60e51b8152600401610bcc90612d69565b6014805491151563010000000263ff00000019909216919091179055565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610ec5576001600160a01b038416600090815260036020908152604080832033845290915281208054849290610ebf908490612f60565b90915550505b610ed0848484611c8f565b90505b9392505050565b6000546001600160a01b03163314610f045760405162461bcd60e51b8152600401610bcc90612d69565b8082601c54610f139190612f41565b610f1d9190612e31565b6012555050565b8051825114610f6d5760405162461bcd60e51b81526020600482015260156024820152742632b733ba3439903237903737ba1036b0ba31b41760591b6044820152606401610bcc565b60005b82518160ff16101561107857818160ff1681518110610f9157610f91612fad565b602002602001015160016000336001600160a01b03166001600160a01b031681526020019081526020016000205410156110045760405162461bcd60e51b8152602060048201526014602482015273024b739bab334b1b4b2b73a103130b630b731b2960651b6044820152606401610bcc565b61106533848360ff168151811061101d5761101d612fad565b60209081029190910101516007546110399060ff16600a612e96565b858560ff168151811061104e5761104e612fad565b60200260200101516110609190612f41565b611c8f565b508061107081612f77565b915050610f70565b505050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4954600f546001600160a01b03166000908152604081205490916110c591612e19565b601c546110d29190612f60565b905090565b6000546001600160a01b031633146111015760405162461bcd60e51b8152600401610bcc90612d69565b6001600160a01b03811660009081526005602052604090205460ff166111735760405162461bcd60e51b815260206004820152602160248201527f4163636f756e74206973206e6f742061207265636f7264656420736e697065726044820152601760f91b6064820152608401610bcc565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146111be5760405162461bcd60e51b8152600401610bcc90612d69565b60145462010000900460ff16156111d457600080fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112205760405162461bcd60e51b8152600401610bcc90612d69565b8082601c5461122f9190612f41565b6112399190612e31565b6011555050565b6000546001600160a01b0316331461126a5760405162461bcd60e51b8152600401610bcc90612d69565b60085415801561127e575060058160ff1611155b8015611293575060145462010000900460ff16155b6112f25760405162461bcd60e51b815260206004820152602a60248201527f696e76616c696420706172616d65746572203e352c206f72206c69717569646960448201526903a3c9030b23232b216160b51b6064820152608401610bcc565b60ff16600855565b6000546001600160a01b031633146113245760405162461bcd60e51b8152600401610bcc90612d69565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6014546040516370a0823160e01b81526001600160a01b0383811660048301526000928392600160201b909104909116906370a082319060240160206040518083038186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d99190612cb6565b118061146057506015546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a082319060240160206040518083038186803b15801561142657600080fd5b505afa15801561143a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145e9190612cb6565b115b806114e657506016546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a082319060240160206040518083038186803b1580156114ac57600080fd5b505afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190612cb6565b115b8061156c57506017546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a082319060240160206040518083038186803b15801561153257600080fd5b505afa158015611546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156a9190612cb6565b115b1561157957506001919050565b506000919050565b6000546001600160a01b031633146115ab5760405162461bcd60e51b8152600401610bcc90612d69565b601480546001600160a01b03958616600160201b02640100000000600160c01b0319909116179055601580549385166001600160a01b0319948516179055601680549285169284169290921790915560178054919093169116179055565b6000546001600160a01b031633146116335760405162461bcd60e51b8152600401610bcc90612d69565b61163d6000612004565b565b6000546001600160a01b031633146116695760405162461bcd60e51b8152600401610bcc90612d69565b506000600254156116d3576203f480600254426116869190612f60565b116116d35760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f74207365742061206e657720706169722074686973207765656b216044820152606401610bcc565b600e80546001600160a01b0384166001600160a01b031990911681179091556000908152600d6020908152604091829020805460ff191660019081179091554260025543600b556014805462ff000019166201000017905591519182527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257910160405180910390a15050565b6000546001600160a01b031633146117895760405162461bcd60e51b8152600401610bcc90612d69565b601d80546001600160a01b039586166001600160a01b031991821617909155601f805494861694821694909417909355601e80549285169284169290921790915560208054919093169116179055565b600080546001600160a01b031633146118045760405162461bcd60e51b8152600401610bcc90612d69565b600c5461181e9030906001600160a01b0316600019612054565b50600190565b6000546001600160a01b0316331461184e5760405162461bcd60e51b8152600401610bcc90612d69565b601454610100900460ff16156118a65760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610bcc565b60145462010000900460ff166118fe5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610bcc565b43600b556014805461ff001916610100179055565b6000546001600160a01b0316331461193d5760405162461bcd60e51b8152600401610bcc90612d69565b8082601c5461194c9190612f41565b6119569190612e31565b6013555050565b6000610ed3338484611c8f565b8151835114801561197c575080518251145b6119c05760405162461bcd60e51b81526020600482015260156024820152742632b733ba3439903237903737ba1036b0ba31b41760591b6044820152606401610bcc565b60005b83518160ff161015611afa57818160ff16815181106119e4576119e4612fad565b6020026020010151838260ff1681518110611a0157611a01612fad565b6020026020010151601c54611a169190612f41565b611a209190612e31565b336000908152600160205260409020541015611a755760405162461bcd60e51b8152602060048201526014602482015273024b739bab334b1b4b2b73a103130b630b731b2960651b6044820152606401610bcc565b611ae733858360ff1681518110611a8e57611a8e612fad565b6020026020010151848460ff1681518110611aab57611aab612fad565b6020026020010151868560ff1681518110611ac857611ac8612fad565b6020026020010151601c54611add9190612f41565b6110609190612e31565b5080611af281612f77565b9150506119c3565b50505050565b6000546001600160a01b03163314611b2a5760405162461bcd60e51b8152600401610bcc90612d69565b60195461ffff90811690851611801590611b54575060195461ffff62010000909104811690841611155b8015611b71575060195461ffff600160201b909104811690831611155b611b7a57600080fd5b6040805160808101825261ffff958616808252948616602082018190529386169181018290529190941660609091018190526018805463ffffffff1916909317620100009092029190911767ffffffff000000001916600160201b90930261ffff60301b191692909217600160301b909202919091179055565b6000546001600160a01b03163314611c1e5760405162461bcd60e51b8152600401610bcc90612d69565b6001600160a01b038116611c835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bcc565b611c8c81612004565b50565b60006001600160a01b038416611cf55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bcc565b6001600160a01b038316611d575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bcc565b60008211611db95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bcc565b611dc38484612178565b8015611dd7575060145462010000900460ff165b15611fa457601454610100900460ff16611e335760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610bcc565b6001600160a01b0384166000908152600d602052604090205460ff1680611e7257506001600160a01b0383166000908152600d602052604090205460ff165b15611eda57601154821115611eda5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610bcc565b600c546001600160a01b03848116911614801590611f1157506001600160a01b0383166000908152600d602052604090205460ff16155b15611fa45760125482611f39856001600160a01b031660009081526001602052604090205490565b611f439190612e19565b1115611fa45760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526930b63632ba29b4bd329760b11b6064820152608401610bcc565b6001600160a01b03841660009081526004602052604090205460019060ff1680611fe657506001600160a01b03841660009081526004602052604090205460ff165b15611fef575060005b611ffb8585858461224c565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166120b65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bcc565b6001600160a01b0382166121175760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bcc565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080546001600160a01b038481169116148015906121a557506000546001600160a01b03838116911614155b80156121bc57506000546001600160a01b03163214155b80156121e157506001600160a01b03821660009081526006602052604090205460ff16155b801561220657506001600160a01b03831660009081526006602052604090205460ff16155b80156122205750600f546001600160a01b03838116911614155b801561223457506001600160a01b03821615155b8015610ed3575050506001600160a01b031630141590565b6001600160a01b038416600090815260016020526040812080548491908390612276908490612f60565b909155505060145460ff1680612295575060145462010000900460ff16155b156122ac576122a58585856123fa565b90506123f2565b8282156122c1576122be868686612482565b90505b6001600160a01b038516600090815260016020526040812080548392906122e9908490612e19565b90915550503060009081526001602052604090205460145460ff1615801561232a57506001600160a01b0387166000908152600d602052604090205460ff16155b801561233857506013548110155b1561239e57612346816125ae565b3060009081526001602052604081208054839290612365908490612f60565b90915550506040518181527f945e927ce0751b8f0b8a970488a6e3d5824fe94c1de5523138978f42301eb9a19060200160405180910390a15b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123e391815260200190565b60405180910390a36001925050505b949350505050565b6001600160a01b038216600090815260016020526040812080548391908390612424908490612e19565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161247091815260200190565b60405180910390a35060019392505050565b600e5460009081906001600160a01b03868116911614156124aa575060185461ffff166124fe565b600e546001600160a01b03858116911614156124d3575060185462010000900461ffff166124fe565b50601854601454600160201b90910461ffff16906301000000900460ff166124fe5782915050610ed3565b8061250c5782915050610ed3565b601954600090600160301b900461ffff166125278386612f41565b6125319190612e31565b30600090815260016020526040812080549293508392909190612555908490612e19565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36125a48185612f60565b9695505050505050565b6014805460ff19166001179055601a5461ffff600160401b909104166125d3576128d2565b601a54309060009061ffff600160401b82048116916125fa91620100009091041685612f41565b6126049190612e31565b905080156126945760205460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b15801561265a57600080fd5b505af115801561266e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126929190612c27565b505b601a5460009061ffff600160401b82048116916126b2911686612f41565b6126bc9190612e31565b9050801561274c57601e5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529084169063a9059cbb90604401602060405180830381600087803b15801561271257600080fd5b505af1158015612726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274a9190612c27565b505b601a5460009061ffff600160401b820481169161277291600160301b9091041687612f41565b61277c9190612e31565b9050801561280c57601f5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb90604401602060405180830381600087803b1580156127d257600080fd5b505af11580156127e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061280a9190612c27565b505b601a5460009061ffff600160401b820481169161283291600160201b9091041688612f41565b61283c9190612e31565b905080156128cc57601d5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529086169063a9059cbb90604401602060405180830381600087803b15801561289257600080fd5b505af11580156128a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ca9190612c27565b505b50505050505b506014805460ff19169055565b600082601f8301126128f057600080fd5b8135602061290561290083612dcf565b612d9e565b80838252828201915082860187848660051b890101111561292557600080fd5b60005b8581101561294d57813561293b81612fd9565b84529284019290840190600101612928565b5090979650505050505050565b600082601f83011261296b57600080fd5b8135602061297b61290083612dcf565b80838252828201915082860187848660051b890101111561299b57600080fd5b60005b8581101561294d5781358452928401929084019060010161299e565b803561ffff811681146129cc57600080fd5b919050565b6000602082840312156129e357600080fd5b8135610ed381612fd9565b60008060008060808587031215612a0457600080fd5b8435612a0f81612fd9565b93506020850135612a1f81612fd9565b92506040850135612a2f81612fd9565b91506060850135612a3f81612fd9565b939692955090935050565b60008060408385031215612a5d57600080fd5b8235612a6881612fd9565b91506020830135612a7881612fd9565b809150509250929050565b600080600060608486031215612a9857600080fd5b8335612aa381612fd9565b92506020840135612ab381612fd9565b929592945050506040919091013590565b60008060408385031215612ad757600080fd5b8235612ae281612fd9565b91506020830135612a7881612fee565b60008060408385031215612b0557600080fd5b8235612b1081612fd9565b946020939093013593505050565b60008060408385031215612b3157600080fd5b823567ffffffffffffffff80821115612b4957600080fd5b612b55868387016128df565b93506020850135915080821115612b6b57600080fd5b50612b788582860161295a565b9150509250929050565b600080600060608486031215612b9757600080fd5b833567ffffffffffffffff80821115612baf57600080fd5b612bbb878388016128df565b94506020860135915080821115612bd157600080fd5b612bdd8783880161295a565b93506040860135915080821115612bf357600080fd5b50612c008682870161295a565b9150509250925092565b600060208284031215612c1c57600080fd5b8135610ed381612fee565b600060208284031215612c3957600080fd5b8151610ed381612fee565b60008060408385031215612c5757600080fd5b8235612ae281612fee565b60008060008060808587031215612c7857600080fd5b612c81856129ba565b9350612c8f602086016129ba565b9250612c9d604086016129ba565b9150612cab606086016129ba565b905092959194509250565b600060208284031215612cc857600080fd5b5051919050565b60008060408385031215612ce257600080fd5b50508035926020909101359150565b600060208284031215612d0357600080fd5b813560ff81168114610ed357600080fd5b600060208083528351808285015260005b81811015612d4157858101830151858201604001528201612d25565b81811115612d53576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff81118282101715612dc757612dc7612fc3565b604052919050565b600067ffffffffffffffff821115612de957612de9612fc3565b5060051b60200190565b600061ffff808316818516808303821115612e1057612e10612f97565b01949350505050565b60008219821115612e2c57612e2c612f97565b500190565b600082612e4e57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115612e8e578160001904821115612e7457612e74612f97565b80851615612e8157918102915b93841c9390800290612e58565b509250929050565b6000610ed360ff841683600082612eaf57506001610d6e565b81612ebc57506000610d6e565b8160018114612ed25760028114612edc57612ef8565b6001915050610d6e565b60ff841115612eed57612eed612f97565b50506001821b610d6e565b5060208310610133831016604e8410600b8410161715612f1b575081810a610d6e565b612f258383612e53565b8060001904821115612f3957612f39612f97565b029392505050565b6000816000190483118215151615612f5b57612f5b612f97565b500290565b600082821015612f7257612f72612f97565b500390565b600060ff821660ff811415612f8e57612f8e612f97565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611c8c57600080fd5b8015158114611c8c57600080fdfea264697066735822122046cd3d3fe08b2fbf40a3e7f159515ca7a74ec47794a7a490e83f39bebb3f8e4a64736f6c634300080700338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e000000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d40000000000000000000000000000000000000000000000000000000000f42400