Loading
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "BurnExecuted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldPool", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newPool", "type": "address" } ], "name": "BurnPoolUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_maxTxAmount", "type": "uint256" } ], "name": "MaxTxAmountUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_tax", "type": "uint256" } ], "name": "MevFeeUpdated", "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": "oldPool", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newPool", "type": "address" } ], "name": "RewardPoolUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "RewardsClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pool", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "status", "type": "bool" } ], "name": "StakePoolRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "lockPeriod", "type": "uint256" } ], "name": "StakingPositionUpdated", "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": "oldPool", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newPool", "type": "address" } ], "name": "TreasuryPoolUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "controller", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "status", "type": "bool" } ], "name": "YieldControllerUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "strategyId", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "YieldStrategyUpdated", "type": "event" }, { "inputs": [], "name": "_maxTaxSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWalletSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxSwapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "bots_", "type": "address[]" } ], "name": "addBots", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "calculateTimeWeight", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "notbot", "type": "address[]" } ], "name": "delBots", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getBurnPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "getFarmingRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "getLastStakeTimestamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRewardPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "getStakeInfo", "outputs": [ { "components": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "internalType": "uint256", "name": "lockPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "rewardDebt", "type": "uint256" } ], "internalType": "struct KUGO.StakeInfo", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSystemMetrics", "outputs": [ { "internalType": "uint256", "name": "totalStaked", "type": "uint256" }, { "internalType": "uint256", "name": "totalRewards", "type": "uint256" }, { "internalType": "uint256", "name": "burnedTokens", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTreasuryPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "name": "isBot", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "name": "isStakingPool", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "manualsend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "openTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newFee", "type": "uint256" } ], "name": "reduceFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "registerStakingPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeMevFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "newPool", "type": "address" } ], "name": "setBurnPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "newPool", "type": "address" } ], "name": "setRewardPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "newPool", "type": "address" } ], "name": "setTreasuryPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_controller", "type": "address" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "setYieldController", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "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" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052739f4fd2889327856acbe9f9431fb837597f86111f600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073395749033c4216d1b458afdcc2a23ae3926303cc600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733218ca8d31e6d75d7be32fada43720e15fd755ac600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506014600e556014600f5560056010556005601155601e6012556032601355601e60145560326015555f6016556009600a61013a919061081a565b632cb417806101499190610864565b6017556009600a61015a919061081a565b632cb417806101699190610864565b6018556009600a61017a919061081a565b6305f5e1006101899190610864565b6019556009600a61019a919061081a565b6317d784006101a99190610864565b601a555f601c60156101000a81548160ff0219169083151502179055505f601c60166101000a81548160ff0219169083151502179055505f601d555f601e553480156101f3575f5ffd5b505f61020361067b60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506102ad61067b60201b60201c565b600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6102fa919061081a565b64174876e80061030a9190610864565b60015f61031b61067b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61036b61068260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506105f561067b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a610651919061081a565b64174876e8006106619190610864565b60405161066e91906108b4565b60405180910390a36108cd565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561072b57808604811115610707576107066106a9565b5b60018516156107165780820291505b8081029050610724856106d6565b94506106eb565b94509492505050565b5f8261074357600190506107fe565b81610750575f90506107fe565b816001811461076657600281146107705761079f565b60019150506107fe565b60ff841115610782576107816106a9565b5b8360020a915084821115610799576107986106a9565b5b506107fe565b5060208310610133831016604e8410600b84101617156107d45782820a9050838111156107cf576107ce6106a9565b5b6107fe565b6107e184848460016106e2565b925090508184048111156107f8576107f76106a9565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61082482610805565b915061082f8361080e565b925061085c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610734565b905092915050565b5f61086e82610805565b915061087983610805565b925082820261088781610805565b9150828204841483151761089e5761089d6106a9565b5b5092915050565b6108ae81610805565b82525050565b5f6020820190506108c75f8301846108a5565b92915050565b6148d4806108da5f395ff3fe608060405260043610610228575f3560e01c8063715018a61161012257806395d89b41116100aa578063d191eef11161006e578063d191eef1146107ab578063d34628cc146107e7578063dd62ed3e1461080f578063e733070a1461084b578063ec1f3f63146108875761022f565b806395d89b41146106c9578063a9059cbb146106f3578063bf474bed1461072f578063c345315314610759578063c9567bf9146107955761022f565b80637ad11337116100f15780637ad11337146105f95780637d1db4a51461062157806380c7d0cb1461064b5780638da5cb5b146106755780638f9a55c01461069f5761022f565b8063715018a61461057d578063751039fc1461059357806377497f26146105a957806378238c37146105d15761022f565b806323b872dd116101b057806351bc3c851161017457806351bc3c85146104c1578063603d0800146104d75780636cfccc2f146104ff5780636fc3eaec1461052b57806370a08231146105415761022f565b806323b872dd146103e1578063313ce5671461041d57806331c2d847146104475780633bbac5791461046f5780633f9b1e7b146104ab5761022f565b80630a4c61f5116101f75780630a4c61f5146102ff5780630faee56f1461033b57806318160ddd146103655780631b8b13a71461038f57806323396d07146103b95761022f565b80630224b6f314610233578063069b08221461025d57806306fdde0314610299578063095ea7b3146102c35761022f565b3661022f57005b5f5ffd5b34801561023e575f5ffd5b506102476108af565b6040516102549190613666565b60405180910390f35b348015610268575f5ffd5b50610283600480360381019061027e91906136ba565b6108d7565b60405161029091906136ff565b60405180910390f35b3480156102a4575f5ffd5b506102ad610929565b6040516102ba9190613788565b60405180910390f35b3480156102ce575f5ffd5b506102e960048036038101906102e491906137db565b610966565b6040516102f691906136ff565b60405180910390f35b34801561030a575f5ffd5b50610325600480360381019061032091906136ba565b610983565b6040516103329190613828565b60405180910390f35b348015610346575f5ffd5b5061034f6109c9565b60405161035c9190613828565b60405180910390f35b348015610370575f5ffd5b506103796109cf565b6040516103869190613828565b60405180910390f35b34801561039a575f5ffd5b506103a36109f3565b6040516103b09190613666565b60405180910390f35b3480156103c4575f5ffd5b506103df60048036038101906103da919061387c565b610a1b565b005b3480156103ec575f5ffd5b50610407600480360381019061040291906138a7565b610c8a565b60405161041491906136ff565b60405180910390f35b348015610428575f5ffd5b50610431610d5e565b60405161043e9190613912565b60405180910390f35b348015610452575f5ffd5b5061046d60048036038101906104689190613a6b565b610d66565b005b34801561047a575f5ffd5b50610495600480360381019061049091906136ba565b610e88565b6040516104a291906136ff565b60405180910390f35b3480156104b6575f5ffd5b506104bf610eda565b005b3480156104cc575f5ffd5b506104d5610faf565b005b3480156104e2575f5ffd5b506104fd60048036038101906104f8919061387c565b611046565b005b34801561050a575f5ffd5b506105136112b5565b60405161052293929190613ab2565b60405180910390f35b348015610536575f5ffd5b5061053f611304565b005b34801561054c575f5ffd5b50610567600480360381019061056291906136ba565b611373565b6040516105749190613828565b60405180910390f35b348015610588575f5ffd5b506105916113b9565b005b34801561059e575f5ffd5b506105a7611509565b005b3480156105b4575f5ffd5b506105cf60048036038101906105ca9190613b11565b61163c565b005b3480156105dc575f5ffd5b506105f760048036038101906105f2919061387c565b611777565b005b348015610604575f5ffd5b5061061f600480360381019061061a9190613b11565b6119e6565b005b34801561062c575f5ffd5b50610635611b21565b6040516106429190613828565b60405180910390f35b348015610656575f5ffd5b5061065f611b27565b60405161066c9190613666565b60405180910390f35b348015610680575f5ffd5b50610689611b4f565b6040516106969190613666565b60405180910390f35b3480156106aa575f5ffd5b506106b3611b76565b6040516106c09190613828565b60405180910390f35b3480156106d4575f5ffd5b506106dd611b7c565b6040516106ea9190613788565b60405180910390f35b3480156106fe575f5ffd5b50610719600480360381019061071491906137db565b611bb9565b60405161072691906136ff565b60405180910390f35b34801561073a575f5ffd5b50610743611bd6565b6040516107509190613828565b60405180910390f35b348015610764575f5ffd5b5061077f600480360381019061077a91906136ba565b611bdc565b60405161078c9190613bb1565b60405180910390f35b3480156107a0575f5ffd5b506107a9611c5a565b005b3480156107b6575f5ffd5b506107d160048036038101906107cc91906136ba565b61217e565b6040516107de9190613828565b60405180910390f35b3480156107f2575f5ffd5b5061080d60048036038101906108089190613a6b565b6121db565b005b34801561081a575f5ffd5b5061083560048036038101906108309190613bca565b6122fe565b6040516108429190613828565b60405180910390f35b348015610856575f5ffd5b50610871600480360381019061086c91906136ba565b612380565b60405161087e9190613828565b60405180910390f35b348015610892575f5ffd5b506108ad60048036038101906108a89190613c08565b6123c6565b005b5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60606040518060400160405280600681526020017f4b75676f46690000000000000000000000000000000000000000000000000000815250905090565b5f610979610972612452565b8484612459565b6001905092915050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b601a5481565b5f6009600a6109de9190613d8f565b64174876e8006109ee9190613dd9565b905090565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a23612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790613e64565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1590613ecc565b60405180910390fd5b5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555081600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa0c3a57fee54fe54aa6db00b0f2b20adbccab93b53de69e0173b3b6148efc62360405160405180910390a35050565b5f610c9684848461261c565b610d5384610ca2612452565b610d4e856040518060600160405280602881526020016148776028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610d05612452565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612fa69092919063ffffffff16565b612459565b600190509392505050565b5f6009905090565b610d6e612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290613e64565b60405180910390fd5b5f5f90505b8151811015610e84575f60095f848481518110610e2057610e1f613eea565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610e00565b5050565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610ee2612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6690613e64565b60405180910390fd5b5f6015819055507feab6430f9c576c58705d34087fc35a1c3ae9f474d5ac0da8d199361e8040bb095f604051610fa59190613f59565b60405180910390a1565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fef612452565b73ffffffffffffffffffffffffffffffffffffffff161461100e575f5ffd5b5f61101830611373565b90505f81111561102c5761102b81613008565b5b5f4790505f8111156110425761104181613273565b5b5050565b61104e612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d290613e64565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114090613ecc565b60405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f969d57f45ea53a1f5618d83f0f935206e427f0b613aecf46112d02a896d3580460405160405180910390a35050565b5f5f5f6112c130611373565b92504791506112fd6112d16109cf565b6009600a6112df9190613d8f565b64174876e8006112ef9190613dd9565b61342490919063ffffffff16565b9050909192565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611344612452565b73ffffffffffffffffffffffffffffffffffffffff1614611363575f5ffd5b5f47905061137081613273565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6113c1612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461144e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144590613e64565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611511612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461159e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159590613e64565b60405180910390fd5b6009600a6115ac9190613d8f565b64174876e8006115bc9190613dd9565b6017819055506009600a6115d09190613d8f565b64174876e8006115e09190613dd9565b6018819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6116159190613d8f565b64174876e8006116259190613dd9565b6040516116329190613828565b60405180910390a1565b611644612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c890613e64565b60405180910390fd5b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fa34ec2f8737bc92ef4f1419f0c46bd2a71e6f14772c46729e9c55482584970338260405161176b91906136ff565b60405180910390a25050565b61177f612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461180c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180390613e64565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361187a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187190613ecc565b60405180910390fd5b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555081600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f172da71f1c616b61d83038d9d8679e9f8592d8405647a400b24bf1852cecaed760405160405180910390a35050565b6119ee612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7290613e64565b60405180910390fd5b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9bbae5d24d82e4a5c2edf10d33dfe0fa6ae13fdea51af504f83d01cd80dc097a82604051611b1591906136ff565b60405180910390a25050565b60175481565b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60185481565b60606040518060400160405280600481526020017f4b55474f00000000000000000000000000000000000000000000000000000000815250905090565b5f611bcc611bc5612452565b848461261c565b6001905092915050565b60195481565b611be4613603565b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060800160405290815f820154815260200160018201548152602001600282015481526020016003820154815250509050919050565b611c62612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce690613e64565b60405180910390fd5b601c60149054906101000a900460ff1615611d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3690613fbc565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ddc30601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a611dc79190613d8f565b64174876e800611dd79190613dd9565b612459565b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e46573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6a9190613fee565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f149190613fee565b6040518363ffffffff1660e01b8152600401611f31929190614019565b6020604051808303815f875af1158015611f4d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f719190613fee565b601c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611ff830611373565b5f5f612002611b4f565b426040518863ffffffff1660e01b815260040161202496959493929190614040565b60606040518083038185885af1158015612040573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061206591906140b3565b505050601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401612105929190614103565b6020604051808303815f875af1158015612121573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612145919061413e565b506001601c60166101000a81548160ff0219169083151502179055506001601c60146101000a81548160ff021916908315150217905550565b5f5f6121d060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20544261342490919063ffffffff16565b905080915050919050565b6121e3612452565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612270576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226790613e64565b60405180910390fd5b5f5f90505b81518110156122fa57600160095f84848151811061229657612295613eea565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050612275565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612406612452565b73ffffffffffffffffffffffffffffffffffffffff1614612425575f5ffd5b601054811115801561243957506011548111155b612441575f5ffd5b806010819055508060118190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be906141d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252c90614267565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161260f9190613828565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361268a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612681906142f5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ef90614383565b60405180910390fd5b5f811161273a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273190614411565b60405180910390fd5b5f5f9050612746611b4f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156127b45750612784611b4f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612cf65760095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015612857575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61285f575f5ffd5b5f601654036128a7576128a460646128966012546016541161288357600e54612887565b6010545b8561346d90919063ffffffff16565b6134e490919063ffffffff16565b90505b5f60165411156128dc576128d960646128cb6015548561346d90919063ffffffff16565b6134e490919063ffffffff16565b90505b601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156129855750601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156129d8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612ad057601754821115612a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1990614479565b60405180910390fd5b60185482612a2f85611373565b612a399190614497565b1115612a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7190614514565b60405180910390fd5b612ab66064612aa860125460165411612a9557600e54612a99565b6010545b8561346d90919063ffffffff16565b6134e490919063ffffffff16565b905060165f815480929190612aca90614532565b91905055505b601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612b5857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612b9c57612b996064612b8b60135460165411612b7857600f54612b7c565b6011545b8561346d90919063ffffffff16565b6134e490919063ffffffff16565b90505b5f612ba630611373565b9050601c60159054906101000a900460ff16158015612c115750601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015612c295750601c60169054906101000a900460ff165b8015612c36575060195481115b8015612c455750601454601654115b15612cf457601e54431115612c5c575f601d819055505b6003601d5410612ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c98906145c3565b60405180910390fd5b612cbe612cb984612cb484601a5461352d565b61352d565b613008565b5f4790505f811115612cd457612cd347613273565b5b601d5f815480929190612ce690614532565b919050555043601e81905550505b505b5f811115612df557612d4e8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461354590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612dec9190613828565b60405180910390a35b612e458260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461342490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612ee8612e9c828461342490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461354590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612f8b848661342490919063ffffffff16565b604051612f989190613828565b60405180910390a350505050565b5f838311158290612fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fe49190613788565b60405180910390fd5b505f8385612ffb91906145e1565b9050809150509392505050565b6001601c60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561303f5761303e61392f565b5b60405190808252806020026020018201604052801561306d5781602001602082028036833780820191505090505b50905030815f8151811061308457613083613eea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613128573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061314c9190613fee565b816001815181106131605761315f613eea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506131c630601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612459565b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016132289594939291906146cb565b5f604051808303815f87803b15801561323f575f5ffd5b505af1158015613251573d5f5f3e3d5ffd5b50505050505f601c60156101000a81548160ff02191690831515021790555050565b5f61329b600561328d60028561346d90919063ffffffff16565b6134e490919063ffffffff16565b90505f6132c560056132b760018661346d90919063ffffffff16565b6134e490919063ffffffff16565b90505f6132ed826132df858761342490919063ffffffff16565b61342490919063ffffffff16565b9050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8490811502906040515f60405180830381858888f19350505050158015613353573d5f5f3e3d5ffd5b50600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f193505050501580156133b8573d5f5f3e3d5ffd5b50600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561341d573d5f5f3e3d5ffd5b5050505050565b5f61346583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612fa6565b905092915050565b5f5f830361347d575f90506134de565b5f828461348a9190613dd9565b90508284826134999190614750565b146134d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134d0906147f0565b60405180910390fd5b809150505b92915050565b5f61352583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506135a2565b905092915050565b5f81831161353b578261353d565b815b905092915050565b5f5f82846135539190614497565b905083811015613598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161358f90614858565b60405180910390fd5b8091505092915050565b5f5f831182906135e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135df9190613788565b60405180910390fd5b505f83856135f69190614750565b9050809150509392505050565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61365082613627565b9050919050565b61366081613646565b82525050565b5f6020820190506136795f830184613657565b92915050565b5f604051905090565b5f5ffd5b5f5ffd5b61369981613646565b81146136a3575f5ffd5b50565b5f813590506136b481613690565b92915050565b5f602082840312156136cf576136ce613688565b5b5f6136dc848285016136a6565b91505092915050565b5f8115159050919050565b6136f9816136e5565b82525050565b5f6020820190506137125f8301846136f0565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61375a82613718565b6137648185613722565b9350613774818560208601613732565b61377d81613740565b840191505092915050565b5f6020820190508181035f8301526137a08184613750565b905092915050565b5f819050919050565b6137ba816137a8565b81146137c4575f5ffd5b50565b5f813590506137d5816137b1565b92915050565b5f5f604083850312156137f1576137f0613688565b5b5f6137fe858286016136a6565b925050602061380f858286016137c7565b9150509250929050565b613822816137a8565b82525050565b5f60208201905061383b5f830184613819565b92915050565b5f61384b82613627565b9050919050565b61385b81613841565b8114613865575f5ffd5b50565b5f8135905061387681613852565b92915050565b5f6020828403121561389157613890613688565b5b5f61389e84828501613868565b91505092915050565b5f5f5f606084860312156138be576138bd613688565b5b5f6138cb868287016136a6565b93505060206138dc868287016136a6565b92505060406138ed868287016137c7565b9150509250925092565b5f60ff82169050919050565b61390c816138f7565b82525050565b5f6020820190506139255f830184613903565b92915050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61396582613740565b810181811067ffffffffffffffff821117156139845761398361392f565b5b80604052505050565b5f61399661367f565b90506139a2828261395c565b919050565b5f67ffffffffffffffff8211156139c1576139c061392f565b5b602082029050602081019050919050565b5f5ffd5b5f6139e86139e3846139a7565b61398d565b90508083825260208201905060208402830185811115613a0b57613a0a6139d2565b5b835b81811015613a345780613a2088826136a6565b845260208401935050602081019050613a0d565b5050509392505050565b5f82601f830112613a5257613a5161392b565b5b8135613a628482602086016139d6565b91505092915050565b5f60208284031215613a8057613a7f613688565b5b5f82013567ffffffffffffffff811115613a9d57613a9c61368c565b5b613aa984828501613a3e565b91505092915050565b5f606082019050613ac55f830186613819565b613ad26020830185613819565b613adf6040830184613819565b949350505050565b613af0816136e5565b8114613afa575f5ffd5b50565b5f81359050613b0b81613ae7565b92915050565b5f5f60408385031215613b2757613b26613688565b5b5f613b34858286016136a6565b9250506020613b4585828601613afd565b9150509250929050565b613b58816137a8565b82525050565b608082015f820151613b725f850182613b4f565b506020820151613b856020850182613b4f565b506040820151613b986040850182613b4f565b506060820151613bab6060850182613b4f565b50505050565b5f608082019050613bc45f830184613b5e565b92915050565b5f5f60408385031215613be057613bdf613688565b5b5f613bed858286016136a6565b9250506020613bfe858286016136a6565b9150509250929050565b5f60208284031215613c1d57613c1c613688565b5b5f613c2a848285016137c7565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115613cb557808604811115613c9157613c90613c33565b5b6001851615613ca05780820291505b8081029050613cae85613c60565b9450613c75565b94509492505050565b5f82613ccd5760019050613d88565b81613cda575f9050613d88565b8160018114613cf05760028114613cfa57613d29565b6001915050613d88565b60ff841115613d0c57613d0b613c33565b5b8360020a915084821115613d2357613d22613c33565b5b50613d88565b5060208310610133831016604e8410600b8410161715613d5e5782820a905083811115613d5957613d58613c33565b5b613d88565b613d6b8484846001613c6c565b92509050818404811115613d8257613d81613c33565b5b81810290505b9392505050565b5f613d99826137a8565b9150613da4836138f7565b9250613dd17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613cbe565b905092915050565b5f613de3826137a8565b9150613dee836137a8565b9250828202613dfc816137a8565b91508282048414831517613e1357613e12613c33565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613e4e602083613722565b9150613e5982613e1a565b602082019050919050565b5f6020820190508181035f830152613e7b81613e42565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f613eb6600f83613722565b9150613ec182613e82565b602082019050919050565b5f6020820190508181035f830152613ee381613eaa565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f613f43613f3e613f3984613f17565b613f20565b6137a8565b9050919050565b613f5381613f29565b82525050565b5f602082019050613f6c5f830184613f4a565b92915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613fa6601783613722565b9150613fb182613f72565b602082019050919050565b5f6020820190508181035f830152613fd381613f9a565b9050919050565b5f81519050613fe881613690565b92915050565b5f6020828403121561400357614002613688565b5b5f61401084828501613fda565b91505092915050565b5f60408201905061402c5f830185613657565b6140396020830184613657565b9392505050565b5f60c0820190506140535f830189613657565b6140606020830188613819565b61406d6040830187613f4a565b61407a6060830186613f4a565b6140876080830185613657565b61409460a0830184613819565b979650505050505050565b5f815190506140ad816137b1565b92915050565b5f5f5f606084860312156140ca576140c9613688565b5b5f6140d78682870161409f565b93505060206140e88682870161409f565b92505060406140f98682870161409f565b9150509250925092565b5f6040820190506141165f830185613657565b6141236020830184613819565b9392505050565b5f8151905061413881613ae7565b92915050565b5f6020828403121561415357614152613688565b5b5f6141608482850161412a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6141c3602483613722565b91506141ce82614169565b604082019050919050565b5f6020820190508181035f8301526141f0816141b7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614251602283613722565b915061425c826141f7565b604082019050919050565b5f6020820190508181035f83015261427e81614245565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6142df602583613722565b91506142ea82614285565b604082019050919050565b5f6020820190508181035f83015261430c816142d3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61436d602383613722565b915061437882614313565b604082019050919050565b5f6020820190508181035f83015261439a81614361565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6143fb602983613722565b9150614406826143a1565b604082019050919050565b5f6020820190508181035f830152614428816143ef565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f614463601983613722565b915061446e8261442f565b602082019050919050565b5f6020820190508181035f83015261449081614457565b9050919050565b5f6144a1826137a8565b91506144ac836137a8565b92508282019050808211156144c4576144c3613c33565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6144fe601a83613722565b9150614509826144ca565b602082019050919050565b5f6020820190508181035f83015261452b816144f2565b9050919050565b5f61453c826137a8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361456e5761456d613c33565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6145ad601783613722565b91506145b882614579565b602082019050919050565b5f6020820190508181035f8301526145da816145a1565b9050919050565b5f6145eb826137a8565b91506145f6836137a8565b925082820390508181111561460e5761460d613c33565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61464681613646565b82525050565b5f614657838361463d565b60208301905092915050565b5f602082019050919050565b5f61467982614614565b614683818561461e565b935061468e8361462e565b805f5b838110156146be5781516146a5888261464c565b97506146b083614663565b925050600181019050614691565b5085935050505092915050565b5f60a0820190506146de5f830188613819565b6146eb6020830187613f4a565b81810360408301526146fd818661466f565b905061470c6060830185613657565b6147196080830184613819565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61475a826137a8565b9150614765836137a8565b92508261477557614774614723565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6147da602183613722565b91506147e582614780565b604082019050919050565b5f6020820190508181035f830152614807816147ce565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614842601b83613722565b915061484d8261480e565b602082019050919050565b5f6020820190508181035f83015261486f81614836565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122079b461eccf693f093c08f6310a26bcb1a16e1ef2f2c6fd9a3059c3587053714964736f6c634300081c0033