ETH Price: $1,930.84 (-4.79%)
 

Overview

Max Total Supply

0.000000009893604176 MDY

Holders

0

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
METADOLLAR

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-11-22
*/

pragma solidity ^0.4.25;

/*
* METADOLLAR SMART CONTRACT 
* https://www.metadollar.org/ETH/contract-status/0005
* See website for contract status and features
*/

contract METADOLLAR {

    /**
     * Only with tokens
     */
    modifier onlyBagholders {
        require(myTokens() > 0);
        _;
    }

    /**
     * Only with dividends
     */
    modifier onlyStronghands {
        require(myDividends(true) > 0);
        _;
    }

    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingEthereum,
        uint256 tokensMinted,
        uint timestamp,
        uint256 price
    );

    event onTokenSell(
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 ethereumEarned,
        uint timestamp,
        uint256 price
    );

    event onReinvestment(
        address indexed customerAddress,
        uint256 ethereumReinvested
    );

    event onWithdraw(
        address indexed customerAddress,
        uint256 ethereumWithdrawn
    );

    event Transfer(
        address indexed from,
        address indexed to,
        uint256 tokens
    );

    string public name = "Metadollar Dynamic Fund";
    string public symbol = "MDY";
    uint public createdAt;
    
    bool public started = true;
    modifier onlyStarted {
        require(started);
        _;
    }
    modifier onlyNotStarted {
        require(!started);
        _;
    }

    uint8 constant public decimals = 18;

    /**
     * fees
     */
    uint8 constant internal entryFee_ = 15;
    uint8 constant internal ownerFee_ = 4;
    uint8 constant internal transferFee_ = 5;
    uint8 constant internal exitFeeD0_ = 50;
    uint8 constant internal exitFee_ = 6;
    uint8 constant internal refferalFee_ = 33;

    address internal _ownerAddress;

    /**
     * Initial token values
     */
    uint256 constant internal tokenPriceInitial_ = 1 ether;
    uint256 constant internal tokenPriceIncremental_ = 0.0001 ether;

    uint256 constant internal magnitude = 2 ** 64;


    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) internal referralBalance_;
    mapping(address => int256) internal payoutsTo_;
    mapping(address => uint256) internal summaryReferralProfit_;
    mapping(address => uint256) internal dividendsUsed_;

    uint256 internal tokenSupply_;
    uint256 internal profitPerShare_;
    
    uint public blockCreation;
    
    /**
     * Admins. Only rename tokens, change referral settings and add new admins
     */
    mapping(bytes32 => bool) public administrators;
    modifier onlyAdministrator(){
        address _customerAddress = msg.sender;
        require(administrators[keccak256(_customerAddress)]);
        _;
    }

    function isAdmin() public view returns (bool) {
        return administrators[keccak256(msg.sender)];
    }

    function setAdministrator(address _id, bool _status)
        onlyAdministrator()
        public
    {
        if (_id != _ownerAddress) {
            administrators[keccak256(_id)] = _status;
        }
    } 

    function setName(string _name)
        onlyAdministrator()
        public
    {
        name = _name;
    }

    function setSymbol(string _symbol)
        onlyAdministrator()
        public
    {
        symbol = _symbol;
    }

    constructor() public {
        _ownerAddress = msg.sender;
        administrators[keccak256(_ownerAddress)] = true;
        blockCreation = block.number;
    }
    
    function start() onlyNotStarted() onlyAdministrator() public {
        started = true;
        createdAt = block.timestamp;
    }
    
    function getLifetime() public view returns (uint8) {
        if (!started)
        {
            return 0;
        }
        return (uint8) ((now - createdAt) / 60 / 60 / 24);
    }
    
    
    function getSupply() public view returns (uint256) {
        if (!started)
        {
            return 0;
        }
        return totalSupply();
    }
    
    function getExitFee() public view returns (uint8) {
        uint tsupply = getSupply();
        if (tsupply <= 1e18) { 
            return exitFeeD0_; // 50%
        } else if (tsupply > 2e18 && tsupply <= 3e18) {
            return (uint8) (exitFeeD0_  - 15); // 35%
        } else if (tsupply > 3e18 && tsupply <= 4e18) {
            return (uint8) (exitFeeD0_  -20); // 30%
        } else if (tsupply > 4e18 && tsupply <= 5e18) {
            return (uint8) (exitFeeD0_  - 25); // 25%
        } else if (tsupply > 5e18 && tsupply <= 10e18) {
            return (uint8) (exitFeeD0_  - 30); // 20%
        } else if (tsupply > 10e18 && tsupply <= 20e18) {
            return (uint8) (exitFeeD0_  - 32); // 18%
        } else if (tsupply > 20e18 && tsupply <= 50e18) {
            return (uint8) (exitFeeD0_  - 35); // 15%
        } else if (tsupply > 50e18 && tsupply <= 100e18) {
            return (uint8) (exitFeeD0_  - 38); // 12%
        } else if (tsupply > 100e18 && tsupply <= 500e18) {
            return (uint8) (exitFeeD0_  - 40); // 10%
        } else if (tsupply > 500e18 && tsupply <= 1000e18) {
            return (uint8) (exitFeeD0_  - 41); // 9%
        } else if (tsupply > 1000e18 && tsupply <= 2500e18) {
            return (uint8) (exitFeeD0_  - 42); // 8%
        } else if (tsupply > 2500e18 && tsupply <= 5000e18) {
            return (uint8) (exitFeeD0_  - 43); // 7%
        } else if (tsupply > 5000e18 && tsupply <= 10000e18) {
            return (uint8) (exitFeeD0_  - 44); // 6%
        } else {
            return exitFee_; // 6%
        }
    }

    function buy(address _r1, address _r2, address _r3, address _r4, address _r5) onlyStarted() public payable returns (uint256) {
        purchaseTokens(msg.value, _r1, _r2, _r3, _r4, _r5);
    }

    function reinvest() onlyStronghands public {
        uint256 _dividends = myDividends(false);
        address _customerAddress = msg.sender;
        dividendsUsed_[_customerAddress] += _dividends;
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;
        purchaseTokens(_dividends, 0x0, 0x0, 0x0, 0x0, 0x0);
        emit onReinvestment(_customerAddress, _dividends);
    }

    function exit() public {
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if (_tokens > 0) sell(_tokens);
        withdraw();
    }

    function withdraw() onlyStronghands public {
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends(false);
        dividendsUsed_[_customerAddress] += _dividends;
        payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude);
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;
        
        uint256 _fee = SafeMath.div(SafeMath.mul(_dividends, getExitFee() - 3), 100);
        
        uint256 _ownerFee = SafeMath.div(SafeMath.mul(_dividends, 3), 100);
        
        uint256 _dividendsTaxed = SafeMath.sub(_dividends, _fee + _ownerFee);
        
        if (_customerAddress != _ownerAddress) {
            referralBalance_[_ownerAddress] += _ownerFee;
            summaryReferralProfit_[_ownerAddress] += _ownerFee;
        } else {
            _dividendsTaxed += _ownerFee;
        }
        
        profitPerShare_ = SafeMath.add(profitPerShare_, (_fee * magnitude) / tokenSupply_);
    
        _customerAddress.transfer(_dividendsTaxed);
        emit onWithdraw(_customerAddress, _dividends);
    }

    function sell(uint256 _amountOfTokens) onlyBagholders public {
        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _ethereum = tokensToEthereum_(_tokens);

        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);

        int256 _updatedPayouts = (int256) (profitPerShare_ * _tokens + (_ethereum * magnitude));
        payoutsTo_[_customerAddress] -= _updatedPayouts;

        emit onTokenSell(_customerAddress, _tokens, _ethereum, now, buyPrice());
    }

    function transfer(address _toAddress, uint256 _amountOfTokens) onlyBagholders public returns (bool) {
        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        if (myDividends(true) > 0) {
            withdraw();
        }

        uint256 _tokenFee = SafeMath.div(SafeMath.mul(_amountOfTokens, transferFee_), 100);
        uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
        uint256 _dividends = tokensToEthereum_(_tokenFee);

        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens);
        payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
        payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _taxedTokens);
        profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        emit Transfer(_customerAddress, _toAddress, _taxedTokens);
        return true;
    }


    function totalEthereumBalance() public view returns (uint256) {
        return address(this).balance;
    }

    function totalSupply() public view returns (uint256) {
        return tokenSupply_;
    }

    function myTokens() public view returns (uint256) {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }

    function myDividends(bool _includeReferralBonus) public view returns (uint256) {
        address _customerAddress = msg.sender;
        return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress);
    }

    function balanceOf(address _customerAddress) public view returns (uint256) {
        return tokenBalanceLedger_[_customerAddress];
    }

    function dividendsOf(address _customerAddress) public view returns (uint256) {
        return (uint256) ((int256) (profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }
    
    function dividendsFull(address _customerAddress) public view returns (uint256) {
        return dividendsOf(_customerAddress) + dividendsUsed_[_customerAddress] + summaryReferralProfit_[_customerAddress];
    }

    function sellPrice() public view returns (uint256) {
        return sellPriceAt(tokenSupply_);
    }

    function buyPrice() public view returns (uint256) {
        if (tokenSupply_ == 0) {
            return tokenPriceInitial_ + tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereum_(1e18);
            uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, entryFee_), 100);
            uint256 _taxedEthereum = SafeMath.add(_ethereum, _dividends);

            return _taxedEthereum;
        }
    }

    function calculateTokensReceived(uint256 _incomingEthereum) public view returns (uint256) {
        uint256 _dividends = SafeMath.div(SafeMath.mul(_incomingEthereum, entryFee_), 100);
        
        uint256 _taxedEthereum = SafeMath.sub(_incomingEthereum, _dividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);

        return _amountOfTokens;
    }

    function calculateEthereumReceived(uint256 _tokensToSell) public view returns (uint256) {
        require(_tokensToSell <= tokenSupply_);
        return tokensToEthereum_(_tokensToSell);
    }
    
    uint256 public I_S = 0.25 ether;
    uint256 public I_R1 = 30;

    function setI_S(uint256 _v)
        onlyAdministrator()
        public
    {
        I_S = _v;
    }

    function setI_R1(uint256 _v)
        onlyAdministrator()
        public
    {
        I_R1 = _v;
    }

    
    uint256 public II_S = 5 ether;
    uint256 public II_R1 = 30;
    uint256 public II_R2 = 10;

    function setII_S(uint256 _v)
        onlyAdministrator()
        public
    {
        II_S = _v;
    }

    function setII_R1(uint256 _v)
        onlyAdministrator()
        public
    {
        II_R1 = _v;
    }

    function setII_R2(uint256 _v)
        onlyAdministrator()
        public
    {
        II_R2 = _v;
    }
    
    uint256 public III_S = 10 ether;
    uint256 public III_R1 = 30;
    uint256 public III_R2 = 10;
    uint256 public III_R3 = 10;

    function setIII_S(uint256 _v)
        onlyAdministrator()
        public
    {
        III_S = _v;
    }

    function setIII_R1(uint256 _v)
        onlyAdministrator()
        public
    {
        III_R1 = _v;
    }

    function setIII_R2(uint256 _v)
        onlyAdministrator()
        public
    {
        III_R2 = _v;
    }

    function setIII_R3(uint256 _v)
        onlyAdministrator()
        public
    {
        III_R3 = _v;
    }
    
    uint256 public IV_S = 20 ether;
    uint256 public IV_R1 = 30;
    uint256 public IV_R2 = 20;
    uint256 public IV_R3 = 10;
    uint256 public IV_R4 = 10;

    function setIV_S(uint256 _v)
        onlyAdministrator()
        public
    {
        IV_S = _v;
    }

    function setIV_R1(uint256 _v)
        onlyAdministrator()
        public
    {
        IV_R1 = _v;
    }

    function setIV_R2(uint256 _v)
        onlyAdministrator()
        public
    {
        IV_R2 = _v;
    }

    function setIV_R3(uint256 _v)
        onlyAdministrator()
        public
    {
        IV_R3 = _v;
    }

    function setIV_R4(uint256 _v)
        onlyAdministrator()
        public
    {
        IV_R4 = _v;
    }
    
    uint256 public V_S = 100 ether;
    uint256 public V_R1 = 40;
    uint256 public V_R2 = 20;
    uint256 public V_R3 = 10;
    uint256 public V_R4 = 10;
    uint256 public V_R5 = 10;

    function setV_S(uint256 _v)
        onlyAdministrator()
        public
    {
        V_S = _v;
    }

    function setV_R1(uint256 _v)
        onlyAdministrator()
        public
    {
        V_R1 = _v;
    }

    function setV_R2(uint256 _v)
        onlyAdministrator()
        public
    {
        V_R2 = _v;
    }

    function setV_R3(uint256 _v)
        onlyAdministrator()
        public
    {
        V_R3 = _v;
    }

    function setV_R4(uint256 _v)
        onlyAdministrator()
        public
    {
        V_R4 = _v;
    }

    function setV_R5(uint256 _v)
        onlyAdministrator()
        public
    {
        V_R5 = _v;
    }
    
    function canRef(address _r, address _c, uint256 _m) internal returns (bool) {
        return _r != 0x0000000000000000000000000000000000000000 && _r != _c && tokenBalanceLedger_[_r] >= _m;
    }
    
    function etherBalance(address r) internal returns (uint256) {
        uint _v = tokenBalanceLedger_[r];
        if (_v < 0.00000001 ether) {
            return 0;
        } else {
            return tokensToEthereum_(_v);
        }
    }
    
    function getLevel(address _cb) public view returns (uint256) {
        uint256 _b = etherBalance(_cb);
        uint256 _o = 0;
        
        if (_b >= V_S) {
            _o = 5;
        } else if (_b >= IV_S) {
            _o = 4;
        } else if (_b >= III_S) {
            _o = 3;
        } else if (_b >= II_S) {
            _o = 2;
        } else if (_b >= I_S) {
            _o = 1;
        }
        
        return _o;
    }

    function purchaseTokens(uint256 _incomingEthereum, address _r1, address _r2, address _r3, address _r4, address _r5) internal {
        uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingEthereum, entryFee_), 100);
        uint256 _dividends = _undividedDividends;

        uint256 __bC = 0;
        uint256 _b = 0;
        
        if (canRef(_r1, msg.sender, I_S)) {
            __bC = I_R1;

            if (etherBalance(_r1) >= V_S) {
                __bC = V_R1;
            } else if (etherBalance(_r1) >= IV_S) {
                __bC = IV_R1;
            } else if (etherBalance(_r1) >= III_S) {
                __bC = III_R1;
            } else if (etherBalance(_r1) >= II_S) {
                __bC = II_R1;
            }
            
            _b = SafeMath.div(SafeMath.mul(_incomingEthereum, __bC), 1000);
            referralBalance_[_r1] = SafeMath.add(referralBalance_[_r1], _b);
            addReferralProfit(_r1, msg.sender, _b);
            _dividends = SafeMath.sub(_dividends, _b);
        }
        
        if (canRef(_r2, msg.sender, II_S)) {
            __bC = II_R2;

            if (etherBalance(_r2) >= V_S) {
                __bC = V_R2;
            } else if (etherBalance(_r2) >= IV_S) {
                __bC = IV_R2;
            } else if (etherBalance(_r2) >= III_S) {
                __bC = III_R2;
            }
            
            _b = SafeMath.div(SafeMath.mul(_incomingEthereum, __bC), 1000);
            referralBalance_[_r2] = SafeMath.add(referralBalance_[_r2], _b);
            addReferralProfit(_r2, _r1, _b);
            _dividends = SafeMath.sub(_dividends, _b);
        }
        
        if (canRef(_r3, msg.sender, III_S)) {
            __bC = III_R3;

            if (etherBalance(_r3) >= V_S) {
                __bC = V_R3;
            } else if (etherBalance(_r3) >= IV_S) {
                __bC = IV_R3;
            }
            
            _b = SafeMath.div(SafeMath.mul(_incomingEthereum, __bC), 1000);
            referralBalance_[_r3] = SafeMath.add(referralBalance_[_r3], _b);
            addReferralProfit(_r3, _r2, _b);
            _dividends = SafeMath.sub(_dividends, _b);
        }
        
        if (canRef(_r4, msg.sender, IV_S)) {
            __bC = IV_R4;

            if (etherBalance(_r4) >= V_S) {
                __bC = V_R4;
            }
            
            _b = SafeMath.div(SafeMath.mul(_incomingEthereum, __bC), 1000);
            referralBalance_[_r4] = SafeMath.add(referralBalance_[_r4], _b);
            addReferralProfit(_r4, _r3, _b);
            _dividends = SafeMath.sub(_dividends, _b);
        }
        
        if (canRef(_r5, msg.sender, V_S)) {
            _b = SafeMath.div(SafeMath.mul(_incomingEthereum, V_R5), 1000);
            referralBalance_[_r5] = SafeMath.add(referralBalance_[_r5], _b);
            addReferralProfit(_r5, _r4, _b);
            _dividends = SafeMath.sub(_dividends, _b);
        }

        uint256 _amountOfTokens = ethereumToTokens_(SafeMath.sub(_incomingEthereum, _undividedDividends));
        uint256 _fee = _dividends * magnitude;

        require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);

        if (tokenSupply_ > 0) {
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
            profitPerShare_ += (_dividends * magnitude / tokenSupply_);
            _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / tokenSupply_)));
        } else {
            tokenSupply_ = _amountOfTokens;
        }

        tokenBalanceLedger_[msg.sender] = SafeMath.add(tokenBalanceLedger_[msg.sender], _amountOfTokens);
        payoutsTo_[msg.sender] += (int256) (profitPerShare_ * _amountOfTokens - _fee);
        emit onTokenPurchase(msg.sender, _incomingEthereum, _amountOfTokens, now, buyPrice());
    }

    function ethereumToTokens_(uint256 _ethereum) internal view returns (uint256) {
        uint256 _tokenPriceInitial = tokenPriceInitial_ * 1e18;
        uint256 _tokensReceived =
            (
                (
                    SafeMath.sub(
                        (sqrt
                            (
                                (_tokenPriceInitial ** 2)
                                +
                                (2 * (tokenPriceIncremental_ * 1e18) * (_ethereum * 1e18))
                                +
                                ((tokenPriceIncremental_ ** 2) * (tokenSupply_ ** 2))
                                +
                                (2 * tokenPriceIncremental_ * _tokenPriceInitial*tokenSupply_)
                            )
                        ), _tokenPriceInitial
                    )
                ) / (tokenPriceIncremental_)
            ) - (tokenSupply_);

        return _tokensReceived;
    }

    function sellPriceAt(uint256 _atSupply) public view returns (uint256) {
        if (_atSupply == 0) {
            return tokenPriceInitial_ - tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereumAtSupply_(1e18, _atSupply);
            uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
            uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
 
            return _taxedEthereum;
        }
    }
   
    function tokensToEthereum_(uint256 _tokens) internal view returns (uint256) {
        return tokensToEthereumAtSupply_(_tokens, tokenSupply_);
    }
 
    function tokensToEthereumAtSupply_(uint256 _tokens, uint256 _atSupply) public view returns (uint256) {
        if (_tokens < 0.00000001 ether) {
            return 0;
        }
        uint256 tokens_ = (_tokens + 1e18);
        uint256 _tokenSupply = (_atSupply + 1e18);
        uint256 _etherReceived =
            (
                SafeMath.sub(
                    (
                        (
                            (
                                tokenPriceInitial_ + (tokenPriceIncremental_ * (_tokenSupply / 1e18))
                            ) - tokenPriceIncremental_
                        ) * (tokens_ - 1e18)
                    ), (tokenPriceIncremental_ * ((tokens_ ** 2 - tokens_) / 1e18)) / 2
                )
                / 1e18);
 
        return _etherReceived;
    }

    function sqrt(uint256 x) internal pure returns (uint256 y) {
        uint256 z = (x + 1) / 2;
        y = x;

        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }
    
    mapping(address => mapping(address => uint256)) internal referralProfit_;
    
    function addReferralProfit(address _referredBy, address _referral, uint256 _profit) internal {
        referralProfit_[_referredBy][_referral] += _profit;
        summaryReferralProfit_[_referredBy] += _profit;
    }
    
    function getReferralProfit(address _referredBy, address _referral) public view returns (uint256) {
        return referralProfit_[_referredBy][_referral];
    }
    
    function getSummaryReferralProfit(address _referredBy) public view returns (uint256) {
        if (_ownerAddress == _referredBy) {
            return 0;
        } else {
            return summaryReferralProfit_[_referredBy];
        }
    }

}

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokens","type":"uint256"},{"name":"_atSupply","type":"uint256"}],"name":"tokensToEthereumAtSupply_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"IV_R4","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_referredBy","type":"address"}],"name":"getSummaryReferralProfit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_incomingEthereum","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setII_S","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"IV_R3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setV_R3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"started","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setIV_R1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"III_R1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setIII_R3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"IV_R2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"V_R3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"administrators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"III_R2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"IV_S","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setIV_R2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setIV_S","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"V_R2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setII_R2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"V_R5","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"I_S","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setIII_S","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_includeReferralBonus","type":"bool"}],"name":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthereumBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_referredBy","type":"address"},{"name":"_referral","type":"address"}],"name":"getReferralProfit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"II_R2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"V_R4","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"V_S","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setIII_R2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setV_R1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_cb","type":"address"}],"name":"getLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getLifetime","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"address"},{"name":"_status","type":"bool"}],"name":"setAdministrator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"blockCreation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setI_R1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"IV_R1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsFull","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"I_R1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"II_R1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setV_R2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"III_S","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_atSupply","type":"uint256"}],"name":"sellPriceAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setIV_R4","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"createdAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setI_S","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"V_R1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setV_S","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_r1","type":"address"},{"name":"_r2","type":"address"},{"name":"_r3","type":"address"},{"name":"_r4","type":"address"},{"name":"_r5","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setV_R4","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setIII_R1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setII_R1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setIV_R3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"II_S","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getExitFee","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"III_R3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_v","type":"uint256"}],"name":"setV_R5","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"incomingEthereum","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"ethereumEarned","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumReinvested","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526040805190810160405280601781526020017f4d657461646f6c6c61722044796e616d69632046756e64000000000000000000815250600090805190602001906200005192919062000246565b506040805190810160405280600381526020017f4d44590000000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f92919062000246565b506001600360006101000a81548160ff0219169083151502179055506703782dace9d90000600d55601e600e55674563918244f40000600f55601e601055600a601155678ac7230489e80000601255601e601355600a601455600a6015556801158e460913d00000601655601e6017556014601855600a601955600a601a5568056bc75e2d63100000601b556028601c556014601d55600a601e55600a601f55600a6020553480156200015157600080fd5b5033600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060006101000a81548160ff02191690831515021790555043600b81905550620002f5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028957805160ff1916838001178555620002ba565b82800160010185558215620002ba579182015b82811115620002b95782518255916020019190600101906200029c565b5b509050620002c99190620002cd565b5090565b620002f291905b80821115620002ee576000816000905550600101620002d4565b5090565b90565b6145b980620003056000396000f300608060405260043610610384576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461038957806304729a8d146103e057806306fdde031461042b57806308ff90e0146104bb5780630ebb0d30146104e657806310d0ffdd1461053d578063117a44251461057e57806318160ddd146105ab578063181f4180146105d65780631ddd303d146106015780631f2698ab1461062e578063226093731461065d57806322dc8e711461069e578063289fa844146106cb578063313ce567146106f6578063327683bb1461072757806334fa2d4314610754578063366847521461077f578063392efb52146107aa5780633a7d773b146107f35780633c4ae1ee1461081e5780633ccfd60b146108495780634a208c38146108605780634b7503341461088d578063527ba1e1146108b85780635b6a7ec8146108e5578063614a31bf1461091057806361677d4d1461093d57806363f82d61146109685780636537e40114610993578063688abbf7146109c05780636b2f463214610a035780636c9c2faf14610a2e57806370a0823114610a5957806372cee8ea14610ab05780637367352d14610b27578063759de39814610b5257806378c7db0014610b7d5780637a1c39cb14610ba85780637c6b2d6a14610bd5578063817c896614610c0257806381e6e08314610c595780638620410b14610c8a57806387c9505814610cb55780638b349c3514610d045780638f16eb1a14610d2f57806392162de714610d5c578063949e8acd14610d8757806395d89b4114610db25780639d6d232114610e42578063a6b57b6d14610e99578063a9059cbb14610ec4578063afa2a83f14610f29578063b263c00c14610f54578063b530700d14610f81578063b6db75a014610fac578063b84c824614610fdb578063be9a655514611044578063c47f00271461105b578063c549e4e9146110c4578063c646162514611105578063cf09e0d014611132578063d0a05fea1461115d578063d3ee99cf1461118a578063d46d0a22146111b5578063dbbb206f146111e2578063dca27d5e146112ac578063ddf1be5f146112d9578063e3489a4f14611306578063e4849b3214611333578063e70f5d9514611360578063e9fad8ee1461138d578063ec01438e146113a4578063ecb0116a146113cf578063f3b3982514611400578063f6f366411461142b578063fdb5a03e14611458575b600080fd5b34801561039557600080fd5b506103ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061146f565b6040518082815260200191505060405180910390f35b3480156103ec57600080fd5b506104156004803603810190808035906020019092919080359060200190929190505050611511565b6040518082815260200191505060405180910390f35b34801561043757600080fd5b506104406115d8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610480578082015181840152602081019050610465565b50505050905090810190601f1680156104ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104c757600080fd5b506104d0611676565b6040518082815260200191505060405180910390f35b3480156104f257600080fd5b50610527600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061167c565b6040518082815260200191505060405180910390f35b34801561054957600080fd5b5061056860048036038101908080359060200190929190505050611725565b6040518082815260200191505060405180910390f35b34801561058a57600080fd5b506105a960048036038101908080359060200190929190505050611767565b005b3480156105b757600080fd5b506105c06117fb565b6040518082815260200191505060405180910390f35b3480156105e257600080fd5b506105eb611805565b6040518082815260200191505060405180910390f35b34801561060d57600080fd5b5061062c6004803603810190808035906020019092919050505061180b565b005b34801561063a57600080fd5b5061064361189f565b604051808215151515815260200191505060405180910390f35b34801561066957600080fd5b50610688600480360381019080803590602001909291905050506118b2565b6040518082815260200191505060405180910390f35b3480156106aa57600080fd5b506106c9600480360381019080803590602001909291905050506118d5565b005b3480156106d757600080fd5b506106e0611969565b6040518082815260200191505060405180910390f35b34801561070257600080fd5b5061070b61196f565b604051808260ff1660ff16815260200191505060405180910390f35b34801561073357600080fd5b5061075260048036038101908080359060200190929190505050611974565b005b34801561076057600080fd5b50610769611a08565b6040518082815260200191505060405180910390f35b34801561078b57600080fd5b50610794611a0e565b6040518082815260200191505060405180910390f35b3480156107b657600080fd5b506107d96004803603810190808035600019169060200190929190505050611a14565b604051808215151515815260200191505060405180910390f35b3480156107ff57600080fd5b50610808611a34565b6040518082815260200191505060405180910390f35b34801561082a57600080fd5b50610833611a3a565b6040518082815260200191505060405180910390f35b34801561085557600080fd5b5061085e611a40565b005b34801561086c57600080fd5b5061088b60048036038101908080359060200190929190505050611dea565b005b34801561089957600080fd5b506108a2611e7e565b6040518082815260200191505060405180910390f35b3480156108c457600080fd5b506108e360048036038101908080359060200190929190505050611e90565b005b3480156108f157600080fd5b506108fa611f24565b6040518082815260200191505060405180910390f35b34801561091c57600080fd5b5061093b60048036038101908080359060200190929190505050611f2a565b005b34801561094957600080fd5b50610952611fbe565b6040518082815260200191505060405180910390f35b34801561097457600080fd5b5061097d611fc4565b6040518082815260200191505060405180910390f35b34801561099f57600080fd5b506109be60048036038101908080359060200190929190505050611fca565b005b3480156109cc57600080fd5b506109ed60048036038101908080351515906020019092919050505061205e565b6040518082815260200191505060405180910390f35b348015610a0f57600080fd5b50610a186120ca565b6040518082815260200191505060405180910390f35b348015610a3a57600080fd5b50610a436120e9565b6040518082815260200191505060405180910390f35b348015610a6557600080fd5b50610a9a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612118565b6040518082815260200191505060405180910390f35b348015610abc57600080fd5b50610b11600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612161565b6040518082815260200191505060405180910390f35b348015610b3357600080fd5b50610b3c6121e8565b6040518082815260200191505060405180910390f35b348015610b5e57600080fd5b50610b676121ee565b6040518082815260200191505060405180910390f35b348015610b8957600080fd5b50610b926121f4565b6040518082815260200191505060405180910390f35b348015610bb457600080fd5b50610bd3600480360381019080803590602001909291905050506121fa565b005b348015610be157600080fd5b50610c006004803603810190808035906020019092919050505061228e565b005b348015610c0e57600080fd5b50610c43600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612322565b6040518082815260200191505060405180910390f35b348015610c6557600080fd5b50610c6e6123a4565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c9657600080fd5b50610c9f6123f3565b6040518082815260200191505060405180910390f35b348015610cc157600080fd5b50610d02600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061245f565b005b348015610d1057600080fd5b50610d196125c8565b6040518082815260200191505060405180910390f35b348015610d3b57600080fd5b50610d5a600480360381019080803590602001909291905050506125ce565b005b348015610d6857600080fd5b50610d71612662565b6040518082815260200191505060405180910390f35b348015610d9357600080fd5b50610d9c612668565b6040518082815260200191505060405180910390f35b348015610dbe57600080fd5b50610dc761267d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e07578082015181840152602081019050610dec565b50505050905090810190601f168015610e345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610e4e57600080fd5b50610e83600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061271b565b6040518082815260200191505060405180910390f35b348015610ea557600080fd5b50610eae6127af565b6040518082815260200191505060405180910390f35b348015610ed057600080fd5b50610f0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127b5565b604051808215151515815260200191505060405180910390f35b348015610f3557600080fd5b50610f3e612ad8565b6040518082815260200191505060405180910390f35b348015610f6057600080fd5b50610f7f60048036038101908080359060200190929190505050612ade565b005b348015610f8d57600080fd5b50610f96612b72565b6040518082815260200191505060405180910390f35b348015610fb857600080fd5b50610fc1612b78565b604051808215151515815260200191505060405180910390f35b348015610fe757600080fd5b50611042600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612bf8565b005b34801561105057600080fd5b50611059612c9c565b005b34801561106757600080fd5b506110c2600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612d66565b005b3480156110d057600080fd5b506110ef60048036038101908080359060200190929190505050612e0a565b6040518082815260200191505060405180910390f35b34801561111157600080fd5b5061113060048036038101908080359060200190929190505050612e77565b005b34801561113e57600080fd5b50611147612f0b565b6040518082815260200191505060405180910390f35b34801561116957600080fd5b5061118860048036038101908080359060200190929190505050612f11565b005b34801561119657600080fd5b5061119f612fa5565b6040518082815260200191505060405180910390f35b3480156111c157600080fd5b506111e060048036038101908080359060200190929190505050612fab565b005b611296600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061303f565b6040518082815260200191505060405180910390f35b3480156112b857600080fd5b506112d760048036038101908080359060200190929190505050613073565b005b3480156112e557600080fd5b5061130460048036038101908080359060200190929190505050613107565b005b34801561131257600080fd5b506113316004803603810190808035906020019092919050505061319b565b005b34801561133f57600080fd5b5061135e6004803603810190808035906020019092919050505061322f565b005b34801561136c57600080fd5b5061138b6004803603810190808035906020019092919050505061341d565b005b34801561139957600080fd5b506113a26134b1565b005b3480156113b057600080fd5b506113b9613518565b6040518082815260200191505060405180910390f35b3480156113db57600080fd5b506113e461351e565b604051808260ff1660ff16815260200191505060405180910390f35b34801561140c57600080fd5b506114156137a0565b6040518082815260200191505060405180910390f35b34801561143757600080fd5b50611456600480360381019080803590602001909291905050506137a6565b005b34801561146457600080fd5b5061146d61383a565b005b600068010000000000000000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600a54020381151561150957fe5b049050919050565b6000806000806402540be40086101561152d57600093506115cf565b670de0b6b3a764000086019250670de0b6b3a764000085019150670de0b6b3a76400006115bf670de0b6b3a76400008503655af3107a4000670de0b6b3a76400008681151561157857fe5b04655af3107a400002670de0b6b3a76400000103026002670de0b6b3a7640000876002890a038115156115a757fe5b04655af3107a4000028115156115b957fe5b046139f5565b8115156115c857fe5b0490508093505b50505092915050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561166e5780601f106116435761010080835404028352916020019161166e565b820191906000526020600020905b81548152906001019060200180831161165157829003601f168201915b505050505081565b601a5481565b60008173ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116dd5760009050611720565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60008060008061174361173c86600f60ff16613a0e565b6064613a49565b925061174f85846139f5565b915061175a82613a64565b9050809350505050919050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156117f057600080fd5b81600f819055505050565b6000600954905090565b60195481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561189457600080fd5b81601e819055505050565b600360009054906101000a900460ff1681565b600060095482111515156118c557600080fd5b6118ce82613af0565b9050919050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561195e57600080fd5b816017819055505050565b60135481565b601281565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156119fd57600080fd5b816015819055505050565b60185481565b601e5481565b600c6020528060005260406000206000915054906101000a900460ff1681565b60145481565b60165481565b600080600080600080611a53600161205e565b111515611a5f57600080fd5b339450611a6c600061205e565b935083600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550680100000000000000008402600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054840193506000600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bbd611bb6856003611bad61351e565b0360ff16613a0e565b6064613a49565b9250611bd4611bcd856003613a0e565b6064613a49565b9150611be2848385016139f5565b9050600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515611d1e578160056000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508160076000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611d24565b81810190505b611d48600a54600954680100000000000000008602811515611d4257fe5b04613b05565b600a819055508473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d94573d6000803e3d6000fd5b508473ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc856040518082815260200191505060405180910390a25050505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611e7357600080fd5b816018819055505050565b6000611e8b600954612e0a565b905090565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611f1957600080fd5b816016819055505050565b601d5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611fb357600080fd5b816011819055505050565b60205481565b600d5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561205357600080fd5b816012819055505050565b60008033905082612077576120728161146f565b6120c2565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c08261146f565b015b915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600360009054906101000a900460ff16151561210a5760009050612115565b6121126117fb565b90505b90565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60115481565b601f5481565b601b5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561228357600080fd5b816014819055505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561231757600080fd5b81601c819055505050565b600080600061233084613b23565b915060009050601b548210151561234a576005905061239a565b6016548210151561235e5760049050612399565b601254821015156123725760039050612398565b600f54821015156123865760029050612397565b600d548210151561239657600190505b5b5b5b5b8092505050919050565b6000600360009054906101000a900460ff1615156123c557600090506123f0565b6018603c8060025442038115156123d857fe5b048115156123e257fe5b048115156123ec57fe5b0490505b90565b6000806000806000600954141561241c57655af3107a4000670de0b6b3a7640000019350612459565b61242d670de0b6b3a7640000613af0565b925061244761244084600f60ff16613a0e565b6064613a49565b91506124538383613b05565b90508093505b50505090565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156124e857600080fd5b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156125c35781600c600085604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505b505050565b600b5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561265757600080fd5b81600e819055505050565b60175481565b60008033905061267781612118565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127135780601f106126e857610100808354040283529160200191612713565b820191906000526020600020905b8154815290600101906020018083116126f657829003601f168201915b505050505081565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127a68461146f565b01019050919050565b600e5481565b6000806000806000806127c6612668565b1115156127d257600080fd5b339350600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054861115151561282357600080fd5b600061282f600161205e565b111561283e5761283d611a40565b5b61285661284f87600560ff16613a0e565b6064613a49565b925061286286846139f5565b915061286d83613af0565b905061287b600954846139f5565b6009819055506128ca600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054876139f5565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612956600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613b05565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600a5402600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600a5402600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612a5f600a54600954680100000000000000008402811515612a5957fe5b04613b05565b600a819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b60105481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612b6757600080fd5b81601d819055505050565b60125481565b6000600c600033604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905090565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612c8157600080fd5b8160019080519060200190612c979291906144e8565b505050565b600360009054906101000a900460ff16151515612cb857600080fd5b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612d4157600080fd5b6001600360006101000a81548160ff0219169083151502179055504260028190555050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612def57600080fd5b8160009080519060200190612e059291906144e8565b505050565b6000806000806000851415612e3157655af3107a4000670de0b6b3a7640000039350612e6f565b612e43670de0b6b3a764000086611511565b9250612e5d612e5684600660ff16613a0e565b6064613a49565b9150612e6983836139f5565b90508093505b505050919050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612f0057600080fd5b81601a819055505050565b60025481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612f9a57600080fd5b81600d819055505050565b601c5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561303457600080fd5b81601b819055505050565b6000600360009054906101000a900460ff16151561305c57600080fd5b61306a348787878787613b90565b95945050505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156130fc57600080fd5b81601f819055505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561319057600080fd5b816013819055505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561322457600080fd5b816010819055505050565b600080600080600061323f612668565b11151561324b57600080fd5b339350600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054851115151561329c57600080fd5b8492506132a883613af0565b91506132b6600954846139f5565b600981905550613305600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846139f5565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555068010000000000000000820283600a540201905080600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508373ffffffffffffffffffffffffffffffffffffffff167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e8484426133ec6123f3565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a25050505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156134a657600080fd5b816019819055505050565b600080339150600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081111561350c5761350b8161322f565b5b613514611a40565b5050565b600f5481565b6000806135296120e9565b9050670de0b6b3a764000081111515613545576032915061379c565b671bc16d674ec800008111801561356457506729a2241af62c00008111155b1561357557600f603203915061379c565b6729a2241af62c0000811180156135945750673782dace9d9000008111155b156135a5576014603203915061379c565b673782dace9d900000811180156135c45750674563918244f400008111155b156135d5576019603203915061379c565b674563918244f40000811180156135f45750678ac7230489e800008111155b1561360557601e603203915061379c565b678ac7230489e800008111801561362557506801158e460913d000008111155b15613636576020603203915061379c565b6801158e460913d000008111801561365757506802b5e3af16b18800008111155b15613668576023603203915061379c565b6802b5e3af16b188000081118015613689575068056bc75e2d631000008111155b1561369a576026603203915061379c565b68056bc75e2d63100000811180156136bb5750681b1ae4d6e2ef5000008111155b156136cc576028603203915061379c565b681b1ae4d6e2ef500000811180156136ed5750683635c9adc5dea000008111155b156136fe576029603203915061379c565b683635c9adc5dea000008111801561371f575068878678326eac9000008111155b1561373057602a603203915061379c565b68878678326eac90000081118015613752575069010f0cf064dd592000008111155b1561376357602b603203915061379c565b69010f0cf064dd5920000081118015613786575069021e19e0c9bab24000008111155b1561379757602c603203915061379c565b600691505b5090565b60155481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561382f57600080fd5b816020819055505050565b6000806000613849600161205e565b11151561385557600080fd5b61385f600061205e565b915033905081600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550680100000000000000008202600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139a3826000806000806000613b90565b8073ffffffffffffffffffffffffffffffffffffffff167f5d511c2070e5a2dbcc6fbfbb3fd6704a11ab5fa74b793b81aacece2c7cc29405836040518082815260200191505060405180910390a25050565b6000828211151515613a0357fe5b818303905092915050565b6000806000841415613a235760009150613a42565b8284029050828482811515613a3457fe5b04141515613a3e57fe5b8091505b5092915050565b6000808284811515613a5757fe5b0490508091505092915050565b6000806000670de0b6b3a764000080029150600954655af3107a4000613ad9613ad360095486655af3107a4000600202020260026009540a6002655af3107a40000a02670de0b6b3a76400008a02670de0b6b3a7640000655af3107a400002600202026002890a010101614303565b856139f5565b811515613ae257fe5b040390508092505050919050565b6000613afe82600954611511565b9050919050565b6000808284019050838110151515613b1957fe5b8091505092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506402540be400811015613b7e5760009150613b8a565b613b8781613af0565b91505b50919050565b600080600080600080613bb1613baa8d600f60ff16613a0e565b6064613a49565b95508594506000935060009250613bcb8b33600d5461434e565b15613d0357600e549350601b54613be18c613b23565b101515613bf257601c549350613c48565b601654613bfe8c613b23565b101515613c0f576017549350613c47565b601254613c1b8c613b23565b101515613c2c576013549350613c46565b600f54613c388c613b23565b101515613c455760105493505b5b5b5b613c5d613c558d86613a0e565b6103e8613a49565b9250613ca8600560008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613cf68b338561440c565b613d0085846139f5565b94505b613d108a33600f5461434e565b15613e2a576011549350601b54613d268b613b23565b101515613d3757601d549350613d6f565b601654613d438b613b23565b101515613d54576018549350613d6e565b601254613d608b613b23565b101515613d6d5760145493505b5b5b613d84613d7c8d86613a0e565b6103e8613a49565b9250613dcf600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613e1d8a8c8561440c565b613e2785846139f5565b94505b613e37893360125461434e565b15613f33576015549350601b54613e4d8a613b23565b101515613e5e57601e549350613e78565b601654613e6a8a613b23565b101515613e775760195493505b5b613e8d613e858d86613a0e565b6103e8613a49565b9250613ed8600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613f26898b8561440c565b613f3085846139f5565b94505b613f40883360165461434e565b1561401e57601a549350601b54613f5689613b23565b101515613f6357601f5493505b613f78613f708d86613a0e565b6103e8613a49565b9250613fc3600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614011888a8561440c565b61401b85846139f5565b94505b61402b8733601b5461434e565b156140ed5761404761403f8d602054613a0e565b6103e8613a49565b9250614092600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506140e087898561440c565b6140ea85846139f5565b94505b6140ff6140fa8d886139f5565b613a64565b9150680100000000000000008502905060008211801561412b575060095461412983600954613b05565b115b151561413657600080fd5b600060095411156141a15761414d60095483613b05565b60098190555060095468010000000000000000860281151561416b57fe5b04600a6000828254019250508190555060095468010000000000000000860281151561419357fe5b0482028103810390506141a9565b816009819055505b6141f2600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613b05565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508082600a540203600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fdab8e4b48a2786a8cf2824525000c609475a787fdec377949a4b2ad2cf2be3948d84426142cb6123f3565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a2505050505050505050505050565b60008060026001840181151561431557fe5b0490508291505b8181101561434857809150600281828581151561433557fe5b040181151561434057fe5b04905061431c565b50919050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156143b857508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015614403575081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b90509392505050565b80602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061452957805160ff1916838001178555614557565b82800160010185558215614557579182015b8281111561455657825182559160200191906001019061453b565b5b5090506145649190614568565b5090565b61458a91905b8082111561458657600081600090555060010161456e565b5090565b905600a165627a7a7230582069d8c70118051ee04a6f7b8234a66e8ddd9c38b7e6a92e5c8646d61cb97f653d0029

Deployed Bytecode

0x608060405260043610610384576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461038957806304729a8d146103e057806306fdde031461042b57806308ff90e0146104bb5780630ebb0d30146104e657806310d0ffdd1461053d578063117a44251461057e57806318160ddd146105ab578063181f4180146105d65780631ddd303d146106015780631f2698ab1461062e578063226093731461065d57806322dc8e711461069e578063289fa844146106cb578063313ce567146106f6578063327683bb1461072757806334fa2d4314610754578063366847521461077f578063392efb52146107aa5780633a7d773b146107f35780633c4ae1ee1461081e5780633ccfd60b146108495780634a208c38146108605780634b7503341461088d578063527ba1e1146108b85780635b6a7ec8146108e5578063614a31bf1461091057806361677d4d1461093d57806363f82d61146109685780636537e40114610993578063688abbf7146109c05780636b2f463214610a035780636c9c2faf14610a2e57806370a0823114610a5957806372cee8ea14610ab05780637367352d14610b27578063759de39814610b5257806378c7db0014610b7d5780637a1c39cb14610ba85780637c6b2d6a14610bd5578063817c896614610c0257806381e6e08314610c595780638620410b14610c8a57806387c9505814610cb55780638b349c3514610d045780638f16eb1a14610d2f57806392162de714610d5c578063949e8acd14610d8757806395d89b4114610db25780639d6d232114610e42578063a6b57b6d14610e99578063a9059cbb14610ec4578063afa2a83f14610f29578063b263c00c14610f54578063b530700d14610f81578063b6db75a014610fac578063b84c824614610fdb578063be9a655514611044578063c47f00271461105b578063c549e4e9146110c4578063c646162514611105578063cf09e0d014611132578063d0a05fea1461115d578063d3ee99cf1461118a578063d46d0a22146111b5578063dbbb206f146111e2578063dca27d5e146112ac578063ddf1be5f146112d9578063e3489a4f14611306578063e4849b3214611333578063e70f5d9514611360578063e9fad8ee1461138d578063ec01438e146113a4578063ecb0116a146113cf578063f3b3982514611400578063f6f366411461142b578063fdb5a03e14611458575b600080fd5b34801561039557600080fd5b506103ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061146f565b6040518082815260200191505060405180910390f35b3480156103ec57600080fd5b506104156004803603810190808035906020019092919080359060200190929190505050611511565b6040518082815260200191505060405180910390f35b34801561043757600080fd5b506104406115d8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610480578082015181840152602081019050610465565b50505050905090810190601f1680156104ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104c757600080fd5b506104d0611676565b6040518082815260200191505060405180910390f35b3480156104f257600080fd5b50610527600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061167c565b6040518082815260200191505060405180910390f35b34801561054957600080fd5b5061056860048036038101908080359060200190929190505050611725565b6040518082815260200191505060405180910390f35b34801561058a57600080fd5b506105a960048036038101908080359060200190929190505050611767565b005b3480156105b757600080fd5b506105c06117fb565b6040518082815260200191505060405180910390f35b3480156105e257600080fd5b506105eb611805565b6040518082815260200191505060405180910390f35b34801561060d57600080fd5b5061062c6004803603810190808035906020019092919050505061180b565b005b34801561063a57600080fd5b5061064361189f565b604051808215151515815260200191505060405180910390f35b34801561066957600080fd5b50610688600480360381019080803590602001909291905050506118b2565b6040518082815260200191505060405180910390f35b3480156106aa57600080fd5b506106c9600480360381019080803590602001909291905050506118d5565b005b3480156106d757600080fd5b506106e0611969565b6040518082815260200191505060405180910390f35b34801561070257600080fd5b5061070b61196f565b604051808260ff1660ff16815260200191505060405180910390f35b34801561073357600080fd5b5061075260048036038101908080359060200190929190505050611974565b005b34801561076057600080fd5b50610769611a08565b6040518082815260200191505060405180910390f35b34801561078b57600080fd5b50610794611a0e565b6040518082815260200191505060405180910390f35b3480156107b657600080fd5b506107d96004803603810190808035600019169060200190929190505050611a14565b604051808215151515815260200191505060405180910390f35b3480156107ff57600080fd5b50610808611a34565b6040518082815260200191505060405180910390f35b34801561082a57600080fd5b50610833611a3a565b6040518082815260200191505060405180910390f35b34801561085557600080fd5b5061085e611a40565b005b34801561086c57600080fd5b5061088b60048036038101908080359060200190929190505050611dea565b005b34801561089957600080fd5b506108a2611e7e565b6040518082815260200191505060405180910390f35b3480156108c457600080fd5b506108e360048036038101908080359060200190929190505050611e90565b005b3480156108f157600080fd5b506108fa611f24565b6040518082815260200191505060405180910390f35b34801561091c57600080fd5b5061093b60048036038101908080359060200190929190505050611f2a565b005b34801561094957600080fd5b50610952611fbe565b6040518082815260200191505060405180910390f35b34801561097457600080fd5b5061097d611fc4565b6040518082815260200191505060405180910390f35b34801561099f57600080fd5b506109be60048036038101908080359060200190929190505050611fca565b005b3480156109cc57600080fd5b506109ed60048036038101908080351515906020019092919050505061205e565b6040518082815260200191505060405180910390f35b348015610a0f57600080fd5b50610a186120ca565b6040518082815260200191505060405180910390f35b348015610a3a57600080fd5b50610a436120e9565b6040518082815260200191505060405180910390f35b348015610a6557600080fd5b50610a9a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612118565b6040518082815260200191505060405180910390f35b348015610abc57600080fd5b50610b11600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612161565b6040518082815260200191505060405180910390f35b348015610b3357600080fd5b50610b3c6121e8565b6040518082815260200191505060405180910390f35b348015610b5e57600080fd5b50610b676121ee565b6040518082815260200191505060405180910390f35b348015610b8957600080fd5b50610b926121f4565b6040518082815260200191505060405180910390f35b348015610bb457600080fd5b50610bd3600480360381019080803590602001909291905050506121fa565b005b348015610be157600080fd5b50610c006004803603810190808035906020019092919050505061228e565b005b348015610c0e57600080fd5b50610c43600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612322565b6040518082815260200191505060405180910390f35b348015610c6557600080fd5b50610c6e6123a4565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c9657600080fd5b50610c9f6123f3565b6040518082815260200191505060405180910390f35b348015610cc157600080fd5b50610d02600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061245f565b005b348015610d1057600080fd5b50610d196125c8565b6040518082815260200191505060405180910390f35b348015610d3b57600080fd5b50610d5a600480360381019080803590602001909291905050506125ce565b005b348015610d6857600080fd5b50610d71612662565b6040518082815260200191505060405180910390f35b348015610d9357600080fd5b50610d9c612668565b6040518082815260200191505060405180910390f35b348015610dbe57600080fd5b50610dc761267d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e07578082015181840152602081019050610dec565b50505050905090810190601f168015610e345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610e4e57600080fd5b50610e83600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061271b565b6040518082815260200191505060405180910390f35b348015610ea557600080fd5b50610eae6127af565b6040518082815260200191505060405180910390f35b348015610ed057600080fd5b50610f0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127b5565b604051808215151515815260200191505060405180910390f35b348015610f3557600080fd5b50610f3e612ad8565b6040518082815260200191505060405180910390f35b348015610f6057600080fd5b50610f7f60048036038101908080359060200190929190505050612ade565b005b348015610f8d57600080fd5b50610f96612b72565b6040518082815260200191505060405180910390f35b348015610fb857600080fd5b50610fc1612b78565b604051808215151515815260200191505060405180910390f35b348015610fe757600080fd5b50611042600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612bf8565b005b34801561105057600080fd5b50611059612c9c565b005b34801561106757600080fd5b506110c2600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612d66565b005b3480156110d057600080fd5b506110ef60048036038101908080359060200190929190505050612e0a565b6040518082815260200191505060405180910390f35b34801561111157600080fd5b5061113060048036038101908080359060200190929190505050612e77565b005b34801561113e57600080fd5b50611147612f0b565b6040518082815260200191505060405180910390f35b34801561116957600080fd5b5061118860048036038101908080359060200190929190505050612f11565b005b34801561119657600080fd5b5061119f612fa5565b6040518082815260200191505060405180910390f35b3480156111c157600080fd5b506111e060048036038101908080359060200190929190505050612fab565b005b611296600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061303f565b6040518082815260200191505060405180910390f35b3480156112b857600080fd5b506112d760048036038101908080359060200190929190505050613073565b005b3480156112e557600080fd5b5061130460048036038101908080359060200190929190505050613107565b005b34801561131257600080fd5b506113316004803603810190808035906020019092919050505061319b565b005b34801561133f57600080fd5b5061135e6004803603810190808035906020019092919050505061322f565b005b34801561136c57600080fd5b5061138b6004803603810190808035906020019092919050505061341d565b005b34801561139957600080fd5b506113a26134b1565b005b3480156113b057600080fd5b506113b9613518565b6040518082815260200191505060405180910390f35b3480156113db57600080fd5b506113e461351e565b604051808260ff1660ff16815260200191505060405180910390f35b34801561140c57600080fd5b506114156137a0565b6040518082815260200191505060405180910390f35b34801561143757600080fd5b50611456600480360381019080803590602001909291905050506137a6565b005b34801561146457600080fd5b5061146d61383a565b005b600068010000000000000000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600a54020381151561150957fe5b049050919050565b6000806000806402540be40086101561152d57600093506115cf565b670de0b6b3a764000086019250670de0b6b3a764000085019150670de0b6b3a76400006115bf670de0b6b3a76400008503655af3107a4000670de0b6b3a76400008681151561157857fe5b04655af3107a400002670de0b6b3a76400000103026002670de0b6b3a7640000876002890a038115156115a757fe5b04655af3107a4000028115156115b957fe5b046139f5565b8115156115c857fe5b0490508093505b50505092915050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561166e5780601f106116435761010080835404028352916020019161166e565b820191906000526020600020905b81548152906001019060200180831161165157829003601f168201915b505050505081565b601a5481565b60008173ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116dd5760009050611720565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60008060008061174361173c86600f60ff16613a0e565b6064613a49565b925061174f85846139f5565b915061175a82613a64565b9050809350505050919050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156117f057600080fd5b81600f819055505050565b6000600954905090565b60195481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561189457600080fd5b81601e819055505050565b600360009054906101000a900460ff1681565b600060095482111515156118c557600080fd5b6118ce82613af0565b9050919050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561195e57600080fd5b816017819055505050565b60135481565b601281565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156119fd57600080fd5b816015819055505050565b60185481565b601e5481565b600c6020528060005260406000206000915054906101000a900460ff1681565b60145481565b60165481565b600080600080600080611a53600161205e565b111515611a5f57600080fd5b339450611a6c600061205e565b935083600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550680100000000000000008402600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054840193506000600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bbd611bb6856003611bad61351e565b0360ff16613a0e565b6064613a49565b9250611bd4611bcd856003613a0e565b6064613a49565b9150611be2848385016139f5565b9050600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515611d1e578160056000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508160076000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611d24565b81810190505b611d48600a54600954680100000000000000008602811515611d4257fe5b04613b05565b600a819055508473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d94573d6000803e3d6000fd5b508473ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc856040518082815260200191505060405180910390a25050505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611e7357600080fd5b816018819055505050565b6000611e8b600954612e0a565b905090565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611f1957600080fd5b816016819055505050565b601d5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611fb357600080fd5b816011819055505050565b60205481565b600d5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561205357600080fd5b816012819055505050565b60008033905082612077576120728161146f565b6120c2565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c08261146f565b015b915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600360009054906101000a900460ff16151561210a5760009050612115565b6121126117fb565b90505b90565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60115481565b601f5481565b601b5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561228357600080fd5b816014819055505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561231757600080fd5b81601c819055505050565b600080600061233084613b23565b915060009050601b548210151561234a576005905061239a565b6016548210151561235e5760049050612399565b601254821015156123725760039050612398565b600f54821015156123865760029050612397565b600d548210151561239657600190505b5b5b5b5b8092505050919050565b6000600360009054906101000a900460ff1615156123c557600090506123f0565b6018603c8060025442038115156123d857fe5b048115156123e257fe5b048115156123ec57fe5b0490505b90565b6000806000806000600954141561241c57655af3107a4000670de0b6b3a7640000019350612459565b61242d670de0b6b3a7640000613af0565b925061244761244084600f60ff16613a0e565b6064613a49565b91506124538383613b05565b90508093505b50505090565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156124e857600080fd5b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156125c35781600c600085604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505b505050565b600b5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561265757600080fd5b81600e819055505050565b60175481565b60008033905061267781612118565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127135780601f106126e857610100808354040283529160200191612713565b820191906000526020600020905b8154815290600101906020018083116126f657829003601f168201915b505050505081565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127a68461146f565b01019050919050565b600e5481565b6000806000806000806127c6612668565b1115156127d257600080fd5b339350600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054861115151561282357600080fd5b600061282f600161205e565b111561283e5761283d611a40565b5b61285661284f87600560ff16613a0e565b6064613a49565b925061286286846139f5565b915061286d83613af0565b905061287b600954846139f5565b6009819055506128ca600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054876139f5565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612956600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613b05565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600a5402600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600a5402600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612a5f600a54600954680100000000000000008402811515612a5957fe5b04613b05565b600a819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b60105481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612b6757600080fd5b81601d819055505050565b60125481565b6000600c600033604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905090565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612c8157600080fd5b8160019080519060200190612c979291906144e8565b505050565b600360009054906101000a900460ff16151515612cb857600080fd5b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612d4157600080fd5b6001600360006101000a81548160ff0219169083151502179055504260028190555050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612def57600080fd5b8160009080519060200190612e059291906144e8565b505050565b6000806000806000851415612e3157655af3107a4000670de0b6b3a7640000039350612e6f565b612e43670de0b6b3a764000086611511565b9250612e5d612e5684600660ff16613a0e565b6064613a49565b9150612e6983836139f5565b90508093505b505050919050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612f0057600080fd5b81601a819055505050565b60025481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515612f9a57600080fd5b81600d819055505050565b601c5481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561303457600080fd5b81601b819055505050565b6000600360009054906101000a900460ff16151561305c57600080fd5b61306a348787878787613b90565b95945050505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156130fc57600080fd5b81601f819055505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561319057600080fd5b816013819055505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561322457600080fd5b816010819055505050565b600080600080600061323f612668565b11151561324b57600080fd5b339350600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054851115151561329c57600080fd5b8492506132a883613af0565b91506132b6600954846139f5565b600981905550613305600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846139f5565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555068010000000000000000820283600a540201905080600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508373ffffffffffffffffffffffffffffffffffffffff167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e8484426133ec6123f3565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a25050505050565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156134a657600080fd5b816019819055505050565b600080339150600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081111561350c5761350b8161322f565b5b613514611a40565b5050565b600f5481565b6000806135296120e9565b9050670de0b6b3a764000081111515613545576032915061379c565b671bc16d674ec800008111801561356457506729a2241af62c00008111155b1561357557600f603203915061379c565b6729a2241af62c0000811180156135945750673782dace9d9000008111155b156135a5576014603203915061379c565b673782dace9d900000811180156135c45750674563918244f400008111155b156135d5576019603203915061379c565b674563918244f40000811180156135f45750678ac7230489e800008111155b1561360557601e603203915061379c565b678ac7230489e800008111801561362557506801158e460913d000008111155b15613636576020603203915061379c565b6801158e460913d000008111801561365757506802b5e3af16b18800008111155b15613668576023603203915061379c565b6802b5e3af16b188000081118015613689575068056bc75e2d631000008111155b1561369a576026603203915061379c565b68056bc75e2d63100000811180156136bb5750681b1ae4d6e2ef5000008111155b156136cc576028603203915061379c565b681b1ae4d6e2ef500000811180156136ed5750683635c9adc5dea000008111155b156136fe576029603203915061379c565b683635c9adc5dea000008111801561371f575068878678326eac9000008111155b1561373057602a603203915061379c565b68878678326eac90000081118015613752575069010f0cf064dd592000008111155b1561376357602b603203915061379c565b69010f0cf064dd5920000081118015613786575069021e19e0c9bab24000008111155b1561379757602c603203915061379c565b600691505b5090565b60155481565b6000339050600c600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561382f57600080fd5b816020819055505050565b6000806000613849600161205e565b11151561385557600080fd5b61385f600061205e565b915033905081600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550680100000000000000008202600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139a3826000806000806000613b90565b8073ffffffffffffffffffffffffffffffffffffffff167f5d511c2070e5a2dbcc6fbfbb3fd6704a11ab5fa74b793b81aacece2c7cc29405836040518082815260200191505060405180910390a25050565b6000828211151515613a0357fe5b818303905092915050565b6000806000841415613a235760009150613a42565b8284029050828482811515613a3457fe5b04141515613a3e57fe5b8091505b5092915050565b6000808284811515613a5757fe5b0490508091505092915050565b6000806000670de0b6b3a764000080029150600954655af3107a4000613ad9613ad360095486655af3107a4000600202020260026009540a6002655af3107a40000a02670de0b6b3a76400008a02670de0b6b3a7640000655af3107a400002600202026002890a010101614303565b856139f5565b811515613ae257fe5b040390508092505050919050565b6000613afe82600954611511565b9050919050565b6000808284019050838110151515613b1957fe5b8091505092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506402540be400811015613b7e5760009150613b8a565b613b8781613af0565b91505b50919050565b600080600080600080613bb1613baa8d600f60ff16613a0e565b6064613a49565b95508594506000935060009250613bcb8b33600d5461434e565b15613d0357600e549350601b54613be18c613b23565b101515613bf257601c549350613c48565b601654613bfe8c613b23565b101515613c0f576017549350613c47565b601254613c1b8c613b23565b101515613c2c576013549350613c46565b600f54613c388c613b23565b101515613c455760105493505b5b5b5b613c5d613c558d86613a0e565b6103e8613a49565b9250613ca8600560008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613cf68b338561440c565b613d0085846139f5565b94505b613d108a33600f5461434e565b15613e2a576011549350601b54613d268b613b23565b101515613d3757601d549350613d6f565b601654613d438b613b23565b101515613d54576018549350613d6e565b601254613d608b613b23565b101515613d6d5760145493505b5b5b613d84613d7c8d86613a0e565b6103e8613a49565b9250613dcf600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613e1d8a8c8561440c565b613e2785846139f5565b94505b613e37893360125461434e565b15613f33576015549350601b54613e4d8a613b23565b101515613e5e57601e549350613e78565b601654613e6a8a613b23565b101515613e775760195493505b5b613e8d613e858d86613a0e565b6103e8613a49565b9250613ed8600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613f26898b8561440c565b613f3085846139f5565b94505b613f40883360165461434e565b1561401e57601a549350601b54613f5689613b23565b101515613f6357601f5493505b613f78613f708d86613a0e565b6103e8613a49565b9250613fc3600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614011888a8561440c565b61401b85846139f5565b94505b61402b8733601b5461434e565b156140ed5761404761403f8d602054613a0e565b6103e8613a49565b9250614092600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613b05565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506140e087898561440c565b6140ea85846139f5565b94505b6140ff6140fa8d886139f5565b613a64565b9150680100000000000000008502905060008211801561412b575060095461412983600954613b05565b115b151561413657600080fd5b600060095411156141a15761414d60095483613b05565b60098190555060095468010000000000000000860281151561416b57fe5b04600a6000828254019250508190555060095468010000000000000000860281151561419357fe5b0482028103810390506141a9565b816009819055505b6141f2600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613b05565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508082600a540203600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fdab8e4b48a2786a8cf2824525000c609475a787fdec377949a4b2ad2cf2be3948d84426142cb6123f3565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a2505050505050505050505050565b60008060026001840181151561431557fe5b0490508291505b8181101561434857809150600281828581151561433557fe5b040181151561434057fe5b04905061431c565b50919050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156143b857508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015614403575081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b90509392505050565b80602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061452957805160ff1916838001178555614557565b82800160010185558215614557579182015b8281111561455657825182559160200191906001019061453b565b5b5090506145649190614568565b5090565b61458a91905b8082111561458657600081600090555060010161456e565b5090565b905600a165627a7a7230582069d8c70118051ee04a6f7b8234a66e8ddd9c38b7e6a92e5c8646d61cb97f653d0029

Swarm Source

bzzr://69d8c70118051ee04a6f7b8234a66e8ddd9c38b7e6a92e5c8646d61cb97f653d
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.