[ { "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": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [], "name": "RemovedLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_address", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "_isExempt", "type": "bool" } ], "name": "SetExemptFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_address", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "_isExempt", "type": "bool" } ], "name": "SetExemptFromLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newAmt", "type": "uint256" } ], "name": "UpdatedBuyTax", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newAmt", "type": "uint256" } ], "name": "UpdatedSellTax", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMax", "type": "uint256" } ], "name": "UpdatedTransactionLimit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMax", "type": "uint256" } ], "name": "UpdatedWalletLimit", "type": "event" }, { "inputs": [], "name": "FEE_DIVISOR", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WETH", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "wallets", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsInWei", "type": "uint256[]" } ], "name": "airdropToWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "antiMevEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTax", "outputs": [ { "internalType": "uint64", "name": "marketingTax", "type": "uint64" }, { "internalType": "uint64", "name": "devTax", "type": "uint64" }, { "internalType": "uint64", "name": "revshareTax", "type": "uint64" }, { "internalType": "uint64", "name": "liquidityTax", "type": "uint64" }, { "internalType": "uint64", "name": "totalTax", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "devAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract IDexRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dynamicLiquidityTax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dynamicTaxOn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "exemptFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "exemptFromLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isAMMPair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limited", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeDynamicTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeTransferDelay", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceDevTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "rescueContractTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "rescueTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "revshareAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTax", "outputs": [ { "internalType": "uint64", "name": "marketingTax", "type": "uint64" }, { "internalType": "uint64", "name": "devTax", "type": "uint64" }, { "internalType": "uint64", "name": "revshareTax", "type": "uint64" }, { "internalType": "uint64", "name": "liquidityTax", "type": "uint64" }, { "internalType": "uint64", "name": "totalTax", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "bool", "name": "_isExempt", "type": "bool" } ], "name": "setExemptFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "bool", "name": "_isExempt", "type": "bool" } ], "name": "setExemptFromLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForTax", "outputs": [ { "internalType": "uint256", "name": "tokensForMarketing", "type": "uint256" }, { "internalType": "uint256", "name": "tokensForRevShare", "type": "uint256" }, { "internalType": "uint256", "name": "tokensForLiquidity", "type": "uint256" }, { "internalType": "uint256", "name": "tokensForDev", "type": "uint256" }, { "internalType": "bool", "name": "gasSaver", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingAllowed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transferDelayEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "txLimits", "outputs": [ { "internalType": "uint128", "name": "transactionLimit", "type": "uint128" }, { "internalType": "uint128", "name": "walletLimit", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_marketingTax", "type": "uint64" }, { "internalType": "uint64", "name": "_liquidityTax", "type": "uint64" }, { "internalType": "uint64", "name": "_devTax", "type": "uint64" }, { "internalType": "uint64", "name": "_revTax", "type": "uint64" } ], "name": "updateBuyTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "updateDevAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "updateMarketingAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "updateMevBlockerEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "updateRevShareAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_marketingTax", "type": "uint64" }, { "internalType": "uint64", "name": "_liquidityTax", "type": "uint64" }, { "internalType": "uint64", "name": "_devTax", "type": "uint64" }, { "internalType": "uint64", "name": "_revTax", "type": "uint64" } ], "name": "updateSellTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAmt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "newNumInTokens", "type": "uint128" } ], "name": "updateTransactionLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "newNumInTokens", "type": "uint128" } ], "name": "updateWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e06040526017805461010161ffff19909116179055601b805462ff0000191662010000179055348015610031575f80fd5b506040518060400160405280600c81526020016b22b9b837b93a383630bcb2b960a11b815250604051806040016040528060068152602001651154d413d49560d21b8152508160039081610085919061085e565b506004610092828261085e565b5050505f6100a46105dc60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610107336b033b2e3c9fd0803ce80000006105e0565b601b805461ffff191660019081179091555f9046900361013c5750737a250d5630b4cf539739df2c5dacb4c659f2488d6101f3565b4660050361015f5750737a250d5630b4cf539739df2c5dacb4c659f2488d6101f3565b46606103610182575073d99d1c33f9fc3444f8101754abc46c52416550d16101f3565b4661a4b1036101a65750731b02da8cb0d097eb8d57a175b88c7d8b479975066101f3565b60405162461bcd60e51b815260206004820152601460248201527f436861696e206e6f7420636f6e6669677572656400000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b03811660a052606461020b60025490565b610216906001610931565b610220919061094e565b601980546001600160801b0319166001600160801b0392909216919091179055606461024b60025490565b610256906001610931565b610260919061094e565b601980546001600160801b03928316600160801b029216919091179055614e2061028960025490565b610294906001610931565b61029e919061094e565b601855600a80546001600160a01b03199081167398ebe475d8d0d2d141c3cb9ea5ffac8616d27a3017909155600c8054821673ca841895553151751d307c27929156e3c0d620ed179055600b8054909116731754696fcc09d714b90d6c9b9e165263e84ffafa1790557064000000000000012c0000000000000064600d55606461012c61032b5f8361096d565b610335919061096d565b61033f919061096d565b600e80546001600160401b0319166001600160401b03929092169190911790557064000000000000012c0000000000000064600f55606461012c6103835f8361096d565b61038d919061096d565b610397919061096d565b601080546001600160401b0319166001600160401b03929092169190911790556015805460ff1916600117905560a051604080516315ab88c960e31b815290516001600160a01b039092169163ad5c4648916004808201926020929091908290030181865afa15801561040c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104309190610994565b6001600160a01b031660c0816001600160a01b03168152505060a0516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610487573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ab9190610994565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303815f875af11580156104f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051d9190610994565b6001600160a01b0390811660808190525f9081526009602090815260408083208054600160ff19918216811790925560078452828520805482168317905533808652838620805483168417905530808752848720805484168517905590865260069094528285208054821683179055838552828520805482168317905560a05195861685529190932080549091169092179091556105bc915f196106a3565b6105d63360a0516105d161069d60201b60201c565b6106a3565b506109d4565b3390565b6001600160a01b0382166106365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016101ea565b8060025f82825461064791906109c1565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60025490565b6001600160a01b0383166107055760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016101ea565b6001600160a01b0382166107665760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016101ea565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806107ee57607f821691505b60208210810361080c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561085957805f5260205f20601f840160051c810160208510156108375750805b601f840160051c820191505b81811015610856575f8155600101610843565b50505b505050565b81516001600160401b03811115610877576108776107c6565b61088b8161088584546107da565b84610812565b602080601f8311600181146108be575f84156108a75750858301515b5f19600386901b1c1916600185901b178555610915565b5f85815260208120601f198616915b828110156108ec578886015182559484019460019091019084016108cd565b508582101561090957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176109485761094861091d565b92915050565b5f8261096857634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160401b0381811683821601908082111561098d5761098d61091d565b5092915050565b5f602082840312156109a4575f80fd5b81516001600160a01b03811681146109ba575f80fd5b9392505050565b808201808211156109485761094861091d565b60805160a05160c05161412c610a4b5f395f81816108ef015261385c01525f818161038a01528181611fa50152818161205d0152818161208d015281816120ca01528181612c6501526138b301525f818161056f01528181611c8601528181612ca201528181612fc30152612fea015261412c5ff3fe608060405260043610610344575f3560e01c806375808631116101bd578063b41f5f3c116100f2578063d00efb2f11610092578063f2fde38b1161006d578063f2fde38b14610ab1578063f776d84314610ad0578063f8686f0714610aef578063ff920d1614610b03575f80fd5b8063d00efb2f14610a33578063dd62ed3e14610a48578063f270fde414610a67575f80fd5b8063c78d0fa0116100cd578063c78d0fa01461099b578063c876d0b9146109b0578063cc1776d3146109cf578063ccad03e114610a14575f80fd5b8063b41f5f3c1461093f578063bba3325d1461095e578063bedafd011461097c575f80fd5b80639e7261af1161015d578063a5ece94111610138578063a5ece941146108a0578063a9059cbb146108bf578063ad5c4648146108de578063b0249cc614610911575f80fd5b80639e7261af146108405780639e93ad8e14610854578063a457c2d714610881575f80fd5b80638a8c523c116101985780638a8c523c146107cd5780638d3e6e40146107e15780638da5cb5b1461080f57806395d89b411461082c575f80fd5b8063758086311461077c5780638503376214610790578063860a32ec146107af575f80fd5b80633ad10ef6116102935780635a90a49e116102335780636d7adcad1161020e5780636d7adcad146106cd57806370a0823114610720578063715018a614610754578063751039fc14610768575f80fd5b80635a90a49e14610667578063627e9d8e1461069557806366ebd39a146106ae575f80fd5b80634f7041a51161026e5780634f7041a51461059157806353371be0146106105780635431c94e146106295780635975899414610648575f80fd5b80633ad10ef6146105205780634326a7f81461053f578063452ed4f11461055e575f80fd5b80632307b441116102fe578063313ce567116102d9578063313ce567146104ae578063362919a7146104c957806336e18e19146104e25780633950935114610501575f80fd5b80632307b441146104515780632369bf831461047057806323b872dd1461048f575f80fd5b806306fdde031461034f5780630758d92414610379578063095ea7b3146103c457806310d522d7146103f357806318160ddd146104145780632104591814610432575f80fd5b3661034b57005b5f80fd5b34801561035a575f80fd5b50610363610b22565b6040516103709190613a8b565b60405180910390f35b348015610384575f80fd5b506103ac7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610370565b3480156103cf575f80fd5b506103e36103de366004613ad7565b610bb2565b6040519015158152602001610370565b3480156103fe575f80fd5b5061041261040d366004613b1c565b610bcb565b005b34801561041f575f80fd5b506002545b604051908152602001610370565b34801561043d575f80fd5b5061041261044c366004613b6d565b610d7c565b34801561045c575f80fd5b5061041261046b366004613bcb565b610ec7565b34801561047b575f80fd5b5061041261048a366004613c31565b610f9b565b34801561049a575f80fd5b506103e36104a9366004613c53565b61100d565b3480156104b9575f80fd5b5060405160128152602001610370565b3480156104d4575f80fd5b50601b546103e39060ff1681565b3480156104ed575f80fd5b506104126104fc366004613c91565b611030565b34801561050c575f80fd5b506103e361051b366004613ad7565b611148565b34801561052b575f80fd5b50600c546103ac906001600160a01b031681565b34801561054a575f80fd5b50610412610559366004613b1c565b611169565b348015610569575f80fd5b506103ac7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059c575f80fd5b50600d54600e546105d6916001600160401b0380821692600160401b8304821692600160801b8104831692600160c01b9091048116911685565b604080516001600160401b03968716815294861660208601529285169284019290925283166060830152909116608082015260a001610370565b34801561061b575f80fd5b506008546103e39060ff1681565b348015610634575f80fd5b50610412610643366004613cb7565b611311565b348015610653575f80fd5b50610412610662366004613cfb565b61140b565b348015610672575f80fd5b506103e3610681366004613c31565b60066020525f908152604090205460ff1681565b3480156106a0575f80fd5b506017546103e39060ff1681565b3480156106b9575f80fd5b506104126106c8366004613c91565b611448565b3480156106d8575f80fd5b506011546012546013546014546015546106f6949392919060ff1685565b6040805195865260208601949094529284019190915260608301521515608082015260a001610370565b34801561072b575f80fd5b5061042461073a366004613c31565b6001600160a01b03165f9081526020819052604090205490565b34801561075f575f80fd5b5061041261155c565b348015610773575f80fd5b506104126115cf565b348015610787575f80fd5b5061041261166f565b34801561079b575f80fd5b506104126107aa366004613c31565b611866565b3480156107ba575f80fd5b506017546103e390610100900460ff1681565b3480156107d8575f80fd5b506104126118d8565b3480156107ec575f80fd5b506103e36107fb366004613c31565b60076020525f908152604090205460ff1681565b34801561081a575f80fd5b506005546001600160a01b03166103ac565b348015610837575f80fd5b50610363611968565b34801561084b575f80fd5b50610412611977565b34801561085f575f80fd5b5061086961271081565b6040516001600160401b039091168152602001610370565b34801561088c575f80fd5b506103e361089b366004613ad7565b6119ed565b3480156108ab575f80fd5b50600a546103ac906001600160a01b031681565b3480156108ca575f80fd5b506103e36108d9366004613ad7565b611a67565b3480156108e9575f80fd5b506103ac7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091c575f80fd5b506103e361092b366004613c31565b60096020525f908152604090205460ff1681565b34801561094a575f80fd5b50610412610959366004613c31565b611a74565b348015610969575f80fd5b50601b546103e390610100900460ff1681565b348015610987575f80fd5b50610412610996366004613d16565b611ae6565b3480156109a6575f80fd5b5061042460185481565b3480156109bb575f80fd5b50601b546103e39062010000900460ff1681565b3480156109da575f80fd5b50600f546010546105d6916001600160401b0380821692600160401b8304821692600160801b8104831692600160c01b9091048116911685565b348015610a1f575f80fd5b50610412610a2e366004613d16565b611c10565b348015610a3e575f80fd5b50610424601a5481565b348015610a53575f80fd5b50610424610a62366004613cb7565b611d55565b348015610a72575f80fd5b50601954610a91906001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610370565b348015610abc575f80fd5b50610412610acb366004613c31565b611d7f565b348015610adb575f80fd5b50610412610aea366004613b6d565b611e69565b348015610afa575f80fd5b50610412612233565b348015610b0e575f80fd5b50600b546103ac906001600160a01b031681565b606060038054610b3190613d42565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5d90613d42565b8015610ba85780601f10610b7f57610100808354040283529160200191610ba8565b820191905f5260205f20905b815481529060010190602001808311610b8b57829003601f168201915b5050505050905090565b5f33610bbf8185856122b7565b60019150505b92915050565b6005546001600160a01b03163314610bfe5760405162461bcd60e51b8152600401610bf590613d7a565b60405180910390fd5b6040805160a0810182525f60808201526001600160401b038681168252858116606083015284811660208301528316918101919091528183610c408688613dc3565b610c4a9190613dc3565b610c549190613dc3565b6001600160401b0316608082018190526103e81015610caa5760405162461bcd60e51b81526020600482015260126024820152714b656570207461782062656c6f772031302560701b6044820152606401610bf5565b60808101516040516001600160401b0390911681527fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c979060200160405180910390a18051600f80546020840151604085015160608601516001600160401b039586166001600160801b031990941693909317600160401b92861692909202919091176001600160801b0316600160801b918516919091026001600160c01b031617600160c01b918416919091021790556080909101516010805467ffffffffffffffff19169190921617905550505050565b6005546001600160a01b03163314610da65760405162461bcd60e51b8152600401610bf590613d7a565b620186a0610db360025490565b610dbe906001613dea565b610dc89190613e15565b811015610e355760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610bf5565b6103e8610e4160025490565b610e4c906005613dea565b610e569190613e15565b811115610ec25760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610bf5565b601855565b6005546001600160a01b03163314610ef15760405162461bcd60e51b8152600401610bf590613d7a565b828114610f395760405162461bcd60e51b81526020600482015260166024820152750c2e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b6044820152606401610bf5565b5f5b83811015610f9457610f8c33868684818110610f5957610f59613e28565b9050602002016020810190610f6e9190613c31565b858585818110610f8057610f80613e28565b905060200201356123da565b600101610f3b565b5050505050565b6005546001600160a01b03163314610fc55760405162461bcd60e51b8152600401610bf590613d7a565b6001600160a01b038116610feb5760405162461bcd60e51b8152600401610bf590613e3c565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f3361101a85828561257d565b6110258585856125f5565b506001949350505050565b6005546001600160a01b0316331461105a5760405162461bcd60e51b8152600401610bf590613d7a565b6110666012600a613f42565b6103e861107260025490565b61107d906001613dea565b6110879190613e15565b6110919190613e15565b816001600160801b031610156110d35760405162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b6044820152606401610bf5565b6110df6012600a613f42565b6110f2906001600160801b038316613dea565b601980546001600160801b0319166001600160801b039290921691821790556040519081527f6710da7d4acedae09cb83751ae24c150719ef67dcbc1e02049f171d13c6b44e6906020015b60405180910390a150565b5f33610bbf81858561115a8383611d55565b6111649190613f50565b6122b7565b6005546001600160a01b031633146111935760405162461bcd60e51b8152600401610bf590613d7a565b6040805160a0810182525f60808201526001600160401b0386811682528581166060830152848116602083015283169181019190915281836111d58688613dc3565b6111df9190613dc3565b6111e99190613dc3565b6001600160401b0316608082018190526103e8101561123f5760405162461bcd60e51b81526020600482015260126024820152714b656570207461782062656c6f772031302560701b6044820152606401610bf5565b60808101516040516001600160401b0390911681527f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece05089060200160405180910390a18051600d80546020840151604085015160608601516001600160401b039586166001600160801b031990941693909317600160401b92861692909202919091176001600160801b0316600160801b918516919091026001600160c01b031617600160c01b91841691909102179055608090910151600e805467ffffffffffffffff19169190921617905550505050565b6005546001600160a01b0316331461133b5760405162461bcd60e51b8152600401610bf590613d7a565b6001600160a01b0382166113915760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610bf5565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa1580156113d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f99190613f63565b90506114068383836126ae565b505050565b6005546001600160a01b031633146114355760405162461bcd60e51b8152600401610bf590613d7a565b6017805460ff1916911515919091179055565b6005546001600160a01b031633146114725760405162461bcd60e51b8152600401610bf590613d7a565b61147e6012600a613f42565b6103e861148a60025490565b611495906001613dea565b61149f9190613e15565b6114a99190613e15565b816001600160801b031610156114eb5760405162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b6044820152606401610bf5565b6114f76012600a613f42565b61150a906001600160801b038316613dea565b601980546001600160801b03908116600160801b93821684021791829055604051929091041681527fde064515fae8f8bb6d8ff19d2c6ba704322def7494147d8a971266430ade07889060200161113d565b6005546001600160a01b031633146115865760405162461bcd60e51b8152600401610bf590613d7a565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146115f95760405162461bcd60e51b8152600401610bf590613d7a565b6017805461ff0019169055604080518082019091525f80825260208201525f61162160025490565b6001600160801b03811680845260208401819052600160801b8102176019556040519091507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a15050565b600c546001600160a01b031633146116b35760405162461bcd60e51b81526020600482015260076024820152662737ba103232bb60c91b6044820152606401610bf5565b6040805160a081018252600d546001600160401b03808216808452600160401b8304821660208501819052600160801b8404831695850195909552600160c01b90920481166060840152600e541660808301529091908290611716908390613dc3565b6001600160401b039081169091525f60208481019190915260646040808601919091528451600d80546060808901519387166001600160c01b031990921691909117601960821b176001600160c01b0316600160c01b938716840217909155608080880151600e805467ffffffffffffffff1916918816919091179055835160a081018552600f54808816808352600160401b82048916978301889052600160801b820489169683019690965293909304861691830191909152601054909416938101939093529192509082906117ee908390613dc3565b6001600160401b039081169091525f6020840152606460408401528251600f805460608601519284166001600160c01b031990911617601960821b176001600160c01b0316600160c01b928416929092029190911790556080909201516010805467ffffffffffffffff191691909316179091555050565b6005546001600160a01b031633146118905760405162461bcd60e51b8152600401610bf590613d7a565b6001600160a01b0381166118b65760405162461bcd60e51b8152600401610bf590613e3c565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146119025760405162461bcd60e51b8152600401610bf590613d7a565b60085460ff16156119555760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610bf5565b6008805460ff1916600117905543601a55565b606060048054610b3190613d42565b6005546001600160a01b031633146119a15760405162461bcd60e51b8152600401610bf590613d7a565b601b5460ff166119e15760405162461bcd60e51b815260206004820152600b60248201526a20b63932b0b23c9037b33360a91b6044820152606401610bf5565b601b805460ff19169055565b5f33816119fa8286611d55565b905083811015611a5a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bf5565b61102582868684036122b7565b5f33610bbf8185856125f5565b6005546001600160a01b03163314611a9e5760405162461bcd60e51b8152600401610bf590613d7a565b6001600160a01b038116611ac45760405162461bcd60e51b8152600401610bf590613e3c565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611b105760405162461bcd60e51b8152600401610bf590613d7a565b6001600160a01b038216611b555760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b6044820152606401610bf5565b306001600160a01b03831603611bad5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420756e6578656d707420636f6e747261637400000000000000006044820152606401610bf5565b6001600160a01b0382165f81815260066020908152604091829020805460ff19168515159081179091558251938452908301527f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d91015b60405180910390a15050565b6005546001600160a01b03163314611c3a5760405162461bcd60e51b8152600401610bf590613d7a565b6001600160a01b038216611c7f5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b6044820152606401610bf5565b80611cfa577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603611cfa5760405162461bcd60e51b815260206004820152601260248201527121b0b73737ba103932b6b7bb32903830b4b960711b6044820152606401610bf5565b6001600160a01b0382165f81815260076020908152604091829020805460ff19168515159081179091558251938452908301527f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce9101611c04565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6005546001600160a01b03163314611da95760405162461bcd60e51b8152600401610bf590613d7a565b6001600160a01b038116611e0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bf5565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611e935760405162461bcd60e51b8152600401610bf590613d7a565b5f8111611ee25760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610bf5565b305f9081526020819052604090205481811015611f505760405162461bcd60e51b815260206004820152602660248201527f496e73756666696369656e7420746f6b656e2062616c616e636520696e20636f6044820152651b9d1c9858dd60d21b6064820152608401610bf5565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611f8357611f83613e28565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120239190613f7a565b8160018151811061203657612036613e28565b60200260200101906001600160a01b031690816001600160a01b03168152505082612081307f0000000000000000000000000000000000000000000000000000000000000000611d55565b10156120b3576120b3307f00000000000000000000000000000000000000000000000000000000000000005f196122b7565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906121079086905f90869030904290600401613f95565b5f604051808303815f87803b15801561211e575f80fd5b505af1158015612130573d5f803e3d5ffd5b504792505050806121835760405162461bcd60e51b815260206004820152601960248201527f4e6f204554482072656365697665642066726f6d2073776170000000000000006044820152606401610bf5565b5f6121966005546001600160a01b031690565b6001600160a01b0316826040515f6040518083038185875af1925050503d805f81146121dd576040519150601f19603f3d011682016040523d82523d5f602084013e6121e2565b606091505b5050905080610f945760405162461bcd60e51b815260206004820152601c60248201527f455448207472616e7366657220746f206f776e6572206661696c6564000000006044820152606401610bf5565b6005546001600160a01b0316331461225d5760405162461bcd60e51b8152600401610bf590613d7a565b601b5462010000900460ff166122a95760405162461bcd60e51b8152602060048201526011602482015270416c72656164792064697361626c65642160781b6044820152606401610bf5565b601b805462ff000019169055565b6001600160a01b0383166123195760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bf5565b6001600160a01b03821661237a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bf5565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661243e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bf5565b6001600160a01b0382166124a05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bf5565b6001600160a01b0383165f90815260208190526040902054818110156125175760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610bf5565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b5f6125888484611d55565b90505f1981146125ef57818110156125e25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610bf5565b6125ef84848484036122b7565b50505050565b6001600160a01b0383165f9081526006602052604090205460ff1615801561263557506001600160a01b0382165f9081526006602052604090205460ff16155b156126a35760085460ff166126815760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610bf5565b61268c838383612700565b6126969082614006565b90506126a3838383612a5a565b6114068383836123da565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611406908490612e3e565b601854305f9081526020819052604081205490911115801561273a57506001600160a01b0384165f9081526009602052604090205460ff16155b1561274757612747612f0f565b601b5460ff161561275a5761275a61321a565b6040805160a0810182525f808252602080830182905282840182905260608301829052608083018290526001600160a01b0387168252600990529182205460ff16156127f757506040805160a081018252600f546001600160401b038082168352600160401b820481166020840152600160801b8204811693830193909352600160c01b900482166060820152601054909116608082015261286a565b6001600160a01b0386165f9081526009602052604090205460ff161561286a57506040805160a081018252600d546001600160401b038082168352600160401b820481166020840152600160801b8204811693830193909352600160c01b900482166060820152600e5490911660808201525b60808101516001600160401b031615612a48576040805160a0810182526011548152601254602082015260135491810191909152601454606082015260155460ff161515608080830191909152820151612710906128d1906001600160401b031687613dea565b6128db9190613e15565b925081608001516001600160401b031682606001516001600160401b0316846129049190614019565b61290e9190614044565b6001600160801b0316816040018181516129289190613f50565b905250608082015182516001600160401b0391821691612949911685614019565b6129539190614044565b6001600160801b0316815f0181815161296c9190613f50565b905250608082015160408301516001600160401b0391821691612990911685614019565b61299a9190614044565b6001600160801b0316816020018181516129b49190613f50565b905250608082015160208301516001600160401b03918216916129d8911685614019565b6129e29190614044565b6001600160801b0316816060018181516129fc9190613f50565b905250805160115560208101516012556040810151601355606081015160145560808101516015805460ff1916911515919091179055612a4687306001600160801b0386166123da565b505b506001600160801b0316949350505050565b601754610100900460ff1615612d9c576001600160a01b038281165f9081526007602090815260408083205483835281842054825180840184526019546001600160801b038082168352600160801b90910416818601529589168552600990935292205460ff928316939192168015612ad1575082155b15612b725780516001600160801b0316841115612b1a5760405162461bcd60e51b815260206004820152600760248201526626b0bc102a3c3760c91b6044820152606401610bf5565b60208101516001600160801b0316612b328386613f50565b1115612b6d5760405162461bcd60e51b815260206004820152600a60248201526913585e0815d85b1b195d60b21b6044820152606401610bf5565b612c52565b6001600160a01b0385165f9081526009602052604090205460ff168015612bb157506001600160a01b0386165f9081526007602052604090205460ff16155b15612bfa5780516001600160801b0316841115612b6d5760405162461bcd60e51b815260206004820152600760248201526626b0bc102a3c3760c91b6044820152606401610bf5565b82612c525760208101516001600160801b0316612c178386613f50565b1115612c525760405162461bcd60e51b815260206004820152600a60248201526913585e0815d85b1b195d60b21b6044820152606401610bf5565b601b5462010000900460ff1615612d98577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614158015612cd757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b15612d9857325f908152601660205260409020544311612d2a5760405162461bcd60e51b815260206004820152600e60248201526d5472616e736665722044656c617960901b6044820152606401610bf5565b326001600160a01b03861614612d985760405162461bcd60e51b815260206004820152602d60248201527f427579696e6720746f2065787465726e616c2077616c6c657473206973206e6f60448201526c1d08185b1b1bddd959081e595d609a1b6064820152608401610bf5565b5050505b60175460ff1615611406576001600160a01b0382165f9081526009602052604090205460ff1615612e18576001600160a01b0383165f9081526016602052604090205443116114065760405162461bcd60e51b815260206004820152600860248201526720b73a349026a2ab60c11b6044820152606401610bf5565b506001600160a01b03165f90815260166020526040808220439081905532835291205550565b5f612e92826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166137f19092919063ffffffff16565b8051909150156114065780806020019051810190612eb09190614069565b6114065760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610bf5565b305f908152602081905260408120546040805160a081018252601154808252601254602083018190526013549383018490526014546060840181905260155460ff161515608085015294955091935f939091612f6a91613f50565b612f749190613f50565b612f7e9190613f50565b9050821580612f8b575080155b15612f9557505050565b604082015115613072575f81836040015185612fb19190613dea565b612fbb9190613e15565b9050612fe8307f0000000000000000000000000000000000000000000000000000000000000000836123da565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613040575f80fd5b505af1925050508015613051575060015b5061305c8185614006565b935082604001518261306e9190614006565b9150505b82156131d65761308183613807565b606082015147905f90156130fd57600c5460608501516001600160a01b039091169084906130af9085613dea565b6130b99190613e15565b6040515f81818185875af1925050503d805f81146130f2576040519150601f19603f3d011682016040523d82523d5f602084013e6130f7565b606091505b50909150505b60208401511561317557600b5460208501516001600160a01b039091169084906131279085613dea565b6131319190613e15565b6040515f81818185875af1925050503d805f811461316a576040519150601f19603f3d011682016040523d82523d5f602084013e61316f565b606091505b50909150505b47915081156131d357600a546040516001600160a01b039091169083905f81818185875af1925050503d805f81146131c8576040519150601f19603f3d011682016040523d82523d5f602084013e6131cd565b606091505b50909150505b50505b505f604082018190528082526020820181905260608201819052601181905560128190556013819055601455608001516015805460ff191691151591909117905550565b6040805160a08082018352600d546001600160401b038082168452600160401b8083048216602080870191909152600160801b808504841687890152600160c01b948590048416606080890191909152600e5485166080808a019190915289519788018a52600f5480871689529485048616888501528285048616888b0152959093048416928601929092526010549092169284019290925284518086019095526019546001600160801b03808216875292900490911690840152601a549192909143905f906132ea9083614006565b90505f6132f8600a83613e15565b9050600b811061337f57601b805460ff191690556101f460808088018290528601526017805461ff00191690555f61332f60025490565b6001600160801b03811680875260208701819052600160801b8102176019556040519091507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a15061342b565b801561342b57613390816064613dea565b61339c906107d0614006565b6001600160401b031660808701526133b5816064613dea565b6133c1906107d0614006565b6001600160401b031660808601526103e8816133dc60025490565b6133e69190613dea565b6133f09190613e15565b6001600160801b031684526103e88161340860025490565b6134129190613dea565b61341c9190613e15565b6001600160801b031660208501525b6080860151600e546001600160401b039081169116146135ef57601b54610100900460ff16156134d857600a866080015160026134689190614084565b61347291906140a7565b6001600160401b031686526080860151600a90613490906002614084565b61349a91906140a7565b6001600160401b031660608701526080860151600a906134bb906002614084565b6134c591906140a7565b6001600160401b03166040870152613532565b600a866080015160026134eb9190614084565b6134f591906140a7565b6001600160401b031686526080860151600a90613513906002614084565b61351d91906140a7565b6001600160401b031660408701525f60608701525b604086015160608701518751608089015161354d91906140c0565b61355791906140c0565b61356191906140c0565b6001600160401b03908116602088018190528751600d805460408b015160608c01519386166001600160801b031990921691909117600160401b909402939093176001600160801b0316600160801b938516939093026001600160c01b031692909217600160c01b918416919091021790556080870151600e805467ffffffffffffffff1916919092161790555b60808501516010546001600160401b039081169116146137b357601b54610100900460ff161561369c57600a8560800151600261362c9190614084565b61363691906140a7565b6001600160401b031685526080850151600a90613654906002614084565b61365e91906140a7565b6001600160401b031660608601526080850151600a9061367f906002614084565b61368991906140a7565b6001600160401b031660408601526136f6565b600a856080015160026136af9190614084565b6136b991906140a7565b6001600160401b031685526080850151600a906136d7906002614084565b6136e191906140a7565b6001600160401b031660408601525f60608601525b604085015160608601518651608088015161371191906140c0565b61371b91906140c0565b61372591906140c0565b6001600160401b03908116602087018190528651600f805460408a015160608b01519386166001600160801b031990921691909117600160401b909402939093176001600160801b0316600160801b938516939093026001600160c01b031692909217600160c01b9184169190910217905560808601516010805467ffffffffffffffff1916919092161790555b60195484516001600160801b039081169116146137e957835160208501516001600160801b03908116600160801b029116176019555b505050505050565b60606137ff84845f8561391b565b949350505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061383a5761383a613e28565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061388e5761388e613e28565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac947906138f29085905f90869030904290600401613f95565b5f604051808303815f87803b158015613909575f80fd5b505af11580156137e9573d5f803e3d5ffd5b60608247101561397c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610bf5565b5f80866001600160a01b0316858760405161399791906140e0565b5f6040518083038185875af1925050503d805f81146139d1576040519150601f19603f3d011682016040523d82523d5f602084013e6139d6565b606091505b50915091506139e7878383876139f2565b979650505050505050565b60608315613a605782515f03613a59576001600160a01b0385163b613a595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610bf5565b50816137ff565b6137ff8383815115613a755781518083602001fd5b8060405162461bcd60e51b8152600401610bf591905b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114613ad4575f80fd5b50565b5f8060408385031215613ae8575f80fd5b8235613af381613ac0565b946020939093013593505050565b80356001600160401b0381168114613b17575f80fd5b919050565b5f805f8060808587031215613b2f575f80fd5b613b3885613b01565b9350613b4660208601613b01565b9250613b5460408601613b01565b9150613b6260608601613b01565b905092959194509250565b5f60208284031215613b7d575f80fd5b5035919050565b5f8083601f840112613b94575f80fd5b5081356001600160401b03811115613baa575f80fd5b6020830191508360208260051b8501011115613bc4575f80fd5b9250929050565b5f805f8060408587031215613bde575f80fd5b84356001600160401b0380821115613bf4575f80fd5b613c0088838901613b84565b90965094506020870135915080821115613c18575f80fd5b50613c2587828801613b84565b95989497509550505050565b5f60208284031215613c41575f80fd5b8135613c4c81613ac0565b9392505050565b5f805f60608486031215613c65575f80fd5b8335613c7081613ac0565b92506020840135613c8081613ac0565b929592945050506040919091013590565b5f60208284031215613ca1575f80fd5b81356001600160801b0381168114613c4c575f80fd5b5f8060408385031215613cc8575f80fd5b8235613cd381613ac0565b91506020830135613ce381613ac0565b809150509250929050565b8015158114613ad4575f80fd5b5f60208284031215613d0b575f80fd5b8135613c4c81613cee565b5f8060408385031215613d27575f80fd5b8235613d3281613ac0565b91506020830135613ce381613cee565b600181811c90821680613d5657607f821691505b602082108103613d7457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b03818116838216019080821115613de357613de3613daf565b5092915050565b8082028115828204841417610bc557610bc5613daf565b634e487b7160e01b5f52601260045260245ffd5b5f82613e2357613e23613e01565b500490565b634e487b7160e01b5f52603260045260245ffd5b6020808252600c908201526b7a65726f206164647265737360a01b604082015260600190565b600181815b80851115613e9c57815f1904821115613e8257613e82613daf565b80851615613e8f57918102915b93841c9390800290613e67565b509250929050565b5f82613eb257506001610bc5565b81613ebe57505f610bc5565b8160018114613ed45760028114613ede57613efa565b6001915050610bc5565b60ff841115613eef57613eef613daf565b50506001821b610bc5565b5060208310610133831016604e8410600b8410161715613f1d575081810a610bc5565b613f278383613e62565b805f1904821115613f3a57613f3a613daf565b029392505050565b5f613c4c60ff841683613ea4565b80820180821115610bc557610bc5613daf565b5f60208284031215613f73575f80fd5b5051919050565b5f60208284031215613f8a575f80fd5b8151613c4c81613ac0565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015613fe55784516001600160a01b031683529383019391830191600101613fc0565b50506001600160a01b03969096166060850152505050608001529392505050565b81810381811115610bc557610bc5613daf565b6001600160801b0381811683821602808216919082811461403c5761403c613daf565b505092915050565b5f6001600160801b038084168061405d5761405d613e01565b92169190910492915050565b5f60208284031215614079575f80fd5b8151613c4c81613cee565b6001600160401b0381811683821602808216919082811461403c5761403c613daf565b5f6001600160401b038084168061405d5761405d613e01565b6001600160401b03828116828216039080821115613de357613de3613daf565b5f82518060208501845e5f92019182525091905056fea2646970667358221220efb25e2b02e71e425a6b2f5ef8eb15bae66ecc2b0930c025337edaf5d967196c64736f6c63430008190033