Overview
ETH Balance
ETH Value
$0.00View more zero value Internal Transactions in Advanced View mode
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_whitelistAddress","type":"address"},{"indexed":false,"internalType":"bool","name":"_flag","type":"bool"}],"name":"AddedIntoWhitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_whitelistAddress","type":"address"},{"indexed":false,"internalType":"bool","name":"_flag","type":"bool"}],"name":"AddedIntoWhitelistStaker","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newProvider","type":"address"}],"name":"DefaultLiquidityProviderChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"round","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxAllowedDeposit","type":"uint256"}],"name":"MaxAllowedDepositChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"MaxAllowedUsersChanged","type":"uint256"}],"name":"MaxAllowedUsersChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minAllowedDeposit","type":"uint256"}],"name":"MinAllowedDepositChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newMastercopy","type":"address"}],"name":"PoolRoundMastercopyChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"PoolStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"round","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundPnL","type":"uint256"}],"name":"RoundClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"round","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"batchSize","type":"uint256"}],"name":"RoundClosingBatchProcessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"round","type":"uint256"}],"name":"RoundClosingPrepared","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundLength","type":"uint256"}],"name":"RoundLengthChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_round","type":"uint256"},{"indexed":false,"internalType":"address","name":"roundPool","type":"address"}],"name":"RoundPoolCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"safeBoxShare","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"safeBoxAmount","type":"uint256"}],"name":"SafeBoxSharePaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"safeBox","type":"address"},{"indexed":false,"internalType":"uint256","name":"safeBoxImpact","type":"uint256"}],"name":"SetSafeBoxParams","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_stakedThalesMultiplier","type":"uint256"}],"name":"StakedThalesMultiplierChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"stakingThales","type":"address"}],"name":"StakingThalesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"thalesAMM","type":"address"}],"name":"ThalesAMMChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"utilizationRate","type":"uint256"}],"name":"UtilizationRateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"WithdrawalRequested","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allocationPerRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"balancesPerRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canCloseCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"closeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256","name":"amountToMint","type":"uint256"}],"name":"commitTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundA","type":"uint256"},{"internalType":"uint256","name":"roundB","type":"uint256"}],"name":"cumulativePnLBetweenRounds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"cumulativeProfitAndLoss","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultLiquidityProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exerciseMarketsReadyToExercised","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"batchSize","type":"uint256"}],"name":"exerciseMarketsReadyToExercisedBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"firstRoundStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"}],"name":"getMarketPool","outputs":[{"internalType":"address","name":"roundPool","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"}],"name":"getMarketRound","outputs":[{"internalType":"uint256","name":"_round","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getMaxAvailableDepositForUser","outputs":[{"internalType":"uint256","name":"maxDepositForUser","type":"uint256"},{"internalType":"uint256","name":"availableToDepositForUser","type":"uint256"},{"internalType":"uint256","name":"stakedThalesForUser","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256","name":"optionsAmount","type":"uint256"},{"internalType":"enum IThalesAMM.Position","name":"position","type":"uint8"}],"name":"getOptionsForBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256","name":"optionsAmount","type":"uint256"},{"internalType":"address","name":"position","type":"address"}],"name":"getOptionsForBuyByAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"}],"name":"getOrCreateMarketPool","outputs":[{"internalType":"address","name":"roundPool","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_round","type":"uint256"}],"name":"getRoundEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_round","type":"uint256"}],"name":"getRoundStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUsersCountInCurrentRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hasMarketsReadyToBeExercised","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initNonReentrant","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract IThalesAMM","name":"_thalesAMM","type":"address"},{"internalType":"contract IERC20Upgradeable","name":"_sUSD","type":"address"},{"internalType":"uint256","name":"_roundLength","type":"uint256"},{"internalType":"uint256","name":"_maxAllowedDeposit","type":"uint256"},{"internalType":"uint256","name":"_minDepositAmount","type":"uint256"},{"internalType":"uint256","name":"_maxAllowedUsers","type":"uint256"},{"internalType":"bool","name":"_needsTransformingCollateral","type":"bool"}],"internalType":"struct ThalesAMMLiquidityPool.InitParams","name":"params","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"isTradingMarketInARound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserLPing","outputs":[{"internalType":"bool","name":"isUserInLP","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"marketAlreadyExercisedInRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketsProcessedInRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAllowedDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAllowedUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"needsTransformingCollateral","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"onlyWhitelistedStakersAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"share","type":"uint256"}],"name":"partialWithdrawalRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolRoundMastercopy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prepareRoundClosing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"batchSize","type":"uint256"}],"name":"processRoundClosingBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"profitAndLossPerRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"round","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"roundClosingPrepared","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"roundLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"roundPools","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sUSD","outputs":[{"internalType":"contract IERC20Upgradeable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"safeBox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"safeBoxImpact","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_defaultLiquidityProvider","type":"address"}],"name":"setDefaultLiquidityProvider","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxAllowedDeposit","type":"uint256"}],"name":"setMaxAllowedDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxAllowedUsers","type":"uint256"}],"name":"setMaxAllowedUsers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minDepositAmount","type":"uint256"}],"name":"setMinAllowedDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_setPausing","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_poolRoundMastercopy","type":"address"}],"name":"setPoolRoundMastercopy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_roundLength","type":"uint256"}],"name":"setRoundLength","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_safeBox","type":"address"},{"internalType":"uint256","name":"_safeBoxImpact","type":"uint256"}],"name":"setSafeBoxParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IStakingThales","name":"_stakingThales","type":"address"}],"name":"setStakingThales","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IThalesAMM","name":"_thalesAMM","type":"address"}],"name":"setThalesAmm","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_utilizationRate","type":"uint256"}],"name":"setUtilizationRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakedThalesMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingThales","outputs":[{"internalType":"contract IStakingThales","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"started","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thalesAMM","outputs":[{"internalType":"contract IThalesAMM","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDeposited","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"tradingMarketsPerRound","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"proxyAddress","type":"address"}],"name":"transferOwnershipAtInit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"userInRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usersCurrentlyInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"usersPerRound","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usersProcessedInRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"utilizationRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelistedDeposits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelistedStakers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawalRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"withdrawalRequested","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"withdrawalShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50614f87806100206000396000f3fe608060405234801561001057600080fd5b50600436106104805760003560e01c806378fe782d11610257578063bdcc22e911610146578063ddcc8fe9116100c3578063f475f13b11610087578063f475f13b14610a4f578063f61fcb8b14610a62578063fd8a8cc614610a82578063fdaf17f014610a95578063ff50abdc14610ab857600080fd5b8063ddcc8fe914610a1c578063e278fe6f14610a2f578063e3041fd914610a37578063ebc7977214610a3f578063ee161cce14610a4757600080fd5b8063d27c07971161010a578063d27c0797146109d1578063d69fb668146109da578063d95ad45c146109e3578063db7f92d4146109f6578063ddc6ac2314610a0957600080fd5b8063bdcc22e914610987578063be9a655514610990578063c2edfc7314610998578063c3b83f5f146109ab578063c9f4ff46146109be57600080fd5b8063930102f2116101d4578063a8df539f11610198578063a8df539f14610939578063b6b55f2514610946578063b745abe314610959578063b9b1be8b14610961578063bcfa89371461097457600080fd5b8063930102f2146108ee5780639324cac7146108f757806398faa2ce1461090a5780639bd2e61b146109135780639faf68021461092657600080fd5b8063828fce881161021b578063828fce88146108a45780638b649b94146108b75780638b844412146108c05780638da5cb5b146108c85780638fe812b4146108e157600080fd5b806378fe782d1461084057806379ba5097146108535780637a1e0aa81461085b5780637f7b8c501461086e5780637f8525821461089157600080fd5b806348663e9511610373578063610589e1116102f0578063681312f5116102b4578063681312f5146107c35780636c321c8a146107d657806371143ab9146107df5780637261b81a1461080d57806374094edd1461082057600080fd5b8063610589e114610759578063634e0d9714610762578063645006ca1461079057806365e0e725146107995780636685fdc2146107ac57600080fd5b8063572e36e611610337578063572e36e6146106ef57806358c09cc0146107075780635c7b396e1461071a5780635c975abb146107235780635ddd3e831461072e57600080fd5b806348663e95146106835780634ae7937f146106965780634d549a42146106b657806352129e48146106c957806353a47bb7146106dc57600080fd5b80631baa885611610401578063336d30ed116103c5578063336d30ed14610601578063343e4f9f146106215780633b92d7581461063457806340774ff6146106475780634651f0801461065a57600080fd5b80631baa8856146105a65780631daae173146105af5780631f2698ab146105d2578063202ffce8146105e6578063311c56df146105f957600080fd5b8063146ca53111610448578063146ca531146105365780631627540c1461053f57806316c38b3c14610552578063175e6700146105655780631b2a52d81461059357600080fd5b806302f97b0c14610485578063042047cf146104c8578063082f9fd4146104d557806312b19a131461050057806313af403514610521575b600080fd5b6104b3610493366004614bc1565b608360209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b6080546104b39060ff1681565b6104e86104e3366004614be5565b610ac1565b6040516001600160a01b0390911681526020016104bf565b61051361050e366004614b91565b610af9565b6040519081526020016104bf565b61053461052f366004614a4d565b610b1c565b005b61051360695481565b61053461054d366004614a4d565b610c5c565b610534610560366004614b0e565b610cb2565b610578610573366004614a4d565b610cd2565b604080519384526020840192909252908201526060016104bf565b6105346105a1366004614b91565b610d85565b610513606b5481565b6104b36105bd366004614a4d565b60716020526000908152604090205460ff1681565b6068546104b390600160a01b900460ff1681565b6105346105f4366004614b91565b6113d3565b610534611410565b61051361060f366004614b91565b60756020526000908152604090205481565b6104e861062f366004614be5565b61168f565b607a546104e8906001600160a01b031681565b610534610655366004614b91565b6116ab565b6104e8610668366004614b91565b606c602052600090815260409020546001600160a01b031681565b6089546104e8906001600160a01b031681565b6105136106a4366004614b91565b60706020526000908152604090205481565b6105346106c4366004614a4d565b6116e8565b6105346106d7366004614a94565b611764565b6001546104e8906001600160a01b031681565b6067546104e89061010090046001600160a01b031681565b610534610715366004614a69565b6118da565b61051360855481565b60345460ff166104b3565b61051361073c366004614bc1565b606f60209081526000928352604080842090915290825290205481565b61051360785481565b6104b3610770366004614bc1565b606e60209081526000928352604080842090915290825290205460ff1681565b61051360775481565b6105346107a7366004614a4d565b611d28565b6069546000908152606d6020526040902054610513565b6105346107d1366004614b91565b611da4565b61051360885481565b6104b36107ed366004614bc1565b607360209081526000928352604080842090915290825290205460ff1681565b61053461081b366004614b7f565b611e49565b61051361082e366004614b91565b60746020526000908152604090205481565b61053461084e366004614a4d565b612054565b610534612164565b610534610869366004614a69565b612261565b6104b361087c366004614a4d565b607e6020526000908152604090205460ff1681565b61053461089f366004614a4d565b6122c9565b6105346108b2366004614ad5565b61231f565b610513606a5481565b61053461253b565b6000546104e8906201000090046001600160a01b031681565b6082546104b39060ff1681565b610513607c5481565b6068546104e8906001600160a01b031681565b61051360865481565b610534610921366004614b91565b612832565b610513610934366004614a4d565b612b38565b6084546104b39060ff1681565b610534610954366004614b91565b612bf5565b6104b36130db565b607d546104e8906001600160a01b031681565b610534610982366004614b91565b6132b9565b61051360795481565b610534613538565b6104e86109a6366004614a4d565b6136e7565b6105346109b9366004614a4d565b613716565b6105136109cc366004614be5565b61382f565b61051360765481565b610513608a5481565b6104b36109f1366004614a4d565b61386f565b610534610a04366004614b91565b61392e565b610513610a17366004614b91565b61396b565b610534610a2a366004614b91565b613986565b6105346139c3565b610534613e54565b610534614032565b6104b3614090565b6104e8610a5d366004614a4d565b6141e7565b610513610a70366004614a4d565b60876020526000908152604090205481565b607b546104e8906001600160a01b031681565b6104b3610aa3366004614a4d565b60816020526000908152604090205460ff1681565b610513607f5481565b60726020528160005260406000208181548110610add57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000606a5482610b099190614e9b565b606b54610b169190614e63565b92915050565b6001600160a01b038116610b775760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f7420626520300000000000000060448201526064015b60405180910390fd5b600154600160a01b900460ff1615610be35760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610b6e565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b03831662010000810262010000600160b01b03199092169190911782556040805192835260208301919091527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91015b60405180910390a150565b610c646142ba565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290602001610c51565b610cba6142ba565b80610cca57610cc7614334565b50565b610cc76143c7565b6000806000607f54607654610ce79190614eba565b607b549093508392506001600160a01b031615610d7e57607b54604051631676539160e01b81526001600160a01b0386811660048301529091169063167653919060240160206040518083038186803b158015610d4357600080fd5b505afa158015610d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7b9190614ba9565b90505b9193909250565b600160666000828254610d989190614e63565b909155505060665460345460ff1615610dc35760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff16610e155760405162461bcd60e51b815260206004820152601a60248201527f526f756e6420636c6f73696e67206e6f742070726570617265640000000000006044820152606401610b6e565b6069546000908152606d602052604090205460855410610e775760405162461bcd60e51b815260206004820152601b60248201527f416c6c20757365727320616c72656164792070726f63657373656400000000006044820152606401610b6e565b60008211610e975760405162461bcd60e51b8152600401610b6e90614db3565b6069546000908152606c60205260408120546085546001600160a01b039091169190610ec4908590614e63565b6069546000908152606d6020526040902054909150811115610ef457506069546000908152606d60205260409020545b6085545b8181101561136f576069546000908152606d60205260408120805483908110610f3157634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910154606954835260748252604080842054606f84528185206001600160a01b0390931680865292909352832054909350670de0b6b3a764000091610f8091614e9b565b610f8a9190614e7b565b6001600160a01b03831660009081526071602052604090205490915060ff16158015610fc6575060695460009081526074602052604090205415155b1561112b5780606f60006069546001610fdf9190614e63565b81526020019081526020016000206000846001600160a01b03166001600160a01b031681526020019081526020016000205461101b9190614e63565b606f6000606954600161102e9190614e63565b81526020019081526020016000206000846001600160a01b03166001600160a01b0316815260200190815260200160002081905550606d600060695460016110769190614e63565b8152602080820192909252604001600090812080546001810182559082529190200180546001600160a01b0319166001600160a01b0384811691909117909155607b54161561112657607b546040516302c7739b60e01b81526001600160a01b03848116600483015260248201849052909116906302c7739b90604401600060405180830381600087803b15801561110d57600080fd5b505af1158015611121573d6000803e3d6000fd5b505050505b611349565b6001600160a01b038216600090815260876020526040902054156112a1576001600160a01b038216600090815260876020526040812054670de0b6b3a7640000906111769084614e9b565b6111809190614e7b565b60685490915061119b906001600160a01b031687858461441f565b604080516001600160a01b0385168152602081018390527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a910160405180910390a16001600160a01b0383166000908152607160209081526040808320805460ff1916905560879091528120819055606954606d919061121c906001614e63565b8152602080820192909252604001600090812080546001810182559082529190200180546001600160a01b0319166001600160a01b0385161790556112618183614eba565b606f600060695460016112749190614e63565b8152602080820192909252604090810160009081206001600160a01b038816825290925290205550611349565b6000606f600060695460016112b69190614e63565b8152602080820192909252604090810160009081206001600160a01b038088168352935220919091556068546112ef911686848461441f565b6001600160a01b038216600081815260716020908152604091829020805460ff19169055815192835282018390527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a910160405180910390a15b608554611357906001614e63565b6085555081905061136781614efd565b915050610ef8565b5060695460408051918252602082018690527f2e692c8fcabe33ba22535323e79dcb54ef22dccdb8e4ebdd9f2a7ffb1a28856c910160405180910390a1505060665481146113cf5760405162461bcd60e51b8152600401610b6e90614df5565b5050565b6113db6142ba565b60788190556040518181527fe7c2c09f66c8b970b4a99250f4d0844e1496b9d51d4760a17b0134ddd52023e190602001610c51565b6001606660008282546114239190614e63565b9091555050606654606854600160a01b900460ff166114545760405162461bcd60e51b8152600401610b6e90614c78565b3360009081526071602052604090205460ff16156114b45760405162461bcd60e51b815260206004820152601c60248201527f5769746864726177616c20616c726561647920726571756573746564000000006044820152606401610b6e565b6069546000908152606f602090815260408083203384529091529020546115135760405162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20776974686472617760681b6044820152606401610b6e565b606f600060695460016115269190614e63565b815260208082019290925260409081016000908120338252909252902054156115615760405162461bcd60e51b8152600401610b6e90614d5d565b60345460ff16156115845760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff16156115a75760405162461bcd60e51b8152600401610b6e90614d16565b6069546000908152606f60209081526040808320338452909152902054607f541115611608576069546000908152606f60209081526040808320338452909152812054607f8054919290916115fd908490614eba565b9091555061160e9050565b6000607f555b600160795461161d9190614eba565b60795533600081815260716020908152604091829020805460ff1916600117905590519182527fe5892ff2a8b08efb903ffbba1f0514c1d3e22eea34dd5b89cf30aabce03dde5a910160405180910390a16066548114610cc75760405162461bcd60e51b8152600401610b6e90614df5565b606d6020528160005260406000208181548110610add57600080fd5b6116b36142ba565b60888190556040518181527fc117ccf765672707ebe3c1606037488c1e27dc1f42b5266e3d6b496db7d4209e90602001610c51565b6116f06142ba565b6001600160a01b0381166117165760405162461bcd60e51b8152600401610b6e90614e2c565b607d80546001600160a01b0319166001600160a01b0383169081179091556040519081527fa65a5aa86bb6f8e75752296da3ebda45474c8a302fc640c3b62868793862a03390602001610c51565b6001606660008282546117779190614e63565b909155505060665460345460ff16156117a25760405162461bcd60e51b8152600401610b6e90614cec565b60675461010090046001600160a01b031633146117d15760405162461bcd60e51b8152600401610b6e90614ca6565b60845460ff16156117f45760405162461bcd60e51b8152600401610b6e90614d16565b82156118b357606854600160a01b900460ff166118235760405162461bcd60e51b8152600401610b6e90614c78565b600061182e85612b38565b9050600061183b82614479565b606754604051633cf57f7560e21b81526001600160a01b038781166004830152602482018990526101009092048216604482015291925082169063f3d5fdd490606401600060405180830381600087803b15801561189857600080fd5b505af11580156118ac573d6000803e3d6000fd5b5050505050505b60665481146118d45760405162461bcd60e51b8152600401610b6e90614df5565b50505050565b6001606660008282546118ed9190614e63565b909155505060665460345460ff16156119185760405162461bcd60e51b8152600401610b6e90614cec565b60675461010090046001600160a01b031633146119475760405162461bcd60e51b8152600401610b6e90614ca6565b60845460ff161561196a5760405162461bcd60e51b8152600401610b6e90614d16565b606854600160a01b900460ff166119935760405162461bcd60e51b8152600401610b6e90614c78565b600082116119e35760405162461bcd60e51b815260206004820152601960248201527f43616e277420636f6d6d69742061207a65726f207472616465000000000000006044820152606401610b6e565b6119ec8261461b565b60825490925060ff166119ff5781611a0a565b611a0a826001614e63565b91506000611a1784612b38565b90506000611a2482614479565b9050606954821415611b8957606754606854611a54916001600160a01b039182169184916101009004168761441f565b608854606954600090815260706020526040902054670de0b6b3a764000091611a7c91614e9b565b611a869190614e7b565b606954600090815260706020526040902054611aa29190614eba565b6068546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a082319060240160206040518083038186803b158015611ae757600080fd5b505afa158015611afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1f9190614ba9565b1015611b845760405162461bcd60e51b815260206004820152602e60248201527f416d6f756e74206578636565647320617661696c61626c65207574696c697a6160448201526d1d1a5bdb88199bdc881c9bdd5b9960921b6064820152608401610b6e565b611c7a565b6068546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a082319060240160206040518083038186803b158015611bcf57600080fd5b505afa158015611be3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c079190614ba9565b9050848110611c3957606754606854611c34916001600160a01b039182169185916101009004168861441f565b611c78565b6000611c458287614eba565b9050611c5281848661463c565b606754606854611c76916001600160a01b039182169186916101009004168961441f565b505b505b60008281526073602090815260408083206001600160a01b038916845290915290205460ff16611d005760008281526072602090815260408083208054600180820183559185528385200180546001600160a01b0319166001600160a01b038b1690811790915586855260738452828520908552909252909120805460ff191690911790555b50506066548114611d235760405162461bcd60e51b8152600401610b6e90614df5565b505050565b611d306142ba565b6001600160a01b038116611d565760405162461bcd60e51b8152600401610b6e90614e2c565b607a80546001600160a01b0319166001600160a01b0383169081179091556040519081527faaf6f0738515c3cf390f1b3faec649d2dacb169d024089afc43bbe2fe66cd2d890602001610c51565b611dac6142ba565b606854600160a01b900460ff1615611e145760405162461bcd60e51b815260206004820152602560248201527f43616e2774206368616e676520726f756e64206c656e677468206166746572206044820152641cdd185c9d60da1b6064820152608401610b6e565b606a8190556040518181527f1d1fb7111c3779798bd4aefb2daea07ee8257a13c7eaceba89b4b1ccd405050d90602001610c51565b600054610100900460ff16611e645760005460ff1615611e68565b303b155b611ecb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610b6e565b600054610100900460ff16158015611eed576000805461ffff19166101011790555b611efd61052f6020840184614a4d565b611f05614032565b611f156040830160208401614a4d565b606780546001600160a01b039290921661010002610100600160a81b0319909216919091179055611f4c6060830160408401614a4d565b606880546001600160a01b0319166001600160a01b03929092169190911790556060820135606a55608082013560765560a082013560775560c0820135607855611f9d610100830160e08401614b0e565b6082805460ff191691151591909117905560685460675460405163095ea7b360e01b81526101009091046001600160a01b03908116600483015260001960248301529091169063095ea7b390604401602060405180830381600087803b15801561200657600080fd5b505af115801561201a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203e9190614b2a565b5080156113cf576000805461ff00191690555050565b61205c6142ba565b6001600160a01b0381166120825760405162461bcd60e51b8152600401610b6e90614e2c565b60678054610100600160a81b0319166101006001600160a01b038481168202929092179283905560685460405163095ea7b360e01b81529190930482166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b1580156120f257600080fd5b505af1158015612106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212a9190614b2a565b506040516001600160a01b03821681527fcd9f73cb77eb3f2287cdfd1b291c691d33e2cb7ca1774dba627bc61f163d6b9b90602001610c51565b6001546001600160a01b031633146121dc5760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610b6e565b60005460015460408051620100009093046001600160a01b03908116845290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1600180546000805462010000600160b01b0319166001600160a01b03831662010000021790556001600160a01b0319169055565b6122696142ba565b608980546001600160a01b0319166001600160a01b038416908117909155608a82905560408051918252602082018390527fa1a8623472ca4e2879372be60dfd1ff0675778e49f7379eedd98ca57cf36b21a910160405180910390a15050565b6122d16142ba565b607b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f3c7faa500efbd341aedbf1ee7ebd52ea36d226dda76bc01dd39b43d46f55b8d390602001610c51565b6001606660008282546123329190614e63565b909155505060665460345460ff161561235d5760405162461bcd60e51b8152600401610b6e90614cec565b60675461010090046001600160a01b0316331461238c5760405162461bcd60e51b8152600401610b6e90614ca6565b60845460ff16156123af5760405162461bcd60e51b8152600401610b6e90614d16565b82156118b357606854600160a01b900460ff166123de5760405162461bcd60e51b8152600401610b6e90614c78565b60006123e985612b38565b905060006123f682614479565b9050600080876001600160a01b031663cc2ee1966040518163ffffffff1660e01b8152600401604080518083038186803b15801561243357600080fd5b505afa158015612447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246b9190614b46565b909250905060008087600181111561249357634e487b7160e01b600052602160045260246000fd5b1461249e57816124a0565b825b606754604051633cf57f7560e21b81526001600160a01b038084166004830152602482018c90526101009092048216604482015291925085169063f3d5fdd490606401600060405180830381600087803b1580156124fd57600080fd5b505af1158015612511573d6000803e3d6000fd5b50505050505050505060665481146118d45760405162461bcd60e51b8152600401610b6e90614df5565b60016066600082825461254e9190614e63565b909155505060665460345460ff16156125795760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff161561259c5760405162461bcd60e51b8152600401610b6e90614d16565b6125a4614090565b6125f05760405162461bcd60e51b815260206004820152601960248201527f43616e277420636c6f73652063757272656e7420726f756e64000000000000006044820152606401610b6e565b6125f8613e54565b6069546000908152606c60205260408082205460685491516370a0823160e01b81526001600160a01b0391821660048201819052939291909116906370a082319060240160206040518083038186803b15801561265457600080fd5b505afa158015612668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061268c9190614ba9565b60695460009081526070602052604090205490915081111561275457608a546069546000908152607060205260408120549091670de0b6b3a7640000916126d39085614eba565b6126dd9190614e9b565b6126e79190614e7b565b608954606854919250612709916001600160a01b03908116918691168461441f565b6127138183614eba565b608a5460408051918252602082018490529193507fb8379d05082aa2dd32963972d72cc2d46257811133341855b63bb2fddda6ca3e910160405180910390a1505b606954600090815260706020526040902054612784576069546000908152607460205260409020600190556127c5565b6069546000908152607060205260409020546127a8670de0b6b3a764000083614e9b565b6127b29190614e7b565b6069546000908152607460205260409020555b6084805460ff191660011790556069546040517fa224cce482b24082d1d3128437615f7f5ce87b97453a11114846ea442a100272916128079190815260200190565b60405180910390a150506066548114610cc75760405162461bcd60e51b8152600401610b6e90614df5565b6001606660008282546128459190614e63565b9091555050606654606854600160a01b900460ff166128765760405162461bcd60e51b8152600401610b6e90614c78565b3360009081526071602052604090205460ff16156128d65760405162461bcd60e51b815260206004820152601c60248201527f5769746864726177616c20616c726561647920726571756573746564000000006044820152606401610b6e565b6069546000908152606f602090815260408083203384529091529020546129355760405162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20776974686472617760681b6044820152606401610b6e565b606f600060695460016129489190614e63565b815260208082019290925260409081016000908120338252909252902054156129835760405162461bcd60e51b8152600401610b6e90614d5d565b60345460ff16156129a65760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff16156129c95760405162461bcd60e51b8152600401610b6e90614d16565b6129db662386f26fc10000600a614e9b565b82101580156129fb57506129f7662386f26fc10000605a614e9b565b8211155b612a535760405162461bcd60e51b815260206004820152602360248201527f53686172652068617320746f206265206265747765656e2031302520616e642060448201526239302560e81b6064820152608401610b6e565b6069546000908152606f60209081526040808320338452909152812054670de0b6b3a764000090612a85908590614e9b565b612a8f9190614e7b565b905080607f541115612ab85780607f6000828254612aad9190614eba565b90915550612abe9050565b6000607f555b336000818152607160209081526040808320805460ff19166001179055608782529182902086905590519182527fe5892ff2a8b08efb903ffbba1f0514c1d3e22eea34dd5b89cf30aabce03dde5a910160405180910390a15060665481146113cf5760405162461bcd60e51b8152600401610b6e90614df5565b6000808290506000816001600160a01b0316639e3b34bf6040518163ffffffff1660e01b8152600401604080518083038186803b158015612b7857600080fd5b505afa158015612b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb09190614c06565b509050606b54811115612be957606a54606b54612bcd9083614eba565b612bd79190614e7b565b612be2906001614e63565b9250612bee565b600192505b5050919050565b33600090815260716020526040902054819060ff1615612c675760405162461bcd60e51b815260206004820152602760248201527f5769746864726177616c206973207265717565737465642c2063616e6e6f742060448201526619195c1bdcda5d60ca1b6064820152608401610b6e565b60765481607f54612c789190614e63565b1115612cd05760405162461bcd60e51b815260206004820152602160248201527f4465706f73697420616d6f756e74206578636565647320414d4d204c502063616044820152600760fc1b6064820152608401610b6e565b6069546000908152606f60209081526040808320338452909152902054158015612d285750606f60006069546001612d089190614e63565b815260208082019290925260409081016000908120338252909252902054155b15612d8957607754811015612d895760405162461bcd60e51b815260206004820152602160248201527f416d6f756e74206c657373207468616e206d696e4465706f736974416d6f756e6044820152601d60fa1b6064820152608401610b6e565b600160666000828254612d9c9190614e63565b909155505060665460345460ff1615612dc75760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff1615612dea5760405162461bcd60e51b8152600401610b6e90614d16565b60006069546001612dfb9190614e63565b90506000612e0882614479565b606854909150612e23906001600160a01b031633838861441f565b607a546001600160a01b0316331415612e9b5760405162461bcd60e51b815260206004820152603460248201527f43616e2774206465706f736974206469726563746c792061732064656661756c6044820152733a103634b8bab4b234ba3c90383937bb34b232b960611b6064820152608401610b6e565b6069546000908152606f60209081526040808320338452909152902054158015612edc57506000828152606f60209081526040808320338452909152902054155b15612f955760785460795410612f345760405162461bcd60e51b815260206004820152601b60248201527f4d617820616d6f756e74206f66207573657273207265616368656400000000006044820152606401610b6e565b6000828152606d602090815260408083208054600181810183559185528385200180546001600160a01b03191633908117909155868552606e8452828520908552909252909120805460ff191682179055607954612f9191614e63565b6079555b6000828152606f6020908152604080832033845290915281208054879290612fbe908490614e63565b909155505060008281526070602052604081208054879290612fe1908490614e63565b9250508190555084607f6000828254612ffa9190614e63565b9091555050607b546001600160a01b03161561307557607b546040516302c7739b60e01b8152336004820152602481018790526001600160a01b03909116906302c7739b90604401600060405180830381600087803b15801561305c57600080fd5b505af1158015613070573d6000803e3d6000fd5b505050505b606954604080513381526020810188905280820192909252517f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca9181900360600190a150506066548114611d235760405162461bcd60e51b8152600401610b6e90614df5565b6069546000908152606c60205260408120546001600160a01b031681805b6069546000908152607260205260409020548110156132af57606954600090815260726020526040812080548390811061314357634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015460695483526083825260408084206001600160a01b039092168085529190925291205490915060ff1661329c57809250826001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b1580156131ba57600080fd5b505afa1580156131ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f29190614b2a565b1561329c57604051636392a51f60e01b81526001600160a01b0385811660048301526000918291861690636392a51f90602401604080518083038186803b15801561323c57600080fd5b505afa158015613250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132749190614c06565b9150915060008211806132875750600081115b15613299576001965050505050505090565b50505b50806132a781614efd565b9150506130f9565b5060009250505090565b6001606660008282546132cc9190614e63565b909155505060665460345460ff16156132f75760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff161561331a5760405162461bcd60e51b8152600401610b6e90614d16565b6000821161333a5760405162461bcd60e51b8152600401610b6e90614db3565b6069546000908152606c60205260408120546001600160a01b03169080805b606954600090815260726020526040902054811015613513578583141561337f57613513565b60695460009081526072602052604081208054839081106133b057634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015460695483526083825260408084206001600160a01b039092168085529190925291205490915060ff1661350057809250826001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b15801561342757600080fd5b505afa15801561343b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345f9190614b2a565b156135005760405163bb580fbb60e01b81526001600160a01b03848116600483015286169063bb580fbb90602401600060405180830381600087803b1580156134a757600080fd5b505af11580156134bb573d6000803e3d6000fd5b505060695460009081526083602090815260408083206001600160a01b03871684529091529020805460ff191660019081179091556134fd9250905085614e63565b93505b508061350b81614efd565b915050613359565b5050505060665481146113cf5760405162461bcd60e51b8152600401610b6e90614df5565b6135406142ba565b606854600160a01b900460ff16156135a55760405162461bcd60e51b815260206004820152602260248201527f4c697175696469747920706f6f6c2068617320616c7265616479207374617274604482015261195960f21b6064820152608401610b6e565b600160005260706020527fb1a24bae1e5047fbb0cf526090cbec15c09a4036896111a8964a155b1c4771a15461361d5760405162461bcd60e51b815260206004820152601d60248201527f63616e206e6f7420737461727420776974682030206465706f736974730000006044820152606401610b6e565b42606b556001606981905560009061363490614479565b9050806001600160a01b0316637d3de7ce606b546136526001610af9565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087803b15801561369057600080fd5b505af11580156136a4573d6000803e3d6000fd5b50506068805460ff60a01b1916600160a01b17905550506040517f960682678fca98f3ed131eaf165e59544bcd738e948f0b3c64f58fa9e1c65e6090600090a150565b6000606c60006136f684612b38565b81526020810191909152604001600020546001600160a01b031692915050565b61371e6142ba565b6001600160a01b0381166137665760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610b6e565b600154600160a81b900460ff16156137b65760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610b6e565b600080546001600160a01b038381166201000081810262010000600160b01b031990941693909317938490556001805460ff60a81b1916600160a81b1790556040805193909404909116825260208201527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9101610c51565b600082815260756020818152604080842054607483528185205486865293909252832054909161385e91614e9b565b6138689190614e7b565b9392505050565b6069546000908152606f602090815260408083206001600160a01b03851684529091528120541515806138e657506000606f600060695460016138b29190614e63565b81526020019081526020016000206000846001600160a01b03166001600160a01b0316815260200190815260200160002054115b8015610b1657506001600160a01b03821660009081526071602052604090205460ff161580610b165750506001600160a01b0316600090815260876020526040902054151590565b6139366142ba565b60778190556040518181527f990717cc219e5348c1b88bb0ff530d804f0b6f54f3b03844a2bfbe4eb1e9c5d690602001610c51565b606a5460009061397c600184614eba565b610b099190614e9b565b61398e6142ba565b60768190556040518181527f8c43aa02599ac8f8bab4724621ceea5e7a06b07bbbfaf3b7bd0386cbe481ea3c90602001610c51565b6001606660008282546139d69190614e63565b909155505060665460345460ff1615613a015760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff16613a535760405162461bcd60e51b815260206004820152601a60248201527f526f756e6420636c6f73696e67206e6f742070726570617265640000000000006044820152606401610b6e565b6069546000908152606d602052604090205460855414613ab55760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420616c6c2075736572732070726f6365737365642079657400000000006044820152606401610b6e565b6084805460ff191690556069546000908152606c6020908152604080832054606f8352818420607a546001600160a01b039081168652935292205491169015613baf57606954600090815260746020908152604080832054606f8352818420607a546001600160a01b03168552909252822054670de0b6b3a764000091613b3b91614e9b565b613b459190614e7b565b607a54606854919250613b67916001600160a01b03908116918591168461441f565b607a54604080516001600160a01b039092168252602082018390527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a910160405180910390a1505b60695460011415613bdd57606954600090815260746020908152604080832054607590925290912055613c40565b606954600081815260746020526040812054670de0b6b3a7640000929091607591613c0a90600190614eba565b815260200190815260200160002054613c239190614e9b565b613c2d9190614e7b565b6069546000908152607560205260409020555b600160696000828254613c539190614e63565b90915550506068546040516370a0823160e01b81526001600160a01b038381166004830152909116906370a082319060240160206040518083038186803b158015613c9d57600080fd5b505afa158015613cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cd59190614ba9565b60695460009081526070602052604081208054909190613cf6908490614e63565b90915550506069546000818152606f60209081526040808320607a546001600160a01b031684528252808320549383526070909152902054613d389190614eba565b607f55606954600090613d4a90614479565b6068546040516370a0823160e01b81526001600160a01b038086166004830152929350613de592859285929116906370a082319060240160206040518083038186803b158015613d9957600080fd5b505afa158015613dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dd19190614ba9565b6068546001600160a01b031692919061441f565b60006085556069547fc67dda8e11f1aa941c7e74466b1859a07a32f46aaf641d29b83be348424d93cd90613e1b90600190614eba565b607460006001606954613e2e9190614eba565b815260200190815260200160002054604051612807929190918252602082015260400190565b60845460ff1615613e775760405162461bcd60e51b8152600401610b6e90614d16565b6069546000908152606c60205260408120546001600160a01b031690805b606954600090815260726020526040902054811015611d23576069546000908152607260205260408120805483908110613edf57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015460695483526083825260408084206001600160a01b039092168085529190925291205490915060ff1661401f57809250826001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b158015613f5657600080fd5b505afa158015613f6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f8e9190614b2a565b1561401f5760405163bb580fbb60e01b81526001600160a01b03848116600483015285169063bb580fbb90602401600060405180830381600087803b158015613fd657600080fd5b505af1158015613fea573d6000803e3d6000fd5b505060695460009081526083602090815260408083206001600160a01b03871684529091529020805460ff1916600117905550505b508061402a81614efd565b915050613e95565b60675460ff161561407b5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610b6e565b6067805460ff19166001908117909155606655565b606854600090600160a01b900460ff1615806140b557506140b2606954610af9565b42105b156140c05750600090565b6000805b6069546000908152607260205260409020548110156141de57606954600090815260726020526040812080548390811061410e57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015460695483526083825260408084206001600160a01b039092168085529190925291205490915060ff166141cb57809250826001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b15801561418557600080fd5b505afa158015614199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141bd9190614b2a565b6141cb576000935050505090565b50806141d681614efd565b9150506140c4565b50600191505090565b60675460009061010090046001600160a01b031633146142195760405162461bcd60e51b8152600401610b6e90614ca6565b60016066600082825461422c9190614e63565b909155505060665460345460ff16156142575760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff161561427a5760405162461bcd60e51b8152600401610b6e90614d16565b600061428584612b38565b905061429081614479565b92505060665481146142b45760405162461bcd60e51b8152600401610b6e90614df5565b50919050565b6000546201000090046001600160a01b031633146143325760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610b6e565b565b60345460ff1661437d5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610b6e565b6034805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60345460ff16156143ea5760405162461bcd60e51b8152600401610b6e90614cec565b6034805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586143aa3390565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526118d490859061476b565b6000818152606c60205260409020546001600160a01b03168061461657607d546001600160a01b03166144ee5760405162461bcd60e51b815260206004820152601d60248201527f526f756e6420706f6f6c206d6173746572636f7079206e6f74207365740000006044820152606401610b6e565b607d54600090614506906001600160a01b031661483d565b6068549091506001600160a01b038083169163d13f90b4913091168661453061050e600183614eba565b61453989610af9565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015260448401919091526064830152608482015260a401600060405180830381600087803b15801561459557600080fd5b505af11580156145a9573d6000803e3d6000fd5b5050506000848152606c602090815260409182902080546001600160a01b0319166001600160a01b03861690811790915582518781529182015292935083927f24c1b21b902a85b5039d7d72427d9376657229eea77880ec9e62031dc950f6ba92500160405180910390a1505b919050565b60825460009060ff161561463857610b1664e8d4a5100083614e7b565b5090565b607a546001600160a01b031661469f5760405162461bcd60e51b815260206004820152602260248201527f64656661756c74206c69717569646974792070726f7669646572206e6f742073604482015261195d60f21b6064820152608401610b6e565b607a546068546146bd916001600160a01b039182169116848661441f565b6000818152606f60209081526040808320607a546001600160a01b03168452909152812080548592906146f1908490614e63565b909155505060008181526070602052604081208054859290614714908490614e63565b9091555050607a54604080516001600160a01b0390921682526020820185905281018290527f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca9060600160405180910390a1505050565b60006147c0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166148d59092919063ffffffff16565b805190915015611d2357808060200190518101906147de9190614b2a565b611d235760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b6e565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b0381166146165760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606401610b6e565b60606148e484846000856148ec565b949350505050565b60608247101561494d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610b6e565b843b61499b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b6e565b600080866001600160a01b031685876040516149b79190614c29565b60006040518083038185875af1925050503d80600081146149f4576040519150601f19603f3d011682016040523d82523d6000602084013e6149f9565b606091505b5091509150614a09828286614a14565b979650505050505050565b60608315614a23575081613868565b825115614a335782518084602001fd5b8160405162461bcd60e51b8152600401610b6e9190614c45565b600060208284031215614a5e578081fd5b813561386881614f2e565b60008060408385031215614a7b578081fd5b8235614a8681614f2e565b946020939093013593505050565b600080600060608486031215614aa8578081fd5b8335614ab381614f2e565b9250602084013591506040840135614aca81614f2e565b809150509250925092565b600080600060608486031215614ae9578283fd5b8335614af481614f2e565b925060208401359150604084013560028110614aca578182fd5b600060208284031215614b1f578081fd5b813561386881614f43565b600060208284031215614b3b578081fd5b815161386881614f43565b60008060408385031215614b58578182fd5b8251614b6381614f2e565b6020840151909250614b7481614f2e565b809150509250929050565b600061010082840312156142b4578081fd5b600060208284031215614ba2578081fd5b5035919050565b600060208284031215614bba578081fd5b5051919050565b60008060408385031215614bd3578182fd5b823591506020830135614b7481614f2e565b60008060408385031215614bf7578182fd5b50508035926020909101359150565b60008060408385031215614c18578182fd5b505080516020909101519092909150565b60008251614c3b818460208701614ed1565b9190910192915050565b6020815260008251806020840152614c64816040850160208701614ed1565b601f01601f19169190910160400192915050565b602080825260149082015273141bdbdb081a185cc81b9bdd081cdd185c9d195960621b604082015260600190565b60208082526026908201527f6f6e6c792074686520414d4d206d617920706572666f726d207468657365206d6040820152656574686f647360d01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526027908201527f4e6f7420616c6c6f77656420647572696e6720726f756e64436c6f73696e67506040820152661c995c185c995960ca1b606082015260800190565b60208082526036908201527f43616e277420776974686472617720617320796f7520616c72656164792064656040820152751c1bdcda5d195908199bdc881b995e1d081c9bdd5b9960521b606082015260800190565b60208082526022908201527f626174636853697a652068617320746f2062652067726561746572207468616e604082015261020360f41b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252601b908201527f43616e206e6f74207365742061207a65726f2061646472657373210000000000604082015260600190565b60008219821115614e7657614e76614f18565b500190565b600082614e9657634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615614eb557614eb5614f18565b500290565b600082821015614ecc57614ecc614f18565b500390565b60005b83811015614eec578181015183820152602001614ed4565b838111156118d45750506000910152565b6000600019821415614f1157614f11614f18565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610cc757600080fd5b8015158114610cc757600080fdfea2646970667358221220a42e9614ba670fc66ed745a7b925d0d5a297340e15beae1e8d22da1b82b8538664736f6c63430008040033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106104805760003560e01c806378fe782d11610257578063bdcc22e911610146578063ddcc8fe9116100c3578063f475f13b11610087578063f475f13b14610a4f578063f61fcb8b14610a62578063fd8a8cc614610a82578063fdaf17f014610a95578063ff50abdc14610ab857600080fd5b8063ddcc8fe914610a1c578063e278fe6f14610a2f578063e3041fd914610a37578063ebc7977214610a3f578063ee161cce14610a4757600080fd5b8063d27c07971161010a578063d27c0797146109d1578063d69fb668146109da578063d95ad45c146109e3578063db7f92d4146109f6578063ddc6ac2314610a0957600080fd5b8063bdcc22e914610987578063be9a655514610990578063c2edfc7314610998578063c3b83f5f146109ab578063c9f4ff46146109be57600080fd5b8063930102f2116101d4578063a8df539f11610198578063a8df539f14610939578063b6b55f2514610946578063b745abe314610959578063b9b1be8b14610961578063bcfa89371461097457600080fd5b8063930102f2146108ee5780639324cac7146108f757806398faa2ce1461090a5780639bd2e61b146109135780639faf68021461092657600080fd5b8063828fce881161021b578063828fce88146108a45780638b649b94146108b75780638b844412146108c05780638da5cb5b146108c85780638fe812b4146108e157600080fd5b806378fe782d1461084057806379ba5097146108535780637a1e0aa81461085b5780637f7b8c501461086e5780637f8525821461089157600080fd5b806348663e9511610373578063610589e1116102f0578063681312f5116102b4578063681312f5146107c35780636c321c8a146107d657806371143ab9146107df5780637261b81a1461080d57806374094edd1461082057600080fd5b8063610589e114610759578063634e0d9714610762578063645006ca1461079057806365e0e725146107995780636685fdc2146107ac57600080fd5b8063572e36e611610337578063572e36e6146106ef57806358c09cc0146107075780635c7b396e1461071a5780635c975abb146107235780635ddd3e831461072e57600080fd5b806348663e95146106835780634ae7937f146106965780634d549a42146106b657806352129e48146106c957806353a47bb7146106dc57600080fd5b80631baa885611610401578063336d30ed116103c5578063336d30ed14610601578063343e4f9f146106215780633b92d7581461063457806340774ff6146106475780634651f0801461065a57600080fd5b80631baa8856146105a65780631daae173146105af5780631f2698ab146105d2578063202ffce8146105e6578063311c56df146105f957600080fd5b8063146ca53111610448578063146ca531146105365780631627540c1461053f57806316c38b3c14610552578063175e6700146105655780631b2a52d81461059357600080fd5b806302f97b0c14610485578063042047cf146104c8578063082f9fd4146104d557806312b19a131461050057806313af403514610521575b600080fd5b6104b3610493366004614bc1565b608360209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b6080546104b39060ff1681565b6104e86104e3366004614be5565b610ac1565b6040516001600160a01b0390911681526020016104bf565b61051361050e366004614b91565b610af9565b6040519081526020016104bf565b61053461052f366004614a4d565b610b1c565b005b61051360695481565b61053461054d366004614a4d565b610c5c565b610534610560366004614b0e565b610cb2565b610578610573366004614a4d565b610cd2565b604080519384526020840192909252908201526060016104bf565b6105346105a1366004614b91565b610d85565b610513606b5481565b6104b36105bd366004614a4d565b60716020526000908152604090205460ff1681565b6068546104b390600160a01b900460ff1681565b6105346105f4366004614b91565b6113d3565b610534611410565b61051361060f366004614b91565b60756020526000908152604090205481565b6104e861062f366004614be5565b61168f565b607a546104e8906001600160a01b031681565b610534610655366004614b91565b6116ab565b6104e8610668366004614b91565b606c602052600090815260409020546001600160a01b031681565b6089546104e8906001600160a01b031681565b6105136106a4366004614b91565b60706020526000908152604090205481565b6105346106c4366004614a4d565b6116e8565b6105346106d7366004614a94565b611764565b6001546104e8906001600160a01b031681565b6067546104e89061010090046001600160a01b031681565b610534610715366004614a69565b6118da565b61051360855481565b60345460ff166104b3565b61051361073c366004614bc1565b606f60209081526000928352604080842090915290825290205481565b61051360785481565b6104b3610770366004614bc1565b606e60209081526000928352604080842090915290825290205460ff1681565b61051360775481565b6105346107a7366004614a4d565b611d28565b6069546000908152606d6020526040902054610513565b6105346107d1366004614b91565b611da4565b61051360885481565b6104b36107ed366004614bc1565b607360209081526000928352604080842090915290825290205460ff1681565b61053461081b366004614b7f565b611e49565b61051361082e366004614b91565b60746020526000908152604090205481565b61053461084e366004614a4d565b612054565b610534612164565b610534610869366004614a69565b612261565b6104b361087c366004614a4d565b607e6020526000908152604090205460ff1681565b61053461089f366004614a4d565b6122c9565b6105346108b2366004614ad5565b61231f565b610513606a5481565b61053461253b565b6000546104e8906201000090046001600160a01b031681565b6082546104b39060ff1681565b610513607c5481565b6068546104e8906001600160a01b031681565b61051360865481565b610534610921366004614b91565b612832565b610513610934366004614a4d565b612b38565b6084546104b39060ff1681565b610534610954366004614b91565b612bf5565b6104b36130db565b607d546104e8906001600160a01b031681565b610534610982366004614b91565b6132b9565b61051360795481565b610534613538565b6104e86109a6366004614a4d565b6136e7565b6105346109b9366004614a4d565b613716565b6105136109cc366004614be5565b61382f565b61051360765481565b610513608a5481565b6104b36109f1366004614a4d565b61386f565b610534610a04366004614b91565b61392e565b610513610a17366004614b91565b61396b565b610534610a2a366004614b91565b613986565b6105346139c3565b610534613e54565b610534614032565b6104b3614090565b6104e8610a5d366004614a4d565b6141e7565b610513610a70366004614a4d565b60876020526000908152604090205481565b607b546104e8906001600160a01b031681565b6104b3610aa3366004614a4d565b60816020526000908152604090205460ff1681565b610513607f5481565b60726020528160005260406000208181548110610add57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000606a5482610b099190614e9b565b606b54610b169190614e63565b92915050565b6001600160a01b038116610b775760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f7420626520300000000000000060448201526064015b60405180910390fd5b600154600160a01b900460ff1615610be35760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610b6e565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b03831662010000810262010000600160b01b03199092169190911782556040805192835260208301919091527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91015b60405180910390a150565b610c646142ba565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290602001610c51565b610cba6142ba565b80610cca57610cc7614334565b50565b610cc76143c7565b6000806000607f54607654610ce79190614eba565b607b549093508392506001600160a01b031615610d7e57607b54604051631676539160e01b81526001600160a01b0386811660048301529091169063167653919060240160206040518083038186803b158015610d4357600080fd5b505afa158015610d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7b9190614ba9565b90505b9193909250565b600160666000828254610d989190614e63565b909155505060665460345460ff1615610dc35760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff16610e155760405162461bcd60e51b815260206004820152601a60248201527f526f756e6420636c6f73696e67206e6f742070726570617265640000000000006044820152606401610b6e565b6069546000908152606d602052604090205460855410610e775760405162461bcd60e51b815260206004820152601b60248201527f416c6c20757365727320616c72656164792070726f63657373656400000000006044820152606401610b6e565b60008211610e975760405162461bcd60e51b8152600401610b6e90614db3565b6069546000908152606c60205260408120546085546001600160a01b039091169190610ec4908590614e63565b6069546000908152606d6020526040902054909150811115610ef457506069546000908152606d60205260409020545b6085545b8181101561136f576069546000908152606d60205260408120805483908110610f3157634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910154606954835260748252604080842054606f84528185206001600160a01b0390931680865292909352832054909350670de0b6b3a764000091610f8091614e9b565b610f8a9190614e7b565b6001600160a01b03831660009081526071602052604090205490915060ff16158015610fc6575060695460009081526074602052604090205415155b1561112b5780606f60006069546001610fdf9190614e63565b81526020019081526020016000206000846001600160a01b03166001600160a01b031681526020019081526020016000205461101b9190614e63565b606f6000606954600161102e9190614e63565b81526020019081526020016000206000846001600160a01b03166001600160a01b0316815260200190815260200160002081905550606d600060695460016110769190614e63565b8152602080820192909252604001600090812080546001810182559082529190200180546001600160a01b0319166001600160a01b0384811691909117909155607b54161561112657607b546040516302c7739b60e01b81526001600160a01b03848116600483015260248201849052909116906302c7739b90604401600060405180830381600087803b15801561110d57600080fd5b505af1158015611121573d6000803e3d6000fd5b505050505b611349565b6001600160a01b038216600090815260876020526040902054156112a1576001600160a01b038216600090815260876020526040812054670de0b6b3a7640000906111769084614e9b565b6111809190614e7b565b60685490915061119b906001600160a01b031687858461441f565b604080516001600160a01b0385168152602081018390527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a910160405180910390a16001600160a01b0383166000908152607160209081526040808320805460ff1916905560879091528120819055606954606d919061121c906001614e63565b8152602080820192909252604001600090812080546001810182559082529190200180546001600160a01b0319166001600160a01b0385161790556112618183614eba565b606f600060695460016112749190614e63565b8152602080820192909252604090810160009081206001600160a01b038816825290925290205550611349565b6000606f600060695460016112b69190614e63565b8152602080820192909252604090810160009081206001600160a01b038088168352935220919091556068546112ef911686848461441f565b6001600160a01b038216600081815260716020908152604091829020805460ff19169055815192835282018390527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a910160405180910390a15b608554611357906001614e63565b6085555081905061136781614efd565b915050610ef8565b5060695460408051918252602082018690527f2e692c8fcabe33ba22535323e79dcb54ef22dccdb8e4ebdd9f2a7ffb1a28856c910160405180910390a1505060665481146113cf5760405162461bcd60e51b8152600401610b6e90614df5565b5050565b6113db6142ba565b60788190556040518181527fe7c2c09f66c8b970b4a99250f4d0844e1496b9d51d4760a17b0134ddd52023e190602001610c51565b6001606660008282546114239190614e63565b9091555050606654606854600160a01b900460ff166114545760405162461bcd60e51b8152600401610b6e90614c78565b3360009081526071602052604090205460ff16156114b45760405162461bcd60e51b815260206004820152601c60248201527f5769746864726177616c20616c726561647920726571756573746564000000006044820152606401610b6e565b6069546000908152606f602090815260408083203384529091529020546115135760405162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20776974686472617760681b6044820152606401610b6e565b606f600060695460016115269190614e63565b815260208082019290925260409081016000908120338252909252902054156115615760405162461bcd60e51b8152600401610b6e90614d5d565b60345460ff16156115845760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff16156115a75760405162461bcd60e51b8152600401610b6e90614d16565b6069546000908152606f60209081526040808320338452909152902054607f541115611608576069546000908152606f60209081526040808320338452909152812054607f8054919290916115fd908490614eba565b9091555061160e9050565b6000607f555b600160795461161d9190614eba565b60795533600081815260716020908152604091829020805460ff1916600117905590519182527fe5892ff2a8b08efb903ffbba1f0514c1d3e22eea34dd5b89cf30aabce03dde5a910160405180910390a16066548114610cc75760405162461bcd60e51b8152600401610b6e90614df5565b606d6020528160005260406000208181548110610add57600080fd5b6116b36142ba565b60888190556040518181527fc117ccf765672707ebe3c1606037488c1e27dc1f42b5266e3d6b496db7d4209e90602001610c51565b6116f06142ba565b6001600160a01b0381166117165760405162461bcd60e51b8152600401610b6e90614e2c565b607d80546001600160a01b0319166001600160a01b0383169081179091556040519081527fa65a5aa86bb6f8e75752296da3ebda45474c8a302fc640c3b62868793862a03390602001610c51565b6001606660008282546117779190614e63565b909155505060665460345460ff16156117a25760405162461bcd60e51b8152600401610b6e90614cec565b60675461010090046001600160a01b031633146117d15760405162461bcd60e51b8152600401610b6e90614ca6565b60845460ff16156117f45760405162461bcd60e51b8152600401610b6e90614d16565b82156118b357606854600160a01b900460ff166118235760405162461bcd60e51b8152600401610b6e90614c78565b600061182e85612b38565b9050600061183b82614479565b606754604051633cf57f7560e21b81526001600160a01b038781166004830152602482018990526101009092048216604482015291925082169063f3d5fdd490606401600060405180830381600087803b15801561189857600080fd5b505af11580156118ac573d6000803e3d6000fd5b5050505050505b60665481146118d45760405162461bcd60e51b8152600401610b6e90614df5565b50505050565b6001606660008282546118ed9190614e63565b909155505060665460345460ff16156119185760405162461bcd60e51b8152600401610b6e90614cec565b60675461010090046001600160a01b031633146119475760405162461bcd60e51b8152600401610b6e90614ca6565b60845460ff161561196a5760405162461bcd60e51b8152600401610b6e90614d16565b606854600160a01b900460ff166119935760405162461bcd60e51b8152600401610b6e90614c78565b600082116119e35760405162461bcd60e51b815260206004820152601960248201527f43616e277420636f6d6d69742061207a65726f207472616465000000000000006044820152606401610b6e565b6119ec8261461b565b60825490925060ff166119ff5781611a0a565b611a0a826001614e63565b91506000611a1784612b38565b90506000611a2482614479565b9050606954821415611b8957606754606854611a54916001600160a01b039182169184916101009004168761441f565b608854606954600090815260706020526040902054670de0b6b3a764000091611a7c91614e9b565b611a869190614e7b565b606954600090815260706020526040902054611aa29190614eba565b6068546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a082319060240160206040518083038186803b158015611ae757600080fd5b505afa158015611afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1f9190614ba9565b1015611b845760405162461bcd60e51b815260206004820152602e60248201527f416d6f756e74206578636565647320617661696c61626c65207574696c697a6160448201526d1d1a5bdb88199bdc881c9bdd5b9960921b6064820152608401610b6e565b611c7a565b6068546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a082319060240160206040518083038186803b158015611bcf57600080fd5b505afa158015611be3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c079190614ba9565b9050848110611c3957606754606854611c34916001600160a01b039182169185916101009004168861441f565b611c78565b6000611c458287614eba565b9050611c5281848661463c565b606754606854611c76916001600160a01b039182169186916101009004168961441f565b505b505b60008281526073602090815260408083206001600160a01b038916845290915290205460ff16611d005760008281526072602090815260408083208054600180820183559185528385200180546001600160a01b0319166001600160a01b038b1690811790915586855260738452828520908552909252909120805460ff191690911790555b50506066548114611d235760405162461bcd60e51b8152600401610b6e90614df5565b505050565b611d306142ba565b6001600160a01b038116611d565760405162461bcd60e51b8152600401610b6e90614e2c565b607a80546001600160a01b0319166001600160a01b0383169081179091556040519081527faaf6f0738515c3cf390f1b3faec649d2dacb169d024089afc43bbe2fe66cd2d890602001610c51565b611dac6142ba565b606854600160a01b900460ff1615611e145760405162461bcd60e51b815260206004820152602560248201527f43616e2774206368616e676520726f756e64206c656e677468206166746572206044820152641cdd185c9d60da1b6064820152608401610b6e565b606a8190556040518181527f1d1fb7111c3779798bd4aefb2daea07ee8257a13c7eaceba89b4b1ccd405050d90602001610c51565b600054610100900460ff16611e645760005460ff1615611e68565b303b155b611ecb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610b6e565b600054610100900460ff16158015611eed576000805461ffff19166101011790555b611efd61052f6020840184614a4d565b611f05614032565b611f156040830160208401614a4d565b606780546001600160a01b039290921661010002610100600160a81b0319909216919091179055611f4c6060830160408401614a4d565b606880546001600160a01b0319166001600160a01b03929092169190911790556060820135606a55608082013560765560a082013560775560c0820135607855611f9d610100830160e08401614b0e565b6082805460ff191691151591909117905560685460675460405163095ea7b360e01b81526101009091046001600160a01b03908116600483015260001960248301529091169063095ea7b390604401602060405180830381600087803b15801561200657600080fd5b505af115801561201a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203e9190614b2a565b5080156113cf576000805461ff00191690555050565b61205c6142ba565b6001600160a01b0381166120825760405162461bcd60e51b8152600401610b6e90614e2c565b60678054610100600160a81b0319166101006001600160a01b038481168202929092179283905560685460405163095ea7b360e01b81529190930482166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b1580156120f257600080fd5b505af1158015612106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212a9190614b2a565b506040516001600160a01b03821681527fcd9f73cb77eb3f2287cdfd1b291c691d33e2cb7ca1774dba627bc61f163d6b9b90602001610c51565b6001546001600160a01b031633146121dc5760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610b6e565b60005460015460408051620100009093046001600160a01b03908116845290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1600180546000805462010000600160b01b0319166001600160a01b03831662010000021790556001600160a01b0319169055565b6122696142ba565b608980546001600160a01b0319166001600160a01b038416908117909155608a82905560408051918252602082018390527fa1a8623472ca4e2879372be60dfd1ff0675778e49f7379eedd98ca57cf36b21a910160405180910390a15050565b6122d16142ba565b607b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f3c7faa500efbd341aedbf1ee7ebd52ea36d226dda76bc01dd39b43d46f55b8d390602001610c51565b6001606660008282546123329190614e63565b909155505060665460345460ff161561235d5760405162461bcd60e51b8152600401610b6e90614cec565b60675461010090046001600160a01b0316331461238c5760405162461bcd60e51b8152600401610b6e90614ca6565b60845460ff16156123af5760405162461bcd60e51b8152600401610b6e90614d16565b82156118b357606854600160a01b900460ff166123de5760405162461bcd60e51b8152600401610b6e90614c78565b60006123e985612b38565b905060006123f682614479565b9050600080876001600160a01b031663cc2ee1966040518163ffffffff1660e01b8152600401604080518083038186803b15801561243357600080fd5b505afa158015612447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246b9190614b46565b909250905060008087600181111561249357634e487b7160e01b600052602160045260246000fd5b1461249e57816124a0565b825b606754604051633cf57f7560e21b81526001600160a01b038084166004830152602482018c90526101009092048216604482015291925085169063f3d5fdd490606401600060405180830381600087803b1580156124fd57600080fd5b505af1158015612511573d6000803e3d6000fd5b50505050505050505060665481146118d45760405162461bcd60e51b8152600401610b6e90614df5565b60016066600082825461254e9190614e63565b909155505060665460345460ff16156125795760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff161561259c5760405162461bcd60e51b8152600401610b6e90614d16565b6125a4614090565b6125f05760405162461bcd60e51b815260206004820152601960248201527f43616e277420636c6f73652063757272656e7420726f756e64000000000000006044820152606401610b6e565b6125f8613e54565b6069546000908152606c60205260408082205460685491516370a0823160e01b81526001600160a01b0391821660048201819052939291909116906370a082319060240160206040518083038186803b15801561265457600080fd5b505afa158015612668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061268c9190614ba9565b60695460009081526070602052604090205490915081111561275457608a546069546000908152607060205260408120549091670de0b6b3a7640000916126d39085614eba565b6126dd9190614e9b565b6126e79190614e7b565b608954606854919250612709916001600160a01b03908116918691168461441f565b6127138183614eba565b608a5460408051918252602082018490529193507fb8379d05082aa2dd32963972d72cc2d46257811133341855b63bb2fddda6ca3e910160405180910390a1505b606954600090815260706020526040902054612784576069546000908152607460205260409020600190556127c5565b6069546000908152607060205260409020546127a8670de0b6b3a764000083614e9b565b6127b29190614e7b565b6069546000908152607460205260409020555b6084805460ff191660011790556069546040517fa224cce482b24082d1d3128437615f7f5ce87b97453a11114846ea442a100272916128079190815260200190565b60405180910390a150506066548114610cc75760405162461bcd60e51b8152600401610b6e90614df5565b6001606660008282546128459190614e63565b9091555050606654606854600160a01b900460ff166128765760405162461bcd60e51b8152600401610b6e90614c78565b3360009081526071602052604090205460ff16156128d65760405162461bcd60e51b815260206004820152601c60248201527f5769746864726177616c20616c726561647920726571756573746564000000006044820152606401610b6e565b6069546000908152606f602090815260408083203384529091529020546129355760405162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20776974686472617760681b6044820152606401610b6e565b606f600060695460016129489190614e63565b815260208082019290925260409081016000908120338252909252902054156129835760405162461bcd60e51b8152600401610b6e90614d5d565b60345460ff16156129a65760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff16156129c95760405162461bcd60e51b8152600401610b6e90614d16565b6129db662386f26fc10000600a614e9b565b82101580156129fb57506129f7662386f26fc10000605a614e9b565b8211155b612a535760405162461bcd60e51b815260206004820152602360248201527f53686172652068617320746f206265206265747765656e2031302520616e642060448201526239302560e81b6064820152608401610b6e565b6069546000908152606f60209081526040808320338452909152812054670de0b6b3a764000090612a85908590614e9b565b612a8f9190614e7b565b905080607f541115612ab85780607f6000828254612aad9190614eba565b90915550612abe9050565b6000607f555b336000818152607160209081526040808320805460ff19166001179055608782529182902086905590519182527fe5892ff2a8b08efb903ffbba1f0514c1d3e22eea34dd5b89cf30aabce03dde5a910160405180910390a15060665481146113cf5760405162461bcd60e51b8152600401610b6e90614df5565b6000808290506000816001600160a01b0316639e3b34bf6040518163ffffffff1660e01b8152600401604080518083038186803b158015612b7857600080fd5b505afa158015612b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb09190614c06565b509050606b54811115612be957606a54606b54612bcd9083614eba565b612bd79190614e7b565b612be2906001614e63565b9250612bee565b600192505b5050919050565b33600090815260716020526040902054819060ff1615612c675760405162461bcd60e51b815260206004820152602760248201527f5769746864726177616c206973207265717565737465642c2063616e6e6f742060448201526619195c1bdcda5d60ca1b6064820152608401610b6e565b60765481607f54612c789190614e63565b1115612cd05760405162461bcd60e51b815260206004820152602160248201527f4465706f73697420616d6f756e74206578636565647320414d4d204c502063616044820152600760fc1b6064820152608401610b6e565b6069546000908152606f60209081526040808320338452909152902054158015612d285750606f60006069546001612d089190614e63565b815260208082019290925260409081016000908120338252909252902054155b15612d8957607754811015612d895760405162461bcd60e51b815260206004820152602160248201527f416d6f756e74206c657373207468616e206d696e4465706f736974416d6f756e6044820152601d60fa1b6064820152608401610b6e565b600160666000828254612d9c9190614e63565b909155505060665460345460ff1615612dc75760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff1615612dea5760405162461bcd60e51b8152600401610b6e90614d16565b60006069546001612dfb9190614e63565b90506000612e0882614479565b606854909150612e23906001600160a01b031633838861441f565b607a546001600160a01b0316331415612e9b5760405162461bcd60e51b815260206004820152603460248201527f43616e2774206465706f736974206469726563746c792061732064656661756c6044820152733a103634b8bab4b234ba3c90383937bb34b232b960611b6064820152608401610b6e565b6069546000908152606f60209081526040808320338452909152902054158015612edc57506000828152606f60209081526040808320338452909152902054155b15612f955760785460795410612f345760405162461bcd60e51b815260206004820152601b60248201527f4d617820616d6f756e74206f66207573657273207265616368656400000000006044820152606401610b6e565b6000828152606d602090815260408083208054600181810183559185528385200180546001600160a01b03191633908117909155868552606e8452828520908552909252909120805460ff191682179055607954612f9191614e63565b6079555b6000828152606f6020908152604080832033845290915281208054879290612fbe908490614e63565b909155505060008281526070602052604081208054879290612fe1908490614e63565b9250508190555084607f6000828254612ffa9190614e63565b9091555050607b546001600160a01b03161561307557607b546040516302c7739b60e01b8152336004820152602481018790526001600160a01b03909116906302c7739b90604401600060405180830381600087803b15801561305c57600080fd5b505af1158015613070573d6000803e3d6000fd5b505050505b606954604080513381526020810188905280820192909252517f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca9181900360600190a150506066548114611d235760405162461bcd60e51b8152600401610b6e90614df5565b6069546000908152606c60205260408120546001600160a01b031681805b6069546000908152607260205260409020548110156132af57606954600090815260726020526040812080548390811061314357634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015460695483526083825260408084206001600160a01b039092168085529190925291205490915060ff1661329c57809250826001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b1580156131ba57600080fd5b505afa1580156131ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f29190614b2a565b1561329c57604051636392a51f60e01b81526001600160a01b0385811660048301526000918291861690636392a51f90602401604080518083038186803b15801561323c57600080fd5b505afa158015613250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132749190614c06565b9150915060008211806132875750600081115b15613299576001965050505050505090565b50505b50806132a781614efd565b9150506130f9565b5060009250505090565b6001606660008282546132cc9190614e63565b909155505060665460345460ff16156132f75760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff161561331a5760405162461bcd60e51b8152600401610b6e90614d16565b6000821161333a5760405162461bcd60e51b8152600401610b6e90614db3565b6069546000908152606c60205260408120546001600160a01b03169080805b606954600090815260726020526040902054811015613513578583141561337f57613513565b60695460009081526072602052604081208054839081106133b057634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015460695483526083825260408084206001600160a01b039092168085529190925291205490915060ff1661350057809250826001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b15801561342757600080fd5b505afa15801561343b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345f9190614b2a565b156135005760405163bb580fbb60e01b81526001600160a01b03848116600483015286169063bb580fbb90602401600060405180830381600087803b1580156134a757600080fd5b505af11580156134bb573d6000803e3d6000fd5b505060695460009081526083602090815260408083206001600160a01b03871684529091529020805460ff191660019081179091556134fd9250905085614e63565b93505b508061350b81614efd565b915050613359565b5050505060665481146113cf5760405162461bcd60e51b8152600401610b6e90614df5565b6135406142ba565b606854600160a01b900460ff16156135a55760405162461bcd60e51b815260206004820152602260248201527f4c697175696469747920706f6f6c2068617320616c7265616479207374617274604482015261195960f21b6064820152608401610b6e565b600160005260706020527fb1a24bae1e5047fbb0cf526090cbec15c09a4036896111a8964a155b1c4771a15461361d5760405162461bcd60e51b815260206004820152601d60248201527f63616e206e6f7420737461727420776974682030206465706f736974730000006044820152606401610b6e565b42606b556001606981905560009061363490614479565b9050806001600160a01b0316637d3de7ce606b546136526001610af9565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087803b15801561369057600080fd5b505af11580156136a4573d6000803e3d6000fd5b50506068805460ff60a01b1916600160a01b17905550506040517f960682678fca98f3ed131eaf165e59544bcd738e948f0b3c64f58fa9e1c65e6090600090a150565b6000606c60006136f684612b38565b81526020810191909152604001600020546001600160a01b031692915050565b61371e6142ba565b6001600160a01b0381166137665760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610b6e565b600154600160a81b900460ff16156137b65760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610b6e565b600080546001600160a01b038381166201000081810262010000600160b01b031990941693909317938490556001805460ff60a81b1916600160a81b1790556040805193909404909116825260208201527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9101610c51565b600082815260756020818152604080842054607483528185205486865293909252832054909161385e91614e9b565b6138689190614e7b565b9392505050565b6069546000908152606f602090815260408083206001600160a01b03851684529091528120541515806138e657506000606f600060695460016138b29190614e63565b81526020019081526020016000206000846001600160a01b03166001600160a01b0316815260200190815260200160002054115b8015610b1657506001600160a01b03821660009081526071602052604090205460ff161580610b165750506001600160a01b0316600090815260876020526040902054151590565b6139366142ba565b60778190556040518181527f990717cc219e5348c1b88bb0ff530d804f0b6f54f3b03844a2bfbe4eb1e9c5d690602001610c51565b606a5460009061397c600184614eba565b610b099190614e9b565b61398e6142ba565b60768190556040518181527f8c43aa02599ac8f8bab4724621ceea5e7a06b07bbbfaf3b7bd0386cbe481ea3c90602001610c51565b6001606660008282546139d69190614e63565b909155505060665460345460ff1615613a015760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff16613a535760405162461bcd60e51b815260206004820152601a60248201527f526f756e6420636c6f73696e67206e6f742070726570617265640000000000006044820152606401610b6e565b6069546000908152606d602052604090205460855414613ab55760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420616c6c2075736572732070726f6365737365642079657400000000006044820152606401610b6e565b6084805460ff191690556069546000908152606c6020908152604080832054606f8352818420607a546001600160a01b039081168652935292205491169015613baf57606954600090815260746020908152604080832054606f8352818420607a546001600160a01b03168552909252822054670de0b6b3a764000091613b3b91614e9b565b613b459190614e7b565b607a54606854919250613b67916001600160a01b03908116918591168461441f565b607a54604080516001600160a01b039092168252602082018390527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a910160405180910390a1505b60695460011415613bdd57606954600090815260746020908152604080832054607590925290912055613c40565b606954600081815260746020526040812054670de0b6b3a7640000929091607591613c0a90600190614eba565b815260200190815260200160002054613c239190614e9b565b613c2d9190614e7b565b6069546000908152607560205260409020555b600160696000828254613c539190614e63565b90915550506068546040516370a0823160e01b81526001600160a01b038381166004830152909116906370a082319060240160206040518083038186803b158015613c9d57600080fd5b505afa158015613cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cd59190614ba9565b60695460009081526070602052604081208054909190613cf6908490614e63565b90915550506069546000818152606f60209081526040808320607a546001600160a01b031684528252808320549383526070909152902054613d389190614eba565b607f55606954600090613d4a90614479565b6068546040516370a0823160e01b81526001600160a01b038086166004830152929350613de592859285929116906370a082319060240160206040518083038186803b158015613d9957600080fd5b505afa158015613dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dd19190614ba9565b6068546001600160a01b031692919061441f565b60006085556069547fc67dda8e11f1aa941c7e74466b1859a07a32f46aaf641d29b83be348424d93cd90613e1b90600190614eba565b607460006001606954613e2e9190614eba565b815260200190815260200160002054604051612807929190918252602082015260400190565b60845460ff1615613e775760405162461bcd60e51b8152600401610b6e90614d16565b6069546000908152606c60205260408120546001600160a01b031690805b606954600090815260726020526040902054811015611d23576069546000908152607260205260408120805483908110613edf57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015460695483526083825260408084206001600160a01b039092168085529190925291205490915060ff1661401f57809250826001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b158015613f5657600080fd5b505afa158015613f6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f8e9190614b2a565b1561401f5760405163bb580fbb60e01b81526001600160a01b03848116600483015285169063bb580fbb90602401600060405180830381600087803b158015613fd657600080fd5b505af1158015613fea573d6000803e3d6000fd5b505060695460009081526083602090815260408083206001600160a01b03871684529091529020805460ff1916600117905550505b508061402a81614efd565b915050613e95565b60675460ff161561407b5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610b6e565b6067805460ff19166001908117909155606655565b606854600090600160a01b900460ff1615806140b557506140b2606954610af9565b42105b156140c05750600090565b6000805b6069546000908152607260205260409020548110156141de57606954600090815260726020526040812080548390811061410e57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091015460695483526083825260408084206001600160a01b039092168085529190925291205490915060ff166141cb57809250826001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b15801561418557600080fd5b505afa158015614199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141bd9190614b2a565b6141cb576000935050505090565b50806141d681614efd565b9150506140c4565b50600191505090565b60675460009061010090046001600160a01b031633146142195760405162461bcd60e51b8152600401610b6e90614ca6565b60016066600082825461422c9190614e63565b909155505060665460345460ff16156142575760405162461bcd60e51b8152600401610b6e90614cec565b60845460ff161561427a5760405162461bcd60e51b8152600401610b6e90614d16565b600061428584612b38565b905061429081614479565b92505060665481146142b45760405162461bcd60e51b8152600401610b6e90614df5565b50919050565b6000546201000090046001600160a01b031633146143325760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610b6e565b565b60345460ff1661437d5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610b6e565b6034805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60345460ff16156143ea5760405162461bcd60e51b8152600401610b6e90614cec565b6034805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586143aa3390565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526118d490859061476b565b6000818152606c60205260409020546001600160a01b03168061461657607d546001600160a01b03166144ee5760405162461bcd60e51b815260206004820152601d60248201527f526f756e6420706f6f6c206d6173746572636f7079206e6f74207365740000006044820152606401610b6e565b607d54600090614506906001600160a01b031661483d565b6068549091506001600160a01b038083169163d13f90b4913091168661453061050e600183614eba565b61453989610af9565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015260448401919091526064830152608482015260a401600060405180830381600087803b15801561459557600080fd5b505af11580156145a9573d6000803e3d6000fd5b5050506000848152606c602090815260409182902080546001600160a01b0319166001600160a01b03861690811790915582518781529182015292935083927f24c1b21b902a85b5039d7d72427d9376657229eea77880ec9e62031dc950f6ba92500160405180910390a1505b919050565b60825460009060ff161561463857610b1664e8d4a5100083614e7b565b5090565b607a546001600160a01b031661469f5760405162461bcd60e51b815260206004820152602260248201527f64656661756c74206c69717569646974792070726f7669646572206e6f742073604482015261195d60f21b6064820152608401610b6e565b607a546068546146bd916001600160a01b039182169116848661441f565b6000818152606f60209081526040808320607a546001600160a01b03168452909152812080548592906146f1908490614e63565b909155505060008181526070602052604081208054859290614714908490614e63565b9091555050607a54604080516001600160a01b0390921682526020820185905281018290527f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca9060600160405180910390a1505050565b60006147c0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166148d59092919063ffffffff16565b805190915015611d2357808060200190518101906147de9190614b2a565b611d235760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b6e565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b0381166146165760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606401610b6e565b60606148e484846000856148ec565b949350505050565b60608247101561494d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610b6e565b843b61499b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b6e565b600080866001600160a01b031685876040516149b79190614c29565b60006040518083038185875af1925050503d80600081146149f4576040519150601f19603f3d011682016040523d82523d6000602084013e6149f9565b606091505b5091509150614a09828286614a14565b979650505050505050565b60608315614a23575081613868565b825115614a335782518084602001fd5b8160405162461bcd60e51b8152600401610b6e9190614c45565b600060208284031215614a5e578081fd5b813561386881614f2e565b60008060408385031215614a7b578081fd5b8235614a8681614f2e565b946020939093013593505050565b600080600060608486031215614aa8578081fd5b8335614ab381614f2e565b9250602084013591506040840135614aca81614f2e565b809150509250925092565b600080600060608486031215614ae9578283fd5b8335614af481614f2e565b925060208401359150604084013560028110614aca578182fd5b600060208284031215614b1f578081fd5b813561386881614f43565b600060208284031215614b3b578081fd5b815161386881614f43565b60008060408385031215614b58578182fd5b8251614b6381614f2e565b6020840151909250614b7481614f2e565b809150509250929050565b600061010082840312156142b4578081fd5b600060208284031215614ba2578081fd5b5035919050565b600060208284031215614bba578081fd5b5051919050565b60008060408385031215614bd3578182fd5b823591506020830135614b7481614f2e565b60008060408385031215614bf7578182fd5b50508035926020909101359150565b60008060408385031215614c18578182fd5b505080516020909101519092909150565b60008251614c3b818460208701614ed1565b9190910192915050565b6020815260008251806020840152614c64816040850160208701614ed1565b601f01601f19169190910160400192915050565b602080825260149082015273141bdbdb081a185cc81b9bdd081cdd185c9d195960621b604082015260600190565b60208082526026908201527f6f6e6c792074686520414d4d206d617920706572666f726d207468657365206d6040820152656574686f647360d01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526027908201527f4e6f7420616c6c6f77656420647572696e6720726f756e64436c6f73696e67506040820152661c995c185c995960ca1b606082015260800190565b60208082526036908201527f43616e277420776974686472617720617320796f7520616c72656164792064656040820152751c1bdcda5d195908199bdc881b995e1d081c9bdd5b9960521b606082015260800190565b60208082526022908201527f626174636853697a652068617320746f2062652067726561746572207468616e604082015261020360f41b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252601b908201527f43616e206e6f74207365742061207a65726f2061646472657373210000000000604082015260600190565b60008219821115614e7657614e76614f18565b500190565b600082614e9657634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615614eb557614eb5614f18565b500290565b600082821015614ecc57614ecc614f18565b500390565b60005b83811015614eec578181015183820152602001614ed4565b838111156118d45750506000910152565b6000600019821415614f1157614f11614f18565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610cc757600080fd5b8015158114610cc757600080fdfea2646970667358221220a42e9614ba670fc66ed745a7b925d0d5a297340e15beae1e8d22da1b82b8538664736f6c63430008040033
Generate instant answers for your smart contract questions using Al Models. Read more.
Net Worth in USD
Net Worth in ETH
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

