[ { "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": "amountETH", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountTokens", "type": "uint256" } ], "name": "AutoLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isBlacklisted", "type": "bool" } ], "name": "Blacklisted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ClearStuck", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "TokenAddressCleared", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "Amount", "type": "uint256" } ], "name": "ClearToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "Buy", "type": "uint8" }, { "indexed": false, "internalType": "uint8", "name": "Sell", "type": "uint8" }, { "indexed": false, "internalType": "uint8", "name": "Transfer", "type": "uint8" } ], "name": "EditTax", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxTX", "type": "uint256" } ], "name": "set_MaxTX", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "set_MaxWallet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "marketingFeeReceiver", "type": "address" }, { "indexed": false, "internalType": "address", "name": "buybackFeeReceiver", "type": "address" }, { "indexed": false, "internalType": "address", "name": "burnFeeReceiver", "type": "address" }, { "indexed": false, "internalType": "address", "name": "devFeeReceiver", "type": "address" } ], "name": "set_Receivers", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "Amount", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "Enabled", "type": "bool" } ], "name": "set_SwapBack", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "Wallet", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "Exempt", "type": "bool" } ], "name": "user_TxExempt", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "Wallet", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "Exempt", "type": "bool" } ], "name": "user_exemptfromfees", "type": "event" }, { "inputs": [], "name": "TradingOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWalletToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "approveMax", "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": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "blacklistAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "ratio", "type": "uint256" }, { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "checkRatio", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "tokens", "type": "uint256" } ], "name": "clearStuckToken", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualSend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxWallPercent", "type": "uint256" } ], "name": "maxWalletRule", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IDEXRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_buybackFee", "type": "uint256" }, { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" }, { "internalType": "uint256", "name": "_burnFee", "type": "uint256" }, { "internalType": "uint256", "name": "_feeDenominator", "type": "uint256" } ], "name": "setParameters", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_percentonbuy", "type": "uint256" }, { "internalType": "uint256", "name": "_percentonsell", "type": "uint256" }, { "internalType": "uint256", "name": "_wallettransfer", "type": "uint256" } ], "name": "setStructure", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_autoLiquidityReceiver", "type": "address" }, { "internalType": "address", "name": "_marketingFeeReceiver", "type": "address" }, { "internalType": "address", "name": "_devFeeReceiver", "type": "address" }, { "internalType": "address", "name": "_burnFeeReceiver", "type": "address" }, { "internalType": "address", "name": "_buybackFeeReceiver", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "showBacking", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "showSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "startTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "totalFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526012600a62000014919062000d70565b6305f5e10062000025919062000dc0565b60035562000055606462000046600260035462000aa060201b90919060201c565b62000b2060201b90919060201c565b60045562000085606462000076600260035462000aa060201b90919060201c565b62000b2060201b90919060201c565b6005555f600b556005600c55600f600d555f600e555f600f55600f54600d54600b54600c54600e54620000b9919062000e0a565b620000c5919062000e0a565b620000d1919062000e0a565b620000dd919062000e0a565b6010556064601155606460125560646013556064601455601e601a556064601b555f601e60146101000a81548160ff0219169083151502179055506001601e60156101000a81548160ff0219169083151502179055506103e86003805462000146919062000dc0565b62000152919062000e71565b601f5534801562000161575f80fd5b505f6200017362000b7160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001805f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d601c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000342573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000368919062000f0d565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000412573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000438919062000f0d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200049592919062000f4e565b6020604051808303815f875af1158015620004b2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004d8919062000f0d565b601e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503360155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737b76bbcb7e680b54ad7a528aa15c040654ccec2360165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035460065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000a92919062000f8a565b60405180910390a3620010ef565b5f80830362000ab2575f905062000b1a565b5f828462000ac1919062000dc0565b905082848262000ad2919062000e71565b1462000b15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b0c9062001029565b60405180910390fd5b809150505b92915050565b5f62000b6983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b7860201b60201c565b905092915050565b5f33905090565b5f808311829062000bc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bb89190620010cd565b60405180910390fd5b505f838562000bd1919062000e71565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000c685780860481111562000c405762000c3f62000bde565b5b600185161562000c505780820291505b808102905062000c608562000c0b565b945062000c20565b94509492505050565b5f8262000c82576001905062000d54565b8162000c91575f905062000d54565b816001811462000caa576002811462000cb55762000ceb565b600191505062000d54565b60ff84111562000cca5762000cc962000bde565b5b8360020a91508482111562000ce45762000ce362000bde565b5b5062000d54565b5060208310610133831016604e8410600b841016171562000d255782820a90508381111562000d1f5762000d1e62000bde565b5b62000d54565b62000d34848484600162000c17565b9250905081840481111562000d4e5762000d4d62000bde565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000d7c8262000d5b565b915062000d898362000d64565b925062000db87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c71565b905092915050565b5f62000dcc8262000d5b565b915062000dd98362000d5b565b925082820262000de98162000d5b565b9150828204841483151762000e035762000e0262000bde565b5b5092915050565b5f62000e168262000d5b565b915062000e238362000d5b565b925082820190508082111562000e3e5762000e3d62000bde565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000e7d8262000d5b565b915062000e8a8362000d5b565b92508262000e9d5762000e9c62000e44565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000ed78262000eac565b9050919050565b62000ee98162000ecb565b811462000ef4575f80fd5b50565b5f8151905062000f078162000ede565b92915050565b5f6020828403121562000f255762000f2462000ea8565b5b5f62000f348482850162000ef7565b91505092915050565b62000f488162000ecb565b82525050565b5f60408201905062000f635f83018562000f3d565b62000f72602083018462000f3d565b9392505050565b62000f848162000d5b565b82525050565b5f60208201905062000f9f5f83018462000f79565b92915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6200101160218362000fa5565b91506200101e8262000fb5565b604082019050919050565b5f6020820190508181035f830152620010428162001003565b9050919050565b5f81519050919050565b5f5b838110156200107257808201518184015260208101905062001055565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620010998262001049565b620010a5818562000fa5565b9350620010b781856020860162001053565b620010c2816200107d565b840191505092915050565b5f6020820190508181035f830152620010e781846200108d565b905092915050565b61432580620010fd5f395ff3fe60806040526004361061021d575f3560e01c8063751039fc11610122578063a9059cbb116100aa578063df20fd491161006e578063df20fd49146107c4578063f2fde38b146107ec578063f429389014610814578063f887ea401461082a578063fe575a871461085457610224565b8063a9059cbb146106be578063b2bdfa7b146106fa578063c0cbdea414610724578063dd62ed3e1461074c578063ded1e4381461078857610224565b806382528791116100f157806382528791146105ee578063893d20e8146106165780638da5cb5b1461064057806395d89b411461066a578063a8aa1b311461069457610224565b8063751039fc1461054857806377b54bad1461055e57806378109e541461059a5780637d1db4a5146105c457610224565b806330c9a6a0116101a5578063571ac8b011610174578063571ac8b0146104685780635d83e1d5146104a45780636ddd1713146104cc57806370a08231146104f6578063715018a61461053257610224565b806330c9a6a0146103b0578063313ce567146103ec578063455a439614610416578063552656691461043e57610224565b806318160ddd116101ec57806318160ddd146102e25780631df4ccfc1461030c57806323b872dd14610336578063282c874914610372578063293230b81461039a57610224565b80630445b6671461022857806306fdde031461025257806308fd3d051461027c578063095ea7b3146102a657610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c610890565b6040516102499190613403565b60405180910390f35b34801561025d575f80fd5b50610266610896565b60405161027391906134a6565b60405180910390f35b348015610287575f80fd5b506102906108d3565b60405161029d91906134e0565b60405180910390f35b3480156102b1575f80fd5b506102cc60048036038101906102c79190613581565b6108e6565b6040516102d991906134e0565b60405180910390f35b3480156102ed575f80fd5b506102f66109d3565b6040516103039190613403565b60405180910390f35b348015610317575f80fd5b506103206109dc565b60405161032d9190613403565b60405180910390f35b348015610341575f80fd5b5061035c600480360381019061035791906135bf565b6109e2565b60405161036991906134e0565b60405180910390f35b34801561037d575f80fd5b506103986004803603810190610393919061360f565b610bd5565b005b3480156103a5575f80fd5b506103ae610d44565b005b3480156103bb575f80fd5b506103d660048036038101906103d19190613698565b610e0d565b6040516103e39190613403565b60405180910390f35b3480156103f7575f80fd5b50610400610e7d565b60405161040d91906136de565b60405180910390f35b348015610421575f80fd5b5061043c60048036038101906104379190613721565b610e85565b005b348015610449575f80fd5b50610452610fbf565b60405161045f9190613403565b60405180910390f35b348015610473575f80fd5b5061048e6004803603810190610489919061375f565b610ffe565b60405161049b91906134e0565b60405180910390f35b3480156104af575f80fd5b506104ca60048036038101906104c59190613698565b611030565b005b3480156104d7575f80fd5b506104e061112e565b6040516104ed91906134e0565b60405180910390f35b348015610501575f80fd5b5061051c6004803603810190610517919061375f565b611141565b6040516105299190613403565b60405180910390f35b34801561053d575f80fd5b50610546611187565b005b348015610553575f80fd5b5061055c6112d5565b005b348015610569575f80fd5b50610584600480360381019061057f9190613581565b61137d565b60405161059191906134e0565b60405180910390f35b3480156105a5575f80fd5b506105ae6114dd565b6040516105bb9190613403565b60405180910390f35b3480156105cf575f80fd5b506105d86114e3565b6040516105e59190613403565b60405180910390f35b3480156105f9575f80fd5b50610614600480360381019061060f919061378a565b6114e9565b005b348015610621575f80fd5b5061062a611785565b6040516106379190613810565b60405180910390f35b34801561064b575f80fd5b50610654611793565b6040516106619190613810565b60405180910390f35b348015610675575f80fd5b5061067e6117ba565b60405161068b91906134a6565b60405180910390f35b34801561069f575f80fd5b506106a86117f7565b6040516106b59190613810565b60405180910390f35b3480156106c9575f80fd5b506106e460048036038101906106df9190613581565b61181c565b6040516106f191906134e0565b60405180910390f35b348015610705575f80fd5b5061070e611830565b60405161071b9190613810565b60405180910390f35b34801561072f575f80fd5b5061074a60048036038101906107459190613829565b611853565b005b348015610757575f80fd5b50610772600480360381019061076d9190613879565b611901565b60405161077f9190613403565b60405180910390f35b348015610793575f80fd5b506107ae60048036038101906107a991906138b7565b611983565b6040516107bb91906134e0565b60405180910390f35b3480156107cf575f80fd5b506107ea60048036038101906107e591906138f5565b611997565b005b3480156107f7575f80fd5b50610812600480360381019061080d919061375f565b611a9a565b005b34801561081f575f80fd5b50610828611c57565b005b348015610835575f80fd5b5061083e611cbe565b60405161084b919061398e565b60405180910390f35b34801561085f575f80fd5b5061087a6004803603810190610875919061375f565b611ce3565b60405161088791906134e0565b60405180910390f35b601f5481565b60606040518060400160405280600f81526020017f436f772050617474792042696e676f0000000000000000000000000000000000815250905090565b601e60149054906101000a900460ff1681565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109c19190613403565b60405180910390a36001905092915050565b5f600354905090565b60105481565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610bc157610b44826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060075f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d009092919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610bcc848484611d62565b90509392505050565b610bdd612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c60906139f1565b60405180910390fd5b85600b8190555084600e8190555083600c8190555082600d8190555081600f81905550610cd582610cc785610cb988610cab8b8d61247d90919063ffffffff16565b61247d90919063ffffffff16565b61247d90919063ffffffff16565b61247d90919063ffffffff16565b601081905550806011819055506002601154610cf19190613a69565b60105410610d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2b90613ae3565b60405180910390fd5b610d3c6124da565b505050505050565b610d4c612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcf906139f1565b60405180910390fd5b6001601e60146101000a81548160ff021916908315150217905550606460138190555060646012819055506064601481905550565b5f610e76610e19610fbf565b610e68610e596002610e4b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611141565b61259290919063ffffffff16565b8561259290919063ffffffff16565b61260990919063ffffffff16565b9050919050565b5f6012905090565b610e8d612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f10906139f1565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fcf3473b85df1594d47b6958f29a32bea0abff9dd68296f7bf33443646793cfd882604051610fb391906134e0565b60405180910390a25050565b5f610ff9610fcc5f611141565b610feb610fda61dead611141565b60035461265290919063ffffffff16565b61265290919063ffffffff16565b905090565b5f611029827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108e6565b9050919050565b611038612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb906139f1565b60405180910390fd5b60018110156110d1575f80fd5b6103e8816003546110e29190613b01565b6110ec9190613a69565b6005819055507f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be516005546040516111239190613403565b60405180910390a150565b601e60159054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61118f612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461121b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611212906139f1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6112dd612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611369576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611360906139f1565b60405180910390fd5b600354600481905550600354600581905550565b5f808203611400578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016113be9190613810565b602060405180830381865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd9190613b56565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f8383604051611431929190613b81565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401611495929190613b81565b6020604051808303815f875af11580156114b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114d59190613bbc565b905092915050565b60055481565b60045481565b6114f1612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461157d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611574906139f1565b60405180910390fd5b8460155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b1560165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516117769493929190613be7565b60405180910390a15050505050565b5f61178e611793565b905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d4f4f0000000000000000000000000000000000000000000000000000000000815250905090565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f611828338484611d62565b905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61185b612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118de906139f1565b60405180910390fd5b816012819055508260138190555080601481905550505050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f8261198e83610e0d565b11905092915050565b61199f612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a22906139f1565b60405180910390fd5b81601e60156101000a81548160ff02191690831515021790555080601f819055507f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60601f54601e60159054906101000a900460ff16604051611a8e929190613c2a565b60405180910390a15050565b611aa2612476565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b25906139f1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9390613cc1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611cbb573d5f803e3d5ffd5b50565b601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f838311158290611d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3e91906134a6565b60405180910390fd5b505f8385611d559190613cdf565b9050809150509392505050565b5f60205f9054906101000a900460ff1615611d8957611d8284848461269b565b905061246f565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611e27575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e7c57601e60149054906101000a900460ff16611e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7290613d5c565b60405180910390fd5b5b600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611f1a5750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611f59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5090613dc4565b60405180910390fd5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611fdc57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612016575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561206f5750601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120c8575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612121575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612174575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156121d7575f61218384611141565b905060055483826121949190613de2565b11156121d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cc90613e85565b60405180910390fd5b505b6121e18483612865565b6121e96128ff565b156121f7576121f66129d1565b5b61227e826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d009092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061235b575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61236f5761236a858486612fcc565b612371565b825b90506123c38160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461247d90919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124619190613403565b60405180910390a360019150505b9392505050565b5f33905090565b5f80828461248b9190613de2565b9050838110156124d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c790613eed565b60405180910390fd5b8091505092915050565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b932800612525606461251760135460105461259290919063ffffffff16565b61260990919063ffffffff16565b61254f606461254160125460105461259290919063ffffffff16565b61260990919063ffffffff16565b612579606461256b60145460105461259290919063ffffffff16565b61260990919063ffffffff16565b60405161258893929190613f0b565b60405180910390a1565b5f8083036125a2575f9050612603565b5f82846125af9190613b01565b90508284826125be9190613a69565b146125fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f590613fb0565b60405180910390fd5b809150505b92915050565b5f61264a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061338a565b905092915050565b5f61269383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d00565b905092915050565b5f612723826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d009092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506127b48260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461247d90919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128529190613403565b60405180910390a3600190509392505050565b600454811115806128bc575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6128fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f290614018565b60405180910390fd5b5050565b5f601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015612969575060205f9054906101000a900460ff16155b80156129815750601e60159054906101000a900460ff165b80156129cc5750601f5460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b600160205f6101000a81548160ff0219169083151502179055505f6129fa601a54601b54611983565b612a0657600b54612a08565b5f5b90505f612a476002612a39601054612a2b86601f5461259290919063ffffffff16565b61260990919063ffffffff16565b61260990919063ffffffff16565b90505f612a5f82601f5461265290919063ffffffff16565b90505f600267ffffffffffffffff811115612a7d57612a7c614036565b5b604051908082528060200260200182016040528015612aab5781602001602082028036833780820191505090505b50905030815f81518110612ac257612ac1614063565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612b3257612b31614063565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f479050601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8530426040518663ffffffff1660e01b8152600401612bd2959493929190614180565b5f604051808303815f87803b158015612be9575f80fd5b505af1158015612bfb573d5f803e3d5ffd5b505050505f612c13824761265290919063ffffffff16565b90505f612c3e612c2d60028961260990919063ffffffff16565b60105461265290919063ffffffff16565b90505f612c796002612c6b84612c5d8c8861259290919063ffffffff16565b61260990919063ffffffff16565b61260990919063ffffffff16565b90505f612ca383612c95600c548761259290919063ffffffff16565b61260990919063ffffffff16565b90505f612ccd84612cbf600e548861259290919063ffffffff16565b61260990919063ffffffff16565b90505f612cf785612ce9600d548961259290919063ffffffff16565b61260990919063ffffffff16565b90505f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051612d3f90614205565b5f6040518083038185875af1925050503d805f8114612d79576040519150601f19603f3d011682016040523d82523d5f602084013e612d7e565b606091505b5050905060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612dc790614205565b5f6040518083038185875af1925050503d805f8114612e01576040519150601f19603f3d011682016040523d82523d5f602084013e612e06565b606091505b50508091505060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612e5190614205565b5f6040518083038185875af1925050503d805f8114612e8b576040519150601f19603f3d011682016040523d82523d5f602084013e612e90565b606091505b5050809150505f90505f8b1115612fa557601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e5f8060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612f2796959493929190614219565b60606040518083038185885af1158015612f43573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612f689190614278565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c604051612f9c9291906142c8565b60405180910390a15b5050505050505050505050505f60205f6101000a81548160ff021916908315150217905550565b5f806014549050601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361303157601254905061308c565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361308b5760135490505b5b5f6130d4606460115461309f9190613b01565b6130c6846130b86010548a61259290919063ffffffff16565b61259290919063ffffffff16565b61260990919063ffffffff16565b90505f6131006010546130f2600f548561259290919063ffffffff16565b61260990919063ffffffff16565b90505f613116828461265290919063ffffffff16565b90506131688160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461247d90919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061321a8260065f60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461247d90919063ffffffff16565b60065f60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132d99190613403565b60405180910390a35f82111561336a576132fe8260035461265290919063ffffffff16565b6003819055505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133619190613403565b60405180910390a35b61337d838861265290919063ffffffff16565b9450505050509392505050565b5f80831182906133d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133c791906134a6565b60405180910390fd5b505f83856133de9190613a69565b9050809150509392505050565b5f819050919050565b6133fd816133eb565b82525050565b5f6020820190506134165f8301846133f4565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613453578082015181840152602081019050613438565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6134788261341c565b6134828185613426565b9350613492818560208601613436565b61349b8161345e565b840191505092915050565b5f6020820190508181035f8301526134be818461346e565b905092915050565b5f8115159050919050565b6134da816134c6565b82525050565b5f6020820190506134f35f8301846134d1565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613526826134fd565b9050919050565b6135368161351c565b8114613540575f80fd5b50565b5f813590506135518161352d565b92915050565b613560816133eb565b811461356a575f80fd5b50565b5f8135905061357b81613557565b92915050565b5f8060408385031215613597576135966134f9565b5b5f6135a485828601613543565b92505060206135b58582860161356d565b9150509250929050565b5f805f606084860312156135d6576135d56134f9565b5b5f6135e386828701613543565b93505060206135f486828701613543565b92505060406136058682870161356d565b9150509250925092565b5f805f805f8060c08789031215613629576136286134f9565b5b5f61363689828a0161356d565b965050602061364789828a0161356d565b955050604061365889828a0161356d565b945050606061366989828a0161356d565b935050608061367a89828a0161356d565b92505060a061368b89828a0161356d565b9150509295509295509295565b5f602082840312156136ad576136ac6134f9565b5b5f6136ba8482850161356d565b91505092915050565b5f60ff82169050919050565b6136d8816136c3565b82525050565b5f6020820190506136f15f8301846136cf565b92915050565b613700816134c6565b811461370a575f80fd5b50565b5f8135905061371b816136f7565b92915050565b5f8060408385031215613737576137366134f9565b5b5f61374485828601613543565b92505060206137558582860161370d565b9150509250929050565b5f60208284031215613774576137736134f9565b5b5f61378184828501613543565b91505092915050565b5f805f805f60a086880312156137a3576137a26134f9565b5b5f6137b088828901613543565b95505060206137c188828901613543565b94505060406137d288828901613543565b93505060606137e388828901613543565b92505060806137f488828901613543565b9150509295509295909350565b61380a8161351c565b82525050565b5f6020820190506138235f830184613801565b92915050565b5f805f606084860312156138405761383f6134f9565b5b5f61384d8682870161356d565b935050602061385e8682870161356d565b925050604061386f8682870161356d565b9150509250925092565b5f806040838503121561388f5761388e6134f9565b5b5f61389c85828601613543565b92505060206138ad85828601613543565b9150509250929050565b5f80604083850312156138cd576138cc6134f9565b5b5f6138da8582860161356d565b92505060206138eb8582860161356d565b9150509250929050565b5f806040838503121561390b5761390a6134f9565b5b5f6139188582860161370d565b92505060206139298582860161356d565b9150509250929050565b5f819050919050565b5f61395661395161394c846134fd565b613933565b6134fd565b9050919050565b5f6139678261393c565b9050919050565b5f6139788261395d565b9050919050565b6139888161396e565b82525050565b5f6020820190506139a15f83018461397f565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6139db602083613426565b91506139e6826139a7565b602082019050919050565b5f6020820190508181035f830152613a08816139cf565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613a73826133eb565b9150613a7e836133eb565b925082613a8e57613a8d613a0f565b5b828204905092915050565b7f466565732063616e206e6f74206265206d6f7265207468616e203530250000005f82015250565b5f613acd601d83613426565b9150613ad882613a99565b602082019050919050565b5f6020820190508181035f830152613afa81613ac1565b9050919050565b5f613b0b826133eb565b9150613b16836133eb565b9250828202613b24816133eb565b91508282048414831517613b3b57613b3a613a3c565b5b5092915050565b5f81519050613b5081613557565b92915050565b5f60208284031215613b6b57613b6a6134f9565b5b5f613b7884828501613b42565b91505092915050565b5f604082019050613b945f830185613801565b613ba160208301846133f4565b9392505050565b5f81519050613bb6816136f7565b92915050565b5f60208284031215613bd157613bd06134f9565b5b5f613bde84828501613ba8565b91505092915050565b5f608082019050613bfa5f830187613801565b613c076020830186613801565b613c146040830185613801565b613c216060830184613801565b95945050505050565b5f604082019050613c3d5f8301856133f4565b613c4a60208301846134d1565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613cab602683613426565b9150613cb682613c51565b604082019050919050565b5f6020820190508181035f830152613cd881613c9f565b9050919050565b5f613ce9826133eb565b9150613cf4836133eb565b9250828203905081811115613d0c57613d0b613a3c565b5b92915050565b7f54726164696e67206e6f74206f70656e207965740000000000000000000000005f82015250565b5f613d46601483613426565b9150613d5182613d12565b602082019050919050565b5f6020820190508181035f830152613d7381613d3a565b9050919050565b7f426c61636b6c69737465642061646472657373000000000000000000000000005f82015250565b5f613dae601383613426565b9150613db982613d7a565b602082019050919050565b5f6020820190508181035f830152613ddb81613da2565b9050919050565b5f613dec826133eb565b9150613df7836133eb565b9250828201905080821115613e0f57613e0e613a3c565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d69745f8201527f65642c20796f752063616e6e6f74206275792074686174206d7563682e000000602082015250565b5f613e6f603d83613426565b9150613e7a82613e15565b604082019050919050565b5f6020820190508181035f830152613e9c81613e63565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613ed7601b83613426565b9150613ee282613ea3565b602082019050919050565b5f6020820190508181035f830152613f0481613ecb565b9050919050565b5f606082019050613f1e5f8301866136cf565b613f2b60208301856136cf565b613f3860408301846136cf565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613f9a602183613426565b9150613fa582613f40565b604082019050919050565b5f6020820190508181035f830152613fc781613f8e565b9050919050565b7f5458204c696d69742045786365656465640000000000000000000000000000005f82015250565b5f614002601183613426565b915061400d82613fce565b602082019050919050565b5f6020820190508181035f83015261402f81613ff6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f6140b36140ae6140a984614090565b613933565b6133eb565b9050919050565b6140c381614099565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6140fb8161351c565b82525050565b5f61410c83836140f2565b60208301905092915050565b5f602082019050919050565b5f61412e826140c9565b61413881856140d3565b9350614143836140e3565b805f5b8381101561417357815161415a8882614101565b975061416583614118565b925050600181019050614146565b5085935050505092915050565b5f60a0820190506141935f8301886133f4565b6141a060208301876140ba565b81810360408301526141b28186614124565b90506141c16060830185613801565b6141ce60808301846133f4565b9695505050505050565b5f81905092915050565b50565b5f6141f05f836141d8565b91506141fb826141e2565b5f82019050919050565b5f61420f826141e5565b9150819050919050565b5f60c08201905061422c5f830189613801565b61423960208301886133f4565b61424660408301876140ba565b61425360608301866140ba565b6142606080830185613801565b61426d60a08301846133f4565b979650505050505050565b5f805f6060848603121561428f5761428e6134f9565b5b5f61429c86828701613b42565b93505060206142ad86828701613b42565b92505060406142be86828701613b42565b9150509250925092565b5f6040820190506142db5f8301856133f4565b6142e860208301846133f4565b939250505056fea2646970667358221220133b4e6836e4944ee6304794ba82e47b7ace8141a48ce1cf65838be9f89c4eb964736f6c63430008140033