ETH Price: $3,281.49 (-1.46%)

Contract

0x0B11403DEbDeF5eB2b094d71b39c2F71339933E4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
stakes

Compiler Version
v0.6.1+commit.e6f7d5a4

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-04-14
*/

pragma solidity ^0.6.0;

interface publicCalls {
  function GenesisDestroyAmountCount (  ) external view returns ( uint256 );
  function GenesisDestroyAmountCountSet ( uint256 _GenesisDestroyAmountCount ) external;
  function GenesisDestroyCountStake (  ) external view returns ( uint256 );
  function GenesisDestroyCountStakeSet ( uint256 _GenesisDestroyCountStake ) external;
  function GenesisDestroyed (  ) external view returns ( uint256 );
  function GenesisDestroyedSet ( uint256 _GenesisDestroyed ) external;
  function NormalAddressBuyPricePerMNE ( address ) external view returns ( uint256 );
  function NormalAddressBuyPricePerMNESet ( address _address, uint256 _NormalAddressBuyPricePerMNE ) external;
  function NormalAddressFeeCount (  ) external view returns ( uint256 );
  function NormalAddressFeeCountSet ( uint256 _NormalAddressFeeCount ) external;
  function NormalAddressSalesCount (  ) external view returns ( uint256 );
  function NormalAddressSalesCountSet ( uint256 _NormalAddressSalesCount ) external;
  function NormalAddressSalesPriceCount (  ) external view returns ( uint256 );
  function NormalAddressSalesPriceCountSet ( uint256 _NormalAddressSalesPriceCount ) external;
  function NormalBalanceImported (  ) external view returns ( uint256 );
  function NormalBalanceImportedSet ( uint256 _NormalBalanceImported ) external;
  function NormalImportedAmountCount (  ) external view returns ( uint256 );
  function NormalImportedAmountCountSet ( uint256 _NormalImportedAmountCount ) external;
  function allowAddressToDestroyGenesis ( address ) external view returns ( address );
  function allowAddressToDestroyGenesisSet ( address _address, address _allowAddressToDestroyGenesis ) external;
  function allowReceiveGenesisTransfers ( address ) external view returns ( bool );
  function allowReceiveGenesisTransfersSet ( address _address, bool _allowReceiveGenesisTransfers ) external;
  function allowed ( address, address ) external view returns ( uint256 );
  function allowedSet ( address _address, address _spender, uint256 _amount ) external;
  function amountOfGenesisToBuyStakes (  ) external view returns ( uint256 );
  function amountOfGenesisToBuyStakesSet ( address _from, uint256 _amountOfGenesisToBuyStakes ) external;
  function amountOfGenesisToTransferStakes (  ) external view returns ( uint256 );
  function amountOfGenesisToTransferStakesSet ( address _from, uint256 _amountOfGenesisToTransferStakes ) external;
  function amountOfMNEForToken (  ) external view returns ( uint256 );
  function amountOfMNEForTokenICO (  ) external view returns ( uint256 );
  function amountOfMNEForTokenICOSet ( address _from, uint256 _amountOfMNEForTokenICO ) external;
  function amountOfMNEForTokenSet ( address _from, uint256 _amountOfMNEForToken ) external;
  function amountOfMNEToBuyStakes (  ) external view returns ( uint256 );
  function amountOfMNEToBuyStakesSet ( address _from, uint256 _amountOfMNEToBuyStakes ) external;
  function amountOfMNEToTransferStakes (  ) external view returns ( uint256 );
  function amountOfMNEToTransferStakesSet ( address _from, uint256 _amountOfMNEToTransferStakes ) external;
  function availableBalance (  ) external view returns ( uint256 );
  function availableBalanceSet ( uint256 _availableBalance ) external;
  function balances ( address ) external view returns ( uint256 );
  function balancesSet ( address _address, uint256 _balances ) external;
  function buyStakeGenesisCount (  ) external view returns ( uint256 );
  function buyStakeGenesisCountSet ( uint256 _buyStakeGenesisCount ) external;
  function buyStakeMNECount (  ) external view returns ( uint256 );
  function buyStakeMNECountSet ( uint256 _buyStakeMNECount ) external;
  function ethFeeForSellerLevel1 (  ) external view returns ( uint256 );
  function ethFeeForSellerLevel1Set ( address _from, uint256 _ethFeeForSellerLevel1 ) external;
  function ethFeeForToken (  ) external view returns ( uint256 );
  function ethFeeForTokenICO (  ) external view returns ( uint256 );
  function ethFeeForTokenICOSet ( address _from, uint256 _ethFeeForTokenICO ) external;
  function ethFeeForTokenSet ( address _from, uint256 _ethFeeForToken ) external;
  function ethFeeToBuyLevel1 (  ) external view returns ( uint256 );
  function ethFeeToBuyLevel1Set ( address _from, uint256 _ethFeeToBuyLevel1 ) external;
  function ethFeeToUpgradeToLevel2 (  ) external view returns ( uint256 );
  function ethFeeToUpgradeToLevel2Set ( address _from, uint256 _ethFeeToUpgradeToLevel2 ) external;
  function ethFeeToUpgradeToLevel3 (  ) external view returns ( uint256 );
  function ethFeeToUpgradeToLevel3Set ( address _from, uint256 _ethFeeToUpgradeToLevel3 ) external;
  function ethPercentFeeGenesisExchange (  ) external view returns ( uint256 );
  function ethPercentFeeGenesisExchangeSet ( address _from, uint256 _ethPercentFeeGenesisExchange ) external;
  function ethPercentFeeNormalExchange (  ) external view returns ( uint256 );
  function ethPercentFeeNormalExchangeSet ( address _from, uint256 _ethPercentFeeNormalExchange ) external;
  function ethPercentStakeExchange (  ) external view returns ( uint256 );
  function ethPercentStakeExchangeSet ( address _from, uint256 _ethPercentStakeExchange ) external;
  function genesisAddressCount (  ) external view returns ( uint256 );
  function genesisAddressCountSet ( uint256 _genesisAddressCount ) external;
  function genesisAddressesForSaleLevel1Index ( address ) external view returns ( uint256 );
  function genesisAddressesForSaleLevel1IndexSet ( address _address, uint256 _genesisAddressesForSaleLevel1Index ) external;
  function genesisAddressesForSaleLevel2Index ( address ) external view returns ( uint256 );
  function genesisAddressesForSaleLevel2IndexSet ( address _address, uint256 _genesisAddressesForSaleLevel2Index ) external;
  function genesisAddressesForSaleLevel3Index ( address ) external view returns ( uint256 );
  function genesisAddressesForSaleLevel3IndexSet ( address _address, uint256 _genesisAddressesForSaleLevel3Index ) external;
  function genesisBuyPrice ( address ) external view returns ( uint256 );
  function genesisBuyPriceSet ( address _address, uint256 _genesisBuyPrice ) external;
  function genesisCallerAddress (  ) external view returns ( address );
  function genesisCallerAddressSet ( address _genesisCallerAddress ) external;
  function genesisInitialSupply ( address ) external view returns ( uint256 );
  function genesisInitialSupplySet ( address _address, uint256 _genesisInitialSupply ) external;
  function genesisRewardPerBlock (  ) external view returns ( uint256 );
  function genesisSalesCount (  ) external view returns ( uint256 );
  function genesisSalesCountSet ( uint256 _genesisSalesCount ) external;
  function genesisSalesPriceCount (  ) external view returns ( uint256 );
  function genesisSalesPriceCountSet ( uint256 _genesisSalesPriceCount ) external;
  function genesisSupplyPerAddress (  ) external view returns ( uint256 );
  function genesisTransfersCount (  ) external view returns ( uint256 );
  function genesisTransfersCountSet ( uint256 _genesisTransfersCount ) external;
  function initialBlockCount (  ) external view returns ( uint256 );
  function initialBlockCountPerAddress ( address ) external view returns ( uint256 );
  function initialBlockCountPerAddressSet ( address _address, uint256 _initialBlockCountPerAddress ) external;
  function initialBlockCountSet ( uint256 _initialBlockCount ) external;
  function isGenesisAddress ( address ) external view returns ( uint8 );
  function isGenesisAddressForSale ( address ) external view returns ( bool );
  function isGenesisAddressForSaleSet ( address _address, bool _isGenesisAddressForSale ) external;
  function isGenesisAddressSet ( address _address, uint8 _isGenesisAddress ) external;
  function isNormalAddressForSale ( address ) external view returns ( bool );
  function isNormalAddressForSaleSet ( address _address, bool _isNormalAddressForSale ) external;
  function level2ActivationsFromLevel1Count (  ) external view returns ( uint256 );
  function level2ActivationsFromLevel1CountSet ( uint256 _level2ActivationsFromLevel1Count ) external;
  function level3ActivationsFromDevCount (  ) external view returns ( uint256 );
  function level3ActivationsFromDevCountSet ( uint256 _level3ActivationsFromDevCount ) external;
  function level3ActivationsFromLevel1Count (  ) external view returns ( uint256 );
  function level3ActivationsFromLevel1CountSet ( uint256 _level3ActivationsFromLevel1Count ) external;
  function level3ActivationsFromLevel2Count (  ) external view returns ( uint256 );
  function level3ActivationsFromLevel2CountSet ( uint256 _level3ActivationsFromLevel2Count ) external;
  function maxBlocks (  ) external view returns ( uint256 );
  function mneBurned (  ) external view returns ( uint256 );
  function mneBurnedSet ( uint256 _mneBurned ) external;
  function normalAddressesForSaleIndex ( address ) external view returns ( uint256 );
  function normalAddressesForSaleIndexSet ( address _address, uint256 _normalAddressesForSaleIndex ) external;
  function overallSupply (  ) external view returns ( uint256 );
  function overallSupplySet ( uint256 _overallSupply ) external;
  function ownerGenesis (  ) external view returns ( address );
  function ownerGenesisBuys (  ) external view returns ( address );
  function ownerMain (  ) external view returns ( address );
  function ownerNormalAddress (  ) external view returns ( address );
  function ownerStakeBuys (  ) external view returns ( address );
  function ownerStakes (  ) external view returns ( address );
  function ownerTokenService (  ) external view returns ( address );
  function setOwnerGenesis (  ) external;
  function setOwnerGenesisBuys (  ) external;
  function setOwnerMain (  ) external;
  function setOwnerNormalAddress (  ) external;
  function setOwnerStakeBuys (  ) external;
  function setOwnerStakes (  ) external;
  function setOwnerTokenService (  ) external;
  function setupRunning (  ) external view returns ( bool );
  function setupRunningSet ( bool _setupRunning ) external;
  function stakeBalances ( address ) external view returns ( uint256 );
  function stakeBalancesSet ( address _address, uint256 _stakeBalances ) external;
  function stakeBuyPrice ( address ) external view returns ( uint256 );
  function stakeBuyPriceSet ( address _address, uint256 _stakeBuyPrice ) external;
  function stakeDecimals (  ) external view returns ( uint256 );
  function stakeDecimalsSet ( address _from, uint256 _stakeDecimals ) external;
  function stakeHoldersImported (  ) external view returns ( uint256 );
  function stakeHoldersImportedSet ( uint256 _stakeHoldersImported ) external;
  function stakeHoldersListIndex ( address ) external view returns ( uint256 );
  function stakeHoldersListIndexSet ( address _address, uint256 _stakeHoldersListIndex ) external;
  function stakeMneBurnCount (  ) external view returns ( uint256 );
  function stakeMneBurnCountSet ( uint256 _stakeMneBurnCount ) external;
  function stakeMneTransferBurnCount (  ) external view returns ( uint256 );
  function stakeMneTransferBurnCountSet ( uint256 _stakeMneTransferBurnCount ) external;
  function stakesForSaleIndex ( address ) external view returns ( uint256 );
  function stakesForSaleIndexSet ( address _address, uint256 _stakesForSaleIndex ) external;
  function tokenCreated ( address, uint256 ) external view returns ( address );
  function tokenCreatedSet ( address _address, address _tokenCreated ) external;
  function tokenICOCreated ( address, uint256 ) external view returns ( address );
  function tokenICOCreatedSet ( address _address, address _tokenICOCreated ) external;
  function totalMaxAvailableAmount (  ) external view returns ( uint256 );
  function totalMaxAvailableAmountSet ( uint256 _totalMaxAvailableAmount ) external;
  function totalPaidStakeHolders (  ) external view returns ( uint256 );
  function totalPaidStakeHoldersSet ( uint256 _totalPaidStakeHolders ) external;
  function transferStakeGenesisCount (  ) external view returns ( uint256 );
  function transferStakeGenesisCountSet ( uint256 _transferStakeGenesisCount ) external;
  function transferStakeMNECount (  ) external view returns ( uint256 );
  function transferStakeMNECountSet ( uint256 _transferStakeMNECount ) external;
}

interface publicArrays {
  function Level1TradeHistoryAmountETH ( uint256 ) external view returns ( uint256 );
  function Level1TradeHistoryAmountETHFee ( uint256 ) external view returns ( uint256 );
  function Level1TradeHistoryAmountETHFeeLength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryAmountETHFeeSet ( uint256 _Level1TradeHistoryAmountETHFee ) external;
  function Level1TradeHistoryAmountETHLength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryAmountETHSet ( uint256 _Level1TradeHistoryAmountETH ) external;
  function Level1TradeHistoryAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level1TradeHistoryAmountMNELength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryAmountMNESet ( uint256 _Level1TradeHistoryAmountMNE ) external;
  function Level1TradeHistoryBuyer ( uint256 ) external view returns ( address );
  function Level1TradeHistoryBuyerLength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryBuyerSet ( address _Level1TradeHistoryBuyer ) external;
  function Level1TradeHistoryDate ( uint256 ) external view returns ( uint256 );
  function Level1TradeHistoryDateLength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryDateSet ( uint256 _Level1TradeHistoryDate ) external;
  function Level1TradeHistorySeller ( uint256 ) external view returns ( address );
  function Level1TradeHistorySellerLength (  ) external view returns ( uint256 len );
  function Level1TradeHistorySellerSet ( address _Level1TradeHistorySeller ) external;
  function Level2TradeHistoryAmountETH ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryAmountETHFee ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryAmountETHFeeLength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryAmountETHFeeSet ( uint256 _Level2TradeHistoryAmountETHFee ) external;
  function Level2TradeHistoryAmountETHLength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryAmountETHSet ( uint256 _Level2TradeHistoryAmountETH ) external;
  function Level2TradeHistoryAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryAmountMNELength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryAmountMNESet ( uint256 _Level2TradeHistoryAmountMNE ) external;
  function Level2TradeHistoryAvailableAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryAvailableAmountMNELength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryAvailableAmountMNESet ( uint256 _Level2TradeHistoryAvailableAmountMNE ) external;
  function Level2TradeHistoryBuyer ( uint256 ) external view returns ( address );
  function Level2TradeHistoryBuyerLength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryBuyerSet ( address _Level2TradeHistoryBuyer ) external;
  function Level2TradeHistoryDate ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryDateLength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryDateSet ( uint256 _Level2TradeHistoryDate ) external;
  function Level2TradeHistorySeller ( uint256 ) external view returns ( address );
  function Level2TradeHistorySellerLength (  ) external view returns ( uint256 len );
  function Level2TradeHistorySellerSet ( address _Level2TradeHistorySeller ) external;
  function Level3TradeHistoryAmountETH ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryAmountETHFee ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryAmountETHFeeLength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryAmountETHFeeSet ( uint256 _Level3TradeHistoryAmountETHFee ) external;
  function Level3TradeHistoryAmountETHLength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryAmountETHSet ( uint256 _Level3TradeHistoryAmountETH ) external;
  function Level3TradeHistoryAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryAmountMNELength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryAmountMNESet ( uint256 _Level3TradeHistoryAmountMNE ) external;
  function Level3TradeHistoryAvailableAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryAvailableAmountMNELength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryAvailableAmountMNESet ( uint256 _Level3TradeHistoryAvailableAmountMNE ) external;
  function Level3TradeHistoryBuyer ( uint256 ) external view returns ( address );
  function Level3TradeHistoryBuyerLength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryBuyerSet ( address _Level3TradeHistoryBuyer ) external;
  function Level3TradeHistoryDate ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryDateLength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryDateSet ( uint256 _Level3TradeHistoryDate ) external;
  function Level3TradeHistorySeller ( uint256 ) external view returns ( address );
  function Level3TradeHistorySellerLength (  ) external view returns ( uint256 len );
  function Level3TradeHistorySellerSet ( address _Level3TradeHistorySeller ) external;
  function MNETradeHistoryAmountETH ( uint256 ) external view returns ( uint256 );
  function MNETradeHistoryAmountETHFee ( uint256 ) external view returns ( uint256 );
  function MNETradeHistoryAmountETHFeeLength (  ) external view returns ( uint256 len );
  function MNETradeHistoryAmountETHFeeSet ( uint256 _MNETradeHistoryAmountETHFee ) external;
  function MNETradeHistoryAmountETHLength (  ) external view returns ( uint256 len );
  function MNETradeHistoryAmountETHSet ( uint256 _MNETradeHistoryAmountETH ) external;
  function MNETradeHistoryAmountMNE ( uint256 ) external view returns ( uint256 );
  function MNETradeHistoryAmountMNELength (  ) external view returns ( uint256 len );
  function MNETradeHistoryAmountMNESet ( uint256 _MNETradeHistoryAmountMNE ) external;
  function MNETradeHistoryBuyer ( uint256 ) external view returns ( address );
  function MNETradeHistoryBuyerLength (  ) external view returns ( uint256 len );
  function MNETradeHistoryBuyerSet ( address _MNETradeHistoryBuyer ) external;
  function MNETradeHistoryDate ( uint256 ) external view returns ( uint256 );
  function MNETradeHistoryDateLength (  ) external view returns ( uint256 len );
  function MNETradeHistoryDateSet ( uint256 _MNETradeHistoryDate ) external;
  function MNETradeHistorySeller ( uint256 ) external view returns ( address );
  function MNETradeHistorySellerLength (  ) external view returns ( uint256 len );
  function MNETradeHistorySellerSet ( address _MNETradeHistorySeller ) external;
  function StakeTradeHistoryBuyer ( uint256 ) external view returns ( address );
  function StakeTradeHistoryBuyerLength (  ) external view returns ( uint256 len );
  function StakeTradeHistoryBuyerSet ( address _StakeTradeHistoryBuyer ) external;
  function StakeTradeHistoryDate ( uint256 ) external view returns ( uint256 );
  function StakeTradeHistoryDateLength (  ) external view returns ( uint256 len );
  function StakeTradeHistoryDateSet ( uint256 _StakeTradeHistoryDate ) external;
  function StakeTradeHistoryETHFee ( uint256 ) external view returns ( uint256 );
  function StakeTradeHistoryETHFeeLength (  ) external view returns ( uint256 len );
  function StakeTradeHistoryETHFeeSet ( uint256 _StakeTradeHistoryETHFee ) external;
  function StakeTradeHistoryETHPrice ( uint256 ) external view returns ( uint256 );
  function StakeTradeHistoryETHPriceLength (  ) external view returns ( uint256 len );
  function StakeTradeHistoryETHPriceSet ( uint256 _StakeTradeHistoryETHPrice ) external;
  function StakeTradeHistoryMNEGenesisBurned ( uint256 ) external view returns ( uint256 );
  function StakeTradeHistoryMNEGenesisBurnedLength (  ) external view returns ( uint256 len );
  function StakeTradeHistoryMNEGenesisBurnedSet ( uint256 _StakeTradeHistoryMNEGenesisBurned ) external;
  function StakeTradeHistorySeller ( uint256 ) external view returns ( address );
  function StakeTradeHistorySellerLength (  ) external view returns ( uint256 len );
  function StakeTradeHistorySellerSet ( address _StakeTradeHistorySeller ) external;
  function StakeTradeHistoryStakeAmount ( uint256 ) external view returns ( uint256 );
  function StakeTradeHistoryStakeAmountLength (  ) external view returns ( uint256 len );
  function StakeTradeHistoryStakeAmountSet ( uint256 _StakeTradeHistoryStakeAmount ) external;
  function deleteGenesisAddressesForSaleLevel1 (  ) external;
  function deleteGenesisAddressesForSaleLevel2 (  ) external;
  function deleteGenesisAddressesForSaleLevel3 (  ) external;
  function deleteNormalAddressesForSale (  ) external;
  function deleteStakeHoldersList (  ) external;
  function deleteStakesForSale (  ) external;
  function genesisAddressesForSaleLevel1 ( uint256 ) external view returns ( address );
  function genesisAddressesForSaleLevel1Length (  ) external view returns ( uint256 len );
  function genesisAddressesForSaleLevel1Set ( address _genesisAddressesForSaleLevel1 ) external;
  function genesisAddressesForSaleLevel1SetAt ( uint256 i, address _address ) external;
  function genesisAddressesForSaleLevel2 ( uint256 ) external view returns ( address );
  function genesisAddressesForSaleLevel2Length (  ) external view returns ( uint256 len );
  function genesisAddressesForSaleLevel2Set ( address _genesisAddressesForSaleLevel2 ) external;
  function genesisAddressesForSaleLevel2SetAt ( uint256 i, address _address ) external;
  function genesisAddressesForSaleLevel3 ( uint256 ) external view returns ( address );
  function genesisAddressesForSaleLevel3Length (  ) external view returns ( uint256 len );
  function genesisAddressesForSaleLevel3Set ( address _genesisAddressesForSaleLevel3 ) external;
  function genesisAddressesForSaleLevel3SetAt ( uint256 i, address _address ) external;
  function normalAddressesForSale ( uint256 ) external view returns ( address );
  function normalAddressesForSaleLength (  ) external view returns ( uint256 len );
  function normalAddressesForSaleSet ( address _normalAddressesForSale ) external;
  function normalAddressesForSaleSetAt ( uint256 i, address _address ) external;
  function ownerGenesis (  ) external view returns ( address );
  function ownerGenesisBuys (  ) external view returns ( address );
  function ownerMain (  ) external view returns ( address );
  function ownerNormalAddress (  ) external view returns ( address );
  function ownerStakeBuys (  ) external view returns ( address );
  function ownerStakes (  ) external view returns ( address );
  function setOwnerGenesis (  ) external;
  function setOwnerGenesisBuys (  ) external;
  function setOwnerMain (  ) external;
  function setOwnerNormalAddress (  ) external;
  function setOwnerStakeBuys (  ) external;
  function setOwnerStakes (  ) external;
  function stakeHoldersList ( uint256 ) external view returns ( address );
  function stakeHoldersListAt ( uint256 i, address _address ) external;
  function stakeHoldersListLength (  ) external view returns ( uint256 len );
  function stakeHoldersListSet ( address _stakeHoldersList ) external;
  function stakesForSale ( uint256 ) external view returns ( address );
  function stakesForSaleLength (  ) external view returns ( uint256 len );
  function stakesForSaleSet ( address _stakesForSale ) external;
  function stakesForSaleSetAt ( uint256 i, address _address ) external;
}

interface genesisCalls {
  function AllowAddressToDestroyGenesis ( address _from, address _address ) external;
  function AllowReceiveGenesisTransfers ( address _from ) external;
  function BurnTokens ( address _from, uint256 mneToBurn ) external returns ( bool success );
  function RemoveAllowAddressToDestroyGenesis ( address _from ) external;
  function RemoveAllowReceiveGenesisTransfers ( address _from ) external;
  function RemoveGenesisAddressFromSale ( address _from ) external;
  function SetGenesisForSale ( address _from, uint256 weiPrice ) external;
  function TransferGenesis ( address _from, address _to ) external;
  function UpgradeToLevel2FromLevel1 ( address _address, uint256 weiValue ) external;
  function UpgradeToLevel3FromDev ( address _address ) external;
  function UpgradeToLevel3FromLevel1 ( address _address, uint256 weiValue ) external;
  function UpgradeToLevel3FromLevel2 ( address _address, uint256 weiValue ) external;
  function availableBalanceOf ( address _address ) external view returns ( uint256 Balance );
  function balanceOf ( address _address ) external view returns ( uint256 balance );
  function deleteAddressFromGenesisSaleList ( address _address ) external;
  function isAnyGenesisAddress ( address _address ) external view returns ( bool success );
  function isGenesisAddressLevel1 ( address _address ) external view returns ( bool success );
  function isGenesisAddressLevel2 ( address _address ) external view returns ( bool success );
  function isGenesisAddressLevel2Or3 ( address _address ) external view returns ( bool success );
  function isGenesisAddressLevel3 ( address _address ) external view returns ( bool success );
  function ownerGenesis (  ) external view returns ( address );
  function ownerGenesisBuys (  ) external view returns ( address );
  function ownerMain (  ) external view returns ( address );
  function ownerNormalAddress (  ) external view returns ( address );
  function ownerStakeBuys (  ) external view returns ( address );
  function ownerStakes (  ) external view returns ( address );
  function setGenesisAddress ( address _from, address _address ) external;
  function setGenesisAddressArray ( address _from, address[] calldata _addressList ) external;
  function setGenesisAddressDevArray ( address _from, address[] calldata _addressList ) external;
  function setGenesisCallerAddress ( address _caller ) external returns ( bool success );
  function setOwnerGenesisBuys (  ) external;
  function setOwnerMain (  ) external;
  function setOwnerNormalAddress (  ) external;
  function setOwnerStakeBuys (  ) external;
  function setOwnerStakes (  ) external;
  function stopSetup ( address _from ) external returns ( bool success );
  function BurnGenesisAddresses ( address _from, address[] calldata _genesisAddressesToBurn ) external;
}


contract stakes
{

address public ownerMain = 0x0000000000000000000000000000000000000000;
address public updaterAddress = 0x0000000000000000000000000000000000000000;
function setUpdater() public {if (updaterAddress == 0x0000000000000000000000000000000000000000) updaterAddress = msg.sender; else revert();}
function updaterSetOwnerMain(address _address) public {if (tx.origin == updaterAddress) ownerMain = _address; else revert();}

function setOwnerMain() public {
	if (tx.origin == updaterAddress)
		ownerMain = msg.sender;
	else
		revert();
}

modifier onlyOwner(){
    require(msg.sender == ownerMain);
     _;
}

publicCalls public pc;
publicArrays public pa;
genesisCalls public gn;
	
constructor(address _publicCallsAddress, address _publicArraysAddress, address _genesisAddress) public {
setUpdater();
pc = publicCalls(_publicCallsAddress);
pc.setOwnerStakes();
pa = publicArrays(_publicArraysAddress);
pa.setOwnerStakes();
gn = genesisCalls(_genesisAddress);
gn.setOwnerStakes();
}

function reloadGenesis(address _address) public
{
	if (msg.sender == updaterAddress)
	{
		gn = genesisCalls(_address);
		gn.setOwnerStakes();
	}
	else revert();
}

function reloadPublicCalls(address _address, uint code) public { if (!(code == 1234)) revert();  if (msg.sender == updaterAddress)	{pc = publicCalls(_address); pc.setOwnerStakes();} else revert();}
function reloadPublicArrays(address _address, uint code) public { if (!(code == 1234)) revert();  if (msg.sender == updaterAddress)	{pa = publicArrays(_address); pa.setOwnerStakes();} else revert();}
	
event Transfer(address indexed from, address indexed to, uint256 value);
event StakeTransfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
event GenesisAddressTransfer(address indexed from, address indexed to, uint256 supply);
event GenesisAddressSale(address indexed from, address indexed to, uint256 price, uint256 supply);
event GenesisBuyPriceHistory(address indexed from, uint256 price, uint8 genesisType);
event GenesisRemoveGenesisSaleHistory(address indexed from);
event AllowDestroyHistory(address indexed from, address indexed to);
event Level2UpgradeHistory(address indexed from);
event Level3UpgradeHistory(address indexed from);
event GenesisLevel1ForSaleHistory(address indexed from);
event NormalAddressForSaleHistory(address indexed from, uint price);
event NormalAddressRemoveSaleHistory(address indexed from);	
event NormalAddressSale(address indexed from, address indexed to, uint price, uint balance);
event RemoveStakeSale(address indexed from);
event StakeGenesisTransfer(address indexed from, address indexed to, uint value, uint amountGenesisToBurn);
event TransferStake(address indexed from, address indexed to, uint value); 
event LogStakeHolderSends(address indexed to, uint balance, uint amountToSend);
event LogFailedStakeHolderSends(address indexed to, uint balance, uint amountToSend);
event StakeGenesisSale(address indexed to, address indexed from, uint balance, uint amountGenesisToBurn, uint totalToSend);
event GenesisRemoveSaleHistory(address indexed from);
event RemoveAllowDestroyHistory(address indexed from);
event StakeMNETransfer(address indexed from, address indexed to, uint256 value, uint256 mneToBurn);
event StakeMNESale(address indexed to, address indexed from, uint256 value, uint256 mneToBurn, uint256 totalToSend);
event CreateTokenHistory(address indexed _owner, address indexed _address);
event CreateTokenICOHistory(address indexed _owner, address indexed _address);
event SetStakeForSaleHistory(address indexed _owner, uint256 priceInWei);
event Burn(address indexed _owner, uint256 _value);	
	
function SetStakeForSale(address _from, uint256 priceInWei) public onlyOwner {
	if (priceInWei < 10) revert('(priceInWei < 10)');
	if (pc.stakeBalances(_from) == 0 || pc.stakeBuyPrice(_from) > 0) revert('pc.stakeBalances(_from) == 0 || pc.stakeBuyPrice(_from) > 0');
	pc.stakeBuyPriceSet(_from, priceInWei);	
	pa.stakesForSaleSet(_from);
	pc.stakesForSaleIndexSet(_from, pa.stakesForSaleLength() -1);
	emit SetStakeForSaleHistory(_from, priceInWei);
}

function deleteStakeFromSaleList(address _address) private {
		uint lastIndex = pa.stakesForSaleLength() - 1;
		if (lastIndex > 0)
		{
			address lastIndexAddress = pa.stakesForSale(lastIndex);
			pc.stakesForSaleIndexSet(lastIndexAddress, pc.stakesForSaleIndex(_address));
			pa.stakesForSaleSetAt(pc.stakesForSaleIndex(_address), lastIndexAddress);
		}
		pc.stakesForSaleIndexSet(_address, 0);
		pa.deleteStakesForSale();
}

function addStakeHolder(address _address) private {
        pa.stakeHoldersListSet(_address);
		pc.stakeHoldersListIndexSet(_address, pa.stakeHoldersListLength() - 1);					
}

function deleteStakeHolder(address _address) private {
		uint lastIndex = pa.stakeHoldersListLength() - 1;
		if (lastIndex > 0)
		{
			address lastIndexAddress = pa.stakeHoldersList(lastIndex);
			pc.stakeHoldersListIndexSet(lastIndexAddress, pc.stakeHoldersListIndex(_address));
			pa.stakeHoldersListAt(pc.stakeHoldersListIndex(_address), lastIndexAddress);
		}
		pc.stakeHoldersListIndexSet(_address, 0);
		pa.deleteStakeHoldersList();
}

function RemoveStakeFromSale(address _from) public onlyOwner {
	if (pc.stakeBuyPrice(_from) > 0)
	{
		pc.stakeBuyPriceSet(_from, 0);
		deleteStakeFromSaleList(_from);
		emit RemoveStakeSale(_from);
	}
	else
		revert();
}

function StakeTransferMNE(address _from, address _to, uint256 _value) public onlyOwner returns (uint256 _mneToBurn) {
	if (pc.stakeBuyPrice(_to) > 0) revert('(pc.stakeBuyPrice(_to) > 0)');
	
	if (pc.stakeBuyPrice(_from) > 0) revert('(pc.stakeBuyPrice(_from) > 0)');
	
	if (!(_from != _to)) revert('(!(_from != _address))');

	if (pc.stakeBalances(_from) < _value) revert('(pc.stakeBalances(_from) < _value)'); 

	if (pc.stakeBalances(_to) + _value < pc.stakeBalances(_to)) revert('(pc.stakeBalances(_to) + _value < pc.stakeBalances(_to))'); 

	if (_value > pc.stakeBalances(_from)) revert('(_value > pc.stakeBalances(_from))');
	
	if (pc.isGenesisAddressForSale(_from)) revert('(pc.isGenesisAddressForSale(_from))');
	
	if (pc.isNormalAddressForSale(_from)) revert('(pc.isNormalAddressForSale(_from))');
	
	uint256 mneToBurn = pc.amountOfMNEToTransferStakes() * _value * 100 / pc.stakeDecimals();
	if (mneToBurn < pc.amountOfMNEToTransferStakes())
		mneToBurn = pc.amountOfMNEToTransferStakes();	
	if (!(gn.availableBalanceOf(_from) >= mneToBurn)) revert('(!(gn.availableBalanceOf(_from) >= mneToBurn))');	
	
	pc.stakeMneTransferBurnCountSet(pc.stakeMneTransferBurnCount() + mneToBurn);
	pc.transferStakeMNECountSet(pc.transferStakeMNECount() + 1);
	emit StakeMNETransfer(_from, _to, _value, mneToBurn);
	pc.stakeBalancesSet(_from, pc.stakeBalances(_from) - _value); 
	pc.stakeBalancesSet(_to, pc.stakeBalances(_to) + _value); 
	
	if (pc.stakeBalances(_from) == 0)
		deleteStakeHolder(_from);	
	
	if (pc.stakeHoldersListIndex(_to) == 0)
		addStakeHolder(_to);
	
	emit TransferStake(_from, _to, _value); 
	return mneToBurn;
}

function StakeTransferGenesis(address _from, address _to, uint256 _value, address[] memory _genesisAddressesToBurn) public onlyOwner {
	if (pc.stakeBuyPrice(_to) > 0) revert('(pc.stakeBuyPrice(_to) > 0)');
	if (pc.stakeBuyPrice(_from) > 0) revert('(pc.stakeBuyPrice(_from) > 0)');
	
	if (!(_from != _to)) revert('(!(_from != _address))');

	if (pc.stakeBalances(_from) < _value) revert('(pc.stakeBalances(_from) < _value)'); 

	if (pc.stakeBalances(_to) + _value < pc.stakeBalances(_to)) revert('(pc.stakeBalances(_to) + _value < pc.stakeBalances(_to))'); 

	if (_value > pc.stakeBalances(_from)) revert('(_value > pc.stakeBalances(_from))');
	
	uint256 _amountGenesisToBurn = pc.amountOfGenesisToTransferStakes() * _value * 100 / pc.stakeDecimals();
	if (_amountGenesisToBurn < pc.amountOfGenesisToTransferStakes())
		_amountGenesisToBurn = pc.amountOfGenesisToTransferStakes();
	if (_genesisAddressesToBurn.length < pc.amountOfGenesisToTransferStakes()) revert('(_genesisAddressesToBurn.length < pc.amountOfGenesisToTransferStakes())');
	
	gn.BurnGenesisAddresses(_from, _genesisAddressesToBurn);
	
	pc.transferStakeGenesisCountSet(pc.transferStakeGenesisCount() + 1);
	emit StakeGenesisTransfer(_from, _to, _value, _amountGenesisToBurn);
	pc.stakeBalancesSet(_from, pc.stakeBalances(_from) - _value); 
	pc.stakeBalancesSet(_to, pc.stakeBalances(_to) + _value); 
	
	if (pc.stakeBalances(_from) == 0)
		deleteStakeHolder(_from);	
	
	if (pc.stakeHoldersListIndex(_to) == 0)
		addStakeHolder(_to);
	
	emit TransferStake(_from, _to, _value); 	
}

function setBalanceStakes(address _from, address _address, uint256 balance) public onlyOwner
{
	if (pc.setupRunning() && _from == pc.genesisCallerAddress())
	{
		pc.stakeBalancesSet(_address, balance);	
		pa.stakeHoldersListSet(_from);
		pc.stakeHoldersListIndexSet(_from, pa.stakeHoldersListLength() - 1);			
		pc.stakeBalancesSet(_address, balance);
		pc.stakeHoldersImportedSet(pc.stakeHoldersImported()+1);
	}
	else
	{
		revert();
	}
}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_publicCallsAddress","type":"address"},{"internalType":"address","name":"_publicArraysAddress","type":"address"},{"internalType":"address","name":"_genesisAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"AllowDestroyHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"CreateTokenHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"CreateTokenICOHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"supply","type":"uint256"}],"name":"GenesisAddressSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"supply","type":"uint256"}],"name":"GenesisAddressTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"genesisType","type":"uint8"}],"name":"GenesisBuyPriceHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"GenesisLevel1ForSaleHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"GenesisRemoveGenesisSaleHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"GenesisRemoveSaleHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"Level2UpgradeHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"Level3UpgradeHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToSend","type":"uint256"}],"name":"LogFailedStakeHolderSends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToSend","type":"uint256"}],"name":"LogStakeHolderSends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"NormalAddressForSaleHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"NormalAddressRemoveSaleHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"}],"name":"NormalAddressSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"RemoveAllowDestroyHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"RemoveStakeSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"priceInWei","type":"uint256"}],"name":"SetStakeForSaleHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountGenesisToBurn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalToSend","type":"uint256"}],"name":"StakeGenesisSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountGenesisToBurn","type":"uint256"}],"name":"StakeGenesisTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"mneToBurn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalToSend","type":"uint256"}],"name":"StakeMNESale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"mneToBurn","type":"uint256"}],"name":"StakeMNETransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"StakeTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferStake","type":"event"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"RemoveStakeFromSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"priceInWei","type":"uint256"}],"name":"SetStakeForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"address[]","name":"_genesisAddressesToBurn","type":"address[]"}],"name":"StakeTransferGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"StakeTransferMNE","outputs":[{"internalType":"uint256","name":"_mneToBurn","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gn","outputs":[{"internalType":"contract genesisCalls","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerMain","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pa","outputs":[{"internalType":"contract publicArrays","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pc","outputs":[{"internalType":"contract publicCalls","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"code","type":"uint256"}],"name":"reloadPublicArrays","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"code","type":"uint256"}],"name":"reloadPublicCalls","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"setBalanceStakes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerMain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setUpdater","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updaterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updaterSetOwnerMain","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600080546001600160a01b03199081169091556001805490911690553480156200002d57600080fd5b506040516200358d3803806200358d833981810160405260608110156200005357600080fd5b5080516020820151604090920151909190620000776001600160e01b03620001df16565b600280546001600160a01b0319166001600160a01b038581169190911791829055604080516304b760d360e31b8152905192909116916325bb06989160048082019260009290919082900301818387803b158015620000d557600080fd5b505af1158015620000ea573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b038681169190911791829055604080516304b760d360e31b815290519290911693506325bb0698925060048082019260009290919082900301818387803b1580156200014c57600080fd5b505af115801562000161573d6000803e3d6000fd5b5050600480546001600160a01b0319166001600160a01b0385811691909117808355604080516304b760d360e31b815290519190921694506325bb069893508183019260009282900301818387803b158015620001bd57600080fd5b505af1158015620001d2573d6000803e3d6000fd5b505050505050506200020f565b6001546001600160a01b03166200020857600180546001600160a01b031916331790556200020d565b600080fd5b565b61336e806200021f6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063919e0b7911610097578063e69919ae11610066578063e69919ae14610320578063f8e4df0f14610328578063f96da2f61461035e578063fdbc65301461038a57610100565b8063919e0b79146102c457806393c63b9d146102cc578063ac39285b146102f2578063e24126301461031857610100565b80633118f543116100d35780633118f5431461021c578063522c628f14610224578063706cb95414610250578063736688171461029857610100565b80630a63361c1461010557806313b9f0c7146101295780632464a27d1461013357806327d4da0e146101f6575b600080fd5b61010d610392565b604080516001600160a01b039092168252519081900360200190f35b6101316103a1565b005b6101316004803603608081101561014957600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561018457600080fd5b82018360208201111561019657600080fd5b803590602001918460208302840111640100000000831117156101b857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103c9945050505050565b6101316004803603602081101561020c57600080fd5b50356001600160a01b031661102b565b61010d61105d565b6101316004803603604081101561023a57600080fd5b506001600160a01b03813516906020013561106c565b6102866004803603606081101561026657600080fd5b506001600160a01b03813581169160208101359091169060400135611106565b60408051918252519081900360200190f35b610131600480360360408110156102ae57600080fd5b506001600160a01b038135169060200135611efc565b61010d611f7a565b610131600480360360208110156102e257600080fd5b50356001600160a01b0316611f89565b6101316004803603602081101561030857600080fd5b50356001600160a01b0316612012565b610131612159565b61010d612180565b6101316004803603606081101561033e57600080fd5b506001600160a01b0381358116916020810135909116906040013561218f565b6101316004803603604081101561037457600080fd5b506001600160a01b0381351690602001356125b1565b61010d612949565b6003546001600160a01b031681565b6001546001600160a01b031632141561010057600080546001600160a01b031916331790555b565b6000546001600160a01b031633146103e057600080fd5b60025460408051631809954760e01b81526001600160a01b03868116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561043157600080fd5b505afa158015610445573d6000803e3d6000fd5b505050506040513d602081101561045b57600080fd5b505111156104b0576040805162461bcd60e51b815260206004820152601b60248201527f2870632e7374616b654275795072696365285f746f29203e2030290000000000604482015290519081900360640190fd5b60025460408051631809954760e01b81526001600160a01b03878116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561050157600080fd5b505afa158015610515573d6000803e3d6000fd5b505050506040513d602081101561052b57600080fd5b50511115610580576040805162461bcd60e51b815260206004820152601d60248201527f2870632e7374616b654275795072696365285f66726f6d29203e203029000000604482015290519081900360640190fd5b826001600160a01b0316846001600160a01b031614156105e0576040805162461bcd60e51b81526020600482015260166024820152752821285f66726f6d20213d205f61646472657373292960501b604482015290519081900360640190fd5b60025460408051633b317dab60e01b81526001600160a01b038781166004830152915185939290921691633b317dab91602480820192602092909190829003018186803b15801561063057600080fd5b505afa158015610644573d6000803e3d6000fd5b505050506040513d602081101561065a57600080fd5b505110156106995760405162461bcd60e51b815260040180806020018281038252602281526020018061323b6022913960400191505060405180910390fd5b60025460408051633b317dab60e01b81526001600160a01b03868116600483015291519190921691633b317dab916024808301926020929190829003018186803b1580156106e657600080fd5b505afa1580156106fa573d6000803e3d6000fd5b505050506040513d602081101561071057600080fd5b505160025460408051633b317dab60e01b81526001600160a01b038781166004830152915186939290921691633b317dab91602480820192602092909190829003018186803b15801561076257600080fd5b505afa158015610776573d6000803e3d6000fd5b505050506040513d602081101561078c57600080fd5b50510110156107cc5760405162461bcd60e51b81526004018080602001828103825260388152602001806131c86038913960400191505060405180910390fd5b60025460408051633b317dab60e01b81526001600160a01b03878116600483015291519190921691633b317dab916024808301926020929190829003018186803b15801561081957600080fd5b505afa15801561082d573d6000803e3d6000fd5b505050506040513d602081101561084357600080fd5b50518211156108835760405162461bcd60e51b81526004018080602001828103825260228152602001806132d06022913960400191505060405180910390fd5b6002546040805163433ad96960e11b815290516000926001600160a01b031691638675b2d2916004808301926020929190829003018186803b1580156108c857600080fd5b505afa1580156108dc573d6000803e3d6000fd5b505050506040513d60208110156108f257600080fd5b50516002546040805163292a142560e21b8152905186926001600160a01b03169163a4a85094916004808301926020929190829003018186803b15801561093857600080fd5b505afa15801561094c573d6000803e3d6000fd5b505050506040513d602081101561096257600080fd5b5051026064028161096f57fe5b049050600260009054906101000a90046001600160a01b03166001600160a01b031663a4a850946040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c057600080fd5b505afa1580156109d4573d6000803e3d6000fd5b505050506040513d60208110156109ea57600080fd5b5051811015610a7057600260009054906101000a90046001600160a01b03166001600160a01b031663a4a850946040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4157600080fd5b505afa158015610a55573d6000803e3d6000fd5b505050506040513d6020811015610a6b57600080fd5b505190505b600260009054906101000a90046001600160a01b03166001600160a01b031663a4a850946040518163ffffffff1660e01b815260040160206040518083038186803b158015610abe57600080fd5b505afa158015610ad2573d6000803e3d6000fd5b505050506040513d6020811015610ae857600080fd5b505182511015610b295760405162461bcd60e51b81526004018080602001828103825260478152602001806132f26047913960600191505060405180910390fd5b6004805460408051633ca4fe7b60e11b81526001600160a01b0389811694820194855260248201928352865160448301528651931693637949fcf6938a93889390916064909101906020808601910280838360005b83811015610b96578181015183820152602001610b7e565b505050509050019350505050600060405180830381600087803b158015610bbc57600080fd5b505af1158015610bd0573d6000803e3d6000fd5b5050600254604080516380ac7c5360e01b815290516001600160a01b03909216935063bc8b173b925083916380ac7c5391600480820192602092909190829003018186803b158015610c2157600080fd5b505afa158015610c35573d6000803e3d6000fd5b505050506040513d6020811015610c4b57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015610c8d57600080fd5b505af1158015610ca1573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167ff6e6a526cdc02294c1d0a4da2fde0f8b315df4f36f247d3fd69a1c7b52e69a878584604051808381526020018281526020019250505060405180910390a360025460408051633b317dab60e01b81526001600160a01b0388811660048301529151919092169163e806b37b91889187918591633b317dab916024808301926020929190829003018186803b158015610d5157600080fd5b505afa158015610d65573d6000803e3d6000fd5b505050506040513d6020811015610d7b57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015610dcb57600080fd5b505af1158015610ddf573d6000803e3d6000fd5b505060025460408051633b317dab60e01b81526001600160a01b038981166004830152915191909216935063e806b37b9250879187918591633b317dab916024808301926020929190829003018186803b158015610e3c57600080fd5b505afa158015610e50573d6000803e3d6000fd5b505050506040513d6020811015610e6657600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b0390941660048501529101602483015251604480830192600092919082900301818387803b158015610eb557600080fd5b505af1158015610ec9573d6000803e3d6000fd5b505060025460408051633b317dab60e01b81526001600160a01b038a811660048301529151919092169350633b317dab92506024808301926020929190829003018186803b158015610f1a57600080fd5b505afa158015610f2e573d6000803e3d6000fd5b505050506040513d6020811015610f4457600080fd5b5051610f5357610f5385612958565b60025460408051631b20456b60e01b81526001600160a01b03878116600483015291519190921691631b20456b916024808301926020929190829003018186803b158015610fa057600080fd5b505afa158015610fb4573d6000803e3d6000fd5b505050506040513d6020811015610fca57600080fd5b5051610fd957610fd984612ce8565b836001600160a01b0316856001600160a01b03167fa5c7720da5835a5d7b6c0afb0047711348a91e86c5edae9c61e40a746a036958856040518082815260200191505060405180910390a35050505050565b6001546001600160a01b031632141561010057600080546001600160a01b0319166001600160a01b0383161790555b50565b6004546001600160a01b031681565b806104d21461107a57600080fd5b6001546001600160a01b031633141561010057600380546001600160a01b0319166001600160a01b038481169190911791829055604080516304b760d360e31b8152905192909116916325bb06989160048082019260009290919082900301818387803b1580156110ea57600080fd5b505af11580156110fe573d6000803e3d6000fd5b505050505050565b600080546001600160a01b0316331461111e57600080fd5b60025460408051631809954760e01b81526001600160a01b03868116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561116f57600080fd5b505afa158015611183573d6000803e3d6000fd5b505050506040513d602081101561119957600080fd5b505111156111ee576040805162461bcd60e51b815260206004820152601b60248201527f2870632e7374616b654275795072696365285f746f29203e2030290000000000604482015290519081900360640190fd5b60025460408051631809954760e01b81526001600160a01b03878116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561123f57600080fd5b505afa158015611253573d6000803e3d6000fd5b505050506040513d602081101561126957600080fd5b505111156112be576040805162461bcd60e51b815260206004820152601d60248201527f2870632e7374616b654275795072696365285f66726f6d29203e203029000000604482015290519081900360640190fd5b826001600160a01b0316846001600160a01b0316141561131e576040805162461bcd60e51b81526020600482015260166024820152752821285f66726f6d20213d205f61646472657373292960501b604482015290519081900360640190fd5b60025460408051633b317dab60e01b81526001600160a01b038781166004830152915185939290921691633b317dab91602480820192602092909190829003018186803b15801561136e57600080fd5b505afa158015611382573d6000803e3d6000fd5b505050506040513d602081101561139857600080fd5b505110156113d75760405162461bcd60e51b815260040180806020018281038252602281526020018061323b6022913960400191505060405180910390fd5b60025460408051633b317dab60e01b81526001600160a01b03868116600483015291519190921691633b317dab916024808301926020929190829003018186803b15801561142457600080fd5b505afa158015611438573d6000803e3d6000fd5b505050506040513d602081101561144e57600080fd5b505160025460408051633b317dab60e01b81526001600160a01b038781166004830152915186939290921691633b317dab91602480820192602092909190829003018186803b1580156114a057600080fd5b505afa1580156114b4573d6000803e3d6000fd5b505050506040513d60208110156114ca57600080fd5b505101101561150a5760405162461bcd60e51b81526004018080602001828103825260388152602001806131c86038913960400191505060405180910390fd5b60025460408051633b317dab60e01b81526001600160a01b03878116600483015291519190921691633b317dab916024808301926020929190829003018186803b15801561155757600080fd5b505afa15801561156b573d6000803e3d6000fd5b505050506040513d602081101561158157600080fd5b50518211156115c15760405162461bcd60e51b81526004018080602001828103825260228152602001806132d06022913960400191505060405180910390fd5b60025460408051631e0808f560e21b81526001600160a01b0387811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561160e57600080fd5b505afa158015611622573d6000803e3d6000fd5b505050506040513d602081101561163857600080fd5b5051156116765760405162461bcd60e51b815260040180806020018281038252602381526020018061327f6023913960400191505060405180910390fd5b60025460408051635dd5e70160e01b81526001600160a01b03878116600483015291519190921691635dd5e701916024808301926020929190829003018186803b1580156116c357600080fd5b505afa1580156116d7573d6000803e3d6000fd5b505050506040513d60208110156116ed57600080fd5b50511561172b5760405162461bcd60e51b815260040180806020018281038252602281526020018061325d6022913960400191505060405180910390fd5b6002546040805163433ad96960e11b815290516000926001600160a01b031691638675b2d2916004808301926020929190829003018186803b15801561177057600080fd5b505afa158015611784573d6000803e3d6000fd5b505050506040513d602081101561179a57600080fd5b505160025460408051631aebe08f60e01b8152905186926001600160a01b031691631aebe08f916004808301926020929190829003018186803b1580156117e057600080fd5b505afa1580156117f4573d6000803e3d6000fd5b505050506040513d602081101561180a57600080fd5b5051026064028161181757fe5b049050600260009054906101000a90046001600160a01b03166001600160a01b0316631aebe08f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561186857600080fd5b505afa15801561187c573d6000803e3d6000fd5b505050506040513d602081101561189257600080fd5b505181101561191857600260009054906101000a90046001600160a01b03166001600160a01b0316631aebe08f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e957600080fd5b505afa1580156118fd573d6000803e3d6000fd5b505050506040513d602081101561191357600080fd5b505190505b60048054604080516325d998bb60e01b81526001600160a01b038981169482019490945290518493909216916325d998bb91602480820192602092909190829003018186803b15801561196a57600080fd5b505afa15801561197e573d6000803e3d6000fd5b505050506040513d602081101561199457600080fd5b505110156119d35760405162461bcd60e51b815260040180806020018281038252602e8152602001806132a2602e913960400191505060405180910390fd5b60025460408051631147464160e21b815290516001600160a01b03909216916315f4d079918491849163451d1904916004808301926020929190829003018186803b158015611a2157600080fd5b505afa158015611a35573d6000803e3d6000fd5b505050506040513d6020811015611a4b57600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b158015611a8c57600080fd5b505af1158015611aa0573d6000803e3d6000fd5b505060025460408051630cfeab9160e01b815290516001600160a01b03909216935063690587dd92508391630cfeab9191600480820192602092909190829003018186803b158015611af157600080fd5b505afa158015611b05573d6000803e3d6000fd5b505050506040513d6020811015611b1b57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015611b5d57600080fd5b505af1158015611b71573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167f17488024031fa2f90b69b0d2f467e1e76a167a9a96662146086f905c7d7b42938584604051808381526020018281526020019250505060405180910390a360025460408051633b317dab60e01b81526001600160a01b0388811660048301529151919092169163e806b37b91889187918591633b317dab916024808301926020929190829003018186803b158015611c2157600080fd5b505afa158015611c35573d6000803e3d6000fd5b505050506040513d6020811015611c4b57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015611c9b57600080fd5b505af1158015611caf573d6000803e3d6000fd5b505060025460408051633b317dab60e01b81526001600160a01b038981166004830152915191909216935063e806b37b9250879187918591633b317dab916024808301926020929190829003018186803b158015611d0c57600080fd5b505afa158015611d20573d6000803e3d6000fd5b505050506040513d6020811015611d3657600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b0390941660048501529101602483015251604480830192600092919082900301818387803b158015611d8557600080fd5b505af1158015611d99573d6000803e3d6000fd5b505060025460408051633b317dab60e01b81526001600160a01b038a811660048301529151919092169350633b317dab92506024808301926020929190829003018186803b158015611dea57600080fd5b505afa158015611dfe573d6000803e3d6000fd5b505050506040513d6020811015611e1457600080fd5b5051611e2357611e2385612958565b60025460408051631b20456b60e01b81526001600160a01b03878116600483015291519190921691631b20456b916024808301926020929190829003018186803b158015611e7057600080fd5b505afa158015611e84573d6000803e3d6000fd5b505050506040513d6020811015611e9a57600080fd5b5051611ea957611ea984612ce8565b836001600160a01b0316856001600160a01b03167fa5c7720da5835a5d7b6c0afb0047711348a91e86c5edae9c61e40a746a036958856040518082815260200191505060405180910390a3949350505050565b806104d214611f0a57600080fd5b6001546001600160a01b031633141561010057600280546001600160a01b0319166001600160a01b038481169190911791829055604080516304b760d360e31b8152905192909116916325bb06989160048082019260009290919082900301818387803b1580156110ea57600080fd5b6000546001600160a01b031681565b6001546001600160a01b031633141561010057600480546001600160a01b0319166001600160a01b0383811691909117808355604080516304b760d360e31b8152905191909216926325bb06989280820192600092909182900301818387803b158015611ff557600080fd5b505af1158015612009573d6000803e3d6000fd5b5050505061105a565b6000546001600160a01b0316331461202957600080fd5b60025460408051631809954760e01b81526001600160a01b03848116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561207a57600080fd5b505afa15801561208e573d6000803e3d6000fd5b505050506040513d60208110156120a457600080fd5b505111156101005760025460408051632d2c36ff60e21b81526001600160a01b038481166004830152600060248301819052925193169263b4b0dbfc9260448084019391929182900301818387803b1580156120ff57600080fd5b505af1158015612113573d6000803e3d6000fd5b5050505061212081612e37565b6040516001600160a01b038216907f11814f077c50b2d5a7ca0d74f81db214768ab876b868357b01178ba1be8ec7a290600090a261105a565b6001546001600160a01b031661010057600180546001600160a01b031916331790556103c7565b6002546001600160a01b031681565b6000546001600160a01b031633146121a657600080fd5b600260009054906101000a90046001600160a01b03166001600160a01b03166349ca9db36040518163ffffffff1660e01b815260040160206040518083038186803b1580156121f457600080fd5b505afa158015612208573d6000803e3d6000fd5b505050506040513d602081101561221e57600080fd5b505180156122b05750600260009054906101000a90046001600160a01b03166001600160a01b031663fb6560676040518163ffffffff1660e01b815260040160206040518083038186803b15801561227557600080fd5b505afa158015612289573d6000803e3d6000fd5b505050506040513d602081101561229f57600080fd5b50516001600160a01b038481169116145b15610100576002546040805163e806b37b60e01b81526001600160a01b038581166004830152602482018590529151919092169163e806b37b91604480830192600092919082900301818387803b15801561230a57600080fd5b505af115801561231e573d6000803e3d6000fd5b50506003546040805163551cbde560e01b81526001600160a01b038881166004830152915191909216935063551cbde59250602480830192600092919082900301818387803b15801561237057600080fd5b505af1158015612384573d6000803e3d6000fd5b50506002546003546040805163643a943160e01b815290516001600160a01b0393841695506339608bde94508893600193169163643a9431916004808301926020929190829003018186803b1580156123dc57600080fd5b505afa1580156123f0573d6000803e3d6000fd5b505050506040513d602081101561240657600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561245657600080fd5b505af115801561246a573d6000803e3d6000fd5b50506002546040805163e806b37b60e01b81526001600160a01b03878116600483015260248201879052915191909216935063e806b37b9250604480830192600092919082900301818387803b1580156124c357600080fd5b505af11580156124d7573d6000803e3d6000fd5b505060025460408051630757972160e21b815290516001600160a01b03909216935063e6e735bf92508391631d5e5c8491600480820192602092909190829003018186803b15801561252857600080fd5b505afa15801561253c573d6000803e3d6000fd5b505050506040513d602081101561255257600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b15801561259457600080fd5b505af11580156125a8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146125c857600080fd5b600a811015612612576040805162461bcd60e51b8152602060048201526011602482015270287072696365496e576569203c2031302960781b604482015290519081900360640190fd5b60025460408051633b317dab60e01b81526001600160a01b03858116600483015291519190921691633b317dab916024808301926020929190829003018186803b15801561265f57600080fd5b505afa158015612673573d6000803e3d6000fd5b505050506040513d602081101561268957600080fd5b50511580612711575060025460408051631809954760e01b81526001600160a01b03858116600483015291516000939290921691631809954791602480820192602092909190829003018186803b1580156126e357600080fd5b505afa1580156126f7573d6000803e3d6000fd5b505050506040513d602081101561270d57600080fd5b5051115b1561274d5760405162461bcd60e51b815260040180806020018281038252603b815260200180613200603b913960400191505060405180910390fd5b60025460408051632d2c36ff60e21b81526001600160a01b038581166004830152602482018590529151919092169163b4b0dbfc91604480830192600092919082900301818387803b1580156127a257600080fd5b505af11580156127b6573d6000803e3d6000fd5b50506003546040805163a6fa2cf960e01b81526001600160a01b038781166004830152915191909216935063a6fa2cf99250602480830192600092919082900301818387803b15801561280857600080fd5b505af115801561281c573d6000803e3d6000fd5b5050600254600354604080516336b5220d60e21b815290516001600160a01b039384169550634988d19394508793600193169163dad48834916004808301926020929190829003018186803b15801561287457600080fd5b505afa158015612888573d6000803e3d6000fd5b505050506040513d602081101561289e57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b1580156128ee57600080fd5b505af1158015612902573d6000803e3d6000fd5b50506040805184815290516001600160a01b03861693507f570826cf3e196fbe7ab76d68b82f982ae576253b5824581416d8b3762ce4002192509081900360200190a25050565b6001546001600160a01b031681565b60006001600360009054906101000a90046001600160a01b03166001600160a01b031663643a94316040518163ffffffff1660e01b815260040160206040518083038186803b1580156129aa57600080fd5b505afa1580156129be573d6000803e3d6000fd5b505050506040513d60208110156129d457600080fd5b50510390508015612c2d576003546040805163124183a760e31b81526004810184905290516000926001600160a01b03169163920c1d38916024808301926020929190829003018186803b158015612a2b57600080fd5b505afa158015612a3f573d6000803e3d6000fd5b505050506040513d6020811015612a5557600080fd5b505160025460408051631b20456b60e01b81526001600160a01b03878116600483015291519394509116916339608bde9184918491631b20456b916024808301926020929190829003018186803b158015612aaf57600080fd5b505afa158015612ac3573d6000803e3d6000fd5b505050506040513d6020811015612ad957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015612b2957600080fd5b505af1158015612b3d573d6000803e3d6000fd5b505060035460025460408051631b20456b60e01b81526001600160a01b0389811660048301529151938216955063686ae52c9450911691631b20456b91602480820192602092909190829003018186803b158015612b9a57600080fd5b505afa158015612bae573d6000803e3d6000fd5b505050506040513d6020811015612bc457600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015612c1357600080fd5b505af1158015612c27573d6000803e3d6000fd5b50505050505b60025460408051631cb045ef60e11b81526001600160a01b03858116600483015260006024830181905292519316926339608bde9260448084019391929182900301818387803b158015612c8057600080fd5b505af1158015612c94573d6000803e3d6000fd5b50505050600360009054906101000a90046001600160a01b03166001600160a01b03166304a8c3fb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156110ea57600080fd5b6003546040805163551cbde560e01b81526001600160a01b0384811660048301529151919092169163551cbde591602480830192600092919082900301818387803b158015612d3657600080fd5b505af1158015612d4a573d6000803e3d6000fd5b50506002546003546040805163643a943160e01b815290516001600160a01b0393841695506339608bde94508693600193169163643a9431916004808301926020929190829003018186803b158015612da257600080fd5b505afa158015612db6573d6000803e3d6000fd5b505050506040513d6020811015612dcc57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015612e1c57600080fd5b505af1158015612e30573d6000803e3d6000fd5b5050505050565b60006001600360009054906101000a90046001600160a01b03166001600160a01b031663dad488346040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8957600080fd5b505afa158015612e9d573d6000803e3d6000fd5b505050506040513d6020811015612eb357600080fd5b5051039050801561310c5760035460408051632a8ebc9160e01b81526004810184905290516000926001600160a01b031691632a8ebc91916024808301926020929190829003018186803b158015612f0a57600080fd5b505afa158015612f1e573d6000803e3d6000fd5b505050506040513d6020811015612f3457600080fd5b50516002546040805163153995b560e21b81526001600160a01b0387811660048301529151939450911691634988d19391849184916354e656d4916024808301926020929190829003018186803b158015612f8e57600080fd5b505afa158015612fa2573d6000803e3d6000fd5b505050506040513d6020811015612fb857600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b50506003546002546040805163153995b560e21b81526001600160a01b0389811660048301529151938216955063b0b5fc6794509116916354e656d491602480820192602092909190829003018186803b15801561307957600080fd5b505afa15801561308d573d6000803e3d6000fd5b505050506040513d60208110156130a357600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b1580156130f257600080fd5b505af1158015613106573d6000803e3d6000fd5b50505050505b60025460408051634988d19360e01b81526001600160a01b0385811660048301526000602483018190529251931692634988d1939260448084019391929182900301818387803b15801561315f57600080fd5b505af1158015613173573d6000803e3d6000fd5b50505050600360009054906101000a90046001600160a01b03166001600160a01b031663b02d0bab6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156110ea57600080fdfe2870632e7374616b6542616c616e636573285f746f29202b205f76616c7565203c2070632e7374616b6542616c616e636573285f746f292970632e7374616b6542616c616e636573285f66726f6d29203d3d2030207c7c2070632e7374616b654275795072696365285f66726f6d29203e20302870632e7374616b6542616c616e636573285f66726f6d29203c205f76616c7565292870632e69734e6f726d616c41646472657373466f7253616c65285f66726f6d29292870632e697347656e6573697341646472657373466f7253616c65285f66726f6d2929282128676e2e617661696c61626c6542616c616e63654f66285f66726f6d29203e3d206d6e65546f4275726e2929285f76616c7565203e2070632e7374616b6542616c616e636573285f66726f6d2929285f67656e65736973416464726573736573546f4275726e2e6c656e677468203c2070632e616d6f756e744f6647656e65736973546f5472616e736665725374616b6573282929a264697066735822122017ff0c0641f27f0222cb0549efbb9bdc459ffc529aef0e26b28d6db4f320faa164736f6c6343000601003300000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000805385fba3f03a24d793721f4583be53d3abf86b000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063919e0b7911610097578063e69919ae11610066578063e69919ae14610320578063f8e4df0f14610328578063f96da2f61461035e578063fdbc65301461038a57610100565b8063919e0b79146102c457806393c63b9d146102cc578063ac39285b146102f2578063e24126301461031857610100565b80633118f543116100d35780633118f5431461021c578063522c628f14610224578063706cb95414610250578063736688171461029857610100565b80630a63361c1461010557806313b9f0c7146101295780632464a27d1461013357806327d4da0e146101f6575b600080fd5b61010d610392565b604080516001600160a01b039092168252519081900360200190f35b6101316103a1565b005b6101316004803603608081101561014957600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561018457600080fd5b82018360208201111561019657600080fd5b803590602001918460208302840111640100000000831117156101b857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103c9945050505050565b6101316004803603602081101561020c57600080fd5b50356001600160a01b031661102b565b61010d61105d565b6101316004803603604081101561023a57600080fd5b506001600160a01b03813516906020013561106c565b6102866004803603606081101561026657600080fd5b506001600160a01b03813581169160208101359091169060400135611106565b60408051918252519081900360200190f35b610131600480360360408110156102ae57600080fd5b506001600160a01b038135169060200135611efc565b61010d611f7a565b610131600480360360208110156102e257600080fd5b50356001600160a01b0316611f89565b6101316004803603602081101561030857600080fd5b50356001600160a01b0316612012565b610131612159565b61010d612180565b6101316004803603606081101561033e57600080fd5b506001600160a01b0381358116916020810135909116906040013561218f565b6101316004803603604081101561037457600080fd5b506001600160a01b0381351690602001356125b1565b61010d612949565b6003546001600160a01b031681565b6001546001600160a01b031632141561010057600080546001600160a01b031916331790555b565b6000546001600160a01b031633146103e057600080fd5b60025460408051631809954760e01b81526001600160a01b03868116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561043157600080fd5b505afa158015610445573d6000803e3d6000fd5b505050506040513d602081101561045b57600080fd5b505111156104b0576040805162461bcd60e51b815260206004820152601b60248201527f2870632e7374616b654275795072696365285f746f29203e2030290000000000604482015290519081900360640190fd5b60025460408051631809954760e01b81526001600160a01b03878116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561050157600080fd5b505afa158015610515573d6000803e3d6000fd5b505050506040513d602081101561052b57600080fd5b50511115610580576040805162461bcd60e51b815260206004820152601d60248201527f2870632e7374616b654275795072696365285f66726f6d29203e203029000000604482015290519081900360640190fd5b826001600160a01b0316846001600160a01b031614156105e0576040805162461bcd60e51b81526020600482015260166024820152752821285f66726f6d20213d205f61646472657373292960501b604482015290519081900360640190fd5b60025460408051633b317dab60e01b81526001600160a01b038781166004830152915185939290921691633b317dab91602480820192602092909190829003018186803b15801561063057600080fd5b505afa158015610644573d6000803e3d6000fd5b505050506040513d602081101561065a57600080fd5b505110156106995760405162461bcd60e51b815260040180806020018281038252602281526020018061323b6022913960400191505060405180910390fd5b60025460408051633b317dab60e01b81526001600160a01b03868116600483015291519190921691633b317dab916024808301926020929190829003018186803b1580156106e657600080fd5b505afa1580156106fa573d6000803e3d6000fd5b505050506040513d602081101561071057600080fd5b505160025460408051633b317dab60e01b81526001600160a01b038781166004830152915186939290921691633b317dab91602480820192602092909190829003018186803b15801561076257600080fd5b505afa158015610776573d6000803e3d6000fd5b505050506040513d602081101561078c57600080fd5b50510110156107cc5760405162461bcd60e51b81526004018080602001828103825260388152602001806131c86038913960400191505060405180910390fd5b60025460408051633b317dab60e01b81526001600160a01b03878116600483015291519190921691633b317dab916024808301926020929190829003018186803b15801561081957600080fd5b505afa15801561082d573d6000803e3d6000fd5b505050506040513d602081101561084357600080fd5b50518211156108835760405162461bcd60e51b81526004018080602001828103825260228152602001806132d06022913960400191505060405180910390fd5b6002546040805163433ad96960e11b815290516000926001600160a01b031691638675b2d2916004808301926020929190829003018186803b1580156108c857600080fd5b505afa1580156108dc573d6000803e3d6000fd5b505050506040513d60208110156108f257600080fd5b50516002546040805163292a142560e21b8152905186926001600160a01b03169163a4a85094916004808301926020929190829003018186803b15801561093857600080fd5b505afa15801561094c573d6000803e3d6000fd5b505050506040513d602081101561096257600080fd5b5051026064028161096f57fe5b049050600260009054906101000a90046001600160a01b03166001600160a01b031663a4a850946040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c057600080fd5b505afa1580156109d4573d6000803e3d6000fd5b505050506040513d60208110156109ea57600080fd5b5051811015610a7057600260009054906101000a90046001600160a01b03166001600160a01b031663a4a850946040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4157600080fd5b505afa158015610a55573d6000803e3d6000fd5b505050506040513d6020811015610a6b57600080fd5b505190505b600260009054906101000a90046001600160a01b03166001600160a01b031663a4a850946040518163ffffffff1660e01b815260040160206040518083038186803b158015610abe57600080fd5b505afa158015610ad2573d6000803e3d6000fd5b505050506040513d6020811015610ae857600080fd5b505182511015610b295760405162461bcd60e51b81526004018080602001828103825260478152602001806132f26047913960600191505060405180910390fd5b6004805460408051633ca4fe7b60e11b81526001600160a01b0389811694820194855260248201928352865160448301528651931693637949fcf6938a93889390916064909101906020808601910280838360005b83811015610b96578181015183820152602001610b7e565b505050509050019350505050600060405180830381600087803b158015610bbc57600080fd5b505af1158015610bd0573d6000803e3d6000fd5b5050600254604080516380ac7c5360e01b815290516001600160a01b03909216935063bc8b173b925083916380ac7c5391600480820192602092909190829003018186803b158015610c2157600080fd5b505afa158015610c35573d6000803e3d6000fd5b505050506040513d6020811015610c4b57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015610c8d57600080fd5b505af1158015610ca1573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167ff6e6a526cdc02294c1d0a4da2fde0f8b315df4f36f247d3fd69a1c7b52e69a878584604051808381526020018281526020019250505060405180910390a360025460408051633b317dab60e01b81526001600160a01b0388811660048301529151919092169163e806b37b91889187918591633b317dab916024808301926020929190829003018186803b158015610d5157600080fd5b505afa158015610d65573d6000803e3d6000fd5b505050506040513d6020811015610d7b57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015610dcb57600080fd5b505af1158015610ddf573d6000803e3d6000fd5b505060025460408051633b317dab60e01b81526001600160a01b038981166004830152915191909216935063e806b37b9250879187918591633b317dab916024808301926020929190829003018186803b158015610e3c57600080fd5b505afa158015610e50573d6000803e3d6000fd5b505050506040513d6020811015610e6657600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b0390941660048501529101602483015251604480830192600092919082900301818387803b158015610eb557600080fd5b505af1158015610ec9573d6000803e3d6000fd5b505060025460408051633b317dab60e01b81526001600160a01b038a811660048301529151919092169350633b317dab92506024808301926020929190829003018186803b158015610f1a57600080fd5b505afa158015610f2e573d6000803e3d6000fd5b505050506040513d6020811015610f4457600080fd5b5051610f5357610f5385612958565b60025460408051631b20456b60e01b81526001600160a01b03878116600483015291519190921691631b20456b916024808301926020929190829003018186803b158015610fa057600080fd5b505afa158015610fb4573d6000803e3d6000fd5b505050506040513d6020811015610fca57600080fd5b5051610fd957610fd984612ce8565b836001600160a01b0316856001600160a01b03167fa5c7720da5835a5d7b6c0afb0047711348a91e86c5edae9c61e40a746a036958856040518082815260200191505060405180910390a35050505050565b6001546001600160a01b031632141561010057600080546001600160a01b0319166001600160a01b0383161790555b50565b6004546001600160a01b031681565b806104d21461107a57600080fd5b6001546001600160a01b031633141561010057600380546001600160a01b0319166001600160a01b038481169190911791829055604080516304b760d360e31b8152905192909116916325bb06989160048082019260009290919082900301818387803b1580156110ea57600080fd5b505af11580156110fe573d6000803e3d6000fd5b505050505050565b600080546001600160a01b0316331461111e57600080fd5b60025460408051631809954760e01b81526001600160a01b03868116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561116f57600080fd5b505afa158015611183573d6000803e3d6000fd5b505050506040513d602081101561119957600080fd5b505111156111ee576040805162461bcd60e51b815260206004820152601b60248201527f2870632e7374616b654275795072696365285f746f29203e2030290000000000604482015290519081900360640190fd5b60025460408051631809954760e01b81526001600160a01b03878116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561123f57600080fd5b505afa158015611253573d6000803e3d6000fd5b505050506040513d602081101561126957600080fd5b505111156112be576040805162461bcd60e51b815260206004820152601d60248201527f2870632e7374616b654275795072696365285f66726f6d29203e203029000000604482015290519081900360640190fd5b826001600160a01b0316846001600160a01b0316141561131e576040805162461bcd60e51b81526020600482015260166024820152752821285f66726f6d20213d205f61646472657373292960501b604482015290519081900360640190fd5b60025460408051633b317dab60e01b81526001600160a01b038781166004830152915185939290921691633b317dab91602480820192602092909190829003018186803b15801561136e57600080fd5b505afa158015611382573d6000803e3d6000fd5b505050506040513d602081101561139857600080fd5b505110156113d75760405162461bcd60e51b815260040180806020018281038252602281526020018061323b6022913960400191505060405180910390fd5b60025460408051633b317dab60e01b81526001600160a01b03868116600483015291519190921691633b317dab916024808301926020929190829003018186803b15801561142457600080fd5b505afa158015611438573d6000803e3d6000fd5b505050506040513d602081101561144e57600080fd5b505160025460408051633b317dab60e01b81526001600160a01b038781166004830152915186939290921691633b317dab91602480820192602092909190829003018186803b1580156114a057600080fd5b505afa1580156114b4573d6000803e3d6000fd5b505050506040513d60208110156114ca57600080fd5b505101101561150a5760405162461bcd60e51b81526004018080602001828103825260388152602001806131c86038913960400191505060405180910390fd5b60025460408051633b317dab60e01b81526001600160a01b03878116600483015291519190921691633b317dab916024808301926020929190829003018186803b15801561155757600080fd5b505afa15801561156b573d6000803e3d6000fd5b505050506040513d602081101561158157600080fd5b50518211156115c15760405162461bcd60e51b81526004018080602001828103825260228152602001806132d06022913960400191505060405180910390fd5b60025460408051631e0808f560e21b81526001600160a01b0387811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561160e57600080fd5b505afa158015611622573d6000803e3d6000fd5b505050506040513d602081101561163857600080fd5b5051156116765760405162461bcd60e51b815260040180806020018281038252602381526020018061327f6023913960400191505060405180910390fd5b60025460408051635dd5e70160e01b81526001600160a01b03878116600483015291519190921691635dd5e701916024808301926020929190829003018186803b1580156116c357600080fd5b505afa1580156116d7573d6000803e3d6000fd5b505050506040513d60208110156116ed57600080fd5b50511561172b5760405162461bcd60e51b815260040180806020018281038252602281526020018061325d6022913960400191505060405180910390fd5b6002546040805163433ad96960e11b815290516000926001600160a01b031691638675b2d2916004808301926020929190829003018186803b15801561177057600080fd5b505afa158015611784573d6000803e3d6000fd5b505050506040513d602081101561179a57600080fd5b505160025460408051631aebe08f60e01b8152905186926001600160a01b031691631aebe08f916004808301926020929190829003018186803b1580156117e057600080fd5b505afa1580156117f4573d6000803e3d6000fd5b505050506040513d602081101561180a57600080fd5b5051026064028161181757fe5b049050600260009054906101000a90046001600160a01b03166001600160a01b0316631aebe08f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561186857600080fd5b505afa15801561187c573d6000803e3d6000fd5b505050506040513d602081101561189257600080fd5b505181101561191857600260009054906101000a90046001600160a01b03166001600160a01b0316631aebe08f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e957600080fd5b505afa1580156118fd573d6000803e3d6000fd5b505050506040513d602081101561191357600080fd5b505190505b60048054604080516325d998bb60e01b81526001600160a01b038981169482019490945290518493909216916325d998bb91602480820192602092909190829003018186803b15801561196a57600080fd5b505afa15801561197e573d6000803e3d6000fd5b505050506040513d602081101561199457600080fd5b505110156119d35760405162461bcd60e51b815260040180806020018281038252602e8152602001806132a2602e913960400191505060405180910390fd5b60025460408051631147464160e21b815290516001600160a01b03909216916315f4d079918491849163451d1904916004808301926020929190829003018186803b158015611a2157600080fd5b505afa158015611a35573d6000803e3d6000fd5b505050506040513d6020811015611a4b57600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b158015611a8c57600080fd5b505af1158015611aa0573d6000803e3d6000fd5b505060025460408051630cfeab9160e01b815290516001600160a01b03909216935063690587dd92508391630cfeab9191600480820192602092909190829003018186803b158015611af157600080fd5b505afa158015611b05573d6000803e3d6000fd5b505050506040513d6020811015611b1b57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015611b5d57600080fd5b505af1158015611b71573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167f17488024031fa2f90b69b0d2f467e1e76a167a9a96662146086f905c7d7b42938584604051808381526020018281526020019250505060405180910390a360025460408051633b317dab60e01b81526001600160a01b0388811660048301529151919092169163e806b37b91889187918591633b317dab916024808301926020929190829003018186803b158015611c2157600080fd5b505afa158015611c35573d6000803e3d6000fd5b505050506040513d6020811015611c4b57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015611c9b57600080fd5b505af1158015611caf573d6000803e3d6000fd5b505060025460408051633b317dab60e01b81526001600160a01b038981166004830152915191909216935063e806b37b9250879187918591633b317dab916024808301926020929190829003018186803b158015611d0c57600080fd5b505afa158015611d20573d6000803e3d6000fd5b505050506040513d6020811015611d3657600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b0390941660048501529101602483015251604480830192600092919082900301818387803b158015611d8557600080fd5b505af1158015611d99573d6000803e3d6000fd5b505060025460408051633b317dab60e01b81526001600160a01b038a811660048301529151919092169350633b317dab92506024808301926020929190829003018186803b158015611dea57600080fd5b505afa158015611dfe573d6000803e3d6000fd5b505050506040513d6020811015611e1457600080fd5b5051611e2357611e2385612958565b60025460408051631b20456b60e01b81526001600160a01b03878116600483015291519190921691631b20456b916024808301926020929190829003018186803b158015611e7057600080fd5b505afa158015611e84573d6000803e3d6000fd5b505050506040513d6020811015611e9a57600080fd5b5051611ea957611ea984612ce8565b836001600160a01b0316856001600160a01b03167fa5c7720da5835a5d7b6c0afb0047711348a91e86c5edae9c61e40a746a036958856040518082815260200191505060405180910390a3949350505050565b806104d214611f0a57600080fd5b6001546001600160a01b031633141561010057600280546001600160a01b0319166001600160a01b038481169190911791829055604080516304b760d360e31b8152905192909116916325bb06989160048082019260009290919082900301818387803b1580156110ea57600080fd5b6000546001600160a01b031681565b6001546001600160a01b031633141561010057600480546001600160a01b0319166001600160a01b0383811691909117808355604080516304b760d360e31b8152905191909216926325bb06989280820192600092909182900301818387803b158015611ff557600080fd5b505af1158015612009573d6000803e3d6000fd5b5050505061105a565b6000546001600160a01b0316331461202957600080fd5b60025460408051631809954760e01b81526001600160a01b03848116600483015291516000939290921691631809954791602480820192602092909190829003018186803b15801561207a57600080fd5b505afa15801561208e573d6000803e3d6000fd5b505050506040513d60208110156120a457600080fd5b505111156101005760025460408051632d2c36ff60e21b81526001600160a01b038481166004830152600060248301819052925193169263b4b0dbfc9260448084019391929182900301818387803b1580156120ff57600080fd5b505af1158015612113573d6000803e3d6000fd5b5050505061212081612e37565b6040516001600160a01b038216907f11814f077c50b2d5a7ca0d74f81db214768ab876b868357b01178ba1be8ec7a290600090a261105a565b6001546001600160a01b031661010057600180546001600160a01b031916331790556103c7565b6002546001600160a01b031681565b6000546001600160a01b031633146121a657600080fd5b600260009054906101000a90046001600160a01b03166001600160a01b03166349ca9db36040518163ffffffff1660e01b815260040160206040518083038186803b1580156121f457600080fd5b505afa158015612208573d6000803e3d6000fd5b505050506040513d602081101561221e57600080fd5b505180156122b05750600260009054906101000a90046001600160a01b03166001600160a01b031663fb6560676040518163ffffffff1660e01b815260040160206040518083038186803b15801561227557600080fd5b505afa158015612289573d6000803e3d6000fd5b505050506040513d602081101561229f57600080fd5b50516001600160a01b038481169116145b15610100576002546040805163e806b37b60e01b81526001600160a01b038581166004830152602482018590529151919092169163e806b37b91604480830192600092919082900301818387803b15801561230a57600080fd5b505af115801561231e573d6000803e3d6000fd5b50506003546040805163551cbde560e01b81526001600160a01b038881166004830152915191909216935063551cbde59250602480830192600092919082900301818387803b15801561237057600080fd5b505af1158015612384573d6000803e3d6000fd5b50506002546003546040805163643a943160e01b815290516001600160a01b0393841695506339608bde94508893600193169163643a9431916004808301926020929190829003018186803b1580156123dc57600080fd5b505afa1580156123f0573d6000803e3d6000fd5b505050506040513d602081101561240657600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561245657600080fd5b505af115801561246a573d6000803e3d6000fd5b50506002546040805163e806b37b60e01b81526001600160a01b03878116600483015260248201879052915191909216935063e806b37b9250604480830192600092919082900301818387803b1580156124c357600080fd5b505af11580156124d7573d6000803e3d6000fd5b505060025460408051630757972160e21b815290516001600160a01b03909216935063e6e735bf92508391631d5e5c8491600480820192602092909190829003018186803b15801561252857600080fd5b505afa15801561253c573d6000803e3d6000fd5b505050506040513d602081101561255257600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b15801561259457600080fd5b505af11580156125a8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146125c857600080fd5b600a811015612612576040805162461bcd60e51b8152602060048201526011602482015270287072696365496e576569203c2031302960781b604482015290519081900360640190fd5b60025460408051633b317dab60e01b81526001600160a01b03858116600483015291519190921691633b317dab916024808301926020929190829003018186803b15801561265f57600080fd5b505afa158015612673573d6000803e3d6000fd5b505050506040513d602081101561268957600080fd5b50511580612711575060025460408051631809954760e01b81526001600160a01b03858116600483015291516000939290921691631809954791602480820192602092909190829003018186803b1580156126e357600080fd5b505afa1580156126f7573d6000803e3d6000fd5b505050506040513d602081101561270d57600080fd5b5051115b1561274d5760405162461bcd60e51b815260040180806020018281038252603b815260200180613200603b913960400191505060405180910390fd5b60025460408051632d2c36ff60e21b81526001600160a01b038581166004830152602482018590529151919092169163b4b0dbfc91604480830192600092919082900301818387803b1580156127a257600080fd5b505af11580156127b6573d6000803e3d6000fd5b50506003546040805163a6fa2cf960e01b81526001600160a01b038781166004830152915191909216935063a6fa2cf99250602480830192600092919082900301818387803b15801561280857600080fd5b505af115801561281c573d6000803e3d6000fd5b5050600254600354604080516336b5220d60e21b815290516001600160a01b039384169550634988d19394508793600193169163dad48834916004808301926020929190829003018186803b15801561287457600080fd5b505afa158015612888573d6000803e3d6000fd5b505050506040513d602081101561289e57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b1580156128ee57600080fd5b505af1158015612902573d6000803e3d6000fd5b50506040805184815290516001600160a01b03861693507f570826cf3e196fbe7ab76d68b82f982ae576253b5824581416d8b3762ce4002192509081900360200190a25050565b6001546001600160a01b031681565b60006001600360009054906101000a90046001600160a01b03166001600160a01b031663643a94316040518163ffffffff1660e01b815260040160206040518083038186803b1580156129aa57600080fd5b505afa1580156129be573d6000803e3d6000fd5b505050506040513d60208110156129d457600080fd5b50510390508015612c2d576003546040805163124183a760e31b81526004810184905290516000926001600160a01b03169163920c1d38916024808301926020929190829003018186803b158015612a2b57600080fd5b505afa158015612a3f573d6000803e3d6000fd5b505050506040513d6020811015612a5557600080fd5b505160025460408051631b20456b60e01b81526001600160a01b03878116600483015291519394509116916339608bde9184918491631b20456b916024808301926020929190829003018186803b158015612aaf57600080fd5b505afa158015612ac3573d6000803e3d6000fd5b505050506040513d6020811015612ad957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015612b2957600080fd5b505af1158015612b3d573d6000803e3d6000fd5b505060035460025460408051631b20456b60e01b81526001600160a01b0389811660048301529151938216955063686ae52c9450911691631b20456b91602480820192602092909190829003018186803b158015612b9a57600080fd5b505afa158015612bae573d6000803e3d6000fd5b505050506040513d6020811015612bc457600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015612c1357600080fd5b505af1158015612c27573d6000803e3d6000fd5b50505050505b60025460408051631cb045ef60e11b81526001600160a01b03858116600483015260006024830181905292519316926339608bde9260448084019391929182900301818387803b158015612c8057600080fd5b505af1158015612c94573d6000803e3d6000fd5b50505050600360009054906101000a90046001600160a01b03166001600160a01b03166304a8c3fb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156110ea57600080fd5b6003546040805163551cbde560e01b81526001600160a01b0384811660048301529151919092169163551cbde591602480830192600092919082900301818387803b158015612d3657600080fd5b505af1158015612d4a573d6000803e3d6000fd5b50506002546003546040805163643a943160e01b815290516001600160a01b0393841695506339608bde94508693600193169163643a9431916004808301926020929190829003018186803b158015612da257600080fd5b505afa158015612db6573d6000803e3d6000fd5b505050506040513d6020811015612dcc57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015612e1c57600080fd5b505af1158015612e30573d6000803e3d6000fd5b5050505050565b60006001600360009054906101000a90046001600160a01b03166001600160a01b031663dad488346040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8957600080fd5b505afa158015612e9d573d6000803e3d6000fd5b505050506040513d6020811015612eb357600080fd5b5051039050801561310c5760035460408051632a8ebc9160e01b81526004810184905290516000926001600160a01b031691632a8ebc91916024808301926020929190829003018186803b158015612f0a57600080fd5b505afa158015612f1e573d6000803e3d6000fd5b505050506040513d6020811015612f3457600080fd5b50516002546040805163153995b560e21b81526001600160a01b0387811660048301529151939450911691634988d19391849184916354e656d4916024808301926020929190829003018186803b158015612f8e57600080fd5b505afa158015612fa2573d6000803e3d6000fd5b505050506040513d6020811015612fb857600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b50506003546002546040805163153995b560e21b81526001600160a01b0389811660048301529151938216955063b0b5fc6794509116916354e656d491602480820192602092909190829003018186803b15801561307957600080fd5b505afa15801561308d573d6000803e3d6000fd5b505050506040513d60208110156130a357600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b1580156130f257600080fd5b505af1158015613106573d6000803e3d6000fd5b50505050505b60025460408051634988d19360e01b81526001600160a01b0385811660048301526000602483018190529251931692634988d1939260448084019391929182900301818387803b15801561315f57600080fd5b505af1158015613173573d6000803e3d6000fd5b50505050600360009054906101000a90046001600160a01b03166001600160a01b031663b02d0bab6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156110ea57600080fdfe2870632e7374616b6542616c616e636573285f746f29202b205f76616c7565203c2070632e7374616b6542616c616e636573285f746f292970632e7374616b6542616c616e636573285f66726f6d29203d3d2030207c7c2070632e7374616b654275795072696365285f66726f6d29203e20302870632e7374616b6542616c616e636573285f66726f6d29203c205f76616c7565292870632e69734e6f726d616c41646472657373466f7253616c65285f66726f6d29292870632e697347656e6573697341646472657373466f7253616c65285f66726f6d2929282128676e2e617661696c61626c6542616c616e63654f66285f66726f6d29203e3d206d6e65546f4275726e2929285f76616c7565203e2070632e7374616b6542616c616e636573285f66726f6d2929285f67656e65736973416464726573736573546f4275726e2e6c656e677468203c2070632e616d6f756e744f6647656e65736973546f5472616e736665725374616b6573282929a264697066735822122017ff0c0641f27f0222cb0549efbb9bdc459ffc529aef0e26b28d6db4f320faa164736f6c63430006010033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000805385fba3f03a24d793721f4583be53d3abf86b000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c

-----Decoded View---------------
Arg [0] : _publicCallsAddress (address): 0x90E340e2d11E6Eb1D99E34D122D6fE0fEF3213fd
Arg [1] : _publicArraysAddress (address): 0x805385fba3F03A24d793721f4583BE53d3aBf86b
Arg [2] : _genesisAddress (address): 0xa6be27538A28114Fe03EB7ADE9AdfE53164f2a4c

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd
Arg [1] : 000000000000000000000000805385fba3f03a24d793721f4583be53d3abf86b
Arg [2] : 000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c


Deployed Bytecode Sourcemap

27207:9245:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27207:9245:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27870:22;;;:::i;:::-;;;;-1:-1:-1;;;;;27870:22:0;;;;;;;;;;;;;;27649:117;;;:::i;:::-;;34418:1574;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;34418:1574:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;34418:1574:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;34418:1574:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;34418:1574:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;34418:1574:0;;-1:-1:-1;34418:1574:0;;-1:-1:-1;;;;;34418:1574:0:i;27520:125::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27520:125:0;-1:-1:-1;;;;;27520:125:0;;:::i;27895:22::-;;;:::i;28607:199::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;28607:199:0;;;;;;;;:::i;32754:1660::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;32754:1660:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;28408:197;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;28408:197:0;;;;;;;;:::i;27229:69::-;;;:::i;28234:170::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28234:170:0;-1:-1:-1;;;;;28234:170:0;;:::i;32521:229::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32521:229:0;-1:-1:-1;;;;;32521:229:0;;:::i;27378:140::-;;;:::i;27846:21::-;;;:::i;35996:453::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;35996:453:0;;;;;;;;;;;;;;;;;:::i;30985:458::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;30985:458:0;;;;;;;;:::i;27301:74::-;;;:::i;27870:22::-;;;-1:-1:-1;;;;;27870:22:0;;:::o;27649:117::-;27701:14;;-1:-1:-1;;;;;27701:14:0;27688:9;:27;27684:78;;;27720:9;:22;;-1:-1:-1;;;;;;27720:22:0;27732:10;27720:22;;;27684:78;27649:117::o;34418:1574::-;27819:9;;-1:-1:-1;;;;;27819:9:0;27805:10;:23;27797:32;;;;;;34559:2:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;34559:21:0;;-1:-1:-1;;;;;34559:21:0;;::::1;;::::0;::::1;::::0;;;34583:1:::1;::::0;34559:2;;;::::1;::::0;:16:::1;::::0;:21;;;;;::::1;::::0;;;;;;;;;:2;:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34559:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;34559:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;34559:21:0;:25:::1;34555:68;;;34586:37;::::0;;-1:-1:-1;;;34586:37:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;34555:68;34631:2;::::0;:23:::1;::::0;;-1:-1:-1;;;34631:23:0;;-1:-1:-1;;;;;34631:23:0;;::::1;;::::0;::::1;::::0;;;34657:1:::1;::::0;34631:2;;;::::1;::::0;:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34631:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;34631:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;34631:23:0;:27:::1;34627:72;;;34660:39;::::0;;-1:-1:-1;;;34660:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;34627:72;34721:3;-1:-1:-1::0;;;;;34712:12:0::1;:5;-1:-1:-1::0;;;;;34712:12:0::1;;;34706:53;;34727:32;::::0;;-1:-1:-1;;;34727:32:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;34727:32:0;;;;;;;;;;;;;::::1;34706:53;34769:2;::::0;:23:::1;::::0;;-1:-1:-1;;;34769:23:0;;-1:-1:-1;;;;;34769:23:0;;::::1;;::::0;::::1;::::0;;;34795:6;;34769:2;;;::::1;::::0;:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34769:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;34769:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;34769:23:0;:32:::1;34765:82;;;34803:44;;-1:-1:-1::0;;;34803:44:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34765:82;34891:2;::::0;:21:::1;::::0;;-1:-1:-1;;;34891:21:0;;-1:-1:-1;;;;;34891:21:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:16:::1;::::0;:21;;;;;::::1;::::0;;;;;;;;:2;:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34891:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;34891:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;34891:21:0;34858:2:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;34858:21:0;;-1:-1:-1;;;;;34858:21:0;;::::1;;::::0;::::1;::::0;;;34882:6;;34858:2;;;::::1;::::0;:16:::1;::::0;:21;;;;;34891::::1;::::0;34858;;;;;;;;:2;:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34858:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;34858:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;34858:21:0;:30:::1;:54;34854:126;;;34914:66;;-1:-1:-1::0;;;34914:66:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34854:126;35000:2;::::0;:23:::1;::::0;;-1:-1:-1;;;35000:23:0;;-1:-1:-1;;;;;35000:23:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35000:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35000:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35000:23:0;34991:32;::::1;34987:82;;;35025:44;;-1:-1:-1::0;;;35025:44:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34987:82;35161:2;::::0;:18:::1;::::0;;-1:-1:-1;;;35161:18:0;;;;35076:28:::1;::::0;-1:-1:-1;;;;;35161:2:0::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:18;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35161:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35161:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35161:18:0;35107:2:::1;::::0;:36:::1;::::0;;-1:-1:-1;;;35107:36:0;;;;35146:6;;-1:-1:-1;;;;;35107:2:0::1;::::0;:34:::1;::::0;:36:::1;::::0;;::::1;::::0;35161:18:::1;::::0;35107:36;;;;;;;:2;:36;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35107:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35107:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35107:36:0;:45:::1;35155:3;35107:51;:72:::0;::::1;;;;;35076:103;;35210:2;;;;;;;;;-1:-1:-1::0;;;;;35210:2:0::1;-1:-1:-1::0;;;;;35210:34:0::1;;:36;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;35210:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35210:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35210:36:0;35187:59;::::1;35183:127;;;35274:2;;;;;;;;;-1:-1:-1::0;;;;;35274:2:0::1;-1:-1:-1::0;;;;;35274:34:0::1;;:36;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;35274:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35274:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35274:36:0;;-1:-1:-1;35183:127:0::1;35351:2;;;;;;;;;-1:-1:-1::0;;;;;35351:2:0::1;-1:-1:-1::0;;;;;35351:34:0::1;;:36;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;35351:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35351:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35351:36:0;35318:30;;:69:::1;35314:156;;;35389:81;;-1:-1:-1::0;;;35389:81:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35314:156;35477:2;::::0;;:55:::1;::::0;;-1:-1:-1;;;35477:55:0;;-1:-1:-1;;;;;35477:55:0;;::::1;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;:2;::::1;::::0;:23:::1;::::0;35501:5;;35508:23;;35477:55;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:2:::1;8:100:-1;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;35477:55:0;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;35477:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;35539:2:0::1;::::0;35571:30:::1;::::0;;-1:-1:-1;;;35571:30:0;;;;-1:-1:-1;;;;;35539:2:0;;::::1;::::0;-1:-1:-1;35539:31:0::1;::::0;-1:-1:-1;35539:2:0;;35571:28:::1;::::0;:30:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;35539:2;35571:30;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35571:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35571:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35571:30:0;35539:67:::1;::::0;;-1:-1:-1;;;;;;35539:67:0::1;::::0;;;;;;35604:1:::1;35571:34:::0;;::::1;35539:67;::::0;::::1;::::0;;;;;;;-1:-1:-1;;35539:67:0;;;;;;;-1:-1:-1;35539:67:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35539:67:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35539:67:0;;;;35643:3;-1:-1:-1::0;;;;;35615:62:0::1;35636:5;-1:-1:-1::0;;;;;35615:62:0::1;;35648:6;35656:20;35615:62;;;;;;;;;;;;;;;;;;;;;;;;35681:2;::::0;35708:23:::1;::::0;;-1:-1:-1;;;35708:23:0;;-1:-1:-1;;;;;35708:23:0;;::::1;;::::0;::::1;::::0;;;35681:2;;;::::1;::::0;:19:::1;::::0;35701:5;;35734:6;;35681:2;;35708:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;35681:2;35708:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35708:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35708:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35708:23:0;35681:60:::1;::::0;;-1:-1:-1;;;;;;35681:60:0::1;::::0;;;;;;-1:-1:-1;;;;;35681:60:0;;::::1;;::::0;::::1;::::0;35708:32;;::::1;35681:60:::0;;;;;;;;;;-1:-1:-1;;35681:60:0;;;;;;;-1:-1:-1;35681:60:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35681:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;35746:2:0::1;::::0;35771:21:::1;::::0;;-1:-1:-1;;;35771:21:0;;-1:-1:-1;;;;;35771:21:0;;::::1;;::::0;::::1;::::0;;;35746:2;;;::::1;::::0;-1:-1:-1;35746:19:0::1;::::0;-1:-1:-1;35766:3:0;;35795:6;;35746:2;;35771:16:::1;::::0;:21;;;;;::::1;::::0;;;;;;;;35746:2;35771:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35771:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35771:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35771:21:0;35746:56:::1;::::0;;-1:-1:-1;;;;;;35746:56:0::1;::::0;;;;;;-1:-1:-1;;;;;35746:56:0;;::::1;;::::0;::::1;::::0;35771:30;::::1;35746:56:::0;;;;;;;;;;-1:-1:-1;;35746:56:0;;;;;;;-1:-1:-1;35746:56:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35746:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;35814:2:0::1;::::0;:23:::1;::::0;;-1:-1:-1;;;35814:23:0;;-1:-1:-1;;;;;35814:23:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;-1:-1:-1;35814:16:0::1;::::0;-1:-1:-1;35814:23:0;;;;;::::1;::::0;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35814:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35814:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35814:23:0;35810:61:::1;;35847:24;35865:5;35847:17;:24::i;:::-;35883:2;::::0;:29:::1;::::0;;-1:-1:-1;;;35883:29:0;;-1:-1:-1;;;;;35883:29:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:24:::1;::::0;:29;;;;;::::1;::::0;;;;;;;;:2;:29;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;35883:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;35883:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;35883:29:0;35879:62:::1;;35922:19;35937:3;35922:14;:19::i;:::-;35974:3;-1:-1:-1::0;;;;;35953:33:0::1;35967:5;-1:-1:-1::0;;;;;35953:33:0::1;;35979:6;35953:33;;;;;;;;;;;;;;;;;;27837:1;34418:1574:::0;;;;:::o;27520:125::-;27592:14;;-1:-1:-1;;;;;27592:14:0;27579:9;:27;27575:68;;;27608:9;:20;;-1:-1:-1;;;;;;27608:20:0;-1:-1:-1;;;;;27608:20:0;;;;;27575:68;27520:125;:::o;27895:22::-;;;-1:-1:-1;;;;;27895:22:0;;:::o;28607:199::-;28679:4;28687;28679:12;28673:29;;28694:8;;;28673:29;28723:14;;-1:-1:-1;;;;;28723:14:0;28709:10;:28;28705:99;;;28740:2;:27;;-1:-1:-1;;;;;;28740:27:0;-1:-1:-1;;;;;28740:27:0;;;;;;;;;;;28769:19;;;-1:-1:-1;;;28769:19:0;;;;:2;;;;;:17;;:19;;;;;-1:-1:-1;;28769:19:0;;;;;;;;-1:-1:-1;28769:2:0;:19;;;5:2:-1;;;;30:1;27;20:12;5:2;28769:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28769:19:0;;;;28607:199;;:::o;32754:1660::-;32850:18;27819:9;;-1:-1:-1;;;;;27819:9:0;27805:10;:23;27797:32;;;;;;32878:2:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;32878:21:0;;-1:-1:-1;;;;;32878:21:0;;::::1;;::::0;::::1;::::0;;;32902:1:::1;::::0;32878:2;;;::::1;::::0;:16:::1;::::0;:21;;;;;::::1;::::0;;;;;;;;;:2;:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32878:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32878:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;32878:21:0;:25:::1;32874:68;;;32905:37;::::0;;-1:-1:-1;;;32905:37:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;32874:68;32953:2;::::0;:23:::1;::::0;;-1:-1:-1;;;32953:23:0;;-1:-1:-1;;;;;32953:23:0;;::::1;;::::0;::::1;::::0;;;32979:1:::1;::::0;32953:2;;;::::1;::::0;:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32953:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32953:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;32953:23:0;:27:::1;32949:72;;;32982:39;::::0;;-1:-1:-1;;;32982:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;32949:72;33043:3;-1:-1:-1::0;;;;;33034:12:0::1;:5;-1:-1:-1::0;;;;;33034:12:0::1;;;33028:53;;33049:32;::::0;;-1:-1:-1;;;33049:32:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;33049:32:0;;;;;;;;;;;;;::::1;33028:53;33091:2;::::0;:23:::1;::::0;;-1:-1:-1;;;33091:23:0;;-1:-1:-1;;;;;33091:23:0;;::::1;;::::0;::::1;::::0;;;33117:6;;33091:2;;;::::1;::::0;:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33091:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33091:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33091:23:0;:32:::1;33087:82;;;33125:44;;-1:-1:-1::0;;;33125:44:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33087:82;33213:2;::::0;:21:::1;::::0;;-1:-1:-1;;;33213:21:0;;-1:-1:-1;;;;;33213:21:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:16:::1;::::0;:21;;;;;::::1;::::0;;;;;;;;:2;:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33213:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33213:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33213:21:0;33180:2:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;33180:21:0;;-1:-1:-1;;;;;33180:21:0;;::::1;;::::0;::::1;::::0;;;33204:6;;33180:2;;;::::1;::::0;:16:::1;::::0;:21;;;;;33213::::1;::::0;33180;;;;;;;;:2;:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33180:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33180:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33180:21:0;:30:::1;:54;33176:126;;;33236:66;;-1:-1:-1::0;;;33236:66:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33176:126;33322:2;::::0;:23:::1;::::0;;-1:-1:-1;;;33322:23:0;;-1:-1:-1;;;;;33322:23:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33322:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33322:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33322:23:0;33313:32;::::1;33309:82;;;33347:44;;-1:-1:-1::0;;;33347:44:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33309:82;33402:2;::::0;:33:::1;::::0;;-1:-1:-1;;;33402:33:0;;-1:-1:-1;;;;;33402:33:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:33;;;;;::::1;::::0;;;;;;;;:2;:33;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33402:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33402:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33402:33:0;33398:84:::1;;;33437:45;;-1:-1:-1::0;;;33437:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33398:84;33493:2;::::0;:32:::1;::::0;;-1:-1:-1;;;33493:32:0;;-1:-1:-1;;;;;33493:32:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:25:::1;::::0;:32;;;;;::::1;::::0;;;;;;;;:2;:32;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33493:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33493:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33493:32:0;33489:82:::1;;;33527:44;;-1:-1:-1::0;;;33527:44:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33489:82;33648:2;::::0;:18:::1;::::0;;-1:-1:-1;;;33648:18:0;;;;33578:17:::1;::::0;-1:-1:-1;;;;;33648:2:0::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:18;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33648:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33648:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33648:18:0;33598:2:::1;::::0;:32:::1;::::0;;-1:-1:-1;;;33598:32:0;;;;33633:6;;-1:-1:-1;;;;;33598:2:0::1;::::0;:30:::1;::::0;:32:::1;::::0;;::::1;::::0;33648:18:::1;::::0;33598:32;;;;;;;:2;:32;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33598:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33598:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33598:32:0;:41:::1;33642:3;33598:47;:68:::0;::::1;;;;;33578:88;;33686:2;;;;;;;;;-1:-1:-1::0;;;;;33686:2:0::1;-1:-1:-1::0;;;;;33686:30:0::1;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;33686:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33686:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33686:32:0;33674:44;::::1;33670:97;;;33735:2;;;;;;;;;-1:-1:-1::0;;;;;33735:2:0::1;-1:-1:-1::0;;;;;33735:30:0::1;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;33735:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33735:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33735:32:0;;-1:-1:-1;33670:97:0::1;33778:2;::::0;;:28:::1;::::0;;-1:-1:-1;;;33778:28:0;;-1:-1:-1;;;;;33778:28:0;;::::1;::::0;;::::1;::::0;;;;;;33810:9;;33778:2;;::::1;::::0;:21:::1;::::0;:28;;;;;::::1;::::0;;;;;;;;;:2;:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33778:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33778:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33778:28:0;:41:::1;;33772:106;;33822:56;;-1:-1:-1::0;;;33822:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33772:106;33886:2;::::0;33918:30:::1;::::0;;-1:-1:-1;;;33918:30:0;;;;-1:-1:-1;;;;;33886:2:0;;::::1;::::0;:31:::1;::::0;33951:9;;33886:2;;33918:28:::1;::::0;:30:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;33886:2;33918:30;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33918:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33918:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33918:30:0;33886:75:::1;::::0;;-1:-1:-1;;;;;;33886:75:0::1;::::0;;;;;;33918:42;;;::::1;33886:75;::::0;::::1;::::0;;;;;;;-1:-1:-1;;33886:75:0;;;;;;;-1:-1:-1;33886:75:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33886:75:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;33965:2:0::1;::::0;33993:26:::1;::::0;;-1:-1:-1;;;33993:26:0;;;;-1:-1:-1;;;;;33965:2:0;;::::1;::::0;-1:-1:-1;33965:27:0::1;::::0;-1:-1:-1;33965:2:0;;33993:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;33965:2;33993:26;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33993:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33993:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;33993:26:0;33965:59:::1;::::0;;-1:-1:-1;;;;;;33965:59:0::1;::::0;;;;;;34022:1:::1;33993:30:::0;;::::1;33965:59;::::0;::::1;::::0;;;;;;;-1:-1:-1;;33965:59:0;;;;;;;-1:-1:-1;33965:59:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;33965:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;33965:59:0;;;;34057:3;-1:-1:-1::0;;;;;34033:47:0::1;34050:5;-1:-1:-1::0;;;;;34033:47:0::1;;34062:6;34070:9;34033:47;;;;;;;;;;;;;;;;;;;;;;;;34084:2;::::0;34111:23:::1;::::0;;-1:-1:-1;;;34111:23:0;;-1:-1:-1;;;;;34111:23:0;;::::1;;::::0;::::1;::::0;;;34084:2;;;::::1;::::0;:19:::1;::::0;34104:5;;34137:6;;34084:2;;34111:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;34084:2;34111:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34111:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;34111:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;34111:23:0;34084:60:::1;::::0;;-1:-1:-1;;;;;;34084:60:0::1;::::0;;;;;;-1:-1:-1;;;;;34084:60:0;;::::1;;::::0;::::1;::::0;34111:32;;::::1;34084:60:::0;;;;;;;;;;-1:-1:-1;;34084:60:0;;;;;;;-1:-1:-1;34084:60:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34084:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;34149:2:0::1;::::0;34174:21:::1;::::0;;-1:-1:-1;;;34174:21:0;;-1:-1:-1;;;;;34174:21:0;;::::1;;::::0;::::1;::::0;;;34149:2;;;::::1;::::0;-1:-1:-1;34149:19:0::1;::::0;-1:-1:-1;34169:3:0;;34198:6;;34149:2;;34174:16:::1;::::0;:21;;;;;::::1;::::0;;;;;;;;34149:2;34174:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34174:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;34174:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;34174:21:0;34149:56:::1;::::0;;-1:-1:-1;;;;;;34149:56:0::1;::::0;;;;;;-1:-1:-1;;;;;34149:56:0;;::::1;;::::0;::::1;::::0;34174:30;::::1;34149:56:::0;;;;;;;;;;-1:-1:-1;;34149:56:0;;;;;;;-1:-1:-1;34149:56:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34149:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;34217:2:0::1;::::0;:23:::1;::::0;;-1:-1:-1;;;34217:23:0;;-1:-1:-1;;;;;34217:23:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;-1:-1:-1;34217:16:0::1;::::0;-1:-1:-1;34217:23:0;;;;;::::1;::::0;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34217:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;34217:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;34217:23:0;34213:61:::1;;34250:24;34268:5;34250:17;:24::i;:::-;34286:2;::::0;:29:::1;::::0;;-1:-1:-1;;;34286:29:0;;-1:-1:-1;;;;;34286:29:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:24:::1;::::0;:29;;;;;::::1;::::0;;;;;;;;:2;:29;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;34286:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;34286:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;34286:29:0;34282:62:::1;;34325:19;34340:3;34325:14;:19::i;:::-;34377:3;-1:-1:-1::0;;;;;34356:33:0::1;34370:5;-1:-1:-1::0;;;;;34356:33:0::1;;34382:6;34356:33;;;;;;;;;;;;;;;;;;34401:9:::0;32754:1660;-1:-1:-1;;;;32754:1660:0:o;28408:197::-;28479:4;28487;28479:12;28473:29;;28494:8;;;28473:29;28523:14;;-1:-1:-1;;;;;28523:14:0;28509:10;:28;28505:98;;;28540:2;:26;;-1:-1:-1;;;;;;28540:26:0;-1:-1:-1;;;;;28540:26:0;;;;;;;;;;;28568:19;;;-1:-1:-1;;;28568:19:0;;;;:2;;;;;:17;;:19;;;;;-1:-1:-1;;28568:19:0;;;;;;;;-1:-1:-1;28568:2:0;:19;;;5:2:-1;;;;30:1;27;20:12;27229:69:0;;;-1:-1:-1;;;;;27229:69:0;;:::o;28234:170::-;28305:14;;-1:-1:-1;;;;;28305:14:0;28291:10;:28;28287:113;;;28328:2;:27;;-1:-1:-1;;;;;;28328:27:0;-1:-1:-1;;;;;28328:27:0;;;;;;;;;;28360:19;;;-1:-1:-1;;;28360:19:0;;;;:2;;;;;:17;;:19;;;;-1:-1:-1;;28360:19:0;;;;;;;-1:-1:-1;28360:2:0;:19;;;5:2:-1;;;;30:1;27;20:12;5:2;28360:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28360:19:0;;;;28287:113;;32521:229;27819:9;;-1:-1:-1;;;;;27819:9:0;27805:10;:23;27797:32;;;;;;32590:2:::1;::::0;:23:::1;::::0;;-1:-1:-1;;;32590:23:0;;-1:-1:-1;;;;;32590:23:0;;::::1;;::::0;::::1;::::0;;;32616:1:::1;::::0;32590:2;;;::::1;::::0;:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32590:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32590:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;32590:23:0;:27:::1;32586:160;;;32626:2;::::0;:29:::1;::::0;;-1:-1:-1;;;32626:29:0;;-1:-1:-1;;;;;32626:29:0;;::::1;;::::0;::::1;::::0;:2:::1;:29:::0;;;;;;;;:2;::::1;::::0;:19:::1;::::0;:29;;;;;:2;;:29;;;;;;:2;;:29;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32626:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32626:29:0;;;;32660:30;32684:5;32660:23;:30::i;:::-;32700:22;::::0;-1:-1:-1;;;;;32700:22:0;::::1;::::0;::::1;::::0;;;::::1;32586:160;;27378:140:::0;27412:14;;-1:-1:-1;;;;;27412:14:0;27408:108;;27474:14;:27;;-1:-1:-1;;;;;;27474:27:0;27491:10;27474:27;;;27408:108;;27846:21;;;-1:-1:-1;;;;;27846:21:0;;:::o;35996:453::-;27819:9;;-1:-1:-1;;;;;27819:9:0;27805:10;:23;27797:32;;;;;;36098:2:::1;;;;;;;;;-1:-1:-1::0;;;;;36098:2:0::1;-1:-1:-1::0;;;;;36098:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;36098:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;36098:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;36098:17:0;:55;::::1;;;;36128:2;;;;;;;;;-1:-1:-1::0;;;;;36128:2:0::1;-1:-1:-1::0;;;;;36128:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;36128:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;36128:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;36128:25:0;-1:-1:-1;;;;;36119:34:0;;::::1;::::0;::::1;;36098:55;36094:352;;;36162:2;::::0;:38:::1;::::0;;-1:-1:-1;;;36162:38:0;;-1:-1:-1;;;;;36162:38:0;;::::1;;::::0;::::1;::::0;;;;;;;;;:2;;;::::1;::::0;:19:::1;::::0;:38;;;;;:2:::1;::::0;:38;;;;;;;:2;;:38;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;36162:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;36206:2:0::1;::::0;:29:::1;::::0;;-1:-1:-1;;;36206:29:0;;-1:-1:-1;;;;;36206:29:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;-1:-1:-1;36206:22:0::1;::::0;-1:-1:-1;36206:29:0;;;;;:2:::1;::::0;:29;;;;;;;:2;;:29;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;36206:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;36240:2:0::1;::::0;36275::::1;::::0;:27:::1;::::0;;-1:-1:-1;;;36275:27:0;;;;-1:-1:-1;;;;;36240:2:0;;::::1;::::0;-1:-1:-1;36240:27:0::1;::::0;-1:-1:-1;36268:5:0;;36240:2;;36275::::1;::::0;:25:::1;::::0;:27:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:27;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;36275:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;36275:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;36275:27:0;36240:67:::1;::::0;;-1:-1:-1;;;;;;36240:67:0::1;::::0;;;;;;-1:-1:-1;;;;;36240:67:0;;::::1;;::::0;::::1;::::0;36275:31;;::::1;36240:67:::0;;;;;;;;;;-1:-1:-1;;36240:67:0;;;;;;;-1:-1:-1;36240:67:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;36240:67:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;36315:2:0::1;::::0;:38:::1;::::0;;-1:-1:-1;;;36315:38:0;;-1:-1:-1;;;;;36315:38:0;;::::1;;::::0;::::1;::::0;;;;;;;;;:2;;;::::1;::::0;-1:-1:-1;36315:19:0::1;::::0;-1:-1:-1;36315:38:0;;;;;:2:::1;::::0;:38;;;;;;;:2;;:38;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;36315:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;36358:2:0::1;::::0;36385:25:::1;::::0;;-1:-1:-1;;;36385:25:0;;;;-1:-1:-1;;;;;36358:2:0;;::::1;::::0;-1:-1:-1;36358:26:0::1;::::0;-1:-1:-1;36358:2:0;;36385:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;36358:2;36385:25;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;36385:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;36385:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;36385:25:0;36358:55:::1;::::0;;-1:-1:-1;;;;;;36358:55:0::1;::::0;;;;;;36411:1:::1;36385:27:::0;;::::1;36358:55;::::0;::::1;::::0;;;;;;;-1:-1:-1;;36358:55:0;;;;;;;-1:-1:-1;36358:55:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;36358:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;36358:55:0;;;;35996:453:::0;;;:::o;30985:458::-;27819:9;;-1:-1:-1;;;;;27819:9:0;27805:10;:23;27797:32;;;;;;31083:2:::1;31070:10;:15;31066:48;;;31087:27;::::0;;-1:-1:-1;;;31087:27:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;31087:27:0;;;;;;;;;;;;;::::1;31066:48;31122:2;::::0;:23:::1;::::0;;-1:-1:-1;;;31122:23:0;;-1:-1:-1;;;;;31122:23:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;31122:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;31122:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;31122:23:0;:28;;:59:::1;;-1:-1:-1::0;31154:2:0::1;::::0;:23:::1;::::0;;-1:-1:-1;;;31154:23:0;;-1:-1:-1;;;;;31154:23:0;;::::1;;::::0;::::1;::::0;;;31180:1:::1;::::0;31154:2;;;::::1;::::0;:16:::1;::::0;:23;;;;;::::1;::::0;;;;;;;;;:2;:23;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;31154:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;31154:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;31154:23:0;:27:::1;31122:59;31118:134;;;31183:69;;-1:-1:-1::0;;;31183:69:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31118:134;31256:2;::::0;:38:::1;::::0;;-1:-1:-1;;;31256:38:0;;-1:-1:-1;;;;;31256:38:0;;::::1;;::::0;::::1;::::0;;;;;;;;;:2;;;::::1;::::0;:19:::1;::::0;:38;;;;;:2:::1;::::0;:38;;;;;;;:2;;:38;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;31256:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;31299:2:0::1;::::0;:26:::1;::::0;;-1:-1:-1;;;31299:26:0;;-1:-1:-1;;;;;31299:26:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;-1:-1:-1;31299:19:0::1;::::0;-1:-1:-1;31299:26:0;;;;;:2:::1;::::0;:26;;;;;;;:2;;:26;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;31299:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;31329:2:0::1;::::0;31361::::1;::::0;:24:::1;::::0;;-1:-1:-1;;;31361:24:0;;;;-1:-1:-1;;;;;31329:2:0;;::::1;::::0;-1:-1:-1;31329:24:0::1;::::0;-1:-1:-1;31354:5:0;;31329:2;;31361::::1;::::0;:22:::1;::::0;:24:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:24;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;31361:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;31361:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;31361:24:0;31329:60:::1;::::0;;-1:-1:-1;;;;;;31329:60:0::1;::::0;;;;;;-1:-1:-1;;;;;31329:60:0;;::::1;;::::0;::::1;::::0;31361:27;;::::1;31329:60:::0;;;;;;;;;;-1:-1:-1;;31329:60:0;;;;;;;-1:-1:-1;31329:60:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;31329:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;31398:41:0::1;::::0;;;;;;;-1:-1:-1;;;;;31398:41:0;::::1;::::0;-1:-1:-1;31398:41:0::1;::::0;-1:-1:-1;31398:41:0;;;;::::1;::::0;;::::1;30985:458:::0;;:::o;27301:74::-;;;-1:-1:-1;;;;;27301:74:0;;:::o;32067:450::-;32125:14;32172:1;32142:2;;;;;;;;;-1:-1:-1;;;;;32142:2:0;-1:-1:-1;;;;;32142:25:0;;:27;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32142:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32142:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32142:27:0;:31;;-1:-1:-1;32182:13:0;;32178:259;;32233:2;;:30;;;-1:-1:-1;;;32233:30:0;;;;;;;;;;32206:24;;-1:-1:-1;;;;;32233:2:0;;:19;;:30;;;;;;;;;;;;;;:2;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;32233:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32233:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32233:30:0;32269:2;;32315:34;;;-1:-1:-1;;;32315:34:0;;-1:-1:-1;;;;;32315:34:0;;;;;;;;;32233:30;;-1:-1:-1;32269:2:0;;;:27;;32233:30;;32269:2;;32315:24;;:34;;;;;32233:30;;32315:34;;;;;;;32269:2;32315:34;;;5:2:-1;;;;30:1;27;20:12;5:2;32315:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32315:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32315:34:0;32269:81;;;-1:-1:-1;;;;;;32269:81:0;;;;;;;-1:-1:-1;;;;;32269:81:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;32269:81:0;;;;;;;-1:-1:-1;32269:81:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;32269:81:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;32356:2:0;;32378;;:34;;;-1:-1:-1;;;32378:34:0;;-1:-1:-1;;;;;32378:34:0;;;;;;;;;32356:2;;;;-1:-1:-1;32356:21:0;;-1:-1:-1;32378:2:0;;;:24;;:34;;;;;;;;;;;;;;;:2;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;32378:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32378:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32378:34:0;32356:75;;;-1:-1:-1;;;;;;32356:75:0;;;;;;;;;;;;;;-1:-1:-1;;;;;32356:75:0;;;;;;;;;;;;-1:-1:-1;;32356:75:0;;;;;;;-1:-1:-1;32356:75:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;32356:75:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32356:75:0;;;;32178:259;;32441:2;;:40;;;-1:-1:-1;;;32441:40:0;;-1:-1:-1;;;;;32441:40:0;;;;;;;:2;:40;;;;;;;;:2;;;:27;;:40;;;;;:2;;:40;;;;;;:2;;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;32441:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32441:40:0;;;;32486:2;;;;;;;;;-1:-1:-1;;;;;32486:2:0;-1:-1:-1;;;;;32486:25:0;;:27;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;31886:177:0;31947:2;;:32;;;-1:-1:-1;;;31947:32:0;;-1:-1:-1;;;;;31947:32:0;;;;;;;;;:2;;;;;:22;;:32;;;;;:2;;:32;;;;;;;:2;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;31947:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;31984:2:0;;32022;;:27;;;-1:-1:-1;;;32022:27:0;;;;-1:-1:-1;;;;;31984:2:0;;;;-1:-1:-1;31984:27:0;;-1:-1:-1;32012:8:0;;31984:2;;32022;;:25;;:27;;;;;;;;;;;;;;:2;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;32022:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32022:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32022:27:0;31984:70;;;-1:-1:-1;;;;;;31984:70:0;;;;;;;-1:-1:-1;;;;;31984:70:0;;;;;;;32022:31;;;31984:70;;;;;;;;;;-1:-1:-1;;31984:70:0;;;;;;;-1:-1:-1;31984:70:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;31984:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31984:70:0;;;;31886:177;:::o;31447:435::-;31511:14;31555:1;31528:2;;;;;;;;;-1:-1:-1;;;;;31528:2:0;-1:-1:-1;;;;;31528:22:0;;:24;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31528:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31528:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31528:24:0;:28;;-1:-1:-1;31565:13:0;;31561:247;;31616:2;;:27;;;-1:-1:-1;;;31616:27:0;;;;;;;;;;31589:24;;-1:-1:-1;;;;;31616:2:0;;:16;;:27;;;;;;;;;;;;;;:2;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;31616:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31616:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31616:27:0;31649:2;;31692:31;;;-1:-1:-1;;;31692:31:0;;-1:-1:-1;;;;;31692:31:0;;;;;;;;;31616:27;;-1:-1:-1;31649:2:0;;;:24;;31616:27;;31649:2;;31692:21;;:31;;;;;31616:27;;31692:31;;;;;;;31649:2;31692:31;;;5:2:-1;;;;30:1;27;20:12;5:2;31692:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31692:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31692:31:0;31649:75;;;-1:-1:-1;;;;;;31649:75:0;;;;;;;-1:-1:-1;;;;;31649:75:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;31649:75:0;;;;;;;-1:-1:-1;31649:75:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;31649:75:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;31730:2:0;;31752;;:31;;;-1:-1:-1;;;31752:31:0;;-1:-1:-1;;;;;31752:31:0;;;;;;;;;31730:2;;;;-1:-1:-1;31730:21:0;;-1:-1:-1;31752:2:0;;;:21;;:31;;;;;;;;;;;;;;;:2;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;31752:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31752:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31752:31:0;31730:72;;;-1:-1:-1;;;;;;31730:72:0;;;;;;;;;;;;;;-1:-1:-1;;;;;31730:72:0;;;;;;;;;;;;-1:-1:-1;;31730:72:0;;;;;;;-1:-1:-1;31730:72:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;31730:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31730:72:0;;;;31561:247;;31812:2;;:37;;;-1:-1:-1;;;31812:37:0;;-1:-1:-1;;;;;31812:37:0;;;;;;;:2;:37;;;;;;;;:2;;;:24;;:37;;;;;:2;;:37;;;;;;:2;;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;31812:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31812:37:0;;;;31854:2;;;;;;;;;-1:-1:-1;;;;;31854:2:0;-1:-1:-1;;;;;31854:22:0;;:24;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12

Swarm Source

ipfs://17ff0c0641f27f0222cb0549efbb9bdc459ffc529aef0e26b28d6db4f320faa1

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
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.