[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountETH", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountBOG", "type": "uint256" } ], "name": "AutoLiquify", "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" }, { "inputs": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWalletToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256[]", "name": "tokens", "type": "uint256[]" } ], "name": "airDropCustom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256", "name": "tokens", "type": "uint256" } ], "name": "airDropFixed", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "approveMax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "autoLiquidityReceiver", "outputs": [ { "internalType": "address", "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": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "buyCooldownEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountPercentage", "type": "uint256" } ], "name": "clearStuckBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountPercentage", "type": "uint256" } ], "name": "clearStuckBalance_sender", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "contractRouter", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_status", "type": "bool" }, { "internalType": "uint8", "name": "_interval", "type": "uint8" } ], "name": "cooldownEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cooldownTimerInterval", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeDenominator", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "geUnlockTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "getLiquidityBacking", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "target", "type": "uint256" }, { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "isOverLiquified", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "time", "type": "uint256" } ], "name": "lock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "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": "uint256", "name": "buyTax", "type": "uint256" } ], "name": "setBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_autoLiquidityReceiver", "type": "address" }, { "internalType": "address", "name": "_newMarketingWallet", "type": "address" }, { "internalType": "address", "name": "_newdevWallet", "type": "address" } ], "name": "setFeeReceivers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsMaxExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsTimelockExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsTxLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newWallet", "type": "address" } ], "name": "setMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxTXPercentage_base1000", "type": "uint256" } ], "name": "setMaxTxPercent_base1000", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxWallPercent_base1000", "type": "uint256" } ], "name": "setMaxWalletPercent_base1000", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setSwapAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newSwapLpFee", "type": "uint256" }, { "internalType": "uint256", "name": "_newSwapMarketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_newSwapTreasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "_feeDenominator", "type": "uint256" } ], "name": "setSwapFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setSwapThresholdAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_target", "type": "uint256" }, { "internalType": "uint256", "name": "_denominator", "type": "uint256" } ], "name": "setTargetLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "setTransFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newWallet", "type": "address" } ], "name": "setTreasuryFeeReceiver", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapLpFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapMarketing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTotalFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTreasuryFee", "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": "tradingOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "tradingStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "unlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040525f805473e5b31de648bb9a5dac7589d1a7c59646f19fcbdc6001600160a01b031991821681179092556001805490911690911790556100456009600a61052e565b610054906402540be400610543565b6002556103e8600254600a6100699190610543565b610073919061055a565b6003556103e8600254600a6100889190610543565b610092919061055a565b600455601460055560055460065560146007555f6008555f6009556009546007546008546100c09190610579565b6100ca9190610579565b600a555f600b556064600c8190556010805461dead6001600160a01b0319918216179091556011805490911690556014601955601a55601b805462ffffff1916620a0100179055601d805460ff191660011790556002546127109061013090601e610543565b61013a919061055a565b601e55612710600254601e61014f9190610543565b610159919061055a565b601f55348015610167575f5ffd5b50600d80546001600160a01b0319163390811790915560405181905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101fe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610222919061058c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610291919061058c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156102db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ff919061058c565b6001600160a01b0390811660a0528181166080819052305f8181526013602090815260408083209483529381528382205f1990553380835260148083528584208054600160ff19918216811790925560158086528887208054831684179055601680875289882080548416851790556017875289882080548416851790556010548b1688528988208054841685179055978752888720805483168417905586548a168752928552878620805482168317905585548916865295845286852080548716821790558454909716845282528483208054909416909517909255601880546001600160a01b03191685179055600254848252601283528382208190559251928352917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506105b2565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104845780850481111561046857610468610435565b600184161561047657908102905b60019390931c92800261044d565b935093915050565b5f8261049a57506001610528565b816104a657505f610528565b81600181146104bc57600281146104c6576104e2565b6001915050610528565b60ff8411156104d7576104d7610435565b50506001821b610528565b5060208310610133831016604e8410600b8410161715610505575081810a610528565b6105115f198484610449565b805f190482111561052457610524610435565b0290505b92915050565b5f61053c60ff84168361048c565b9392505050565b808202811582820484141761052857610528610435565b5f8261057457634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561052857610528610435565b5f6020828403121561059c575f5ffd5b81516001600160a01b038116811461053c575f5ffd5b60805160a051612c726106125f395f81816106980152818161171701528181611b8d01528181611bc601528181611c2d01528181611d6401526122a101525f818161079c015281816123c00152818161247801526126680152612c725ff3fe6080604052600436106103b6575f3560e01c80636d1b229d116101e9578063b6c5232411610108578063dd62ed3e1161009d578063f2fde38b1161006d578063f2fde38b14610b16578063f53fd58414610b35578063f84ba65d14610b4a578063ffb54a9914610b69575f5ffd5b8063dd62ed3e14610a7f578063e53c30b014610ac3578063e632313c14610ad8578063ee9ef29e14610af7575f5ffd5b8063d7c01032116100d8578063d7c0103214610a03578063dcf7aef314610a22578063dd395c6314610a41578063dd46706414610a60575f5ffd5b8063b6c5232414610992578063bd9ab537146109a6578063ca33e64c146109c5578063d51ed1c8146109e4575f5ffd5b80637d1db4a51161017e5780638ea5220f1161014e5780638ea5220f1461091457806395d89b4114610933578063a69df4b51461095f578063a9059cbb14610973575f5ffd5b80637d1db4a5146108af5780638038cbd3146108c4578063893d20e8146108e35780638da5cb5b146108f7575f5ffd5b8063715018a6116101b9578063715018a614610849578063722b62ad1461085d57806375f0a8741461087c57806378109e541461089a575f5ffd5b80636d1b229d146107be5780636ddd1713146107dd57806370a08231146107f6578063713e4ae51461082a575f5ffd5b80632d594567116102d557806349bd5a5e1161026a5780635d098b381161023a5780635d098b381461072f578063617fe0ed1461074e578063658d4b7f1461076c57806367ac77b41461078b575f5ffd5b806349bd5a5e1461068757806350db71fb146106d2578063571ac8b0146106f15780635c85974f14610710575f5ffd5b8063442a583d116102a5578063442a583d1461061f57806344a33fd21461063e57806346e421a21461065d5780634706240214610672575f5ffd5b80632d594567146105b55780632e8fa821146105d4578063313ce567146105e95780633705b3921461060a575f5ffd5b806318160ddd1161034b578063201e79911161031b578063201e79911461054457806323b872dd1461056357806329e04b4a146105825780632b112e49146105a1575f5ffd5b806318160ddd146104dd5780631ad017b9146104f15780631da1db5e146105105780631e25dc541461052f575f5ffd5b8063095ea7b311610386578063095ea7b31461045b5780630d2959801461048a5780631161ae39146104a9578063180b0d7e146104c8575f5ffd5b8063026f7d15146103c15780630445b667146103e957806306fdde03146103fe57806309302dc61461043a575f5ffd5b366103bd57005b5f5ffd5b3480156103cc575f5ffd5b506103d660085481565b6040519081526020015b60405180910390f35b3480156103f4575f5ffd5b506103d6601e5481565b348015610409575f5ffd5b5060408051808201909152600b81526a05175616e74756d517569760ac1b60208201525b6040516103e0919061272b565b348015610445575f5ffd5b50610459610454366004612760565b610b82565b005b348015610466575f5ffd5b5061047a61047536600461278b565b610bd6565b60405190151581526020016103e0565b348015610495575f5ffd5b506104596104a43660046127c9565b610c42565b3480156104b4575f5ffd5b5061047a6104c33660046127e2565b610c7f565b3480156104d3575f5ffd5b506103d6600c5481565b3480156104e8575f5ffd5b506002546103d6565b3480156104fc575f5ffd5b5061045961050b366004612802565b610c92565b34801561051b575f5ffd5b5061045961052a366004612760565b610d0b565b34801561053a575f5ffd5b506103d6600b5481565b34801561054f575f5ffd5b5061045961055e3660046127e2565b610d85565b34801561056e575f5ffd5b5061047a61057d36600461281d565b610dba565b34801561058d575f5ffd5b5061045961059c366004612760565b610e78565b3480156105ac575f5ffd5b506103d6610ea7565b3480156105c0575f5ffd5b506104596105cf36600461285b565b610ef7565b3480156105df575f5ffd5b506103d6601f5481565b3480156105f4575f5ffd5b5060095b60405160ff90911681526020016103e0565b348015610615575f5ffd5b506103d660065481565b34801561062a575f5ffd5b506104596106393660046128dd565b610f52565b348015610649575f5ffd5b50610459610658366004612760565b6110a9565b348015610668575f5ffd5b506103d660075481565b34801561067d575f5ffd5b506103d660055481565b348015610692575f5ffd5b506106ba7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103e0565b3480156106dd575f5ffd5b506104596106ec366004612935565b6110e4565b3480156106fc575f5ffd5b5061047a61070b366004612802565b611138565b34801561071b575f5ffd5b5061045961072a366004612760565b611144565b34801561073a575f5ffd5b50610459610749366004612802565b611173565b348015610759575f5ffd5b50601b5461047a90610100900460ff1681565b348015610777575f5ffd5b50610459610786366004612935565b6111fe565b348015610796575f5ffd5b506106ba7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c9575f5ffd5b506104596107d8366004612760565b611252565b3480156107e8575f5ffd5b50601d5461047a9060ff1681565b348015610801575f5ffd5b506103d6610810366004612802565b6001600160a01b03165f9081526012602052604090205490565b348015610835575f5ffd5b50610459610844366004612968565b611285565b348015610854575f5ffd5b50610459611482565b348015610868575f5ffd5b50601b546105f89062010000900460ff1681565b348015610887575f5ffd5b505f546106ba906001600160a01b031681565b3480156108a5575f5ffd5b506103d660045481565b3480156108ba575f5ffd5b506103d660035481565b3480156108cf575f5ffd5b506104596108de3660046129ea565b6114e2565b3480156108ee575f5ffd5b506106ba61158e565b348015610902575f5ffd5b50600d546001600160a01b03166106ba565b34801561091f575f5ffd5b506001546106ba906001600160a01b031681565b34801561093e575f5ffd5b506040805180820190915260048152630515549560e41b602082015261042d565b34801561096a575f5ffd5b506104596115a1565b34801561097e575f5ffd5b5061047a61098d36600461278b565b6116a7565b34801561099d575f5ffd5b50600f546103d6565b3480156109b1575f5ffd5b506104596109c0366004612760565b6116b3565b3480156109d0575f5ffd5b506018546106ba906001600160a01b031681565b3480156109ef575f5ffd5b506103d66109fe366004612760565b6116fe565b348015610a0e575f5ffd5b50610459610a1d366004612a19565b611763565b348015610a2d575f5ffd5b50610459610a3c366004612760565b611825565b348015610a4c575f5ffd5b50610459610a5b366004612935565b611854565b348015610a6b575f5ffd5b50610459610a7a366004612760565b6118a8565b348015610a8a575f5ffd5b506103d6610a99366004612a61565b6001600160a01b039182165f90815260136020908152604080832093909416825291909152205490565b348015610ace575f5ffd5b506103d6600a5481565b348015610ae3575f5ffd5b50610459610af2366004612760565b61192b565b348015610b02575f5ffd5b50610459610b11366004612760565b61196d565b348015610b21575f5ffd5b50610459610b30366004612802565b61199c565b348015610b40575f5ffd5b506103d660095481565b348015610b55575f5ffd5b50610459610b64366004612935565b611a73565b348015610b74575f5ffd5b50601b5461047a9060ff1681565b600d546001600160a01b03163314610bb55760405162461bcd60e51b8152600401610bac90612a8d565b60405180910390fd5b6103e881600254610bc69190612ad6565b610bd09190612aed565b60045550565b335f8181526013602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c309086815260200190565b60405180910390a35060015b92915050565b600d546001600160a01b03163314610c6c5760405162461bcd60e51b8152600401610bac90612a8d565b601b805460ff1916911515919091179055565b5f82610c8a836116fe565b119392505050565b600d546001600160a01b03163314610cbc5760405162461bcd60e51b8152600401610bac90612a8d565b600180546001600160a01b039081165f90815260146020526040808220805460ff19908116909155949092168082529190208054909316821790925580546001600160a01b0319169091179055565b600d546001600160a01b03163314610d355760405162461bcd60e51b8152600401610bac90612a8d565b5f5447906001600160a01b03166108fc6064610d518585612ad6565b610d5b9190612aed565b6040518115909202915f818181858888f19350505050158015610d80573d5f5f3e3d5ffd5b505050565b600d546001600160a01b03163314610daf5760405162461bcd60e51b8152600401610bac90612a8d565b601991909155601a55565b6001600160a01b0383165f9081526013602090815260408083203384529091528120545f1914610e63576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152601382528381203382529091529190912054610e3f918490611ac7565b6001600160a01b0385165f9081526013602090815260408083203384529091529020555b610e6e848484611af2565b90505b9392505050565b600d546001600160a01b03163314610ea25760405162461bcd60e51b8152600401610bac90612a8d565b601e55565b6011546001600160a01b03165f90815260126020526040812054610ef2906010546001600160a01b03165f90815260126020526040902054610eec9060025490611fe8565b90611fe8565b905090565b600d546001600160a01b03163314610f215760405162461bcd60e51b8152600401610bac90612a8d565b601b805462ffff0019166101009315159390930262ff00001916929092176201000060ff9290921691909102179055565b600d546001600160a01b03163314610f7c5760405162461bcd60e51b8152600401610bac90612a8d565b6103218210610fe35760405162461bcd60e51b815260206004820152602d60248201527f474153204572726f723a206d61782061697264726f70206c696d69742069732060448201526c3830302061646472657373657360981b6064820152608401610bac565b5f610fee8383612ad6565b90508061100f866001600160a01b03165f9081526012602052604090205490565b101561105d5760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610bac565b5f5b838110156110a1576110988686868481811061107d5761107d612b0c565b90506020020160208101906110929190612802565b85611ff3565b5060010161105f565b505050505050565b600d546001600160a01b031633146110d35760405162461bcd60e51b8152600401610bac90612a8d565b47336108fc6064610d518585612ad6565b600d546001600160a01b0316331461110e5760405162461bcd60e51b8152600401610bac90612a8d565b6001600160a01b03919091165f908152601760205260409020805460ff1916911515919091179055565b5f610c3c825f19610bd6565b600d546001600160a01b0316331461116e5760405162461bcd60e51b8152600401610bac90612a8d565b600355565b600d546001600160a01b0316331461119d5760405162461bcd60e51b8152600401610bac90612a8d565b5f80546001600160a01b039081168252601460209081526040808420805460ff1990811690915594909216808452828420805486166001908117909155601690925291832080549094161790925580546001600160a01b0319169091179055565b600d546001600160a01b031633146112285760405162461bcd60e51b8152600401610bac90612a8d565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b335f90815260126020526040902054811015611282576010546112809033906001600160a01b031683611ff3565b505b50565b600d546001600160a01b031633146112af5760405162461bcd60e51b8152600401610bac90612a8d565b6101f583106113165760405162461bcd60e51b815260206004820152602d60248201527f474153204572726f723a206d61782061697264726f70206c696d69742069732060448201526c3530302061646472657373657360981b6064820152608401610bac565b8281146113765760405162461bcd60e51b815260206004820152602860248201527f4d69736d61746368206265747765656e204164647265737320616e6420746f6b604482015267195b8818dbdd5b9d60c21b6064820152608401610bac565b5f805b848110156113af5783838281811061139357611393612b0c565b90506020020135826113a59190612b20565b9150600101611379565b50806113cf876001600160a01b03165f9081526012602052604090205490565b101561141d5760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610bac565b5f5b84811015611479576114708787878481811061143d5761143d612b0c565b90506020020160208101906114529190612802565b86868581811061146457611464612b0c565b90506020020135611ff3565b5060010161141f565b50505050505050565b600d546001600160a01b031633146114ac5760405162461bcd60e51b8152600401610bac90612a8d565b600d546040515f916001600160a01b0316905f516020612bfd5f395f51905f52908390a3600d80546001600160a01b0319169055565b600d546001600160a01b0316331461150c5760405162461bcd60e51b8152600401610bac90612a8d565b60078490556008839055600982905561152f8261152986866120c3565b906120c3565b600a819055600c829055605a116115885760405162461bcd60e51b815260206004820152601860248201527f466565732063616e6e6f742062652074686174206869676800000000000000006044820152606401610bac565b50505050565b5f610ef2600d546001600160a01b031690565b600e546001600160a01b031633146116075760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610bac565b600f5442116116585760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610bac565b600e54600d546040516001600160a01b0392831692909116905f516020612bfd5f395f51905f52905f90a3600e54600d80546001600160a01b0319166001600160a01b03909216919091179055565b5f610e71338484611af2565b600d546001600160a01b031633146116dd5760405162461bcd60e51b8152600401610bac90612a8d565b6103e8816002546116ee9190612ad6565b6116f89190612aed565b60035550565b5f610c3c61170a610ea7565b61175d61175660026117507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165f9081526012602052604090205490565b906120ce565b85906120ce565b906120d9565b600d546001600160a01b0316331461178d5760405162461bcd60e51b8152600401610bac90612a8d565b600180546001600160a01b039081165f908152601460209081526040808320805460ff1990811690915595841680845281842080548816871790558354851684528184208054881690559684168084528184208054881687179055601690925282208054909516841790945560188054969092166001600160a01b031996871617909155805485169092179091558054909216179055565b600d546001600160a01b0316331461184f5760405162461bcd60e51b8152600401610bac90612a8d565b600655565b600d546001600160a01b0316331461187e5760405162461bcd60e51b8152600401610bac90612a8d565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b600d546001600160a01b031633146118d25760405162461bcd60e51b8152600401610bac90612a8d565b600d8054600e80546001600160a01b03199081166001600160a01b038416179091551690556119018142612b20565b600f55600d546040515f916001600160a01b0316905f516020612bfd5f395f51905f52908390a350565b600d546001600160a01b031633146119555760405162461bcd60e51b8152600401610bac90612a8d565b601e5481111561196857601e54601f5550565b601f55565b600d546001600160a01b031633146119975760405162461bcd60e51b8152600401610bac90612a8d565b600b55565b600d546001600160a01b031633146119c65760405162461bcd60e51b8152600401610bac90612a8d565b6001600160a01b038116611a2b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bac565b600d546040516001600160a01b038084169216905f516020612bfd5f395f51905f52905f90a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600d546001600160a01b03163314611a9d5760405162461bcd60e51b8152600401610bac90612a8d565b6001600160a01b03919091165f908152601560205260409020805460ff1916911515919091179055565b5f8184841115611aea5760405162461bcd60e51b8152600401610bac919061272b565b505050900390565b6020545f9060ff1615611b1157611b0a848484611ff3565b9050610e71565b600d546001600160a01b03858116911614801590611b3d5750600d546001600160a01b03848116911614155b15611b8b57601b5460ff16611b8b5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610bac565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116908416145f811582611bfb57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b031614155b90506001600160a01b0385163014801590611c2457506010546001600160a01b03868116911614155b8015611c6257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b8015611c7b57505f546001600160a01b03868116911614155b8015611c9557506001546001600160a01b03868116911614155b8015611caf57506018546001600160a01b03868116911614155b15611d62576001600160a01b0385165f9081526012602090815260408083205460169092529091205460ff16611d6057600454611cec8683612b20565b1115611d605760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610bac565b505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b0316148015611daa5750601b54610100900460ff165b8015611dce57506001600160a01b0385165f9081526017602052604090205460ff16155b15611e76576001600160a01b0385165f908152601c60205260409020544211611e475760405162461bcd60e51b815260206004820152602560248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f604482015264206275797360d81b6064820152608401610bac565b601b54611e5d9062010000900460ff1642612b20565b6001600160a01b0386165f908152601c60205260409020555b6001600160a01b0385165f9081526015602052604090205460ff16611e9f57611e9f86856120e4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f90815260129091529190912054611ef0918690611ac7565b6001600160a01b0387165f90815260126020526040902055838115611f2957600b5415611f2457611f21878661214c565b90505b611f71565b6001600160a01b0387165f9081526014602052604090205460ff1615611f4f5784611f5a565b611f5a8786856121e9565b9050611f64612295565b15611f7157611f716122ff565b6001600160a01b0386165f90815260126020526040902054611f9390826120c3565b6001600160a01b038088165f8181526012602052604090819020939093559151908916905f516020612c1d5f395f51905f5290611fd39085815260200190565b60405180910390a35060019695505050505050565b5f610e718284612b33565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152601290915291822054612043918490611ac7565b6001600160a01b038086165f90815260126020526040808220939093559085168152205461207190836120c3565b6001600160a01b038085165f8181526012602052604090819020939093559151908616905f516020612c1d5f395f51905f52906120b19086815260200190565b60405180910390a35060019392505050565b5f610e718284612b20565b5f610e718284612ad6565b5f610e718284612aed565b6003548111158061210c57506001600160a01b0382165f9081526015602052604090205460ff165b6112805760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610bac565b5f5f600b5490505f612175600c5460646121669190612ad6565b61175d606461175088876120ce565b305f9081526012602052604090205490915061219190826120c3565b305f81815260126020526040908190209290925590516001600160a01b038716905f516020612c1d5f395f51905f52906121ce9085815260200190565b60405180910390a36121e08482611fe8565b95945050505050565b5f5f826121f8576006546121fc565b600a545b90505f612220600c5460646122119190612ad6565b61175d606461175089876120ce565b305f9081526012602052604090205490915061223c90826120c3565b305f81815260126020526040908190209290925590516001600160a01b038816905f516020612c1d5f395f51905f52906122799085815260200190565b60405180910390a361228b8582611fe8565b9695505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906122d2575060205460ff16155b80156122e05750601d5460ff165b8015610ef2575050601e54305f90815260126020526040902054101590565b6020805460ff19166001179055601954601a545f9161231d91610c7f565b6123295760075461232b565b5f5b90505f61234e600261175d600a5461175d86601f546120ce90919063ffffffff16565b90505f61236682601f54611fe890919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061239e5761239e612b0c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561241a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061243e9190612b46565b8160018151811061245157612451612b0c565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b815247917f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906124b59086905f90879030904290600401612b61565b5f604051808303815f87803b1580156124cc575f5ffd5b505af11580156124de573d5f5f3e3d5ffd5b505050505f6124f68247611fe890919063ffffffff16565b90505f6125106125078860026120d9565b600a5490611fe8565b90505f612531600261175d8461175d600754886120ce90919063ffffffff16565b90505f61254d8361175d600854876120ce90919063ffffffff16565b90505f6125698461175d600954886120ce90919063ffffffff16565b5f805460405192935090916001600160a01b039091169061753090859084818181858888f193505050503d805f81146125bd576040519150601f19603f3d011682016040523d82523d5f602084013e6125c2565b606091505b50506001546040519192506001600160a01b0316906175309084905f818181858888f193505050503d805f8114612614576040519150601f19603f3d011682016040523d82523d5f602084013e612619565b606091505b505f9250508a1590506127145760185460405163f305d71960e01b8152306004820152602481018c90525f6044820181905260648201526001600160a01b0391821660848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000009091169063f305d71990869060c40160606040518083038185885af11580156126b2573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906126d79190612bd1565b505060408051868152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506020805460ff19169055505050505050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215612770575f5ffd5b5035919050565b6001600160a01b0381168114611282575f5ffd5b5f5f6040838503121561279c575f5ffd5b82356127a781612777565b946020939093013593505050565b803580151581146127c4575f5ffd5b919050565b5f602082840312156127d9575f5ffd5b610e71826127b5565b5f5f604083850312156127f3575f5ffd5b50508035926020909101359150565b5f60208284031215612812575f5ffd5b8135610e7181612777565b5f5f5f6060848603121561282f575f5ffd5b833561283a81612777565b9250602084013561284a81612777565b929592945050506040919091013590565b5f5f6040838503121561286c575f5ffd5b612875836127b5565b9150602083013560ff8116811461288a575f5ffd5b809150509250929050565b5f5f83601f8401126128a5575f5ffd5b50813567ffffffffffffffff8111156128bc575f5ffd5b6020830191508360208260051b85010111156128d6575f5ffd5b9250929050565b5f5f5f5f606085870312156128f0575f5ffd5b84356128fb81612777565b9350602085013567ffffffffffffffff811115612916575f5ffd5b61292287828801612895565b9598909750949560400135949350505050565b5f5f60408385031215612946575f5ffd5b823561295181612777565b915061295f602084016127b5565b90509250929050565b5f5f5f5f5f6060868803121561297c575f5ffd5b853561298781612777565b9450602086013567ffffffffffffffff8111156129a2575f5ffd5b6129ae88828901612895565b909550935050604086013567ffffffffffffffff8111156129cd575f5ffd5b6129d988828901612895565b969995985093965092949392505050565b5f5f5f5f608085870312156129fd575f5ffd5b5050823594602084013594506040840135936060013592509050565b5f5f5f60608486031215612a2b575f5ffd5b8335612a3681612777565b92506020840135612a4681612777565b91506040840135612a5681612777565b809150509250925092565b5f5f60408385031215612a72575f5ffd5b8235612a7d81612777565b9150602083013561288a81612777565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610c3c57610c3c612ac2565b5f82612b0757634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b80820180821115610c3c57610c3c612ac2565b81810381811115610c3c57610c3c612ac2565b5f60208284031215612b56575f5ffd5b8151610e7181612777565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015612bb15783516001600160a01b0316835260209384019390920191600101612b8a565b50506001600160a01b039590951660608401525050608001529392505050565b5f5f5f60608486031215612be3575f5ffd5b505081516020830151604090930151909492935091905056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205012bd9b5558a5444f37d6cec7d8061f050c7b3408b6e12868bd42c4b0b84ff664736f6c634300081c0033