OP Sepolia Testnet

Contract

0xee2675507a0FC55b7A3A2fDc8222CE603fF9e7Fd
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount

There are no matching entries

Please try again later

Parent Transaction Hash Block From To Amount
View All Internal Transactions
Loading...
Loading
Source Code Verified Exact Match

Contract Name

SportsAMMV2Data

Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled
Yes with 100 runs
Other Settings
paris EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract ABI
API
[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sportsAMM","type":"address"},{"indexed":false,"internalType":"address","name":"riskManager","type":"address"}],"name":"AddressesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","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":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint16[]","name":"_typeIds","type":"uint16[]"},{"internalType":"uint24[]","name":"_playerIds","type":"uint24[]"},{"internalType":"int24[]","name":"_lines","type":"int24[]"}],"name":"areMarketsResolved","outputs":[{"internalType":"bool[]","name":"resolvedMarkets","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getActiveTicketsDataPerUser","outputs":[{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2Data.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2Data.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2Data.TicketData[]","name":"ticketsData","type":"tuple[]"},{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2Data.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2Data.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2Data.TicketData[]","name":"freeBetsData","type":"tuple[]"},{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2Data.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2Data.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2Data.TicketData[]","name":"stakingBettingProxyData","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getAllActiveGameIdsTypeIdsPlayerIdsLinesForGameIds","outputs":[{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct SportsAMMV2Data.TicketMarketInfo[]","name":"finalTicketsInfo","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint16[]","name":"_sportIds","type":"uint16[]"},{"internalType":"uint16[]","name":"_typeIds","type":"uint16[]"},{"internalType":"uint256[]","name":"_maturities","type":"uint256[]"}],"name":"getCapsPerMarkets","outputs":[{"internalType":"uint256[]","name":"caps","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ticket","type":"address"},{"internalType":"uint256[]","name":"approvedOddsPerLeg","type":"uint256[]"},{"internalType":"bool[]","name":"isLegSettled","type":"bool[]"}],"name":"getCashoutQuoteAndPayout","outputs":[{"internalType":"uint256","name":"quote","type":"uint256"},{"internalType":"uint256","name":"payoutAfterFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address[]","name":"collateralAddresses","type":"address[]"}],"name":"getFreeBetsDataPerUser","outputs":[{"internalType":"uint256[]","name":"freeBetsAmountPerCollateral","type":"uint256[]"},{"internalType":"uint256[]","name":"freeBetsExpiryPerCollateral","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odds","type":"uint256"}],"internalType":"struct SportsAMMV2Data.MarketStakeCalculationInput[]","name":"inputs","type":"tuple[]"}],"name":"getMaxStakeAndLiquidityBatch","outputs":[{"internalType":"uint256[]","name":"maxStakes","type":"uint256[]"},{"internalType":"uint256[]","name":"availableLiquidity","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getOnlyActiveGameIdsAndTicketsOf","outputs":[{"internalType":"bytes32[]","name":"activeGameIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"numOfTicketsPerGameId","type":"uint256[]"},{"internalType":"address[][]","name":"ticketsPerGameId","type":"address[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getResolvedTicketsDataPerUser","outputs":[{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2Data.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2Data.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2Data.TicketData[]","name":"ticketsData","type":"tuple[]"},{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2Data.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2Data.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2Data.TicketData[]","name":"freeBetsData","type":"tuple[]"},{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2Data.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2Data.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2Data.TicketData[]","name":"stakingBettingProxyData","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint16[]","name":"_typeIds","type":"uint16[]"},{"internalType":"uint24[]","name":"_playerIds","type":"uint24[]"}],"name":"getResultsForMarkets","outputs":[{"internalType":"int24[][]","name":"resultsForMarkets","type":"int24[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"_typeIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_playerIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_positions","type":"uint256[]"}],"name":"getRiskOnMarkets","outputs":[{"internalType":"int256[]","name":"riskAmounts","type":"int256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"}],"name":"getSpentOnGames","outputs":[{"internalType":"uint256[]","name":"spentAmounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSportsAMMParameters","outputs":[{"components":[{"internalType":"uint256","name":"minBuyInAmount","type":"uint256"},{"internalType":"uint256","name":"maxTicketSize","type":"uint256"},{"internalType":"uint256","name":"maxSupportedAmount","type":"uint256"},{"internalType":"uint256","name":"maxSupportedOdds","type":"uint256"},{"internalType":"uint256","name":"safeBoxFee","type":"uint256"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"uint256","name":"maxAllowedSystemCombinations","type":"uint256"}],"internalType":"struct SportsAMMV2Data.SportsAMMParameters","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"tickets","type":"address[]"}],"name":"getTicketLegStatesBatch","outputs":[{"components":[{"internalType":"address","name":"ticket","type":"address"},{"internalType":"bool[]","name":"resolved","type":"bool[]"},{"internalType":"bool[]","name":"voided","type":"bool[]"},{"internalType":"uint256[]","name":"marketOdds","type":"uint256[]"}],"internalType":"struct SportsAMMV2Data.TicketLegState[]","name":"out","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"ticketsArray","type":"address[]"}],"name":"getTicketsData","outputs":[{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2Data.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2Data.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2Data.TicketData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getTicketsDataPerGame","outputs":[{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2Data.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2Data.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2Data.TicketData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract ISportsAMMV2","name":"_sportsAMM","type":"address"},{"internalType":"contract ISportsAMMV2RiskManager","name":"_riskManager","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"riskManager","outputs":[{"internalType":"contract ISportsAMMV2RiskManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ISportsAMMV2","name":"_sportsAMM","type":"address"},{"internalType":"contract ISportsAMMV2RiskManager","name":"_riskManager","type":"address"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sportsAMM","outputs":[{"internalType":"contract ISportsAMMV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"proxyAddress","type":"address"}],"name":"transferOwnershipAtInit","outputs":[],"stateMutability":"nonpayable","type":"function"}]
608060405234801561001057600080fd5b50615f9a80620000216000396000f3fe608060405234801561001057600080fd5b506004361061018f5760003560e01c80638da5cb5b116100e4578063c0c53b8b11610092578063c0c53b8b146103a9578063c3b83f5f146103bc578063c9925288146103cf578063ddd57607146103e7578063e211088414610409578063ec435e031461041c578063f39d03b814610444578063f518a5cf146104a457600080fd5b80638da5cb5b1461030657806390107afe1461031957806391b4ded91461032c5780639c683ebc14610343578063b60d370714610363578063b71a6cf914610376578063b7dab9301461039657600080fd5b8063563b27c411610141578063563b27c41461024e5780635b615b2c1461026e5780635c975abb146102815780635fb1162d1461029e578063604ab8b4146102be5780636b43bc82146102de57806379ba5097146102fe57600080fd5b806313af4035146101945780631627540c146101a957806316c38b3c146101bc57806345e94eb8146101cf57806347842663146101fa578063500ff14b1461021a57806353a47bb71461023b575b600080fd5b6101a76101a23660046149a0565b6104c4565b005b6101a76101b73660046149a0565b6105e0565b6101a76101ca3660046149d2565b610633565b6101e26101dd366004614aeb565b6106a5565b6040516101f193929190614b73565b60405180910390f35b60045461020d906001600160a01b031681565b6040516101f19190614c50565b61022d610228366004614c64565b6106c4565b6040516101f1929190614cd9565b60015461020d906001600160a01b031681565b61026161025c366004614d52565b6107b6565b6040516101f1919061511a565b61022d61027c36600461512d565b6107fd565b60035461028e9060ff1681565b60405190151581526020016101f1565b6102b16102ac3660046151db565b610ba1565b6040516101f1919061529e565b6102d16102cc366004614aeb565b610d19565b6040516101f19190615314565b6102f16102ec36600461543f565b611195565b6040516101f191906154c6565b6101a7611398565b60005461020d906001600160a01b031681565b6101a7610327366004615528565b611470565b61033560025481565b6040519081526020016101f1565b610356610351366004614d52565b6114f5565b6040516101f19190615593565b610261610371366004615672565b611909565b610389610384366004614d52565b611a9b565b6040516101f1919061569e565b6103896103a43660046151db565b611bab565b6101a76103b73660046156b1565b611d24565b6101a76103ca3660046149a0565b611e73565b60035461020d9061010090046001600160a01b031681565b6103fa6103f53660046156fc565b611f63565b6040516101f193929190615731565b6103fa6104173660046156fc565b61219b565b61042f61042a366004615774565b61235f565b604080519283526020830191909152016101f1565b61044c612555565b6040516101f19190600060e082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151151560a083015260c083015160c083015292915050565b6104b76104b2366004615805565b61290a565b6040516101f1919061590d565b6001600160a01b03811661051b5760405162461bcd60e51b815260206004820152601960248201527804f776e657220616464726573732063616e6e6f74206265203603c1b60448201526064015b60405180910390fd5b600154600160a01b900460ff16156105875760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610512565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b0383166001600160a01b0319909116178155604051600080516020615f45833981519152916105d5918490615920565b60405180910390a150565b6105e8612bef565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105d5908390614c50565b61063b612bef565b60035460ff161515811515146106a2576003805460ff191682151590811790915560ff161561066957426002555b60035460405160ff909116151581527f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5906020016105d5565b50565b60608060606106b5868686612c63565b91989097509095509350505050565b60608082806001600160401b038111156106e0576106e06149ef565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b509250806001600160401b03811115610724576107246149ef565b60405190808252806020026020018201604052801561074d578160200160208202803683370190505b50915060005b818110156107ad5761077e8686838181106107705761077061593a565b905061012002018483613097565b8482815181106107905761079061593a565b6020908102919091010152806107a581615966565b915050610753565b50509250929050565b60606107f483838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061344492505050565b90505b92915050565b60608082516001600160401b03811115610819576108196149ef565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b50915082516001600160401b0381111561085e5761085e6149ef565b604051908082528060200260200182016040528015610887578160200160208202803683370190505b5090506000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610903919061597f565b90506000816001600160a01b031663b1b5823b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610945573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610969919061599c565b90506000826001600160a01b031663edc5de8e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf919061599c565b905060005b8651811015610b9657836001600160a01b031663cab7bf56898984815181106109ff576109ff61593a565b60200260200101516040518363ffffffff1660e01b8152600401610a24929190615920565b602060405180830381865afa158015610a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a65919061599c565b868281518110610a7757610a7761593a565b6020026020010181815250506000846001600160a01b031663e74e33e08a8a8581518110610aa757610aa761593a565b60200260200101516040518363ffffffff1660e01b8152600401610acc929190615920565b602060405180830381865afa158015610ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0d919061599c565b905080600003610b4a5742610b2284866159b5565b11610b2e576000610b43565b42610b3984866159b5565b610b4391906159c8565b9050610b65565b428111610b58576000610b62565b610b6242826159c8565b90505b80868381518110610b7857610b7861593a565b60209081029190910101525080610b8e81615966565b9150506109d4565b505050509250929050565b6060876001600160401b03811115610bbb57610bbb6149ef565b604051908082528060200260200182016040528015610be4578160200160208202803683370190505b50905060005b88811015610d0c576004546001600160a01b031663ca9ef2e68b8b84818110610c1557610c1561593a565b905060200201358a8a85818110610c2e57610c2e61593a565b90506020020135898986818110610c4757610c4761593a565b90506020020135888887818110610c6057610c6061593a565b905060200201356040518563ffffffff1660e01b8152600401610c9c949392919093845260208401929092526040830152606082015260800190565b602060405180830381865afa158015610cb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdd919061599c565b828281518110610cef57610cef61593a565b602090810291909101015280610d0481615966565b915050610bea565b5098975050505050505050565b606080606080610d2a878787612c63565b919450925090506000805b8451811015610e275760005b848281518110610d5357610d5361593a565b6020026020010151811015610e1457838281518110610d7457610d7461593a565b60200260200101518181518110610d8d57610d8d61593a565b60200260200101516001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df6919061599c565b610e0090846159b5565b925080610e0c81615966565b915050610d41565b5080610e1f81615966565b915050610d35565b506000816001600160401b03811115610e4257610e426149ef565b604051908082528060200260200182016040528015610e9457816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181610e605790505b50905060009150610ea3614878565b60005b86518110156110855760005b868281518110610ec457610ec461593a565b6020026020010151811015611072576000868381518110610ee757610ee761593a565b60200260200101518281518110610f0057610f0061593a565b6020026020010151905060005b816001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6f919061599c565b81101561105d57610f8082826142b4565b94508460000151868881518110610f9957610f9961593a565b602002602001015160000181815250508460400151868881518110610fc057610fc061593a565b60200260200101516020019061ffff16908161ffff16815250508460a00151868881518110610ff157610ff161593a565b60200260200101516040019062ffffff16908162ffffff168152505084608001518688815181106110245761102461593a565b60200260200101516060019060020b908160020b81525050868061104790615966565b975050808061105590615966565b915050610f0d565b5050808061106a90615966565b915050610eb2565b508061107d81615966565b915050610ea6565b5061108f8261441a565b95509250826001600160401b038111156110ab576110ab6149ef565b6040519080825280602002602001820160405280156110fd57816020015b6040805160808101825260008082526020808301829052928201819052606082015282526000199092019101816110c95790505b5096506000925060005b8251811015611187578581815181106111225761112261593a565b6020026020010151600103611175578281815181106111435761114361593a565b602002602001015188858151811061115d5761115d61593a565b60200260200101819052508361117290615966565b93505b8061117f81615966565b915050611107565b505050505050509392505050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611210919061597f565b905083518551148015611224575082518451145b156113905784516001600160401b03811115611242576112426149ef565b60405190808252806020026020018201604052801561127557816020015b60608152602001906001900390816112605790505b50915060005b855181101561138e57816001600160a01b031663514b75638783815181106112a5576112a561593a565b60200260200101518784815181106112bf576112bf61593a565b60200260200101518785815181106112d9576112d961593a565b60200260200101516040518463ffffffff1660e01b81526004016113199392919092835261ffff91909116602083015262ffffff16604082015260600190565b600060405180830381865afa158015611336573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261135e91908101906159db565b8382815181106113705761137061593a565b6020026020010181905250808061138690615966565b91505061127b565b505b509392505050565b6001546001600160a01b031633146114105760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610512565b600054600154604051600080516020615f4583398151915292611441926001600160a01b0391821692911690615920565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b611478612bef565b60038054610100600160a81b0319166101006001600160a01b038581169190910291909117909155600480546001600160a01b0319169183169190911790556040517fc651c70f44278e4b6b346230d2fcc09308ad801d6dc8b9c055f45581b3609075906114e99084908490615920565b60405180910390a15050565b606081806001600160401b03811115611510576115106149ef565b60405190808252806020026020018201604052801561157557816020015b611562604051806080016040528060006001600160a01b031681526020016060815260200160608152602001606081525090565b81526020019060019003908161152e5790505b50915060005b818110156119015760008585838181106115975761159761593a565b90506020020160208101906115ac91906149a0565b905060008190506000816001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611617919061599c565b90506000816001600160401b03811115611633576116336149ef565b60405190808252806020026020018201604052801561165c578160200160208202803683370190505b5090506000826001600160401b03811115611679576116796149ef565b6040519080825280602002602001820160405280156116a2578160200160208202803683370190505b5090506000836001600160401b038111156116bf576116bf6149ef565b6040519080825280602002602001820160405280156116e8578160200160208202803683370190505b50905060005b848110156118a25760405163c80f964b60e01b8152600481018290526001600160a01b0387169063c80f964b90602401602060405180830381865afa15801561173b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175f9190615a69565b8482815181106117715761177161593a565b9115156020928302919091019091015260405163cc705c4b60e01b8152600481018290526001600160a01b0387169063cc705c4b90602401602060405180830381865afa1580156117c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ea9190615a69565b8382815181106117fc576117fc61593a565b911515602092830291909101909101526040516307ca79d360e41b8152600481018290526001600160a01b03871690637ca79d3090602401602060405180830381865afa158015611851573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611875919061599c565b8282815181106118875761188761593a565b602090810291909101015261189b81615966565b90506116ee565b506040518060800160405280876001600160a01b03168152602001848152602001838152602001828152508988815181106118df576118df61593a565b6020026020010181905250505050505050806118fa90615966565b905061157b565b505092915050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611984919061597f565b604051635c3aa11b60e01b8152600481018790529091506000906001600160a01b03831690635c3aa11b90602401602060405180830381865afa1580156119cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f3919061599c565b9050808411611a025783611a04565b805b604051633a30376f60e11b81526004810187905260248101829052604481018890529094506000906001600160a01b038416906374606ede90606401600060405180830381865afa158015611a5d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a859190810190615a86565b9050611a9081613444565b979650505050505050565b6060816001600160401b03811115611ab557611ab56149ef565b604051908082528060200260200182016040528015611ade578160200160208202803683370190505b50905060005b82811015611ba4576004546001600160a01b03166305954ad4858584818110611b0f57611b0f61593a565b905060200201356040518263ffffffff1660e01b8152600401611b3491815260200190565b602060405180830381865afa158015611b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b75919061599c565b828281518110611b8757611b8761593a565b602090810291909101015280611b9c81615966565b915050611ae4565b5092915050565b6060876001600160401b03811115611bc557611bc56149ef565b604051908082528060200260200182016040528015611bee578160200160208202803683370190505b50905060005b88811015610d0c576004546001600160a01b03166359dc82578b8b84818110611c1f57611c1f61593a565b905060200201358a8a85818110611c3857611c3861593a565b9050602002016020810190611c4d9190615b14565b898986818110611c5f57611c5f61593a565b9050602002016020810190611c749190615b14565b6000808a8a89818110611c8957611c8961593a565b9050602002013560006040518863ffffffff1660e01b8152600401611cb49796959493929190615b31565b602060405180830381865afa158015611cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf5919061599c565b828281518110611d0757611d0761593a565b602090810291909101015280611d1c81615966565b915050611bf4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015611d695750825b90506000826001600160401b03166001148015611d855750303b155b905081158015611d93575080155b15611db15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611ddb57845460ff60401b1916600160401b1785555b611de4886104c4565b60038054610100600160a81b0319166101006001600160a01b038a81169190910291909117909155600480546001600160a01b0319169188169190911790558315611e6957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b611e7b612bef565b6001600160a01b038116611ec35760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610512565b600154600160a81b900460ff1615611f135760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610512565b600080546001600160a01b0383166001600160a01b031990911681179091556001805460ff60a81b1916600160a81b179055604051600080516020615f45833981519152916105d5918490615920565b60608060606000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe1919061597f565b6001600160a01b031663485b23bf87878a6040518463ffffffff1660e01b815260040161201093929190615b72565b600060405180830381865afa15801561202d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120559190810190615a86565b90506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d0919061597f565b6001600160a01b031663485b23bf88888b6040518463ffffffff1660e01b81526004016120ff93929190615b72565b600060405180830381865afa15801561211c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121449190810190615a86565b905061214f81613444565b945061215a82613444565b6040805160008082526020820190925291955061218d565b61217a6148c6565b8152602001906001900390816121725790505b509250505093509350939050565b60608060606000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612219919061597f565b6001600160a01b031663dd37861d87878a6040518463ffffffff1660e01b815260040161224893929190615b72565b600060405180830381865afa158015612265573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261228d9190810190615a86565b90506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612308919061597f565b6001600160a01b031663dd37861d88888b6040518463ffffffff1660e01b81526004016120ff93929190615b72565b61233f6148c6565b815260200190600190039081612337579050509250505093509350939050565b6000806000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123db919061597f565b604051634a322f0d60e01b81529091506001600160a01b03821690634a322f0d9061240a908b90600401614c50565b602060405180830381865afa158015612427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244b9190615a69565b15806124c15750604051631f939b2d60e01b81526001600160a01b03821690631f939b2d9061247e908b90600401614c50565b602060405180830381865afa15801561249b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bf9190615a69565b155b156124d357600080925092505061254b565b604051630789477d60e21b81526001600160a01b03891690631e251df490612505908a908a908a908a90600401615b91565b6040805180830381865afa158015612521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125459190615c14565b92509250505b9550959350505050565b6125976040518060e001604052806000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b6040518060e00160405280600460009054906101000a90046001600160a01b03166001600160a01b031663c6334f9f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612619919061599c565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166341dcd5fe6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612671573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612695919061599c565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b031663422f96bf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612711919061599c565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e88698bf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061278d919061599c565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b03166338ea71036040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612809919061599c565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612861573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128859190615a69565b15158152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e20222136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612903919061599c565b9052919050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612961573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612985919061597f565b905084518651148015612999575083518551145b15612be65785516001600160401b038111156129b7576129b76149ef565b6040519080825280602002602001820160405280156129e0578160200160208202803683370190505b50915060005b8651811015612be4576000826001600160a01b031663914008bc888481518110612a1257612a1261593a565b60200260200101516040518263ffffffff1660e01b8152600401612a40919061ffff91909116815260200190565b602060405180830381865afa158015612a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a819190615c47565b905060ff8116600314612bd1576040805160008082526020820190925281612ad1565b6040805160608101825260008082526020808301829052928201528252600019909201910181612aa45790505b509050836001600160a01b031663397f78238a8581518110612af557612af561593a565b60200260200101518a8681518110612b0f57612b0f61593a565b60200260200101518a8781518110612b2957612b2961593a565b60200260200101518a8881518110612b4357612b4361593a565b6020026020010151866040518663ffffffff1660e01b8152600401612b6c959493929190615c64565b602060405180830381865afa158015612b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bad9190615a69565b858481518110612bbf57612bbf61593a565b91151560209283029190910190910152505b5080612bdc81615966565b9150506129e6565b505b50949350505050565b6000546001600160a01b03163314612c615760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610512565b565b60608060606000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ce1919061597f565b905086518511612cf15784612cf4565b86515b94506000856001600160401b03811115612d1057612d106149ef565b604051908082528060200260200182016040528015612d39578160200160208202803683370190505b5090506000875b87811015612e1a576000846001600160a01b0316635c3aa11b8c8481518110612d6b57612d6b61593a565b60200260200101516040518263ffffffff1660e01b8152600401612d9191815260200190565b602060405180830381865afa158015612dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd2919061599c565b90508015612e075782612de481615966565b93505080848381518110612dfa57612dfa61593a565b6020026020010181815250505b5080612e1281615966565b915050612d40565b50806001600160401b03811115612e3357612e336149ef565b604051908082528060200260200182016040528015612e5c578160200160208202803683370190505b509550806001600160401b03811115612e7757612e776149ef565b604051908082528060200260200182016040528015612ea0578160200160208202803683370190505b509450806001600160401b03811115612ebb57612ebb6149ef565b604051908082528060200260200182016040528015612eee57816020015b6060815260200190600190039081612ed95790505b5093506000905060005b895181101561308a576000838281518110612f1557612f1561593a565b6020026020010151111561307857898181518110612f3557612f3561593a565b6020026020010151878381518110612f4f57612f4f61593a565b602002602001018181525050828181518110612f6d57612f6d61593a565b6020026020010151868381518110612f8757612f8761593a565b602002602001018181525050836001600160a01b03166374606ede6000858481518110612fb657612fb661593a565b60200260200101518d8581518110612fd057612fd061593a565b60200260200101516040518463ffffffff1660e01b8152600401613007939291909283526020830191909152604082015260600190565b600060405180830381865afa158015613024573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261304c9190810190615a86565b85838151811061305e5761305e61593a565b6020026020010181905250818061307490615966565b9250505b8061308281615966565b915050612ef8565b5050505093509350939050565b60045460009081906001600160a01b03166359dc825786356130bf6040890160208a01615b14565b6130cf60608a0160408b01615b14565b6130df60808b0160608c01615c9b565b6130ef60a08c0160808d01615cb8565b60a08c013561310460e08e0160c08f016149d2565b6040518863ffffffff1660e01b81526004016131269796959493929190615b31565b602060405180830381865afa158015613143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613167919061599c565b6004549091506000906001600160a01b031663ca9ef2e6873561319060608a0160408b01615b14565b6131a060808b0160608c01615c9b565b6131b16101008c0160e08d01615cd5565b6040516001600160e01b031960e087901b168152600481019490945261ffff909216602484015262ffffff16604483015260ff166064820152608401602060405180830381865afa15801561320a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061322e919061599c565b9050600061323c8284615cf2565b9050600080821361324e576000613250565b815b9050808787815181106132655761326561593a565b6020908102919091018101919091526004546000916001600160a01b03909116906399182a82908b359061329f9060408e01908e01615b14565b6040516001600160e01b031960e085901b168152600481019290925261ffff16602482015260a08c01356044820152606401602060405180830381865afa1580156132ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613312919061599c565b6004805460405163016552b560e21b81528c35928101929092529192506000916001600160a01b0316906305954ad490602401602060405180830381865afa158015613362573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613386919061599c565b905060008183116133985760006133a2565b6133a282846159c8565b905060008b61010001351180156133c55750670de0b6b3a76400008b6101000135105b156111875760006133e36101008d0135670de0b6b3a76400006159c8565b90506000816133f76101008f013588615d12565b6134019190615d29565b90506000828e6101000135856134179190615d12565b6134219190615d29565b90508082106134305780613432565b815b9e9d5050505050505050505050505050565b6060600082516001600160401b03811115613461576134616149ef565b60405190808252806020026020018201604052801561349a57816020015b6134876148c6565b81526020019060019003908161347f5790505b5090506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613516919061597f565b905060005b84518110156142ab5760008582815181106135385761353861593a565b602002602001015190506000816001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015613582573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135a6919061599c565b6001600160401b038111156135bd576135bd6149ef565b6040519080825280602002602001820160405280156135f657816020015b6135e3614878565b8152602001906001900390816135db5790505b5090506000826001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015613639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061365d919061599c565b6001600160401b03811115613674576136746149ef565b6040519080825280602002602001820160405280156136ba57816020015b6040805180820190915260008152606060208201528152602001906001900390816136925790505b50905060005b836001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa1580156136fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613722919061599c565b81101561378a5761373384826142b4565b8382815181106137455761374561593a565b602002602001018190525061375a84826145b3565b82828151811061376c5761376c61593a565b6020026020010181905250808061378290615966565b9150506136c0565b506040516320dcb23360e01b81526000906001600160a01b038716906320dcb233906137ba908790600401614c50565b602060405180830381865afa1580156137d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137fb9190615a69565b90506000866001600160a01b031663f4b943cc866040518263ffffffff1660e01b815260040161382b9190614c50565b602060405180830381865afa158015613848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061386c9190615a69565b90506000876001600160a01b0316634a322f0d876040518263ffffffff1660e01b815260040161389c9190614c50565b602060405180830381865afa1580156138b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138dd9190615a69565b9050600080876001600160a01b0316633f6fa6556040518163ffffffff1660e01b8152600401602060405180830381865afa158015613920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139449190615a69565b1580156139b05750876001600160a01b031663085d03ee6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561398a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ae9190615a69565b155b80156139ba575083155b80156139c4575084155b80156139cd5750825b8015613aa35750600480546040805163e88698bf60e01b815290516001600160a01b039092169263e88698bf9282820192602092908290030181865afa158015613a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a3f919061599c565b886001600160a01b031663400e69ef6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aa1919061599c565b115b90508215613b1057876001600160a01b03166374cbd36e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0d9190615a69565b91505b6040518061030001604052808e8b81518110613b2e57613b2e61593a565b60200260200101516001600160a01b03168152602001888152602001878152602001896001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb2919061597f565b6001600160a01b03168152602001896001600160a01b031662641e8b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c21919061597f565b6001600160a01b03168152602001896001600160a01b031663d165dac26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c91919061599c565b8152602001896001600160a01b0316639af1d35a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cf8919061599c565b8152602001896001600160a01b031663400e69ef6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d5f919061599c565b8152602001896001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015613da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dc6919061599c565b8152602001896001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e2d919061599c565b8152602001896001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e94919061599c565b8152602001896001600160a01b0316633f6fa6556040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ed7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613efb9190615a69565b15158152602001896001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f649190615a69565b15158152602001896001600160a01b0316639a82a09a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fcd9190615a69565b15158152602001896001600160a01b031663085d03ee6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140369190615a69565b15158152602001896001600160a01b0316633356a35a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561407b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061409f9190615a69565b15158152602001896001600160a01b031663e74d3c476040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141089190615a69565b15158152602001896001600160a01b031663242a8a6b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561414d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614171919061599c565b8152602001896001600160a01b031663b8f7a6656040518163ffffffff1660e01b8152600401602060405180830381865afa1580156141b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141d89190615a69565b151581526020018615158152602001866141f3576000614255565b896001600160a01b031663eef8889b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142559190615c47565b60ff168152602001851515815260200183151581526020018215158152508b8a815181106142855761428561593a565b6020026020010181905250505050505050505080806142a390615966565b91505061351b565b50909392505050565b6142bc614878565b6000806000806000806000808a6001600160a01b031663b1283e778b6040518263ffffffff1660e01b81526004016142f691815260200190565b61012060405180830381865afa158015614314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143389190615d4b565b985098509850985050975097509750975060008b6001600160a01b031663c358c6968c6040518263ffffffff1660e01b815260040161437991815260200190565b600060405180830381865afa158015614396573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526143be9190810190615df1565b60408051610120810182529a8b5261ffff998a1660208c01529790981696890196909652606088019490945260029290920b608087015262ffffff1660a086015260ff1660c085015260e0840152506101008201529392505050565b60006060600083516001600160401b03811115614439576144396149ef565b604051908082528060200260200182016040528015614462578160200160208202803683370190505b50905083516001600160401b0381111561447e5761447e6149ef565b6040519080825280602002602001820160405280156144a7578160200160208202803683370190505b50915060008060005b86518110156145aa578681815181106144cb576144cb61593a565b60200260200101516040516020016144e39190615ec9565b6040516020818303038152906040528051906020012092506001915060005b868110156145455784818151811061451c5761451c61593a565b602002602001015184036145335760009250614545565b8061453d81615966565b915050614502565b508115614598578284878151811061455f5761455f61593a565b602002602001018181525050600185828151811061457f5761457f61593a565b60209081029190910101528561459481615966565b9650505b806145a281615966565b9150506144b0565b50505050915091565b6040805180820190915260008152606060208201526000806000806000876001600160a01b031663b1283e77886040518263ffffffff1660e01b81526004016145fe91815260200190565b61012060405180830381865afa15801561461c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146409190615d4b565b50975097509750505095505094506000886001600160a01b031663c358c696896040518263ffffffff1660e01b815260040161467e91815260200190565b600060405180830381865afa15801561469b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526146c39190810190615df1565b90506000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561471a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061473e919061597f565b90506000816001600160a01b031663aa0cc0968989888a89896040518763ffffffff1660e01b815260040161477896959493929190615ed7565b602060405180830381865afa158015614795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147b99190615f23565b60405163514b756360e01b8152600481018a905261ffff8916602482015262ffffff871660448201529091506000906001600160a01b0384169063514b756390606401600060405180830381865afa158015614819573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261484191908101906159db565b9050604051806040016040528083600381111561486057614860614eb0565b8152602001919091529b9a5050505050505050505050565b604080516101208101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082019290925261010081019190915290565b604080516103008101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081018290526102408101829052610260810182905261028081018290526102a081018290526102c081018290526102e081019190915290565b6001600160a01b03811681146106a257600080fd5b6000602082840312156149b257600080fd5b81356149bd8161498b565b9392505050565b80151581146106a257600080fd5b6000602082840312156149e457600080fd5b81356149bd816149c4565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715614a2757614a276149ef565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614a5557614a556149ef565b604052919050565b60006001600160401b03821115614a7657614a766149ef565b5060051b60200190565b600082601f830112614a9157600080fd5b81356020614aa6614aa183614a5d565b614a2d565b82815260059290921b84018101918181019086841115614ac557600080fd5b8286015b84811015614ae05780358352918301918301614ac9565b509695505050505050565b600080600060608486031215614b0057600080fd5b83356001600160401b03811115614b1657600080fd5b614b2286828701614a80565b9660208601359650604090950135949350505050565b600081518084526020808501945080840160005b83811015614b6857815187529582019590820190600101614b4c565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b82811015614bac57815184529284019290840190600101614b90565b50505083810382850152614bc08187614b38565b905083810360408501528085518083528383019150838160051b84010184880160005b83811015614c4057858303601f1901855281518051808552908801908885019060005b81811015614c2b5783516001600160a01b03168352928a0192918a0191600101614c06565b50509588019593505090860190600101614be3565b50909a9950505050505050505050565b6001600160a01b0391909116815260200190565b60008060208385031215614c7757600080fd5b82356001600160401b0380821115614c8e57600080fd5b818501915085601f830112614ca257600080fd5b813581811115614cb157600080fd5b86602061012083028501011115614cc757600080fd5b60209290920196919550909350505050565b604081526000614cec6040830185614b38565b8281036020840152614cfe8185614b38565b95945050505050565b60008083601f840112614d1957600080fd5b5081356001600160401b03811115614d3057600080fd5b6020830191508360208260051b8501011115614d4b57600080fd5b9250929050565b60008060208385031215614d6557600080fd5b82356001600160401b03811115614d7b57600080fd5b614d8785828601614d07565b90969095509350505050565b600081518084526020808501945080840160005b83811015614b68578151805161ffff1688528381015160ff168489015260409081015160020b9088015260609096019590820190600101614da7565b600081518084526020808501808196508360051b8101915082860160005b85811015614ea357828403895281516101208151865286820151614e2a8888018261ffff169052565b5060408281015161ffff16908701526060808301519087015260808083015160020b9087015260a08083015162ffffff169087015260c08083015160ff169087015260e0808301519087015261010091820151918601819052614e8f81870183614d93565b9a87019a9550505090840190600101614e01565b5091979650505050505050565b634e487b7160e01b600052602160045260246000fd5b600081518084526020808501945080840160005b83811015614b6857815160020b87529582019590820190600101614eda565b600081518084526020808501808196508360051b810191508286016000805b86811015614f75578385038a528251604081516004808210614f4757634e487b7160e01b865260218152602486fd5b5087529087015187870182905290614f6181880183614ec6565b9b88019b9650505091850191600101614f18565b509298975050505050505050565b600081518084526020808501808196508360051b8101915082860160005b85811015614ea3578284038952815180516001600160a01b03168552610300868201518188880152614fd582880182614de3565b91505060408083015187830382890152614fef8382614ef9565b9250505060608083015161500d828901826001600160a01b03169052565b50506080828101516001600160a01b03169087015260a0808301519087015260c0808301519087015260e0808301519087015261010080830151908701526101208083015190870152610140808301519087015261016080830151151590870152610180808301511515908701526101a0808301511515908701526101c0808301511515908701526101e08083015115159087015261020080830151151590870152610220808301519087015261024080830151151590870152610260808301511515908701526102808083015160ff16908701526102a0808301511515908701526102c0808301511515908701526102e091820151151591909501529784019790840190600101614fa1565b6020815260006107f46020830184614f83565b6000806040838503121561514057600080fd5b823561514b8161498b565b91506020838101356001600160401b0381111561516757600080fd5b8401601f8101861361517857600080fd5b8035615186614aa182614a5d565b81815260059190911b820183019083810190888311156151a557600080fd5b928401925b828410156151cc5783356151bd8161498b565b825292840192908401906151aa565b80955050505050509250929050565b6000806000806000806000806080898b0312156151f757600080fd5b88356001600160401b038082111561520e57600080fd5b61521a8c838d01614d07565b909a50985060208b013591508082111561523357600080fd5b61523f8c838d01614d07565b909850965060408b013591508082111561525857600080fd5b6152648c838d01614d07565b909650945060608b013591508082111561527d57600080fd5b5061528a8b828c01614d07565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b818110156152d6578351835292840192918401916001016152ba565b50909695505050505050565b8051825261ffff602082015116602083015262ffffff6040820151166040830152606081015160020b60608301525050565b6020808252825182820181905260009190848201906040850190845b818110156152d6576153438385516152e2565b9284019260809290920191600101615330565b61ffff811681146106a257600080fd5b600082601f83011261537757600080fd5b81356020615387614aa183614a5d565b82815260059290921b840181019181810190868411156153a657600080fd5b8286015b84811015614ae05780356153bd81615356565b83529183019183016153aa565b62ffffff811681146106a257600080fd5b600082601f8301126153ec57600080fd5b813560206153fc614aa183614a5d565b82815260059290921b8401810191818101908684111561541b57600080fd5b8286015b84811015614ae0578035615432816153ca565b835291830191830161541f565b60008060006060848603121561545457600080fd5b83356001600160401b038082111561546b57600080fd5b61547787838801614a80565b9450602086013591508082111561548d57600080fd5b61549987838801615366565b935060408601359150808211156154af57600080fd5b506154bc868287016153db565b9150509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561551b57603f19888603018452615509858351614ec6565b945092850192908501906001016154ed565b5092979650505050505050565b6000806040838503121561553b57600080fd5b82356155468161498b565b915060208301356155568161498b565b809150509250929050565b600081518084526020808501945080840160005b83811015614b68578151151587529582019590820190600101615575565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561566357898403603f19018652825180516001600160a01b031685528881015160808a8701819052906155f482880182615561565b915050888201518682038a88015261560c8282615561565b606093840151888203948901949094528351808252938c0193869350908c0191505b8083101561564e5783518252928b019260019290920191908b019061562e565b50978a019795505050918701916001016155bb565b50919998505050505050505050565b60008060006060848603121561568757600080fd5b505081359360208301359350604090920135919050565b6020815260006107f46020830184614b38565b6000806000606084860312156156c657600080fd5b83356156d18161498b565b925060208401356156e18161498b565b915060408401356156f18161498b565b809150509250925092565b60008060006060848603121561571157600080fd5b833561571c8161498b565b95602085013595506040909401359392505050565b6060815260006157446060830186614f83565b82810360208401526157568186614f83565b9050828103604084015261576a8185614f83565b9695505050505050565b60008060008060006060868803121561578c57600080fd5b85356157978161498b565b945060208601356001600160401b03808211156157b357600080fd5b6157bf89838a01614d07565b909650945060408801359150808211156157d857600080fd5b506157e588828901614d07565b969995985093965092949392505050565b8060020b81146106a257600080fd5b6000806000806080858703121561581b57600080fd5b84356001600160401b038082111561583257600080fd5b61583e88838901614a80565b955060209150818701358181111561585557600080fd5b61586189828a01615366565b95505060408701358181111561587657600080fd5b61588289828a016153db565b94505060608701358181111561589757600080fd5b87019050601f810188136158aa57600080fd5b80356158b8614aa182614a5d565b81815260059190911b8201830190838101908a8311156158d757600080fd5b928401925b828410156158fe5783356158ef816157f6565b825292840192908401906158dc565b979a9699509497505050505050565b6020815260006107f46020830184615561565b6001600160a01b0392831681529116602082015260400190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161597857615978615950565b5060010190565b60006020828403121561599157600080fd5b81516149bd8161498b565b6000602082840312156159ae57600080fd5b5051919050565b808201808211156107f7576107f7615950565b818103818111156107f7576107f7615950565b600060208083850312156159ee57600080fd5b82516001600160401b03811115615a0457600080fd5b8301601f81018513615a1557600080fd5b8051615a23614aa182614a5d565b81815260059190911b82018301908381019087831115615a4257600080fd5b928401925b82841015611a90578351615a5a816157f6565b82529284019290840190615a47565b600060208284031215615a7b57600080fd5b81516149bd816149c4565b60006020808385031215615a9957600080fd5b82516001600160401b03811115615aaf57600080fd5b8301601f81018513615ac057600080fd5b8051615ace614aa182614a5d565b81815260059190911b82018301908381019087831115615aed57600080fd5b928401925b82841015611a90578351615b058161498b565b82529284019290840190615af2565b600060208284031215615b2657600080fd5b81356149bd81615356565b96875261ffff958616602088015293909416604086015262ffffff91909116606085015260020b608084015260a0830191909152151560c082015260e00190565b92835260208301919091526001600160a01b0316604082015260600190565b6040808252810184905260006001600160fb1b03851115615bb157600080fd5b8460051b808760608501376060908301838103820160208086019190915291810185905285916000916080015b86831015615c07578335615bf1816149c4565b1515815292810192600192909201918101615bde565b9998505050505050505050565b60008060408385031215615c2757600080fd5b505080516020909101519092909150565b60ff811681146106a257600080fd5b600060208284031215615c5957600080fd5b81516149bd81615c38565b85815261ffff8516602082015262ffffff841660408201528260020b606082015260a060808201526000611a9060a0830184614d93565b600060208284031215615cad57600080fd5b81356149bd816153ca565b600060208284031215615cca57600080fd5b81356149bd816157f6565b600060208284031215615ce757600080fd5b81356149bd81615c38565b8181036000831280158383131683831282161715611ba457611ba4615950565b80820281158282048414176107f7576107f7615950565b600082615d4657634e487b7160e01b600052601260045260246000fd5b500490565b60008060008060008060008060006101208a8c031215615d6a57600080fd5b8951985060208a0151615d7c81615356565b60408b0151909850615d8d81615356565b60608b015160808c01519198509650615da581615c38565b60a08b0151909550615db6816157f6565b60c08b0151909450615dc7816153ca565b60e08b0151909350615dd881615c38565b809250506101008a015190509295985092959850929598565b60006020808385031215615e0457600080fd5b82516001600160401b03811115615e1a57600080fd5b8301601f81018513615e2b57600080fd5b8051615e39614aa182614a5d565b81815260609182028301840191848201919088841115615e5857600080fd5b938501935b83851015615ebd5780858a031215615e755760008081fd5b615e7d614a05565b8551615e8881615356565b815285870151615e9781615c38565b81880152604086810151615eaa816157f6565b9082015283529384019391850191615e5d565b50979650505050505050565b608081016107f782846152e2565b86815261ffff8616602082015262ffffff851660408201528360020b606082015260ff8316608082015260c060a08201526000615f1760c0830184614d93565b98975050505050505050565b600060208284031215615f3557600080fd5b8151600481106149bd57600080fdfeb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159ca2646970667358221220929e835318a64c37fb2229e1cbe71947419bf24bec4c4dee033acf1c2e3adeeb64736f6c63430008140033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061018f5760003560e01c80638da5cb5b116100e4578063c0c53b8b11610092578063c0c53b8b146103a9578063c3b83f5f146103bc578063c9925288146103cf578063ddd57607146103e7578063e211088414610409578063ec435e031461041c578063f39d03b814610444578063f518a5cf146104a457600080fd5b80638da5cb5b1461030657806390107afe1461031957806391b4ded91461032c5780639c683ebc14610343578063b60d370714610363578063b71a6cf914610376578063b7dab9301461039657600080fd5b8063563b27c411610141578063563b27c41461024e5780635b615b2c1461026e5780635c975abb146102815780635fb1162d1461029e578063604ab8b4146102be5780636b43bc82146102de57806379ba5097146102fe57600080fd5b806313af4035146101945780631627540c146101a957806316c38b3c146101bc57806345e94eb8146101cf57806347842663146101fa578063500ff14b1461021a57806353a47bb71461023b575b600080fd5b6101a76101a23660046149a0565b6104c4565b005b6101a76101b73660046149a0565b6105e0565b6101a76101ca3660046149d2565b610633565b6101e26101dd366004614aeb565b6106a5565b6040516101f193929190614b73565b60405180910390f35b60045461020d906001600160a01b031681565b6040516101f19190614c50565b61022d610228366004614c64565b6106c4565b6040516101f1929190614cd9565b60015461020d906001600160a01b031681565b61026161025c366004614d52565b6107b6565b6040516101f1919061511a565b61022d61027c36600461512d565b6107fd565b60035461028e9060ff1681565b60405190151581526020016101f1565b6102b16102ac3660046151db565b610ba1565b6040516101f1919061529e565b6102d16102cc366004614aeb565b610d19565b6040516101f19190615314565b6102f16102ec36600461543f565b611195565b6040516101f191906154c6565b6101a7611398565b60005461020d906001600160a01b031681565b6101a7610327366004615528565b611470565b61033560025481565b6040519081526020016101f1565b610356610351366004614d52565b6114f5565b6040516101f19190615593565b610261610371366004615672565b611909565b610389610384366004614d52565b611a9b565b6040516101f1919061569e565b6103896103a43660046151db565b611bab565b6101a76103b73660046156b1565b611d24565b6101a76103ca3660046149a0565b611e73565b60035461020d9061010090046001600160a01b031681565b6103fa6103f53660046156fc565b611f63565b6040516101f193929190615731565b6103fa6104173660046156fc565b61219b565b61042f61042a366004615774565b61235f565b604080519283526020830191909152016101f1565b61044c612555565b6040516101f19190600060e082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151151560a083015260c083015160c083015292915050565b6104b76104b2366004615805565b61290a565b6040516101f1919061590d565b6001600160a01b03811661051b5760405162461bcd60e51b815260206004820152601960248201527804f776e657220616464726573732063616e6e6f74206265203603c1b60448201526064015b60405180910390fd5b600154600160a01b900460ff16156105875760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610512565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b0383166001600160a01b0319909116178155604051600080516020615f45833981519152916105d5918490615920565b60405180910390a150565b6105e8612bef565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105d5908390614c50565b61063b612bef565b60035460ff161515811515146106a2576003805460ff191682151590811790915560ff161561066957426002555b60035460405160ff909116151581527f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5906020016105d5565b50565b60608060606106b5868686612c63565b91989097509095509350505050565b60608082806001600160401b038111156106e0576106e06149ef565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b509250806001600160401b03811115610724576107246149ef565b60405190808252806020026020018201604052801561074d578160200160208202803683370190505b50915060005b818110156107ad5761077e8686838181106107705761077061593a565b905061012002018483613097565b8482815181106107905761079061593a565b6020908102919091010152806107a581615966565b915050610753565b50509250929050565b60606107f483838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061344492505050565b90505b92915050565b60608082516001600160401b03811115610819576108196149ef565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b50915082516001600160401b0381111561085e5761085e6149ef565b604051908082528060200260200182016040528015610887578160200160208202803683370190505b5090506000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610903919061597f565b90506000816001600160a01b031663b1b5823b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610945573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610969919061599c565b90506000826001600160a01b031663edc5de8e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf919061599c565b905060005b8651811015610b9657836001600160a01b031663cab7bf56898984815181106109ff576109ff61593a565b60200260200101516040518363ffffffff1660e01b8152600401610a24929190615920565b602060405180830381865afa158015610a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a65919061599c565b868281518110610a7757610a7761593a565b6020026020010181815250506000846001600160a01b031663e74e33e08a8a8581518110610aa757610aa761593a565b60200260200101516040518363ffffffff1660e01b8152600401610acc929190615920565b602060405180830381865afa158015610ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0d919061599c565b905080600003610b4a5742610b2284866159b5565b11610b2e576000610b43565b42610b3984866159b5565b610b4391906159c8565b9050610b65565b428111610b58576000610b62565b610b6242826159c8565b90505b80868381518110610b7857610b7861593a565b60209081029190910101525080610b8e81615966565b9150506109d4565b505050509250929050565b6060876001600160401b03811115610bbb57610bbb6149ef565b604051908082528060200260200182016040528015610be4578160200160208202803683370190505b50905060005b88811015610d0c576004546001600160a01b031663ca9ef2e68b8b84818110610c1557610c1561593a565b905060200201358a8a85818110610c2e57610c2e61593a565b90506020020135898986818110610c4757610c4761593a565b90506020020135888887818110610c6057610c6061593a565b905060200201356040518563ffffffff1660e01b8152600401610c9c949392919093845260208401929092526040830152606082015260800190565b602060405180830381865afa158015610cb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdd919061599c565b828281518110610cef57610cef61593a565b602090810291909101015280610d0481615966565b915050610bea565b5098975050505050505050565b606080606080610d2a878787612c63565b919450925090506000805b8451811015610e275760005b848281518110610d5357610d5361593a565b6020026020010151811015610e1457838281518110610d7457610d7461593a565b60200260200101518181518110610d8d57610d8d61593a565b60200260200101516001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df6919061599c565b610e0090846159b5565b925080610e0c81615966565b915050610d41565b5080610e1f81615966565b915050610d35565b506000816001600160401b03811115610e4257610e426149ef565b604051908082528060200260200182016040528015610e9457816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181610e605790505b50905060009150610ea3614878565b60005b86518110156110855760005b868281518110610ec457610ec461593a565b6020026020010151811015611072576000868381518110610ee757610ee761593a565b60200260200101518281518110610f0057610f0061593a565b6020026020010151905060005b816001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6f919061599c565b81101561105d57610f8082826142b4565b94508460000151868881518110610f9957610f9961593a565b602002602001015160000181815250508460400151868881518110610fc057610fc061593a565b60200260200101516020019061ffff16908161ffff16815250508460a00151868881518110610ff157610ff161593a565b60200260200101516040019062ffffff16908162ffffff168152505084608001518688815181106110245761102461593a565b60200260200101516060019060020b908160020b81525050868061104790615966565b975050808061105590615966565b915050610f0d565b5050808061106a90615966565b915050610eb2565b508061107d81615966565b915050610ea6565b5061108f8261441a565b95509250826001600160401b038111156110ab576110ab6149ef565b6040519080825280602002602001820160405280156110fd57816020015b6040805160808101825260008082526020808301829052928201819052606082015282526000199092019101816110c95790505b5096506000925060005b8251811015611187578581815181106111225761112261593a565b6020026020010151600103611175578281815181106111435761114361593a565b602002602001015188858151811061115d5761115d61593a565b60200260200101819052508361117290615966565b93505b8061117f81615966565b915050611107565b505050505050509392505050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611210919061597f565b905083518551148015611224575082518451145b156113905784516001600160401b03811115611242576112426149ef565b60405190808252806020026020018201604052801561127557816020015b60608152602001906001900390816112605790505b50915060005b855181101561138e57816001600160a01b031663514b75638783815181106112a5576112a561593a565b60200260200101518784815181106112bf576112bf61593a565b60200260200101518785815181106112d9576112d961593a565b60200260200101516040518463ffffffff1660e01b81526004016113199392919092835261ffff91909116602083015262ffffff16604082015260600190565b600060405180830381865afa158015611336573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261135e91908101906159db565b8382815181106113705761137061593a565b6020026020010181905250808061138690615966565b91505061127b565b505b509392505050565b6001546001600160a01b031633146114105760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610512565b600054600154604051600080516020615f4583398151915292611441926001600160a01b0391821692911690615920565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b611478612bef565b60038054610100600160a81b0319166101006001600160a01b038581169190910291909117909155600480546001600160a01b0319169183169190911790556040517fc651c70f44278e4b6b346230d2fcc09308ad801d6dc8b9c055f45581b3609075906114e99084908490615920565b60405180910390a15050565b606081806001600160401b03811115611510576115106149ef565b60405190808252806020026020018201604052801561157557816020015b611562604051806080016040528060006001600160a01b031681526020016060815260200160608152602001606081525090565b81526020019060019003908161152e5790505b50915060005b818110156119015760008585838181106115975761159761593a565b90506020020160208101906115ac91906149a0565b905060008190506000816001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611617919061599c565b90506000816001600160401b03811115611633576116336149ef565b60405190808252806020026020018201604052801561165c578160200160208202803683370190505b5090506000826001600160401b03811115611679576116796149ef565b6040519080825280602002602001820160405280156116a2578160200160208202803683370190505b5090506000836001600160401b038111156116bf576116bf6149ef565b6040519080825280602002602001820160405280156116e8578160200160208202803683370190505b50905060005b848110156118a25760405163c80f964b60e01b8152600481018290526001600160a01b0387169063c80f964b90602401602060405180830381865afa15801561173b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175f9190615a69565b8482815181106117715761177161593a565b9115156020928302919091019091015260405163cc705c4b60e01b8152600481018290526001600160a01b0387169063cc705c4b90602401602060405180830381865afa1580156117c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ea9190615a69565b8382815181106117fc576117fc61593a565b911515602092830291909101909101526040516307ca79d360e41b8152600481018290526001600160a01b03871690637ca79d3090602401602060405180830381865afa158015611851573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611875919061599c565b8282815181106118875761188761593a565b602090810291909101015261189b81615966565b90506116ee565b506040518060800160405280876001600160a01b03168152602001848152602001838152602001828152508988815181106118df576118df61593a565b6020026020010181905250505050505050806118fa90615966565b905061157b565b505092915050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611984919061597f565b604051635c3aa11b60e01b8152600481018790529091506000906001600160a01b03831690635c3aa11b90602401602060405180830381865afa1580156119cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f3919061599c565b9050808411611a025783611a04565b805b604051633a30376f60e11b81526004810187905260248101829052604481018890529094506000906001600160a01b038416906374606ede90606401600060405180830381865afa158015611a5d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a859190810190615a86565b9050611a9081613444565b979650505050505050565b6060816001600160401b03811115611ab557611ab56149ef565b604051908082528060200260200182016040528015611ade578160200160208202803683370190505b50905060005b82811015611ba4576004546001600160a01b03166305954ad4858584818110611b0f57611b0f61593a565b905060200201356040518263ffffffff1660e01b8152600401611b3491815260200190565b602060405180830381865afa158015611b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b75919061599c565b828281518110611b8757611b8761593a565b602090810291909101015280611b9c81615966565b915050611ae4565b5092915050565b6060876001600160401b03811115611bc557611bc56149ef565b604051908082528060200260200182016040528015611bee578160200160208202803683370190505b50905060005b88811015610d0c576004546001600160a01b03166359dc82578b8b84818110611c1f57611c1f61593a565b905060200201358a8a85818110611c3857611c3861593a565b9050602002016020810190611c4d9190615b14565b898986818110611c5f57611c5f61593a565b9050602002016020810190611c749190615b14565b6000808a8a89818110611c8957611c8961593a565b9050602002013560006040518863ffffffff1660e01b8152600401611cb49796959493929190615b31565b602060405180830381865afa158015611cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf5919061599c565b828281518110611d0757611d0761593a565b602090810291909101015280611d1c81615966565b915050611bf4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015611d695750825b90506000826001600160401b03166001148015611d855750303b155b905081158015611d93575080155b15611db15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611ddb57845460ff60401b1916600160401b1785555b611de4886104c4565b60038054610100600160a81b0319166101006001600160a01b038a81169190910291909117909155600480546001600160a01b0319169188169190911790558315611e6957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b611e7b612bef565b6001600160a01b038116611ec35760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610512565b600154600160a81b900460ff1615611f135760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610512565b600080546001600160a01b0383166001600160a01b031990911681179091556001805460ff60a81b1916600160a81b179055604051600080516020615f45833981519152916105d5918490615920565b60608060606000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe1919061597f565b6001600160a01b031663485b23bf87878a6040518463ffffffff1660e01b815260040161201093929190615b72565b600060405180830381865afa15801561202d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120559190810190615a86565b90506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d0919061597f565b6001600160a01b031663485b23bf88888b6040518463ffffffff1660e01b81526004016120ff93929190615b72565b600060405180830381865afa15801561211c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121449190810190615a86565b905061214f81613444565b945061215a82613444565b6040805160008082526020820190925291955061218d565b61217a6148c6565b8152602001906001900390816121725790505b509250505093509350939050565b60608060606000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612219919061597f565b6001600160a01b031663dd37861d87878a6040518463ffffffff1660e01b815260040161224893929190615b72565b600060405180830381865afa158015612265573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261228d9190810190615a86565b90506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612308919061597f565b6001600160a01b031663dd37861d88888b6040518463ffffffff1660e01b81526004016120ff93929190615b72565b61233f6148c6565b815260200190600190039081612337579050509250505093509350939050565b6000806000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123db919061597f565b604051634a322f0d60e01b81529091506001600160a01b03821690634a322f0d9061240a908b90600401614c50565b602060405180830381865afa158015612427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244b9190615a69565b15806124c15750604051631f939b2d60e01b81526001600160a01b03821690631f939b2d9061247e908b90600401614c50565b602060405180830381865afa15801561249b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bf9190615a69565b155b156124d357600080925092505061254b565b604051630789477d60e21b81526001600160a01b03891690631e251df490612505908a908a908a908a90600401615b91565b6040805180830381865afa158015612521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125459190615c14565b92509250505b9550959350505050565b6125976040518060e001604052806000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b6040518060e00160405280600460009054906101000a90046001600160a01b03166001600160a01b031663c6334f9f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612619919061599c565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166341dcd5fe6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612671573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612695919061599c565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b031663422f96bf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612711919061599c565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e88698bf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061278d919061599c565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b03166338ea71036040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612809919061599c565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612861573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128859190615a69565b15158152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e20222136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612903919061599c565b9052919050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612961573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612985919061597f565b905084518651148015612999575083518551145b15612be65785516001600160401b038111156129b7576129b76149ef565b6040519080825280602002602001820160405280156129e0578160200160208202803683370190505b50915060005b8651811015612be4576000826001600160a01b031663914008bc888481518110612a1257612a1261593a565b60200260200101516040518263ffffffff1660e01b8152600401612a40919061ffff91909116815260200190565b602060405180830381865afa158015612a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a819190615c47565b905060ff8116600314612bd1576040805160008082526020820190925281612ad1565b6040805160608101825260008082526020808301829052928201528252600019909201910181612aa45790505b509050836001600160a01b031663397f78238a8581518110612af557612af561593a565b60200260200101518a8681518110612b0f57612b0f61593a565b60200260200101518a8781518110612b2957612b2961593a565b60200260200101518a8881518110612b4357612b4361593a565b6020026020010151866040518663ffffffff1660e01b8152600401612b6c959493929190615c64565b602060405180830381865afa158015612b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bad9190615a69565b858481518110612bbf57612bbf61593a565b91151560209283029190910190910152505b5080612bdc81615966565b9150506129e6565b505b50949350505050565b6000546001600160a01b03163314612c615760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610512565b565b60608060606000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ce1919061597f565b905086518511612cf15784612cf4565b86515b94506000856001600160401b03811115612d1057612d106149ef565b604051908082528060200260200182016040528015612d39578160200160208202803683370190505b5090506000875b87811015612e1a576000846001600160a01b0316635c3aa11b8c8481518110612d6b57612d6b61593a565b60200260200101516040518263ffffffff1660e01b8152600401612d9191815260200190565b602060405180830381865afa158015612dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd2919061599c565b90508015612e075782612de481615966565b93505080848381518110612dfa57612dfa61593a565b6020026020010181815250505b5080612e1281615966565b915050612d40565b50806001600160401b03811115612e3357612e336149ef565b604051908082528060200260200182016040528015612e5c578160200160208202803683370190505b509550806001600160401b03811115612e7757612e776149ef565b604051908082528060200260200182016040528015612ea0578160200160208202803683370190505b509450806001600160401b03811115612ebb57612ebb6149ef565b604051908082528060200260200182016040528015612eee57816020015b6060815260200190600190039081612ed95790505b5093506000905060005b895181101561308a576000838281518110612f1557612f1561593a565b6020026020010151111561307857898181518110612f3557612f3561593a565b6020026020010151878381518110612f4f57612f4f61593a565b602002602001018181525050828181518110612f6d57612f6d61593a565b6020026020010151868381518110612f8757612f8761593a565b602002602001018181525050836001600160a01b03166374606ede6000858481518110612fb657612fb661593a565b60200260200101518d8581518110612fd057612fd061593a565b60200260200101516040518463ffffffff1660e01b8152600401613007939291909283526020830191909152604082015260600190565b600060405180830381865afa158015613024573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261304c9190810190615a86565b85838151811061305e5761305e61593a565b6020026020010181905250818061307490615966565b9250505b8061308281615966565b915050612ef8565b5050505093509350939050565b60045460009081906001600160a01b03166359dc825786356130bf6040890160208a01615b14565b6130cf60608a0160408b01615b14565b6130df60808b0160608c01615c9b565b6130ef60a08c0160808d01615cb8565b60a08c013561310460e08e0160c08f016149d2565b6040518863ffffffff1660e01b81526004016131269796959493929190615b31565b602060405180830381865afa158015613143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613167919061599c565b6004549091506000906001600160a01b031663ca9ef2e6873561319060608a0160408b01615b14565b6131a060808b0160608c01615c9b565b6131b16101008c0160e08d01615cd5565b6040516001600160e01b031960e087901b168152600481019490945261ffff909216602484015262ffffff16604483015260ff166064820152608401602060405180830381865afa15801561320a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061322e919061599c565b9050600061323c8284615cf2565b9050600080821361324e576000613250565b815b9050808787815181106132655761326561593a565b6020908102919091018101919091526004546000916001600160a01b03909116906399182a82908b359061329f9060408e01908e01615b14565b6040516001600160e01b031960e085901b168152600481019290925261ffff16602482015260a08c01356044820152606401602060405180830381865afa1580156132ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613312919061599c565b6004805460405163016552b560e21b81528c35928101929092529192506000916001600160a01b0316906305954ad490602401602060405180830381865afa158015613362573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613386919061599c565b905060008183116133985760006133a2565b6133a282846159c8565b905060008b61010001351180156133c55750670de0b6b3a76400008b6101000135105b156111875760006133e36101008d0135670de0b6b3a76400006159c8565b90506000816133f76101008f013588615d12565b6134019190615d29565b90506000828e6101000135856134179190615d12565b6134219190615d29565b90508082106134305780613432565b815b9e9d5050505050505050505050505050565b6060600082516001600160401b03811115613461576134616149ef565b60405190808252806020026020018201604052801561349a57816020015b6134876148c6565b81526020019060019003908161347f5790505b5090506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613516919061597f565b905060005b84518110156142ab5760008582815181106135385761353861593a565b602002602001015190506000816001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015613582573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135a6919061599c565b6001600160401b038111156135bd576135bd6149ef565b6040519080825280602002602001820160405280156135f657816020015b6135e3614878565b8152602001906001900390816135db5790505b5090506000826001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015613639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061365d919061599c565b6001600160401b03811115613674576136746149ef565b6040519080825280602002602001820160405280156136ba57816020015b6040805180820190915260008152606060208201528152602001906001900390816136925790505b50905060005b836001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa1580156136fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613722919061599c565b81101561378a5761373384826142b4565b8382815181106137455761374561593a565b602002602001018190525061375a84826145b3565b82828151811061376c5761376c61593a565b6020026020010181905250808061378290615966565b9150506136c0565b506040516320dcb23360e01b81526000906001600160a01b038716906320dcb233906137ba908790600401614c50565b602060405180830381865afa1580156137d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137fb9190615a69565b90506000866001600160a01b031663f4b943cc866040518263ffffffff1660e01b815260040161382b9190614c50565b602060405180830381865afa158015613848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061386c9190615a69565b90506000876001600160a01b0316634a322f0d876040518263ffffffff1660e01b815260040161389c9190614c50565b602060405180830381865afa1580156138b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138dd9190615a69565b9050600080876001600160a01b0316633f6fa6556040518163ffffffff1660e01b8152600401602060405180830381865afa158015613920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139449190615a69565b1580156139b05750876001600160a01b031663085d03ee6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561398a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ae9190615a69565b155b80156139ba575083155b80156139c4575084155b80156139cd5750825b8015613aa35750600480546040805163e88698bf60e01b815290516001600160a01b039092169263e88698bf9282820192602092908290030181865afa158015613a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a3f919061599c565b886001600160a01b031663400e69ef6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aa1919061599c565b115b90508215613b1057876001600160a01b03166374cbd36e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0d9190615a69565b91505b6040518061030001604052808e8b81518110613b2e57613b2e61593a565b60200260200101516001600160a01b03168152602001888152602001878152602001896001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb2919061597f565b6001600160a01b03168152602001896001600160a01b031662641e8b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c21919061597f565b6001600160a01b03168152602001896001600160a01b031663d165dac26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c91919061599c565b8152602001896001600160a01b0316639af1d35a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cf8919061599c565b8152602001896001600160a01b031663400e69ef6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d5f919061599c565b8152602001896001600160a01b03166362e5c8196040518163ffffffff1660e01b8152600401602060405180830381865afa158015613da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dc6919061599c565b8152602001896001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e2d919061599c565b8152602001896001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e94919061599c565b8152602001896001600160a01b0316633f6fa6556040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ed7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613efb9190615a69565b15158152602001896001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f649190615a69565b15158152602001896001600160a01b0316639a82a09a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fcd9190615a69565b15158152602001896001600160a01b031663085d03ee6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140369190615a69565b15158152602001896001600160a01b0316633356a35a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561407b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061409f9190615a69565b15158152602001896001600160a01b031663e74d3c476040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141089190615a69565b15158152602001896001600160a01b031663242a8a6b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561414d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614171919061599c565b8152602001896001600160a01b031663b8f7a6656040518163ffffffff1660e01b8152600401602060405180830381865afa1580156141b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141d89190615a69565b151581526020018615158152602001866141f3576000614255565b896001600160a01b031663eef8889b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142559190615c47565b60ff168152602001851515815260200183151581526020018215158152508b8a815181106142855761428561593a565b6020026020010181905250505050505050505080806142a390615966565b91505061351b565b50909392505050565b6142bc614878565b6000806000806000806000808a6001600160a01b031663b1283e778b6040518263ffffffff1660e01b81526004016142f691815260200190565b61012060405180830381865afa158015614314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143389190615d4b565b985098509850985050975097509750975060008b6001600160a01b031663c358c6968c6040518263ffffffff1660e01b815260040161437991815260200190565b600060405180830381865afa158015614396573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526143be9190810190615df1565b60408051610120810182529a8b5261ffff998a1660208c01529790981696890196909652606088019490945260029290920b608087015262ffffff1660a086015260ff1660c085015260e0840152506101008201529392505050565b60006060600083516001600160401b03811115614439576144396149ef565b604051908082528060200260200182016040528015614462578160200160208202803683370190505b50905083516001600160401b0381111561447e5761447e6149ef565b6040519080825280602002602001820160405280156144a7578160200160208202803683370190505b50915060008060005b86518110156145aa578681815181106144cb576144cb61593a565b60200260200101516040516020016144e39190615ec9565b6040516020818303038152906040528051906020012092506001915060005b868110156145455784818151811061451c5761451c61593a565b602002602001015184036145335760009250614545565b8061453d81615966565b915050614502565b508115614598578284878151811061455f5761455f61593a565b602002602001018181525050600185828151811061457f5761457f61593a565b60209081029190910101528561459481615966565b9650505b806145a281615966565b9150506144b0565b50505050915091565b6040805180820190915260008152606060208201526000806000806000876001600160a01b031663b1283e77886040518263ffffffff1660e01b81526004016145fe91815260200190565b61012060405180830381865afa15801561461c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146409190615d4b565b50975097509750505095505094506000886001600160a01b031663c358c696896040518263ffffffff1660e01b815260040161467e91815260200190565b600060405180830381865afa15801561469b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526146c39190810190615df1565b90506000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561471a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061473e919061597f565b90506000816001600160a01b031663aa0cc0968989888a89896040518763ffffffff1660e01b815260040161477896959493929190615ed7565b602060405180830381865afa158015614795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147b99190615f23565b60405163514b756360e01b8152600481018a905261ffff8916602482015262ffffff871660448201529091506000906001600160a01b0384169063514b756390606401600060405180830381865afa158015614819573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261484191908101906159db565b9050604051806040016040528083600381111561486057614860614eb0565b8152602001919091529b9a5050505050505050505050565b604080516101208101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082019290925261010081019190915290565b604080516103008101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081018290526102408101829052610260810182905261028081018290526102a081018290526102c081018290526102e081019190915290565b6001600160a01b03811681146106a257600080fd5b6000602082840312156149b257600080fd5b81356149bd8161498b565b9392505050565b80151581146106a257600080fd5b6000602082840312156149e457600080fd5b81356149bd816149c4565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715614a2757614a276149ef565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614a5557614a556149ef565b604052919050565b60006001600160401b03821115614a7657614a766149ef565b5060051b60200190565b600082601f830112614a9157600080fd5b81356020614aa6614aa183614a5d565b614a2d565b82815260059290921b84018101918181019086841115614ac557600080fd5b8286015b84811015614ae05780358352918301918301614ac9565b509695505050505050565b600080600060608486031215614b0057600080fd5b83356001600160401b03811115614b1657600080fd5b614b2286828701614a80565b9660208601359650604090950135949350505050565b600081518084526020808501945080840160005b83811015614b6857815187529582019590820190600101614b4c565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b82811015614bac57815184529284019290840190600101614b90565b50505083810382850152614bc08187614b38565b905083810360408501528085518083528383019150838160051b84010184880160005b83811015614c4057858303601f1901855281518051808552908801908885019060005b81811015614c2b5783516001600160a01b03168352928a0192918a0191600101614c06565b50509588019593505090860190600101614be3565b50909a9950505050505050505050565b6001600160a01b0391909116815260200190565b60008060208385031215614c7757600080fd5b82356001600160401b0380821115614c8e57600080fd5b818501915085601f830112614ca257600080fd5b813581811115614cb157600080fd5b86602061012083028501011115614cc757600080fd5b60209290920196919550909350505050565b604081526000614cec6040830185614b38565b8281036020840152614cfe8185614b38565b95945050505050565b60008083601f840112614d1957600080fd5b5081356001600160401b03811115614d3057600080fd5b6020830191508360208260051b8501011115614d4b57600080fd5b9250929050565b60008060208385031215614d6557600080fd5b82356001600160401b03811115614d7b57600080fd5b614d8785828601614d07565b90969095509350505050565b600081518084526020808501945080840160005b83811015614b68578151805161ffff1688528381015160ff168489015260409081015160020b9088015260609096019590820190600101614da7565b600081518084526020808501808196508360051b8101915082860160005b85811015614ea357828403895281516101208151865286820151614e2a8888018261ffff169052565b5060408281015161ffff16908701526060808301519087015260808083015160020b9087015260a08083015162ffffff169087015260c08083015160ff169087015260e0808301519087015261010091820151918601819052614e8f81870183614d93565b9a87019a9550505090840190600101614e01565b5091979650505050505050565b634e487b7160e01b600052602160045260246000fd5b600081518084526020808501945080840160005b83811015614b6857815160020b87529582019590820190600101614eda565b600081518084526020808501808196508360051b810191508286016000805b86811015614f75578385038a528251604081516004808210614f4757634e487b7160e01b865260218152602486fd5b5087529087015187870182905290614f6181880183614ec6565b9b88019b9650505091850191600101614f18565b509298975050505050505050565b600081518084526020808501808196508360051b8101915082860160005b85811015614ea3578284038952815180516001600160a01b03168552610300868201518188880152614fd582880182614de3565b91505060408083015187830382890152614fef8382614ef9565b9250505060608083015161500d828901826001600160a01b03169052565b50506080828101516001600160a01b03169087015260a0808301519087015260c0808301519087015260e0808301519087015261010080830151908701526101208083015190870152610140808301519087015261016080830151151590870152610180808301511515908701526101a0808301511515908701526101c0808301511515908701526101e08083015115159087015261020080830151151590870152610220808301519087015261024080830151151590870152610260808301511515908701526102808083015160ff16908701526102a0808301511515908701526102c0808301511515908701526102e091820151151591909501529784019790840190600101614fa1565b6020815260006107f46020830184614f83565b6000806040838503121561514057600080fd5b823561514b8161498b565b91506020838101356001600160401b0381111561516757600080fd5b8401601f8101861361517857600080fd5b8035615186614aa182614a5d565b81815260059190911b820183019083810190888311156151a557600080fd5b928401925b828410156151cc5783356151bd8161498b565b825292840192908401906151aa565b80955050505050509250929050565b6000806000806000806000806080898b0312156151f757600080fd5b88356001600160401b038082111561520e57600080fd5b61521a8c838d01614d07565b909a50985060208b013591508082111561523357600080fd5b61523f8c838d01614d07565b909850965060408b013591508082111561525857600080fd5b6152648c838d01614d07565b909650945060608b013591508082111561527d57600080fd5b5061528a8b828c01614d07565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b818110156152d6578351835292840192918401916001016152ba565b50909695505050505050565b8051825261ffff602082015116602083015262ffffff6040820151166040830152606081015160020b60608301525050565b6020808252825182820181905260009190848201906040850190845b818110156152d6576153438385516152e2565b9284019260809290920191600101615330565b61ffff811681146106a257600080fd5b600082601f83011261537757600080fd5b81356020615387614aa183614a5d565b82815260059290921b840181019181810190868411156153a657600080fd5b8286015b84811015614ae05780356153bd81615356565b83529183019183016153aa565b62ffffff811681146106a257600080fd5b600082601f8301126153ec57600080fd5b813560206153fc614aa183614a5d565b82815260059290921b8401810191818101908684111561541b57600080fd5b8286015b84811015614ae0578035615432816153ca565b835291830191830161541f565b60008060006060848603121561545457600080fd5b83356001600160401b038082111561546b57600080fd5b61547787838801614a80565b9450602086013591508082111561548d57600080fd5b61549987838801615366565b935060408601359150808211156154af57600080fd5b506154bc868287016153db565b9150509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561551b57603f19888603018452615509858351614ec6565b945092850192908501906001016154ed565b5092979650505050505050565b6000806040838503121561553b57600080fd5b82356155468161498b565b915060208301356155568161498b565b809150509250929050565b600081518084526020808501945080840160005b83811015614b68578151151587529582019590820190600101615575565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561566357898403603f19018652825180516001600160a01b031685528881015160808a8701819052906155f482880182615561565b915050888201518682038a88015261560c8282615561565b606093840151888203948901949094528351808252938c0193869350908c0191505b8083101561564e5783518252928b019260019290920191908b019061562e565b50978a019795505050918701916001016155bb565b50919998505050505050505050565b60008060006060848603121561568757600080fd5b505081359360208301359350604090920135919050565b6020815260006107f46020830184614b38565b6000806000606084860312156156c657600080fd5b83356156d18161498b565b925060208401356156e18161498b565b915060408401356156f18161498b565b809150509250925092565b60008060006060848603121561571157600080fd5b833561571c8161498b565b95602085013595506040909401359392505050565b6060815260006157446060830186614f83565b82810360208401526157568186614f83565b9050828103604084015261576a8185614f83565b9695505050505050565b60008060008060006060868803121561578c57600080fd5b85356157978161498b565b945060208601356001600160401b03808211156157b357600080fd5b6157bf89838a01614d07565b909650945060408801359150808211156157d857600080fd5b506157e588828901614d07565b969995985093965092949392505050565b8060020b81146106a257600080fd5b6000806000806080858703121561581b57600080fd5b84356001600160401b038082111561583257600080fd5b61583e88838901614a80565b955060209150818701358181111561585557600080fd5b61586189828a01615366565b95505060408701358181111561587657600080fd5b61588289828a016153db565b94505060608701358181111561589757600080fd5b87019050601f810188136158aa57600080fd5b80356158b8614aa182614a5d565b81815260059190911b8201830190838101908a8311156158d757600080fd5b928401925b828410156158fe5783356158ef816157f6565b825292840192908401906158dc565b979a9699509497505050505050565b6020815260006107f46020830184615561565b6001600160a01b0392831681529116602082015260400190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161597857615978615950565b5060010190565b60006020828403121561599157600080fd5b81516149bd8161498b565b6000602082840312156159ae57600080fd5b5051919050565b808201808211156107f7576107f7615950565b818103818111156107f7576107f7615950565b600060208083850312156159ee57600080fd5b82516001600160401b03811115615a0457600080fd5b8301601f81018513615a1557600080fd5b8051615a23614aa182614a5d565b81815260059190911b82018301908381019087831115615a4257600080fd5b928401925b82841015611a90578351615a5a816157f6565b82529284019290840190615a47565b600060208284031215615a7b57600080fd5b81516149bd816149c4565b60006020808385031215615a9957600080fd5b82516001600160401b03811115615aaf57600080fd5b8301601f81018513615ac057600080fd5b8051615ace614aa182614a5d565b81815260059190911b82018301908381019087831115615aed57600080fd5b928401925b82841015611a90578351615b058161498b565b82529284019290840190615af2565b600060208284031215615b2657600080fd5b81356149bd81615356565b96875261ffff958616602088015293909416604086015262ffffff91909116606085015260020b608084015260a0830191909152151560c082015260e00190565b92835260208301919091526001600160a01b0316604082015260600190565b6040808252810184905260006001600160fb1b03851115615bb157600080fd5b8460051b808760608501376060908301838103820160208086019190915291810185905285916000916080015b86831015615c07578335615bf1816149c4565b1515815292810192600192909201918101615bde565b9998505050505050505050565b60008060408385031215615c2757600080fd5b505080516020909101519092909150565b60ff811681146106a257600080fd5b600060208284031215615c5957600080fd5b81516149bd81615c38565b85815261ffff8516602082015262ffffff841660408201528260020b606082015260a060808201526000611a9060a0830184614d93565b600060208284031215615cad57600080fd5b81356149bd816153ca565b600060208284031215615cca57600080fd5b81356149bd816157f6565b600060208284031215615ce757600080fd5b81356149bd81615c38565b8181036000831280158383131683831282161715611ba457611ba4615950565b80820281158282048414176107f7576107f7615950565b600082615d4657634e487b7160e01b600052601260045260246000fd5b500490565b60008060008060008060008060006101208a8c031215615d6a57600080fd5b8951985060208a0151615d7c81615356565b60408b0151909850615d8d81615356565b60608b015160808c01519198509650615da581615c38565b60a08b0151909550615db6816157f6565b60c08b0151909450615dc7816153ca565b60e08b0151909350615dd881615c38565b809250506101008a015190509295985092959850929598565b60006020808385031215615e0457600080fd5b82516001600160401b03811115615e1a57600080fd5b8301601f81018513615e2b57600080fd5b8051615e39614aa182614a5d565b81815260609182028301840191848201919088841115615e5857600080fd5b938501935b83851015615ebd5780858a031215615e755760008081fd5b615e7d614a05565b8551615e8881615356565b815285870151615e9781615c38565b81880152604086810151615eaa816157f6565b9082015283529384019391850191615e5d565b50979650505050505050565b608081016107f782846152e2565b86815261ffff8616602082015262ffffff851660408201528360020b606082015260ff8316608082015260c060a08201526000615f1760c0830184614d93565b98975050505050505050565b600060208284031215615f3557600080fd5b8151600481106149bd57600080fdfeb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159ca2646970667358221220929e835318a64c37fb2229e1cbe71947419bf24bec4c4dee033acf1c2e3adeeb64736f6c63430008140033
Custom Contract ABI

                            

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0xee2675507a0FC55b7A3A2fDc8222CE603fF9e7Fd
Loading...
Loading
Loading...
Loading

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.