[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" }, { "internalType": "uint256", "name": "totalNativeSupply_", "type": "uint256" }, { "internalType": "address", "name": "marketingWallet_", "type": "address" }, { "internalType": "uint256", "name": "buyFee_", "type": "uint256" }, { "internalType": "uint256", "name": "sellFee_", "type": "uint256" } ], "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": "_old", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_new", "type": "uint256" } ], "name": "BuyTaxChanged", "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": "_old", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_new", "type": "uint256" } ], "name": "SellTaxChanged", "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": [ { "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": "", "type": "address" } ], "name": "ammPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "buyMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "enableTradingWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludeFrommaxTxnSize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludemaxTxnSize", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTxnSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mkWallet", "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": "openTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAMMPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bool", "name": "enable", "type": "bool" } ], "name": "setBL", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarket", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapRouter", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMarketFee", "type": "uint256" } ], "name": "updateBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletSize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMarketFee", "type": "uint256" } ], "name": "updateSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updatemaxTxnSize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526000600860146101000a81548160ff0219169083151502179055506000600860156101000a81548160ff0219169083151502179055506001600860166101000a81548160ff0219169083151502179055506012600860176101000a81548160ff021916908360ff1602179055503480156200007e57600080fd5b5060405162005ed738038062005ed78339818101604052810190620000a4919062000d4a565b86868160009081620000b791906200107c565b508060019081620000c991906200107c565b505050620000ec620000e06200085e60201b60201c565b6200086660201b60201c565b84600860176101000a81548160ff021916908360ff16021790555082600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c8190555080600d8190555060014603620001ba57737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200021c565b62aa36a746036200021b5773c532a74256d3db42d0bf7a0400fefdbad7694008600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200028a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b0919062001163565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200033a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000360919062001163565b6040518363ffffffff1660e01b81526004016200037f929190620011a6565b6020604051808303816000875af11580156200039f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c5919062001163565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160126000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260006200050f6200092c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016012600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000620006286200092c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600860179054906101000a900460ff16600a620007c5919062001356565b85620007d29190620013a7565b90506103e8600582620007e69190620013a7565b620007f2919062001421565b600a819055506064600282620008099190620013a7565b62000815919062001421565b60098190555060646002826200082c9190620013a7565b62000838919062001421565b600b819055506200085033826200095660201b60201c565b505050505050505062001545565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009bf90620014ba565b60405180910390fd5b620009dc6000838362000acf60201b60201c565b8060026000828254620009f09190620014dc565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000a489190620014dc565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000aaf919062001528565b60405180910390a362000acb6000838362000ad460201b60201c565b5050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000b428262000af7565b810181811067ffffffffffffffff8211171562000b645762000b6362000b08565b5b80604052505050565b600062000b7962000ad9565b905062000b87828262000b37565b919050565b600067ffffffffffffffff82111562000baa5762000ba962000b08565b5b62000bb58262000af7565b9050602081019050919050565b60005b8381101562000be257808201518184015260208101905062000bc5565b60008484015250505050565b600062000c0562000bff8462000b8c565b62000b6d565b90508281526020810184848401111562000c245762000c2362000af2565b5b62000c3184828562000bc2565b509392505050565b600082601f83011262000c515762000c5062000aed565b5b815162000c6384826020860162000bee565b91505092915050565b600060ff82169050919050565b62000c848162000c6c565b811462000c9057600080fd5b50565b60008151905062000ca48162000c79565b92915050565b6000819050919050565b62000cbf8162000caa565b811462000ccb57600080fd5b50565b60008151905062000cdf8162000cb4565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d128262000ce5565b9050919050565b62000d248162000d05565b811462000d3057600080fd5b50565b60008151905062000d448162000d19565b92915050565b600080600080600080600060e0888a03121562000d6c5762000d6b62000ae3565b5b600088015167ffffffffffffffff81111562000d8d5762000d8c62000ae8565b5b62000d9b8a828b0162000c39565b975050602088015167ffffffffffffffff81111562000dbf5762000dbe62000ae8565b5b62000dcd8a828b0162000c39565b965050604062000de08a828b0162000c93565b955050606062000df38a828b0162000cce565b945050608062000e068a828b0162000d33565b93505060a062000e198a828b0162000cce565b92505060c062000e2c8a828b0162000cce565b91505092959891949750929550565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e8e57607f821691505b60208210810362000ea45762000ea362000e46565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000f0e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ecf565b62000f1a868362000ecf565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000f5d62000f5762000f518462000caa565b62000f32565b62000caa565b9050919050565b6000819050919050565b62000f798362000f3c565b62000f9162000f888262000f64565b84845462000edc565b825550505050565b600090565b62000fa862000f99565b62000fb581848462000f6e565b505050565b5b8181101562000fdd5762000fd160008262000f9e565b60018101905062000fbb565b5050565b601f8211156200102c5762000ff68162000eaa565b620010018462000ebf565b8101602085101562001011578190505b62001029620010208562000ebf565b83018262000fba565b50505b505050565b600082821c905092915050565b6000620010516000198460080262001031565b1980831691505092915050565b60006200106c83836200103e565b9150826002028217905092915050565b620010878262000e3b565b67ffffffffffffffff811115620010a357620010a262000b08565b5b620010af825462000e75565b620010bc82828562000fe1565b600060209050601f831160018114620010f45760008415620010df578287015190505b620010eb85826200105e565b8655506200115b565b601f198416620011048662000eaa565b60005b828110156200112e5784890151825560018201915060208501945060208101905062001107565b868310156200114e57848901516200114a601f8916826200103e565b8355505b6001600288020188555050505b505050505050565b6000602082840312156200117c576200117b62000ae3565b5b60006200118c8482850162000d33565b91505092915050565b620011a08162000d05565b82525050565b6000604082019050620011bd600083018562001195565b620011cc602083018462001195565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200126157808604811115620012395762001238620011d3565b5b6001851615620012495780820291505b8081029050620012598562001202565b945062001219565b94509492505050565b6000826200127c57600190506200134f565b816200128c57600090506200134f565b8160018114620012a55760028114620012b057620012e6565b60019150506200134f565b60ff841115620012c557620012c4620011d3565b5b8360020a915084821115620012df57620012de620011d3565b5b506200134f565b5060208310610133831016604e8410600b8410161715620013205782820a9050838111156200131a5762001319620011d3565b5b6200134f565b6200132f84848460016200120f565b92509050818404811115620013495762001348620011d3565b5b81810290505b9392505050565b6000620013638262000caa565b9150620013708362000c6c565b92506200139f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200126a565b905092915050565b6000620013b48262000caa565b9150620013c18362000caa565b9250828202620013d18162000caa565b91508282048414831517620013eb57620013ea620011d3565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200142e8262000caa565b91506200143b8362000caa565b9250826200144e576200144d620013f2565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620014a2601f8362001459565b9150620014af826200146a565b602082019050919050565b60006020820190508181036000830152620014d58162001493565b9050919050565b6000620014e98262000caa565b9150620014f68362000caa565b9250828201905080821115620015115762001510620011d3565b5b92915050565b620015228162000caa565b82525050565b60006020820190506200153f600083018462001517565b92915050565b61498280620015556000396000f3fe6080604052600436106102555760003560e01c80638f3fa86011610139578063c02174ca116100b6578063dd62ed3e1161007a578063dd62ed3e146108e9578063e2f4560514610926578063e4a1b95f14610951578063e7a996ab1461097c578063eba4c333146109a5578063f2fde38b146109ce5761025c565b8063c02174ca14610816578063c024666814610841578063c816841b1461086a578063c9567bf914610895578063d257b34f146108ac5761025c565b8063a457c2d7116100fd578063a457c2d71461070b578063a72905a214610748578063a9059cbb14610785578063a90eab8c146107c2578063bbc0c742146107eb5761025c565b80638f3fa86014610626578063917d3a6514610651578063924de9b71461068e57806395d89b41146106b7578063979919aa146106e25761025c565b806339509351116101d257806370a082311161019657806370a0823114610528578063715018a61461056557806371fc46881461057c578063735de9f7146105a5578063751039fc146105d05780638da5cb5b146105fb5761025c565b8063395093511461042f578063454340321461046c5780634a62bb65146104955780634fbee193146104c05780636ddd1713146104fd5761025c565b806324887e801161021957806324887e801461035c5780632b5f295a146103855780632d99d32e146103b0578063313ce567146103d957806335b5fb63146104045761025c565b806306fdde0314610261578063095ea7b31461028c57806318160ddd146102c95780631f7ea8da146102f457806323b872dd1461031f5761025c565b3661025c57005b600080fd5b34801561026d57600080fd5b506102766109f7565b60405161028391906133d1565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae919061348c565b610a89565b6040516102c091906134e7565b60405180910390f35b3480156102d557600080fd5b506102de610aa7565b6040516102eb9190613511565b60405180910390f35b34801561030057600080fd5b50610309610ab1565b6040516103169190613511565b60405180910390f35b34801561032b57600080fd5b506103466004803603810190610341919061352c565b610ab7565b60405161035391906134e7565b60405180910390f35b34801561036857600080fd5b50610383600480360381019061037e919061357f565b610baf565b005b34801561039157600080fd5b5061039a610cbe565b6040516103a79190613511565b60405180910390f35b3480156103bc57600080fd5b506103d760048036038101906103d291906135d8565b610cc4565b005b3480156103e557600080fd5b506103ee610e2b565b6040516103fb9190613634565b60405180910390f35b34801561041057600080fd5b50610419610e42565b6040516104269190613511565b60405180910390f35b34801561043b57600080fd5b506104566004803603810190610451919061348c565b610e48565b60405161046391906134e7565b60405180910390f35b34801561047857600080fd5b50610493600480360381019061048e91906135d8565b610ef4565b005b3480156104a157600080fd5b506104aa610fcb565b6040516104b791906134e7565b60405180910390f35b3480156104cc57600080fd5b506104e760048036038101906104e2919061364f565b610fde565b6040516104f491906134e7565b60405180910390f35b34801561050957600080fd5b50610512610ffe565b60405161051f91906134e7565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a919061364f565b611011565b60405161055c9190613511565b60405180910390f35b34801561057157600080fd5b5061057a61105a565b005b34801561058857600080fd5b506105a3600480360381019061059e919061357f565b6110e2565b005b3480156105b157600080fd5b506105ba6111e9565b6040516105c791906136db565b60405180910390f35b3480156105dc57600080fd5b506105e561120f565b6040516105f291906134e7565b60405180910390f35b34801561060757600080fd5b506106106112af565b60405161061d9190613705565b60405180910390f35b34801561063257600080fd5b5061063b6112d9565b6040516106489190613511565b60405180910390f35b34801561065d57600080fd5b506106786004803603810190610673919061364f565b6112df565b60405161068591906134e7565b60405180910390f35b34801561069a57600080fd5b506106b560048036038101906106b09190613720565b6112ff565b005b3480156106c357600080fd5b506106cc611398565b6040516106d991906133d1565b60405180910390f35b3480156106ee57600080fd5b506107096004803603810190610704919061357f565b61142a565b005b34801561071757600080fd5b50610732600480360381019061072d919061348c565b611539565b60405161073f91906134e7565b60405180910390f35b34801561075457600080fd5b5061076f600480360381019061076a919061364f565b611624565b60405161077c91906134e7565b60405180910390f35b34801561079157600080fd5b506107ac60048036038101906107a7919061348c565b611644565b6040516107b991906134e7565b60405180910390f35b3480156107ce57600080fd5b506107e960048036038101906107e491906137af565b611662565b005b3480156107f757600080fd5b506108006118ed565b60405161080d91906134e7565b60405180910390f35b34801561082257600080fd5b5061082b611900565b6040516108389190613705565b60405180910390f35b34801561084d57600080fd5b50610868600480360381019061086391906135d8565b611926565b005b34801561087657600080fd5b5061087f6119fd565b60405161088c9190613705565b60405180910390f35b3480156108a157600080fd5b506108aa611a23565b005b3480156108b857600080fd5b506108d360048036038101906108ce919061357f565b611ad7565b6040516108e091906134e7565b60405180910390f35b3480156108f557600080fd5b50610910600480360381019061090b9190613802565b611c2c565b60405161091d9190613511565b60405180910390f35b34801561093257600080fd5b5061093b611cb3565b6040516109489190613511565b60405180910390f35b34801561095d57600080fd5b50610966611cb9565b6040516109739190613511565b60405180910390f35b34801561098857600080fd5b506109a3600480360381019061099e91906135d8565b611cbf565b005b3480156109b157600080fd5b506109cc60048036038101906109c7919061357f565b611d96565b005b3480156109da57600080fd5b506109f560048036038101906109f0919061364f565b611e9d565b005b606060008054610a0690613871565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3290613871565b8015610a7f5780601f10610a5457610100808354040283529160200191610a7f565b820191906000526020600020905b815481529060010190602001808311610a6257829003601f168201915b5050505050905090565b6000610a9d610a96611f94565b8484611f9c565b6001905092915050565b6000600254905090565b600e5481565b6000610ac4848484612165565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b0f611f94565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8690613914565b60405180910390fd5b610ba385610b9b611f94565b858403611f9c565b60019150509392505050565b610bb7611f94565b73ffffffffffffffffffffffffffffffffffffffff16610bd56112af565b73ffffffffffffffffffffffffffffffffffffffff1614610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2290613980565b60405180910390fd5b670de0b6b3a76400006103e86005610c41610aa7565b610c4b91906139cf565b610c559190613a40565b610c5f9190613a40565b811015610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613ae3565b60405180910390fd5b670de0b6b3a764000081610cb591906139cf565b600b8190555050565b60095481565b610ccc611f94565b73ffffffffffffffffffffffffffffffffffffffff16610cea6112af565b73ffffffffffffffffffffffffffffffffffffffff1614610d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3790613980565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790613b75565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600860179054906101000a900460ff16905090565b600d5481565b6000610eea610e55611f94565b848460046000610e63611f94565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee59190613b95565b611f9c565b6001905092915050565b610efc611f94565b73ffffffffffffffffffffffffffffffffffffffff16610f1a6112af565b73ffffffffffffffffffffffffffffffffffffffff1614610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790613980565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600860169054906101000a900460ff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b600860159054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611062611f94565b73ffffffffffffffffffffffffffffffffffffffff166110806112af565b73ffffffffffffffffffffffffffffffffffffffff16146110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd90613980565b60405180910390fd5b6110e06000612c82565b565b6110ea611f94565b73ffffffffffffffffffffffffffffffffffffffff166111086112af565b73ffffffffffffffffffffffffffffffffffffffff161461115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590613980565b60405180910390fd5b7f3b77f3cd072c1083e86f1aea4703381efb175bf57ab29ecc41237d946f2b3af5600c5482604051611191929190613bc9565b60405180910390a180600c819055506019600c5411156111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd90613c3e565b60405180910390fd5b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611219611f94565b73ffffffffffffffffffffffffffffffffffffffff166112376112af565b73ffffffffffffffffffffffffffffffffffffffff161461128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128490613980565b60405180910390fd5b6000600860166101000a81548160ff0219169083151502179055506001905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60126020528060005260406000206000915054906101000a900460ff1681565b611307611f94565b73ffffffffffffffffffffffffffffffffffffffff166113256112af565b73ffffffffffffffffffffffffffffffffffffffff161461137b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137290613980565b60405180910390fd5b80600860156101000a81548160ff02191690831515021790555050565b6060600180546113a790613871565b80601f01602080910402602001604051908101604052809291908181526020018280546113d390613871565b80156114205780601f106113f557610100808354040283529160200191611420565b820191906000526020600020905b81548152906001019060200180831161140357829003601f168201915b5050505050905090565b611432611f94565b73ffffffffffffffffffffffffffffffffffffffff166114506112af565b73ffffffffffffffffffffffffffffffffffffffff16146114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149d90613980565b60405180910390fd5b670de0b6b3a76400006103e860016114bc610aa7565b6114c691906139cf565b6114d09190613a40565b6114da9190613a40565b81101561151c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151390613cd0565b60405180910390fd5b670de0b6b3a76400008161153091906139cf565b60098190555050565b60008060046000611548611f94565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611605576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fc90613d62565b60405180910390fd5b611619611610611f94565b85858403611f9c565b600191505092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b6000611658611651611f94565b8484612165565b6001905092915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001611715959493929190613d91565b60405160208183030381529060405280519060200120905060007f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e670000000000000000000000000000000000008152508051906020012060006040516020016117a193929190613de4565b604051602081830303815290604052805190602001209050600082826040516020016117ce929190613e93565b60405160208183030381529060405280519060200120905060006001828888886040516000815260200160405260405161180b9493929190613eca565b6020604051602081039080840390855afa15801561182d573d6000803e3d6000fd5b5050506020604051035190506118416112af565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146118ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a590613f5b565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b600860149054906101000a900460ff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61192e611f94565b73ffffffffffffffffffffffffffffffffffffffff1661194c6112af565b73ffffffffffffffffffffffffffffffffffffffff16146119a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199990613980565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611a2b611f94565b73ffffffffffffffffffffffffffffffffffffffff16611a496112af565b73ffffffffffffffffffffffffffffffffffffffff1614611a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9690613980565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b6000611ae1611f94565b73ffffffffffffffffffffffffffffffffffffffff16611aff6112af565b73ffffffffffffffffffffffffffffffffffffffff1614611b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4c90613980565b60405180910390fd5b620186a06001611b63610aa7565b611b6d91906139cf565b611b779190613a40565b821015611bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb090613fed565b60405180910390fd5b6103e86005611bc6610aa7565b611bd091906139cf565b611bda9190613a40565b821115611c1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c139061407f565b60405180910390fd5b81600a8190555060019050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b600c5481565b611cc7611f94565b73ffffffffffffffffffffffffffffffffffffffff16611ce56112af565b73ffffffffffffffffffffffffffffffffffffffff1614611d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3290613980565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611d9e611f94565b73ffffffffffffffffffffffffffffffffffffffff16611dbc6112af565b73ffffffffffffffffffffffffffffffffffffffff1614611e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0990613980565b60405180910390fd5b7fef3572bac793af1c873fdd3a97f65eca0b48b217dd92a2b1d0eb469b1a61f418600d5482604051611e45929190613bc9565b60405180910390a180600d819055506019600d541115611e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9190613c3e565b60405180910390fd5b50565b611ea5611f94565b73ffffffffffffffffffffffffffffffffffffffff16611ec36112af565b73ffffffffffffffffffffffffffffffffffffffff1614611f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1090613980565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7f90614111565b60405180910390fd5b611f9181612c82565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361200b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612002906141a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361207a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207190614235565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121589190613511565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cb906142c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a90614359565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c7906143c5565b60405180910390fd5b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561235d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235490614431565b60405180910390fd5b600081036123765761237183836000612d48565b612c7d565b600860169054906101000a900460ff1615612871576123936112af565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561240157506123d16112af565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561243a5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612474575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561248d5750600f60009054906101000a900460ff16155b1561287057600860149054906101000a900460ff1661258757601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125475750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257d9061449d565b60405180910390fd5b5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561262a5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126d157600954811115612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266b9061452f565b60405180910390fd5b600b5461268083611011565b8261268b9190613b95565b11156126cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c39061459b565b60405180910390fd5b61286f565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127745750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127c3576009548111156127be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b59061462d565b60405180910390fd5b61286e565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661286d57600b5461282083611011565b8261282b9190613b95565b111561286c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128639061459b565b60405180910390fd5b5b5b5b5b5b600061287c30611011565b90506000600a5482101590508080156128a15750600860159054906101000a900460ff165b80156128ba5750600f60009054906101000a900460ff16155b80156129105750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129665750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129bc5750601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a00576001600f60006101000a81548160ff0219169083151502179055506129e4612fca565b6000600f60006101000a81548160ff0219169083151502179055505b6000600f60009054906101000a900460ff16159050601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612ab65750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612ac057600090505b60008115612c6d57601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612b2357506000600d54115b15612b8a57612b506064612b42600d54886130c890919063ffffffff16565b6130de90919063ffffffff16565b9050600d54600d5482612b6391906139cf565b612b6d9190613a40565b600e6000828254612b7e9190613b95565b92505081905550612c49565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612be557506000600c54115b15612c4857612c126064612c04600c54886130c890919063ffffffff16565b6130de90919063ffffffff16565b9050600c54600c5482612c2591906139cf565b612c2f9190613a40565b600e6000828254612c409190613b95565b925050819055505b5b6000811115612c5e57612c5d873083612d48565b5b8085612c6a919061464d565b94505b612c78878787612d48565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dae906142c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1d90614359565b60405180910390fd5b612e318383836130f4565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eaf906146f3565b60405180910390fd5b818103600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f4d9190613b95565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612fb19190613511565b60405180910390a3612fc48484846130f9565b50505050565b6000612fd530611011565b90506000600e549050600080831480612fee5750600082145b15612ffb575050506130c6565b6014600a5461300a91906139cf565b831115613023576014600a5461302091906139cf565b92505b61302c836130fe565b6000600e81905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161307a90614744565b60006040518083038185875af1925050503d80600081146130b7576040519150601f19603f3d011682016040523d82523d6000602084013e6130bc565b606091505b5050809150505050505b565b600081836130d691906139cf565b905092915050565b600081836130ec9190613a40565b905092915050565b505050565b505050565b6000600267ffffffffffffffff81111561311b5761311a614759565b5b6040519080825280602002602001820160405280156131495781602001602082028036833780820191505090505b509050308160008151811061316157613160614788565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613208573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061322c91906147cc565b816001815181106132405761323f614788565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506132a730600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f9c565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161330b9594939291906148f2565b600060405180830381600087803b15801561332557600080fd5b505af1158015613339573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561337b578082015181840152602081019050613360565b60008484015250505050565b6000601f19601f8301169050919050565b60006133a382613341565b6133ad818561334c565b93506133bd81856020860161335d565b6133c681613387565b840191505092915050565b600060208201905081810360008301526133eb8184613398565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613423826133f8565b9050919050565b61343381613418565b811461343e57600080fd5b50565b6000813590506134508161342a565b92915050565b6000819050919050565b61346981613456565b811461347457600080fd5b50565b60008135905061348681613460565b92915050565b600080604083850312156134a3576134a26133f3565b5b60006134b185828601613441565b92505060206134c285828601613477565b9150509250929050565b60008115159050919050565b6134e1816134cc565b82525050565b60006020820190506134fc60008301846134d8565b92915050565b61350b81613456565b82525050565b60006020820190506135266000830184613502565b92915050565b600080600060608486031215613545576135446133f3565b5b600061355386828701613441565b935050602061356486828701613441565b925050604061357586828701613477565b9150509250925092565b600060208284031215613595576135946133f3565b5b60006135a384828501613477565b91505092915050565b6135b5816134cc565b81146135c057600080fd5b50565b6000813590506135d2816135ac565b92915050565b600080604083850312156135ef576135ee6133f3565b5b60006135fd85828601613441565b925050602061360e858286016135c3565b9150509250929050565b600060ff82169050919050565b61362e81613618565b82525050565b60006020820190506136496000830184613625565b92915050565b600060208284031215613665576136646133f3565b5b600061367384828501613441565b91505092915050565b6000819050919050565b60006136a161369c613697846133f8565b61367c565b6133f8565b9050919050565b60006136b382613686565b9050919050565b60006136c5826136a8565b9050919050565b6136d5816136ba565b82525050565b60006020820190506136f060008301846136cc565b92915050565b6136ff81613418565b82525050565b600060208201905061371a60008301846136f6565b92915050565b600060208284031215613736576137356133f3565b5b6000613744848285016135c3565b91505092915050565b61375681613618565b811461376157600080fd5b50565b6000813590506137738161374d565b92915050565b6000819050919050565b61378c81613779565b811461379757600080fd5b50565b6000813590506137a981613783565b92915050565b6000806000606084860312156137c8576137c76133f3565b5b60006137d686828701613764565b93505060206137e78682870161379a565b92505060406137f88682870161379a565b9150509250925092565b60008060408385031215613819576138186133f3565b5b600061382785828601613441565b925050602061383885828601613441565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061388957607f821691505b60208210810361389c5761389b613842565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006138fe60288361334c565b9150613909826138a2565b604082019050919050565b6000602082019050818103600083015261392d816138f1565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061396a60208361334c565b915061397582613934565b602082019050919050565b600060208201905081810360008301526139998161395d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139da82613456565b91506139e583613456565b92508282026139f381613456565b91508282048414831517613a0a57613a096139a0565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a4b82613456565b9150613a5683613456565b925082613a6657613a65613a11565b5b828204905092915050565b7f43616e6e6f7420736574206d617857616c6c657453697a65206c6f776572207460008201527f68616e20302e3525000000000000000000000000000000000000000000000000602082015250565b6000613acd60288361334c565b9150613ad882613a71565b604082019050919050565b60006020820190508181036000830152613afc81613ac0565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f616d6d5061697273000000000000000000000000000000000000000000000000602082015250565b6000613b5f60288361334c565b9150613b6a82613b03565b604082019050919050565b60006020820190508181036000830152613b8e81613b52565b9050919050565b6000613ba082613456565b9150613bab83613456565b9250828201905080821115613bc357613bc26139a0565b5b92915050565b6000604082019050613bde6000830185613502565b613beb6020830184613502565b9392505050565b7f4d757374206b656570206665657320617420323525206f72206c657373000000600082015250565b6000613c28601d8361334c565b9150613c3382613bf2565b602082019050919050565b60006020820190508181036000830152613c5781613c1b565b9050919050565b7f43616e6e6f7420736574206d617854786e53697a65206c6f776572207468616e60008201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b6000613cba60258361334c565b9150613cc582613c5e565b604082019050919050565b60006020820190508181036000830152613ce981613cad565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613d4c60258361334c565b9150613d5782613cf0565b604082019050919050565b60006020820190508181036000830152613d7b81613d3f565b9050919050565b613d8b81613779565b82525050565b600060a082019050613da66000830188613d82565b613db36020830187613d82565b613dc06040830186613d82565b613dcd6060830185613502565b613dda60808301846136f6565b9695505050505050565b6000606082019050613df96000830186613d82565b613e066020830185613d82565b613e136040830184613502565b949350505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000613e5c600283613e1b565b9150613e6782613e26565b600282019050919050565b6000819050919050565b613e8d613e8882613779565b613e72565b82525050565b6000613e9e82613e4f565b9150613eaa8285613e7c565b602082019150613eba8284613e7c565b6020820191508190509392505050565b6000608082019050613edf6000830187613d82565b613eec6020830186613625565b613ef96040830185613d82565b613f066060830184613d82565b95945050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000613f4560118361334c565b9150613f5082613f0f565b602082019050919050565b60006020820190508181036000830152613f7481613f38565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000613fd760358361334c565b9150613fe282613f7b565b604082019050919050565b6000602082019050818103600083015261400681613fca565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b600061406960348361334c565b91506140748261400d565b604082019050919050565b600060208201905081810360008301526140988161405c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006140fb60268361334c565b91506141068261409f565b604082019050919050565b6000602082019050818103600083015261412a816140ee565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061418d60248361334c565b915061419882614131565b604082019050919050565b600060208201905081810360008301526141bc81614180565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061421f60228361334c565b915061422a826141c3565b604082019050919050565b6000602082019050818103600083015261424e81614212565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006142b160258361334c565b91506142bc82614255565b604082019050919050565b600060208201905081810360008301526142e0816142a4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061434360238361334c565b915061434e826142e7565b604082019050919050565b6000602082019050818103600083015261437281614336565b9050919050565b7f5b66726f6d5d20626c61636b206c697374000000000000000000000000000000600082015250565b60006143af60118361334c565b91506143ba82614379565b602082019050919050565b600060208201905081810360008301526143de816143a2565b9050919050565b7f5b746f5d20626c61636b206c6973740000000000000000000000000000000000600082015250565b600061441b600f8361334c565b9150614426826143e5565b602082019050919050565b6000602082019050818103600083015261444a8161440e565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061448760168361334c565b915061449282614451565b602082019050919050565b600060208201905081810360008301526144b68161447a565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d617854786e53697a652e000000000000000000000000000000000000000000602082015250565b6000614519602b8361334c565b9150614524826144bd565b604082019050919050565b600060208201905081810360008301526145488161450c565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b600061458560138361334c565b91506145908261454f565b602082019050919050565b600060208201905081810360008301526145b481614578565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d617854786e53697a652e0000000000000000000000000000000000000000602082015250565b6000614617602c8361334c565b9150614622826145bb565b604082019050919050565b600060208201905081810360008301526146468161460a565b9050919050565b600061465882613456565b915061466383613456565b925082820390508181111561467b5761467a6139a0565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006146dd60268361334c565b91506146e882614681565b604082019050919050565b6000602082019050818103600083015261470c816146d0565b9050919050565b600081905092915050565b50565b600061472e600083614713565b91506147398261471e565b600082019050919050565b600061474f82614721565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506147c68161342a565b92915050565b6000602082840312156147e2576147e16133f3565b5b60006147f0848285016147b7565b91505092915050565b6000819050919050565b600061481e614819614814846147f9565b61367c565b613456565b9050919050565b61482e81614803565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61486981613418565b82525050565b600061487b8383614860565b60208301905092915050565b6000602082019050919050565b600061489f82614834565b6148a9818561483f565b93506148b483614850565b8060005b838110156148e55781516148cc888261486f565b97506148d783614887565b9250506001810190506148b8565b5085935050505092915050565b600060a0820190506149076000830188613502565b6149146020830187614825565b81810360408301526149268186614894565b905061493560608301856136f6565b6149426080830184613502565b969550505050505056fea2646970667358221220e59aad2f41a29190817ed7f4412ea632d09dfba03e27cdff1531c1687423d70e64736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000061f313f880000000000000000000000000ea28c3098472cdfcf118bcce3c3d8dc9e8eb75a8000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000012426967686f726e2052656420447261676f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006445241474f4e0000000000000000000000000000000000000000000000000000