ETH Price: $2,680.75 (+1.65%)
Gas: 1.49 Gwei

Contract

0xBB23BD739eb0744d0F9bfE60012DBcE0c5Eb7593
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Ether115432742020-12-28 15:32:131505 days ago1609169533IN
0xBB23BD73...0c5Eb7593
0 ETH0.00317844101.36
Transfer114179062020-12-09 9:44:001524 days ago1607507040IN
0xBB23BD73...0c5Eb7593
0 ETH0.0016170474
Transfer114122112020-12-08 12:43:051525 days ago1607431385IN
0xBB23BD73...0c5Eb7593
0 ETH0.0008522239
Transfer114110412020-12-08 8:19:491525 days ago1607415589IN
0xBB23BD73...0c5Eb7593
0 ETH0.0006774131
Transfer113912582020-12-05 7:23:161528 days ago1607152996IN
0xBB23BD73...0c5Eb7593
0 ETH0.0011297823
Transfer113739092020-12-02 15:29:451531 days ago1606922985IN
0xBB23BD73...0c5Eb7593
0 ETH0.000633729
Transfer113524562020-11-29 8:11:181534 days ago1606637478IN
0xBB23BD73...0c5Eb7593
0 ETH0.0002620812
Transfer113471602020-11-28 13:04:111535 days ago1606568651IN
0xBB23BD73...0c5Eb7593
0 ETH0.0002840713
Transfer112985042020-11-21 1:35:091542 days ago1605922509IN
0xBB23BD73...0c5Eb7593
0 ETH0.0012237156
Transfer Ether112835522020-11-18 18:32:441545 days ago1605724364IN
0xBB23BD73...0c5Eb7593
0 ETH0.0012191138.75
Buy112833562020-11-18 17:47:381545 days ago1605721658IN
0xBB23BD73...0c5Eb7593
0.05 ETH0.0116059100
Sell112828672020-11-18 15:59:401545 days ago1605715180IN
0xBB23BD73...0c5Eb7593
0 ETH0.0045205770.81652554
Sell112827842020-11-18 15:44:071545 days ago1605714247IN
0xBB23BD73...0c5Eb7593
0 ETH0.0063823100
Buy112827802020-11-18 15:42:361545 days ago1605714156IN
0xBB23BD73...0c5Eb7593
0.1 ETH0.01803885150
Sell112827642020-11-18 15:39:111545 days ago1605713951IN
0xBB23BD73...0c5Eb7593
0 ETH0.01595575250
Buy112827522020-11-18 15:37:351545 days ago1605713855IN
0xBB23BD73...0c5Eb7593
0.1 ETH0.02028885150
Sell112817022020-11-18 11:36:171545 days ago1605699377IN
0xBB23BD73...0c5Eb7593
0 ETH0.0036385957
Sell112817002020-11-18 11:35:571545 days ago1605699357IN
0xBB23BD73...0c5Eb7593
0 ETH0.0031917550.00000145
Sell112810482020-11-18 9:11:231545 days ago1605690683IN
0xBB23BD73...0c5Eb7593
0 ETH0.0035740856
Buy112808402020-11-18 8:28:111545 days ago1605688091IN
0xBB23BD73...0c5Eb7593
0.1 ETH0.0063832455
Sell112803622020-11-18 6:41:231545 days ago1605681683IN
0xBB23BD73...0c5Eb7593
0 ETH0.00670141105
Sell112788232020-11-18 0:58:201545 days ago1605661100IN
0xBB23BD73...0c5Eb7593
0 ETH0.005298383
Sell112773232020-11-17 19:18:151545 days ago1605640695IN
0xBB23BD73...0c5Eb7593
0 ETH0.0042769467
Sell112771772020-11-17 18:45:191545 days ago1605638719IN
0xBB23BD73...0c5Eb7593
0 ETH0.0038939361
Buy112770692020-11-17 18:23:561546 days ago1605637436IN
0xBB23BD73...0c5Eb7593
0.445 ETH0.007574556
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
115432742020-12-28 15:32:131505 days ago1609169533
0xBB23BD73...0c5Eb7593
0.05 ETH
112835522020-11-18 18:32:441545 days ago1605724364
0xBB23BD73...0c5Eb7593
121.23175569 ETH
112828672020-11-18 15:59:401545 days ago1605715180
0xBB23BD73...0c5Eb7593
1.83993628 ETH
112827842020-11-18 15:44:071545 days ago1605714247
0xBB23BD73...0c5Eb7593
0.07655419 ETH
112827642020-11-18 15:39:111545 days ago1605713951
0xBB23BD73...0c5Eb7593
0.07655043 ETH
112817022020-11-18 11:36:171545 days ago1605699377
0xBB23BD73...0c5Eb7593
0.18294502 ETH
112817002020-11-18 11:35:571545 days ago1605699357
0xBB23BD73...0c5Eb7593
1.84791816 ETH
112810482020-11-18 9:11:231545 days ago1605690683
0xBB23BD73...0c5Eb7593
0.07651653 ETH
112803622020-11-18 6:41:231545 days ago1605681683
0xBB23BD73...0c5Eb7593
0.03695955 ETH
112788232020-11-18 0:58:201545 days ago1605661100
0xBB23BD73...0c5Eb7593
0.184872 ETH
112773232020-11-17 19:18:151545 days ago1605640695
0xBB23BD73...0c5Eb7593
0.20455926 ETH
112771772020-11-17 18:45:191545 days ago1605638719
0xBB23BD73...0c5Eb7593
1.58417852 ETH
112762232020-11-17 15:19:421546 days ago1605626382
0xBB23BD73...0c5Eb7593
0.22408545 ETH
112762202020-11-17 15:19:341546 days ago1605626374
0xBB23BD73...0c5Eb7593
0.03265051 ETH
112748542020-11-17 10:24:341546 days ago1605608674
0xBB23BD73...0c5Eb7593
0.15833774 ETH
112746212020-11-17 9:32:301546 days ago1605605550
0xBB23BD73...0c5Eb7593
1.1151162 ETH
112746122020-11-17 9:30:541546 days ago1605605454
0xBB23BD73...0c5Eb7593
0.18518294 ETH
112743442020-11-17 8:32:431546 days ago1605601963
0xBB23BD73...0c5Eb7593
0.1647893 ETH
112739882020-11-17 7:09:381546 days ago1605596978
0xBB23BD73...0c5Eb7593
0.2477263 ETH
112738332020-11-17 6:38:351546 days ago1605595115
0xBB23BD73...0c5Eb7593
0.03385094 ETH
112721832020-11-17 0:31:131546 days ago1605573073
0xBB23BD73...0c5Eb7593
0.03719709 ETH
112705342020-11-16 18:32:461547 days ago1605551566
0xBB23BD73...0c5Eb7593
0.07217353 ETH
112692642020-11-16 13:55:471547 days ago1605534947
0xBB23BD73...0c5Eb7593
0.18435586 ETH
112692512020-11-16 13:52:231547 days ago1605534743
0xBB23BD73...0c5Eb7593
0.4062344 ETH
112691832020-11-16 13:36:421547 days ago1605533802
0xBB23BD73...0c5Eb7593
0.27544968 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UniversalFinance

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv2 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-11-08
*/

/**
 *Submitted for verification at Etherscan.io on 2020-11-06
*/

pragma solidity ^0.6.0;

contract UniversalFinance {
   
   /**
   * using safemath for uint256
    */
     using SafeMath for uint256;

   

    event onWithdraw(
        address indexed customerAddress,
        uint256 ethereumWithdrawn
    );
   
    /**
    events for transfer
     */

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

    /**
    * Approved Events
     */

    event Approved(
        address indexed spender,
        address indexed recipient,
        uint256 tokens
    );

    /**
    * buy Event
     */

     event Buy(
         address buyer,
         uint256 tokensTransfered
     );
   
   /**
    * sell Event
     */

     event Sell(
         address seller,
         uint256 calculatedEtherTransfer
     );
     
     event Reward(
       address indexed to,
       uint256 rewardAmount,
       uint256 level
    );

   /** configurable variables
   *  name it should be decided on constructor
    */
    string public tokenName;

    /** configurable variables
   *  symbol it should be decided on constructor
    */

    string public tokenSymbol;
   
    /** configurable variables
   *  decimal it should be decided on constructor
    */

    uint8 internal decimal;

    /** configurable variables
 
   
    /**
    * owner address
     */

     address public owner;

     /**
     current price
      */
    uint256 internal ethDecimal = 1000000000000000000;
    uint256 public currentPrice;
    uint256 public initialPrice = 10000000000000;
    uint256 public initialPriceIncrement = 0;
    uint256 public basePrice = 400;
    /**
    totalSupply
     */

    uint256 public _totalSupply;
   
    uint256 public _circulatedSupply = 0;
    uint256 public basePrice1 = 10000000000000;
    uint256 public basePrice2 = 250000000000000;
    uint256 public basePrice3 = 450000000000000;
    uint256 public basePrice4 = 800000000000000;
    uint256 public basePrice5 = 1375000000000000;
    uint256 public basePrice6 = 2750000000000000;
    uint256 public basePrice7 = 4500000000000000;
    uint256 public basePrice8 = 8250000000000000;
    uint256 public basePrice9 = 13250000000000000;
    uint256 public basePrice10 = 20500000000000000;
    uint256 public basePrice11 = 32750000000000000;
    uint256 public basePrice12 = 56250000000000000;
    uint256 public basePrice13 = 103750000000000000;
    uint256 public basePrice14 = 179750000000000000;
    uint256 public basePrice15 = 298350000000000000;
    uint256 public basePrice16 = 533350000000000000;
    uint256 public basePrice17 = 996250000000000000;
    uint256 public basePrice18 = 1780750000000000000;
    uint256 public basePrice19 = 2983350000000000000;
    uint256 public basePrice20 = 5108000000000000000;
    uint256 public basePrice21 = 8930500000000000000;
    uint256 public basePrice22 = 15136500000000000000;
   
   
       
         

   mapping(address => uint256) private tokenBalances;
   mapping(address => uint256) private allTimeTokenBal;

//   mapping (address => mapping (address => uint256 )) private _allowances;
   mapping(address => address) public genTree;
//   mapping(address => uint256) internal rewardBalanceLedger_;
//   mapping (address => mapping (uint256 => uint256 )) private levelCommission;

    /**
    modifier for checking onlyOwner
     */

     modifier onlyOwner() {
         require(msg.sender == owner,"Caller is not the owner");
         _;
     }

    constructor(string memory _tokenName, string  memory _tokenSymbol, uint256 totalSupply) public
    {
        //sonk = msg.sender;
       
        /**
        * set owner value msg.sender
         */
        owner = msg.sender;

        /**
        * set name for contract
         */

         tokenName = _tokenName;

         /**
        * set symbol for contract
         */

        /**
        * set decimals
         */

         decimal = 0;

         /**
         set tokenSymbol
          */

        tokenSymbol =  _tokenSymbol;

         /**
         set Current Price
          */

          currentPrice = initialPrice + initialPriceIncrement;

         
          _totalSupply = totalSupply;
          //_mint(owner,_totalSupply);

       
    }
   
    function geAllTimeTokenBalane(address _hodl) external view returns(uint256) {
            return allTimeTokenBal[_hodl];
     }
   
    /*function getRewardBalane(address _hodl) external view returns(uint256) {
            return rewardBalanceLedger_[_hodl];
     }*/
   
   function taxDeduction(uint256 incomingEther) public pure returns(uint256)  {
         
        uint256 deduction = incomingEther * 22500/100000;
        return deduction;
         
    }
   
    function getTaxedEther(uint256 incomingEther) public pure returns(uint256)  {
         
        uint256 deduction = incomingEther * 22500/100000;
        uint256 taxedEther = incomingEther - deduction;
        return taxedEther;
         
    }
   
   function etherToToken(uint256 incomingEther) public view returns(uint256)  {
         
        uint256 deduction = incomingEther * 22500/100000;
        uint256 taxedEther = incomingEther - deduction;
        uint256 tokenToTransfer = taxedEther.div(currentPrice);
        return tokenToTransfer;
         
    }
   
   
    function tokenToEther(uint256 tokenToSell) public view returns(uint256)  {
         
        uint256 convertedEther = tokenToSell * (currentPrice - (currentPrice/100));
        return convertedEther;
         
    }
   
   
    function transferEther(address payable receiver,uint256 _value) external onlyOwner returns (bool) {
        require(msg.sender == owner, 'You are not owner');
        receiver.transfer(_value);
        return true;
     }
     
     
    /**
    get TokenName
     */
    function name() public view returns(string memory) {
        return tokenName;
    }

    /**
    get symbol
     */

     function symbol() public view returns(string memory) {
         return tokenSymbol;
     }

     /**
     get decimals
      */

      function decimals() public view returns(uint8){
            return decimal;
      }
     
      /**
      getTotalsupply of contract
       */

    function totalSupply() external view returns(uint256) {
            return _totalSupply;
    }

    /**
    * balance of of token hodl.
     */

     function balanceOf(address _hodl) external view returns(uint256) {
            return tokenBalances[_hodl];
     }

    /**
    get current price
     */

     function getCurrentPrice() external view returns(uint256) {
         return currentPrice;
     }

     /**
     * update current price
     * notice this is only done by owner  
      */

      function updateCurrentPrice(uint256 _newPrice) external onlyOwner returns (bool) {
          currentPrice = _newPrice;
          return true;
      }
      
     
     
     /*function contractAddress() public view returns(address) {
         return address(this);
     }*/

     /* function levelWiseBalance(address _hodl, uint256 level) external view returns (uint256) {
        return levelCommission[_hodl][level];
      }*/
      /**
      buy Tokens from Ethereum.
       */

     function buy(address _referredBy) external payable returns (bool) {
         require(_referredBy != msg.sender, "Self reference not allowed");
        /* if(_referredBy == msg.sender){
             return false;
         }else{
         if(tokenBalances[msg.sender] > 5000){
             return false;
         }
         else{*/
         address buyer = msg.sender;
         uint256 etherValue = msg.value;
         uint256 circulation = etherValue.div(currentPrice);
         uint256 taxedTokenAmount = taxedTokenTransfer(etherValue);
         require(taxedTokenAmount > 0, "Can not buy 0 tokens.");
         require(taxedTokenAmount <= 5000, "Maximum Buying Reached.");
         require(taxedTokenAmount.add(allTimeTokenBal[msg.sender]) <= 5000, "Maximum Buying Reached.");
         genTree[msg.sender] = _referredBy;
         _mint(buyer,taxedTokenAmount,circulation);
         emit Buy(buyer,taxedTokenAmount);
         return true;
         /*}
         }*/
     }
     
     receive() external payable {
         require((allTimeTokenBal[msg.sender] + msg.value) <= 5000, "Maximum Buying Reached.");
         genTree[msg.sender] = address(0);
         address buyer = msg.sender;
         uint256 etherValue = msg.value;
         uint256 actualTokenQty = etherValue.div(currentPrice);
         uint256 calculatedTokens = taxedTokenTransfer(etherValue);
         require(calculatedTokens <= 5000, "Maximum Buying Reached.");
         _mint(buyer,calculatedTokens,actualTokenQty);
         emit Buy(buyer,calculatedTokens);
         
     }
     
     function priceAlgoBuy(uint256 tokenQty) internal{
         if(_circulatedSupply >= 0 && _circulatedSupply <= 600000){
             currentPrice = basePrice1;
             basePrice1 = currentPrice;
         }
         if(_circulatedSupply > 600000 && _circulatedSupply <= 1100000){
             initialPriceIncrement = tokenQty*300000000;
             currentPrice = basePrice2 + initialPriceIncrement;
             basePrice2 = currentPrice;
         }
         if(_circulatedSupply > 1100000 && _circulatedSupply <= 1550000){
             initialPriceIncrement = tokenQty*450000000;
             currentPrice = basePrice3 + initialPriceIncrement;
             basePrice3 = currentPrice;
         }
         if(_circulatedSupply > 1550000 && _circulatedSupply <= 1960000){
             initialPriceIncrement = tokenQty*675000000;
             currentPrice = basePrice4 + initialPriceIncrement;
             basePrice4 = currentPrice;
         }if(_circulatedSupply > 1960000 && _circulatedSupply <= 2310000){
             initialPriceIncrement = tokenQty*2350000000;
             currentPrice = basePrice5 + initialPriceIncrement;
             basePrice5 = currentPrice;
         }
         if(_circulatedSupply > 2310000 && _circulatedSupply <= 2640000){
             initialPriceIncrement = tokenQty*3025000000;
             currentPrice = basePrice6 + initialPriceIncrement;
             basePrice6 = currentPrice;
         }
         if(_circulatedSupply > 2640000 && _circulatedSupply <= 2950000){
             initialPriceIncrement = tokenQty*5725000000;
             currentPrice = basePrice7 + initialPriceIncrement;
             basePrice7 = currentPrice;
         }
         if(_circulatedSupply > 2950000 && _circulatedSupply <= 3240000){
             initialPriceIncrement = tokenQty*8525000000;
             currentPrice = basePrice8 + initialPriceIncrement;
             basePrice8 = currentPrice;
         }
         
         if(_circulatedSupply > 3240000 && _circulatedSupply <= 3510000){
             initialPriceIncrement = tokenQty*13900000000;
             currentPrice = basePrice9 + initialPriceIncrement;
             basePrice9 = currentPrice;
             
         }if(_circulatedSupply > 3510000 && _circulatedSupply <= 3770000){
             initialPriceIncrement = tokenQty*20200000000;
             currentPrice = basePrice10 + initialPriceIncrement;
             basePrice10 = currentPrice;
             
         }if(_circulatedSupply > 3770000 && _circulatedSupply <= 4020000){
             initialPriceIncrement = tokenQty*50000000000;
             currentPrice = basePrice11 + initialPriceIncrement;
             basePrice11 = currentPrice;
             
         }if(_circulatedSupply > 4020000 && _circulatedSupply <= 4260000){
             initialPriceIncrement = tokenQty*133325000000;
             currentPrice = basePrice12 + initialPriceIncrement;
             basePrice12 = currentPrice;
             
         }if(_circulatedSupply > 4260000 && _circulatedSupply <= 4490000){
             initialPriceIncrement = tokenQty*239125000000;
             currentPrice = basePrice13 + initialPriceIncrement;
             basePrice13 = currentPrice;
             
         }
         if(_circulatedSupply > 4490000 && _circulatedSupply <= 4700000){
             initialPriceIncrement = tokenQty*394050000000;
             currentPrice = basePrice14 + initialPriceIncrement;
             basePrice14 = currentPrice;
             
         }
         if(_circulatedSupply > 4700000 && _circulatedSupply <= 4900000){
             initialPriceIncrement = tokenQty*689500000000;
             currentPrice = basePrice15 + initialPriceIncrement;
             basePrice15 = currentPrice;
             
         }
         if(_circulatedSupply > 4900000 && _circulatedSupply <= 5080000){
             initialPriceIncrement = tokenQty*1465275000000;
             currentPrice = basePrice16 + initialPriceIncrement;
             basePrice16 = currentPrice;
             
         }
         
          if(_circulatedSupply > 5080000 && _circulatedSupply <= 5220000){
             initialPriceIncrement = tokenQty*3158925000000;
             currentPrice = basePrice17 + initialPriceIncrement;
             basePrice17 = currentPrice;
             
         }
         
          if(_circulatedSupply > 5220000 && _circulatedSupply <= 5350000){
             initialPriceIncrement = tokenQty*5726925000000;
             currentPrice = basePrice18 + initialPriceIncrement;
             basePrice18 = currentPrice;
             
         }
         
          if(_circulatedSupply > 5350000 && _circulatedSupply <= 5460000){
             initialPriceIncrement = tokenQty*13108175000000;
             currentPrice = basePrice19 + initialPriceIncrement;
             basePrice19 = currentPrice;
             
         }
         
          if(_circulatedSupply > 5460000 && _circulatedSupply <= 5540000){
             initialPriceIncrement = tokenQty*34687500000000;
             currentPrice = basePrice20 + initialPriceIncrement;
             basePrice20 = currentPrice;
             
         }
         if(_circulatedSupply > 5540000 && _circulatedSupply <= 5580000){
             initialPriceIncrement = tokenQty*120043750000000;
             currentPrice = basePrice21 + initialPriceIncrement;
             basePrice21 = currentPrice;
             
         }
         if(_circulatedSupply > 5580000 && _circulatedSupply <= 5600000){
             initialPriceIncrement = tokenQty*404100000000000;
             currentPrice = basePrice22 + initialPriceIncrement;
             basePrice22 = currentPrice;
         }
     }
     
     
      function priceAlgoSell(uint256 tokenQty) internal{
         if(_circulatedSupply >= 0 && _circulatedSupply < 600000){
             initialPriceIncrement = tokenQty*300000;
             currentPrice = basePrice1 - initialPriceIncrement;
             basePrice1 = currentPrice;
         }
         if(_circulatedSupply >= 600000 && _circulatedSupply <= 1100000){
             initialPriceIncrement = tokenQty*300000000;
             currentPrice = basePrice2 - initialPriceIncrement;
             basePrice2 = currentPrice;
         }
         if(_circulatedSupply > 1100000 && _circulatedSupply <= 1550000){
             initialPriceIncrement = tokenQty*450000000;
             currentPrice = basePrice3 - initialPriceIncrement;
             basePrice3 = currentPrice;
         }
         if(_circulatedSupply > 1550000 && _circulatedSupply <= 1960000){
             initialPriceIncrement = tokenQty*675000000;
             currentPrice = basePrice4 - initialPriceIncrement;
             basePrice4 = currentPrice;
         }if(_circulatedSupply > 1960000 && _circulatedSupply <= 2310000){
             initialPriceIncrement = tokenQty*2350000000;
             currentPrice = basePrice5 - initialPriceIncrement;
             basePrice5 = currentPrice;
         }
         if(_circulatedSupply > 2310000 && _circulatedSupply <= 2640000){
             initialPriceIncrement = tokenQty*3025000000;
             currentPrice = basePrice6 - initialPriceIncrement;
             basePrice6 = currentPrice;
         }
         if(_circulatedSupply > 2640000 && _circulatedSupply <= 2950000){
             initialPriceIncrement = tokenQty*5725000000;
             currentPrice = basePrice7 - initialPriceIncrement;
             basePrice7 = currentPrice;
         }
         if(_circulatedSupply > 2950000 && _circulatedSupply <= 3240000){
             initialPriceIncrement = tokenQty*8525000000;
             currentPrice = basePrice8 - initialPriceIncrement;
             basePrice8 = currentPrice;
         }
         
         if(_circulatedSupply > 3240000 && _circulatedSupply <= 3510000){
             initialPriceIncrement = tokenQty*13900000000;
             currentPrice = basePrice9 - initialPriceIncrement;
             basePrice9 = currentPrice;
             
         }if(_circulatedSupply > 3510000 && _circulatedSupply <= 3770000){
             initialPriceIncrement = tokenQty*20200000000;
             currentPrice = basePrice10 - initialPriceIncrement;
             basePrice10 = currentPrice;
             
         }if(_circulatedSupply > 3770000 && _circulatedSupply <= 4020000){
             initialPriceIncrement = tokenQty*50000000000;
             currentPrice = basePrice11 - initialPriceIncrement;
             basePrice11 = currentPrice;
             
         }if(_circulatedSupply > 4020000 && _circulatedSupply <= 4260000){
             initialPriceIncrement = tokenQty*133325000000;
             currentPrice = basePrice12 - initialPriceIncrement;
             basePrice12 = currentPrice;
             
         }if(_circulatedSupply > 4260000 && _circulatedSupply <= 4490000){
             initialPriceIncrement = tokenQty*239125000000;
             currentPrice = basePrice13 - initialPriceIncrement;
             basePrice13 = currentPrice;
             
         }
         if(_circulatedSupply > 4490000 && _circulatedSupply <= 4700000){
             initialPriceIncrement = tokenQty*394050000000;
             currentPrice = basePrice14 - initialPriceIncrement;
             basePrice14 = currentPrice;
             
         }
         if(_circulatedSupply > 4700000 && _circulatedSupply <= 4900000){
             initialPriceIncrement = tokenQty*689500000000;
             currentPrice = basePrice15 - initialPriceIncrement;
             basePrice15 = currentPrice;
             
         }
         if(_circulatedSupply > 4900000 && _circulatedSupply <= 5080000){
             initialPriceIncrement = tokenQty*1465275000000;
             currentPrice = basePrice16 - initialPriceIncrement;
             basePrice16 = currentPrice;
             
         }
         
          if(_circulatedSupply > 5080000 && _circulatedSupply <= 5220000){
             initialPriceIncrement = tokenQty*3158925000000;
             currentPrice = basePrice17 - initialPriceIncrement;
             basePrice17 = currentPrice;
             
         }
         
          if(_circulatedSupply > 5220000 && _circulatedSupply <= 5350000){
             initialPriceIncrement = tokenQty*5726925000000;
             currentPrice = basePrice18 - initialPriceIncrement;
             basePrice18 = currentPrice;
             
         }
         
          if(_circulatedSupply > 5350000 && _circulatedSupply <= 5460000){
             initialPriceIncrement = tokenQty*13108175000000;
             currentPrice = basePrice19 - initialPriceIncrement;
             basePrice19 = currentPrice;
             
         }
         
          if(_circulatedSupply > 5460000 && _circulatedSupply <= 5540000){
             initialPriceIncrement = tokenQty*34687500000000;
             currentPrice = basePrice20 - initialPriceIncrement;
             basePrice20 = currentPrice;
             
         }
         if(_circulatedSupply > 5540000 && _circulatedSupply <= 5580000){
             initialPriceIncrement = tokenQty*120043750000000;
             currentPrice = basePrice21 - initialPriceIncrement;
             basePrice21 = currentPrice;
             
         }
         if(_circulatedSupply > 5580000 && _circulatedSupply <= 5600000){
             initialPriceIncrement = tokenQty*404100000000000;
             currentPrice = basePrice22 - initialPriceIncrement;
             basePrice22 = currentPrice;
         }
     }
     
     
   /* function distributeRewards(uint256 _amountToDistribute, address _idToDistribute)
    internal
    {
       
        for(uint256 i=0; i<15; i++)
        {
            address referrer = genTree[_idToDistribute];
            uint256 holdingAmount = ((currentPrice/ethDecimal) * basePrice) *tokenBalances[referrer];
            if(referrer != address(0))
            {
                if(i == 0 && holdingAmount>=100){
                    rewardBalanceLedger_[referrer] += (_amountToDistribute*percent_[0]/10000);
                    levelCommission[referrer][i+1].add(_amountToDistribute*percent_[0]/10000);
                }else if((i == 1) && holdingAmount>=200){
                    rewardBalanceLedger_[referrer] += (_amountToDistribute*percent_[1]/10000);
                    levelCommission[referrer][i+1].add(_amountToDistribute*percent_[1]/10000);
                }else if((i == 2) && holdingAmount>=200){
                    rewardBalanceLedger_[referrer] += (_amountToDistribute*percent_[2]/10000);
                    levelCommission[referrer][i+1].add(_amountToDistribute*percent_[2]/10000);
                }else if((i == 3) && holdingAmount>=300){
                    rewardBalanceLedger_[referrer] += (_amountToDistribute*percent_[3]/10000);
                    levelCommission[referrer][i+1].add(_amountToDistribute*percent_[3]/10000);
                }else if((i >= 4 && i<= 9) && holdingAmount>=300){
                    rewardBalanceLedger_[referrer] += (_amountToDistribute*percent_[4]/10000);
                    levelCommission[referrer][i+1].add(_amountToDistribute*percent_[4]/10000);
                }else if((i >= 10 && i<= 12) && holdingAmount>=400){
                    rewardBalanceLedger_[referrer] += (_amountToDistribute*percent_[5]/10000);
                    levelCommission[referrer][i+1].add(_amountToDistribute*percent_[5]/10000);
                }else if((i >= 13 && i<15) && holdingAmount>=500){
                    rewardBalanceLedger_[referrer] += (_amountToDistribute*percent_[6]/10000);
                    levelCommission[referrer][i+1].add(_amountToDistribute*percent_[6]/10000);
                }else{
                   
                }
               
                _idToDistribute = referrer;
                //emit Reward(referrer,(_amountToDistribute*_amountToDistribute[i]*100)/10,i);
            }else{
               
            }
        }
       
    }*/

    /**
    calculation logic for buy function
     */

     function taxedTokenTransfer(uint256 incomingEther) internal view returns(uint256) {
            uint256 deduction = incomingEther * 22500/100000;
            uint256 taxedEther = incomingEther - deduction;
            uint256 tokenToTransfer = taxedEther.div(currentPrice);
            return tokenToTransfer;
     }

     /**
     * sell method for ether.
      */

     function sell(uint256 tokenToSell) external returns(bool){
          require(_circulatedSupply > 0, "no circulated tokens");
          require(tokenToSell > 0, "can not sell 0 token");
          require(tokenToSell <= tokenBalances[msg.sender], "not enough tokens to transact");
          require(tokenToSell.add(_circulatedSupply) <= _totalSupply, "exceeded total supply");
          uint256 convertedEthers = etherValueTransfer(tokenToSell);
          msg.sender.transfer(convertedEthers);
          _burn(msg.sender,tokenToSell);
          emit Sell(msg.sender,convertedEthers);
          return true;
     }
     
     
     

     function etherValueTransfer(uint256 tokenToSell) internal view returns(uint256) {
         uint256 convertedEther = tokenToSell * (currentPrice - currentPrice/100);
        return convertedEther;
     }


    function accumulatedEther() external onlyOwner view returns (uint256) {
        return address(this).balance;
    }
   
    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        emit Transfer(sender, recipient, amount);
        tokenBalances[sender] = tokenBalances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        tokenBalances[recipient] = tokenBalances[recipient].add(amount);
    }

   
     /*function _approve(address spender, address recipient, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[spender][recipient] = amount;
        emit Approved(spender, recipient, amount);
    }*/


    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements
     *
     * - `to` cannot be the zero address.
     */

    function _mint(address account, uint256 amount, uint256 circulation) internal  {
        require(account != address(0), "ERC20: mint to the zero address");
       /* if(account == owner){
            emit Transfer(address(0), account, amount);
            tokenBalances[owner] = tokenBalances[owner].add(amount);
        }else{*/
            emit Transfer(address(this), account, amount);
            tokenBalances[account] = tokenBalances[account].add(amount);
            allTimeTokenBal[account] = allTimeTokenBal[account].add(amount);
            _circulatedSupply = _circulatedSupply.add(circulation);
            priceAlgoBuy(circulation);
        /*}*/
       
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */

    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");
        emit Transfer(account, address(this), amount);
        tokenBalances[account] = tokenBalances[account].sub(amount);
        //tokenBalances[owner] = tokenBalances[owner].add(amount);
        _circulatedSupply = _circulatedSupply.sub(amount);
        allTimeTokenBal[account] = allTimeTokenBal[account].sub(amount);
        priceAlgoSell(amount);
    }

    function _msgSender() internal view returns (address ){
        return msg.sender;
    }
 
}


library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"uint256","name":"totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensTransfered","type":"uint256"}],"name":"Buy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"rewardAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"Reward","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"uint256","name":"calculatedEtherTransfer","type":"uint256"}],"name":"Sell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"inputs":[],"name":"_circulatedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accumulatedEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_hodl","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice10","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice11","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice12","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice13","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice14","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice15","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice16","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice17","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice18","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice19","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice20","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice21","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice22","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice4","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice5","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice6","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice7","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice8","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice9","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"currentPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"incomingEther","type":"uint256"}],"name":"etherToToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_hodl","type":"address"}],"name":"geAllTimeTokenBalane","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"genTree","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"incomingEther","type":"uint256"}],"name":"getTaxedEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"initialPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialPriceIncrement","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenToSell","type":"uint256"}],"name":"sell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"incomingEther","type":"uint256"}],"name":"taxDeduction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokenName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenSymbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenToSell","type":"uint256"}],"name":"tokenToEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"receiver","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferEther","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"updateCurrentPrice","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006003556509184e72a000600555600060065561019060075560006009556509184e72a000600a5565e35fa931a000600b5566019945ca262000600c556602d79883d20000600d556604e28e2290f000600e556609c51c4521e000600f55660ffcb9e57d4000601055661d4f54cf65a000601155662f12ce074620006012556648d4a431e54000601355667459f39464e00060145566c7d713b49da00060155567017098134772600060165567027e99ac32606000601755670423f3be88bce000601855670766d6ffcaf46000601955670dd36418bd7ba000601a556718b67eb0afc6e000601b55672966fd04bea96000601c556746e342efc8b20000601d55677bef826f26a04000601e5567d20fa68daab34000601f553480156200013157600080fd5b50604051620037ae380380620037ae833981810160405260608110156200015757600080fd5b81019080805160405193929190846401000000008211156200017857600080fd5b838201915060208201858111156200018f57600080fd5b8251866001820283011164010000000082111715620001ad57600080fd5b8083526020830192505050908051906020019080838360005b83811015620001e3578082015181840152602081019050620001c6565b50505050905090810190601f168015620002115780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200023557600080fd5b838201915060208201858111156200024c57600080fd5b82518660018202830111640100000000821117156200026a57600080fd5b8083526020830192505050908051906020019080838360005b83811015620002a057808201518184015260208101905062000283565b50505050905090810190601f168015620002ce5780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505033600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600090805190602001906200033b9291906200038e565b506000600260006101000a81548160ff021916908360ff1602179055508160019080519060200190620003709291906200038e565b5060065460055401600481905550806008819055505050506200043d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d157805160ff191683800117855562000402565b8280016001018555821562000402579182015b8281111562000401578251825591602001919060010190620003e4565b5b50905062000411919062000415565b5090565b6200043a91905b80821115620004365760008160009055506001016200041c565b5090565b90565b613361806200044d6000396000f3fe6080604052600436106102975760003560e01c80638b142bb01161015a578063c7876ea4116100c1578063e66de0731161007a578063e66de07314610f8b578063eb91d37e14610fda578063ed106e7514611005578063f088d54714611030578063f1ed99381461108c578063f5e39cd6146110b7576104f8565b8063c7876ea414610e3d578063cc2c1bbd14610e68578063d6e5053514610e93578063e095f81414610ebe578063e321bf7714610f0d578063e4849b3214610f38576104f8565b80639998aeaf116101135780639998aeaf14610cb15780639b5aaebf14610cdc5780639d1b464a14610d6d578063aad7390d14610d98578063b6f5749314610de7578063b7cf5fac14610e12576104f8565b80638b142bb014610ae45780638ba0b15f14610b0f5780638bb4842414610b3a5780638da5cb5b14610b9f5780638fd9780414610bf657806395d89b4114610c21576104f8565b80635201d1af116101fe5780637b61c320116101b75780637b61c320146109555780637dd1a25c146109e55780637fc6686e14610a10578063814ab1bc14610a63578063850684c714610a8e578063890dad4b14610ab9576104f8565b80635201d1af146107b45780635da6058e146107df578063696feca91461080a5780636c02a931146108355780636f4df459146108c557806370a08231146108f0576104f8565b8063313ce56711610250578063313ce567146106ac5780633150cd33146106dd578063391dddf5146107085780633eaaf86b146107335780633fadfd6b1461075e578063448bda8014610789576104f8565b806305b1137b146104fd57806306fdde031461057057806318160ddd146106005780631d0806ae1461062b5780631e5a0bc61461065657806327d7f99314610681576104f8565b366104f85761138834602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115610355576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d6178696d756d20427579696e6720526561636865642e00000000000000000081525060200191505060405180910390fd5b6000602260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000339050600034905060006103f56004548361110690919063ffffffff16565b9050600061040283611150565b905061138881111561047c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d6178696d756d20427579696e6720526561636865642e00000000000000000081525060200191505060405180910390fd5b610487848284611191565b7fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e8482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050005b600080fd5b34801561050957600080fd5b506105566004803603604081101561052057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113ec565b604051808215151515815260200191505060405180910390f35b34801561057c57600080fd5b506105856115c5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c55780820151818401526020810190506105aa565b50505050905090810190601f1680156105f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561060c57600080fd5b50610615611667565b6040518082815260200191505060405180910390f35b34801561063757600080fd5b50610640611671565b6040518082815260200191505060405180910390f35b34801561066257600080fd5b5061066b611677565b6040518082815260200191505060405180910390f35b34801561068d57600080fd5b5061069661167d565b6040518082815260200191505060405180910390f35b3480156106b857600080fd5b506106c1611683565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106e957600080fd5b506106f261169a565b6040518082815260200191505060405180910390f35b34801561071457600080fd5b5061071d6116a0565b6040518082815260200191505060405180910390f35b34801561073f57600080fd5b506107486116a6565b6040518082815260200191505060405180910390f35b34801561076a57600080fd5b506107736116ac565b6040518082815260200191505060405180910390f35b34801561079557600080fd5b5061079e6116b2565b6040518082815260200191505060405180910390f35b3480156107c057600080fd5b506107c96116b8565b6040518082815260200191505060405180910390f35b3480156107eb57600080fd5b506107f46116be565b6040518082815260200191505060405180910390f35b34801561081657600080fd5b5061081f6116c4565b6040518082815260200191505060405180910390f35b34801561084157600080fd5b5061084a6116ca565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561088a57808201518184015260208101905061086f565b50505050905090810190601f1680156108b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d157600080fd5b506108da611768565b6040518082815260200191505060405180910390f35b3480156108fc57600080fd5b5061093f6004803603602081101561091357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061176e565b6040518082815260200191505060405180910390f35b34801561096157600080fd5b5061096a6117b7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109aa57808201518184015260208101905061098f565b50505050905090810190601f1680156109d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109f157600080fd5b506109fa611855565b6040518082815260200191505060405180910390f35b348015610a1c57600080fd5b50610a4960048036036020811015610a3357600080fd5b8101908080359060200190929190505050611920565b604051808215151515815260200191505060405180910390f35b348015610a6f57600080fd5b50610a786119f5565b6040518082815260200191505060405180910390f35b348015610a9a57600080fd5b50610aa36119fb565b6040518082815260200191505060405180910390f35b348015610ac557600080fd5b50610ace611a01565b6040518082815260200191505060405180910390f35b348015610af057600080fd5b50610af9611a07565b6040518082815260200191505060405180910390f35b348015610b1b57600080fd5b50610b24611a0d565b6040518082815260200191505060405180910390f35b348015610b4657600080fd5b50610b8960048036036020811015610b5d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a13565b6040518082815260200191505060405180910390f35b348015610bab57600080fd5b50610bb4611a5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c0257600080fd5b50610c0b611a82565b6040518082815260200191505060405180910390f35b348015610c2d57600080fd5b50610c36611a88565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c76578082015181840152602081019050610c5b565b50505050905090810190601f168015610ca35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610cbd57600080fd5b50610cc6611b2a565b6040518082815260200191505060405180910390f35b348015610ce857600080fd5b50610d2b60048036036020811015610cff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b30565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d7957600080fd5b50610d82611b63565b6040518082815260200191505060405180910390f35b348015610da457600080fd5b50610dd160048036036020811015610dbb57600080fd5b8101908080359060200190929190505050611b69565b6040518082815260200191505060405180910390f35b348015610df357600080fd5b50610dfc611b8a565b6040518082815260200191505060405180910390f35b348015610e1e57600080fd5b50610e27611b90565b6040518082815260200191505060405180910390f35b348015610e4957600080fd5b50610e52611b96565b6040518082815260200191505060405180910390f35b348015610e7457600080fd5b50610e7d611b9c565b6040518082815260200191505060405180910390f35b348015610e9f57600080fd5b50610ea8611ba2565b6040518082815260200191505060405180910390f35b348015610eca57600080fd5b50610ef760048036036020811015610ee157600080fd5b8101908080359060200190929190505050611ba8565b6040518082815260200191505060405180910390f35b348015610f1957600080fd5b50610f22611be9565b6040518082815260200191505060405180910390f35b348015610f4457600080fd5b50610f7160048036036020811015610f5b57600080fd5b8101908080359060200190929190505050611bef565b604051808215151515815260200191505060405180910390f35b348015610f9757600080fd5b50610fc460048036036020811015610fae57600080fd5b8101908080359060200190929190505050611ef2565b6040518082815260200191505060405180910390f35b348015610fe657600080fd5b50610fef611f11565b6040518082815260200191505060405180910390f35b34801561101157600080fd5b5061101a611f1b565b6040518082815260200191505060405180910390f35b6110726004803603602081101561104657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f21565b604051808215151515815260200191505060405180910390f35b34801561109857600080fd5b506110a16122ad565b6040518082815260200191505060405180910390f35b3480156110c357600080fd5b506110f0600480360360208110156110da57600080fd5b81019080803590602001909291905050506122b3565b6040518082815260200191505060405180910390f35b600061114883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122da565b905092915050565b600080620186a06157e484028161116357fe5b0490506000818403905060006111846004548361110690919063ffffffff16565b9050809350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36112eb82602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a090919063ffffffff16565b602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061138082602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a090919063ffffffff16565b602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113d8816009546123a090919063ffffffff16565b6009819055506113e781612428565b505050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611574576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f596f7520617265206e6f74206f776e657200000000000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156115ba573d6000803e3d6000fd5b506001905092915050565b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561165d5780601f106116325761010080835404028352916020019161165d565b820191906000526020600020905b81548152906001019060200180831161164057829003601f168201915b5050505050905090565b6000600854905090565b60055481565b60105481565b60115481565b6000600260009054906101000a900460ff16905090565b601d5481565b60145481565b60085481565b60095481565b60175481565b60195481565b600d5481565b601b5481565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117605780601f1061173557610100808354040283529160200191611760565b820191906000526020600020905b81548152906001019060200180831161174357829003601f168201915b505050505081565b600b5481565b6000602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561184d5780601f106118225761010080835404028352916020019161184d565b820191906000526020600020905b81548152906001019060200180831161183057829003601f168201915b505050505081565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b47905090565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b8160048190555060019050919050565b600e5481565b601c5481565b601f5481565b60135481565b601e5481565b6000602160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b205780601f10611af557610100808354040283529160200191611b20565b820191906000526020600020905b815481529060010190602001808311611b0357829003601f168201915b5050505050905090565b60155481565b60226020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600080606460045481611b7857fe5b04600454038302905080915050919050565b600f5481565b60185481565b60075481565b60125481565b601a5481565b600080620186a06157e4840281611bbb57fe5b049050600081840390506000611bdc6004548361110690919063ffffffff16565b9050809350505050919050565b60165481565b60008060095411611c68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f2063697263756c6174656420746f6b656e7300000000000000000000000081525060200191505060405180910390fd5b60008211611cde576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f63616e206e6f742073656c6c203020746f6b656e00000000000000000000000081525060200191505060405180910390fd5b602060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6e6f7420656e6f75676820746f6b656e7320746f207472616e7361637400000081525060200191505060405180910390fd5b600854611dab600954846123a090919063ffffffff16565b1115611e1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f657863656564656420746f74616c20737570706c79000000000000000000000081525060200191505060405180910390fd5b6000611e2a836129dd565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e72573d6000803e3d6000fd5b50611e7d33846129fe565b7f5e5e995ce3133561afceaa51a9a154d5db228cd7525d34df5185582c18d3df093382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001915050919050565b600080620186a06157e4840281611f0557fe5b04905080915050919050565b6000600454905090565b600a5481565b60003373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f53656c66207265666572656e6365206e6f7420616c6c6f77656400000000000081525060200191505060405180910390fd5b600033905060003490506000611fe66004548361110690919063ffffffff16565b90506000611ff383611150565b90506000811161206b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616e206e6f7420627579203020746f6b656e732e000000000000000000000081525060200191505060405180910390fd5b6113888111156120e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d6178696d756d20427579696e6720526561636865642e00000000000000000081525060200191505060405180910390fd5b611388612138602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836123a090919063ffffffff16565b11156121ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d6178696d756d20427579696e6720526561636865642e00000000000000000081525060200191505060405180910390fd5b85602260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612235848284611191565b7fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e8482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001945050505050919050565b60065481565b600080620186a06157e48402816122c657fe5b049050600081840390508092505050919050565b60008083118290612386576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561234b578082015181840152602081019050612330565b50505050905090810190601f1680156123785780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161239257fe5b049050809150509392505050565b60008082840190508381101561241e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000600954101580156124405750620927c060095411155b1561245857600a54600481905550600454600a819055505b620927c060095411801561247157506210c8e060095411155b1561249a576311e1a3008102600681905550600654600b5401600481905550600454600b819055505b6210c8e06009541180156124b357506217a6b060095411155b156124dc57631ad274808102600681905550600654600c5401600481905550600454600c819055505b6217a6b06009541180156124f55750621de84060095411155b1561251e5763283baec08102600681905550600654600d5401600481905550600454600d819055505b621de840600954118015612537575062233f7060095411155b1561256057638c1227808102600681905550600654600e5401600481905550600454600e819055505b62233f7060095411801561257957506228488060095411155b156125a25763b44dd6408102600681905550600654600f5401600481905550600454600f819055505b622848806009541180156125bb5750622d037060095411155b156125e5576401553c91408102600681905550600654601054016004819055506004546010819055505b622d03706009541180156125fe57506231704060095411155b15612628576401fc212d408102600681905550600654601154016004819055506004546011819055505b62317040600954118015612641575062358ef060095411155b1561266b5764033c812b008102600681905550600654601254016004819055506004546012819055505b62358ef060095411801561268457506239869060095411155b156126ae576404b4038a008102600681905550600654601354016004819055506004546013819055505b623986906009541180156126c75750623d572060095411155b156126f157640ba43b74008102600681905550600654601454016004819055506004546014819055505b623d572060095411801561270a5750624100a060095411155b1561273457641f0aca0d408102600681905550600654601554016004819055506004546015819055505b624100a060095411801561274d57506244831060095411155b15612777576437acf5ef408102600681905550600654601654016004819055506004546016819055505b6244831060095411801561279057506247b76060095411155b156127ba57645bbf35d4808102600681905550600654601754016004819055506004546017819055505b6247b7606009541180156127d35750624ac4a060095411155b156127fd5764a089670f008102600681905550600654601854016004819055506004546018819055505b624ac4a06009541180156128165750624d83c060095411155b1561284157650155293224c08102600681905550600654601954016004819055506004546019819055505b624d83c060095411801561285a5750624fa6a060095411155b15612885576502df7e9a3d408102600681905550600654601a5401600481905550600454601a819055505b624fa6a060095411801561289e57506251a27060095411155b156128c95765053567548d408102600681905550600654601b5401600481905550600454601b819055505b6251a2706009541180156128e257506253502060095411155b1561290d57650bebfc1d51c08102600681905550600654601c5401600481905550600454601c819055505b625350206009541180156129265750625488a060095411155b1561295157651f8c501d9b008102600681905550600654601d5401600481905550600454601d819055505b625488a060095411801561296a5750625524e060095411155b1561299557656d2ddd1385808102600681905550600654601e5401600481905550600454601e819055505b625524e06009541180156129ae57506255730060095411155b156129da5766016f86dcf428008102600681905550600654601f5401600481905550600454601f819055505b50565b6000806064600454816129ec57fe5b04600454038302905080915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061330b6021913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3612b3b81602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3b90919063ffffffff16565b602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b9381600954612c3b90919063ffffffff16565b600981905550612beb81602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3b90919063ffffffff16565b602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3781612c85565b5050565b6000612c7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061324a565b905092915050565b600060095410158015612c9c5750620927c0600954105b15612cc457620493e08102600681905550600654600a5403600481905550600454600a819055505b620927c060095410158015612cde57506210c8e060095411155b15612d07576311e1a3008102600681905550600654600b5403600481905550600454600b819055505b6210c8e0600954118015612d2057506217a6b060095411155b15612d4957631ad274808102600681905550600654600c5403600481905550600454600c819055505b6217a6b0600954118015612d625750621de84060095411155b15612d8b5763283baec08102600681905550600654600d5403600481905550600454600d819055505b621de840600954118015612da4575062233f7060095411155b15612dcd57638c1227808102600681905550600654600e5403600481905550600454600e819055505b62233f70600954118015612de657506228488060095411155b15612e0f5763b44dd6408102600681905550600654600f5403600481905550600454600f819055505b62284880600954118015612e285750622d037060095411155b15612e52576401553c91408102600681905550600654601054036004819055506004546010819055505b622d0370600954118015612e6b57506231704060095411155b15612e95576401fc212d408102600681905550600654601154036004819055506004546011819055505b62317040600954118015612eae575062358ef060095411155b15612ed85764033c812b008102600681905550600654601254036004819055506004546012819055505b62358ef0600954118015612ef157506239869060095411155b15612f1b576404b4038a008102600681905550600654601354036004819055506004546013819055505b62398690600954118015612f345750623d572060095411155b15612f5e57640ba43b74008102600681905550600654601454036004819055506004546014819055505b623d5720600954118015612f775750624100a060095411155b15612fa157641f0aca0d408102600681905550600654601554036004819055506004546015819055505b624100a0600954118015612fba57506244831060095411155b15612fe4576437acf5ef408102600681905550600654601654036004819055506004546016819055505b62448310600954118015612ffd57506247b76060095411155b1561302757645bbf35d4808102600681905550600654601754036004819055506004546017819055505b6247b7606009541180156130405750624ac4a060095411155b1561306a5764a089670f008102600681905550600654601854036004819055506004546018819055505b624ac4a06009541180156130835750624d83c060095411155b156130ae57650155293224c08102600681905550600654601954036004819055506004546019819055505b624d83c06009541180156130c75750624fa6a060095411155b156130f2576502df7e9a3d408102600681905550600654601a5403600481905550600454601a819055505b624fa6a060095411801561310b57506251a27060095411155b156131365765053567548d408102600681905550600654601b5403600481905550600454601b819055505b6251a27060095411801561314f57506253502060095411155b1561317a57650bebfc1d51c08102600681905550600654601c5403600481905550600454601c819055505b625350206009541180156131935750625488a060095411155b156131be57651f8c501d9b008102600681905550600654601d5403600481905550600454601d819055505b625488a06009541180156131d75750625524e060095411155b1561320257656d2ddd1385808102600681905550600654601e5403600481905550600454601e819055505b625524e060095411801561321b57506255730060095411155b156132475766016f86dcf428008102600681905550600654601f5403600481905550600454601f819055505b50565b60008383111582906132f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156132bc5780820151818401526020810190506132a1565b50505050905090810190601f1680156132e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe45524332303a206275726e2066726f6d20746865207a65726f2061646472657373a264697066735822122092237360f3de7686b676a858f3f02642d674fcc0ac39125ec6a34e1a6c4b696f64736f6c63430006060033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000005573000000000000000000000000000000000000000000000000000000000000000010556e6976657273652046696e616e63650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035546430000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102975760003560e01c80638b142bb01161015a578063c7876ea4116100c1578063e66de0731161007a578063e66de07314610f8b578063eb91d37e14610fda578063ed106e7514611005578063f088d54714611030578063f1ed99381461108c578063f5e39cd6146110b7576104f8565b8063c7876ea414610e3d578063cc2c1bbd14610e68578063d6e5053514610e93578063e095f81414610ebe578063e321bf7714610f0d578063e4849b3214610f38576104f8565b80639998aeaf116101135780639998aeaf14610cb15780639b5aaebf14610cdc5780639d1b464a14610d6d578063aad7390d14610d98578063b6f5749314610de7578063b7cf5fac14610e12576104f8565b80638b142bb014610ae45780638ba0b15f14610b0f5780638bb4842414610b3a5780638da5cb5b14610b9f5780638fd9780414610bf657806395d89b4114610c21576104f8565b80635201d1af116101fe5780637b61c320116101b75780637b61c320146109555780637dd1a25c146109e55780637fc6686e14610a10578063814ab1bc14610a63578063850684c714610a8e578063890dad4b14610ab9576104f8565b80635201d1af146107b45780635da6058e146107df578063696feca91461080a5780636c02a931146108355780636f4df459146108c557806370a08231146108f0576104f8565b8063313ce56711610250578063313ce567146106ac5780633150cd33146106dd578063391dddf5146107085780633eaaf86b146107335780633fadfd6b1461075e578063448bda8014610789576104f8565b806305b1137b146104fd57806306fdde031461057057806318160ddd146106005780631d0806ae1461062b5780631e5a0bc61461065657806327d7f99314610681576104f8565b366104f85761138834602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115610355576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d6178696d756d20427579696e6720526561636865642e00000000000000000081525060200191505060405180910390fd5b6000602260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000339050600034905060006103f56004548361110690919063ffffffff16565b9050600061040283611150565b905061138881111561047c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d6178696d756d20427579696e6720526561636865642e00000000000000000081525060200191505060405180910390fd5b610487848284611191565b7fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e8482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050005b600080fd5b34801561050957600080fd5b506105566004803603604081101561052057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113ec565b604051808215151515815260200191505060405180910390f35b34801561057c57600080fd5b506105856115c5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c55780820151818401526020810190506105aa565b50505050905090810190601f1680156105f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561060c57600080fd5b50610615611667565b6040518082815260200191505060405180910390f35b34801561063757600080fd5b50610640611671565b6040518082815260200191505060405180910390f35b34801561066257600080fd5b5061066b611677565b6040518082815260200191505060405180910390f35b34801561068d57600080fd5b5061069661167d565b6040518082815260200191505060405180910390f35b3480156106b857600080fd5b506106c1611683565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106e957600080fd5b506106f261169a565b6040518082815260200191505060405180910390f35b34801561071457600080fd5b5061071d6116a0565b6040518082815260200191505060405180910390f35b34801561073f57600080fd5b506107486116a6565b6040518082815260200191505060405180910390f35b34801561076a57600080fd5b506107736116ac565b6040518082815260200191505060405180910390f35b34801561079557600080fd5b5061079e6116b2565b6040518082815260200191505060405180910390f35b3480156107c057600080fd5b506107c96116b8565b6040518082815260200191505060405180910390f35b3480156107eb57600080fd5b506107f46116be565b6040518082815260200191505060405180910390f35b34801561081657600080fd5b5061081f6116c4565b6040518082815260200191505060405180910390f35b34801561084157600080fd5b5061084a6116ca565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561088a57808201518184015260208101905061086f565b50505050905090810190601f1680156108b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d157600080fd5b506108da611768565b6040518082815260200191505060405180910390f35b3480156108fc57600080fd5b5061093f6004803603602081101561091357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061176e565b6040518082815260200191505060405180910390f35b34801561096157600080fd5b5061096a6117b7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109aa57808201518184015260208101905061098f565b50505050905090810190601f1680156109d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109f157600080fd5b506109fa611855565b6040518082815260200191505060405180910390f35b348015610a1c57600080fd5b50610a4960048036036020811015610a3357600080fd5b8101908080359060200190929190505050611920565b604051808215151515815260200191505060405180910390f35b348015610a6f57600080fd5b50610a786119f5565b6040518082815260200191505060405180910390f35b348015610a9a57600080fd5b50610aa36119fb565b6040518082815260200191505060405180910390f35b348015610ac557600080fd5b50610ace611a01565b6040518082815260200191505060405180910390f35b348015610af057600080fd5b50610af9611a07565b6040518082815260200191505060405180910390f35b348015610b1b57600080fd5b50610b24611a0d565b6040518082815260200191505060405180910390f35b348015610b4657600080fd5b50610b8960048036036020811015610b5d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a13565b6040518082815260200191505060405180910390f35b348015610bab57600080fd5b50610bb4611a5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c0257600080fd5b50610c0b611a82565b6040518082815260200191505060405180910390f35b348015610c2d57600080fd5b50610c36611a88565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c76578082015181840152602081019050610c5b565b50505050905090810190601f168015610ca35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610cbd57600080fd5b50610cc6611b2a565b6040518082815260200191505060405180910390f35b348015610ce857600080fd5b50610d2b60048036036020811015610cff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b30565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d7957600080fd5b50610d82611b63565b6040518082815260200191505060405180910390f35b348015610da457600080fd5b50610dd160048036036020811015610dbb57600080fd5b8101908080359060200190929190505050611b69565b6040518082815260200191505060405180910390f35b348015610df357600080fd5b50610dfc611b8a565b6040518082815260200191505060405180910390f35b348015610e1e57600080fd5b50610e27611b90565b6040518082815260200191505060405180910390f35b348015610e4957600080fd5b50610e52611b96565b6040518082815260200191505060405180910390f35b348015610e7457600080fd5b50610e7d611b9c565b6040518082815260200191505060405180910390f35b348015610e9f57600080fd5b50610ea8611ba2565b6040518082815260200191505060405180910390f35b348015610eca57600080fd5b50610ef760048036036020811015610ee157600080fd5b8101908080359060200190929190505050611ba8565b6040518082815260200191505060405180910390f35b348015610f1957600080fd5b50610f22611be9565b6040518082815260200191505060405180910390f35b348015610f4457600080fd5b50610f7160048036036020811015610f5b57600080fd5b8101908080359060200190929190505050611bef565b604051808215151515815260200191505060405180910390f35b348015610f9757600080fd5b50610fc460048036036020811015610fae57600080fd5b8101908080359060200190929190505050611ef2565b6040518082815260200191505060405180910390f35b348015610fe657600080fd5b50610fef611f11565b6040518082815260200191505060405180910390f35b34801561101157600080fd5b5061101a611f1b565b6040518082815260200191505060405180910390f35b6110726004803603602081101561104657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f21565b604051808215151515815260200191505060405180910390f35b34801561109857600080fd5b506110a16122ad565b6040518082815260200191505060405180910390f35b3480156110c357600080fd5b506110f0600480360360208110156110da57600080fd5b81019080803590602001909291905050506122b3565b6040518082815260200191505060405180910390f35b600061114883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122da565b905092915050565b600080620186a06157e484028161116357fe5b0490506000818403905060006111846004548361110690919063ffffffff16565b9050809350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36112eb82602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a090919063ffffffff16565b602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061138082602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a090919063ffffffff16565b602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113d8816009546123a090919063ffffffff16565b6009819055506113e781612428565b505050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611574576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f596f7520617265206e6f74206f776e657200000000000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156115ba573d6000803e3d6000fd5b506001905092915050565b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561165d5780601f106116325761010080835404028352916020019161165d565b820191906000526020600020905b81548152906001019060200180831161164057829003601f168201915b5050505050905090565b6000600854905090565b60055481565b60105481565b60115481565b6000600260009054906101000a900460ff16905090565b601d5481565b60145481565b60085481565b60095481565b60175481565b60195481565b600d5481565b601b5481565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117605780601f1061173557610100808354040283529160200191611760565b820191906000526020600020905b81548152906001019060200180831161174357829003601f168201915b505050505081565b600b5481565b6000602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561184d5780601f106118225761010080835404028352916020019161184d565b820191906000526020600020905b81548152906001019060200180831161183057829003601f168201915b505050505081565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b47905090565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b8160048190555060019050919050565b600e5481565b601c5481565b601f5481565b60135481565b601e5481565b6000602160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b205780601f10611af557610100808354040283529160200191611b20565b820191906000526020600020905b815481529060010190602001808311611b0357829003601f168201915b5050505050905090565b60155481565b60226020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600080606460045481611b7857fe5b04600454038302905080915050919050565b600f5481565b60185481565b60075481565b60125481565b601a5481565b600080620186a06157e4840281611bbb57fe5b049050600081840390506000611bdc6004548361110690919063ffffffff16565b9050809350505050919050565b60165481565b60008060095411611c68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f2063697263756c6174656420746f6b656e7300000000000000000000000081525060200191505060405180910390fd5b60008211611cde576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f63616e206e6f742073656c6c203020746f6b656e00000000000000000000000081525060200191505060405180910390fd5b602060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6e6f7420656e6f75676820746f6b656e7320746f207472616e7361637400000081525060200191505060405180910390fd5b600854611dab600954846123a090919063ffffffff16565b1115611e1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f657863656564656420746f74616c20737570706c79000000000000000000000081525060200191505060405180910390fd5b6000611e2a836129dd565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e72573d6000803e3d6000fd5b50611e7d33846129fe565b7f5e5e995ce3133561afceaa51a9a154d5db228cd7525d34df5185582c18d3df093382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001915050919050565b600080620186a06157e4840281611f0557fe5b04905080915050919050565b6000600454905090565b600a5481565b60003373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f53656c66207265666572656e6365206e6f7420616c6c6f77656400000000000081525060200191505060405180910390fd5b600033905060003490506000611fe66004548361110690919063ffffffff16565b90506000611ff383611150565b90506000811161206b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616e206e6f7420627579203020746f6b656e732e000000000000000000000081525060200191505060405180910390fd5b6113888111156120e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d6178696d756d20427579696e6720526561636865642e00000000000000000081525060200191505060405180910390fd5b611388612138602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836123a090919063ffffffff16565b11156121ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d6178696d756d20427579696e6720526561636865642e00000000000000000081525060200191505060405180910390fd5b85602260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612235848284611191565b7fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e8482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001945050505050919050565b60065481565b600080620186a06157e48402816122c657fe5b049050600081840390508092505050919050565b60008083118290612386576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561234b578082015181840152602081019050612330565b50505050905090810190601f1680156123785780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161239257fe5b049050809150509392505050565b60008082840190508381101561241e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000600954101580156124405750620927c060095411155b1561245857600a54600481905550600454600a819055505b620927c060095411801561247157506210c8e060095411155b1561249a576311e1a3008102600681905550600654600b5401600481905550600454600b819055505b6210c8e06009541180156124b357506217a6b060095411155b156124dc57631ad274808102600681905550600654600c5401600481905550600454600c819055505b6217a6b06009541180156124f55750621de84060095411155b1561251e5763283baec08102600681905550600654600d5401600481905550600454600d819055505b621de840600954118015612537575062233f7060095411155b1561256057638c1227808102600681905550600654600e5401600481905550600454600e819055505b62233f7060095411801561257957506228488060095411155b156125a25763b44dd6408102600681905550600654600f5401600481905550600454600f819055505b622848806009541180156125bb5750622d037060095411155b156125e5576401553c91408102600681905550600654601054016004819055506004546010819055505b622d03706009541180156125fe57506231704060095411155b15612628576401fc212d408102600681905550600654601154016004819055506004546011819055505b62317040600954118015612641575062358ef060095411155b1561266b5764033c812b008102600681905550600654601254016004819055506004546012819055505b62358ef060095411801561268457506239869060095411155b156126ae576404b4038a008102600681905550600654601354016004819055506004546013819055505b623986906009541180156126c75750623d572060095411155b156126f157640ba43b74008102600681905550600654601454016004819055506004546014819055505b623d572060095411801561270a5750624100a060095411155b1561273457641f0aca0d408102600681905550600654601554016004819055506004546015819055505b624100a060095411801561274d57506244831060095411155b15612777576437acf5ef408102600681905550600654601654016004819055506004546016819055505b6244831060095411801561279057506247b76060095411155b156127ba57645bbf35d4808102600681905550600654601754016004819055506004546017819055505b6247b7606009541180156127d35750624ac4a060095411155b156127fd5764a089670f008102600681905550600654601854016004819055506004546018819055505b624ac4a06009541180156128165750624d83c060095411155b1561284157650155293224c08102600681905550600654601954016004819055506004546019819055505b624d83c060095411801561285a5750624fa6a060095411155b15612885576502df7e9a3d408102600681905550600654601a5401600481905550600454601a819055505b624fa6a060095411801561289e57506251a27060095411155b156128c95765053567548d408102600681905550600654601b5401600481905550600454601b819055505b6251a2706009541180156128e257506253502060095411155b1561290d57650bebfc1d51c08102600681905550600654601c5401600481905550600454601c819055505b625350206009541180156129265750625488a060095411155b1561295157651f8c501d9b008102600681905550600654601d5401600481905550600454601d819055505b625488a060095411801561296a5750625524e060095411155b1561299557656d2ddd1385808102600681905550600654601e5401600481905550600454601e819055505b625524e06009541180156129ae57506255730060095411155b156129da5766016f86dcf428008102600681905550600654601f5401600481905550600454601f819055505b50565b6000806064600454816129ec57fe5b04600454038302905080915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061330b6021913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3612b3b81602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3b90919063ffffffff16565b602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b9381600954612c3b90919063ffffffff16565b600981905550612beb81602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3b90919063ffffffff16565b602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3781612c85565b5050565b6000612c7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061324a565b905092915050565b600060095410158015612c9c5750620927c0600954105b15612cc457620493e08102600681905550600654600a5403600481905550600454600a819055505b620927c060095410158015612cde57506210c8e060095411155b15612d07576311e1a3008102600681905550600654600b5403600481905550600454600b819055505b6210c8e0600954118015612d2057506217a6b060095411155b15612d4957631ad274808102600681905550600654600c5403600481905550600454600c819055505b6217a6b0600954118015612d625750621de84060095411155b15612d8b5763283baec08102600681905550600654600d5403600481905550600454600d819055505b621de840600954118015612da4575062233f7060095411155b15612dcd57638c1227808102600681905550600654600e5403600481905550600454600e819055505b62233f70600954118015612de657506228488060095411155b15612e0f5763b44dd6408102600681905550600654600f5403600481905550600454600f819055505b62284880600954118015612e285750622d037060095411155b15612e52576401553c91408102600681905550600654601054036004819055506004546010819055505b622d0370600954118015612e6b57506231704060095411155b15612e95576401fc212d408102600681905550600654601154036004819055506004546011819055505b62317040600954118015612eae575062358ef060095411155b15612ed85764033c812b008102600681905550600654601254036004819055506004546012819055505b62358ef0600954118015612ef157506239869060095411155b15612f1b576404b4038a008102600681905550600654601354036004819055506004546013819055505b62398690600954118015612f345750623d572060095411155b15612f5e57640ba43b74008102600681905550600654601454036004819055506004546014819055505b623d5720600954118015612f775750624100a060095411155b15612fa157641f0aca0d408102600681905550600654601554036004819055506004546015819055505b624100a0600954118015612fba57506244831060095411155b15612fe4576437acf5ef408102600681905550600654601654036004819055506004546016819055505b62448310600954118015612ffd57506247b76060095411155b1561302757645bbf35d4808102600681905550600654601754036004819055506004546017819055505b6247b7606009541180156130405750624ac4a060095411155b1561306a5764a089670f008102600681905550600654601854036004819055506004546018819055505b624ac4a06009541180156130835750624d83c060095411155b156130ae57650155293224c08102600681905550600654601954036004819055506004546019819055505b624d83c06009541180156130c75750624fa6a060095411155b156130f2576502df7e9a3d408102600681905550600654601a5403600481905550600454601a819055505b624fa6a060095411801561310b57506251a27060095411155b156131365765053567548d408102600681905550600654601b5403600481905550600454601b819055505b6251a27060095411801561314f57506253502060095411155b1561317a57650bebfc1d51c08102600681905550600654601c5403600481905550600454601c819055505b625350206009541180156131935750625488a060095411155b156131be57651f8c501d9b008102600681905550600654601d5403600481905550600454601d819055505b625488a06009541180156131d75750625524e060095411155b1561320257656d2ddd1385808102600681905550600654601e5403600481905550600454601e819055505b625524e060095411801561321b57506255730060095411155b156132475766016f86dcf428008102600681905550600654601f5403600481905550600454601f819055505b50565b60008383111582906132f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156132bc5780820151818401526020810190506132a1565b50505050905090810190601f1680156132e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe45524332303a206275726e2066726f6d20746865207a65726f2061646472657373a264697066735822122092237360f3de7686b676a858f3f02642d674fcc0ac39125ec6a34e1a6c4b696f64736f6c63430006060033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000005573000000000000000000000000000000000000000000000000000000000000000010556e6976657273652046696e616e63650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035546430000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenName (string): Universe Finance
Arg [1] : _tokenSymbol (string): UFC
Arg [2] : totalSupply (uint256): 5600000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000557300
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000010
Arg [4] : 556e6976657273652046696e616e636500000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 5546430000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

98:27869:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8641:4;8627:9;8597:15;:27;8613:10;8597:27;;;;;;;;;;;;;;;;:39;8596:49;;8588:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8715:1;8685:7;:19;8693:10;8685:19;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;8729:13;8745:10;8729:26;;8767:18;8788:9;8767:30;;8809:22;8834:28;8849:12;;8834:10;:14;;:28;;;;:::i;:::-;8809:53;;8874:24;8901:30;8920:10;8901:18;:30::i;:::-;8874:57;;8971:4;8951:16;:24;;8943:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9015:44;9021:5;9027:16;9044:14;9015:5;:44::i;:::-;9076:27;9080:5;9086:16;9076:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;8549:574;;;;98:27869;;12:1:-1;9;2:12;5797:225:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5797:225:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;5797:225:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6079:86;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6079:86:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6079:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6509:96;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6509:96:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1659:44;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1659:44:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2214;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2214:44:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2265;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2265:44:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6353:85;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6353:85:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2907:48;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2907:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2421:46;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2421:46:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1831:27;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1831:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1870:36;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1870:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2581:47;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2581:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2689;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2689:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2062:43;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2062:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2797:48;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2797:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1133:23;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1133:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1133:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1962:43;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1962:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6667:116;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6667:116:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;6667:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1257:25;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1257:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1257:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24576:117;;5:9:-1;2:2;;;27:1;24;17:12;2:2;24576:117:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7038:152;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7038:152:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;7038:152:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2112:44;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2112:44:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2852:48;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2852:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3017:49;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3017:49:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2368:46;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2368:46:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2962:48;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2962:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4481:129;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4481:129:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;4481:129:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1500:20;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1500:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2012:43;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2012:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6210:92;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6210:92:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6210:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2474:46;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2474:46:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3296:42;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3296:42:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3296:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1625:27;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1625:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5561:220;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5561:220:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;5561:220:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2163:44;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2163:44:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2635:47;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2635:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1757:30;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1757:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2316:45;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2316:45:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2743:47;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2743:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5226:319;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5226:319:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;5226:319:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2527:47;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2527:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23710:621;;5:9:-1;2:2;;;27:1;24;17:12;2:2;23710:621:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;23710:621:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4764:191;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4764:191:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;4764:191:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6835:98;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6835:98:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1913:42;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1913:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7543:992;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;7543:992:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1710:40;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1710:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4966:250;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4966:250:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;4966:250:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;30537:132;30595:7;30622:39;30626:1;30629;30622:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;30615:46;;30537:132;;;;:::o;23327:321::-;23400:7;23424:17;23466:6;23460:5;23444:13;:21;:28;;;;;;23424:48;;23487:18;23524:9;23508:13;:25;23487:46;;23548:23;23574:28;23589:12;;23574:10;:14;;:28;;;;:::i;:::-;23548:54;;23624:15;23617:22;;;;;23327:321;;;:::o;26340:686::-;26457:1;26438:21;;:7;:21;;;;26430:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26717:7;26693:40;;26710:4;26693:40;;;26726:6;26693:40;;;;;;;;;;;;;;;;;;26773:34;26800:6;26773:13;:22;26787:7;26773:22;;;;;;;;;;;;;;;;:26;;:34;;;;:::i;:::-;26748:13;:22;26762:7;26748:22;;;;;;;;;;;;;;;:59;;;;26849:36;26878:6;26849:15;:24;26865:7;26849:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;26822:15;:24;26838:7;26822:24;;;;;;;;;;;;;;;:63;;;;26920:34;26942:11;26920:17;;:21;;:34;;;;:::i;:::-;26900:17;:54;;;;26969:25;26982:11;26969:12;:25::i;:::-;26340:686;;;:::o;5797:225::-;5889:4;3607:5;;;;;;;;;;;3593:19;;:10;:19;;;3585:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5928:5:::1;;;;;;;;;;;5914:19;;:10;:19;;;5906:49;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5966:8;:17;;:25;5984:6;5966:25;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;5966:25:0;6009:4;6002:11;;5797:225:::0;;;;:::o;6079:86::-;6115:13;6148:9;6141:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6079:86;:::o;6509:96::-;6554:7;6585:12;;6578:19;;6509:96;:::o;1659:44::-;;;;:::o;2214:::-;;;;:::o;2265:::-;;;;:::o;6353:85::-;6393:5;6421:7;;;;;;;;;;;6414:14;;6353:85;:::o;2907:48::-;;;;:::o;2421:46::-;;;;:::o;1831:27::-;;;;:::o;1870:36::-;;;;:::o;2581:47::-;;;;:::o;2689:::-;;;;:::o;2062:43::-;;;;:::o;2797:48::-;;;;:::o;1133:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1962:43::-;;;;:::o;6667:116::-;6723:7;6754:13;:20;6768:5;6754:20;;;;;;;;;;;;;;;;6747:27;;6667:116;;;:::o;1257:25::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24576:117::-;24637:7;3607:5;;;;;;;;;;;3593:19;;:10;:19;;;3585:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24664:21:::1;24657:28;;24576:117:::0;:::o;7038:152::-;7113:4;3607:5;;;;;;;;;;;3593:19;;:10;:19;;;3585:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7147:9:::1;7132:12;:24;;;;7176:4;7169:11;;7038:152:::0;;;:::o;2112:44::-;;;;:::o;2852:48::-;;;;:::o;3017:49::-;;;;:::o;2368:46::-;;;;:::o;2962:48::-;;;;:::o;4481:129::-;4548:7;4579:15;:22;4595:5;4579:22;;;;;;;;;;;;;;;;4572:29;;4481:129;;;:::o;1500:20::-;;;;;;;;;;;;;:::o;2012:43::-;;;;:::o;6210:92::-;6248:13;6282:11;6275:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6210:92;:::o;2474:46::-;;;;:::o;3296:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;1625:27::-;;;;:::o;5561:220::-;5624:7;5656:22;5725:3;5712:12;;:16;;;;;;5696:12;;:33;5681:11;:49;5656:74;;5748:14;5741:21;;;5561:220;;;:::o;2163:44::-;;;;:::o;2635:47::-;;;;:::o;1757:30::-;;;;:::o;2316:45::-;;;;:::o;2743:47::-;;;;:::o;5226:319::-;5291:7;5323:17;5365:6;5359:5;5343:13;:21;:28;;;;;;5323:48;;5382:18;5419:9;5403:13;:25;5382:46;;5439:23;5465:28;5480:12;;5465:10;:14;;:28;;;;:::i;:::-;5439:54;;5511:15;5504:22;;;;;5226:319;;;:::o;2527:47::-;;;;:::o;23710:621::-;23762:4;23808:1;23788:17;;:21;23780:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23869:1;23855:11;:15;23847:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23931:13;:25;23945:10;23931:25;;;;;;;;;;;;;;;;23916:11;:40;;23908:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24049:12;;24011:34;24027:17;;24011:11;:15;;:34;;;;:::i;:::-;:50;;24003:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24100:23;24126:31;24145:11;24126:18;:31::i;:::-;24100:57;;24170:10;:19;;:36;24190:15;24170:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24170:36:0;24219:29;24225:10;24236:11;24219:5;:29::i;:::-;24266:32;24271:10;24282:15;24266:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;24318:4;24311:11;;;23710:621;;;:::o;4764:191::-;4829:7;4861:17;4903:6;4897:5;4881:13;:21;:28;;;;;;4861:48;;4927:9;4920:16;;;4764:191;;;:::o;6835:98::-;6884:7;6912:12;;6905:19;;6835:98;:::o;1913:42::-;;;;:::o;7543:992::-;7603:4;7644:10;7629:25;;:11;:25;;;;7621:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7891:13;7907:10;7891:26;;7929:18;7950:9;7929:30;;7971:19;7993:28;8008:12;;7993:10;:14;;:28;;;;:::i;:::-;7971:50;;8033:24;8060:30;8079:10;8060:18;:30::i;:::-;8033:57;;8129:1;8110:16;:20;8102:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8196:4;8176:16;:24;;8168:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8301:4;8248:49;8269:15;:27;8285:10;8269:27;;;;;;;;;;;;;;;;8248:16;:20;;:49;;;;:::i;:::-;:57;;8240:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8367:11;8345:7;:19;8353:10;8345:19;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;8390:41;8396:5;8402:16;8419:11;8390:5;:41::i;:::-;8448:27;8452:5;8458:16;8448:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;8494:4;8487:11;;;;;;7543:992;;;:::o;1710:40::-;;;;:::o;4966:250::-;5032:7;5064:17;5106:6;5100:5;5084:13;:21;:28;;;;;;5064:48;;5123:18;5160:9;5144:13;:25;5123:46;;5187:10;5180:17;;;;4966:250;;;:::o;31165:278::-;31251:7;31283:1;31279;:5;31286:12;31271:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;31271:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31310:9;31326:1;31322;:5;;;;;;31310:17;;31434:1;31427:8;;;31165:278;;;;;:::o;28236:181::-;28294:7;28314:9;28330:1;28326;:5;28314:17;;28355:1;28350;:6;;28342:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28408:1;28401:8;;;28236:181;;;;:::o;9137:5771::-;9221:1;9200:17;;:22;;:53;;;;;9247:6;9226:17;;:27;;9200:53;9197:152;;;9285:10;;9270:12;:25;;;;9324:12;;9311:10;:25;;;;9197:152;9383:6;9363:17;;:26;:58;;;;;9414:7;9393:17;;:28;;9363:58;9360:239;;;9471:9;9462:8;:18;9438:21;:42;;;;9524:21;;9511:10;;:34;9496:12;:49;;;;9574:12;;9561:10;:25;;;;9360:239;9633:7;9613:17;;:27;:59;;;;;9665:7;9644:17;;:28;;9613:59;9610:240;;;9722:9;9713:8;:18;9689:21;:42;;;;9775:21;;9762:10;;:34;9747:12;:49;;;;9825:12;;9812:10;:25;;;;9610:240;9884:7;9864:17;;:27;:59;;;;;9916:7;9895:17;;:28;;9864:59;9861:240;;;9973:9;9964:8;:18;9940:21;:42;;;;10026:21;;10013:10;;:34;9998:12;:49;;;;10076:12;;10063:10;:25;;;;9861:240;10124:7;10104:17;;:27;:59;;;;;10156:7;10135:17;;:28;;10104:59;10101:241;;;10213:10;10204:8;:19;10180:21;:43;;;;10267:21;;10254:10;;:34;10239:12;:49;;;;10317:12;;10304:10;:25;;;;10101:241;10376:7;10356:17;;:27;:59;;;;;10408:7;10387:17;;:28;;10356:59;10353:241;;;10465:10;10456:8;:19;10432:21;:43;;;;10519:21;;10506:10;;:34;10491:12;:49;;;;10569:12;;10556:10;:25;;;;10353:241;10628:7;10608:17;;:27;:59;;;;;10660:7;10639:17;;:28;;10608:59;10605:241;;;10717:10;10708:8;:19;10684:21;:43;;;;10771:21;;10758:10;;:34;10743:12;:49;;;;10821:12;;10808:10;:25;;;;10605:241;10880:7;10860:17;;:27;:59;;;;;10912:7;10891:17;;:28;;10860:59;10857:241;;;10969:10;10960:8;:19;10936:21;:43;;;;11023:21;;11010:10;;:34;10995:12;:49;;;;11073:12;;11060:10;:25;;;;10857:241;11143:7;11123:17;;:27;:59;;;;;11175:7;11154:17;;:28;;11123:59;11120:257;;;11232:11;11223:8;:20;11199:21;:44;;;;11287:21;;11274:10;;:34;11259:12;:49;;;;11337:12;;11324:10;:25;;;;11120:257;11400:7;11380:17;;:27;:59;;;;;11432:7;11411:17;;:28;;11380:59;11377:259;;;11489:11;11480:8;:20;11456:21;:44;;;;11545:21;;11531:11;;:35;11516:12;:50;;;;11596:12;;11582:11;:26;;;;11377:259;11659:7;11639:17;;:27;:59;;;;;11691:7;11670:17;;:28;;11639:59;11636:259;;;11748:11;11739:8;:20;11715:21;:44;;;;11804:21;;11790:11;;:35;11775:12;:50;;;;11855:12;;11841:11;:26;;;;11636:259;11918:7;11898:17;;:27;:59;;;;;11950:7;11929:17;;:28;;11898:59;11895:260;;;12007:12;11998:8;:21;11974;:45;;;;12064:21;;12050:11;;:35;12035:12;:50;;;;12115:12;;12101:11;:26;;;;11895:260;12178:7;12158:17;;:27;:59;;;;;12210:7;12189:17;;:28;;12158:59;12155:260;;;12267:12;12258:8;:21;12234;:45;;;;12324:21;;12310:11;;:35;12295:12;:50;;;;12375:12;;12361:11;:26;;;;12155:260;12449:7;12429:17;;:27;:59;;;;;12481:7;12460:17;;:28;;12429:59;12426:260;;;12538:12;12529:8;:21;12505;:45;;;;12595:21;;12581:11;;:35;12566:12;:50;;;;12646:12;;12632:11;:26;;;;12426:260;12720:7;12700:17;;:27;:59;;;;;12752:7;12731:17;;:28;;12700:59;12697:260;;;12809:12;12800:8;:21;12776;:45;;;;12866:21;;12852:11;;:35;12837:12;:50;;;;12917:12;;12903:11;:26;;;;12697:260;12991:7;12971:17;;:27;:59;;;;;13023:7;13002:17;;:28;;12971:59;12968:261;;;13080:13;13071:8;:22;13047:21;:46;;;;13138:21;;13124:11;;:35;13109:12;:50;;;;13189:12;;13175:11;:26;;;;12968:261;13275:7;13255:17;;:27;:59;;;;;13307:7;13286:17;;:28;;13255:59;13252:261;;;13364:13;13355:8;:22;13331:21;:46;;;;13422:21;;13408:11;;:35;13393:12;:50;;;;13473:12;;13459:11;:26;;;;13252:261;13559:7;13539:17;;:27;:59;;;;;13591:7;13570:17;;:28;;13539:59;13536:261;;;13648:13;13639:8;:22;13615:21;:46;;;;13706:21;;13692:11;;:35;13677:12;:50;;;;13757:12;;13743:11;:26;;;;13536:261;13843:7;13823:17;;:27;:59;;;;;13875:7;13854:17;;:28;;13823:59;13820:262;;;13932:14;13923:8;:23;13899:21;:47;;;;13991:21;;13977:11;;:35;13962:12;:50;;;;14042:12;;14028:11;:26;;;;13820:262;14128:7;14108:17;;:27;:59;;;;;14160:7;14139:17;;:28;;14108:59;14105:262;;;14217:14;14208:8;:23;14184:21;:47;;;;14276:21;;14262:11;;:35;14247:12;:50;;;;14327:12;;14313:11;:26;;;;14105:262;14401:7;14381:17;;:27;:59;;;;;14433:7;14412:17;;:28;;14381:59;14378:263;;;14490:15;14481:8;:24;14457:21;:48;;;;14550:21;;14536:11;;:35;14521:12;:50;;;;14601:12;;14587:11;:26;;;;14378:263;14675:7;14655:17;;:27;:59;;;;;14707:7;14686:17;;:28;;14655:59;14652:248;;;14764:15;14755:8;:24;14731:21;:48;;;;14824:21;;14810:11;;:35;14795:12;:50;;;;14875:12;;14861:11;:26;;;;14652:248;9137:5771;:::o;24361:205::-;24432:7;24453:22;24521:3;24508:12;;:16;;;;;;24493:12;;:31;24478:11;:47;24453:72;;24543:14;24536:21;;;24361:205;;;:::o;27360:503::-;27455:1;27436:21;;:7;:21;;;;27428:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27537:4;27511:40;;27520:7;27511:40;;;27544:6;27511:40;;;;;;;;;;;;;;;;;;27587:34;27614:6;27587:13;:22;27601:7;27587:22;;;;;;;;;;;;;;;;:26;;:34;;;;:::i;:::-;27562:13;:22;27576:7;27562:22;;;;;;;;;;;;;;;:59;;;;27720:29;27742:6;27720:17;;:21;;:29;;;;:::i;:::-;27700:17;:49;;;;27787:36;27816:6;27787:15;:24;27803:7;27787:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;27760:15;:24;27776:7;27760:24;;;;;;;;;;;;;;;:63;;;;27834:21;27848:6;27834:13;:21::i;:::-;27360:503;;:::o;28700:136::-;28758:7;28785:43;28789:1;28792;28785:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;28778:50;;28700:136;;;;:::o;14930:5851::-;15015:1;14994:17;;:22;;:52;;;;;15040:6;15020:17;;:26;14994:52;14991:230;;;15096:6;15087:8;:15;15063:21;:39;;;;15146:21;;15133:10;;:34;15118:12;:49;;;;15196:12;;15183:10;:25;;;;14991:230;15256:6;15235:17;;:27;;:59;;;;;15287:7;15266:17;;:28;;15235:59;15232:240;;;15344:9;15335:8;:18;15311:21;:42;;;;15397:21;;15384:10;;:34;15369:12;:49;;;;15447:12;;15434:10;:25;;;;15232:240;15506:7;15486:17;;:27;:59;;;;;15538:7;15517:17;;:28;;15486:59;15483:240;;;15595:9;15586:8;:18;15562:21;:42;;;;15648:21;;15635:10;;:34;15620:12;:49;;;;15698:12;;15685:10;:25;;;;15483:240;15757:7;15737:17;;:27;:59;;;;;15789:7;15768:17;;:28;;15737:59;15734:240;;;15846:9;15837:8;:18;15813:21;:42;;;;15899:21;;15886:10;;:34;15871:12;:49;;;;15949:12;;15936:10;:25;;;;15734:240;15997:7;15977:17;;:27;:59;;;;;16029:7;16008:17;;:28;;15977:59;15974:241;;;16086:10;16077:8;:19;16053:21;:43;;;;16140:21;;16127:10;;:34;16112:12;:49;;;;16190:12;;16177:10;:25;;;;15974:241;16249:7;16229:17;;:27;:59;;;;;16281:7;16260:17;;:28;;16229:59;16226:241;;;16338:10;16329:8;:19;16305:21;:43;;;;16392:21;;16379:10;;:34;16364:12;:49;;;;16442:12;;16429:10;:25;;;;16226:241;16501:7;16481:17;;:27;:59;;;;;16533:7;16512:17;;:28;;16481:59;16478:241;;;16590:10;16581:8;:19;16557:21;:43;;;;16644:21;;16631:10;;:34;16616:12;:49;;;;16694:12;;16681:10;:25;;;;16478:241;16753:7;16733:17;;:27;:59;;;;;16785:7;16764:17;;:28;;16733:59;16730:241;;;16842:10;16833:8;:19;16809:21;:43;;;;16896:21;;16883:10;;:34;16868:12;:49;;;;16946:12;;16933:10;:25;;;;16730:241;17016:7;16996:17;;:27;:59;;;;;17048:7;17027:17;;:28;;16996:59;16993:257;;;17105:11;17096:8;:20;17072:21;:44;;;;17160:21;;17147:10;;:34;17132:12;:49;;;;17210:12;;17197:10;:25;;;;16993:257;17273:7;17253:17;;:27;:59;;;;;17305:7;17284:17;;:28;;17253:59;17250:259;;;17362:11;17353:8;:20;17329:21;:44;;;;17418:21;;17404:11;;:35;17389:12;:50;;;;17469:12;;17455:11;:26;;;;17250:259;17532:7;17512:17;;:27;:59;;;;;17564:7;17543:17;;:28;;17512:59;17509:259;;;17621:11;17612:8;:20;17588:21;:44;;;;17677:21;;17663:11;;:35;17648:12;:50;;;;17728:12;;17714:11;:26;;;;17509:259;17791:7;17771:17;;:27;:59;;;;;17823:7;17802:17;;:28;;17771:59;17768:260;;;17880:12;17871:8;:21;17847;:45;;;;17937:21;;17923:11;;:35;17908:12;:50;;;;17988:12;;17974:11;:26;;;;17768:260;18051:7;18031:17;;:27;:59;;;;;18083:7;18062:17;;:28;;18031:59;18028:260;;;18140:12;18131:8;:21;18107;:45;;;;18197:21;;18183:11;;:35;18168:12;:50;;;;18248:12;;18234:11;:26;;;;18028:260;18322:7;18302:17;;:27;:59;;;;;18354:7;18333:17;;:28;;18302:59;18299:260;;;18411:12;18402:8;:21;18378;:45;;;;18468:21;;18454:11;;:35;18439:12;:50;;;;18519:12;;18505:11;:26;;;;18299:260;18593:7;18573:17;;:27;:59;;;;;18625:7;18604:17;;:28;;18573:59;18570:260;;;18682:12;18673:8;:21;18649;:45;;;;18739:21;;18725:11;;:35;18710:12;:50;;;;18790:12;;18776:11;:26;;;;18570:260;18864:7;18844:17;;:27;:59;;;;;18896:7;18875:17;;:28;;18844:59;18841:261;;;18953:13;18944:8;:22;18920:21;:46;;;;19011:21;;18997:11;;:35;18982:12;:50;;;;19062:12;;19048:11;:26;;;;18841:261;19148:7;19128:17;;:27;:59;;;;;19180:7;19159:17;;:28;;19128:59;19125:261;;;19237:13;19228:8;:22;19204:21;:46;;;;19295:21;;19281:11;;:35;19266:12;:50;;;;19346:12;;19332:11;:26;;;;19125:261;19432:7;19412:17;;:27;:59;;;;;19464:7;19443:17;;:28;;19412:59;19409:261;;;19521:13;19512:8;:22;19488:21;:46;;;;19579:21;;19565:11;;:35;19550:12;:50;;;;19630:12;;19616:11;:26;;;;19409:261;19716:7;19696:17;;:27;:59;;;;;19748:7;19727:17;;:28;;19696:59;19693:262;;;19805:14;19796:8;:23;19772:21;:47;;;;19864:21;;19850:11;;:35;19835:12;:50;;;;19915:12;;19901:11;:26;;;;19693:262;20001:7;19981:17;;:27;:59;;;;;20033:7;20012:17;;:28;;19981:59;19978:262;;;20090:14;20081:8;:23;20057:21;:47;;;;20149:21;;20135:11;;:35;20120:12;:50;;;;20200:12;;20186:11;:26;;;;19978:262;20274:7;20254:17;;:27;:59;;;;;20306:7;20285:17;;:28;;20254:59;20251:263;;;20363:15;20354:8;:24;20330:21;:48;;;;20423:21;;20409:11;;:35;20394:12;:50;;;;20474:12;;20460:11;:26;;;;20251:263;20548:7;20528:17;;:27;:59;;;;;20580:7;20559:17;;:28;;20528:59;20525:248;;;20637:15;20628:8;:24;20604:21;:48;;;;20697:21;;20683:11;;:35;20668:12;:50;;;;20748:12;;20734:11;:26;;;;20525:248;14930:5851;:::o;29139:192::-;29225:7;29258:1;29253;:6;;29261:12;29245:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;29245:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29285:9;29301:1;29297;:5;29285:17;;29322:1;29315:8;;;29139:192;;;;;:::o

Swarm Source

ipfs://92237360f3de7686b676a858f3f02642d674fcc0ac39125ec6a34e1a6c4b696f

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.