[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "buyTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyProjectTax", "type": "uint256" } ], "name": "BuyFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "DisabledTransferDelay", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "LimitsRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "MarketingWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxTx", "type": "uint256" } ], "name": "MaxTxUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "MaxWalletUpdated", "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": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "ProjectWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "sellTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellProjectTax", "type": "uint256" } ], "name": "SellFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetDexPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMin", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMax", "type": "uint256" } ], "name": "SwapbackSettingsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "TradingEnabled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" } ], "name": "addressPermissions", "outputs": [ { "internalType": "bool", "name": "_transferTaxExempt", "type": "bool" }, { "internalType": "bool", "name": "_transferLimitExempt", "type": "bool" }, { "internalType": "bool", "name": "_automatedMarketMakerPairs", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "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": "address", "name": "newDevWal", "type": "address" } ], "name": "developerWalletChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "dexPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "feesOnBSet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "feesOnSChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "feesOnTChange", "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": "newMktWal", "type": "address" } ], "name": "marketingWalletChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMaxTxLimit", "type": "uint256" } ], "name": "maxTransactionLimitChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMaxWalletLimit", "type": "uint256" } ], "name": "maxWalletLimitChnge", "outputs": [], "stateMutability": "nonpayable", "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_anti", "type": "bool" } ], "name": "setAnti", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setDexPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enable", "type": "bool" }, { "internalType": "uint256", "name": "_min", "type": "uint256" }, { "internalType": "uint256", "name": "_max", "type": "uint256" } ], "name": "swapBackMnMxEnabledSet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "transactionLimitRemove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "transactionLimitsExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "transactionTaxesExempt", "outputs": [], "stateMutability": "nonpayable", "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": "valuesForLimits", "outputs": [ { "internalType": "bool", "name": "_limitsEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" }, { "internalType": "uint256", "name": "_maxTx", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valuesForReceivers", "outputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" }, { "internalType": "address", "name": "_projectWallet", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valuesForSwapback", "outputs": [ { "internalType": "bool", "name": "_swapbackEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_swapBackValueMin", "type": "uint256" }, { "internalType": "uint256", "name": "_swapBackValueMax", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valuesForTaxes", "outputs": [ { "internalType": "uint256", "name": "_buyTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_buyMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "_buyProjectTax", "type": "uint256" }, { "internalType": "uint256", "name": "_sellTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_sellMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "_sellProjectTax", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526000600560156101000a81548160ff0219169083151502179055506001600860006101000a81548160ff0219169083151502179055506000600c60006101000a81548160ff0219169083151502179055506001601c60006101000a81548160ff0219169083151502179055503480156200007d57600080fd5b506040518060400160405280600881526020017f4461726b204361740000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4c415345520000000000000000000000000000000000000000000000000000008152508160039081620000fb919062000f69565b5080600490816200010d919062000f69565b50505062000130620001246200064260201b60201c565b6200064a60201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506200015c8160016200071060201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002029190620010ba565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002909190620010ba565b6040518363ffffffff1660e01b8152600401620002af929190620010fd565b6020604051808303816000875af1158015620002cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f59190620010ba565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200033d60a05160016200071060201b60201c565b6200035260a05160016200084a60201b60201c565b600060199050600080601e90506000806014905060008062000379620008eb60201b60201c565b600a620003879190620012ba565b633b9aca006200039891906200130b565b90506103e8600a82620003ac91906200130b565b620003b8919062001385565b600a819055506103e8600a82620003d091906200130b565b620003dc919062001385565b6009819055506103e8600182620003f491906200130b565b62000400919062001385565b60068190555060646002826200041791906200130b565b62000423919062001385565b60078190555086600f8190555085601081905550601054600f54620004499190620013bd565b600e8190555084601281905550836013819055506013546012546200046f9190620013bd565b6011819055508260158190555081601681905550601654601554620004959190620013bd565b6014819055507322257c01c227a4f3be0b8fe93332b37dd85fd8ae600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000544336001620008f460201b60201c565b62000557306001620008f460201b60201c565b6200056c61dead6001620008f460201b60201c565b620005a1600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620008f460201b60201c565b620005b43360016200071060201b60201c565b620005c73060016200071060201b60201c565b620005dc61dead60016200071060201b60201c565b62000611600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200071060201b60201c565b620006223362000a2e60201b60201c565b62000634338262000b4360201b60201c565b5050505050505050620015ed565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620007206200064260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200074662000cbb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200079f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007969062001459565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc92826040516200083e919062001498565b60405180910390a25050565b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a60405160405180910390a35050565b60006012905090565b620009046200064260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200092a62000cbb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000983576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200097a9062001459565b60405180910390fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000a22919062001498565b60405180910390a25050565b62000a3e6200064260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000a6462000cbb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000abd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ab49062001459565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000b2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b26906200152b565b60405180910390fd5b62000b40816200064a60201b60201c565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000bb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bac906200159d565b60405180910390fd5b62000bc96000838362000ce560201b60201c565b806002600082825462000bdd9190620013bd565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000c349190620013bd565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000c9b9190620015d0565b60405180910390a362000cb76000838362000cea60201b60201c565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d7157607f821691505b60208210810362000d875762000d8662000d29565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000df17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000db2565b62000dfd868362000db2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000e4a62000e4462000e3e8462000e15565b62000e1f565b62000e15565b9050919050565b6000819050919050565b62000e668362000e29565b62000e7e62000e758262000e51565b84845462000dbf565b825550505050565b600090565b62000e9562000e86565b62000ea281848462000e5b565b505050565b5b8181101562000eca5762000ebe60008262000e8b565b60018101905062000ea8565b5050565b601f82111562000f195762000ee38162000d8d565b62000eee8462000da2565b8101602085101562000efe578190505b62000f1662000f0d8562000da2565b83018262000ea7565b50505b505050565b600082821c905092915050565b600062000f3e6000198460080262000f1e565b1980831691505092915050565b600062000f59838362000f2b565b9150826002028217905092915050565b62000f748262000cef565b67ffffffffffffffff81111562000f905762000f8f62000cfa565b5b62000f9c825462000d58565b62000fa982828562000ece565b600060209050601f83116001811462000fe1576000841562000fcc578287015190505b62000fd8858262000f4b565b86555062001048565b601f19841662000ff18662000d8d565b60005b828110156200101b5784890151825560018201915060208501945060208101905062000ff4565b868310156200103b578489015162001037601f89168262000f2b565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620010828262001055565b9050919050565b620010948162001075565b8114620010a057600080fd5b50565b600081519050620010b48162001089565b92915050565b600060208284031215620010d357620010d262001050565b5b6000620010e384828501620010a3565b91505092915050565b620010f78162001075565b82525050565b6000604082019050620011146000830185620010ec565b620011236020830184620010ec565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620011b85780860481111562001190576200118f6200112a565b5b6001851615620011a05780820291505b8081029050620011b08562001159565b945062001170565b94509492505050565b600082620011d35760019050620012a6565b81620011e35760009050620012a6565b8160018114620011fc576002811462001207576200123d565b6001915050620012a6565b60ff8411156200121c576200121b6200112a565b5b8360020a9150848211156200123657620012356200112a565b5b50620012a6565b5060208310610133831016604e8410600b8410161715620012775782820a9050838111156200127157620012706200112a565b5b620012a6565b62001286848484600162001166565b92509050818404811115620012a0576200129f6200112a565b5b81810290505b9392505050565b600060ff82169050919050565b6000620012c78262000e15565b9150620012d483620012ad565b9250620013037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620011c1565b905092915050565b6000620013188262000e15565b9150620013258362000e15565b9250828202620013358162000e15565b915082820484148315176200134f576200134e6200112a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620013928262000e15565b91506200139f8362000e15565b925082620013b257620013b162001356565b5b828204905092915050565b6000620013ca8262000e15565b9150620013d78362000e15565b9250828201905080821115620013f257620013f16200112a565b5b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062001441602083620013f8565b91506200144e8262001409565b602082019050919050565b60006020820190508181036000830152620014748162001432565b9050919050565b60008115159050919050565b62001492816200147b565b82525050565b6000602082019050620014af600083018462001487565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600062001513602683620013f8565b91506200152082620014b5565b604082019050919050565b60006020820190508181036000830152620015468162001504565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001585601f83620013f8565b915062001592826200154d565b602082019050919050565b60006020820190508181036000830152620015b88162001576565b9050919050565b620015ca8162000e15565b82525050565b6000602082019050620015e76000830184620015bf565b92915050565b60805160a051614b186200162860003960008181611d210152611dbd01526000818161343601528181613517015261353e0152614b186000f3fe6080604052600436106102085760003560e01c80637ff6f7b911610118578063c40b793b116100a0578063dd62ed3e1161006f578063dd62ed3e14610758578063e55648f414610795578063f242ab41146107be578063f2fde38b146107e9578063f3cfad94146108125761020f565b8063c40b793b146106a9578063c9567bf9146106e8578063c9b6c1ce146106ff578063d7ff53e5146107285761020f565b806395d89b41116100e757806395d89b41146105c4578063a457c2d7146105ef578063a74e5f3b1461062c578063a9059cbb14610655578063c30d1313146106925761020f565b80637ff6f7b91461051e57806383c150d4146105475780638da5cb5b14610570578063917070a91461059b5761020f565b80633308740b1161019b5780634ada218b1161016a5780634ada218b1461044957806351b8dc7b14610474578063622fa7721461049d57806370a08231146104ca578063715018a6146105075761020f565b80633308740b1461038d578063336ddc29146103ba57806339509351146103e35780634482eea8146104205761020f565b806323b872dd116101d757806323b872dd146102d35780632500460d146103105780632ab7531f14610339578063313ce567146103625761020f565b806306fdde0314610214578063088c9eb41461023f578063095ea7b31461026b57806318160ddd146102a85761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961083b565b604051610236919061367a565b60405180910390f35b34801561024b57600080fd5b506102546108cd565b6040516102629291906136dd565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061376d565b61091e565b60405161029f91906137c8565b60405180910390f35b3480156102b457600080fd5b506102bd61093c565b6040516102ca91906137f2565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f5919061380d565b610946565b60405161030791906137c8565b60405180910390f35b34801561031c57600080fd5b5061033760048036038101906103329190613860565b610a3e565b005b34801561034557600080fd5b50610360600480360381019061035b9190613860565b610b69565b005b34801561036e57600080fd5b50610377610c94565b60405161038491906138bc565b60405180910390f35b34801561039957600080fd5b506103a2610c9d565b6040516103b1939291906138d7565b60405180910390f35b3480156103c657600080fd5b506103e160048036038101906103dc919061390e565b610cc3565b005b3480156103ef57600080fd5b5061040a6004803603810190610405919061376d565b610dff565b60405161041791906137c8565b60405180910390f35b34801561042c57600080fd5b5061044760048036038101906104429190613967565b610eab565b005b34801561045557600080fd5b5061045e610fd0565b60405161046b91906137c8565b60405180910390f35b34801561048057600080fd5b5061049b6004803603810190610496919061390e565b610fe3565b005b3480156104a957600080fd5b506104b261111f565b6040516104c1939291906138d7565b60405180910390f35b3480156104d657600080fd5b506104f160048036038101906104ec919061390e565b611145565b6040516104fe91906137f2565b60405180910390f35b34801561051357600080fd5b5061051c61118d565b005b34801561052a57600080fd5b50610545600480360381019061054091906139a7565b611215565b005b34801561055357600080fd5b5061056e600480360381019061056991906139d4565b6112ae565b005b34801561057c57600080fd5b50610585611457565b6040516105929190613a27565b60405180910390f35b3480156105a757600080fd5b506105c260048036038101906105bd9190613860565b611481565b005b3480156105d057600080fd5b506105d961156b565b6040516105e6919061367a565b60405180910390f35b3480156105fb57600080fd5b506106166004803603810190610611919061376d565b6115fd565b60405161062391906137c8565b60405180910390f35b34801561063857600080fd5b50610653600480360381019061064e9190613a42565b6116e8565b005b34801561066157600080fd5b5061067c6004803603810190610677919061376d565b61180a565b60405161068991906137c8565b60405180910390f35b34801561069e57600080fd5b506106a7611828565b005b3480156106b557600080fd5b506106d060048036038101906106cb919061390e565b6118ee565b6040516106df93929190613a6f565b60405180910390f35b3480156106f457600080fd5b506106fd6119e7565b005b34801561070b57600080fd5b5061072660048036038101906107219190613967565b611ac8565b005b34801561073457600080fd5b5061073d611bed565b60405161074f96959493929190613aa6565b60405180910390f35b34801561076457600080fd5b5061077f600480360381019061077a9190613b07565b611c1c565b60405161078c91906137f2565b60405180910390f35b3480156107a157600080fd5b506107bc60048036038101906107b79190613967565b611ca3565b005b3480156107ca57600080fd5b506107d3611dbb565b6040516107e09190613a27565b60405180910390f35b3480156107f557600080fd5b50610810600480360381019061080b919061390e565b611ddf565b005b34801561081e57600080fd5b5061083960048036038101906108349190613a42565b611ed6565b005b60606003805461084a90613b76565b80601f016020809104026020016040519081016040528092919081815260200182805461087690613b76565b80156108c35780601f10610898576101008083540402835291602001916108c3565b820191906000526020600020905b8154815290600101906020018083116108a657829003601f168201915b5050505050905090565b600080600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915091509091565b600061093261092b611ff8565b8484612000565b6001905092915050565b6000600254905090565b60006109538484846121c9565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061099e611ff8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1590613c19565b60405180910390fd5b610a3285610a2a611ff8565b858403612000565b60019150509392505050565b610a46611ff8565b73ffffffffffffffffffffffffffffffffffffffff16610a64611457565b73ffffffffffffffffffffffffffffffffffffffff1614610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190613c85565b60405180910390fd5b8160128190555080601381905550601354601254610ad89190613cd4565b60118190555060646011541115610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b90613d7a565b60405180910390fd5b7fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f1601154601254601354604051610b5d93929190613d9a565b60405180910390a15050565b610b71611ff8565b73ffffffffffffffffffffffffffffffffffffffff16610b8f611457565b73ffffffffffffffffffffffffffffffffffffffff1614610be5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdc90613c85565b60405180910390fd5b81600f8190555080601081905550601054600f54610c039190613cd4565b600e819055506064600e541115610c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4690613e43565b60405180910390fd5b7f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e600e54600f54601054604051610c8893929190613d9a565b60405180910390a15050565b60006012905090565b6000806000600860009054906101000a900460ff1692506009549150600a549050909192565b610ccb611ff8565b73ffffffffffffffffffffffffffffffffffffffff16610ce9611457565b73ffffffffffffffffffffffffffffffffffffffff1614610d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3690613c85565b60405180910390fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fb91dbdeaf34f885ccae2d8abc3967cb03c079b6af2c7944e3893fd29427d75e760405160405180910390a380600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610ea1610e0c611ff8565b848460016000610e1a611ff8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e9c9190613cd4565b612000565b6001905092915050565b610eb3611ff8565b73ffffffffffffffffffffffffffffffffffffffff16610ed1611457565b73ffffffffffffffffffffffffffffffffffffffff1614610f27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1e90613c85565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9282604051610fc491906137c8565b60405180910390a25050565b600c60009054906101000a900460ff1681565b610feb611ff8565b73ffffffffffffffffffffffffffffffffffffffff16611009611457565b73ffffffffffffffffffffffffffffffffffffffff161461105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105690613c85565b60405180910390fd5b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6760405160405180910390a380600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000600560159054906101000a900460ff16925060065491506007549050909192565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611195611ff8565b73ffffffffffffffffffffffffffffffffffffffff166111b3611457565b73ffffffffffffffffffffffffffffffffffffffff1614611209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120090613c85565b60405180910390fd5b6112136000612d80565b565b61121d611ff8565b73ffffffffffffffffffffffffffffffffffffffff1661123b611457565b73ffffffffffffffffffffffffffffffffffffffff1614611291576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128890613c85565b60405180910390fd5b80601c60006101000a81548160ff02191690831515021790555050565b6112b6611ff8565b73ffffffffffffffffffffffffffffffffffffffff166112d4611457565b73ffffffffffffffffffffffffffffffffffffffff161461132a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132190613c85565b60405180910390fd5b600182101561136e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136590613ed5565b60405180910390fd5b818110156113b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a890613f67565b60405180910390fd5b82600560156101000a81548160ff021916908315150217905550612710826113d761093c565b6113e19190613f87565b6113eb9190613ff8565b600681905550612710816113fd61093c565b6114079190613f87565b6114119190613ff8565b6007819055507f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c77983838360405161144a939291906138d7565b60405180910390a1505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611489611ff8565b73ffffffffffffffffffffffffffffffffffffffff166114a7611457565b73ffffffffffffffffffffffffffffffffffffffff16146114fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f490613c85565b60405180910390fd5b816015819055508060168190555060165460155461151b9190613cd4565b60148190555060646014541115611567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155e9061409b565b60405180910390fd5b5050565b60606004805461157a90613b76565b80601f01602080910402602001604051908101604052809291908181526020018280546115a690613b76565b80156115f35780601f106115c8576101008083540402835291602001916115f3565b820191906000526020600020905b8154815290600101906020018083116115d657829003601f168201915b5050505050905090565b6000806001600061160c611ff8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156116c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c09061412d565b60405180910390fd5b6116dd6116d4611ff8565b85858403612000565b600191505092915050565b6116f0611ff8565b73ffffffffffffffffffffffffffffffffffffffff1661170e611457565b73ffffffffffffffffffffffffffffffffffffffff1614611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175b90613c85565b60405180910390fd5b60058110156117a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179f906141bf565b60405180910390fd5b6103e86117b361093c565b826117be9190613f87565b6117c89190613ff8565b6009819055507f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace6009546040516117ff91906137f2565b60405180910390a150565b600061181e611817611ff8565b84846121c9565b6001905092915050565b611830611ff8565b73ffffffffffffffffffffffffffffffffffffffff1661184e611457565b73ffffffffffffffffffffffffffffffffffffffff16146118a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189b90613c85565b60405180910390fd5b6000600860006101000a81548160ff021916908315150217905550427ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261660405160405180910390a2565b6000806000601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169250601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169150601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690509193909250565b6119ef611ff8565b73ffffffffffffffffffffffffffffffffffffffff16611a0d611457565b73ffffffffffffffffffffffffffffffffffffffff1614611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5a90613c85565b60405180910390fd5b6001600c60006101000a81548160ff0219169083151502179055506001600560156101000a81548160ff021916908315150217905550427fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92360405160405180910390a2565b611ad0611ff8565b73ffffffffffffffffffffffffffffffffffffffff16611aee611457565b73ffffffffffffffffffffffffffffffffffffffff1614611b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3b90613c85565b60405180910390fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611be191906137c8565b60405180910390a25050565b600080600080600080600e549550600f5494506010549350601154925060125491506013549050909192939495565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cab611ff8565b73ffffffffffffffffffffffffffffffffffffffff16611cc9611457565b73ffffffffffffffffffffffffffffffffffffffff1614611d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1690613c85565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da490614251565b60405180910390fd5b611db78282612e46565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b611de7611ff8565b73ffffffffffffffffffffffffffffffffffffffff16611e05611457565b73ffffffffffffffffffffffffffffffffffffffff1614611e5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5290613c85565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec1906142e3565b60405180910390fd5b611ed381612d80565b50565b611ede611ff8565b73ffffffffffffffffffffffffffffffffffffffff16611efc611457565b73ffffffffffffffffffffffffffffffffffffffff1614611f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4990613c85565b60405180910390fd5b6002811015611f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8d9061434f565b60405180910390fd5b6103e8611fa161093c565b82611fac9190613f87565b611fb69190613ff8565b600a819055507fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a600a54604051611fed91906137f2565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361206f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612066906143e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d590614473565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121bc91906137f2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222f90614505565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036122a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229e90614597565b60405180910390fd5b600081036122c0576122bb83836000612ee7565b612d7b565b600860009054906101000a900460ff16156127bb576122dd611457565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561234b575061231b611457565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123845750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123be575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123d75750600560149054906101000a900460ff16155b156127ba57600c60009054906101000a900460ff166124d157601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124915750601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6124d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c790614629565b60405180910390fd5b5b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156125745750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561261b57600a548111156125be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b5906146bb565b60405180910390fd5b6009546125ca83611145565b826125d59190613cd4565b1115612616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260d90614727565b60405180910390fd5b6127b9565b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126be5750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561270d57600a54811115612708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ff906147b9565b60405180910390fd5b6127b8565b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127b75760095461276a83611145565b826127759190613cd4565b11156127b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ad90614727565b60405180910390fd5b5b5b5b5b5b60006127c630611145565b9050600060065482101590508080156127eb5750600560159054906101000a900460ff165b80156128045750600560149054906101000a900460ff16155b801561285a5750601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128b05750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129065750601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561294b576001600560146101000a81548160ff02191690831515021790555061292f83613166565b6000600560146101000a81548160ff0219169083151502179055505b6000600560149054906101000a900460ff16159050601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612a015750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612a0b57600090505b60008115612d6b57601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a6e57506000601154115b15612b0857612a9b6064612a8d6011548861336190919063ffffffff16565b61337790919063ffffffff16565b905060115460135482612aae9190613f87565b612ab89190613ff8565b60186000828254612ac99190613cd4565b9250508190555060115460125482612ae19190613f87565b612aeb9190613ff8565b60176000828254612afc9190613cd4565b92505081905550612d47565b601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612b6357506000600e54115b15612bfd57612b906064612b82600e548861336190919063ffffffff16565b61337790919063ffffffff16565b9050600e5460105482612ba39190613f87565b612bad9190613ff8565b60186000828254612bbe9190613cd4565b92505081905550600e54600f5482612bd69190613f87565b612be09190613ff8565b60176000828254612bf19190613cd4565b92505081905550612d46565b6000601454118015612c595750601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612caf5750601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612d4557612cdc6064612cce6014548861336190919063ffffffff16565b61337790919063ffffffff16565b905060145460165482612cef9190613f87565b612cf99190613ff8565b60186000828254612d0a9190613cd4565b9250508190555060145460155482612d229190613f87565b612d2c9190613ff8565b60176000828254612d3d9190613cd4565b925050819055505b5b5b6000811115612d5c57612d5b873083612ee7565b5b8085612d6891906147d9565b94505b612d76878787612ee7565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612f56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4d90614505565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fbc90614597565b60405180910390fd5b612fd083838361338d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161304d9061487f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546130e99190613cd4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161314d91906137f2565b60405180910390a3613160848484613392565b50505050565b600061317130611145565b9050600081905060008083036131895750505061335e565b6007548311156131995760075492505b601c60009054906101000a900460ff1680156131c057506005846131bd9190613f87565b83115b156131d5576005846131d29190613f87565b92505b600083905060004790506131e882613397565b60006131fd82476135d490919063ffffffff16565b905060006132288661321a6018548561336190919063ffffffff16565b61337790919063ffffffff16565b905060006017819055506000601881905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051613280906148d0565b60006040518083038185875af1925050503d80600081146132bd576040519150601f19603f3d011682016040523d82523d6000602084013e6132c2565b606091505b505080955050600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161330e906148d0565b60006040518083038185875af1925050503d806000811461334b576040519150601f19603f3d011682016040523d82523d6000602084013e613350565b606091505b505080955050505050505050505b50565b6000818361336f9190613f87565b905092915050565b600081836133859190613ff8565b905092915050565b505050565b505050565b6000600267ffffffffffffffff8111156133b4576133b36148e5565b5b6040519080825280602002602001820160405280156133e25781602001602082028036833780820191505090505b50905030816000815181106133fa576133f9614914565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561349f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134c39190614958565b816001815181106134d7576134d6614914565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061353c307f000000000000000000000000000000000000000000000000000000000000000084612000565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161359e959493929190614a88565b600060405180830381600087803b1580156135b857600080fd5b505af11580156135cc573d6000803e3d6000fd5b505050505050565b600081836135e291906147d9565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613624578082015181840152602081019050613609565b60008484015250505050565b6000601f19601f8301169050919050565b600061364c826135ea565b61365681856135f5565b9350613666818560208601613606565b61366f81613630565b840191505092915050565b600060208201905081810360008301526136948184613641565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006136c78261369c565b9050919050565b6136d7816136bc565b82525050565b60006040820190506136f260008301856136ce565b6136ff60208301846136ce565b9392505050565b600080fd5b613714816136bc565b811461371f57600080fd5b50565b6000813590506137318161370b565b92915050565b6000819050919050565b61374a81613737565b811461375557600080fd5b50565b60008135905061376781613741565b92915050565b6000806040838503121561378457613783613706565b5b600061379285828601613722565b92505060206137a385828601613758565b9150509250929050565b60008115159050919050565b6137c2816137ad565b82525050565b60006020820190506137dd60008301846137b9565b92915050565b6137ec81613737565b82525050565b600060208201905061380760008301846137e3565b92915050565b60008060006060848603121561382657613825613706565b5b600061383486828701613722565b935050602061384586828701613722565b925050604061385686828701613758565b9150509250925092565b6000806040838503121561387757613876613706565b5b600061388585828601613758565b925050602061389685828601613758565b9150509250929050565b600060ff82169050919050565b6138b6816138a0565b82525050565b60006020820190506138d160008301846138ad565b92915050565b60006060820190506138ec60008301866137b9565b6138f960208301856137e3565b61390660408301846137e3565b949350505050565b60006020828403121561392457613923613706565b5b600061393284828501613722565b91505092915050565b613944816137ad565b811461394f57600080fd5b50565b6000813590506139618161393b565b92915050565b6000806040838503121561397e5761397d613706565b5b600061398c85828601613722565b925050602061399d85828601613952565b9150509250929050565b6000602082840312156139bd576139bc613706565b5b60006139cb84828501613952565b91505092915050565b6000806000606084860312156139ed576139ec613706565b5b60006139fb86828701613952565b9350506020613a0c86828701613758565b9250506040613a1d86828701613758565b9150509250925092565b6000602082019050613a3c60008301846136ce565b92915050565b600060208284031215613a5857613a57613706565b5b6000613a6684828501613758565b91505092915050565b6000606082019050613a8460008301866137b9565b613a9160208301856137b9565b613a9e60408301846137b9565b949350505050565b600060c082019050613abb60008301896137e3565b613ac860208301886137e3565b613ad560408301876137e3565b613ae260608301866137e3565b613aef60808301856137e3565b613afc60a08301846137e3565b979650505050505050565b60008060408385031215613b1e57613b1d613706565b5b6000613b2c85828601613722565b9250506020613b3d85828601613722565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613b8e57607f821691505b602082108103613ba157613ba0613b47565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613c036028836135f5565b9150613c0e82613ba7565b604082019050919050565b60006020820190508181036000830152613c3281613bf6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c6f6020836135f5565b9150613c7a82613c39565b602082019050919050565b60006020820190508181036000830152613c9e81613c62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cdf82613737565b9150613cea83613737565b9250828201905080821115613d0257613d01613ca5565b5b92915050565b7f546f74616c2073656c6c206665652063616e6e6f74206265206869676865722060008201527f7468616e20313030250000000000000000000000000000000000000000000000602082015250565b6000613d646029836135f5565b9150613d6f82613d08565b604082019050919050565b60006020820190508181036000830152613d9381613d57565b9050919050565b6000606082019050613daf60008301866137e3565b613dbc60208301856137e3565b613dc960408301846137e3565b949350505050565b7f546f74616c20627579206665652063616e6e6f7420626520686967686572207460008201527f68616e2031303025000000000000000000000000000000000000000000000000602082015250565b6000613e2d6028836135f5565b9150613e3882613dd1565b604082019050919050565b60006020820190508181036000830152613e5c81613e20565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e30312520746f74616c20737570706c792e000000000000000000000000602082015250565b6000613ebf6034836135f5565b9150613eca82613e63565b604082019050919050565b60006020820190508181036000830152613eee81613eb2565b9050919050565b7f6d6178696d756d20616d6f756e742063616e742062652068696768657220746860008201527f616e206d696e696d756d00000000000000000000000000000000000000000000602082015250565b6000613f51602a836135f5565b9150613f5c82613ef5565b604082019050919050565b60006020820190508181036000830152613f8081613f44565b9050919050565b6000613f9282613737565b9150613f9d83613737565b9250828202613fab81613737565b91508282048414831517613fc257613fc1613ca5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061400382613737565b915061400e83613737565b92508261401e5761401d613fc9565b5b828204905092915050565b7f546f74616c207472616e73666572206665652063616e6e6f742062652068696760008201527f686572207468616e203130302500000000000000000000000000000000000000602082015250565b6000614085602d836135f5565b915061409082614029565b604082019050919050565b600060208201905081810360008301526140b481614078565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006141176025836135f5565b9150614122826140bb565b604082019050919050565b600060208201905081810360008301526141468161410a565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b60006141a96024836135f5565b91506141b48261414d565b604082019050919050565b600060208201905081810360008301526141d88161419c565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b600061423b6039836135f5565b9150614246826141df565b604082019050919050565b6000602082019050818103600083015261426a8161422e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006142cd6026836135f5565b91506142d882614271565b604082019050919050565b600060208201905081810360008301526142fc816142c0565b9050919050565b7f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e3225600082015250565b60006143396020836135f5565b915061434482614303565b602082019050919050565b600060208201905081810360008301526143688161432c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006143cb6024836135f5565b91506143d68261436f565b604082019050919050565b600060208201905081810360008301526143fa816143be565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061445d6022836135f5565b915061446882614401565b604082019050919050565b6000602082019050818103600083015261448c81614450565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006144ef6025836135f5565b91506144fa82614493565b604082019050919050565b6000602082019050818103600083015261451e816144e2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006145816023836135f5565b915061458c82614525565b604082019050919050565b600060208201905081810360008301526145b081614574565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b60006146136022836135f5565b915061461e826145b7565b604082019050919050565b6000602082019050818103600083015261464281614606565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b60006146a56026836135f5565b91506146b082614649565b604082019050919050565b600060208201905081810360008301526146d481614698565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006147116013836135f5565b915061471c826146db565b602082019050919050565b6000602082019050818103600083015261474081614704565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b60006147a36027836135f5565b91506147ae82614747565b604082019050919050565b600060208201905081810360008301526147d281614796565b9050919050565b60006147e482613737565b91506147ef83613737565b925082820390508181111561480757614806613ca5565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006148696026836135f5565b91506148748261480d565b604082019050919050565b600060208201905081810360008301526148988161485c565b9050919050565b600081905092915050565b50565b60006148ba60008361489f565b91506148c5826148aa565b600082019050919050565b60006148db826148ad565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506149528161370b565b92915050565b60006020828403121561496e5761496d613706565b5b600061497c84828501614943565b91505092915050565b6000819050919050565b6000819050919050565b60006149b46149af6149aa84614985565b61498f565b613737565b9050919050565b6149c481614999565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6149ff816136bc565b82525050565b6000614a1183836149f6565b60208301905092915050565b6000602082019050919050565b6000614a35826149ca565b614a3f81856149d5565b9350614a4a836149e6565b8060005b83811015614a7b578151614a628882614a05565b9750614a6d83614a1d565b925050600181019050614a4e565b5085935050505092915050565b600060a082019050614a9d60008301886137e3565b614aaa60208301876149bb565b8181036040830152614abc8186614a2a565b9050614acb60608301856136ce565b614ad860808301846137e3565b969550505050505056fea2646970667358221220f5ed5c826bead8f1d5ae31a1cdf61648e9861f9e25f7fe5b11d29f569624dd9b64736f6c63430008130033