Loading
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [], "name": "ERC20TransferFailed", "type": "error" }, { "inputs": [], "name": "ERC20ZeroTransfer", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapTokensForETH", "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" }, { "inputs": [], "name": "EnableTxLimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "EnableWalletLimit", "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": "_walletMax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dexPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract IDexSwapRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adr", "type": "address" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adr", "type": "address" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "excludeTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adr", "type": "address" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "excludeWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isMarketPair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isTxLimitExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isWalletLimitExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isWlAddress", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rescueFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "rescueTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_buySide", "type": "uint256" }, { "internalType": "uint256", "name": "_sellSide", "type": "uint256" } ], "name": "setFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newWallet", "type": "address" } ], "name": "setMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "setMaxWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_threshold", "type": "uint256" }, { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "bool", "name": "_limited", "type": "bool" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "setTxLimit", "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": "swapbylimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "transferProtection", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transferSniperProtection", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_adr", "type": "address[]" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "updateSetting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526040518060400160405280600d81526020017f496c6c756d696e61746920416900000000000000000000000000000000000000815250600190816200004a919062000dd4565b506040518060400160405280600481526020017f24494149000000000000000000000000000000000000000000000000000000008152506002908162000091919062000dd4565b50600960035f6101000a81548160ff021916908360ff16021790555060035f9054906101000a900460ff16600a620000ca919062001041565b633b9aca00620000db919062001091565b600d556200010b6064620000fc6002600d546200097160201b90919060201c565b620009f160201b90919060201c565b600e556200013b60646200012c6002600d546200097160201b90919060201c565b620009f160201b90919060201c565b600f556200016b60646200015c6001600d546200097160201b90919060201c565b620009f160201b90919060201c565b60105573d38af20765ef77295d24a12ad5c00924ee8b065b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601160146101000a81548160ff0219169083151502179055506001601160156101000a81548160ff0219169083151502179055506001601160166101000a81548160ff0219169083151502179055506001601160176101000a81548160ff0219169083151502179055503480156200023a575f80fd5b506200025b6200024f62000a4260201b60201c565b62000a4960201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002e3919062001140565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000349573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200036f919062001140565b6040518363ffffffff1660e01b81526004016200038e92919062001181565b6020604051808303815f875af1158015620003ab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003d1919062001140565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550602360048190555060286005819055506001601360156101000a81548160ff021916908315150217905550600d5460065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051620009629190620011bd565b60405180910390a3506200137c565b5f80830362000983575f9050620009eb565b5f828462000992919062001091565b9050828482620009a3919062001205565b14620009e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009dd90620012c0565b60405180910390fd5b809150505b92915050565b5f62000a3a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b0a60201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808311829062000b53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b4a91906200135a565b60405180910390fd5b505f838562000b63919062001205565b9050809150509392505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000bec57607f821691505b60208210810362000c025762000c0162000ba7565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000c667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c29565b62000c72868362000c29565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000cbc62000cb662000cb08462000c8a565b62000c93565b62000c8a565b9050919050565b5f819050919050565b62000cd78362000c9c565b62000cef62000ce68262000cc3565b84845462000c35565b825550505050565b5f90565b62000d0562000cf7565b62000d1281848462000ccc565b505050565b5b8181101562000d395762000d2d5f8262000cfb565b60018101905062000d18565b5050565b601f82111562000d885762000d528162000c08565b62000d5d8462000c1a565b8101602085101562000d6d578190505b62000d8562000d7c8562000c1a565b83018262000d17565b50505b505050565b5f82821c905092915050565b5f62000daa5f198460080262000d8d565b1980831691505092915050565b5f62000dc4838362000d99565b9150826002028217905092915050565b62000ddf8262000b70565b67ffffffffffffffff81111562000dfb5762000dfa62000b7a565b5b62000e07825462000bd4565b62000e1482828562000d3d565b5f60209050601f83116001811462000e4a575f841562000e35578287015190505b62000e41858262000db7565b86555062000eb0565b601f19841662000e5a8662000c08565b5f5b8281101562000e835784890151825560018201915060208501945060208101905062000e5c565b8683101562000ea3578489015162000e9f601f89168262000d99565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000f425780860481111562000f1a5762000f1962000eb8565b5b600185161562000f2a5780820291505b808102905062000f3a8562000ee5565b945062000efa565b94509492505050565b5f8262000f5c57600190506200102e565b8162000f6b575f90506200102e565b816001811462000f84576002811462000f8f5762000fc5565b60019150506200102e565b60ff84111562000fa45762000fa362000eb8565b5b8360020a91508482111562000fbe5762000fbd62000eb8565b5b506200102e565b5060208310610133831016604e8410600b841016171562000fff5782820a90508381111562000ff95762000ff862000eb8565b5b6200102e565b6200100e848484600162000ef1565b9250905081840481111562001028576200102762000eb8565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200104d8262000c8a565b91506200105a8362001035565b9250620010897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f4b565b905092915050565b5f6200109d8262000c8a565b9150620010aa8362000c8a565b9250828202620010ba8162000c8a565b91508282048414831517620010d457620010d362000eb8565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200110a82620010df565b9050919050565b6200111c81620010fe565b811462001127575f80fd5b50565b5f815190506200113a8162001111565b92915050565b5f60208284031215620011585762001157620010db565b5b5f62001167848285016200112a565b91505092915050565b6200117b81620010fe565b82525050565b5f604082019050620011965f83018562001170565b620011a5602083018462001170565b9392505050565b620011b78162000c8a565b82525050565b5f602082019050620011d25f830184620011ac565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620012118262000c8a565b91506200121e8362000c8a565b925082620012315762001230620011d8565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f620012a86021836200123c565b9150620012b5826200124c565b604082019050919050565b5f6020820190508181035f830152620012d9816200129a565b9050919050565b5f5b83811015620012ff578082015181840152602081019050620012e2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620013268262000b70565b6200133281856200123c565b935062001344818560208601620012e0565b6200134f816200130a565b840191505092915050565b5f6020820190508181035f8301526200137481846200131a565b905092915050565b613f69806200138a5f395ff3fe608060405260043610610275575f3560e01c8063728d41c91161014e578063a9059cbb116100c0578063df8408fe11610079578063df8408fe1461094a578063e6b2603b14610972578063e9fd339414610988578063ea1ce5a8146109b2578063f242ab41146109dc578063f2fde38b14610a065761027c565b8063a9059cbb1461081c578063ae85ade614610858578063b94b0aef14610880578063c867d60b146108a8578063cc1776d3146108e4578063dd62ed3e1461090e5761027c565b80638a8c523c116101125780638a8c523c146107245780638b42507f1461073a5780638da5cb5b1461077657806395d89b41146107a057806395fc8fdf146107ca5780639a212943146107f25761027c565b8063728d41c914610668578063751039fc1461069057806375f0a874146106a65780637d1db4a5146106d0578063807c2d9c146106fa5761027c565b806352f7c988116101e75780635da0a467116101ab5780635da0a4671461055e5780635e42358c1461059a578063651a8987146105c45780636ddd1713146105ec57806370a0823114610616578063715018a6146106525761027c565b806352f7c988146104825780635342acb4146104aa57806357376198146104e65780635c85974f1461050e5780635d098b38146105365761027c565b806318160ddd1161023957806318160ddd14610364578063230358521461038e57806323b872dd146103b6578063313ce567146103f25780633ecad2711461041c5780634f7041a5146104585761027c565b80630445b6671461028057806306fdde03146102aa5780630758d924146102d4578063095ea7b3146102fe5780631693e8d41461033a5761027c565b3661027c57005b5f80fd5b34801561028b575f80fd5b50610294610a2e565b6040516102a1919061312f565b60405180910390f35b3480156102b5575f80fd5b506102be610a34565b6040516102cb91906131d2565b60405180910390f35b3480156102df575f80fd5b506102e8610ac4565b6040516102f5919061326c565b60405180910390f35b348015610309575f80fd5b50610324600480360381019061031f91906132f2565b610ae9565b604051610331919061334a565b60405180910390f35b348015610345575f80fd5b5061034e610b06565b60405161035b919061334a565b60405180910390f35b34801561036f575f80fd5b50610378610b19565b604051610385919061312f565b60405180910390f35b348015610399575f80fd5b506103b460048036038101906103af919061338d565b610b22565b005b3480156103c1575f80fd5b506103dc60048036038101906103d791906133b8565b610bbb565b6040516103e9919061334a565b60405180910390f35b3480156103fd575f80fd5b50610406610cad565b6040516104139190613423565b60405180910390f35b348015610427575f80fd5b50610442600480360381019061043d919061343c565b610cc2565b60405161044f919061334a565b60405180910390f35b348015610463575f80fd5b5061046c610cdf565b604051610479919061312f565b60405180910390f35b34801561048d575f80fd5b506104a860048036038101906104a39190613467565b610ce5565b005b3480156104b5575f80fd5b506104d060048036038101906104cb919061343c565b610d73565b6040516104dd919061334a565b60405180910390f35b3480156104f1575f80fd5b5061050c600480360381019061050791906132f2565b610d90565b005b348015610519575f80fd5b50610534600480360381019061052f91906134a5565b610f7c565b005b348015610541575f80fd5b5061055c6004803603810190610557919061343c565b611002565b005b348015610569575f80fd5b50610584600480360381019061057f919061343c565b6110c1565b604051610591919061334a565b60405180910390f35b3480156105a5575f80fd5b506105ae6110de565b6040516105bb919061334a565b60405180910390f35b3480156105cf575f80fd5b506105ea60048036038101906105e591906134d0565b6110f1565b005b3480156105f7575f80fd5b506106006111c5565b60405161060d919061334a565b60405180910390f35b348015610621575f80fd5b5061063c6004803603810190610637919061343c565b6111d8565b604051610649919061312f565b60405180910390f35b34801561065d575f80fd5b5061066661121e565b005b348015610673575f80fd5b5061068e600480360381019061068991906134a5565b6112a5565b005b34801561069b575f80fd5b506106a461132b565b005b3480156106b1575f80fd5b506106ba61137b565b6040516106c7919061351d565b60405180910390f35b3480156106db575f80fd5b506106e46113a0565b6040516106f1919061312f565b60405180910390f35b348015610705575f80fd5b5061070e6113a6565b60405161071b919061312f565b60405180910390f35b34801561072f575f80fd5b506107386113ac565b005b348015610745575f80fd5b50610760600480360381019061075b919061343c565b611495565b60405161076d919061334a565b60405180910390f35b348015610781575f80fd5b5061078a6114b2565b604051610797919061351d565b60405180910390f35b3480156107ab575f80fd5b506107b46114d9565b6040516107c191906131d2565b60405180910390f35b3480156107d5575f80fd5b506107f060048036038101906107eb9190613597565b611569565b005b3480156107fd575f80fd5b50610806611680565b604051610813919061334a565b60405180910390f35b348015610827575f80fd5b50610842600480360381019061083d91906132f2565b611693565b60405161084f919061334a565b60405180910390f35b348015610863575f80fd5b5061087e600480360381019061087991906134d0565b6116b1565b005b34801561088b575f80fd5b506108a660048036038101906108a191906135f4565b611785565b005b3480156108b3575f80fd5b506108ce60048036038101906108c9919061343c565b611841565b6040516108db919061334a565b60405180910390f35b3480156108ef575f80fd5b506108f861185e565b604051610905919061312f565b60405180910390f35b348015610919575f80fd5b50610934600480360381019061092f9190613644565b611864565b604051610941919061312f565b60405180910390f35b348015610955575f80fd5b50610970600480360381019061096b91906134d0565b6118e6565b005b34801561097d575f80fd5b506109866119ba565b005b348015610993575f80fd5b5061099c611b15565b6040516109a9919061334a565b60405180910390f35b3480156109bd575f80fd5b506109c6611b28565b6040516109d3919061334a565b60405180910390f35b3480156109e7575f80fd5b506109f0611b3b565b6040516109fd919061351d565b60405180910390f35b348015610a11575f80fd5b50610a2c6004803603810190610a27919061343c565b611b60565b005b60105481565b606060018054610a43906136af565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6f906136af565b8015610aba5780601f10610a9157610100808354040283529160200191610aba565b820191905f5260205f20905b815481529060010190602001808311610a9d57829003601f168201915b5050505050905090565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610afc610af5611c56565b8484611c5d565b6001905092915050565b601360149054906101000a900460ff1681565b5f600d54905090565b610b2a611c56565b73ffffffffffffffffffffffffffffffffffffffff16610b486114b2565b73ffffffffffffffffffffffffffffffffffffffff1614610b9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9590613729565b60405180910390fd5b80601360156101000a81548160ff02191690831515021790555050565b5f610bc7848484611e24565b50610ca284610bd4611c56565b610c9d856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e6365000000000000000081525060075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c54611c56565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125579092919063ffffffff16565b611c5d565b600190509392505050565b5f60035f9054906101000a900460ff16905090565b6009602052805f5260405f205f915054906101000a900460ff1681565b60045481565b610ced611c56565b73ffffffffffffffffffffffffffffffffffffffff16610d0b6114b2565b73ffffffffffffffffffffffffffffffffffffffff1614610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890613729565b60405180910390fd5b81600481905550806005819055505050565b6008602052805f5260405f205f915054906101000a900460ff1681565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1690613791565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051602401610e6b9291906137af565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610ef5919061381a565b5f604051808303815f865af19150503d805f8114610f2e576040519150601f19603f3d011682016040523d82523d5f602084013e610f33565b606091505b5050905080610f77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6e9061387a565b60405180910390fd5b505050565b610f84611c56565b73ffffffffffffffffffffffffffffffffffffffff16610fa26114b2565b73ffffffffffffffffffffffffffffffffffffffff1614610ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fef90613729565b60405180910390fd5b80600e8190555050565b61100a611c56565b73ffffffffffffffffffffffffffffffffffffffff166110286114b2565b73ffffffffffffffffffffffffffffffffffffffff161461107e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107590613729565b60405180910390fd5b8060115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c602052805f5260405f205f915054906101000a900460ff1681565b601160169054906101000a900460ff1681565b6110f9611c56565b73ffffffffffffffffffffffffffffffffffffffff166111176114b2565b73ffffffffffffffffffffffffffffffffffffffff161461116d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116490613729565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b601160149054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611226611c56565b73ffffffffffffffffffffffffffffffffffffffff166112446114b2565b73ffffffffffffffffffffffffffffffffffffffff161461129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190613729565b60405180910390fd5b6112a35f6125b9565b565b6112ad611c56565b73ffffffffffffffffffffffffffffffffffffffff166112cb6114b2565b73ffffffffffffffffffffffffffffffffffffffff1614611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890613729565b60405180910390fd5b80600f8190555050565b5f601160166101000a81548160ff0219169083151502179055505f601160176101000a81548160ff0219169083151502179055505f601360156101000a81548160ff021916908315150217905550565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b600f5481565b6113b4611c56565b73ffffffffffffffffffffffffffffffffffffffff166113d26114b2565b73ffffffffffffffffffffffffffffffffffffffff1614611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f90613729565b60405180910390fd5b601360149054906101000a900460ff1615611478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146f906138e2565b60405180910390fd5b6001601360146101000a81548160ff021916908315150217905550565b600b602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546114e8906136af565b80601f0160208091040260200160405190810160405280929190818152602001828054611514906136af565b801561155f5780601f106115365761010080835404028352916020019161155f565b820191905f5260205f20905b81548152906001019060200180831161154257829003601f168201915b5050505050905090565b611571611c56565b73ffffffffffffffffffffffffffffffffffffffff1661158f6114b2565b73ffffffffffffffffffffffffffffffffffffffff16146115e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dc90613729565b60405180910390fd5b5f5b8383905081101561167a5781600c5f86868581811061160957611608613900565b5b905060200201602081019061161e919061343c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506115e7565b50505050565b601160179054906101000a900460ff1681565b5f6116a661169f611c56565b8484611e24565b506001905092915050565b6116b9611c56565b73ffffffffffffffffffffffffffffffffffffffff166116d76114b2565b73ffffffffffffffffffffffffffffffffffffffff161461172d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172490613729565b60405180910390fd5b80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61178d611c56565b73ffffffffffffffffffffffffffffffffffffffff166117ab6114b2565b73ffffffffffffffffffffffffffffffffffffffff1614611801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f890613729565b60405180910390fd5b81601160146101000a81548160ff02191690831515021790555080601160156101000a81548160ff02191690831515021790555082601081905550505050565b600a602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6118ee611c56565b73ffffffffffffffffffffffffffffffffffffffff1661190c6114b2565b73ffffffffffffffffffffffffffffffffffffffff1614611962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195990613729565b60405180910390fd5b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4090613791565b60405180910390fd5b5f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611a8f90613950565b5f6040518083038185875af1925050503d805f8114611ac9576040519150601f19603f3d011682016040523d82523d5f602084013e611ace565b606091505b5050905080611b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b09906139ae565b60405180910390fd5b50565b601160159054906101000a900460ff1681565b601360159054906101000a900460ff1681565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b68611c56565b73ffffffffffffffffffffffffffffffffffffffff16611b866114b2565b73ffffffffffffffffffffffffffffffffffffffff1614611bdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd390613729565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4190613a3c565b60405180910390fd5b611c53816125b9565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ccd575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611cc4919061351d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d3d575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611d34919061351d565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e17919061312f565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611e95575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611e8c919061351d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f05575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611efc919061351d565b60405180910390fd5b5f8203611f3e576040517f67c8957700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601360169054906101000a900460ff1615611f6557611f5e84848461267a565b9050612550565b600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156120035750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561204f57601360149054906101000a900460ff1661204e576040517ff27f64e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5f612059306111d8565b90505f601054821015905080801561207e5750601360169054906101000a900460ff16155b80156120d1575060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156120e95750601160149054906101000a900460ff165b801561213c575060085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561218f575060085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561219e5761219d82612844565b5b600b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561223c5750600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156122545750601160169054906101000a900460ff165b1561229f57600e5484111561229e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229590613aa4565b60405180910390fd5b5b612326846040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125579092919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f612372878761292a565b61238657612381878787612a86565b612388565b845b9050601160179054906101000a900460ff1680156123ed5750600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561245257600f5461241082612402896111d8565b612ce190919063ffffffff16565b1115612451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244890613b0c565b60405180910390fd5b5b6124a28160065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ce190919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612540919061312f565b60405180910390a3600193505050505b9392505050565b5f83831115829061259e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259591906131d2565b60405180910390fd5b505f83856125ac9190613b57565b9050809150509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f612702826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125579092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506127938260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ce190919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612831919061312f565b60405180910390a3600190509392505050565b6001601360166101000a81548160ff021916908315150217905550601160159054906101000a900460ff161561287a5760105490505b5f47905061288782612d3e565b5f61289b8247612fad90919063ffffffff16565b90505f81111561290b5760115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612909573d5f803e3d5ffd5b505b50505f601360166101000a81548160ff02191690831515021790555050565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806129c6575060085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156129d45760019050612a80565b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612a6f575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612a7c575f9050612a80565b5f90505b92915050565b5f8060095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612b0657612aff6064612af160045486612ff690919063ffffffff16565b61306d90919063ffffffff16565b9050612bc5565b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612b8457612b7d6064612b6f60055486612ff690919063ffffffff16565b61306d90919063ffffffff16565b9050612bc4565b601360159054906101000a900460ff1615612bc357612bc06064612bb2606386612ff690919063ffffffff16565b61306d90919063ffffffff16565b90505b5b5b5f811115612cc457612c1d8160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612ce190919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612cbb919061312f565b60405180910390a35b612cd78184612fad90919063ffffffff16565b9150509392505050565b5f808284612cef9190613b8a565b905083811015612d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2b90613c07565b60405180910390fd5b8091505092915050565b5f600267ffffffffffffffff811115612d5a57612d59613c25565b5b604051908082528060200260200182016040528015612d885781602001602082028036833780820191505090505b50905030815f81518110612d9f57612d9e613900565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e679190613c66565b81600181518110612e7b57612e7a613900565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612ee13060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611c5d565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612f43959493929190613d81565b5f604051808303815f87803b158015612f5a575f80fd5b505af1158015612f6c573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612fa1929190613dd9565b60405180910390a15050565b5f612fee83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612557565b905092915050565b5f808303613006575f9050613067565b5f82846130139190613e07565b90508284826130229190613e75565b14613062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161305990613f15565b60405180910390fd5b809150505b92915050565b5f6130ae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506130b6565b905092915050565b5f80831182906130fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130f391906131d2565b60405180910390fd5b505f838561310a9190613e75565b9050809150509392505050565b5f819050919050565b61312981613117565b82525050565b5f6020820190506131425f830184613120565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561317f578082015181840152602081019050613164565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6131a482613148565b6131ae8185613152565b93506131be818560208601613162565b6131c78161318a565b840191505092915050565b5f6020820190508181035f8301526131ea818461319a565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61323461322f61322a846131f2565b613211565b6131f2565b9050919050565b5f6132458261321a565b9050919050565b5f6132568261323b565b9050919050565b6132668161324c565b82525050565b5f60208201905061327f5f83018461325d565b92915050565b5f80fd5b5f80fd5b5f613297826131f2565b9050919050565b6132a78161328d565b81146132b1575f80fd5b50565b5f813590506132c28161329e565b92915050565b6132d181613117565b81146132db575f80fd5b50565b5f813590506132ec816132c8565b92915050565b5f806040838503121561330857613307613285565b5b5f613315858286016132b4565b9250506020613326858286016132de565b9150509250929050565b5f8115159050919050565b61334481613330565b82525050565b5f60208201905061335d5f83018461333b565b92915050565b61336c81613330565b8114613376575f80fd5b50565b5f8135905061338781613363565b92915050565b5f602082840312156133a2576133a1613285565b5b5f6133af84828501613379565b91505092915050565b5f805f606084860312156133cf576133ce613285565b5b5f6133dc868287016132b4565b93505060206133ed868287016132b4565b92505060406133fe868287016132de565b9150509250925092565b5f60ff82169050919050565b61341d81613408565b82525050565b5f6020820190506134365f830184613414565b92915050565b5f6020828403121561345157613450613285565b5b5f61345e848285016132b4565b91505092915050565b5f806040838503121561347d5761347c613285565b5b5f61348a858286016132de565b925050602061349b858286016132de565b9150509250929050565b5f602082840312156134ba576134b9613285565b5b5f6134c7848285016132de565b91505092915050565b5f80604083850312156134e6576134e5613285565b5b5f6134f3858286016132b4565b925050602061350485828601613379565b9150509250929050565b6135178161328d565b82525050565b5f6020820190506135305f83018461350e565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261355757613556613536565b5b8235905067ffffffffffffffff8111156135745761357361353a565b5b6020830191508360208202830111156135905761358f61353e565b5b9250929050565b5f805f604084860312156135ae576135ad613285565b5b5f84013567ffffffffffffffff8111156135cb576135ca613289565b5b6135d786828701613542565b935093505060206135ea86828701613379565b9150509250925092565b5f805f6060848603121561360b5761360a613285565b5b5f613618868287016132de565b935050602061362986828701613379565b925050604061363a86828701613379565b9150509250925092565b5f806040838503121561365a57613659613285565b5b5f613667858286016132b4565b9250506020613678858286016132b4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806136c657607f821691505b6020821081036136d9576136d8613682565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613713602083613152565b915061371e826136df565b602082019050919050565b5f6020820190508181035f83015261374081613707565b9050919050565b7f556e617574686f72697a656400000000000000000000000000000000000000005f82015250565b5f61377b600c83613152565b915061378682613747565b602082019050919050565b5f6020820190508181035f8301526137a88161376f565b9050919050565b5f6040820190506137c25f83018561350e565b6137cf6020830184613120565b9392505050565b5f81519050919050565b5f81905092915050565b5f6137f4826137d6565b6137fe81856137e0565b935061380e818560208601613162565b80840191505092915050565b5f61382582846137ea565b915081905092915050565b7f546f6b656e207061796d656e74206661696c65640000000000000000000000005f82015250565b5f613864601483613152565b915061386f82613830565b602082019050919050565b5f6020820190508181035f83015261389181613858565b9050919050565b7f547261646520456e61626c6564210000000000000000000000000000000000005f82015250565b5f6138cc600e83613152565b91506138d782613898565b602082019050919050565b5f6020820190508181035f8301526138f9816138c0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b50565b5f61393b5f836137e0565b91506139468261392d565b5f82019050919050565b5f61395a82613930565b9150819050919050565b7f5472616e73616374696f6e204661696c656421210000000000000000000000005f82015250565b5f613998601483613152565b91506139a382613964565b602082019050919050565b5f6020820190508181035f8301526139c58161398c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613a26602683613152565b9150613a31826139cc565b604082019050919050565b5f6020820190508181035f830152613a5381613a1a565b9050919050565b7f45786365656473206d61785478416d6f756e74000000000000000000000000005f82015250565b5f613a8e601383613152565b9150613a9982613a5a565b602082019050919050565b5f6020820190508181035f830152613abb81613a82565b9050919050565b7f457863656564732057616c6c65740000000000000000000000000000000000005f82015250565b5f613af6600e83613152565b9150613b0182613ac2565b602082019050919050565b5f6020820190508181035f830152613b2381613aea565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613b6182613117565b9150613b6c83613117565b9250828203905081811115613b8457613b83613b2a565b5b92915050565b5f613b9482613117565b9150613b9f83613117565b9250828201905080821115613bb757613bb6613b2a565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613bf1601b83613152565b9150613bfc82613bbd565b602082019050919050565b5f6020820190508181035f830152613c1e81613be5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050613c608161329e565b92915050565b5f60208284031215613c7b57613c7a613285565b5b5f613c8884828501613c52565b91505092915050565b5f819050919050565b5f613cb4613caf613caa84613c91565b613211565b613117565b9050919050565b613cc481613c9a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613cfc8161328d565b82525050565b5f613d0d8383613cf3565b60208301905092915050565b5f602082019050919050565b5f613d2f82613cca565b613d398185613cd4565b9350613d4483613ce4565b805f5b83811015613d74578151613d5b8882613d02565b9750613d6683613d19565b925050600181019050613d47565b5085935050505092915050565b5f60a082019050613d945f830188613120565b613da16020830187613cbb565b8181036040830152613db38186613d25565b9050613dc2606083018561350e565b613dcf6080830184613120565b9695505050505050565b5f604082019050613dec5f830185613120565b8181036020830152613dfe8184613d25565b90509392505050565b5f613e1182613117565b9150613e1c83613117565b9250828202613e2a81613117565b91508282048414831517613e4157613e40613b2a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613e7f82613117565b9150613e8a83613117565b925082613e9a57613e99613e48565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613eff602183613152565b9150613f0a82613ea5565b604082019050919050565b5f6020820190508181035f830152613f2c81613ef3565b905091905056fea264697066735822122030c5c3b22150380c379ec98502ba00391778048e30dcdf197c1f86575f74f93f64736f6c63430008170033