[ { "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": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rawAmount", "type": "uint256" } ], "name": "UserLobby", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rawAmount", "type": "uint256" } ], "name": "UserLobbyCollect", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rawAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "duration", "type": "uint256" } ], "name": "UserStake", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rawAmount", "type": "uint256" } ], "name": "UserStakeCollect", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "day", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "day_lobby_entry", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "stakeId", "type": "uint256" } ], "name": "stake_lend", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "stakeId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "stake_loan", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rawAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "duration", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "stakeId", "type": "uint256" } ], "name": "stake_loan_request", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "price", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rawAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "stakeId", "type": "uint256" } ], "name": "stake_sell_request", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "stakeId", "type": "uint256" } ], "name": "EndStake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "referrerAddr", "type": "address" } ], "name": "EnterLobby", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "stakingDays", "type": "uint256" } ], "name": "EnterStake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "targetDay", "type": "uint256" } ], "name": "ExitLobby", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "LAUNCH_TIME", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "LoanedFunds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_clcDay", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "uint256", "name": "_Day", "type": "uint256" } ], "name": "_clcTokenValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_updateDaily", "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sellerAddress", "type": "address" }, { "internalType": "uint256", "name": "stakeId", "type": "uint256" } ], "name": "buyStakeRequest", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "endDay", "type": "uint256" }, { "internalType": "uint256", "name": "startDay", "type": "uint256" }, { "internalType": "uint256", "name": "StakeAmount", "type": "uint256" } ], "name": "calcBonusToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "uint256", "name": "_stakeId", "type": "uint256" } ], "name": "calcStakeCollecting", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "calcStakeCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "stakeId", "type": "uint256" } ], "name": "cancelStakeLoanRequest", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "clcLenderStakeId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "stakeId", "type": "uint256" }, { "internalType": "uint256", "name": "lenderStakeId", "type": "uint256" } ], "name": "collectLendReturn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "dayBNBPool", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "daysActiveInStakeTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "daysActiveInStakeTokensDecrase", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "daysActiveInStakeTokensIncrese", "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": [], "name": "defaultLobby", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devShareOfStakeSellsAndLoanFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "do_changeMarketingAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "enterytokenMath", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "firstDayFlushed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "flushFirstDayLobbyEntry", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "flushFirstDayLobbyEntrySwitch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "flushdevShareOfStakeSells", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "stakeId", "type": "uint256" }, { "internalType": "uint256", "name": "loanAmount", "type": "uint256" }, { "internalType": "uint256", "name": "returnAmount", "type": "uint256" }, { "internalType": "uint256", "name": "loanDuration", "type": "uint256" } ], "name": "getLoanOnStake", "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": [], "name": "launch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "launched", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "loanerAddress", "type": "address" }, { "internalType": "uint256", "name": "stakeId", "type": "uint256" } ], "name": "lendOnStake", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "lendersPaidAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "loaningIsPaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "lobbyEntry", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mapLenderInfo", "outputs": [ { "internalType": "address", "name": "lenderAddress", "type": "address" }, { "internalType": "address", "name": "loanerAddress", "type": "address" }, { "internalType": "uint256", "name": "stakeId", "type": "uint256" }, { "internalType": "uint256", "name": "loanAmount", "type": "uint256" }, { "internalType": "uint256", "name": "returnAmount", "type": "uint256" }, { "internalType": "uint256", "name": "endDay", "type": "uint256" }, { "internalType": "bool", "name": "loanIsPaid", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mapMemberLobby", "outputs": [ { "internalType": "uint256", "name": "memberLobbyValue", "type": "uint256" }, { "internalType": "bool", "name": "hasCollected", "type": "bool" }, { "internalType": "address", "name": "referrer", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "mapMemberLobby_overallData", "outputs": [ { "internalType": "uint256", "name": "overall_collectedTokens", "type": "uint256" }, { "internalType": "uint256", "name": "overall_lobbyEnteries", "type": "uint256" }, { "internalType": "uint256", "name": "overall_stakedTokens", "type": "uint256" }, { "internalType": "uint256", "name": "overall_collectedDivs", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mapMemberStake", "outputs": [ { "internalType": "address", "name": "userAddress", "type": "address" }, { "internalType": "uint256", "name": "tokenValue", "type": "uint256" }, { "internalType": "uint256", "name": "startDay", "type": "uint256" }, { "internalType": "uint256", "name": "endDay", "type": "uint256" }, { "internalType": "uint256", "name": "stakeId", "type": "uint256" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint256", "name": "loansReturnAmount", "type": "uint256" }, { "internalType": "bool", "name": "stakeCollected", "type": "bool" }, { "internalType": "bool", "name": "stake_hasSold", "type": "bool" }, { "internalType": "bool", "name": "stake_forSell", "type": "bool" }, { "internalType": "bool", "name": "stake_hasLoan", "type": "bool" }, { "internalType": "bool", "name": "stake_forLoan", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mapRequestingLoans", "outputs": [ { "internalType": "address", "name": "loanerAddress", "type": "address" }, { "internalType": "address", "name": "lenderAddress", "type": "address" }, { "internalType": "uint256", "name": "stakeId", "type": "uint256" }, { "internalType": "uint256", "name": "loanAmount", "type": "uint256" }, { "internalType": "uint256", "name": "returnAmount", "type": "uint256" }, { "internalType": "uint256", "name": "duration", "type": "uint256" }, { "internalType": "uint256", "name": "lend_startDay", "type": "uint256" }, { "internalType": "uint256", "name": "lend_endDay", "type": "uint256" }, { "internalType": "bool", "name": "hasLoan", "type": "bool" }, { "internalType": "bool", "name": "loanIsPaid", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "overall_collectedBonusTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "overall_collectedDivs", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "overall_collectedTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "overall_lobbyEntry", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "overall_stakedTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "referrerBonusesPaid", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "saveTotalToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "stakeId", "type": "uint256" }, { "internalType": "uint256", "name": "price", "type": "uint256" } ], "name": "sellStakeRequest", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "soldStakeFunds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "stakeSellingIsPaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "switchLoaningStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "switchStakeSellingStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_day", "type": "uint256" } ], "name": "tokenForDay", "outputs": [ { "internalType": "uint256", "name": "value_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalLoanedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalLoanedCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "totalStakeTradeAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalStakesSold", "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": "uint256", "name": "", "type": "uint256" } ], "name": "totalTokensInActiveStake", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalTradeAmount", "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": [], "name": "usersCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "usersCountDaily", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawLoanedFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawSoldStakeFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60c060405260086080819052671055905613185b9960c21b60a09081526200002b916004919062000286565b506040805180820190915260048082526314d1515160e21b6020909201918252620000599160059162000286565b50600780546001600160a01b031990811673af83e4af087476658138208ddf11146ba6ee32b5179091556008805460ff60b01b1961ffff60a01b1991909316737dde3d57f09411e2e3262f3e24ae5e33795d14211716600160a81b1791909116600160b01b1790556000601155348015620000d357600080fd5b506001600055620000ed620000e762000134565b62000138565b62000104336a027b46536c66c8e30000006200018a565b6200012162ed4e00426200026c60201b620037be1790919060201c565b601955601b805460ff19169055620003ce565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001bc5760405162461bcd60e51b8152600401620001b3906200032c565b60405180910390fd5b620001ca6000838362000281565b8060036000828254620001de91906200036c565b90915550506001600160a01b038216600090815260016020526040812080548392906200020d9084906200036c565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200025290859062000363565b60405180910390a3620002686000838362000281565b5050565b60006200027a82846200036c565b9392505050565b505050565b828054620002949062000391565b90600052602060002090601f016020900481019282620002b8576000855562000303565b82601f10620002d357805160ff191683800117855562000303565b8280016001018555821562000303579182015b8281111562000303578251825591602001919060010190620002e6565b506200031192915062000315565b5090565b5b8082111562000311576000815560010162000316565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b600082198211156200038c57634e487b7160e01b81526011600452602481fd5b500190565b600281046001821680620003a657607f821691505b60208210811415620003c857634e487b7160e01b600052602260045260246000fd5b50919050565b614ed880620003de6000396000f3fe6080604052600436106104525760003560e01c8063819bd33c1161023f578063b3e6efac11610139578063e057b61b116100b6578063f35a61c91161007a578063f35a61c914610c71578063f44a4d5614610c91578063f63d783114610cb1578063f8591b2d14610cd1578063ff4fabfa14610ce657610452565b8063e057b61b14610be7578063e5c2e9db14610c07578063e686b99414610c1c578063e95b385b14610c3c578063f2fde38b14610c5157610452565b8063dc1a448c116100fd578063dc1a448c14610b52578063dc39fabd14610b67578063dd01c17c14610b87578063dd55127314610ba7578063dd62ed3e14610bc757610452565b8063b3e6efac14610ab0578063b4eb861314610ae8578063b76c934114610b08578063c7255ccd14610b28578063ccff616814610b3d57610452565b806399f72f45116101c7578063a88a00251161018b578063a88a002514610a10578063a9059cbb14610a30578063a9e1506a14610a50578063acccdef714610a70578063ad9713d714610a9057610452565b806399f72f451461099c5780639cccbd6c146109b15780639dbac833146109c6578063a41d1770146109db578063a457c2d7146109f057610452565b80638da5cb5b1161020e5780638da5cb5b146109285780639199cc2c1461094a57806391dbf26a1461095f57806394dc5fba1461097457806395d89b411461098757610452565b8063819bd33c1461089557806382cf058e146108aa57806384f61fa4146108e05780638a80f1a3146108f557610452565b80633c3d62af1161035057806356a46040116102d85780636ba13a821161029c5780636ba13a821461082357806370a0823114610838578063715018a6146108585780637bdece691461086d5780638091f3bf1461088057610452565b806356a46040146107a6578063572db2c8146107bb5780635b8e8c64146107db5780635ea2e458146107ee5780636822ce861461080357610452565b80634a74740c1161031f5780634a74740c146107175780634b9feb0c1461072c5780634f1b88ae1461075c5780634f7eb9091461077157806352b86b3a1461078657610452565b80633c3d62af1461069e5780633da083ab146106be57806340a6f1ab146106d35780634367815d146106e857610452565b8063102392d1116103de57806326928eba116103a257806326928eba146106075780632b4dfe8c14610627578063313ce5671461063c57806338c0f4b61461065e578063395093511461067e57610452565b8063102392d11461057257806316b8a3571461059257806318160ddd146105b257806320fc32d7146105c757806323b872dd146105e757610452565b8063058cc74b11610425578063058cc74b146104ce57806306fdde03146104ee5780630728316614610510578063095ea7b3146105305780630ba5ded61461055d57610452565b806301339c211461045757806301c8d3a81461046e578063022466b5146104a457806304b971cf146104b9575b600080fd5b34801561046357600080fd5b5061046c610d06565b005b34801561047a57600080fd5b5061048e6104893660046141a1565b610d90565b60405161049b9190614d59565b60405180910390f35b3480156104b057600080fd5b5061048e610da2565b3480156104c557600080fd5b5061048e610da8565b3480156104da57600080fd5b5061046c6104e93660046141a1565b610db7565b3480156104fa57600080fd5b50610503610e13565b60405161049b919061436b565b34801561051c57600080fd5b5061048e61052b3660046141a1565b610ea5565b34801561053c57600080fd5b5061055061054b366004614178565b610eb7565b60405161049b9190614360565b34801561056957600080fd5b5061046c610ed9565b34801561057e57600080fd5b5061048e61058d3660046140f1565b610f76565b34801561059e57600080fd5b5061048e6105ad3660046140f1565b610fd1565b3480156105be57600080fd5b5061048e610fe3565b3480156105d357600080fd5b5061046c6105e23660046140f1565b610fe9565b3480156105f357600080fd5b5061055061060236600461413d565b61104a565b34801561061357600080fd5b5061048e6106223660046141a1565b611078565b34801561063357600080fd5b5061048e6110fa565b34801561064857600080fd5b50610651611100565b60405161049b9190614dc0565b34801561066a57600080fd5b5061048e6106793660046141a1565b611105565b34801561068a57600080fd5b50610550610699366004614178565b611117565b3480156106aa57600080fd5b5061046c6106b93660046141b9565b611143565b3480156106ca57600080fd5b5061055061117a565b3480156106df57600080fd5b5061048e61118a565b3480156106f457600080fd5b50610708610703366004614178565b611190565b60405161049b93929190614d62565b34801561072357600080fd5b5061046c6111c7565b34801561073857600080fd5b5061074c6107473660046140f1565b61125b565b60405161049b9493929190614da5565b34801561076857600080fd5b5061048e611282565b34801561077d57600080fd5b50610550611288565b34801561079257600080fd5b5061046c6107a13660046141b9565b611298565b3480156107b257600080fd5b5061046c611569565b3480156107c757600080fd5b5061048e6107d63660046141a1565b611626565b61046c6107e9366004614178565b611638565b3480156107fa57600080fd5b5061048e611d14565b34801561080f57600080fd5b5061048e61081e3660046140f1565b611d1a565b34801561082f57600080fd5b5061048e611d2c565b34801561084457600080fd5b5061048e6108533660046140f1565b611d32565b34801561086457600080fd5b5061046c611d4d565b61046c61087b366004614178565b611d98565b34801561088c57600080fd5b506105506121f3565b3480156108a157600080fd5b5061048e6121fc565b3480156108b657600080fd5b506108ca6108c5366004614178565b612202565b60405161049b9a9998979695949392919061428e565b3480156108ec57600080fd5b5061046c612270565b34801561090157600080fd5b50610915610910366004614178565b6122fe565b60405161049b9796959493929190614250565b34801561093457600080fd5b5061093d612355565b60405161049b919061423c565b34801561095657600080fd5b50610550612364565b34801561096b57600080fd5b5061048e612374565b61046c6109823660046140f1565b612397565b34801561099357600080fd5b506105036125aa565b3480156109a857600080fd5b5061046c6125b9565b3480156109bd57600080fd5b5061048e61260d565b3480156109d257600080fd5b5061048e612613565b3480156109e757600080fd5b5061048e612619565b3480156109fc57600080fd5b50610550610a0b366004614178565b61261f565b348015610a1c57600080fd5b5061046c610a2b3660046141a1565b612667565b348015610a3c57600080fd5b50610550610a4b366004614178565b612802565b348015610a5c57600080fd5b5061048e610a6b366004614178565b61281a565b348015610a7c57600080fd5b5061048e610a8b3660046141a1565b6128ac565b348015610a9c57600080fd5b5061048e610aab3660046140f1565b6128be565b348015610abc57600080fd5b50610ad0610acb366004614178565b6128d0565b60405161049b9c9b9a999897969594939291906142e3565b348015610af457600080fd5b5061046c610b033660046141a1565b612953565b348015610b1457600080fd5b5061048e610b233660046141a1565b612c5a565b348015610b3457600080fd5b5061046c612c6c565b348015610b4957600080fd5b5061048e612d8b565b348015610b5e57600080fd5b5061046c612d91565b348015610b7357600080fd5b5061048e610b823660046140f1565b612e1f565b348015610b9357600080fd5b5061048e610ba23660046140f1565b612e31565b348015610bb357600080fd5b5061046c610bc23660046141b9565b612e43565b348015610bd357600080fd5b5061048e610be236600461410b565b613058565b348015610bf357600080fd5b5061046c610c02366004614205565b613083565b348015610c1357600080fd5b5061048e613339565b348015610c2857600080fd5b5061048e610c37366004614178565b61333f565b348015610c4857600080fd5b5061046c613417565b348015610c5d57600080fd5b5061046c610c6c3660046140f1565b6135e6565b348015610c7d57600080fd5b5061048e610c8c3660046141a1565b613657565b348015610c9d57600080fd5b5061048e610cac3660046141a1565b613669565b348015610cbd57600080fd5b5061048e610ccc3660046140f1565b61367b565b348015610cdd57600080fd5b5061048e6136cd565b348015610cf257600080fd5b5061048e610d013660046141da565b6136d3565b610d0e6137ca565b6001600160a01b0316610d1f612355565b6001600160a01b031614610d4e5760405162461bcd60e51b8152600401610d4590614a04565b60405180910390fd5b601b5460ff1615610d715760405162461bcd60e51b8152600401610d45906149ab565b610d7e42620151806137ce565b601955601b805460ff19166001179055565b60166020526000908152604090205481565b60195481565b6a027b46536c66c8e300000081565b3360009081526015602090815260408083208484529091529020600701546301000000900460ff1615610de957600080fd5b33600090815260156020908152604080832093835292905220600701805464ff0000000019169055565b606060048054610e2290614e3c565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4e90614e3c565b8015610e9b5780601f10610e7057610100808354040283529160200191610e9b565b820191906000526020600020905b815481529060010190602001808311610e7e57829003601f168201915b5050505050905090565b60106020526000908152604090205481565b600080610ec26137ca565b9050610ecf8185856137da565b5060019392505050565b60026000541415610efc5760405162461bcd60e51b8152600401610d4590614bc7565b6002600090815533815260246020526040902054610f2c5760405162461bcd60e51b8152600401610d45906147ae565b33600081815260246020526040808220805490839055905190929183156108fc02918491818181858888f19350505050158015610f6d573d6000803e3d6000fd5b50506001600055565b600080805b6001600160a01b0380851660008181526028602090815260408083208684529091529020549091161415610fc857610fb4600183614dce565b915080610fc081614e71565b915050610f7b565b5090505b919050565b60226020526000908152604090205481565b60035490565b610ff16137ca565b6001600160a01b0316611002612355565b6001600160a01b0316146110285760405162461bcd60e51b8152600401610d4590614a04565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000806110556137ca565b905061106285828561388e565b61106d8585856138d8565b506001949350505050565b6000600182101561108b57506000610fcc565b611096600183614e25565b915061012c8211156110a85761012c91505b506a027b46536c66c8e300000060005b828110156110f4576110e06110d960646110d38560026139fc565b90613a08565b83906137be565b9150806110ec81614e71565b9150506110b8565b50919050565b60125481565b601290565b60146020526000908152604090205481565b6000806111226137ca565b9050610ecf8185856111348589613058565b61113e9190614dce565b6137da565b33600081815260286020908152604080832086845290915290206001015461117691906001600160a01b03168385613a14565b5050565b600854600160a81b900460ff1681565b60215481565b60136020908152600092835260408084209091529082529020805460019091015460ff81169061010090046001600160a01b031683565b600260005414156111ea5760405162461bcd60e51b8152600401610d4590614bc7565b600260009081553381526022602052604090205461121a5760405162461bcd60e51b8152600401610d45906147ae565b33600081815260226020526040808220805490839055905190929183156108fc02918491818181858888f19350505050158015610f6d573d6000803e3d6000fd5b60096020526000908152604090208054600182015460028301546003909301549192909184565b600d5481565b600854600160b01b900460ff1681565b60018110156112b95760405162461bcd60e51b8152600401610d4590614c4d565b61012c8111156112db5760405162461bcd60e51b8152600401610d4590614b81565b600082116112fb5760405162461bcd60e51b8152600401610d4590614d22565b8161130533611d32565b10156113235760405162461bcd60e51b8152600401610d45906148fc565b61132b613417565b60006113363361367b565b905082600b600082825461134a9190614dce565b90915550503360009081526009602052604081206002018054859290611371908490614dce565b909155505033600081815260156020908152604080832085845290915290206004810183905580546001600160a01b03191690911781556001908101849055601a546113bc91614dce565b336000908152601560209081526040808320858452909152902060020155601a5482906113ea906001614dce565b6113f49190614dce565b336000908152601560209081526040808320858452909152812060038101929092556007909101805464ffffffffff19169055601a54611435906001614dce565b90505b82601a546114469190614dce565b8111611482576000818152601e60205260408120805486929061146a908490614dce565b9091555081905061147a81614e71565b915050611438565b5082601260008282546114959190614dce565b925050819055508260176000601a5460016114b09190614dce565b815260200190815260200160002060008282546114cd9190614dce565b92505081905550826018600084601a546114e79190614dce565b6114f2906001614dce565b8152602001908152602001600020600082825461150f9190614dce565b9091555061151f90503384613c83565b336001600160a01b03167f445b6299c386d845a282565eba224a183ae1062133e1b062b35d93f855fd59bd42858560405161155c93929190614d8f565b60405180910390a2505050565b6115716137ca565b6001600160a01b0316611582612355565b6001600160a01b0316146115a85760405162461bcd60e51b8152600401610d4590614a04565b600260005414156115cb5760405162461bcd60e51b8152600401610d4590614bc7565b6002600055601f546115dc57600080fd5b600754601f546040516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015611618573d6000803e3d6000fd5b506000601f81905560019055565b601d6020526000908152604090205481565b6002600054141561165b5760405162461bcd60e51b8152600401610d4590614bc7565b6002600055611668613417565b600854600160a81b900460ff16156116925760405162461bcd60e51b8152600401610d4590614426565b6001600160a01b038281166000908152601560209081526040808320858452909152902054163314156116d75760405162461bcd60e51b8152600401610d4590614928565b6001600160a01b03821660009081526015602090815260408083208484529091529020600701546301000000900460ff16156117255760405162461bcd60e51b8152600401610d45906144d6565b6001600160a01b0382166000908152601560209081526040808320848452909152902060070154640100000000900460ff1615156001146117785760405162461bcd60e51b8152600401610d459061451b565b6001600160a01b0382166000908152601560209081526040808320848452909152902060070154610100900460ff16156117c45760405162461bcd60e51b8152600401610d459061494e565b601a546001600160a01b03831660009081526015602090815260408083208584529091529020600301541161180b5760405162461bcd60e51b8152600401610d459061466d565b6001600160a01b0382166000908152602760209081526040808320848452909152902060038101546004909101543480831461184657600080fd5b60006064611855836002614e06565b61185f9190614de6565b905061186c600282614de6565b601f600082825461187d9190614dce565b9091555061188e9050600282614de6565b601a54600090815260146020526040812080549091906118af908490614dce565b90915550506001600160a01b0386166000908152601560209081526040808320888452909152812060060180548592906118ea908490614dce565b90915550506001600160a01b038616600081815260156020908152604080832089845282528083206007018054630100000063ff000000199091161764ff00000000191690559282526027815282822088835290522060088101805460ff1916600190811761ff0019169091559081018054336001600160a01b0319909116179055601a5461197891614dce565b6001600160a01b03871660009081526027602090815260408083208984529091529020600681019190915560050154601a546119b5906001614dce565b6119bf9190614dce565b6001600160a01b03871660009081526027602090815260408083208984529091528120600701919091556119f233610f76565b90503360286000336001600160a01b03166001600160a01b03168152602001908152602001600020600083815260200190815260200160002060000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508660286000336001600160a01b03166001600160a01b03168152602001908152602001600020600083815260200190815260200160002060010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060286000336001600160a01b03166001600160a01b031681526020019081526020016000206000838152602001908152602001600020600201819055508460286000336001600160a01b03166001600160a01b031681526020019081526020016000206000838152602001908152602001600020600301819055508360286000336001600160a01b03166001600160a01b0316815260200190815260200160002060008381526020019081526020016000206004018190555060276000886001600160a01b03166001600160a01b0316815260200190815260200160002060008781526020019081526020016000206007015460286000336001600160a01b03166001600160a01b031681526020019081526020016000206000838152602001908152602001600020600501819055506064836062611bf09190614e06565b611bfa9190614de6565b6001600160a01b03881660009081526024602052604081208054909190611c22908490614dce565b9091555060649050611c35846062614e06565b611c3f9190614de6565b60256000828254611c509190614dce565b92505081905550600160266000828254611c6a9190614dce565b909155505060405133907fa1d7e6351c3018260491f1a7c79ec587a8bcb17f22837129796e5b9b68ffc99c90611ca39042908590614d81565b60405180910390a26001600160a01b0387167f35e406ae26528ade05071c3bedba4a003689d4aa01e29218ccfa00635b07ea1e42886064611ce5886062614e06565b611cef9190614de6565b604051611cfe93929190614d8f565b60405180910390a2505060016000555050505050565b600e5481565b60236020526000908152604090205481565b60115481565b6001600160a01b031660009081526001602052604090205490565b611d556137ca565b6001600160a01b0316611d66612355565b6001600160a01b031614611d8c5760405162461bcd60e51b8152600401610d4590614a04565b611d966000613d75565b565b611da0613417565b600854600160b01b900460ff1615611dca5760405162461bcd60e51b8152600401610d4590614426565b6001600160a01b03828116600090815260156020908152604080832085845290915290205416331415611e0f5760405162461bcd60e51b8152600401610d4590614401565b6001600160a01b03808316600081815260156020908152604080832086845290915290205490911614611e545760405162461bcd60e51b8152600401610d4590614789565b6001600160a01b0382166000908152601560209081526040808320848452909152902060070154610100900460ff1615611ea05760405162461bcd60e51b8152600401610d45906148c5565b6001600160a01b038216600090815260156020908152604080832084845290915290206007015462010000900460ff161515600114611ef15760405162461bcd60e51b8152600401610d4590614813565b6001600160a01b038216600090815260156020908152604080832084845290915290206005015434908114611f385760405162461bcd60e51b8152600401610d4590614b57565b601a546001600160a01b038416600090815260156020908152604080832086845290915290206003015411611f6c57600080fd5b6001600160a01b0383166000908152601560209081526040808320858452909152902060050154606490611fa1906008614e06565b611fab9190614de6565b601a5460009081526014602052604081208054909190611fcc908490614dce565b90915550506001600160a01b0383166000908152601560209081526040808320858452909152902060050154606490612006906002614e06565b6120109190614de6565b601f60008282546120219190614dce565b90915550506001600160a01b038316600090815260156020908152604080832085845290915290206005015460649061205b90605a614e06565b6120659190614de6565b6001600160a01b0384166000908152602260205260408120805490919061208d908490614dce565b90915550506001600160a01b03831660009081526015602090815260408083208584528252808320600701805462ff00ff1961ff0019909116610100171660011790553383526023909152812080543492906120ea908490614dce565b90915550506001600160a01b03831660009081526023602052604081208054349290612117908490614dce565b925050819055506001602060008282546121319190614dce565b92505081905550346021600082825461214a9190614dce565b909155506000905061215b3361367b565b33600081815260156020818152604080842086855280835281852080546001600160a01b03191690961786556001600160a01b039a909a1684529181528183209783529687528120600181810154908401556002808201549084015560038082015490840155600690810154908301556004820183905560078201805464ffffffffff19169055918252949093525050600590910155565b601b5460ff1681565b60255481565b60276020908152600092835260408084209091529082529020805460018201546002830154600384015460048501546005860154600687015460078801546008909801546001600160a01b039788169897909616969495939492939192909160ff808216916101009004168a565b6122786137ca565b6001600160a01b0316612289612355565b6001600160a01b0316146122af5760405162461bcd60e51b8152600401610d4590614a04565b600854600160a81b900460ff161515600114156122d8576008805460ff60a81b19169055611d96565b600854600160a81b900460ff16611d96576008805460ff60a81b1916600160a81b179055565b602860209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460058601546006909601546001600160a01b0395861696959094169492939192909160ff1687565b6006546001600160a01b031690565b600854600160a01b900460ff1681565b600062015180601954426123889190614e25565b6123929190614de6565b905090565b34806123b55760405162461bcd60e51b8152600401610d4590614588565b6123bd613417565b6000601a54116123cc57600080fd5b336000908152601360209081526040808320601a54845290915290205461242557601180549060006123fd83614e71565b9091555050601a54600090815260106020526040812080549161241f83614e71565b91905055505b3360009081526009602052604081206001018054839290612447908490614dce565b9091555050601a546000908152601460205260408120805483929061246d908490614dce565b9250508190555080600a60008282546124869190614dce565b9091555050336000908152601360209081526040808320601a548452909152812080548392906124b7908490614dce565b9091555050336000818152601360209081526040808320601a5484529091529020600101805460ff191690556001600160a01b0383161461253457336000908152601360209081526040808320601a54845290915290206001018054610100600160a81b0319166101006001600160a01b03851602179055612563565b336000908152601360209081526040808320601a54845290915290206001018054610100600160a81b03191690555b336001600160a01b03167fb17fec0248343fcec3fcfed050f3d842badb669fb408da2b1022411a1db3b52a428360405161259e929190614d81565b60405180910390a25050565b606060058054610e2290614e3c565b6125c16137ca565b6001600160a01b03166125d2612355565b6001600160a01b0316146125f85760405162461bcd60e51b8152600401610d4590614a04565b6008805460ff60a01b1916600160a01b179055565b601f5481565b60265481565b600a5481565b60008061262a6137ca565b905060006126388286613058565b90508381101561265a5760405162461bcd60e51b8152600401610d4590614ca6565b61106d82868684036137da565b33600090815260136020908152604080832084845290915290206001015460ff16156126a55760405162461bcd60e51b8152600401610d4590614895565b6126ad613417565b601a5481106126bb57600080fd5b60006126c7338361281a565b90506126d33382613dc7565b33600090815260136020908152604080832085845290915281206001908101805460ff19169091179055600c805483929061270f908490614dce565b90915550503360009081526009602052604081208054839290612733908490614dce565b909155505033600090815260136020908152604080832085845290915290206001015461010090046001600160a01b031680156127c7576000612777601484614de6565b90506127838282613dc7565b6001600160a01b0382166000908152600f6020526040812080548392906127ab908490614dce565b909155506127c59050336127c0606486614de6565b613dc7565b505b336001600160a01b03167f0342b204107bd5f155bcac32684108ef5e21b9a75ef9c3e4ab58af0a803541c7428460405161155c929190614d81565b60008061280d6137ca565b9050610ecf8185856138d8565b6000816128395760405162461bcd60e51b8152600401610d4590614a7a565b6000821580159061284b5750601a5483105b156128a1576001600160a01b038416600090815260136020908152604080832086845282528083205460149092529091205461288685611078565b6128909190614de6565b61289a9190614e06565b90506128a5565b5060005b9392505050565b60186020526000908152604090205481565b60296020526000908152604090205481565b6015602090815260009283526040808420909152908252902080546001820154600283015460038401546004850154600586015460068701546007909701546001600160a01b03909616969495939492939192909160ff80821691610100810482169162010000820481169163010000008104821691640100000000909104168c565b600260005414156129765760405162461bcd60e51b8152600401610d4590614bc7565b60026000908155601a543382526015602090815260408084208585529091529091206003015411156129ba5760405162461bcd60e51b8152600401610d4590614adc565b3360008181526015602090815260408083208584529091529020546001600160a01b0316146129fb5760405162461bcd60e51b8152600401610d4590614560565b33600090815260156020908152604080832084845290915290206007015460ff1615612a395760405162461bcd60e51b8152600401610d45906146e5565b3360009081526015602090815260408083208484529091529020600701546301000000900460ff1615612a7e5760405162461bcd60e51b8152600401610d4590614c84565b336000908152601560209081526040808320848452909152902060070154610100900460ff1615612ac15760405162461bcd60e51b8152600401610d45906149e2565b612ac9613417565b3360008181526015602090815260408083208584529091528120600701805464ff00ff00001916905590612afd908361333f565b905080600d6000828254612b119190614dce565b90915550503360009081526009602052604081206003018054839290612b38908490614dce565b9091555050336000818152601560209081526040808320868452909152808220600701805460ff191660011790555183156108fc0291849190818181858888f19350505050158015612b8e573d6000803e3d6000fd5b503360009081526015602090815260408083208584529091529020600101548015612c0d5733600090815260156020908152604080832086845290915281206003810154600290910154612be39190846136d3565b905080600e6000828254612bf79190614dce565b90915550612c0b9050336127c08385614dce565b505b336001600160a01b03167f5ffbd1037694a52d6352809bde959f6569c40210070217cb3b42f1b85f3ed7824284604051612c48929190614d81565b60405180910390a25050600160005550565b60176020526000908152604090205481565b612c746137ca565b6001600160a01b0316612c85612355565b6001600160a01b031614612cab5760405162461bcd60e51b8152600401610d4590614a04565b60026000541415612cce5760405162461bcd60e51b8152600401610d4590614bc7565b6002600055600854600160a01b900460ff1615612cea57600080fd5b6008805460ff60a01b1916600160a01b179055600160005260146020527fb6c61a840592cc84133e4b25bd509abf4659307c57b160799b38490a5aa48f2c54736674393a1314d9037345effe38a5c6bd90632f81906108fc90606490612d5190605d614e06565b612d5b9190614de6565b6040518115909202916000818181858888f19350505050158015612d83573d6000803e3d6000fd5b506001600055565b60205481565b612d996137ca565b6001600160a01b0316612daa612355565b6001600160a01b031614612dd05760405162461bcd60e51b8152600401610d4590614a04565b600854600160b01b900460ff16151560011415612df9576008805460ff60b01b19169055611d96565b600854600160b01b900460ff16611d96576008805460ff60b01b1916600160b01b179055565b60246020526000908152604090205481565b600f6020526000908152604090205481565b612e4b613417565b600854600160b01b900460ff1615612e755760405162461bcd60e51b8152600401610d4590614426565b3360008181526015602090815260408083208684529091529020546001600160a01b031614612eb65760405162461bcd60e51b8152600401610d4590614789565b3360009081526015602090815260408083208584529091529020600701546301000000900460ff1615612efb5760405162461bcd60e51b8152600401610d45906144d6565b336000908152601560209081526040808320858452909152902060070154610100900460ff1615612f3e5760405162461bcd60e51b8152600401610d45906148c5565b601a5433600090815260156020908152604080832086845290915290206003015411612f7c5760405162461bcd60e51b8152600401610d459061463e565b336000908152601560209081526040808320858452909152902060070154640100000000900460ff16151560011415612fb857612fb882610db7565b336000908152601560209081526040808320858452909152902060070154640100000000900460ff1615612feb57600080fd5b3360008181526015602090815260408083208684529091529081902060078101805462ff0000191662010000179055600581018490556001015490517f6c627a4a663d4c07ef3e3f7a4936fd5b42d694a3b481a2047fc5ed024102406b9161259e91429186918890614da5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61308b613417565b600854600160a81b900460ff16156130b55760405162461bcd60e51b8152600401610d4590614426565b8183106130d45760405162461bcd60e51b8152600401610d459061484a565b60048110156130f55760405162461bcd60e51b8152600401610d459061445d565b3360008181526015602090815260408083208884529091529020546001600160a01b0316146131365760405162461bcd60e51b8152600401610d4590614789565b3360009081526015602090815260408083208784529091529020600701546301000000900460ff161561317b5760405162461bcd60e51b8152600401610d45906144d6565b336000908152601560209081526040808320878452909152902060070154610100900460ff16156131be5760405162461bcd60e51b8152600401610d45906148c5565b601a543360009081526015602090815260408083208884529091529020600301546131ea908390614e25565b116131f457600080fd5b6000613200338661333f565b90508083111561320f57600080fd5b33600090815260156020908152604080832088845290915290206007015462010000900460ff161515600114156132495761324985613e8f565b33600090815260156020908152604080832088845290915290206007015462010000900460ff161561327a57600080fd5b3360008181526015602090815260408083208984528252808320600701805464ff000000001916640100000000179055838352602782528083208984529091529081902080546001600160a01b0319168317815560028101889055600381018790556004810186905560058101859055600801805461ff0019169055517f87647fcf25837d2e433ddec5e832af32b48fba70120f764d795b12fbdc9c6fc59061332a904290889087908b90614da5565b60405180910390a25050505050565b600c5481565b6001600160a01b0382166000908152601560209081526040808320848452909152812060038101546002820154600190920154839290815b83811080156133875750601a5481105b156133da576000818152601e6020908152604080832054601c909252909120546133b2908490614e06565b6133bc9190614de6565b6133c69086614dce565b9450806133d281614e71565b915050613377565b506001600160a01b038716600090815260156020908152604080832089845290915290206006015461340c9085614e25565b979650505050505050565b61341f612374565b601a54141561342d57611d96565b603c601a5410156134d1576000601a5460016134499190614dce565b90505b601a5461345a906002614e06565b81116134cb57601a5461346e906064614e06565b601a5460009081526014602052604090205461348b90605d614e06565b6134959190614de6565b6000828152601c6020526040812080549091906134b3908490614dce565b909155508190506134c381614e71565b91505061344c565b50613565565b6000601a5460016134e29190614dce565b90505b603c601a546134f49190614dce565b811161356357613506603c6064614e06565b601a5460009081526014602052604090205461352390605d614e06565b61352d9190614de6565b6000828152601c60205260408120805490919061354b908490614dce565b9091555081905061355b81614e71565b9150506134e5565b505b61356d612374565b601a55613578613f4a565b613580613ffe565b613588614079565b601a547fc60292815333c4ec77c325e27e03a1a5833ee80f17c555f255130c15b393ec9a904290601460006135be600184614e25565b8152602001908152602001600020546040516135dc93929190614d8f565b60405180910390a1565b6135ee6137ca565b6001600160a01b03166135ff612355565b6001600160a01b0316146136255760405162461bcd60e51b8152600401610d4590614a04565b6001600160a01b03811661364b5760405162461bcd60e51b8152600401610d45906145b6565b61365481613d75565b50565b601e6020526000908152604090205481565b601c6020526000908152604090205481565b600080805b6001600160a01b0380851660008181526015602090815260408083208684529091529020549091161415610fc8576136b9600183614dce565b9150806136c581614e71565b915050613680565b600b5481565b60008284116136f45760405162461bcd60e51b8152600401610d4590614752565b600083116137145760405162461bcd60e51b8152600401610d459061497c565b60006137208486614e25565b905061012c8111156137445760405162461bcd60e51b8152600401610d4590614b81565b600061374f85611078565b9050600061375c87611078565b90506000613776836110d384670de0b6b3a76400006139fc565b905061379a60646110d3607861379485670de0b6b3a76400006137ce565b906139fc565b90506137b2670de0b6b3a76400006110d388846139fc565b98975050505050505050565b60006128a58284614dce565b3390565b60006128a58284614e25565b6001600160a01b0383166138005760405162461bcd60e51b8152600401610d4590614b13565b6001600160a01b0382166138265760405162461bcd60e51b8152600401610d45906145fc565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590613881908590614d59565b60405180910390a3505050565b600061389a8484613058565b905060001981146138d257818110156138c55760405162461bcd60e51b8152600401610d45906146ae565b6138d284848484036137da565b50505050565b6001600160a01b0383166138fe5760405162461bcd60e51b8152600401610d4590614a97565b6001600160a01b0382166139245760405162461bcd60e51b8152600401610d45906143be565b61392f838383613d70565b6001600160a01b038316600090815260016020526040902054818110156139685760405162461bcd60e51b8152600401610d459061470c565b6001600160a01b0380851660009081526001602052604080822085850390559185168152908120805484929061399f908490614dce565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516139e99190614d59565b60405180910390a36138d2848484613d70565b60006128a58284614e06565b60006128a58284614de6565b60026000541415613a375760405162461bcd60e51b8152600401610d4590614bc7565b6002600055613a44613417565b6001600160a01b03831660009081526015602090815260408083208484529091529020600701546301000000900460ff161515600114613a965760405162461bcd60e51b8152600401610d4590614bfe565b6001600160a01b0383166000908152602760209081526040808320848452909152902060070154601a541015613ade5760405162461bcd60e51b8152600401610d45906147dc565b6001600160a01b038416600090815260286020908152604080832085845290915290206006015460ff1615613b1257600080fd5b6001600160a01b0383166000908152602760209081526040808320848452909152902060080154610100900460ff1615613b4b57600080fd5b6001600160a01b038316600090815260276020908152604080832084845290915290206008015460ff161515600114613b8357600080fd5b6001600160a01b0380841660008181526015602090815260408083208684528252808320600701805463ff00000019169055938816808352602882528483208784528252848320600601805460ff1916600117905592825260278152838220858352815283822060088101805461ffff19166101001790556004015492825260299052918220805491928392613c1a908490614dce565b90915550506001600160a01b038085166000908152602760209081526040808320868452909152808220600401829055519187169183156108fc0291849190818181858888f19350505050158015613c76573d6000803e3d6000fd5b5050600160005550505050565b6001600160a01b038216613ca95760405162461bcd60e51b8152600401610d4590614a39565b613cb582600083613d70565b6001600160a01b03821660009081526001602052604090205481811015613cee5760405162461bcd60e51b8152600401610d4590614494565b6001600160a01b0383166000908152600160205260408120838303905560038054849290613d1d908490614e25565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613d60908690614d59565b60405180910390a3613d70836000845b505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216613ded5760405162461bcd60e51b8152600401610d4590614ceb565b613df960008383613d70565b8060036000828254613e0b9190614dce565b90915550506001600160a01b03821660009081526001602052604081208054839290613e38908490614dce565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613e7b908590614d59565b60405180910390a361117660008383613d70565b3360008181526015602090815260408083208584529091529020546001600160a01b031614613ebd57600080fd5b33600090815260156020908152604080832084845290915290206007015462010000900460ff161515600114613ef257600080fd5b336000908152601560209081526040808320848452909152902060070154610100900460ff1615613f2257600080fd5b33600090815260156020908152604080832093835292905220600701805462ff000019169055565b60026000541415613f6d5760405162461bcd60e51b8152600401610d4590614bc7565b6002600055601a54613f7e57600080fd5b600060646004601460006001601a54613f979190614e25565b815260200190815260200160002054613fb09190614e06565b613fba9190614de6565b604051909150736674393a1314d9037345effe38a5c6bd90632f819082156108fc029083906000818181858888f19350505050158015610f6d573d6000803e3d6000fd5b600260005414156140215760405162461bcd60e51b8152600401610d4590614bc7565b6002600055601a5461403257600080fd5b600754601a546001600160a01b03909116906108fc9060649060029060149060009061406090600190614e25565b815260200190815260200160002054612d519190614e06565b6002600054141561409c5760405162461bcd60e51b8152600401610d4590614bc7565b6002600055601a546140ad57600080fd5b600854601a546001600160a01b03909116906108fc90606490600190601490600090614060908490614e25565b80356001600160a01b0381168114610fcc57600080fd5b600060208284031215614102578081fd5b6128a5826140da565b6000806040838503121561411d578081fd5b614126836140da565b9150614134602084016140da565b90509250929050565b600080600060608486031215614151578081fd5b61415a846140da565b9250614168602085016140da565b9150604084013590509250925092565b6000806040838503121561418a578182fd5b614193836140da565b946020939093013593505050565b6000602082840312156141b2578081fd5b5035919050565b600080604083850312156141cb578182fd5b50508035926020909101359150565b6000806000606084860312156141ee578283fd5b505081359360208301359350604090920135919050565b6000806000806080858703121561421a578081fd5b5050823594602084013594506040840135936060013592509050565b15159052565b6001600160a01b0391909116815260200190565b6001600160a01b03978816815295909616602086015260408501939093526060840191909152608083015260a082015290151560c082015260e00190565b6001600160a01b039a8b16815298909916602089015260408801969096526060870194909452608086019290925260a085015260c084015260e083015215156101008201529015156101208201526101400190565b6001600160a01b038d168152602081018c9052604081018b9052606081018a90526080810189905260a0810188905260c0810187905285151560e0820152841515610100820152831515610120820152821515610140820152610180810161434f610160830184614236565b9d9c50505050505050505050505050565b901515815260200190565b6000602080835283518082850152825b818110156143975785810183015185820160400152820161437b565b818111156143a85783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252600b908201526a6e6f2073656c662062757960a81b604082015260600190565b60208082526017908201527f66756e6374696f6e616c69747920697320706175736564000000000000000000604082015260600190565b6020808252601e908201527f6c6f77657374206c6f616e206475726174696f6e206973203420646179730000604082015260600190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526025908201527f546172676574207374616b652068617320616e20616374697665206c6f616e206040820152641bdb881a5d60da1b606082015260800190565b60208082526025908201527f546172676574207374616b65206973206e6f742072657175657374696e672061604082015264103637b0b760d91b606082015260800190565b6020808252600e908201526d34b73b30b634b21039b2b73232b960911b604082015260600190565b6020808252601490820152731154948e88105b5bdd5b9d081c995c5d5a5c995960621b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526015908201527415185c99d95d081cdd185ad9481a5cc8195b991959605a1b604082015260600190565b60208082526021908201527f546172676574207374616b65206475726174696f6e2069732066696e697368656040820152601960fa1b606082015260800190565b6020808252601d908201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604082015260600190565b6020808252600d908201526c1a185cc818dbdb1b1958dd1959609a1b604082015260600190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b6020808252601a908201527f5374616b696e673a207374617274446179203e20656e64446179000000000000604082015260600190565b6020808252600b908201526a185d5d1a0819985a5b195960aa1b604082015260600190565b6020808252601490820152734e6f2066756e647320746f20776974686472617760601b604082015260600190565b60208082526018908201527f4475652064617465206e6f742079657420726561636865640000000000000000604082015260600190565b6020808252601c908201527f546172676574207374616b65206973206e6f7420666f722073656c6c00000000604082015260600190565b6020808252602b908201527f6c6f616e2072657475726e206d75737420626520686967686572207468616e2060408201526a1b1bd85b88185b5bdd5b9d60aa1b606082015260800190565b6020808252601690820152751154948e88105b1c9958591e4818dbdb1b1958dd195960521b604082015260600190565b6020808252601a908201527f546172676574207374616b6520686173206265656e20736f6c64000000000000604082015260600190565b6020808252601290820152714e6f7420656e6f7567682062616c616e636560701b604082015260600190565b6020808252600c908201526b1b9bc81cd95b19881b195b9960a21b604082015260600190565b60208082526014908201527315185c99d95d081cdd185ad9481a5cc81cdbdb1960621b604082015260600190565b6020808252601590820152745374616b696e673a207374617274446179203c203160581b604082015260600190565b6020808252601a908201527f636f6e747261637420616c7265616479206c61756e6368656421000000000000604082015260600190565b6020808252600890820152671a185cc81cdbdb1960c21b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526003908201526222a92960e91b604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601e908201527f5374616b657320656e6420646179206e6f742072656163686564207965740000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526010908201526f6e6f7420656e6f7567682066756e647360801b604082015260600190565b60208082526026908201527f5374616b696e673a205374616b696e672064617973203e206d61785f7374616b604082015265655f6461797360d01b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252602f908201527f546172676574207374616b6520646f6573206e6f74206861766520616e20616360408201526e1d1a5d99481b1bd85b881bdb881a5d608a1b606082015260800190565b60208082526019908201527f5374616b696e673a205374616b696e672064617973203c203100000000000000604082015260600190565b6020808252600890820152673430b9903637b0b760c11b604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60208082526018908201527f5374616b696e673a20416d6f756e742072657175697265640000000000000000604082015260600190565b90815260200190565b92835290151560208301526001600160a01b0316604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b60ff91909116815260200190565b60008219821115614de157614de1614e8c565b500190565b600082614e0157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615614e2057614e20614e8c565b500290565b600082821015614e3757614e37614e8c565b500390565b600281046001821680614e5057607f821691505b602082108114156110f457634e487b7160e01b600052602260045260246000fd5b6000600019821415614e8557614e85614e8c565b5060010190565b634e487b7160e01b600052601160045260246000fdfea264697066735822122041d3595aa207e3f77efece492b7d73bf708c4700717c18cbbe6460d0c59a648d64736f6c63430008000033