[ { "inputs": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "address", "name": "marketingFeeReceiver", "type": "address" }, { "internalType": "address", "name": "devFeeReceiver", "type": "address" }, { "internalType": "uint256", "name": "marketingTaxBuy", "type": "uint256" }, { "internalType": "uint256", "name": "marketingTaxSell", "type": "uint256" }, { "internalType": "uint256", "name": "devTaxSell", "type": "uint256" }, { "internalType": "uint256", "name": "devTaxBuy", "type": "uint256" }, { "internalType": "uint256", "name": "lpTaxBuy", "type": "uint256" }, { "internalType": "uint256", "name": "lpTaxSell", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "uint256", "name": "maxPercentageForWallet", "type": "uint256" }, { "internalType": "uint256", "name": "maxPercentageForTx", "type": "uint256" }, { "internalType": "address", "name": "swapRouter", "type": "address" }, { "internalType": "address", "name": "newOwner", "type": "address" } ], "internalType": "struct WDIStandardToken.TokenInfo", "name": "_tokenInfo", "type": "tuple" }, { "internalType": "uint256", "name": "_deployerTax", "type": "uint256" }, { "internalType": "address", "name": "_deployFeeReceiver", "type": "address" } ], "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": "address", "name": "newWallet", "type": "address" }, { "indexed": false, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "DevWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": false, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "MarketingWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "makertingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "devTax", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "lpTax", "type": "uint256" } ], "name": "TransferFee", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "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": "getDevBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDevSellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLpBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLpSellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMarketingBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMarketingSellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTokenInfo", "outputs": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "address", "name": "marketingFeeReceiver", "type": "address" }, { "internalType": "address", "name": "devFeeReceiver", "type": "address" }, { "internalType": "uint256", "name": "marketingTaxBuy", "type": "uint256" }, { "internalType": "uint256", "name": "marketingTaxSell", "type": "uint256" }, { "internalType": "uint256", "name": "devTaxSell", "type": "uint256" }, { "internalType": "uint256", "name": "devTaxBuy", "type": "uint256" }, { "internalType": "uint256", "name": "lpTaxBuy", "type": "uint256" }, { "internalType": "uint256", "name": "lpTaxSell", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "uint256", "name": "maxPercentageForWallet", "type": "uint256" }, { "internalType": "uint256", "name": "maxPercentageForTx", "type": "uint256" }, { "internalType": "address", "name": "swapRouter", "type": "address" }, { "internalType": "address", "name": "newOwner", "type": "address" } ], "internalType": "struct WDIStandardToken.TokenInfo", "name": "_tokenInfo", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludeFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludeFromTxLimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludeFromWalletLimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxAmountForTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxAmountForWallet", "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setExclusionFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setExclusionFromTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setExclusionFromWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapPair", "outputs": [ { "internalType": "address", "name": "_pair", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapping", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalBuyTaxFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSellTaxFees", "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": "totalTaxFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "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": [ { "internalType": "uint256", "name": "tax", "type": "uint256" } ], "name": "updateDevBuyTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tax", "type": "uint256" } ], "name": "updateDevSellTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tax", "type": "uint256" } ], "name": "updateLpBuyTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tax", "type": "uint256" } ], "name": "updateLpSellTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tax", "type": "uint256" } ], "name": "updateMarketingBuyTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tax", "type": "uint256" } ], "name": "updateMarketingSellTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxTx", "type": "uint256" } ], "name": "updateMaxTransactionAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "weth", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040523480156200001157600080fd5b5060405162003141380380620031418339810160408190526200003491620008bf565b82516020840151600362000049838262000ab8565b50600462000058828262000ab8565b505050620000756200006f6200055a60201b60201c565b6200055e565b601880546001600160a01b0319166001600160a01b038316179055825183906006908190620000a5908262000ab8565b5060208201516001820190620000bc908262000ab8565b5060408201516002820180546001600160a01b03199081166001600160a01b0393841617909155606084015160038401805483169184169190911790556080840151600484015560a0840151600584015560c0840151600684015560e0840151600784015561010084015160088401556101208401516009840155610140840151600a840155610160840151600b84015561018080850151600c8501556101a0850151600d8501805484169185169190911790556101c090940151600e909301805490911692909116919091179055601a8390558301516706f05b59d3b2000011801590620001b9575068056bc75e2d6310000083610180015111155b620001f95760405162461bcd60e51b8152600401620001f0906020808252600490820152631511140d60e21b604082015260600190565b60405180910390fd5b6706f05b59d3b200008361016001511015801562000225575068056bc75e2d6310000083610160015111155b6200025c5760405162461bcd60e51b8152600401620001f0906020808252600490820152631511140d60e21b604082015260600190565b600a54600e54600d5460009291620002749162000b9a565b62000280919062000b9a565b600b54600f54600c549293506000926200029b919062000b9a565b620002a7919062000b9a565b905067d02ab486cedc00008211158015620002ca575067d02ab486cedc00008111155b620003015760405162461bcd60e51b8152600401620001f0906020808252600490820152635444503160e01b604082015260600190565b68056bc75e2d6310000085610140015186610160015162000323919062000bb6565b6200032f919062000bd0565b601b5561014085015161018086015168056bc75e2d6310000091620003549162000bb6565b62000360919062000bd0565b601c81905550846101a001516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d0919062000bf3565b601980546001600160a01b0319166001600160a01b03928316179055306000818152601560209081526040808320805460ff1990811660019081179092556101c08c0180518816865283862080548316841790558c8401805189168752848720805484168517905560608e0180518a168852858820805485168617905588885260168752858820805485168617905582518a1688528588208054851686179055601380548b168952868920805486168717905582518b168952868920805486168717905581518b168952868920805486168717905598885260178752858820805485168617905582518a168852858820805485168617905597548916875284872080548416851790555188168652838620805483168417905595519096168452922080549094169091179092555162000512916200055e811b6200128b17901c565b62000533856101c00151866101400151620005b060201b620012ea1760201c565b6013546200054f9030906001600160a01b031660001962000673565b505050505062000c18565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620006085760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620001f0565b80600260008282546200061c919062000b9a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038316620006d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401620001f0565b6001600160a01b0382166200073a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620001f0565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b505050565b634e487b7160e01b600052604160045260246000fd5b6040516101e081016001600160401b0381118282101715620007dc57620007dc620007a0565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200080d576200080d620007a0565b604052919050565b600082601f8301126200082757600080fd5b81516001600160401b03811115620008435762000843620007a0565b602062000859601f8301601f19168201620007e2565b82815285828487010111156200086e57600080fd5b60005b838110156200088e57858101830151828201840152820162000871565b506000928101909101919091529392505050565b80516001600160a01b0381168114620008ba57600080fd5b919050565b600080600060608486031215620008d557600080fd5b83516001600160401b0380821115620008ed57600080fd5b908501906101e082880312156200090357600080fd5b6200090d620007b6565b8251828111156200091d57600080fd5b6200092b8982860162000815565b8252506020830151828111156200094157600080fd5b6200094f8982860162000815565b6020830152506200096360408401620008a2565b60408201526200097660608401620008a2565b60608201526080838101519082015260a0808401519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a09150620009ec828401620008a2565b828201526101c0915062000a02828401620008a2565b828201528095505050506020840151915062000a2160408501620008a2565b90509250925092565b600181811c9082168062000a3f57607f821691505b60208210810362000a6057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200079b57600081815260208120601f850160051c8101602086101562000a8f5750805b601f850160051c820191505b8181101562000ab05782815560010162000a9b565b505050505050565b81516001600160401b0381111562000ad45762000ad4620007a0565b62000aec8162000ae5845462000a2a565b8462000a66565b602080601f83116001811462000b24576000841562000b0b5750858301515b600019600386901b1c1916600185901b17855562000ab0565b600085815260208120601f198616915b8281101562000b555788860151825594840194600190910190840162000b34565b508582101562000b745787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b8082018082111562000bb05762000bb062000b84565b92915050565b808202811582820484141762000bb05762000bb062000b84565b60008262000bee57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121562000c0657600080fd5b62000c1182620008a2565b9392505050565b6125198062000c286000396000f3fe6080604052600436106102f65760003560e01c80638e5916b21161018f578063bad66a13116100e1578063dd62ed3e1161008a578063f2fde38b11610064578063f2fde38b14610840578063f34706b314610860578063fbd7805c1461088057600080fd5b8063dd62ed3e146107c5578063e0a80e171461080b578063e30f7a291461082057600080fd5b8063d8ac45c0116100bb578063d8ac45c014610770578063dcf3ceab14610790578063dd4b502f146107b057600080fd5b8063bad66a131461071a578063bcb7d58d1461073a578063c18bc1951461075057600080fd5b8063a457c2d711610143578063aa4980231161011d578063aa498023146106b8578063aacebbe3146106d8578063abb1dc44146106f857600080fd5b8063a457c2d714610663578063a6bd396d14610683578063a9059cbb1461069857600080fd5b806395d89b411161017457806395d89b4114610619578063987e244c1461062e57806399055b4c1461064357600080fd5b80638e5916b2146105c95780639434d6a2146105f957600080fd5b806337853bdf1161024857806348379740116101fc578063715018a6116101d6578063715018a6146105805780638360f4a4146105955780638da5cb5b146105ab57600080fd5b806348379740146105055780636f4a77a81461053557806370a082311461054a57600080fd5b8063395093511161022d57806339509351146104b05780633fc8cef3146104d0578063436138da146104f057600080fd5b806337853bdf1461048657806337dc5f921461049b57600080fd5b80631a615921116102aa57806326991cc81161028457806326991cc81461042857806328ba428614610455578063313ce5671461046a57600080fd5b80631a615921146103b85780632304d5f1146103e857806323b872dd1461040857600080fd5b80631732cded116102db5780631732cded1461035d57806318160ddd146103775780631816467f1461039657600080fd5b806306fdde0314610302578063095ea7b31461032d57600080fd5b366102fd57005b600080fd5b34801561030e57600080fd5b506103176108a0565b604051610324919061210e565b60405180910390f35b34801561033957600080fd5b5061034d61034836600461213d565b610932565b6040519015158152602001610324565b34801561036957600080fd5b50601d5461034d9060ff1681565b34801561038357600080fd5b506002545b604051908152602001610324565b3480156103a257600080fd5b506103b66103b1366004612169565b61094c565b005b3480156103c457600080fd5b5061034d6103d3366004612169565b60176020526000908152604090205460ff1681565b3480156103f457600080fd5b506103b6610403366004612186565b6109c6565b34801561041457600080fd5b5061034d61042336600461219f565b610a40565b34801561043457600080fd5b5061043d610a64565b6040516001600160a01b039091168152602001610324565b34801561046157600080fd5b50600a54610388565b34801561047657600080fd5b5060405160128152602001610324565b34801561049257600080fd5b50610388610b76565b3480156104a757600080fd5b50610388610b9b565b3480156104bc57600080fd5b5061034d6104cb36600461213d565b610bb1565b3480156104dc57600080fd5b5060195461043d906001600160a01b031681565b3480156104fc57600080fd5b50600f54610388565b34801561051157600080fd5b5061034d610520366004612169565b60166020526000908152604090205460ff1681565b34801561054157600080fd5b50610388610bf0565b34801561055657600080fd5b50610388610565366004612169565b6001600160a01b031660009081526020819052604090205490565b34801561058c57600080fd5b506103b6610c02565b3480156105a157600080fd5b50610388601c5481565b3480156105b757600080fd5b506005546001600160a01b031661043d565b3480156105d557600080fd5b5061034d6105e4366004612169565b60156020526000908152604090205460ff1681565b34801561060557600080fd5b506103b6610614366004612186565b610c16565b34801561062557600080fd5b50610317610c34565b34801561063a57600080fd5b50600d54610388565b34801561064f57600080fd5b506103b661065e366004612186565b610c43565b34801561066f57600080fd5b5061034d61067e36600461213d565b610c61565b34801561068f57600080fd5b50600c54610388565b3480156106a457600080fd5b5061034d6106b336600461213d565b610d0b565b3480156106c457600080fd5b506103b66106d3366004612186565b610d19565b3480156106e457600080fd5b506103b66106f3366004612169565b610da4565b34801561070457600080fd5b5061070d610e11565b60405161032491906121e0565b34801561072657600080fd5b506103b66107353660046122f6565b611080565b34801561074657600080fd5b50610388601b5481565b34801561075c57600080fd5b506103b661076b366004612186565b6110b3565b34801561077c57600080fd5b506103b661078b366004612186565b61113e565b34801561079c57600080fd5b506103b66107ab366004612186565b61115c565b3480156107bc57600080fd5b50600e54610388565b3480156107d157600080fd5b506103886107e0366004612334565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561081757600080fd5b50600b54610388565b34801561082c57600080fd5b506103b661083b3660046122f6565b61117a565b34801561084c57600080fd5b506103b661085b366004612169565b6111ad565b34801561086c57600080fd5b506103b661087b366004612186565b61123a565b34801561088c57600080fd5b506103b661089b3660046122f6565b611258565b6060600380546108af90612362565b80601f01602080910402602001604051908101604052809291908181526020018280546108db90612362565b80156109285780601f106108fd57610100808354040283529160200191610928565b820191906000526020600020905b81548152906001019060200180831161090b57829003601f168201915b5050505050905090565b6000336109408185856113a9565b60019150505b92915050565b610954611501565b6008546009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03848116918217909255604080519182529190921660208301819052917f0db17895a9d092fb3ca24d626f2150dd80c185b0706b36f1040ee239f56cb87191015b60405180910390a15050565b6109ce611501565b600b81905567d02ab486cedc00006109e4610b9b565b1115610a3d5760405162461bcd60e51b8152600401610a349060208082526004908201527f5444503100000000000000000000000000000000000000000000000000000000604082015260600190565b60405180910390fd5b50565b600033610a4e85828561155b565b610a598585856115ed565b506001949350505050565b6000806006600d0160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae1919061239c565b6019546040517fe6a439050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03918216602482015291925082169063e6a4390590604401602060405180830381865afa158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b70919061239c565b91505090565b600a54600e54600d5460009291610b8c916123cf565b610b9691906123cf565b905090565b600b54600f54600c5460009291610b8c916123cf565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906109409082908690610beb9087906123cf565b6113a9565b6000610bfa610b9b565b610b8c610b76565b610c0a611501565b610c14600061128b565b565b610c1e611501565b600d81905567d02ab486cedc00006109e4610b76565b6060600480546108af90612362565b610c4b611501565b600f81905567d02ab486cedc00006109e4610b9b565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610cfe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610a34565b610a5982868684036113a9565b6000336109408185856115ed565b610d21611501565b68056bc75e2d631000008111158015610d4257506706f05b59d3b200008110155b610d775760405162461bcd60e51b8152600401610a34906020808252600490820152631511140d60e21b604082015260600190565b601281905560105468056bc75e2d6310000090610d9490836123e2565b610d9e91906123f9565b601c5550565b610dac611501565b600880546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff198316811790935560408051938452911660208301819052917f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6791016109ba565b610eae604051806101e00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b031681525090565b6006604051806101e0016040529081600082018054610ecc90612362565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef890612362565b8015610f455780601f10610f1a57610100808354040283529160200191610f45565b820191906000526020600020905b815481529060010190602001808311610f2857829003601f168201915b50505050508152602001600182018054610f5e90612362565b80601f0160208091040260200160405190810160405280929190818152602001828054610f8a90612362565b8015610fd75780601f10610fac57610100808354040283529160200191610fd7565b820191906000526020600020905b815481529060010190602001808311610fba57829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154811660408301526004830154606083015260058301546080830152600683015460a0830152600783015460c0830152600883015460e08301526009830154610100830152600a830154610120830152600b830154610140830152600c830154610160830152600d8301548116610180830152600e909201549091166101a090910152919050565b611088611501565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6110bb611501565b68056bc75e2d6310000081111580156110dc57506706f05b59d3b200008110155b6111115760405162461bcd60e51b8152600401610a34906020808252600490820152631511140d60e21b604082015260600190565b601181905560105468056bc75e2d631000009061112e90836123e2565b61113891906123f9565b601b5550565b611146611501565b600a81905567d02ab486cedc00006109e4610b76565b611164611501565b600c81905567d02ab486cedc00006109e4610b9b565b611182611501565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b6111b5611501565b6001600160a01b0381166112315760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a34565b610a3d8161128b565b611242611501565b600e81905567d02ab486cedc00006109e4610b76565b611260611501565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b600580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166113405760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a34565b806002600082825461135291906123cf565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0383166114245760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610a34565b6001600160a01b0382166114a05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610a34565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b03163314610c145760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a34565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146115e757818110156115da5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a34565b6115e784848484036113a9565b50505050565b6001600160a01b03831660009081526016602052604090205460ff1615801561162f57506001600160a01b03821660009081526016602052604090205460ff16155b156116885780601c5410156116885760405162461bcd60e51b8152600401610a349060208082526004908201527f5444503200000000000000000000000000000000000000000000000000000000604082015260600190565b6000611692610a64565b90506001600160a01b038116158015906116c557506001600160a01b03811660009081526017602052604090205460ff16155b156116ee576001600160a01b0381166000908152601760205260409020805460ff191660011790555b6001600160a01b03831660009081526017602052604090205460ff1661178b57601b5482611731856001600160a01b031660009081526020819052604090205490565b61173b91906123cf565b111561178b5760405162461bcd60e51b8152600401610a349060208082526004908201527f5444503300000000000000000000000000000000000000000000000000000000604082015260600190565b8160000361179f576115e784846000611ad2565b60006001600160a01b038216158015906117bc5750601d5460ff16155b80156117e157506001600160a01b03851660009081526015602052604090205460ff16155b801561180657506001600160a01b03841660009081526015602052604090205460ff16155b801561183e5750816001600160a01b0316856001600160a01b0316148061183e5750816001600160a01b0316846001600160a01b0316145b15611ab7576000601a54611850610b76565b61185a91906123cf565b90506000601a54611869610b9b565b61187391906123cf565b9050836001600160a01b0316876001600160a01b03161480156118965750600082115b156119785768056bc75e2d631000006118af83876123e2565b6118b991906123f9565b925081601a54846118ca91906123e2565b6118d491906123f9565b602160008282546118e591906123cf565b9091555050600d5482906118f990856123e2565b61190391906123f9565b601f600082825461191491906123cf565b9091555050600e54829061192890856123e2565b61193291906123f9565b6020600082825461194391906123cf565b9091555050600a54829061195790856123e2565b61196191906123f9565b601e600082825461197291906123cf565b90915550505b836001600160a01b0316866001600160a01b03161480156119995750600081115b15611a7b5768056bc75e2d631000006119b282876123e2565b6119bc91906123f9565b925080601a54846119cd91906123e2565b6119d791906123f9565b602160008282546119e891906123cf565b9091555050600c5481906119fc90856123e2565b611a0691906123f9565b601f6000828254611a1791906123cf565b9091555050600f548190611a2b90856123e2565b611a3591906123f9565b60206000828254611a4691906123cf565b9091555050600b548190611a5a90856123e2565b611a6491906123f9565b601e6000828254611a7591906123cf565b90915550505b611a86873085611ad2565b836001600160a01b0316866001600160a01b0316148015611aa75750600083115b15611ab457611ab4611cbf565b50505b611acb8585611ac6848761241b565b611ad2565b5050505050565b6001600160a01b038316611b4e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610a34565b6001600160a01b038216611bca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610a34565b6001600160a01b03831660009081526020819052604090205481811015611c595760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610a34565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36115e7565b601d805460ff19166001179055602154602054601f54601e546000939291611ce6916123cf565b611cf091906123cf565b611cfa91906123cf565b905060008111611d0957600080fd5b6013546020546001600160a01b0390911690600090611d2a906002906123f9565b9050611d36818461241b565b60408051600280825260608201835292955060009290916020830190803683370190505090503081600081518110611d7057611d7061242e565b6001600160a01b039283166020918202929092010152601954825191169082906001908110611da157611da161242e565b6001600160a01b0392831660209182029290920101524790841663791ac9478660008530611dd042603c6123cf565b6040518663ffffffff1660e01b8152600401611df0959493929190612444565b600060405180830381600087803b158015611e0a57600080fd5b505af1158015611e1e573d6000803e3d6000fd5b5050505060008147611e30919061241b565b9050600086611e3f86846123e2565b611e4991906123f9565b9050600087601e5484611e5c91906123e2565b611e6691906123f9565b9050600088601f5485611e7991906123e2565b611e8391906123f9565b905060008183611e93868861241b565b611e9d919061241b565b611ea7919061241b565b90508215611eeb576008546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611ee9573d6000803e3d6000fd5b505b8115611f2d576009546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611f2b573d6000803e3d6000fd5b505b8015611f6f576018546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611f6d573d6000803e3d6000fd5b505b600084118015611f7f5750600088115b1561206457886001600160a01b031663f305d71985308b600080611fab6005546001600160a01b031690565b611fb642603c6123cf565b60405160e089901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af115801561203b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061206091906124b5565b5050505b6000601e819055601f81905560208181556021829055604080518381529182018390527f83b75e181cbe69110b62dbfd2ce4c8ffb7d045f6866ba506ee718a88b0b3ba27910160405180910390a25050601d805460ff191690555050505050505050565b6000815180845260005b818110156120ee576020818501810151868301820152016120d2565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061212160208301846120c8565b9392505050565b6001600160a01b0381168114610a3d57600080fd5b6000806040838503121561215057600080fd5b823561215b81612128565b946020939093013593505050565b60006020828403121561217b57600080fd5b813561212181612128565b60006020828403121561219857600080fd5b5035919050565b6000806000606084860312156121b457600080fd5b83356121bf81612128565b925060208401356121cf81612128565b929592945050506040919091013590565b60208152600082516101e08060208501526121ff6102008501836120c8565b91506020850151601f1985840301604086015261221c83826120c8565b925050604085015161223960608601826001600160a01b03169052565b5060608501516001600160a01b038116608086015250608085015160a08581019190915285015160c08086019190915285015160e08086019190915285015161010080860191909152850151610120808601919091528501516101408086019190915285015161016080860191909152850151610180808601919091528501516101a0808601919091528501516101c06122dd818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b6000806040838503121561230957600080fd5b823561231481612128565b91506020830135801515811461232957600080fd5b809150509250929050565b6000806040838503121561234757600080fd5b823561235281612128565b9150602083013561232981612128565b600181811c9082168061237657607f821691505b60208210810361239657634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156123ae57600080fd5b815161212181612128565b634e487b7160e01b600052601160045260246000fd5b80820180821115610946576109466123b9565b8082028115828204841417610946576109466123b9565b60008261241657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610946576109466123b9565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124945784516001600160a01b03168352938301939183019160010161246f565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156124ca57600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122041bd6446ce60a999479a53b4b7dc8148cfa75207565dcc3f5088dfd576cb4dcd64736f6c634300081100330000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000b2ef346b18ea013387939fb7d133427965f13b9e00000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000183b84157fd24264eff203c3629c6f11dc87a16f000000000000000000000000183b84157fd24264eff203c3629c6f11dc87a16f0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000000000000000000000000000056bc75e2d631000000000000000000000000000000000000000000000000000056bc75e2d631000000000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad24000000000000000000000000183b84157fd24264eff203c3629c6f11dc87a16f000000000000000000000000000000000000000000000000000000000000000624454c4f4e4d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000624454c4f4e4d0000000000000000000000000000000000000000000000000000