[ { "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": [], "name": "AutoNukeLP", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [], "name": "ManualNukeLP", "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": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "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": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "marketingWalletUpdated", "type": "event" }, { "inputs": [], "name": "Treasury", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "_excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": [ { "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": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "bool", "name": "_isBlacklisting", "type": "bool" } ], "name": "blacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "blacklistRenounced", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "blacklists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buySniperFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" } ], "name": "changeBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deadAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "disableWalletLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "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": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastSwapBack", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "amountLeft", "type": "uint256" } ], "name": "launch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsOff", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reducedMaxTransactionAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeStuckTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "restrictSwapBack", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "routerAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sendStuckTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" } ], "name": "setSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapsAmount", "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": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarketing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingStartBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "unsetReducedFirstBlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_Treasury", "type": "address" } ], "name": "updateMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newVal", "type": "bool" } ], "name": "updateRestrictSwapBack", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526000600660146101000a81548160ff0219169083151502179055506001600b60006101000a81548160ff0219169083151502179055506001600f60006101000a81548160ff0219169083151502179055506000600f60016101000a81548160ff0219169083151502179055506001600f60026101000a81548160ff0219169083151502179055506001601b60006101000a81548160ff021916908315150217905550348015620000b357600080fd5b50620000d4620000c86200056260201b60201c565b6200056a60201b60201c565b60006a22bdd88fed9efc6a0000009050737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603846036200019d577310ed43c718714eb63d5aa57b78b54704e256024e600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000305565b606146036200020157739ac64cc6e4415144c455bd8e4837fea55603e5c3600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000304565b6001461480620002115750600446145b806200021d5750600346145b80620002295750600546145b80620002365750617a6946145b156200029757737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000303565b62aa36a74603620002fd5773c532a74256d3db42d0bf7a0400fefdbad7694008600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000302565b600080fd5b5b5b5b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601990506000806019905060006103e86005876200038e919062000971565b6200039a919062000a01565b600a8190555083601181905550826013819055508160158190555080601681905550601354601154620003ce919062000a39565b601081905550601654601554620003e6919062000a39565b601481905550620003fc6200063060201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200045e620004506200063060201b60201c565b60016200065a60201b60201c565b620004713060016200065a60201b60201c565b6200048661dead60016200065a60201b60201c565b6001600f60006101000a81548160ff0219169083151502179055506064600287620004b2919062000971565b620004be919062000a01565b600d819055506064600287620004d5919062000971565b620004e1919062000a01565b600e8190555062000509620004fb6200063060201b60201c565b6001620006c560201b60201c565b6200051c306001620006c560201b60201c565b6200053161dead6001620006c560201b60201c565b62000544856001620006c560201b60201c565b6200055630876200073060201b60201c565b50505050505062000bb9565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200066a6200089d60201b60201c565b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b620006d56200089d60201b60201c565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007999062000af7565b60405180910390fd5b620007b6600083836200092e60201b60201c565b8060026000828254620007ca919062000a39565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200087d919062000b2a565b60405180910390a362000899600083836200093360201b60201c565b5050565b620008ad6200056260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620008d36200063060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200092c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009239062000b97565b60405180910390fd5b565b505050565b505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200097e8262000938565b91506200098b8362000938565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009c757620009c662000942565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a0e8262000938565b915062000a1b8362000938565b92508262000a2e5762000a2d620009d2565b5b828204905092915050565b600062000a468262000938565b915062000a538362000938565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000a8b5762000a8a62000942565b5b828201905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000adf601f8362000a96565b915062000aec8262000aa7565b602082019050919050565b6000602082019050818103600083015262000b128162000ad0565b9050919050565b62000b248162000938565b82525050565b600060208201905062000b41600083018462000b19565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000b7f60208362000a96565b915062000b8c8262000b47565b602082019050919050565b6000602082019050818103600083015262000bb28162000b70565b9050919050565b61531e8062000bc96000396000f3fe6080604052600436106103bc5760003560e01c80636ddd1713116101f2578063aca0359f1161010d578063d85ba063116100a0578063f11a24d31161006f578063f11a24d314610e0b578063f2fde38b14610e36578063f637434214610e5f578063f8b45b0514610e8a576103c3565b8063d85ba06314610d61578063dd62ed3e14610d8c578063e2f4560514610dc9578063ec7fa51114610df4576103c3565b8063c0246668116100dc578063c024666814610ca5578063c8c8ebe414610cce578063d257b34f14610cf9578063d798cbd214610d36576103c3565b8063aca0359f14610be9578063b104b32114610c14578063b62496f514610c3d578063bbc0c74214610c7a576103c3565b80639371897611610185578063a2ec185311610154578063a2ec185314610b1b578063a457c2d714610b46578063a9059cbb14610b83578063aacebbe314610bc0576103c3565b80639371897614610a8757806395d89b4114610a9e5780639a7a23d614610ac95780639fd8234e14610af2576103c3565b80638da5cb5b116101c15780638da5cb5b146109df5780639083497014610a0a5780639213691314610a33578063924de9b714610a5e576103c3565b80636ddd17131461093557806370a0823114610960578063715018a61461099d5780637bce5a04146109b4576103c3565b8063313ce567116102e2578063421f715a11610275578063563df32f11610244578063563df32f1461089f5780635f189361146108ca57806369921a40146108e15780636a486a8e1461090a576103c3565b8063421f715a146107e157806349bd5a5e1461080c5780634a62bb65146108375780634fbee19314610862576103c3565b806339509351116102b157806339509351146107395780633dc599ff146107765780634013fc88146107a1578063404e5129146107b8576103c3565b8063313ce5671461068d578063320a4859146106b85780633268cc56146106e357806333defeae1461070e576103c3565b806318160ddd1161035a57806321d9f2ca1161032957806321d9f2ca146105d1578063232050f9146105fa57806323b872dd1461062557806327c8f83514610662576103c3565b806318160ddd146105275780631a8145bb146105525780631c499ab01461057d5780631f3fed8f146105a6576103c3565b8063095ea7b311610396578063095ea7b31461044557806310d5de53146104825780631694505e146104bf57806316c02129146104ea576103c3565b8063036958a2146103c85780630517d13d146103f157806306fdde031461041a576103c3565b366103c357005b600080fd5b3480156103d457600080fd5b506103ef60048036038101906103ea9190613ad1565b610eb5565b005b3480156103fd57600080fd5b5061041860048036038101906104139190613b11565b610ef5565b005b34801561042657600080fd5b5061042f610f5a565b60405161043c9190613bd7565b60405180910390f35b34801561045157600080fd5b5061046c60048036038101906104679190613c57565b610fec565b6040516104799190613cb2565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a49190613ccd565b61100f565b6040516104b69190613cb2565b60405180910390f35b3480156104cb57600080fd5b506104d461102f565b6040516104e19190613d59565b60405180910390f35b3480156104f657600080fd5b50610511600480360381019061050c9190613ccd565b611055565b60405161051e9190613cb2565b60405180910390f35b34801561053357600080fd5b5061053c611075565b6040516105499190613d83565b60405180910390f35b34801561055e57600080fd5b5061056761107f565b6040516105749190613d83565b60405180910390f35b34801561058957600080fd5b506105a4600480360381019061059f9190613b11565b611085565b005b3480156105b257600080fd5b506105bb6110ea565b6040516105c89190613d83565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f39190613dca565b6110f0565b005b34801561060657600080fd5b5061060f611153565b60405161061c9190613cb2565b60405180910390f35b34801561063157600080fd5b5061064c60048036038101906106479190613e0a565b61117f565b6040516106599190613cb2565b60405180910390f35b34801561066e57600080fd5b506106776111ae565b6040516106849190613e6c565b60405180910390f35b34801561069957600080fd5b506106a26111b4565b6040516106af9190613ea3565b60405180910390f35b3480156106c457600080fd5b506106cd6111bd565b6040516106da9190613d83565b60405180910390f35b3480156106ef57600080fd5b506106f86111c3565b6040516107059190613e6c565b60405180910390f35b34801561071a57600080fd5b506107236111e9565b6040516107309190613d83565b60405180910390f35b34801561074557600080fd5b50610760600480360381019061075b9190613c57565b6111ef565b60405161076d9190613cb2565b60405180910390f35b34801561078257600080fd5b5061078b611226565b6040516107989190613cb2565b60405180910390f35b3480156107ad57600080fd5b506107b6611239565b005b3480156107c457600080fd5b506107df60048036038101906107da9190613dca565b6112d4565b005b3480156107ed57600080fd5b506107f66114a7565b6040516108039190613d83565b60405180910390f35b34801561081857600080fd5b506108216114ad565b60405161082e9190613e6c565b60405180910390f35b34801561084357600080fd5b5061084c6114d3565b6040516108599190613cb2565b60405180910390f35b34801561086e57600080fd5b5061088960048036038101906108849190613ccd565b6114e6565b6040516108969190613cb2565b60405180910390f35b3480156108ab57600080fd5b506108b461153c565b6040516108c19190613e6c565b60405180910390f35b3480156108d657600080fd5b506108df611562565b005b3480156108ed57600080fd5b5061090860048036038101906109039190613dca565b611587565b005b34801561091657600080fd5b5061091f6115ea565b60405161092c9190613d83565b60405180910390f35b34801561094157600080fd5b5061094a6115f0565b6040516109579190613cb2565b60405180910390f35b34801561096c57600080fd5b5061098760048036038101906109829190613ccd565b611603565b6040516109949190613d83565b60405180910390f35b3480156109a957600080fd5b506109b261164b565b005b3480156109c057600080fd5b506109c961165f565b6040516109d69190613d83565b60405180910390f35b3480156109eb57600080fd5b506109f4611665565b604051610a019190613e6c565b60405180910390f35b348015610a1657600080fd5b50610a316004803603810190610a2c9190613ebe565b61168f565b005b348015610a3f57600080fd5b50610a486116b4565b604051610a559190613d83565b60405180910390f35b348015610a6a57600080fd5b50610a856004803603810190610a809190613ebe565b6116ba565b005b348015610a9357600080fd5b50610a9c6116df565b005b348015610aaa57600080fd5b50610ab361178b565b604051610ac09190613bd7565b60405180910390f35b348015610ad557600080fd5b50610af06004803603810190610aeb9190613dca565b61181d565b005b348015610afe57600080fd5b50610b196004803603810190610b149190613ad1565b6118c3565b005b348015610b2757600080fd5b50610b30611903565b604051610b3d9190613d83565b60405180910390f35b348015610b5257600080fd5b50610b6d6004803603810190610b689190613c57565b611909565b604051610b7a9190613cb2565b60405180910390f35b348015610b8f57600080fd5b50610baa6004803603810190610ba59190613c57565b611980565b604051610bb79190613cb2565b60405180910390f35b348015610bcc57600080fd5b50610be76004803603810190610be29190613ccd565b6119a3565b005b348015610bf557600080fd5b50610bfe611a6b565b604051610c0b9190613cb2565b60405180910390f35b348015610c2057600080fd5b50610c3b6004803603810190610c369190614020565b611a7e565b005b348015610c4957600080fd5b50610c646004803603810190610c5f9190613ccd565b611f62565b604051610c719190613cb2565b60405180910390f35b348015610c8657600080fd5b50610c8f611f81565b604051610c9c9190613cb2565b60405180910390f35b348015610cb157600080fd5b50610ccc6004803603810190610cc79190613dca565b611f94565b005b348015610cda57600080fd5b50610ce3611ff8565b604051610cf09190613d83565b60405180910390f35b348015610d0557600080fd5b50610d206004803603810190610d1b9190613b11565b611ffe565b604051610d2d9190613cb2565b60405180910390f35b348015610d4257600080fd5b50610d4b6120de565b604051610d589190613d83565b60405180910390f35b348015610d6d57600080fd5b50610d766120e4565b604051610d839190613d83565b60405180910390f35b348015610d9857600080fd5b50610db36004803603810190610dae91906140ab565b6120ea565b604051610dc09190613d83565b60405180910390f35b348015610dd557600080fd5b50610dde612171565b604051610deb9190613d83565b60405180910390f35b348015610e0057600080fd5b50610e09612177565b005b348015610e1757600080fd5b50610e2061219c565b604051610e2d9190613d83565b60405180910390f35b348015610e4257600080fd5b50610e5d6004803603810190610e589190613ccd565b6121a2565b005b348015610e6b57600080fd5b50610e74612225565b604051610e819190613d83565b60405180910390f35b348015610e9657600080fd5b50610e9f61222b565b604051610eac9190613d83565b60405180910390f35b610ebd612231565b8160118190555080601381905550601354601154610edb919061411a565b601081905550601e6010541115610ef157600080fd5b5050565b610efd612231565b670de0b6b3a76400006103e86001610f13611075565b610f1d9190614170565b610f2791906141f9565b610f3191906141f9565b811015610f3d57600080fd5b670de0b6b3a764000081610f519190614170565b600d8190555050565b606060038054610f6990614259565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9590614259565b8015610fe25780601f10610fb757610100808354040283529160200191610fe2565b820191906000526020600020905b815481529060010190602001808311610fc557829003601f168201915b5050505050905090565b600080610ff76122af565b90506110048185856122b7565b600191505092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601f6020528060005260406000206000915054906101000a900460ff1681565b6000600254905090565b60185481565b61108d612231565b670de0b6b3a76400006103e860016110a3611075565b6110ad9190614170565b6110b791906141f9565b6110c191906141f9565b8110156110cd57600080fd5b670de0b6b3a7640000816110e19190614170565b600e8190555050565b60175481565b6110f8612231565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600061115d612231565b6000600f60006101000a81548160ff0219169083151502179055506001905090565b60008061118a6122af565b9050611197858285612480565b6111a285858561250c565b60019150509392505050565b61dead81565b60006012905090565b60195481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c5481565b6000806111fa6122af565b905061121b81858561120c85896120ea565b611216919061411a565b6122b7565b600191505092915050565b600f60019054906101000a900460ff1681565b611241612231565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611289906142bb565b60006040518083038185875af1925050503d80600081146112c6576040519150601f19603f3d011682016040523d82523d6000602084013e6112cb565b606091505b50508091505050565b6112dc612231565b600f60019054906101000a900460ff161561132c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132390614342565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b3906143d4565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361144c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611443906143d4565b60405180910390fd5b80601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900460ff1681565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61156a612231565b6001600f60016101000a81548160ff021916908315150217905550565b61158f612231565b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60145481565b600b60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611653612231565b61165d6000613101565b565b60115481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611697612231565b80600f60026101000a81548160ff02191690831515021790555050565b60155481565b6116c2612231565b80600b60006101000a81548160ff02191690831515021790555050565b6116e7612231565b60006116fa6116f530611603565b6131c7565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611740906142bb565b60006040518083038185875af1925050503d806000811461177d576040519150601f19603f3d011682016040523d82523d6000602084013e611782565b606091505b50508091505050565b60606004805461179a90614259565b80601f01602080910402602001604051908101604052809291908181526020018280546117c690614259565b80156118135780601f106117e857610100808354040283529160200191611813565b820191906000526020600020905b8154815290600101906020018083116117f657829003601f168201915b5050505050905090565b611825612231565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ac90614466565b60405180910390fd5b6118bf828261340a565b5050565b6118cb612231565b81601581905550806016819055506016546015546118e9919061411a565b601481905550601e60145411156118ff57600080fd5b5050565b601d5481565b6000806119146122af565b9050600061192282866120ea565b905083811015611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e906144f8565b60405180910390fd5b61197482868684036122b7565b60019250505092915050565b60008061198b6122af565b905061199881858561250c565b600191505092915050565b6119ab612231565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f60029054906101000a900460ff1681565b611a86612231565b600660149054906101000a900460ff1615611aa057600080fd5b8260039081611aaf91906146ba565b508160049081611abf91906146ba565b50611af430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611aef611075565b6122b7565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8591906147a1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3291906147a1565b6040518363ffffffff1660e01b8152600401611c4f9291906147ce565b6020604051808303816000875af1158015611c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9291906147a1565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611cff600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016110f0565b600160206000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064856064611dc891906147f7565b611dd130611603565b611ddb9190614170565b611de591906141f9565b600080611df0611665565b426040518863ffffffff1660e01b8152600401611e1296959493929190614866565b60606040518083038185885af1158015611e30573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e5591906148dc565b505050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611ef792919061492f565b6020604051808303816000875af1158015611f16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3a919061496d565b5043601e819055506001600660146101000a81548160ff021916908315150217905550505050565b602080528060005260406000206000915054906101000a900460ff1681565b600660149054906101000a900460ff1681565b611f9c612231565b611fa68282611587565b8173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611fec9190613cb2565b60405180910390a25050565b600d5481565b6000612008612231565b620186a06001612016611075565b6120209190614170565b61202a91906141f9565b82101561206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390614a0c565b60405180910390fd5b60646004612078611075565b6120829190614170565b61208c91906141f9565b8211156120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c590614a9e565b60405180910390fd5b81600a8190555060019050919050565b601e5481565b60105481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b61217f612231565b6000601b60006101000a81548160ff021916908315150217905550565b60135481565b6121aa612231565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221090614b30565b60405180910390fd5b61222281613101565b50565b60165481565b600e5481565b6122396122af565b73ffffffffffffffffffffffffffffffffffffffff16612257611665565b73ffffffffffffffffffffffffffffffffffffffff16146122ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a490614b9c565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231d90614c2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238c90614cc0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124739190613d83565b60405180910390a3505050565b600061248c84846120ea565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461250657818110156124f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ef90614d2c565b60405180910390fd5b61250584848484036122b7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361257b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257290614dbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e190614e50565b60405180910390fd5b601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266e90614ebc565b60405180910390fd5b600081036126905761268b838360006134ab565b6130fc565b600f60009054906101000a900460ff1615612c63576126ad611665565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561271b57506126eb611665565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156127345750600860149054906101000a900460ff16155b801561276d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156127a7575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612c6257600660149054906101000a900460ff166128a157601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128615750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6128a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289790614f28565b60405180910390fd5b5b6000600d5490506000601e54436128b891906147f7565b9050600a811080156128d65750601b60009054906101000a900460ff165b80156128e457506002601d54115b1561297b576000810361291957612710607d6128fe611075565b6129089190614170565b61291291906141f9565b915061297a565b600881111561294a57612710606461292f611075565b6129399190614170565b61294391906141f9565b9150612979565b612710600a8261295a9190614170565b612962611075565b61296c9190614170565b61297691906141f9565b91505b5b5b602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a1e5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ac35781831115612a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5d90614fba565b60405180910390fd5b600e54612a7285611603565b84612a7d919061411a565b1115612abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab590615026565b60405180910390fd5b612c5f565b602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612b665750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612bb35781831115612bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba5906150b8565b60405180910390fd5b612c5e565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612c5d57600e54612c1085611603565b84612c1b919061411a565b1115612c5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5390615026565b60405180910390fd5b5b5b5b50505b5b6000612c6e30611603565b90506000600a548210159050808015612c935750600b60009054906101000a900460ff165b8015612cac5750600860149054906101000a900460ff16155b8015612d025750602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d585750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612dae5750601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612df3576001600860146101000a81548160ff021916908315150217905550612dd783613721565b6000600860146101000a81548160ff0219169083151502179055505b6000600860149054906101000a900460ff16159050601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612ea95750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612eb357600090505b600081156130c657602060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612f1657506000601454115b15612fb057612f436064612f356014548861393b90919063ffffffff16565b61395190919063ffffffff16565b905060145460165482612f569190614170565b612f6091906141f9565b60186000828254612f71919061411a565b9250508190555060145460155482612f899190614170565b612f9391906141f9565b60176000828254612fa4919061411a565b925050819055506130a2565b602060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561300b57506000601054115b156130a157613038606461302a6010548861393b90919063ffffffff16565b61395190919063ffffffff16565b90506010546013548261304b9190614170565b61305591906141f9565b60186000828254613066919061411a565b925050819055506010546011548261307e9190614170565b61308891906141f9565b60176000828254613099919061411a565b925050819055505b5b60008111156130b7576130b68730836134ab565b5b80856130c391906147f7565b94505b600a601d5410156130ec576001601d60008282546130e4919061411a565b925050819055505b6130f78787876134ab565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff8111156131e4576131e3613ef5565b5b6040519080825280602002602001820160405280156132125781602001602082028036833780820191505090505b509050308160008151811061322a576132296150d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132f591906147a1565b81600181518110613309576133086150d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061337030600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846122b7565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016133d49594939291906151c5565b600060405180830381600087803b1580156133ee57600080fd5b505af1158015613402573d6000803e3d6000fd5b505050505050565b80602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361351a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351190614dbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161358090614e50565b60405180910390fd5b613594838383613967565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561361a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161361190615291565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516137089190613d83565b60405180910390a361371b84848461396c565b50505050565b600061372c30611603565b90506000601754601854613740919061411a565b90506000808314806137525750600082145b1561375f57505050613938565b600a5483111561376f57600a5492505b600f60029054906101000a900460ff16801561378a57508383115b15613793578392505b6000600283601854866137a69190614170565b6137b091906141f9565b6137ba91906141f9565b905060006137d1828661397190919063ffffffff16565b905060004790506137e1826131c7565b60006137f6824761397190919063ffffffff16565b90506000613821876138136017548561393b90919063ffffffff16565b61395190919063ffffffff16565b90506000818361383191906147f7565b9050600060188190555060006017819055506000861180156138535750600081115b156138a0576138628682613987565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582601854604051613897939291906152b1565b60405180910390a15b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516138e6906142bb565b60006040518083038185875af1925050503d8060008114613923576040519150601f19603f3d011682016040523d82523d6000602084013e613928565b606091505b5050809750505050505050505050505b50565b600081836139499190614170565b905092915050565b6000818361395f91906141f9565b905092915050565b505050565b505050565b6000818361397f91906147f7565b905092915050565b6139b430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846122b7565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401613a3d96959493929190614866565b60606040518083038185885af1158015613a5b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613a8091906148dc565b5050505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b613aae81613a9b565b8114613ab957600080fd5b50565b600081359050613acb81613aa5565b92915050565b60008060408385031215613ae857613ae7613a91565b5b6000613af685828601613abc565b9250506020613b0785828601613abc565b9150509250929050565b600060208284031215613b2757613b26613a91565b5b6000613b3584828501613abc565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b78578082015181840152602081019050613b5d565b83811115613b87576000848401525b50505050565b6000601f19601f8301169050919050565b6000613ba982613b3e565b613bb38185613b49565b9350613bc3818560208601613b5a565b613bcc81613b8d565b840191505092915050565b60006020820190508181036000830152613bf18184613b9e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c2482613bf9565b9050919050565b613c3481613c19565b8114613c3f57600080fd5b50565b600081359050613c5181613c2b565b92915050565b60008060408385031215613c6e57613c6d613a91565b5b6000613c7c85828601613c42565b9250506020613c8d85828601613abc565b9150509250929050565b60008115159050919050565b613cac81613c97565b82525050565b6000602082019050613cc76000830184613ca3565b92915050565b600060208284031215613ce357613ce2613a91565b5b6000613cf184828501613c42565b91505092915050565b6000819050919050565b6000613d1f613d1a613d1584613bf9565b613cfa565b613bf9565b9050919050565b6000613d3182613d04565b9050919050565b6000613d4382613d26565b9050919050565b613d5381613d38565b82525050565b6000602082019050613d6e6000830184613d4a565b92915050565b613d7d81613a9b565b82525050565b6000602082019050613d986000830184613d74565b92915050565b613da781613c97565b8114613db257600080fd5b50565b600081359050613dc481613d9e565b92915050565b60008060408385031215613de157613de0613a91565b5b6000613def85828601613c42565b9250506020613e0085828601613db5565b9150509250929050565b600080600060608486031215613e2357613e22613a91565b5b6000613e3186828701613c42565b9350506020613e4286828701613c42565b9250506040613e5386828701613abc565b9150509250925092565b613e6681613c19565b82525050565b6000602082019050613e816000830184613e5d565b92915050565b600060ff82169050919050565b613e9d81613e87565b82525050565b6000602082019050613eb86000830184613e94565b92915050565b600060208284031215613ed457613ed3613a91565b5b6000613ee284828501613db5565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613f2d82613b8d565b810181811067ffffffffffffffff82111715613f4c57613f4b613ef5565b5b80604052505050565b6000613f5f613a87565b9050613f6b8282613f24565b919050565b600067ffffffffffffffff821115613f8b57613f8a613ef5565b5b613f9482613b8d565b9050602081019050919050565b82818337600083830152505050565b6000613fc3613fbe84613f70565b613f55565b905082815260208101848484011115613fdf57613fde613ef0565b5b613fea848285613fa1565b509392505050565b600082601f83011261400757614006613eeb565b5b8135614017848260208601613fb0565b91505092915050565b60008060006060848603121561403957614038613a91565b5b600084013567ffffffffffffffff81111561405757614056613a96565b5b61406386828701613ff2565b935050602084013567ffffffffffffffff81111561408457614083613a96565b5b61409086828701613ff2565b92505060406140a186828701613abc565b9150509250925092565b600080604083850312156140c2576140c1613a91565b5b60006140d085828601613c42565b92505060206140e185828601613c42565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061412582613a9b565b915061413083613a9b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614165576141646140eb565b5b828201905092915050565b600061417b82613a9b565b915061418683613a9b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156141bf576141be6140eb565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061420482613a9b565b915061420f83613a9b565b92508261421f5761421e6141ca565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061427157607f821691505b6020821081036142845761428361422a565b5b50919050565b600081905092915050565b50565b60006142a560008361428a565b91506142b082614295565b600082019050919050565b60006142c682614298565b9150819050919050565b7f5465616d20686173207265766f6b656420626c61636b6c69737420726967687460008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061432c602183613b49565b9150614337826142d0565b604082019050919050565b6000602082019050818103600083015261435b8161431f565b9050919050565b7f43616e6e6f7420626c61636b6c69737420746f6b656e277320763220726f757460008201527f6572206f7220763220706f6f6c2e000000000000000000000000000000000000602082015250565b60006143be602e83613b49565b91506143c982614362565b604082019050919050565b600060208201905081810360008301526143ed816143b1565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000614450603983613b49565b915061445b826143f4565b604082019050919050565b6000602082019050818103600083015261447f81614443565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006144e2602583613b49565b91506144ed82614486565b604082019050919050565b60006020820190508181036000830152614511816144d5565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261457a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261453d565b614584868361453d565b95508019841693508086168417925050509392505050565b60006145b76145b26145ad84613a9b565b613cfa565b613a9b565b9050919050565b6000819050919050565b6145d18361459c565b6145e56145dd826145be565b84845461454a565b825550505050565b600090565b6145fa6145ed565b6146058184846145c8565b505050565b5b818110156146295761461e6000826145f2565b60018101905061460b565b5050565b601f82111561466e5761463f81614518565b6146488461452d565b81016020851015614657578190505b61466b6146638561452d565b83018261460a565b50505b505050565b600082821c905092915050565b600061469160001984600802614673565b1980831691505092915050565b60006146aa8383614680565b9150826002028217905092915050565b6146c382613b3e565b67ffffffffffffffff8111156146dc576146db613ef5565b5b6146e68254614259565b6146f182828561462d565b600060209050601f8311600181146147245760008415614712578287015190505b61471c858261469e565b865550614784565b601f19841661473286614518565b60005b8281101561475a57848901518255600182019150602085019450602081019050614735565b868310156147775784890151614773601f891682614680565b8355505b6001600288020188555050505b505050505050565b60008151905061479b81613c2b565b92915050565b6000602082840312156147b7576147b6613a91565b5b60006147c58482850161478c565b91505092915050565b60006040820190506147e36000830185613e5d565b6147f06020830184613e5d565b9392505050565b600061480282613a9b565b915061480d83613a9b565b9250828210156148205761481f6140eb565b5b828203905092915050565b6000819050919050565b600061485061484b6148468461482b565b613cfa565b613a9b565b9050919050565b61486081614835565b82525050565b600060c08201905061487b6000830189613e5d565b6148886020830188613d74565b6148956040830187614857565b6148a26060830186614857565b6148af6080830185613e5d565b6148bc60a0830184613d74565b979650505050505050565b6000815190506148d681613aa5565b92915050565b6000806000606084860312156148f5576148f4613a91565b5b6000614903868287016148c7565b9350506020614914868287016148c7565b9250506040614925868287016148c7565b9150509250925092565b60006040820190506149446000830185613e5d565b6149516020830184613d74565b9392505050565b60008151905061496781613d9e565b92915050565b60006020828403121561498357614982613a91565b5b600061499184828501614958565b91505092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006149f6603583613b49565b9150614a018261499a565b604082019050919050565b60006020820190508181036000830152614a25816149e9565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20342520746f74616c20737570706c792e0000000000000000000000000000602082015250565b6000614a88603283613b49565b9150614a9382614a2c565b604082019050919050565b60006020820190508181036000830152614ab781614a7b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614b1a602683613b49565b9150614b2582614abe565b604082019050919050565b60006020820190508181036000830152614b4981614b0d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614b86602083613b49565b9150614b9182614b50565b602082019050919050565b60006020820190508181036000830152614bb581614b79565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614c18602483613b49565b9150614c2382614bbc565b604082019050919050565b60006020820190508181036000830152614c4781614c0b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614caa602283613b49565b9150614cb582614c4e565b604082019050919050565b60006020820190508181036000830152614cd981614c9d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614d16601d83613b49565b9150614d2182614ce0565b602082019050919050565b60006020820190508181036000830152614d4581614d09565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614da8602583613b49565b9150614db382614d4c565b604082019050919050565b60006020820190508181036000830152614dd781614d9b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614e3a602383613b49565b9150614e4582614dde565b604082019050919050565b60006020820190508181036000830152614e6981614e2d565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000614ea6600b83613b49565b9150614eb182614e70565b602082019050919050565b60006020820190508181036000830152614ed581614e99565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000614f12601683613b49565b9150614f1d82614edc565b602082019050919050565b60006020820190508181036000830152614f4181614f05565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000614fa4603583613b49565b9150614faf82614f48565b604082019050919050565b60006020820190508181036000830152614fd381614f97565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000615010601383613b49565b915061501b82614fda565b602082019050919050565b6000602082019050818103600083015261503f81615003565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b60006150a2603683613b49565b91506150ad82615046565b604082019050919050565b600060208201905081810360008301526150d181615095565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61513c81613c19565b82525050565b600061514e8383615133565b60208301905092915050565b6000602082019050919050565b600061517282615107565b61517c8185615112565b935061518783615123565b8060005b838110156151b857815161519f8882615142565b97506151aa8361515a565b92505060018101905061518b565b5085935050505092915050565b600060a0820190506151da6000830188613d74565b6151e76020830187614857565b81810360408301526151f98186615167565b90506152086060830185613e5d565b6152156080830184613d74565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061527b602683613b49565b91506152868261521f565b604082019050919050565b600060208201905081810360008301526152aa8161526e565b9050919050565b60006060820190506152c66000830186613d74565b6152d36020830185613d74565b6152e06040830184613d74565b94935050505056fea26469706673582212206b376b09d99024f506caf2d4d926ba4c9d21171c5477ab0a02523d727e8129d364736f6c634300080f0033