[ { "inputs": [ { "internalType": "address payable", "name": "marketingWallet", "type": "address" }, { "internalType": "address payable", "name": "developmentWallet", "type": "address" }, { "internalType": "address payable", "name": "buyBackBurnLPWallet", "type": "address" }, { "internalType": "address payable", "name": "teamFoundationWallet", "type": "address" } ], "stateMutability": "payable", "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": "amountCurrency", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountTokens", "type": "uint256" } ], "name": "AutoLiquify", "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": 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": "DEAD", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TEAM_LOCK_PERIOD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TEAM_VESTING_DURATION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_hasLiqBeenAdded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_ratios", "outputs": [ { "internalType": "uint16", "name": "marketing", "type": "uint16" }, { "internalType": "uint16", "name": "development", "type": "uint16" }, { "internalType": "uint16", "name": "buyBackBurnLP", "type": "uint16" }, { "internalType": "uint16", "name": "totalSwap", "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" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxWallets", "outputs": [ { "internalType": "address payable", "name": "marketing", "type": "address" }, { "internalType": "address payable", "name": "development", "type": "address" }, { "internalType": "address payable", "name": "buyBackBurnLP", "type": "address" } ], "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractSwapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract IRouter02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "finalTaxRate", "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": "bool", "name": "buy", "type": "bool" }, { "internalType": "bool", "name": "sell", "type": "bool" } ], "name": "getDynamicTaxRate", "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": "priceImpactInHundreds", "type": "uint256" } ], "name": "getTokenAmountAtPriceImpact", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "initialTaxRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromProtection", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchStamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "lockedTokens", "outputs": [ { "internalType": "uint256", "name": "totalAmount", "type": "uint256" }, { "internalType": "uint256", "name": "releaseTime", "type": "uint256" }, { "internalType": "uint256", "name": "vestingStart", "type": "uint256" }, { "internalType": "uint256", "name": "vestingDuration", "type": "uint256" }, { "internalType": "uint256", "name": "claimed", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxBuyTaxes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxReductionMinutes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSellTaxes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransferAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransferTaxes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [], "name": "piContractSwapsEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "piSwapPercent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "swapEnabled", "type": "bool" }, { "internalType": "bool", "name": "priceImpactSwapEnabled", "type": "bool" } ], "name": "setContractSwapEnabled", "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": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setExcludedFromProtection", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "init", "type": "address" } ], "name": "setInitializer", "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": "_maxTransferAmount", "type": "uint256" } ], "name": "setMaxTransferAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxWalletAmount", "type": "uint256" } ], "name": "setMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newRouter", "type": "address" } ], "name": "setNewRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "priceImpactSwapPercent", "type": "uint256" } ], "name": "setPriceImpactSwapAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "marketing", "type": "uint16" }, { "internalType": "uint16", "name": "development", "type": "uint16" }, { "internalType": "uint16", "name": "buyBackBurnLP", "type": "uint16" } ], "name": "setRatios", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "thresholdPercent", "type": "uint256" }, { "internalType": "uint256", "name": "thresholdDivisor", "type": "uint256" }, { "internalType": "uint256", "name": "amountPercent", "type": "uint256" }, { "internalType": "uint256", "name": "amountDivisor", "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" } ], "name": "setTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "marketing", "type": "address" }, { "internalType": "address payable", "name": "development", "type": "address" }, { "internalType": "address payable", "name": "buyBackBurnLP", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAmount", "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": "sweepContingency", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "sweepExternalTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "taxReductionPerMinute", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxesAreLocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "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": "transferOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "vestedAndClaimable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
600060028181556101f4608081905260a05260c08290526007805465ffffffffffff19166301f401f417905560e0819052610100526001610120526005610140526008805466050001000200026001600160401b03199091161781556101c06040526101608290526101808290526101a091909152600c80546001600160a01b0319908116909155600d805482169055600e80549091169055600f805461ff001916905561271090620000b490600a62000755565b620000c4906305f5e1006200076d565b620000d0919062000787565b601055612710620000e46008600a62000755565b620000f4906305f5e1006200076d565b62000100919062000787565b6011556012805460ff19169055600a6013556014805461ffff19169055604051620048ac388190039081908339810160408190526200013f91620007c7565b601880546001600160a01b031916331790556200015f6008600a62000755565b6200016f906305f5e1006200076d565b601880546001600160a01b03908116600090815260208190526040812093909355905416906000805160206200488c833981519152620001b26008600a62000755565b620001c2906305f5e1006200076d565b60405190815260200160405180910390a3601880546001600160a01b0390811660009081526006602081815260408084208054600160ff19918216811790925530865282862080548216831790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280548216831790559654861685526004835281852080548816821790559282527f9f0450866e340883c5637ebf25d629ea9e0ea06bf9caa3748b581238b1bc2bb980548716841790557f9b00c99845a242ceea732a2478bee8e7b057d22892cafbdc32d0e607c88ddea0805487168417905573dba68f07d1b7ca219f78ae8582c213d975c25caf84527fab9d0a02af394b8961be3a9588d91fbbf70984385fd8d3031385f593b62a4bf9805490961690921790945580516060810182528884168082528885169582018690529387169101819052600c80546001600160a01b03199081169094179055600d80548416909417909355600e805490921690921790556064620003426008600a62000755565b62000352906305f5e1006200076d565b6200035f90600a6200076d565b6200036b919062000787565b9050600060646200037f6008600a62000755565b6200038f906305f5e1006200076d565b6200039c9060056200076d565b620003a8919062000787565b905060006064620003bc6008600a62000755565b620003cc906305f5e1006200076d565b620003d990600f6200076d565b620003e5919062000787565b6001600160a01b0380891660009081526020819052604080822087905589831682528082208690559187168152819020829055805160a08101909152909150806064620004356008600a62000755565b62000445906305f5e1006200076d565b6200045290600f6200076d565b6200045e919062000787565b8152602001620004726276a7004262000824565b8152602001620004866276a7004262000824565b81526303b53800602080830191909152600060409283018190526001600160a01b03881681526009825282902083518155908301516001820155908201516002820155606082015160038201556080909101516004909101556064620004ef6008600a62000755565b620004ff906305f5e1006200076d565b6200050b919062000787565b60165560646200051e6008600a62000755565b6200052e906305f5e1006200076d565b6200053a919062000787565b601755806200054a838562000824565b62000556919062000824565b620005646008600a62000755565b62000574906305f5e1006200076d565b6200058091906200083a565b601880546001600160a01b039081166000908152602081815260409182902094909455915491518681528a82169392909116916000805160206200488c833981519152910160405180910390a36018546040518381526001600160a01b038881169216906000805160206200488c8339815191529060200160405180910390a36018546040518281526001600160a01b038681169216906000805160206200488c8339815191529060200160405180910390a35050505050505062000850565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006975781600019048211156200067b576200067b62000640565b808516156200068957918102915b93841c93908002906200065b565b509250929050565b600082620006b0575060016200074f565b81620006bf575060006200074f565b8160018114620006d85760028114620006e35762000703565b60019150506200074f565b60ff841115620006f757620006f762000640565b50506001821b6200074f565b5060208310610133831016604e8410600b841016171562000728575081810a6200074f565b62000734838362000656565b80600019048211156200074b576200074b62000640565b0290505b92915050565b60006200076660ff8416836200069f565b9392505050565b80820281158282048414176200074f576200074f62000640565b600082620007a557634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160a01b0381168114620007c257600080fd5b919050565b60008060008060808587031215620007de57600080fd5b620007e985620007aa565b9350620007f960208601620007aa565b92506200080960408601620007aa565b91506200081960608601620007aa565b905092959194509250565b808201808211156200074f576200074f62000640565b818103818111156200074f576200074f62000640565b61402c80620008606000396000f3fe6080604052600436106103c75760003560e01c806370a08231116101f2578063ab558e4d1161010d578063de7c2ed2116100a0578063fb78680d1161006f578063fb78680d14610bf8578063fdb78c0e14610c18578063fe48d6f914610af8578063feadde9c14610c3757600080fd5b8063de7c2ed214610b54578063eafb5a3c14610b6c578063ee5d9c2d14610b8c578063f94aa1b414610ba157600080fd5b8063bfc2fc35116100dc578063bfc2fc3514610a70578063cf84770614610a90578063d5299ff314610af8578063dd62ed3e14610b0e57600080fd5b8063ab558e4d14610a36578063b1b08f7114610606578063b3d514fb14610606578063b7df8b3614610a5657600080fd5b80638b13678411610185578063a9059cbb11610154578063a9059cbb146109ca578063a9e75723146109ea578063aa22b17214610a00578063aa4bde2814610a2057600080fd5b80638b136784146109465780638bf554091461095c57806395d89b411461097c5780639febf582146109aa57600080fd5b806380c581d1116101c157806380c581d1146108de578063893d20e8146108fe5780638a63bd9b1461091c5780638a8c523c1461093157600080fd5b806370a0823114610874578063715018a61461089457806375cb1bd1146108a957806378648edf146108c957600080fd5b8063313ce567116102e25780634fb2e45d116102755780635a6f0918116102445780635a6f0918146107ac5780635c24b074146107c25780635eb7413a146107e2578063606b89b71461085457600080fd5b80634fb2e45d146107145780634fbee1931461073457806350a8e0161461076d578063590ffdce1461078c57600080fd5b8063452ed4f1116102b1578063452ed4f11461069a5780634ada218b146106ba5780634bbb93eb146106d45780634e718e48146106f457600080fd5b8063313ce5671461063257806332cde6641461064e578063359289981461066e578063394188be1461068557600080fd5b806318160ddd1161035a578063285777511161032957806328577751146105db5780632b112e49146105f15780632b28fc7a146106065780632e8fa8211461061c57600080fd5b806318160ddd1461056457806323b872dd146105795780632610eaca1461059957806327a14fc2146105bb57600080fd5b80630758d924116103965780630758d924146104bc57806307dd79e0146104e1578063095ea7b31461050b5780630dcbcf1c1461052b57600080fd5b806303fd2a45146103d35780630445b66714610406578063069d955f1461042a57806306fdde031461048057600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b506103e961dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561041257600080fd5b5061041c60105481565b6040519081526020016103fd565b34801561043657600080fd5b5060075461045b9061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016103fd565b34801561048c57600080fd5b5060408051808201909152600a815269272cac1021a4a82422a960b11b60208201525b6040516103fd9190613839565b3480156104c857600080fd5b50600a546103e99061010090046001600160a01b031681565b3480156104ed57600080fd5b50600a546104fb9060ff1681565b60405190151581526020016103fd565b34801561051757600080fd5b506104fb61052636600461389d565b610c57565b34801561053757600080fd5b506104fb6105463660046138c9565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561057057600080fd5b5061041c610c6e565b34801561058557600080fd5b506104fb6105943660046138e6565b610c8f565b3480156105a557600080fd5b506105b96105b4366004613a01565b610d35565b005b3480156105c757600080fd5b506105b96105d6366004613ac3565b610ebb565b3480156105e757600080fd5b5061041c60135481565b3480156105fd57600080fd5b5061041c610f4e565b34801561061257600080fd5b5061041c6103e881565b34801561062857600080fd5b5061041c60115481565b34801561063e57600080fd5b50604051600881526020016103fd565b34801561065a57600080fd5b506105b9610669366004613af3565b610f93565b34801561067a57600080fd5b5061041c6276a70081565b34801561069157600080fd5b5061041c600481565b3480156106a657600080fd5b50600b546103e9906001600160a01b031681565b3480156106c657600080fd5b506014546104fb9060ff1681565b3480156106e057600080fd5b5061041c6106ef366004613ac3565b6110bd565b34801561070057600080fd5b506105b961070f366004613ac3565b6110ef565b34801561072057600080fd5b506105b961072f3660046138c9565b611168565b34801561074057600080fd5b506104fb61074f3660046138c9565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561077957600080fd5b506014546104fb90610100900460ff1681565b34801561079857600080fd5b506105b96107a7366004613b44565b611291565b3480156107b857600080fd5b5061041c60155481565b3480156107ce57600080fd5b506105b96107dd3660046138c9565b6112e6565b3480156107ee57600080fd5b5061082c6107fd3660046138c9565b600960205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a0016103fd565b34801561086057600080fd5b5061041c61086f366004613b7d565b61148a565b34801561088057600080fd5b5061041c61088f3660046138c9565b611531565b3480156108a057600080fd5b506105b961154c565b3480156108b557600080fd5b506105b96108c4366004613b9b565b611645565b3480156108d557600080fd5b506105b961172e565b3480156108ea57600080fd5b506105b96108f9366004613b44565b611767565b34801561090a57600080fd5b506018546001600160a01b03166103e9565b34801561092857600080fd5b506104fb611946565b34801561093d57600080fd5b506105b9611998565b34801561095257600080fd5b5061041c6109c481565b34801561096857600080fd5b506105b9610977366004613ac3565b611bc2565b34801561098857600080fd5b506040805180820190915260058152640244e5843560dc1b60208201526104af565b3480156109b657600080fd5b5061041c6109c53660046138c9565b611c57565b3480156109d657600080fd5b506104fb6109e536600461389d565b611d25565b3480156109f657600080fd5b5061041c60165481565b348015610a0c57600080fd5b506105b9610a1b366004613af3565b611d3c565b348015610a2c57600080fd5b5061041c60175481565b348015610a4257600080fd5b506105b9610a513660046138c9565b611e63565b348015610a6257600080fd5b506012546104fb9060ff1681565b348015610a7c57600080fd5b506105b9610a8b366004613b7d565b611fdf565b348015610a9c57600080fd5b50600854610aca9061ffff808216916201000081048216916401000000008204811691600160301b90041684565b6040805161ffff958616815293851660208501529184169183019190915290911660608201526080016103fd565b348015610b0457600080fd5b5061041c6101f481565b348015610b1a57600080fd5b5061041c610b29366004613be6565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b348015610b6057600080fd5b5061041c6303b5380081565b348015610b7857600080fd5b506105b9610b873660046138c9565b612068565b348015610b9857600080fd5b506105b961243e565b348015610bad57600080fd5b50600c54600d54600e54610bce926001600160a01b03908116928116911683565b604080516001600160a01b03948516815292841660208401529216918101919091526060016103fd565b348015610c0457600080fd5b506105b9610c13366004613c14565b6124f9565b348015610c2457600080fd5b50600f546104fb90610100900460ff1681565b348015610c4357600080fd5b506105b9610c52366004613b44565b612703565b6000610c64338484612758565b5060015b92915050565b6000610c7c6008600a613d40565b610c8a906305f5e100613d4f565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610d22576001600160a01b0384166000908152600360209081526040808320338452909152902054610ce99083612851565b6001600160a01b038516600090815260036020908152604080832033845290915281208054909190610d1c908490613d66565b90915550505b610d2d848484612893565b949350505050565b6018546001600160a01b03163314610d685760405162461bcd60e51b8152600401610d5f90613d79565b60405180910390fd5b8051825114610db15760405162461bcd60e51b81526020600482015260156024820152742632b733ba3439903237903737ba1036b0ba31b41760591b6044820152606401610d5f565b60005b82518161ffff161015610eb657610dcd6008600a613d40565b828261ffff1681518110610de357610de3613da4565b6020026020010151610df59190613d4f565b610dfe33611531565b1015610e415760405162461bcd60e51b81526020600482015260126024820152712737ba1032b737bab3b4103a37b5b2b7399760711b6044820152606401610d5f565b610ea333848361ffff1681518110610e5b57610e5b613da4565b60200260200101516008600a610e719190613d40565b858561ffff1681518110610e8757610e87613da4565b6020026020010151610e999190613d4f565b6000806001612db1565b5080610eae81613dba565b915050610db4565b505050565b6018546001600160a01b03163314610ee55760405162461bcd60e51b8152600401610d5f90613d79565b60008111610f495760405162461bcd60e51b815260206004820152602b60248201527f4d61782077616c6c657420616d6f756e74206d7573742062652067726561746560448201526a72207468616e207a65726f60a81b6064820152608401610d5f565b601755565b6000610f5a6000611531565b610f6561dead611531565b610f6f9190613ddb565b610f7b6008600a613d40565b610f89906305f5e100613d4f565b610c8a9190613d66565b6018546001600160a01b03163314610fbd5760405162461bcd60e51b8152600401610d5f90613d79565b600a5460ff16156110045760405162461bcd60e51b81526020600482015260116024820152702a30bc32b99030b932903637b1b5b2b21760791b6044820152606401610d5f565b6103e88361ffff161115801561102057506103e88261ffff1611155b801561103257506103e88161ffff1611155b61107e5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420657863656564206d6178696d756d732e0000000000000000006044820152606401610d5f565b6007805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b600b546000906127109083906110db906001600160a01b0316611531565b6110e59190613d4f565b610c689190613dee565b6018546001600160a01b031633146111195760405162461bcd60e51b8152600401610d5f90613d79565b60968111156111635760405162461bcd60e51b815260206004820152601660248201527521b0b73737ba1039b2ba1030b137bb329018971a929760511b6044820152606401610d5f565b601355565b6018546001600160a01b031633146111925760405162461bcd60e51b8152600401610d5f90613d79565b6001600160a01b0381166111b85760405162461bcd60e51b8152600401610d5f90613e10565b61deac196001600160a01b038216016111e35760405162461bcd60e51b8152600401610d5f90613e10565b6018546111fa906001600160a01b03166000611291565b611205816001611291565b60185460009061121d906001600160a01b0316611531565b111561123f5760185461123d906001600160a01b031682610e9982611531565b505b601880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6018546001600160a01b031633146112bb5760405162461bcd60e51b8152600401610d5f90613d79565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6018546001600160a01b031633146113105760405162461bcd60e51b8152600401610d5f90613d79565b60145460ff161561132057600080fd5b306001600160a01b038216036113695760405162461bcd60e51b815260206004820152600e60248201526d21b0b713ba1031329039b2b6331760911b6044820152606401610d5f565b6014805462010000600160b01b031916620100006001600160a01b0384811682029290921792839055604080516330fe427560e21b81528151929094049092169263c3f909d492600480830193919282900301816000875af19250505080156113ef575060408051601f3d908101601f191682019092526113ec91810190613e6d565b60015b6113f857600080fd5b600a8054610100600160a81b0319166101006001600160a01b038581168202929092178355600b80546001600160a01b0319168584169081179091556000908152600160208190526040909120805460ff1916909117905560185492546114689383169291900416600019612758565b600a54610eb690309061010090046001600160a01b0316600019612758565b50565b60008083156114a0575060075461ffff166114ca565b82156114b9575060075462010000900461ffff166114ca565b50600754640100000000900461ffff165b601554421061152a576000603c601554426114e59190613d66565b6114ef9190613dee565b905060048110611505576101f492505050610c68565b60006115136101f483613d4f565b61151f906109c4613d66565b9350610c6892505050565b9392505050565b6001600160a01b031660009081526020819052604090205490565b6018546001600160a01b031633146115765760405162461bcd60e51b8152600401610d5f90613d79565b60145460ff166115e05760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742072656e6f756e636520756e74696c2074726164696e6720686160448201526e39903132b2b71032b730b13632b21760891b6064820152608401610d5f565b6018546115f7906001600160a01b03166000611291565b601880546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6018546001600160a01b0316331461166f5760405162461bcd60e51b8152600401610d5f90613d79565b6001600160a01b0383161580159061168f57506001600160a01b03821615155b80156116a357506001600160a01b03811615155b6116ef5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610d5f565b600c80546001600160a01b039485166001600160a01b031991821617909155600d805493851693821693909317909255600e8054919093169116179055565b6018546001600160a01b031633146117585760405162461bcd60e51b8152600401610d5f90613d79565b600a805460ff19166001179055565b6018546001600160a01b031633146117915760405162461bcd60e51b8152600401610d5f90613d79565b80611821576001600160a01b03828116600081815260016020526040808220805460ff1916905560145490516380c581d160e01b815260048101939093526024830191909152620100009004909116906380c581d1906044015b600060405180830381600087803b15801561180557600080fd5b505af1158015611819573d6000803e3d6000fd5b505050505050565b6002541561187a576203f4806002544261183b9190613d66565b1161187a5760405162461bcd60e51b815260206004820152600f60248201526e19902230bc9031b7b7b63237bbb71760891b6044820152606401610d5f565b6001600160a01b03821660009081526001602052604090205460ff16156118e35760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e00000000006044820152606401610d5f565b6001600160a01b03828116600081815260016020819052604091829020805460ff1916821790554260025560145491516380c581d160e01b815260048101939093526024830152620100009004909116906380c581d1906044016117eb565b5050565b6018546000906001600160a01b031633146119735760405162461bcd60e51b8152600401610d5f90613d79565b600a5461199290309061010090046001600160a01b0316600019612758565b50600190565b6018546001600160a01b031633146119c25760405162461bcd60e51b8152600401610d5f90613d79565b60145460ff1615611a155760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610d5f565b601454610100900460ff16611a6c5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610d5f565b6014546201000090046001600160a01b0316611a9c576014805462010000600160b01b0319163062010000021790555b601454600b54604051631b04570d60e21b81526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260086064820152620100009092041690636c115c3490608401600060405180830381600087803b158015611b0e57600080fd5b505af1925050508015611b1f575060015b50601454600b546001600160a01b03620100009092048216916325a71cae91611b489116611531565b6040518263ffffffff1660e01b8152600401611b6691815260200190565b60408051808303816000875af1925050508015611ba0575060408051601f3d908101601f19168201909252611b9d91810190613e9c565b60015b15611baf576010919091556011555b6014805460ff1916600117905542601555565b6018546001600160a01b03163314611bec5760405162461bcd60e51b8152600401610d5f90613d79565b60008111611c525760405162461bcd60e51b815260206004820152602d60248201527f4d6178207472616e7366657220616d6f756e74206d757374206265206772656160448201526c746572207468616e207a65726f60981b6064820152608401610d5f565b601655565b6001600160a01b0381166000908152600960209081526040808320815160a0810183528154815260018201549381018490526002820154928101929092526003810154606083015260040154608082015290421015611cb95750600092915050565b6000816040015142611ccb9190613d66565b905081606001518110611ce95760808201518251610d2d9190613d66565b60008260600151828460000151611d009190613d4f565b611d0a9190613dee565b9050826080015181611d1c9190613d66565b95945050505050565b6000611d32338484612893565b5060019392505050565b6018546001600160a01b03163314611d665760405162461bcd60e51b8152600401610d5f90613d79565b6008805461ffff8381166401000000000265ffff0000000019868316620100000263ffffffff1990941692881692909217929092171617905580611daa8385613ec0565b611db49190613ec0565b6008805467ffff0000000000001916600160301b61ffff93841602179055600754600091611deb9162010000810482169116613ec0565b60085461ffff9182169250600160301b900416811015611e5d5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206578636565642073756d206f662062757920616e642073656c60448201526636103332b2b99760c91b6064820152608401610d5f565b50505050565b6018546001600160a01b03163314611e8d5760405162461bcd60e51b8152600401610d5f90613d79565b601454610100900460ff1615611ef557306001600160a01b03821603611ef55760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207377656570206e617469766520746f6b656e732e00000000006044820152606401610d5f565b6018546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa158015611f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f709190613ee2565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb69190613efb565b6018546001600160a01b031633146120095760405162461bcd60e51b8152600401610d5f90613d79565b600f805461ff001916610100841515908102919091179091556012805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906020015b60405180910390a15050565b6018546001600160a01b031633146120925760405162461bcd60e51b8152600401610d5f90613d79565b601454610100900460ff16156120ea5760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206368616e6765206166746572206c69717569646974792e00006044820152606401610d5f565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561212f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121539190613f18565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c49190613f18565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561220f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122339190613f18565b600b546001600160a01b039081166000908152600160205260409020805460ff1916905590915081166123c957816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561229e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c29190613f18565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561230f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123339190613f18565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a49190613f18565b600b80546001600160a01b0319166001600160a01b03929092169190911790556123e5565b600b80546001600160a01b0319166001600160a01b0383161790555b600a8054610100600160a81b0319166101006001600160a01b038581168202929092178355600b5482166000908152600160208190526040909120805460ff191690911790559154610eb6923092910416600019612758565b6018546001600160a01b031633146124685760405162461bcd60e51b8152600401610d5f90613d79565b601454610100900460ff16156124c05760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610d5f565b6018546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611487573d6000803e3d6000fd5b6018546001600160a01b031633146125235760405162461bcd60e51b8152600401610d5f90613d79565b82846125316008600a613d40565b61253f906305f5e100613d4f565b6125499190613d4f565b6125539190613dee565b60105580826125646008600a613d40565b612572906305f5e100613d4f565b61257c9190613d4f565b6125869190613dee565b601181905560105411156125e65760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610d5f565b600b54612710906125ff906001600160a01b0316611531565b61260a906096613d4f565b6126149190613dee565b60115411156126715760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742062652061626f766520312e3525206f662063757272656e742060448201526228249760e91b6064820152608401610d5f565b620f42406126816008600a613d40565b61268f906305f5e100613d4f565b6126999190613dee565b60115410156126ba5760405162461bcd60e51b8152600401610d5f90613f35565b620f42406126ca6008600a613d40565b6126d8906305f5e100613d4f565b6126e29190613dee565b6010541015611e5d5760405162461bcd60e51b8152600401610d5f90613f35565b6018546001600160a01b0316331461272d5760405162461bcd60e51b8152600401610d5f90613d79565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6001600160a01b0383166127a45760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610d5f565b6001600160a01b0382166127f05760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610d5f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061152a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130b9565b60006001600160a01b0384166128f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610d5f565b6001600160a01b03831661295b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610d5f565b600082116129bd5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610d5f565b6001600160a01b03841660009081526006602052604090205460ff161580156129ff57506001600160a01b03831660009081526006602052604090205460ff16155b15612af357601654821115612a625760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657220616d6f756e74206578636565647320746865203125206c6044820152631a5b5a5d60e21b6064820152608401610d5f565b6001600160a01b038316600090815260208190526040812054612a86908490613ddb565b9050601754811115612af15760405162461bcd60e51b815260206004820152602e60248201527f526563697069656e742065786365656473206d6178696d756d2077616c6c657460448201526d0818985b185b98d9481b1a5b5a5d60921b6064820152608401610d5f565b505b6001600160a01b0384166000908152600160205260408120548190819060ff1615612b215760019250612b4f565b6001600160a01b03861660009081526001602052604090205460ff1615612b4b5760019150612b4f565b5060015b600e546001600160a01b0390811690881603612bfd57600b546001600160a01b0387811691161480612b8b57506001600160a01b03861661dead145b612bfd5760405162461bcd60e51b815260206004820152603760248201527f6275794261636b4275726e4c502063616e206f6e6c792073656e6420746f204460448201527f45582070616972206f72206275726e20616464726573730000000000000000006064820152608401610d5f565b612c0787876130ea565b15612d085760145460ff16612d085780612c635760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610d5f565b6001600160a01b03871660009081526005602052604090205460ff16158015612ca557506001600160a01b03861660009081526005602052604090205460ff16155b15612d085760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b6064820152608401610d5f565b8115612d9857600f5460ff16612d9857600f54610100900460ff1615612d98576000612d3330611531565b90506010548110612d965760115460125460ff1615612d8057601354600b546127109190612d69906001600160a01b0316611531565b612d739190613d4f565b612d7d9190613dee565b90505b808210612d8b578091505b612d94826131ff565b505b505b612da6878787868686612db1565b979650505050505050565b6001600160a01b03861660009081526020818152604080832054600990925282205415612eab576000612de389611c57565b6001600160a01b038a16600090815260096020526040902054909150612e1590612e0e908390613d66565b8390612851565b915081871115612e675760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e74206578636565647320756e6c6f636b656420746f6b656e7300006044820152606401610d5f565b6001600160a01b038916600090815260096020526040902060040154612e8d90886135ea565b6001600160a01b038a16600090815260096020526040902060040155505b6001600160a01b03881660009081526006602052604090205460019060ff1680612eed57506001600160a01b03881660009081526006602052604090205460ff165b15612ef6575060005b6001600160a01b03891660009081526020819052604081208054899290612f1e908490613d66565b909155506000905081612f315787612f3d565b612f3d8a898989613649565b9050806000808b6001600160a01b03166001600160a01b031681526020019081526020016000206000828254612f739190613ddb565b92505081905550886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fbf91815260200190565b60405180910390a3601454610100900460ff166130a957612fe08a8a6136f9565b601454610100900460ff16158015612ffd5750612ffd8a8a6130ea565b801561302257506001600160a01b038a1660009081526005602052604090205460ff16155b801561304757506001600160a01b03891660009081526005602052604090205460ff16155b8015613051575084155b156130a95760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610d5f565b5060019998505050505050505050565b600081848411156130dd5760405162461bcd60e51b8152600401610d5f9190613839565b506000611d1c8486613d66565b6018546000906001600160a01b0384811691161480159061311957506018546001600160a01b03838116911614155b801561313057506018546001600160a01b03163214155b801561315557506001600160a01b03821660009081526004602052604090205460ff16155b801561317a57506001600160a01b03831660009081526004602052604090205460ff16155b801561319157506001600160a01b03821661dead14155b80156131a557506001600160a01b03821615155b80156131ba57506001600160a01b0383163014155b80156131da57506014546001600160a01b03848116620100009092041614155b801561152a5750506014546201000090046001600160a01b0390811691161415919050565b600f805460ff191660011790556040805160808101825260085461ffff8082168352620100008204811660208401526401000000008204811693830193909352600160301b90049091166060820181905260000361325d57506135dd565b306000908152600360209081526040808320600a5461010090046001600160a01b03168452909152902054600019146132c057306000908152600360209081526040808320600a5461010090046001600160a01b03168452909152902060001990555b60408051600280825260608201835260009260208301908036833701905050905030816000815181106132f5576132f5613da4565b60200260200101906001600160a01b031690816001600160a01b031681525050600a60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061338c9190613f18565b8160018151811061339f5761339f613da4565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b81526101009091049091169063791ac947906133ec908690600090869030904290600401613f83565b600060405180830381600087803b15801561340657600080fd5b505af1925050508015613417575060015b6134225750506135dd565b6000479050600080846060015161ffff16856020015161ffff16846134479190613d4f565b6134519190613dee565b90506000856060015161ffff16866040015161ffff16856134729190613d4f565b61347c9190613dee565b9050600061348a8284613ddb565b6134949086613d66565b875190915061ffff16156134ff57600c546040516001600160a01b039091169061d6d89083906000818181858888f193505050503d80600081146134f4576040519150601f19603f3d011682016040523d82523d6000602084013e6134f9565b606091505b50909450505b602087015161ffff161561356a57600d546040516001600160a01b039091169061d6d89085906000818181858888f193505050503d806000811461355f576040519150601f19603f3d011682016040523d82523d6000602084013e613564565b606091505b50909450505b604087015161ffff16156135d557600e546040516001600160a01b039091169061d6d89084906000818181858888f193505050503d80600081146135ca576040519150601f19603f3d011682016040523d82523d6000602084013e6135cf565b606091505b50909450505b505050505050505b50600f805460ff19169055565b6000806135f78385613ddb565b90508381101561152a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610d5f565b600080613656848461148a565b9050806000036136695784915050610d2d565b60006127106136788388613d4f565b6136829190613dee565b905080156136ef5730600090815260208190526040812080548392906136a9908490613ddb565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b612da68187613d66565b601454610100900460ff161561375d5760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610d5f565b61376782826130ea565b1580156137815750600b546001600160a01b038281169116145b15611942576001600160a01b038083166000908152600460209081526040808320805460ff19908116600190811790925560069093529220805490911690911790556014805461ff0019166101001790819055620100009004166137f9576014805462010000600160b01b0319163062010000021790555b600f805461ff001916610100179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200161205c565b60006020808352835180602085015260005b818110156138675785810183015185820160400152820161384b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461148757600080fd5b600080604083850312156138b057600080fd5b82356138bb81613888565b946020939093013593505050565b6000602082840312156138db57600080fd5b813561152a81613888565b6000806000606084860312156138fb57600080fd5b833561390681613888565b9250602084013561391681613888565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561396657613966613927565b604052919050565b600067ffffffffffffffff82111561398857613988613927565b5060051b60200190565b600082601f8301126139a357600080fd5b813560206139b86139b38361396e565b61393d565b8083825260208201915060208460051b8701019350868411156139da57600080fd5b602086015b848110156139f657803583529183019183016139df565b509695505050505050565b60008060408385031215613a1457600080fd5b823567ffffffffffffffff80821115613a2c57600080fd5b818501915085601f830112613a4057600080fd5b81356020613a506139b38361396e565b82815260059290921b84018101918181019089841115613a6f57600080fd5b948201945b83861015613a96578535613a8781613888565b82529482019490820190613a74565b96505086013592505080821115613aac57600080fd5b50613ab985828601613992565b9150509250929050565b600060208284031215613ad557600080fd5b5035919050565b803561ffff81168114613aee57600080fd5b919050565b600080600060608486031215613b0857600080fd5b613b1184613adc565b9250613b1f60208501613adc565b9150613b2d60408501613adc565b90509250925092565b801515811461148757600080fd5b60008060408385031215613b5757600080fd5b8235613b6281613888565b91506020830135613b7281613b36565b809150509250929050565b60008060408385031215613b9057600080fd5b8235613b6281613b36565b600080600060608486031215613bb057600080fd5b8335613bbb81613888565b92506020840135613bcb81613888565b91506040840135613bdb81613888565b809150509250925092565b60008060408385031215613bf957600080fd5b8235613c0481613888565b91506020830135613b7281613888565b60008060008060808587031215613c2a57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115613c97578160001904821115613c7d57613c7d613c46565b80851615613c8a57918102915b93841c9390800290613c61565b509250929050565b600082613cae57506001610c68565b81613cbb57506000610c68565b8160018114613cd15760028114613cdb57613cf7565b6001915050610c68565b60ff841115613cec57613cec613c46565b50506001821b610c68565b5060208310610133831016604e8410600b8410161715613d1a575081810a610c68565b613d248383613c5c565b8060001904821115613d3857613d38613c46565b029392505050565b600061152a60ff841683613c9f565b8082028115828204841417610c6857610c68613c46565b81810381811115610c6857610c68613c46565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600061ffff808316818103613dd157613dd1613c46565b6001019392505050565b80820180821115610c6857610c68613c46565b600082613e0b57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252603d908201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660408201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606082015260800190565b60008060408385031215613e8057600080fd5b8251613e8b81613888565b6020840151909250613b7281613888565b60008060408385031215613eaf57600080fd5b505080516020909101519092909150565b61ffff818116838216019080821115613edb57613edb613c46565b5092915050565b600060208284031215613ef457600080fd5b5051919050565b600060208284031215613f0d57600080fd5b815161152a81613b36565b600060208284031215613f2a57600080fd5b815161152a81613888565b6020808252602e908201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660408201526d103a37ba30b61039bab838363c9760911b606082015260800190565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015613fd55784516001600160a01b031683529383019391830191600101613fb0565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201b515c8275897495199493ee27bf3bb71553992de62ede03588bf5c9010dfefb64736f6c63430008180033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef0000000000000000000000003e50546092076300a8f1fdcc43d8c221a42fbf18000000000000000000000000ea4ebd03ed27a6c246749437ccf2cbef006bd1c90000000000000000000000003cdbbdf0588f60116b0a0651ed4bc6c62c7fcf40000000000000000000000000f7fb9dea516d351881c5d72f330cfc49ef52abbd