[ { "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": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "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": 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": "walletOneUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "walletTwoUpdated", "type": "event" }, { "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": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deadAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deadBlocks", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_deadBlocks", "type": "uint256" } ], "name": "enableTrading", "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": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "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": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualsend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "manualswap", "outputs": [], "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": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "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": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" } ], "name": "updateBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTxnAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" } ], "name": "updateSellFees", "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" }, { "inputs": [ { "internalType": "address", "name": "newWalletOne", "type": "address" }, { "internalType": "address", "name": "newWalletTwo", "type": "address" } ], "name": "updateWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_whitelist", "type": "address" }, { "internalType": "bool", "name": "isWL", "type": "bool" } ], "name": "whitelistContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526001600b5f6101000a81548160ff0219169083151502179055505f600b60016101000a81548160ff0219169083151502179055505f600b60026101000a81548160ff0219169083151502179055503480156200005e575f80fd5b506040518060400160405280600881526020017f585620546f6b656e0000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f58560000000000000000000000000000000000000000000000000000000000008152508160039081620000dc919062000c5e565b508060049081620000ee919062000c5e565b5050506200011162000105620004d260201b60201c565b620004d960201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90506200013c8160016200059c60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e0919062000da7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000246573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200026c919062000da7565b6040518363ffffffff1660e01b81526004016200028b92919062000de8565b6020604051808303815f875af1158015620002a8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ce919062000da7565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200031660a05160016200059c60201b60201c565b6200032b60a05160016200068360201b60201c565b5f6a084595161401484a000000905060646002826200034b919062000e40565b62000357919062000eb7565b60088190555060646002826200036e919062000e40565b6200037a919062000eb7565b600a8190555061271060018262000392919062000e40565b6200039e919062000eb7565b6009819055503360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000446620004386200072160201b60201c565b60016200074960201b60201c565b620004593060016200074960201b60201c565b6200046e61dead60016200074960201b60201c565b62000490620004826200072160201b60201c565b60016200059c60201b60201c565b620004a33060016200059c60201b60201c565b620004b861dead60016200059c60201b60201c565b620004ca33826200088060201b60201c565b505062001077565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620005ac620004d260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005d26200072160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200062b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006229062000f4c565b60405180910390fd5b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000759620004d260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200077f6200072160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007d8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007cf9062000f4c565b60405180910390fd5b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000874919062000f88565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008e89062000ff1565b60405180910390fd5b620009045f8383620009f060201b60201c565b8060025f82825462000917919062001011565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546200096b919062001011565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009d191906200105c565b60405180910390a3620009ec5f8383620009f560201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000a7657607f821691505b60208210810362000a8c5762000a8b62000a31565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000af07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ab3565b62000afc868362000ab3565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000b4662000b4062000b3a8462000b14565b62000b1d565b62000b14565b9050919050565b5f819050919050565b62000b618362000b26565b62000b7962000b708262000b4d565b84845462000abf565b825550505050565b5f90565b62000b8f62000b81565b62000b9c81848462000b56565b505050565b5b8181101562000bc35762000bb75f8262000b85565b60018101905062000ba2565b5050565b601f82111562000c125762000bdc8162000a92565b62000be78462000aa4565b8101602085101562000bf7578190505b62000c0f62000c068562000aa4565b83018262000ba1565b50505b505050565b5f82821c905092915050565b5f62000c345f198460080262000c17565b1980831691505092915050565b5f62000c4e838362000c23565b9150826002028217905092915050565b62000c6982620009fa565b67ffffffffffffffff81111562000c855762000c8462000a04565b5b62000c91825462000a5e565b62000c9e82828562000bc7565b5f60209050601f83116001811462000cd4575f841562000cbf578287015190505b62000ccb858262000c41565b86555062000d3a565b601f19841662000ce48662000a92565b5f5b8281101562000d0d5784890151825560018201915060208501945060208101905062000ce6565b8683101562000d2d578489015162000d29601f89168262000c23565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000d718262000d46565b9050919050565b62000d838162000d65565b811462000d8e575f80fd5b50565b5f8151905062000da18162000d78565b92915050565b5f6020828403121562000dbf5762000dbe62000d42565b5b5f62000dce8482850162000d91565b91505092915050565b62000de28162000d65565b82525050565b5f60408201905062000dfd5f83018562000dd7565b62000e0c602083018462000dd7565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000e4c8262000b14565b915062000e598362000b14565b925082820262000e698162000b14565b9150828204841483151762000e835762000e8262000e13565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000ec38262000b14565b915062000ed08362000b14565b92508262000ee35762000ee262000e8a565b5b828204905092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000f3460208362000eee565b915062000f418262000efe565b602082019050919050565b5f6020820190508181035f83015262000f658162000f26565b9050919050565b5f8115159050919050565b62000f828162000f6c565b82525050565b5f60208201905062000f9d5f83018462000f77565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000fd9601f8362000eee565b915062000fe68262000fa3565b602082019050919050565b5f6020820190508181035f8301526200100a8162000fcb565b9050919050565b5f6200101d8262000b14565b91506200102a8362000b14565b925082820190508082111562001045576200104462000e13565b5b92915050565b620010568162000b14565b82525050565b5f602082019050620010715f8301846200104b565b92915050565b60805160a05161461f620010b55f395f8181610dce015261151b01525f8181610aeb01528181612d2a01528181612e090152612e30015261461f5ff3fe60806040526004361061026a575f3560e01c80638da5cb5b11610143578063c18bc195116100b5578063e2f4560511610079578063e2f4560514610929578063e8ba854f14610953578063eba4c3331461097b578063f2fde38b146109a3578063f8b45b05146109cb578063fabb0b4f146109f557610271565b8063c18bc19514610835578063c8c8ebe41461085d578063d257b34f14610887578063d85ba063146108c3578063dd62ed3e146108ed57610271565b8063a457c2d711610107578063a457c2d714610707578063a672990c14610743578063a9059cbb1461076b578063b62496f5146107a7578063bbc0c742146107e3578063c02466681461080d57610271565b80638da5cb5b146106395780639213691314610663578063924de9b71461068d57806395d89b41146106b55780639a7a23d6146106df57610271565b80634a62bb65116101dc578063715018a6116101a0578063715018a61461055957806371fc46881461056f578063751039fc146105975780637571336a146105c157806382aa7c68146105e9578063881dce601461061157610271565b80634a62bb65146104895780636a486a8e146104b35780636ddd1713146104dd5780636fc3eaec1461050757806370a082311461051d57610271565b8063203e727e1161022e578063203e727e1461036b57806323b872dd1461039357806327c8f835146103cf578063313ce567146103f9578063395093511461042357806349bd5a5e1461045f57610271565b806306fdde0314610275578063095ea7b31461029f57806310d5de53146102db5780631694505e1461031757806318160ddd1461034157610271565b3661027157005b5f80fd5b348015610280575f80fd5b50610289610a1f565b6040516102969190613407565b60405180910390f35b3480156102aa575f80fd5b506102c560048036038101906102c091906134b8565b610aaf565b6040516102d29190613510565b60405180910390f35b3480156102e6575f80fd5b5061030160048036038101906102fc9190613529565b610acc565b60405161030e9190613510565b60405180910390f35b348015610322575f80fd5b5061032b610ae9565b60405161033891906135af565b60405180910390f35b34801561034c575f80fd5b50610355610b0d565b60405161036291906135d7565b60405180910390f35b348015610376575f80fd5b50610391600480360381019061038c91906135f0565b610b16565b005b34801561039e575f80fd5b506103b960048036038101906103b4919061361b565b610c25565b6040516103c69190613510565b60405180910390f35b3480156103da575f80fd5b506103e3610d17565b6040516103f0919061367a565b60405180910390f35b348015610404575f80fd5b5061040d610d1d565b60405161041a91906136ae565b60405180910390f35b34801561042e575f80fd5b50610449600480360381019061044491906134b8565b610d25565b6040516104569190613510565b60405180910390f35b34801561046a575f80fd5b50610473610dcc565b604051610480919061367a565b60405180910390f35b348015610494575f80fd5b5061049d610df0565b6040516104aa9190613510565b60405180910390f35b3480156104be575f80fd5b506104c7610e02565b6040516104d491906135d7565b60405180910390f35b3480156104e8575f80fd5b506104f1610e08565b6040516104fe9190613510565b60405180910390f35b348015610512575f80fd5b5061051b610e1b565b005b348015610528575f80fd5b50610543600480360381019061053e9190613529565b610ea9565b60405161055091906135d7565b60405180910390f35b348015610564575f80fd5b5061056d610eee565b005b34801561057a575f80fd5b50610595600480360381019061059091906135f0565b610f75565b005b3480156105a2575f80fd5b506105ab61104a565b6040516105b89190613510565b60405180910390f35b3480156105cc575f80fd5b506105e760048036038101906105e291906136f1565b6110e7565b005b3480156105f4575f80fd5b5061060f600480360381019061060a91906135f0565b6111bb565b005b34801561061c575f80fd5b50610637600480360381019061063291906135f0565b611285565b005b348015610644575f80fd5b5061064d611346565b60405161065a919061367a565b60405180910390f35b34801561066e575f80fd5b5061067761136e565b60405161068491906135d7565b60405180910390f35b348015610698575f80fd5b506106b360048036038101906106ae919061372f565b611374565b005b3480156106c0575f80fd5b506106c961140d565b6040516106d69190613407565b60405180910390f35b3480156106ea575f80fd5b50610705600480360381019061070091906136f1565b61149d565b005b348015610712575f80fd5b5061072d600480360381019061072891906134b8565b6115b5565b60405161073a9190613510565b60405180910390f35b34801561074e575f80fd5b50610769600480360381019061076491906136f1565b61169b565b005b348015610776575f80fd5b50610791600480360381019061078c91906134b8565b6117c3565b60405161079e9190613510565b60405180910390f35b3480156107b2575f80fd5b506107cd60048036038101906107c89190613529565b6117e0565b6040516107da9190613510565b60405180910390f35b3480156107ee575f80fd5b506107f76117fd565b6040516108049190613510565b60405180910390f35b348015610818575f80fd5b50610833600480360381019061082e91906136f1565b611810565b005b348015610840575f80fd5b5061085b600480360381019061085691906135f0565b611932565b005b348015610868575f80fd5b50610871611a41565b60405161087e91906135d7565b60405180910390f35b348015610892575f80fd5b506108ad60048036038101906108a891906135f0565b611a47565b6040516108ba9190613510565b60405180910390f35b3480156108ce575f80fd5b506108d7611b9b565b6040516108e491906135d7565b60405180910390f35b3480156108f8575f80fd5b50610913600480360381019061090e919061375a565b611ba1565b60405161092091906135d7565b60405180910390f35b348015610934575f80fd5b5061093d611c23565b60405161094a91906135d7565b60405180910390f35b34801561095e575f80fd5b506109796004803603810190610974919061375a565b611c29565b005b348015610986575f80fd5b506109a1600480360381019061099c91906135f0565b611e1f565b005b3480156109ae575f80fd5b506109c960048036038101906109c49190613529565b611ef4565b005b3480156109d6575f80fd5b506109df611fea565b6040516109ec91906135d7565b60405180910390f35b348015610a00575f80fd5b50610a09611ff0565b604051610a1691906135d7565b60405180910390f35b606060038054610a2e906137c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5a906137c5565b8015610aa55780601f10610a7c57610100808354040283529160200191610aa5565b820191905f5260205f20905b815481529060010190602001808311610a8857829003601f168201915b5050505050905090565b5f610ac2610abb611ff6565b8484611ffd565b6001905092915050565b6015602052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b610b1e611ff6565b73ffffffffffffffffffffffffffffffffffffffff16610b3c611346565b73ffffffffffffffffffffffffffffffffffffffff1614610b92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b899061383f565b60405180910390fd5b670de0b6b3a76400006103e86001610ba8610b0d565b610bb2919061388a565b610bbc91906138f8565b610bc691906138f8565b811015610c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bff90613998565b60405180910390fd5b670de0b6b3a764000081610c1c919061388a565b60088190555050565b5f610c318484846121c0565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c78611ff6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee90613a26565b60405180910390fd5b610d0b85610d03611ff6565b858403611ffd565b60019150509392505050565b61dead81565b5f6012905090565b5f610dc2610d31611ff6565b848460015f610d3e611ff6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610dbd9190613a44565b611ffd565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600b5f9054906101000a900460ff1681565b60115481565b600b60029054906101000a900460ff1681565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051610e6190613aa4565b5f6040518083038185875af1925050503d805f8114610e9b576040519150601f19603f3d011682016040523d82523d5f602084013e610ea0565b606091505b50508091505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ef6611ff6565b73ffffffffffffffffffffffffffffffffffffffff16610f14611346565b73ffffffffffffffffffffffffffffffffffffffff1614610f6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f619061383f565b60405180910390fd5b610f735f612bca565b565b610f7d611ff6565b73ffffffffffffffffffffffffffffffffffffffff16610f9b611346565b73ffffffffffffffffffffffffffffffffffffffff1614610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe89061383f565b60405180910390fd5b80601081905550601054600f81905550600a600f541115611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103e90613b02565b60405180910390fd5b50565b5f611053611ff6565b73ffffffffffffffffffffffffffffffffffffffff16611071611346565b73ffffffffffffffffffffffffffffffffffffffff16146110c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110be9061383f565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055506001905090565b6110ef611ff6565b73ffffffffffffffffffffffffffffffffffffffff1661110d611346565b73ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115a9061383f565b60405180910390fd5b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6111c3611ff6565b73ffffffffffffffffffffffffffffffffffffffff166111e1611346565b73ffffffffffffffffffffffffffffffffffffffff1614611237576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122e9061383f565b60405180910390fd5b80600e819055506001600b60016101000a81548160ff0219169083151502179055506001600b60026101000a81548160ff02191690831515021790555043600c8190555042600d8190555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112c5611ff6565b73ffffffffffffffffffffffffffffffffffffffff16146112e4575f80fd5b6112ed30610ea9565b81111580156112fb57505f81115b61133a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133190613b6a565b60405180910390fd5b61134381612c8d565b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b61137c611ff6565b73ffffffffffffffffffffffffffffffffffffffff1661139a611346565b73ffffffffffffffffffffffffffffffffffffffff16146113f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e79061383f565b60405180910390fd5b80600b60026101000a81548160ff02191690831515021790555050565b60606004805461141c906137c5565b80601f0160208091040260200160405190810160405280929190818152602001828054611448906137c5565b80156114935780601f1061146a57610100808354040283529160200191611493565b820191905f5260205f20905b81548152906001019060200180831161147657829003601f168201915b5050505050905090565b6114a5611ff6565b73ffffffffffffffffffffffffffffffffffffffff166114c3611346565b73ffffffffffffffffffffffffffffffffffffffff1614611519576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115109061383f565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159e90613bf8565b60405180910390fd5b6115b18282612ec0565b5050565b5f8060015f6115c2611ff6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167390613c86565b60405180910390fd5b611690611687611ff6565b85858403611ffd565b600191505092915050565b6116a3611ff6565b73ffffffffffffffffffffffffffffffffffffffff166116c1611346565b73ffffffffffffffffffffffffffffffffffffffff1614611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e9061383f565b60405180910390fd5b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f6117d66117cf611ff6565b84846121c0565b6001905092915050565b6016602052805f5260405f205f915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b611818611ff6565b73ffffffffffffffffffffffffffffffffffffffff16611836611346565b73ffffffffffffffffffffffffffffffffffffffff161461188c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118839061383f565b60405180910390fd5b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516119269190613510565b60405180910390a25050565b61193a611ff6565b73ffffffffffffffffffffffffffffffffffffffff16611958611346565b73ffffffffffffffffffffffffffffffffffffffff16146119ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a59061383f565b60405180910390fd5b670de0b6b3a76400006103e860056119c4610b0d565b6119ce919061388a565b6119d891906138f8565b6119e291906138f8565b811015611a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1b90613d14565b60405180910390fd5b670de0b6b3a764000081611a38919061388a565b600a8190555050565b60085481565b5f611a50611ff6565b73ffffffffffffffffffffffffffffffffffffffff16611a6e611346565b73ffffffffffffffffffffffffffffffffffffffff1614611ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abb9061383f565b60405180910390fd5b620186a06001611ad2610b0d565b611adc919061388a565b611ae691906138f8565b821015611b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1f90613da2565b60405180910390fd5b6103e86005611b35610b0d565b611b3f919061388a565b611b4991906138f8565b821115611b8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8290613e30565b60405180910390fd5b8160098190555060019050919050565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b611c31611ff6565b73ffffffffffffffffffffffffffffffffffffffff16611c4f611346565b73ffffffffffffffffffffffffffffffffffffffff1614611ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9c9061383f565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fa99dead445593e0ad945143dc1b0f9b10d5ff5356d423a8428b064c9c9b3f50760405160405180910390a360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167ffc6e5ad4b1cc83c1340fc759e88f86ea75ce690eaf188413d0cf6b5290cc633460405160405180910390a38160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611e27611ff6565b73ffffffffffffffffffffffffffffffffffffffff16611e45611346565b73ffffffffffffffffffffffffffffffffffffffff1614611e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e929061383f565b60405180910390fd5b8060128190555060125460118190555060606011541115611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee890613b02565b60405180910390fd5b50565b611efc611ff6565b73ffffffffffffffffffffffffffffffffffffffff16611f1a611346565b73ffffffffffffffffffffffffffffffffffffffff1614611f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f679061383f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd590613ebe565b60405180910390fd5b611fe781612bca565b50565b600a5481565b600e5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361206b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206290613f4c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d090613fda565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121b391906135d7565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361222e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222590614068565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361229c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612293906140f6565b60405180910390fd5b5f81036122b3576122ae83835f612f5e565b612bc5565b5f439050600b5f9054906101000a900460ff16156127fb576122d3611346565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123415750612311611346565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561237957505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123b3575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123cc5750600560149054906101000a900460ff16155b156127fa5780600e54600c546123e29190613a44565b1061240e576005601081905550601054600f81905550601d601281905550601254601181905550612431565b6002601081905550601054600f8190555060026012819055506012546011819055505b600b60019054906101000a900460ff166125205760135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806124e0575060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61251f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125169061415e565b60405180910390fd5b5b60165f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156125bd575060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561266457600854821115612607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125fe906141ec565b60405180910390fd5b600a5461261384610ea9565b8361261e9190613a44565b111561265f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265690614254565b60405180910390fd5b6127f9565b60165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612701575060155f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156127505760085482111561274b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612742906142e2565b60405180910390fd5b6127f8565b60155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166127f757600a546127aa84610ea9565b836127b59190613a44565b11156127f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ed90614254565b60405180910390fd5b5b5b5b5b5b5f61280530610ea9565b90505f60095482101590508080156128295750600b60029054906101000a900460ff165b80156128425750600560149054906101000a900460ff16155b801561285f5750600260145f8581526020019081526020015f2054105b80156128b2575060165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612905575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612958575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156129bf576001600560146101000a81548160ff0219169083151502179055506129806131d3565b60145f8481526020019081526020015f205f815461299d90614300565b919050819055505f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff1615905060135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612a6e575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612a77575f90505b5f8115612bb45760165f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612ad557505f601154115b15612b0957612b026064612af46011548961334990919063ffffffff16565b61335e90919063ffffffff16565b9050612b91565b60165f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612b6057505f600f54115b15612b9057612b8d6064612b7f600f548961334990919063ffffffff16565b61335e90919063ffffffff16565b90505b5b5f811115612ba557612ba4883083612f5e565b5b8086612bb19190614347565b95505b612bbf888888612f5e565b50505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff811115612ca957612ca861437a565b5b604051908082528060200260200182016040528015612cd75781602001602082028036833780820191505090505b50905030815f81518110612cee57612ced6143a7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612db591906143e8565b81600181518110612dc957612dc86143a7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e2e307f000000000000000000000000000000000000000000000000000000000000000084611ffd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612e8f959493929190614503565b5f604051808303815f87803b158015612ea6575f80fd5b505af1158015612eb8573d5f803e3d5ffd5b505050505050565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fc390614068565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361303a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613031906140f6565b60405180910390fd5b613045838383613373565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156130c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130bf906145cb565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546131569190613a44565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131ba91906135d7565b60405180910390a36131cd848484613378565b50505050565b5f6131dd30610ea9565b90505f8082036131ee575050613347565b60146009546131fd919061388a565b821115613216576014600954613213919061388a565b91505b5f82905061322381612c8d565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660024761326891906138f8565b60405161327490613aa4565b5f6040518083038185875af1925050503d805f81146132ae576040519150601f19603f3d011682016040523d82523d5f602084013e6132b3565b606091505b50508092505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516132fe90613aa4565b5f6040518083038185875af1925050503d805f8114613338576040519150601f19603f3d011682016040523d82523d5f602084013e61333d565b606091505b5050809250505050505b565b5f8183613356919061388a565b905092915050565b5f818361336b91906138f8565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156133b4578082015181840152602081019050613399565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6133d98261337d565b6133e38185613387565b93506133f3818560208601613397565b6133fc816133bf565b840191505092915050565b5f6020820190508181035f83015261341f81846133cf565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6134548261342b565b9050919050565b6134648161344a565b811461346e575f80fd5b50565b5f8135905061347f8161345b565b92915050565b5f819050919050565b61349781613485565b81146134a1575f80fd5b50565b5f813590506134b28161348e565b92915050565b5f80604083850312156134ce576134cd613427565b5b5f6134db85828601613471565b92505060206134ec858286016134a4565b9150509250929050565b5f8115159050919050565b61350a816134f6565b82525050565b5f6020820190506135235f830184613501565b92915050565b5f6020828403121561353e5761353d613427565b5b5f61354b84828501613471565b91505092915050565b5f819050919050565b5f61357761357261356d8461342b565b613554565b61342b565b9050919050565b5f6135888261355d565b9050919050565b5f6135998261357e565b9050919050565b6135a98161358f565b82525050565b5f6020820190506135c25f8301846135a0565b92915050565b6135d181613485565b82525050565b5f6020820190506135ea5f8301846135c8565b92915050565b5f6020828403121561360557613604613427565b5b5f613612848285016134a4565b91505092915050565b5f805f6060848603121561363257613631613427565b5b5f61363f86828701613471565b935050602061365086828701613471565b9250506040613661868287016134a4565b9150509250925092565b6136748161344a565b82525050565b5f60208201905061368d5f83018461366b565b92915050565b5f60ff82169050919050565b6136a881613693565b82525050565b5f6020820190506136c15f83018461369f565b92915050565b6136d0816134f6565b81146136da575f80fd5b50565b5f813590506136eb816136c7565b92915050565b5f806040838503121561370757613706613427565b5b5f61371485828601613471565b9250506020613725858286016136dd565b9150509250929050565b5f6020828403121561374457613743613427565b5b5f613751848285016136dd565b91505092915050565b5f80604083850312156137705761376f613427565b5b5f61377d85828601613471565b925050602061378e85828601613471565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806137dc57607f821691505b6020821081036137ef576137ee613798565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613829602083613387565b9150613834826137f5565b602082019050919050565b5f6020820190508181035f8301526138568161381d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61389482613485565b915061389f83613485565b92508282026138ad81613485565b915082820484148315176138c4576138c361385d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61390282613485565b915061390d83613485565b92508261391d5761391c6138cb565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b5f613982602f83613387565b915061398d82613928565b604082019050919050565b5f6020820190508181035f8301526139af81613976565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613a10602883613387565b9150613a1b826139b6565b604082019050919050565b5f6020820190508181035f830152613a3d81613a04565b9050919050565b5f613a4e82613485565b9150613a5983613485565b9250828201905080821115613a7157613a7061385d565b5b92915050565b5f81905092915050565b50565b5f613a8f5f83613a77565b9150613a9a82613a81565b5f82019050919050565b5f613aae82613a84565b9150819050919050565b7f4d757374206b6565702066656573206174203525206f72206c657373000000005f82015250565b5f613aec601c83613387565b9150613af782613ab8565b602082019050919050565b5f6020820190508181035f830152613b1981613ae0565b9050919050565b7f57726f6e6720616d6f756e7400000000000000000000000000000000000000005f82015250565b5f613b54600c83613387565b9150613b5f82613b20565b602082019050919050565b5f6020820190508181035f830152613b8181613b48565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613be2603983613387565b9150613bed82613b88565b604082019050919050565b5f6020820190508181035f830152613c0f81613bd6565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613c70602583613387565b9150613c7b82613c16565b604082019050919050565b5f6020820190508181035f830152613c9d81613c64565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b5f613cfe602483613387565b9150613d0982613ca4565b604082019050919050565b5f6020820190508181035f830152613d2b81613cf2565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f613d8c603583613387565b9150613d9782613d32565b604082019050919050565b5f6020820190508181035f830152613db981613d80565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f613e1a603483613387565b9150613e2582613dc0565b604082019050919050565b5f6020820190508181035f830152613e4781613e0e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613ea8602683613387565b9150613eb382613e4e565b604082019050919050565b5f6020820190508181035f830152613ed581613e9c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613f36602483613387565b9150613f4182613edc565b604082019050919050565b5f6020820190508181035f830152613f6381613f2a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fc4602283613387565b9150613fcf82613f6a565b604082019050919050565b5f6020820190508181035f830152613ff181613fb8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614052602583613387565b915061405d82613ff8565b604082019050919050565b5f6020820190508181035f83015261407f81614046565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6140e0602383613387565b91506140eb82614086565b604082019050919050565b5f6020820190508181035f83015261410d816140d4565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f614148601683613387565b915061415382614114565b602082019050919050565b5f6020820190508181035f8301526141758161413c565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6141d6603583613387565b91506141e18261417c565b604082019050919050565b5f6020820190508181035f830152614203816141ca565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f61423e601383613387565b91506142498261420a565b602082019050919050565b5f6020820190508181035f83015261426b81614232565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6142cc603683613387565b91506142d782614272565b604082019050919050565b5f6020820190508181035f8301526142f9816142c0565b9050919050565b5f61430a82613485565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361433c5761433b61385d565b5b600182019050919050565b5f61435182613485565b915061435c83613485565b92508282039050818111156143745761437361385d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506143e28161345b565b92915050565b5f602082840312156143fd576143fc613427565b5b5f61440a848285016143d4565b91505092915050565b5f819050919050565b5f61443661443161442c84614413565b613554565b613485565b9050919050565b6144468161441c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61447e8161344a565b82525050565b5f61448f8383614475565b60208301905092915050565b5f602082019050919050565b5f6144b18261444c565b6144bb8185614456565b93506144c683614466565b805f5b838110156144f65781516144dd8882614484565b97506144e88361449b565b9250506001810190506144c9565b5085935050505092915050565b5f60a0820190506145165f8301886135c8565b614523602083018761443d565b818103604083015261453581866144a7565b9050614544606083018561366b565b61455160808301846135c8565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6145b5602683613387565b91506145c08261455b565b604082019050919050565b5f6020820190508181035f8301526145e2816145a9565b905091905056fea2646970667358221220330c04e2d40b221ef093ee54a082fde511d45e04fbec39ba231e3cbf20b89cfa64736f6c63430008150033