Loading
[ { "inputs": [ { "internalType": "address", "name": "_devWallet", "type": "address" }, { "internalType": "address", "name": "_marketingWallet", "type": "address" }, { "internalType": "address", "name": "_swapRouter", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "activateTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "bExcludedFromTax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "bExcludedMaxTokenAmountPerTxn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bSwapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bTradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyDevTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketingTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalTax", "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": "subValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "name": "emergencyWithdrawToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludeFromMaxTokenAmountPerTxn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludeFromTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTokenAmountPerTxn", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTokenAmountPerWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minSwapTokenAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellDevTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketingTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPairs", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bool", "name": "enable", "type": "bool" } ], "name": "setBlackList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapRouter", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenAmountForDev", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenAmountForMarketing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "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": "uint256", "name": "newMarketFee", "type": "uint256" }, { "internalType": "uint256", "name": "newDevFee", "type": "uint256" } ], "name": "updateBuyTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_devWallet", "type": "address" } ], "name": "updateDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" } ], "name": "updateMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTokenAmountPerTxn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTokensPerWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "updateMinimumSwapTokenAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMarketFee", "type": "uint256" }, { "internalType": "uint256", "name": "newDevFee", "type": "uint256" } ], "name": "updateSellTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawEthPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526000600b60006101000a81548160ff0219169083151502179055506000600b60016101000a81548160ff0219169083151502179055506001601260006101000a81548160ff0219169083151502179055503480156200006257600080fd5b50604051620061ff380380620061ff833981810160405281019062000088919062000b7d565b6040518060400160405280600e81526020017f436f736d6963204e6574776f726b0000000000000000000000000000000000008152506040518060400160405280600681526020017f434f534d49430000000000000000000000000000000000000000000000000000815250816000908162000105919062000e53565b50806001908162000117919062000e53565b5050506200013a6200012e6200088f60201b60201c565b6200089760201b60201c565b82600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000291919062000f3a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200031b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000341919062000f3a565b6040518363ffffffff1660e01b81526004016200036092919062000f7d565b6020604051808303816000875af115801562000380573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a6919062000f3a565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f6000620003fc6200095d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000620004b76200098760201b60201c565b600a620004c591906200113a565b6305f5e100620004d691906200118b565b9050619c40600582620004ea91906200118b565b620004f6919062001205565b60088190555060c86002826200050d91906200118b565b62000519919062001205565b600a8190555060c86002826200053091906200118b565b6200053c919062001205565b6009819055506001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000620005b06200095d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016010600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600a601481905550600a6015819055506015546014546200084591906200123d565b601381905550600a601781905550600a6018819055506018546017546200086d91906200123d565b6016819055506200088533826200099060201b60201c565b5050505062001329565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009f990620012d9565b60405180910390fd5b62000a166000838362000b0960201b60201c565b806002600082825462000a2a91906200123d565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000a8291906200123d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000ae991906200130c565b60405180910390a362000b056000838362000b0e60201b60201c565b5050565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b458262000b18565b9050919050565b62000b578162000b38565b811462000b6357600080fd5b50565b60008151905062000b778162000b4c565b92915050565b60008060006060848603121562000b995762000b9862000b13565b5b600062000ba98682870162000b66565b935050602062000bbc8682870162000b66565b925050604062000bcf8682870162000b66565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c5b57607f821691505b60208210810362000c715762000c7062000c13565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000cdb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c9c565b62000ce7868362000c9c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000d3462000d2e62000d288462000cff565b62000d09565b62000cff565b9050919050565b6000819050919050565b62000d508362000d13565b62000d6862000d5f8262000d3b565b84845462000ca9565b825550505050565b600090565b62000d7f62000d70565b62000d8c81848462000d45565b505050565b5b8181101562000db45762000da860008262000d75565b60018101905062000d92565b5050565b601f82111562000e035762000dcd8162000c77565b62000dd88462000c8c565b8101602085101562000de8578190505b62000e0062000df78562000c8c565b83018262000d91565b50505b505050565b600082821c905092915050565b600062000e286000198460080262000e08565b1980831691505092915050565b600062000e43838362000e15565b9150826002028217905092915050565b62000e5e8262000bd9565b67ffffffffffffffff81111562000e7a5762000e7962000be4565b5b62000e86825462000c42565b62000e9382828562000db8565b600060209050601f83116001811462000ecb576000841562000eb6578287015190505b62000ec2858262000e35565b86555062000f32565b601f19841662000edb8662000c77565b60005b8281101562000f055784890151825560018201915060208501945060208101905062000ede565b8683101562000f25578489015162000f21601f89168262000e15565b8355505b6001600288020188555050505b505050505050565b60006020828403121562000f535762000f5262000b13565b5b600062000f638482850162000b66565b91505092915050565b62000f778162000b38565b82525050565b600060408201905062000f94600083018562000f6c565b62000fa3602083018462000f6c565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620010385780860481111562001010576200100f62000faa565b5b6001851615620010205780820291505b8081029050620010308562000fd9565b945062000ff0565b94509492505050565b60008262001053576001905062001126565b8162001063576000905062001126565b81600181146200107c57600281146200108757620010bd565b600191505062001126565b60ff8411156200109c576200109b62000faa565b5b8360020a915084821115620010b657620010b562000faa565b5b5062001126565b5060208310610133831016604e8410600b8410161715620010f75782820a905083811115620010f157620010f062000faa565b5b62001126565b62001106848484600162000fe6565b9250905081840481111562001120576200111f62000faa565b5b81810290505b9392505050565b600060ff82169050919050565b6000620011478262000cff565b915062001154836200112d565b9250620011837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001041565b905092915050565b6000620011988262000cff565b9150620011a58362000cff565b9250828202620011b58162000cff565b91508282048414831517620011cf57620011ce62000faa565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620012128262000cff565b91506200121f8362000cff565b925082620012325762001231620011d6565b5b828204905092915050565b60006200124a8262000cff565b9150620012578362000cff565b925082820190508082111562001272576200127162000faa565b5b92915050565b600082825260208201905092915050565b7f45524332303a204e6f74206163636f756e7420213d2061646472657373283029600082015250565b6000620012c160208362001278565b9150620012ce8262001289565b602082019050919050565b60006020820190508181036000830152620012f481620012b2565b9050919050565b620013068162000cff565b82525050565b6000602082019050620013236000830184620012fb565b92915050565b614ec680620013396000396000f3fe6080604052600436106103035760003560e01c806370a0823111610190578063af8f26e7116100dc578063c42c3f8811610095578063dd62ed3e1161006f578063dd62ed3e14610b43578063e27a55fe14610b80578063e96db1ef14610bab578063f2fde38b14610bd65761030a565b8063c42c3f8814610ac4578063c6a3064714610aef578063d929a08314610b185761030a565b8063af8f26e7146109b4578063b38d5ef4146109df578063b62496f514610a08578063b79c188614610a45578063be69188314610a6e578063c31c9c0714610a995761030a565b80638da5cb5b1161014957806395d89b411161012357806395d89b41146108e6578063a457c2d714610911578063a9059cbb1461094e578063aacebbe31461098b5761030a565b80638da5cb5b146108675780638ea5220f14610892578063924de9b7146108bd5761030a565b806370a082311461078f578063715018a6146107cc578063751039fc146107e357806375f0a874146107fa5780637d673170146108255780638a8c523c146108505761030a565b8063313ce5671161024f578063544d1ec91161020857806368092bd9116101e257806368092bd9146106d5578063685fbc6b146106fe5780636f498e21146107295780637070678b146107665761030a565b8063544d1ec9146106585780635df6e68e1461068157806367b740e9146106ac5761030a565b8063313ce567146105465780633301241114610571578063372b44b81461059c57806339509351146105c757806345167f26146106045780634a62bb651461062d5761030a565b80631816467f116102bc57806322f598351161029657806322f598351461047857806323b872dd146104b557806326991cc8146104f25780632c81355e1461051d5761030a565b80631816467f146103fb57806318c34be1146104245780631af032031461044f5761030a565b806306fdde031461030f578063095ea7b31461033a5780630bd05b69146103775780630e3d57eb1461038e578063151d8039146103a557806318160ddd146103d05761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610bff565b604051610331919061396d565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c9190613a28565b610c91565b60405161036e9190613a83565b60405180910390f35b34801561038357600080fd5b5061038c610caf565b005b34801561039a57600080fd5b506103a3610d63565b005b3480156103b157600080fd5b506103ba610e50565b6040516103c79190613a83565b60405180910390f35b3480156103dc57600080fd5b506103e5610e63565b6040516103f29190613aad565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d9190613ac8565b610e6d565b005b34801561043057600080fd5b50610439610f2d565b6040516104469190613aad565b60405180910390f35b34801561045b57600080fd5b5061047660048036038101906104719190613ac8565b610f33565b005b34801561048457600080fd5b5061049f600480360381019061049a9190613ac8565b6110b6565b6040516104ac9190613a83565b60405180910390f35b3480156104c157600080fd5b506104dc60048036038101906104d79190613af5565b6110d6565b6040516104e99190613a83565b60405180910390f35b3480156104fe57600080fd5b506105076111ce565b6040516105149190613b57565b60405180910390f35b34801561052957600080fd5b50610544600480360381019061053f9190613b72565b6111f4565b005b34801561055257600080fd5b5061055b611341565b6040516105689190613bbb565b60405180910390f35b34801561057d57600080fd5b5061058661134a565b6040516105939190613aad565b60405180910390f35b3480156105a857600080fd5b506105b1611350565b6040516105be9190613aad565b60405180910390f35b3480156105d357600080fd5b506105ee60048036038101906105e99190613a28565b611356565b6040516105fb9190613a83565b60405180910390f35b34801561061057600080fd5b5061062b60048036038101906106269190613c02565b611402565b005b34801561063957600080fd5b50610642611569565b60405161064f9190613a83565b60405180910390f35b34801561066457600080fd5b5061067f600480360381019061067a9190613b72565b61157c565b005b34801561068d57600080fd5b506106966116a1565b6040516106a39190613aad565b60405180910390f35b3480156106b857600080fd5b506106d360048036038101906106ce9190613b72565b6116a7565b005b3480156106e157600080fd5b506106fc60048036038101906106f79190613c02565b6117cc565b005b34801561070a57600080fd5b506107136118a3565b6040516107209190613aad565b60405180910390f35b34801561073557600080fd5b50610750600480360381019061074b9190613ac8565b6118a9565b60405161075d9190613a83565b60405180910390f35b34801561077257600080fd5b5061078d60048036038101906107889190613c02565b6118c9565b005b34801561079b57600080fd5b506107b660048036038101906107b19190613ac8565b6119a0565b6040516107c39190613aad565b60405180910390f35b3480156107d857600080fd5b506107e16119e9565b005b3480156107ef57600080fd5b506107f8611a71565b005b34801561080657600080fd5b5061080f611b0a565b60405161081c9190613b57565b60405180910390f35b34801561083157600080fd5b5061083a611b30565b6040516108479190613aad565b60405180910390f35b34801561085c57600080fd5b50610865611b36565b005b34801561087357600080fd5b5061087c611be3565b6040516108899190613b57565b60405180910390f35b34801561089e57600080fd5b506108a7611c0d565b6040516108b49190613b57565b60405180910390f35b3480156108c957600080fd5b506108e460048036038101906108df9190613c42565b611c33565b005b3480156108f257600080fd5b506108fb611ccc565b604051610908919061396d565b60405180910390f35b34801561091d57600080fd5b5061093860048036038101906109339190613a28565b611d5e565b6040516109459190613a83565b60405180910390f35b34801561095a57600080fd5b5061097560048036038101906109709190613a28565b611e49565b6040516109829190613a83565b60405180910390f35b34801561099757600080fd5b506109b260048036038101906109ad9190613ac8565b611e67565b005b3480156109c057600080fd5b506109c9611f27565b6040516109d69190613aad565b60405180910390f35b3480156109eb57600080fd5b50610a066004803603810190610a019190613c6f565b611f2d565b005b348015610a1457600080fd5b50610a2f6004803603810190610a2a9190613ac8565b612017565b604051610a3c9190613a83565b60405180910390f35b348015610a5157600080fd5b50610a6c6004803603810190610a679190613c6f565b612037565b005b348015610a7a57600080fd5b50610a83612121565b604051610a909190613aad565b60405180910390f35b348015610aa557600080fd5b50610aae612127565b604051610abb9190613d0e565b60405180910390f35b348015610ad057600080fd5b50610ad961214d565b604051610ae69190613aad565b60405180910390f35b348015610afb57600080fd5b50610b166004803603810190610b119190613c02565b612153565b005b348015610b2457600080fd5b50610b2d61222a565b604051610b3a9190613a83565b60405180910390f35b348015610b4f57600080fd5b50610b6a6004803603810190610b659190613d29565b61223d565b604051610b779190613aad565b60405180910390f35b348015610b8c57600080fd5b50610b956122c4565b604051610ba29190613aad565b60405180910390f35b348015610bb757600080fd5b50610bc06122ca565b604051610bcd9190613aad565b60405180910390f35b348015610be257600080fd5b50610bfd6004803603810190610bf89190613ac8565b6122d0565b005b606060008054610c0e90613d98565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3a90613d98565b8015610c875780601f10610c5c57610100808354040283529160200191610c87565b820191906000526020600020905b815481529060010190602001808311610c6a57829003601f168201915b5050505050905090565b6000610ca5610c9e6123c7565b84846123cf565b6001905092915050565b610cb76123c7565b73ffffffffffffffffffffffffffffffffffffffff16610cd5611be3565b73ffffffffffffffffffffffffffffffffffffffff1614610d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2290613e15565b60405180910390fd5b6001600b60006101000a81548160ff0219169083151502179055506001600b60016101000a81548160ff021916908315150217905550565b610d6b6123c7565b73ffffffffffffffffffffffffffffffffffffffff16610d89611be3565b73ffffffffffffffffffffffffffffffffffffffff1614610ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd690613e15565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610e0590613e66565b60006040518083038185875af1925050503d8060008114610e42576040519150601f19603f3d011682016040523d82523d6000602084013e610e47565b606091505b50508091505050565b600b60019054906101000a900460ff1681565b6000600254905090565b610e756123c7565b73ffffffffffffffffffffffffffffffffffffffff16610e93611be3565b73ffffffffffffffffffffffffffffffffffffffff1614610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090613e15565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d5481565b610f3b6123c7565b73ffffffffffffffffffffffffffffffffffffffff16610f59611be3565b73ffffffffffffffffffffffffffffffffffffffff1614610faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa690613e15565b60405180910390fd5b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fef9190613b57565b602060405180830381865afa15801561100c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110309190613e90565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161106d929190613ebd565b6020604051808303816000875af115801561108c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b09190613efb565b50505050565b60106020528060005260406000206000915054906101000a900460ff1681565b60006110e3848484612598565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061112e6123c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156111ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a590613f74565b60405180910390fd5b6111c2856111ba6123c7565b8584036123cf565b60019150509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111fc6123c7565b73ffffffffffffffffffffffffffffffffffffffff1661121a611be3565b73ffffffffffffffffffffffffffffffffffffffff1614611270576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126790613e15565b60405180910390fd5b620186a0600161127e610e63565b6112889190613fc3565b6112929190614034565b8110156112d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cb906140d7565b60405180910390fd5b6103e860056112e1610e63565b6112eb9190613fc3565b6112f59190614034565b811115611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90614169565b60405180910390fd5b8060088190555050565b60006012905090565b60175481565b600e5481565b60006113f86113636123c7565b8484600460006113716123c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113f39190614189565b6123cf565b6001905092915050565b61140a6123c7565b73ffffffffffffffffffffffffffffffffffffffff16611428611be3565b73ffffffffffffffffffffffffffffffffffffffff161461147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590613e15565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361150e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115059061422f565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601260009054906101000a900460ff1681565b6115846123c7565b73ffffffffffffffffffffffffffffffffffffffff166115a2611be3565b73ffffffffffffffffffffffffffffffffffffffff16146115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90613e15565b60405180910390fd5b611600611341565b600a61160c9190614382565b6103e86001611619610e63565b6116239190613fc3565b61162d9190614034565b6116379190614034565b811015611679576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116709061443f565b60405180910390fd5b611681611341565b600a61168d9190614382565b816116989190613fc3565b600a8190555050565b60165481565b6116af6123c7565b73ffffffffffffffffffffffffffffffffffffffff166116cd611be3565b73ffffffffffffffffffffffffffffffffffffffff1614611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a90613e15565b60405180910390fd5b61172b611341565b600a6117379190614382565b6103e86005611744610e63565b61174e9190613fc3565b6117589190614034565b6117629190614034565b8110156117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179b906144d1565b60405180910390fd5b6117ac611341565b600a6117b89190614382565b816117c39190613fc3565b60098190555050565b6117d46123c7565b73ffffffffffffffffffffffffffffffffffffffff166117f2611be3565b73ffffffffffffffffffffffffffffffffffffffff1614611848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183f90613e15565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60095481565b600f6020528060005260406000206000915054906101000a900460ff1681565b6118d16123c7565b73ffffffffffffffffffffffffffffffffffffffff166118ef611be3565b73ffffffffffffffffffffffffffffffffffffffff1614611945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193c90613e15565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6119f16123c7565b73ffffffffffffffffffffffffffffffffffffffff16611a0f611be3565b73ffffffffffffffffffffffffffffffffffffffff1614611a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5c90613e15565b60405180910390fd5b611a6f600061311b565b565b611a796123c7565b73ffffffffffffffffffffffffffffffffffffffff16611a97611be3565b73ffffffffffffffffffffffffffffffffffffffff1614611aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae490613e15565b60405180910390fd5b6000601260006101000a81548160ff021916908315150217905550565b600b60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b611b3e611be3565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611bab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba29061453d565b60405180910390fd5b6001600b60006101000a81548160ff0219169083151502179055506001600b60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611c3b6123c7565b73ffffffffffffffffffffffffffffffffffffffff16611c59611be3565b73ffffffffffffffffffffffffffffffffffffffff1614611caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca690613e15565b60405180910390fd5b80600b60016101000a81548160ff02191690831515021790555050565b606060018054611cdb90613d98565b80601f0160208091040260200160405190810160405280929190818152602001828054611d0790613d98565b8015611d545780601f10611d2957610100808354040283529160200191611d54565b820191906000526020600020905b815481529060010190602001808311611d3757829003601f168201915b5050505050905090565b60008060046000611d6d6123c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611e2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e21906145a9565b60405180910390fd5b611e3e611e356123c7565b858584036123cf565b600191505092915050565b6000611e5d611e566123c7565b8484612598565b6001905092915050565b611e6f6123c7565b73ffffffffffffffffffffffffffffffffffffffff16611e8d611be3565b73ffffffffffffffffffffffffffffffffffffffff1614611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda90613e15565b60405180910390fd5b80600b60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b611f356123c7565b73ffffffffffffffffffffffffffffffffffffffff16611f53611be3565b73ffffffffffffffffffffffffffffffffffffffff1614611fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa090613e15565b60405180910390fd5b8160178190555080601881905550601854601754611fc79190614189565b601681905550605f6016541115612013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200a90614615565b60405180910390fd5b5050565b60116020528060005260406000206000915054906101000a900460ff1681565b61203f6123c7565b73ffffffffffffffffffffffffffffffffffffffff1661205d611be3565b73ffffffffffffffffffffffffffffffffffffffff16146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120aa90613e15565b60405180910390fd5b81601481905550806015819055506015546014546120d19190614189565b601381905550605f601354111561211d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211490614615565b60405180910390fd5b5050565b60155481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b61215b6123c7565b73ffffffffffffffffffffffffffffffffffffffff16612179611be3565b73ffffffffffffffffffffffffffffffffffffffff16146121cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c690613e15565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b60009054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60135481565b60145481565b6122d86123c7565b73ffffffffffffffffffffffffffffffffffffffff166122f6611be3565b73ffffffffffffffffffffffffffffffffffffffff161461234c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234390613e15565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b290614681565b60405180910390fd5b6123c48161311b565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361243e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612435906146ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a490614759565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161258b9190613aad565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125fe906147c5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266d90614831565b60405180910390fd5b601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126fa9061489d565b60405180910390fd5b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612790576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278790614909565b60405180910390fd5b600081036127a9576127a4838360006131e1565b613116565b601260009054906101000a900460ff1615612ca4576127c6611be3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128345750612804611be3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561286d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156128a7575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156128c05750601960009054906101000a900460ff16155b15612ca357600b60009054906101000a900460ff166129ba57601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061297a5750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6129b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b090614975565b60405180910390fd5b5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a5d5750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b0457600a54811115612aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9e90614a07565b60405180910390fd5b600954612ab3836119a0565b82612abe9190614189565b1115612aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af690614a73565b60405180910390fd5b612ca2565b601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612ba75750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612bf657600a54811115612bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be890614b05565b60405180910390fd5b612ca1565b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612ca057600954612c53836119a0565b82612c5e9190614189565b1115612c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9690614a73565b60405180910390fd5b5b5b5b5b5b6000612caf306119a0565b905060006008548210159050600b60019054906101000a900460ff168015612cd45750805b8015612ced5750601960009054906101000a900460ff16155b8015612d435750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d995750601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612def5750601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612e33576001601960006101000a81548160ff021916908315150217905550612e17613463565b6000601960006101000a81548160ff0219169083151502179055505b6000601960009054906101000a900460ff16159050601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612ee95750601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612ef357600090505b6000811561310657601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612f5657506000601354115b15612ff057612f836064612f756013548861364e90919063ffffffff16565b61366490919063ffffffff16565b905060135460155482612f969190613fc3565b612fa09190614034565b600e6000828254612fb19190614189565b9250508190555060135460145482612fc99190613fc3565b612fd39190614034565b600d6000828254612fe49190614189565b925050819055506130e2565b601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561304b57506000601654115b156130e157613078606461306a6016548861364e90919063ffffffff16565b61366490919063ffffffff16565b90506016546018548261308b9190613fc3565b6130959190614034565b600e60008282546130a69190614189565b92505081905550601654601754826130be9190613fc3565b6130c89190614034565b600d60008282546130d99190614189565b925050819055505b5b60008111156130f7576130f68730836131e1565b5b80856131039190614b25565b94505b6131118787876131e1565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161324790614ba5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036132bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132b690614c11565b60405180910390fd5b6132ca83838361367a565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161334890614c7d565b60405180910390fd5b818103600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133e69190614189565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161344a9190613aad565b60405180910390a361345d84848461367f565b50505050565b600080600e54600d546134769190614189565b90506000613483306119a0565b905060008214806134945750600081145b156134a15750505061364c565b60146008546134b09190613fc3565b8111156134c95760146008546134c69190613fc3565b90505b60004790506134d782613684565b60006134ec82476138c790919063ffffffff16565b9050600061351785613509600e548561364e90919063ffffffff16565b61366490919063ffffffff16565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405161355f90613e66565b60006040518083038185875af1925050503d806000811461359c576040519150601f19603f3d011682016040523d82523d6000602084013e6135a1565b606091505b505080965050600b60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516135ed90613e66565b60006040518083038185875af1925050503d806000811461362a576040519150601f19603f3d011682016040523d82523d6000602084013e61362f565b606091505b5050809650506000600d819055506000600e819055505050505050505b565b6000818361365c9190613fc3565b905092915050565b600081836136729190614034565b905092915050565b505050565b505050565b6000600267ffffffffffffffff8111156136a1576136a0614c9d565b5b6040519080825280602002602001820160405280156136cf5781602001602082028036833780820191505090505b50905030816000815181106136e7576136e6614ccc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561378e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137b29190614d10565b816001815181106137c6576137c5614ccc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061382d30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846123cf565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613891959493929190614e36565b600060405180830381600087803b1580156138ab57600080fd5b505af11580156138bf573d6000803e3d6000fd5b505050505050565b600081836138d59190614b25565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156139175780820151818401526020810190506138fc565b60008484015250505050565b6000601f19601f8301169050919050565b600061393f826138dd565b61394981856138e8565b93506139598185602086016138f9565b61396281613923565b840191505092915050565b600060208201905081810360008301526139878184613934565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006139bf82613994565b9050919050565b6139cf816139b4565b81146139da57600080fd5b50565b6000813590506139ec816139c6565b92915050565b6000819050919050565b613a05816139f2565b8114613a1057600080fd5b50565b600081359050613a22816139fc565b92915050565b60008060408385031215613a3f57613a3e61398f565b5b6000613a4d858286016139dd565b9250506020613a5e85828601613a13565b9150509250929050565b60008115159050919050565b613a7d81613a68565b82525050565b6000602082019050613a986000830184613a74565b92915050565b613aa7816139f2565b82525050565b6000602082019050613ac26000830184613a9e565b92915050565b600060208284031215613ade57613add61398f565b5b6000613aec848285016139dd565b91505092915050565b600080600060608486031215613b0e57613b0d61398f565b5b6000613b1c868287016139dd565b9350506020613b2d868287016139dd565b9250506040613b3e86828701613a13565b9150509250925092565b613b51816139b4565b82525050565b6000602082019050613b6c6000830184613b48565b92915050565b600060208284031215613b8857613b8761398f565b5b6000613b9684828501613a13565b91505092915050565b600060ff82169050919050565b613bb581613b9f565b82525050565b6000602082019050613bd06000830184613bac565b92915050565b613bdf81613a68565b8114613bea57600080fd5b50565b600081359050613bfc81613bd6565b92915050565b60008060408385031215613c1957613c1861398f565b5b6000613c27858286016139dd565b9250506020613c3885828601613bed565b9150509250929050565b600060208284031215613c5857613c5761398f565b5b6000613c6684828501613bed565b91505092915050565b60008060408385031215613c8657613c8561398f565b5b6000613c9485828601613a13565b9250506020613ca585828601613a13565b9150509250929050565b6000819050919050565b6000613cd4613ccf613cca84613994565b613caf565b613994565b9050919050565b6000613ce682613cb9565b9050919050565b6000613cf882613cdb565b9050919050565b613d0881613ced565b82525050565b6000602082019050613d236000830184613cff565b92915050565b60008060408385031215613d4057613d3f61398f565b5b6000613d4e858286016139dd565b9250506020613d5f858286016139dd565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613db057607f821691505b602082108103613dc357613dc2613d69565b5b50919050565b7f496e76616c6964206f776e657200000000000000000000000000000000000000600082015250565b6000613dff600d836138e8565b9150613e0a82613dc9565b602082019050919050565b60006020820190508181036000830152613e2e81613df2565b9050919050565b600081905092915050565b50565b6000613e50600083613e35565b9150613e5b82613e40565b600082019050919050565b6000613e7182613e43565b9150819050919050565b600081519050613e8a816139fc565b92915050565b600060208284031215613ea657613ea561398f565b5b6000613eb484828501613e7b565b91505092915050565b6000604082019050613ed26000830185613b48565b613edf6020830184613a9e565b9392505050565b600081519050613ef581613bd6565b92915050565b600060208284031215613f1157613f1061398f565b5b6000613f1f84828501613ee6565b91505092915050565b7f45524332303a204e6f7420637572416c6c6f77203e3d20616d6f756e74000000600082015250565b6000613f5e601d836138e8565b9150613f6982613f28565b602082019050919050565b60006020820190508181036000830152613f8d81613f51565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613fce826139f2565b9150613fd9836139f2565b9250828202613fe7816139f2565b91508282048414831517613ffe57613ffd613f94565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061403f826139f2565b915061404a836139f2565b92508261405a57614059614005565b5b828204905092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006140c16035836138e8565b91506140cc82614065565b604082019050919050565b600060208201905081810360008301526140f0816140b4565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b60006141536034836138e8565b915061415e826140f7565b604082019050919050565b6000602082019050818103600083015261418281614146565b9050919050565b6000614194826139f2565b915061419f836139f2565b92508282019050808211156141b7576141b6613f94565b5b92915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b60006142196039836138e8565b9150614224826141bd565b604082019050919050565b600060208201905081810360008301526142488161420c565b9050919050565b60008160011c9050919050565b6000808291508390505b60018511156142a65780860481111561428257614281613f94565b5b60018516156142915780820291505b808102905061429f8561424f565b9450614266565b94509492505050565b6000826142bf576001905061437b565b816142cd576000905061437b565b81600181146142e357600281146142ed5761431c565b600191505061437b565b60ff8411156142ff576142fe613f94565b5b8360020a91508482111561431657614315613f94565b5b5061437b565b5060208310610133831016604e8410600b84101617156143515782820a90508381111561434c5761434b613f94565b5b61437b565b61435e848484600161425c565b9250905081840481111561437557614374613f94565b5b81810290505b9392505050565b600061438d826139f2565b915061439883613b9f565b92506143c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846142af565b905092915050565b7f43616e6e6f7420736574206d6178546f6b656e416d6f756e7450657254786e2060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000614429602f836138e8565b9150614434826143cd565b604082019050919050565b600060208201905081810360008301526144588161441c565b9050919050565b7f43616e6e6f7420736574206d6178546f6b656e416d6f756e7450657257616c6c60008201527f6574206c6f776572207468616e20302e35250000000000000000000000000000602082015250565b60006144bb6032836138e8565b91506144c68261445f565b604082019050919050565b600060208201905081810360008301526144ea816144ae565b9050919050565b7f4f6e6c79206f776e65722063616e20656e61626c652074726164696e67000000600082015250565b6000614527601d836138e8565b9150614532826144f1565b602082019050919050565b600060208201905081810360008301526145568161451a565b9050919050565b7f45524332303a204e6f7420637572416c6c6f77203e3d2073756256616c756500600082015250565b6000614593601f836138e8565b915061459e8261455d565b602082019050919050565b600060208201905081810360008301526145c281614586565b9050919050565b7f4d757374206b6565702074617820617420393525206f72206c65737300000000600082015250565b60006145ff601c836138e8565b915061460a826145c9565b602082019050919050565b6000602082019050818103600083015261462e816145f2565b9050919050565b7f4e6577206f776e6572206973205a45524f000000000000000000000000000000600082015250565b600061466b6011836138e8565b915061467682614635565b602082019050919050565b6000602082019050818103600083015261469a8161465e565b9050919050565b7f45524332303a204e6f74206f776e657220213d20616464726573732830290000600082015250565b60006146d7601e836138e8565b91506146e2826146a1565b602082019050919050565b60006020820190508181036000830152614706816146ca565b9050919050565b7f45524332303a204e6f74207370656e64657220213d2061646472657373283029600082015250565b60006147436020836138e8565b915061474e8261470d565b602082019050919050565b6000602082019050818103600083015261477281614736565b9050919050565b7f45524332303a20496e76616c69642066726f6d20616464726573730000000000600082015250565b60006147af601b836138e8565b91506147ba82614779565b602082019050919050565b600060208201905081810360008301526147de816147a2565b9050919050565b7f45524332303a20496e76616c696420746f206164647265737300000000000000600082015250565b600061481b6019836138e8565b9150614826826147e5565b602082019050919050565b6000602082019050818103600083015261484a8161480e565b9050919050565b7f45524332303a2066726f6d20697320626c61636b206c69737400000000000000600082015250565b60006148876019836138e8565b915061489282614851565b602082019050919050565b600060208201905081810360008301526148b68161487a565b9050919050565b7f45524332303a20746f20697320626c61636b206c697374000000000000000000600082015250565b60006148f36017836138e8565b91506148fe826148bd565b602082019050919050565b60006020820190508181036000830152614922816148e6565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061495f6016836138e8565b915061496a82614929565b602082019050919050565b6000602082019050818103600083015261498e81614952565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d6178546f6b656e416d6f756e7450657254786e2e0000000000000000000000602082015250565b60006149f16035836138e8565b91506149fc82614995565b604082019050919050565b60006020820190508181036000830152614a20816149e4565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000614a5d6013836138e8565b9150614a6882614a27565b602082019050919050565b60006020820190508181036000830152614a8c81614a50565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d6178546f6b656e416d6f756e7450657254786e2e00000000000000000000602082015250565b6000614aef6036836138e8565b9150614afa82614a93565b604082019050919050565b60006020820190508181036000830152614b1e81614ae2565b9050919050565b6000614b30826139f2565b9150614b3b836139f2565b9250828203905081811115614b5357614b52613f94565b5b92915050565b7f45524332303a204e6f742066726f6d20213d2061646472657373283029000000600082015250565b6000614b8f601d836138e8565b9150614b9a82614b59565b602082019050919050565b60006020820190508181036000830152614bbe81614b82565b9050919050565b7f45524332303a204e6f7420746f20213d20616464726573732830290000000000600082015250565b6000614bfb601b836138e8565b9150614c0682614bc5565b602082019050919050565b60006020820190508181036000830152614c2a81614bee565b9050919050565b7f45524332303a204e6f742062616c616e636546726f6d203e3d20616d6f756e74600082015250565b6000614c676020836138e8565b9150614c7282614c31565b602082019050919050565b60006020820190508181036000830152614c9681614c5a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614d0a816139c6565b92915050565b600060208284031215614d2657614d2561398f565b5b6000614d3484828501614cfb565b91505092915050565b6000819050919050565b6000614d62614d5d614d5884614d3d565b613caf565b6139f2565b9050919050565b614d7281614d47565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614dad816139b4565b82525050565b6000614dbf8383614da4565b60208301905092915050565b6000602082019050919050565b6000614de382614d78565b614ded8185614d83565b9350614df883614d94565b8060005b83811015614e29578151614e108882614db3565b9750614e1b83614dcb565b925050600181019050614dfc565b5085935050505092915050565b600060a082019050614e4b6000830188613a9e565b614e586020830187614d69565b8181036040830152614e6a8186614dd8565b9050614e796060830185613b48565b614e866080830184613a9e565b969550505050505056fea26469706673582212209f1025d522610a0ba5716fd5d9e120c0ab4d360dbad7982b28d5a25d00fb648764736f6c63430008110033000000000000000000000000176841cf6c8cf6f0cbc7f08f47b1e630e159dbae000000000000000000000000176841cf6c8cf6f0cbc7f08f47b1e630e159dbae0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d