ETH Price: $3,157.36 (-4.07%)

Contract

0x525CFF53983B090Ab8F5E4DA471d849eCD5e05ed
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Register117607332021-01-31 1:30:201383 days ago1612056620IN
0x525CFF53...eCD5e05ed
0.05 ETH0.03110122102.00000145
Register116641852021-01-16 4:42:151398 days ago1610772135IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0140869254
Register116627302021-01-15 23:29:271398 days ago1610753367IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0139152448
Register116625422021-01-15 22:52:421398 days ago1610751162IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0139152448
Register116621562021-01-15 21:25:581398 days ago1610745958IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0136253447
Buy Basket115191292020-12-24 22:52:221420 days ago1608850342IN
0x525CFF53...eCD5e05ed
0.1 ETH0.0041966735
Register115188292020-12-24 21:45:441420 days ago1608846344IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0098856234.1
Register115186192020-12-24 20:58:231420 days ago1608843503IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0089869331
Register115183302020-12-24 19:53:091420 days ago1608839589IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0085780233
Register115180112020-12-24 18:46:011420 days ago1608835561IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0095968845
Buy Basket115144172020-12-24 5:28:201421 days ago1608787700IN
0x525CFF53...eCD5e05ed
0.1 ETH0.0092941162
Register115117002020-12-23 19:22:411421 days ago1608751361IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0190375652.17
Register115072632020-12-23 3:10:451422 days ago1608693045IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0156546554
Register115060592020-12-22 22:44:211422 days ago1608677061IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0153647553
Buy Basket115013102020-12-22 5:22:431423 days ago1608614563IN
0x525CFF53...eCD5e05ed
0.1 ETH0.0047969632
Buy Basket115011832020-12-22 4:52:481423 days ago1608612768IN
0x525CFF53...eCD5e05ed
0.1 ETH0.0033882835
Register115010972020-12-22 4:32:581423 days ago1608611578IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0084764432.00000145
Register114882202020-12-20 5:09:291425 days ago1608440969IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0060927223
Register114789502020-12-18 19:08:011426 days ago1608318481IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0121758442
Register114664132020-12-16 20:44:301428 days ago1608151470IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0142316439.00000145
Register114663262020-12-16 20:26:271428 days ago1608150387IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0156907843
Register114662632020-12-16 20:10:561428 days ago1608149456IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0164453447
Register114658022020-12-16 18:27:581428 days ago1608143278IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0194940660
Register114627812020-12-16 7:35:291429 days ago1608104129IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0213439661
Register114615072020-12-16 2:45:261429 days ago1608086726IN
0x525CFF53...eCD5e05ed
0.05 ETH0.0195937856
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
117607332021-01-31 1:30:201383 days ago1612056620
0x525CFF53...eCD5e05ed
0.005 ETH
117607332021-01-31 1:30:201383 days ago1612056620
0x525CFF53...eCD5e05ed
0.0075 ETH
117607332021-01-31 1:30:201383 days ago1612056620
0x525CFF53...eCD5e05ed
0.0125 ETH
117607332021-01-31 1:30:201383 days ago1612056620
0x525CFF53...eCD5e05ed
0.025 ETH
116641852021-01-16 4:42:151398 days ago1610772135
0x525CFF53...eCD5e05ed
0.05 ETH
116627302021-01-15 23:29:271398 days ago1610753367
0x525CFF53...eCD5e05ed
0.005 ETH
116627302021-01-15 23:29:271398 days ago1610753367
0x525CFF53...eCD5e05ed
0.0075 ETH
116627302021-01-15 23:29:271398 days ago1610753367
0x525CFF53...eCD5e05ed
0.0125 ETH
116627302021-01-15 23:29:271398 days ago1610753367
0x525CFF53...eCD5e05ed
0.025 ETH
116625422021-01-15 22:52:421398 days ago1610751162
0x525CFF53...eCD5e05ed
0.005 ETH
116625422021-01-15 22:52:421398 days ago1610751162
0x525CFF53...eCD5e05ed
0.0075 ETH
116625422021-01-15 22:52:421398 days ago1610751162
0x525CFF53...eCD5e05ed
0.0125 ETH
116625422021-01-15 22:52:421398 days ago1610751162
0x525CFF53...eCD5e05ed
0.025 ETH
116621562021-01-15 21:25:581398 days ago1610745958
0x525CFF53...eCD5e05ed
0.005 ETH
116621562021-01-15 21:25:581398 days ago1610745958
0x525CFF53...eCD5e05ed
0.0075 ETH
116621562021-01-15 21:25:581398 days ago1610745958
0x525CFF53...eCD5e05ed
0.0125 ETH
116621562021-01-15 21:25:581398 days ago1610745958
0x525CFF53...eCD5e05ed
0.025 ETH
115191292020-12-24 22:52:221420 days ago1608850342
0x525CFF53...eCD5e05ed
0.05 ETH
115191292020-12-24 22:52:221420 days ago1608850342
0x525CFF53...eCD5e05ed
0.05 ETH
115188292020-12-24 21:45:441420 days ago1608846344
0x525CFF53...eCD5e05ed
0.005 ETH
115188292020-12-24 21:45:441420 days ago1608846344
0x525CFF53...eCD5e05ed
0.0075 ETH
115188292020-12-24 21:45:441420 days ago1608846344
0x525CFF53...eCD5e05ed
0.0125 ETH
115188292020-12-24 21:45:441420 days ago1608846344
0x525CFF53...eCD5e05ed
0.025 ETH
115186192020-12-24 20:58:231420 days ago1608843503
0x525CFF53...eCD5e05ed
0.005 ETH
115186192020-12-24 20:58:231420 days ago1608843503
0x525CFF53...eCD5e05ed
0.0075 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
QuantumCS

Compiler Version
v0.5.11+commit.22be8592

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-12-12
*/

pragma solidity >=0.5.11;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {return 0;}
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}

contract QuantumCS{
    using SafeMath for uint256;
    uint256 internal constant ENTRY_AMOUNT = 0.05 ether;
    uint256[] internal basketPrice;
    uint256 internal totalUsers;
    uint256 internal extraWallet;
    address owner;
    
    struct User {
        uint256 id;
        uint256[] referralArray;
        address upline;
        uint256 basketsPurchased;
        uint256 totalEarning;
        uint balanceEarnedBonus;
        bool isExist;
    }

    struct UserCycles{
        uint256 cycle1;
        uint256 cycle2;
        uint256 cycle3;
        uint256 cycle4;
        uint256 cycle5;
        uint256 cycle6;
        uint256 cycle7;
        uint256 cycle8;
        uint256 cycle9;
        uint256 cycle10;
        uint256 cycle11;
        uint256 cycle12;
        uint256 cycle13;
    }

    struct DataLevel {
        uint level;
        address[] partners;
        uint reinvesments;
    }
    
    mapping(address => mapping(uint => DataLevel)) public dataLevels;
    mapping(address => User) public users;
    mapping(uint256 => address) internal usersId;
    mapping(address => UserCycles) public cycles;
    
    event RegisterEvent(address _add);
    event DistributeAmountEvent(address _upline, uint256 _percent, uint256 _amount);
    event BuyBasketEvent(address _user,uint256 _basketNumber);
    event ExtraWalletTransferEvent(uint256 _percent,uint256 _amount);
 
    constructor(address _owner) public payable {
        owner = _owner;
        require(msg.value >= ENTRY_AMOUNT, "insufficient amount");
        extraWallet = extraWallet.add(0.05 ether);
        address(uint256(owner)).transfer(0.05 ether);
        totalUsers = 1;
        users[msg.sender].id = totalUsers;
        users[msg.sender].isExist = true;
        users[msg.sender].upline = address(0);
        users[msg.sender].basketsPurchased = 1;
        
        usersId[totalUsers] = msg.sender;
        
        basketPrice.push(0.05 ether);
        basketPrice.push(0.1 ether);
        basketPrice.push(0.2 ether);
        basketPrice.push(0.4 ether);
        basketPrice.push(0.8 ether);
        basketPrice.push(1.6 ether);
        basketPrice.push(3.2 ether);
        basketPrice.push(6.4 ether);
        basketPrice.push(12.8 ether);
        basketPrice.push(25.6 ether);
        basketPrice.push(51.2 ether);
        basketPrice.push(102.4 ether);
        basketPrice.push(204.8 ether);

        setInitialDataForLevels(msg.sender);
    }

    //function to register user
    function Register(address _upline) public payable {
        require(msg.value >= ENTRY_AMOUNT, "less amount");
        require(users[msg.sender].isExist == false, "user already exist");
        require(users[_upline].isExist == true, "upline not exist");

        totalUsers++;
        users[msg.sender].id = totalUsers;
        users[msg.sender].upline = _upline;
        users[msg.sender].isExist = true;
        users[msg.sender].basketsPurchased=1;
        usersId[totalUsers] = msg.sender;
        users[_upline].referralArray.push(totalUsers);
        setDataLevel(msg.sender, 1);
        cycles[_upline].cycle1++;

        if(cycles[_upline].cycle1%4==0)
        amountDistribute(1,true);
        else
        amountDistribute(1,false);
      
        emit RegisterEvent(msg.sender);
    }

    //function to distribute basket amount ie 50% 25% 15% 10% if its not 4th user of that cycle
    function amountDistribute(uint256 _level,bool _is4thUser) internal{
       bool flag;
        if(_is4thUser){
            address ref=users[users[msg.sender].upline].upline;
            while(ref!=address(0)){
                if(checkEligibility(ref,_level) ){
                 users[ref].totalEarning=users[ref].totalEarning.add(basketPrice[_level-1]);
                 address(uint256(ref)).transfer(basketPrice[_level-1]);
                 users[ref].balanceEarnedBonus = users[ref].balanceEarnedBonus.add(basketPrice[_level-1]);
                 flag = true;
                 break;
                }
                ref=users[ref].upline;
            }
            if(flag==false){
                address(uint256(owner)).transfer(basketPrice[_level-1]);
            }
        }
        else
        {
            uint256 total = 100;
            uint256 currAmount = 50;
            address ref = users[msg.sender].upline;
            while(currAmount!=0 && ref!=address(0)){
              if(users[ref].basketsPurchased>=_level && currAmount==50){
                  users[ref].totalEarning= users[ref].totalEarning.add(basketPrice[_level-1].mul(currAmount).div(100));
                   address(uint256(ref)).transfer(basketPrice[_level-1].mul(currAmount).div(100));
                   emit DistributeAmountEvent(ref,currAmount,basketPrice[_level-1].mul(currAmount).div(100));
                  currAmount = 25;
                  total = total.sub(50);
              }  
              else if(users[ref].basketsPurchased>=_level && currAmount==25){
                  users[ref].totalEarning= users[ref].totalEarning.add(basketPrice[_level-1].mul(currAmount).div(100));
                   address(uint256(ref)).transfer(basketPrice[_level-1].mul(currAmount).div(100));
                   emit DistributeAmountEvent(ref,currAmount,basketPrice[_level-1].mul(currAmount).div(100));
                  currAmount = 15;
                  total = total.sub(25);
            }
             else if(users[ref].basketsPurchased>=_level && currAmount==15){
                  users[ref].totalEarning= users[ref].totalEarning.add(basketPrice[_level-1].mul(currAmount).div(100));
                   address(uint256(ref)).transfer(basketPrice[_level-1].mul(currAmount).div(100));
                   emit DistributeAmountEvent(ref,currAmount,basketPrice[_level-1].mul(currAmount).div(100));
                  currAmount = 10;
                  total = total.sub(15);
            }
             else if(users[ref].basketsPurchased>=_level && currAmount==10){
                  users[ref].totalEarning= users[ref].totalEarning.add(basketPrice[_level-1].mul(currAmount).div(100));
                  address(uint256(ref)).transfer(basketPrice[_level-1].mul(currAmount).div(100));
                  emit DistributeAmountEvent(ref,currAmount,basketPrice[_level-1].mul(currAmount).div(100));
                  currAmount = 0;
                  total = total.sub(10);
            }
           
            ref = users[ref].upline;
            }
            
            extraWallet = extraWallet.add(basketPrice[_level-1].mul(total).div(100));
            address(uint256(owner)).transfer(basketPrice[_level-1].mul(total).div(100));
            emit ExtraWalletTransferEvent(total,basketPrice[_level-1].mul(total).div(100));
        }
    }
    
    // function to buy a basket
    function buyBasket(uint256 _basketNumber) public payable {
        require(
            _basketNumber > users[msg.sender].basketsPurchased && _basketNumber <= 13,
            "basket already purchased"
        );
        require(
            _basketNumber == users[msg.sender].basketsPurchased + 1,
            "you need to purchase previous basket first"
        );
        require(
            msg.value >= basketPrice[_basketNumber - 1],
            "you should have enough balance"
        );
        
        users[msg.sender].basketsPurchased = users[msg.sender].basketsPurchased.add(1);
        emit BuyBasketEvent(msg.sender,_basketNumber);
            
        if(_basketNumber == 2){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle2 ++;
            if(cycles[users[msg.sender].upline].cycle2%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 3){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle3 ++;
            if(cycles[users[msg.sender].upline].cycle3%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 4){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle4 ++;
            if(cycles[users[msg.sender].upline].cycle4%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 5){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle5 ++;
            if(cycles[users[msg.sender].upline].cycle5%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 6){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle6 ++;
            if(cycles[users[msg.sender].upline].cycle6%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 7){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle7 ++;
            if(cycles[users[msg.sender].upline].cycle7%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 8){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle8 ++;
            if(cycles[users[msg.sender].upline].cycle8%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 9){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle9 ++;
            if(cycles[users[msg.sender].upline].cycle9%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 10){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle10 ++;
            if(cycles[users[msg.sender].upline].cycle10%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 11){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle11 ++;
            if(cycles[users[msg.sender].upline].cycle11%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 12){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle12 ++;
            if(cycles[users[msg.sender].upline].cycle12%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
        else  if(_basketNumber == 13){
            setDataLevel(msg.sender, _basketNumber);
            cycles[users[msg.sender].upline].cycle13 ++;
            if(cycles[users[msg.sender].upline].cycle13%4==0){
                amountDistribute(_basketNumber,true);
            }
            else
            amountDistribute(_basketNumber,false);
        }
            
    }

    function checkEligibility(address _user,uint256 _basketNumber) internal view returns(bool){
        if(cycles[_user].cycle1%4 >= 1){
            if(users[_user].basketsPurchased>1 && users[_user].basketsPurchased>= _basketNumber){
                return true;
            }
            else
            return false;
        }
        else{
            if(users[_user].basketsPurchased>= _basketNumber){
                return true;
            }
            else
            return false;
        }
    }

    //   external getter functions
    function getUserInfo(address _addr) external view returns(
        uint256 id,
        address upline,
        uint256 basketsPurchased,
        uint256 totalEarning,
        bool isExist
    ) {
        User memory user=users[_addr];
        return (user.id,user.upline,user.basketsPurchased,user.totalEarning,user.isExist);
    }
    
    function getTotalUsers() public view returns(uint256){
        return totalUsers;
    }
    
    function getUserAddressUsingId(uint256 _id) public view returns(address){
        return usersId[_id];
    }

    function setInitialDataForLevels(address myAddress) private {
        uint quantityLevels = 13;

        for (uint i; i <= quantityLevels; i++) {
            dataLevels[myAddress][i].level = i;
            dataLevels[myAddress][i].reinvesments = 0;
        }
    }

    function getDataLevelCubo(address myAddress, uint levelCubo) public view returns(uint level, bool purchased, address[] memory partners, uint reinvesmentsLineOne) {
        bool isPurchased = false;
        User memory user = users[myAddress];
        if (levelCubo <= user.basketsPurchased) {
            isPurchased = true;
        } else {
            isPurchased = false;
        }
        
        DataLevel memory dataLevel = dataLevels[myAddress][levelCubo];
        
        return (
            dataLevel.level,
            isPurchased,
            dataLevel.partners,
            dataLevel.reinvesments
        );
    }
    
    function getDataLevelInOneLine(address myAddress, uint levelCubo) public view returns(uint quantityPartners, uint reinvesments) {
        DataLevel memory dataLevel = dataLevels[myAddress][levelCubo];
        
        return (
            dataLevel.partners.length,
            dataLevel.reinvesments
        );
    }
    
    function getDataLevelInTwoLine(address myAddress, uint levelCubo) public view returns(uint quantityPartners, uint reinvesments) {
        DataLevel memory dataLevel = dataLevels[myAddress][levelCubo];

        uint lengthPartners = dataLevel.partners.length;
        
        uint _quantityPartners = 0;
        uint _reinvesments = 0;

        if (lengthPartners > 0) {
            for (uint i = 0; i < lengthPartners; i++) {
                address addressPartner = dataLevel.partners[i];
                
                DataLevel memory lineTwoDataLevel = dataLevels[addressPartner][levelCubo];
                _quantityPartners += lineTwoDataLevel.partners.length;
                _reinvesments += lineTwoDataLevel.reinvesments;
            }
        }
        
        return (
            _quantityPartners,
            _reinvesments
        );
    }
    
    function getDataLevelInThreeLine(address myAddress, uint levelCubo) public view returns(uint quantityPartners, uint reinvesments) {
        DataLevel memory dataLevel = dataLevels[myAddress][levelCubo];

        uint lengthPartnersLineOne = dataLevel.partners.length;
        
        uint _quantityPartners = 0;
        uint _reinvesments = 0;

        if (lengthPartnersLineOne > 0) {
            for (uint i = 0; i < lengthPartnersLineOne; i++) {
                address addressPartnerLineOne = dataLevel.partners[i];
                DataLevel memory lineTwoDataLevel = dataLevels[addressPartnerLineOne][levelCubo];
                uint lengthPartnersLineTwo = lineTwoDataLevel.partners.length;
                
                if (lengthPartnersLineTwo > 0) {
                    for (uint j; j < lengthPartnersLineTwo; j++) {
                        address addressPartnerLineTwo = lineTwoDataLevel.partners[j];
                        DataLevel memory lineThreeDataLevel = dataLevels[addressPartnerLineTwo][levelCubo];
                        _quantityPartners += lineThreeDataLevel.partners.length;
                        _reinvesments += lineThreeDataLevel.reinvesments;
                    }
                }
            }
        }
        
        return (
            _quantityPartners,
            _reinvesments
        );
    }
    
    function getDataLevelInFourLine(address myAddress, uint levelCubo) public view returns(uint quantityPartners, uint reinvesments) {
        DataLevel memory dataLevel = dataLevels[myAddress][levelCubo];

        uint lengthPartnersLineOne = dataLevel.partners.length;
        
        uint _quantityPartners = 0;
        uint _reinvesments = 0;

        if (lengthPartnersLineOne > 0) {
            for (uint i = 0; i < lengthPartnersLineOne; i++) {
                address addressPartnerLineOne = dataLevel.partners[i];
                DataLevel memory lineTwoDataLevel = dataLevels[addressPartnerLineOne][levelCubo];
                uint lengthPartnersLineTwo = lineTwoDataLevel.partners.length;
                
                if (lengthPartnersLineTwo > 0) {
                    for (uint j; j < lengthPartnersLineTwo; j++) {
                        address addressPartnerLineTwo = lineTwoDataLevel.partners[j];
                        DataLevel memory lineThreeDataLevel = dataLevels[addressPartnerLineTwo][levelCubo];
                        uint lengthPartnersLineThree = lineThreeDataLevel.partners.length;
                        
                        if (lengthPartnersLineThree > 0) {
                            uint levelCuboForFour = levelCubo;
                            
                            for (uint k; k < lengthPartnersLineThree; k++) {
                                address addressPartnerLineThree = lineThreeDataLevel.partners[k];
                                DataLevel memory lineFourDataLevel = dataLevels[addressPartnerLineThree][levelCuboForFour];
                                _quantityPartners += lineFourDataLevel.partners.length;
                                _reinvesments += lineFourDataLevel.reinvesments;
                            }
                        }
                    }
                }
            }
        }
        
        return (
            _quantityPartners,
            _reinvesments
        );
    }

    function setDataLevel(address myAddress, uint levelCubo) private {
        address mySponsor = users[myAddress].upline;

        if (mySponsor != address(0)) {
            dataLevels[mySponsor][levelCubo].partners.push(myAddress);
            if (isDivisibleByFour((dataLevels[mySponsor][levelCubo].partners).length) == 0) {
                dataLevels[mySponsor][levelCubo].reinvesments ++;
            }
        } else {
            dataLevels[owner][levelCubo].partners.push(myAddress);
            if (isDivisibleByFour((dataLevels[owner][levelCubo].partners).length) == 0) {
                dataLevels[owner][levelCubo].reinvesments ++;
            }
        }
    }

    function isDivisibleByFour(uint quantityPartners) private pure returns(uint modResult) {
        uint modValue = 4;
        return quantityPartners % modValue;
    }

    function getDataPricesByBaskets() public view returns(uint[] memory) {
        return basketPrice;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"internalType":"address","name":"myAddress","type":"address"},{"internalType":"uint256","name":"levelCubo","type":"uint256"}],"name":"getDataLevelInThreeLine","outputs":[{"internalType":"uint256","name":"quantityPartners","type":"uint256"},{"internalType":"uint256","name":"reinvesments","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"myAddress","type":"address"},{"internalType":"uint256","name":"levelCubo","type":"uint256"}],"name":"getDataLevelInTwoLine","outputs":[{"internalType":"uint256","name":"quantityPartners","type":"uint256"},{"internalType":"uint256","name":"reinvesments","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"myAddress","type":"address"},{"internalType":"uint256","name":"levelCubo","type":"uint256"}],"name":"getDataLevelInOneLine","outputs":[{"internalType":"uint256","name":"quantityPartners","type":"uint256"},{"internalType":"uint256","name":"reinvesments","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"getUserInfo","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"upline","type":"address"},{"internalType":"uint256","name":"basketsPurchased","type":"uint256"},{"internalType":"uint256","name":"totalEarning","type":"uint256"},{"internalType":"bool","name":"isExist","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"myAddress","type":"address"},{"internalType":"uint256","name":"levelCubo","type":"uint256"}],"name":"getDataLevelCubo","outputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"bool","name":"purchased","type":"bool"},{"internalType":"address[]","name":"partners","type":"address[]"},{"internalType":"uint256","name":"reinvesmentsLineOne","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_basketNumber","type":"uint256"}],"name":"buyBasket","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getDataPricesByBaskets","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"upline","type":"address"},{"internalType":"uint256","name":"basketsPurchased","type":"uint256"},{"internalType":"uint256","name":"totalEarning","type":"uint256"},{"internalType":"uint256","name":"balanceEarnedBonus","type":"uint256"},{"internalType":"bool","name":"isExist","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"cycles","outputs":[{"internalType":"uint256","name":"cycle1","type":"uint256"},{"internalType":"uint256","name":"cycle2","type":"uint256"},{"internalType":"uint256","name":"cycle3","type":"uint256"},{"internalType":"uint256","name":"cycle4","type":"uint256"},{"internalType":"uint256","name":"cycle5","type":"uint256"},{"internalType":"uint256","name":"cycle6","type":"uint256"},{"internalType":"uint256","name":"cycle7","type":"uint256"},{"internalType":"uint256","name":"cycle8","type":"uint256"},{"internalType":"uint256","name":"cycle9","type":"uint256"},{"internalType":"uint256","name":"cycle10","type":"uint256"},{"internalType":"uint256","name":"cycle11","type":"uint256"},{"internalType":"uint256","name":"cycle12","type":"uint256"},{"internalType":"uint256","name":"cycle13","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"myAddress","type":"address"},{"internalType":"uint256","name":"levelCubo","type":"uint256"}],"name":"getDataLevelInFourLine","outputs":[{"internalType":"uint256","name":"quantityPartners","type":"uint256"},{"internalType":"uint256","name":"reinvesments","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getUserAddressUsingId","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"dataLevels","outputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"reinvesments","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_upline","type":"address"}],"name":"Register","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_add","type":"address"}],"name":"RegisterEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_upline","type":"address"},{"indexed":false,"internalType":"uint256","name":"_percent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"DistributeAmountEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"},{"indexed":false,"internalType":"uint256","name":"_basketNumber","type":"uint256"}],"name":"BuyBasketEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_percent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ExtraWalletTransferEvent","type":"event"}]

608060405260405162002a7c38038062002a7c833981810160405260208110156200002957600080fd5b5051600380546001600160a01b0319166001600160a01b03831617905566b1a2bc2ec50000341015620000bd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e73756666696369656e7420616d6f756e7400000000000000000000000000604482015290519081900360640190fd5b620000e066b1a2bc2ec50000600254620002c260201b62001a451790919060201c565b6002556003546040516001600160a01b039091169060009066b1a2bc2ec500009082818181858883f1935050505015801562000120573d6000803e3d6000fd5b5060018080553360008181526005602090815260408083208581556006808201805460ff1916881790556002820180546001600160a01b031990811690915560039092018790558654855290925282208054909116831790558054808401825581805266b1a2bc2ec500007f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563918201558154808501835567016345785d8a000090820155815480850183556702c68af0bb140000908201558154808501835567058d15e1762800009082015581548085018355670b1a2bc2ec50000090820155815480850183556716345785d8a000009082015581548085018355672c68af0bb140000090820155815480850183556758d15e1762800000908201558154808501835567b1a2bc2ec5000000908201558154808501835568016345785d8a00000090820155815480850183556802c68af0bb14000000908201558154808501835568058d15e17628000000908201558154938401909155680b1a2bc2ec50000000920191909155620002bb906001600160e01b036200033e16565b5062000383565b6000828201838110156200033757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600d60005b8181116200037e576001600160a01b038316600090815260046020908152604080832084845290915281208281556002015560010162000343565b505050565b6126e980620003936000396000f3fe6080604052600436106100dd5760003560e01c80639be572f61161007f578063cfdf913511610059578063cfdf913514610467578063e947d7d5146104a0578063ea1924d9146104e6578063eeda149c1461051f576100dd565b80639be572f614610338578063a87430ba1461035f578063bd7ae589146103cf576100dd565b80636386c1c7116100bb5780636386c1c7146101a65780637f15969f1461020e578063957089c3146102b457806396bc456a146102d3576100dd565b8063169e5bf3146100e257806318c3176a146101345780634bf45d6e1461016d575b600080fd5b3480156100ee57600080fd5b5061011b6004803603604081101561010557600080fd5b506001600160a01b038135169060200135610545565b6040805192835260208301919091528051918290030190f35b34801561014057600080fd5b5061011b6004803603604081101561015757600080fd5b506001600160a01b0381351690602001356107f6565b34801561017957600080fd5b5061011b6004803603604081101561019057600080fd5b506001600160a01b038135169060200135610996565b3480156101b257600080fd5b506101d9600480360360208110156101c957600080fd5b50356001600160a01b0316610a55565b604080519586526001600160a01b03909416602086015284840192909252606084015215156080830152519081900360a00190f35b34801561021a57600080fd5b506102476004803603604081101561023157600080fd5b506001600160a01b038135169060200135610b5b565b604051808581526020018415151515815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561029d578181015183820152602001610285565b505050509050019550505050505060405180910390f35b6102d1600480360360208110156102ca57600080fd5b5035610d0c565b005b3480156102df57600080fd5b506102e8611357565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032457818101518382015260200161030c565b505050509050019250505060405180910390f35b34801561034457600080fd5b5061034d6113af565b60408051918252519081900360200190f35b34801561036b57600080fd5b506103926004803603602081101561038257600080fd5b50356001600160a01b03166113b5565b604080519687526001600160a01b0390951660208701528585019390935260608501919091526080840152151560a0830152519081900360c00190f35b3480156103db57600080fd5b50610402600480360360208110156103f257600080fd5b50356001600160a01b03166113f7565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e088015261010087015261012086015261014085015261016084015261018083015251908190036101a00190f35b34801561047357600080fd5b5061011b6004803603604081101561048a57600080fd5b506001600160a01b03813516906020013561145d565b3480156104ac57600080fd5b506104ca600480360360208110156104c357600080fd5b50356117e7565b604080516001600160a01b039092168252519081900360200190f35b3480156104f257600080fd5b5061011b6004803603604081101561050957600080fd5b506001600160a01b038135169060200135611802565b6102d16004803603602081101561053557600080fd5b50356001600160a01b0316611826565b6000806105506125e0565b6001600160a01b0385166000908152600460209081526040808320878452825291829020825160608101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156105d857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116105ba575b5050509183525050600291909101546020918201528101515190915060008082156107e95760005b838110156107e75760008560200151828151811061061a57fe5b6020026020010151905061062c6125e0565b6001600160a01b03821660009081526004602090815260408083208d8452825291829020825160608101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156106b457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610696575b5050509183525050600291909101546020918201528101515190915080156107dc5760005b818110156107da576000836020015182815181106106f357fe5b602002602001015190506107056125e0565b60046000836001600160a01b03166001600160a01b0316815260200190815260200160002060008f815260200190815260200160002060405180606001604052908160008201548152602001600182018054806020026020016040519081016040528092919081815260200182805480156107a957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161078b575b50505091835250506002919091015460209182015281015151604090910151990198979097019650506001016106d9565b505b505050600101610600565b505b9097909650945050505050565b6000806108016125e0565b6001600160a01b03851660009081526004602090815260408083208784528252918290208251606081018452815481526001820180548551818602810186019096528086529194929385810193929083018282801561088957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161086b575b5050509183525050600291909101546020918201528101515190915060008082156107e95760005b838110156107e7576000856020015182815181106108cb57fe5b602002602001015190506108dd6125e0565b6001600160a01b03821660009081526004602090815260408083208d84528252918290208251606081018452815481526001820180548551818602810186019096528086529194929385810193929083018282801561096557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610947575b50505091835250506002919091015460209182015281015151604090910151950194939093019250506001016108b1565b6000806109a16125e0565b6001600160a01b038516600090815260046020908152604080832087845282529182902082516060810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610a2957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a0b575b505050505081526020016002820154815250509050806020015151816040015192509250509250929050565b6000806000806000610a65612601565b6001600160a01b038716600090815260056020908152604091829020825160e0810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610adb57602002820191906000526020600020905b815481526020019060010190808311610ac7575b505050918352505060028201546001600160a01b0316602082015260038201546040808301919091526004830154606080840191909152600584015460808085019190915260069094015460ff16151560a090930192909252835190840151918401519284015160c090940151909b919a50919850919650945092505050565b60008060608180610b6a612601565b6001600160a01b038816600090815260056020908152604091829020825160e0810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610be057602002820191906000526020600020905b815481526020019060010190808311610bcc575b505050918352505060028201546001600160a01b031660208201526003820154604082015260048201546060808301919091526005830154608083015260069092015460ff16151560a0909101528101519091508711610c435760019150610c48565b600091505b610c506125e0565b6001600160a01b03891660009081526004602090815260408083208b845282529182902082516060810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610cd857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610cba575b505050918352505060029190910154602091820152815190820151604090920151909b949a50909850965091945050505050565b3360009081526005602052604090206003015481118015610d2e5750600d8111155b610d7f576040805162461bcd60e51b815260206004820152601860248201527f6261736b657420616c7265616479207075726368617365640000000000000000604482015290519081900360640190fd5b336000908152600560205260409020600301546001018114610dd25760405162461bcd60e51b815260040180806020018281038252602a81526020018061264a602a913960400191505060405180910390fd5b60006001820381548110610de257fe5b9060005260206000200154341015610e41576040805162461bcd60e51b815260206004820152601e60248201527f796f752073686f756c64206861766520656e6f7567682062616c616e63650000604482015290519081900360640190fd5b33600090815260056020526040902060030154610e6590600163ffffffff611a4516565b3360008181526005602090815260409182902060030193909355805191825291810183905281517fac160f3ed381fe7e47493a23affca0612458e64987fa300c4b00bc661b80d364929181900390910190a18060021415610f3657610eca3382611aa8565b33600090815260056020908152604080832060020180546001600160a01b039081168552600790935281842060019081018054820190559054909216835290912001546004905b06610f2657610f21816001611c00565b610f31565b610f31816000611c00565b611354565b8060031415610f9357610f493382611aa8565b336000908152600560209081526040808320600290810180546001600160a01b03908116865260079094528285208201805460010190555490921683529091200154600490610f11565b8060041415610ff257610fa63382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600390810180546001019055905490921683529091200154600490610f11565b806005141561104f576110053382611aa8565b33600090815260056020908152604080832060020180546001600160a01b039081168552600790935281842060049081018054600101905590549092168352909120810154610f11565b80600614156110aa576110623382611aa8565b33600090815260056020818152604080842060020180546001600160a01b03908116865260079093528185208401805460010190555490911683529091200154600490610f11565b8060071415611109576110bd3382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600690810180546001019055905490921683529091200154600490610f11565b80600814156111645761111c3382611aa8565b33600090815260056020908152604080832060020180546001600160a01b03908116855260079384905282852084018054600101905590541683529091200154600490610f11565b80600914156111c3576111773382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600890810180546001019055905490921683529091200154600490610f11565b80600a1415611222576111d63382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600990810180546001019055905490921683529091200154600490610f11565b80600b1415611281576112353382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600a90810180546001019055905490921683529091200154600490610f11565b80600c14156112e0576112943382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600b90810180546001019055905490921683529091200154600490610f11565b80600d1415611354576112f33382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600c9081018054600101905590549092168352909120015460031661134957610f31816001611c00565b611354816000611c00565b50565b606060008054806020026020016040519081016040528092919081815260200182805480156113a557602002820191906000526020600020905b815481526020019060010190808311611391575b5050505050905090565b60015490565b600560208190526000918252604090912080546002820154600383015460048401549484015460069094015492946001600160a01b0390921693909260ff1686565b600760205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a01549080600b01549080600c015490508d565b6000806114686125e0565b6001600160a01b0385166000908152600460209081526040808320878452825291829020825160608101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156114f057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116114d2575b5050509183525050600291909101546020918201528101515190915060008082156107e95760005b838110156107e75760008560200151828151811061153257fe5b602002602001015190506115446125e0565b6001600160a01b03821660009081526004602090815260408083208d8452825291829020825160608101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156115cc57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116115ae575b5050509183525050600291909101546020918201528101515190915080156117dc5760005b818110156117da5760008360200151828151811061160b57fe5b6020026020010151905061161d6125e0565b60046000836001600160a01b03166001600160a01b0316815260200190815260200160002060008f815260200190815260200160002060405180606001604052908160008201548152602001600182018054806020026020016040519081016040528092919081815260200182805480156116c157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116116a3575b5050509183525050600291909101546020918201528101515190915080156117cf578e60005b828110156117cc5760008460200151828151811061170157fe5b602002602001015190506117136125e0565b6001600160a01b03821660009081526004602090815260408083208784528252918290208251606081018452815481526001820180548551818602810186019096528086529194929385810193929083018282801561179b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161177d575b505050918352505060029190910154602091820152810151516040909101519e019d9c909c019b50506001016116e7565b50505b5050506001016115f1565b505b505050600101611518565b6000908152600660205260409020546001600160a01b031690565b60046020908152600092835260408084209091529082529020805460029091015482565b66b1a2bc2ec50000341015611870576040805162461bcd60e51b815260206004820152600b60248201526a1b195cdcc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b3360009081526005602052604090206006015460ff16156118cd576040805162461bcd60e51b81526020600482015260126024820152711d5cd95c88185b1c9958591e48195e1a5cdd60721b604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090206006015460ff161515600114611935576040805162461bcd60e51b815260206004820152601060248201526f1d5c1b1a5b99481b9bdd08195e1a5cdd60821b604482015290519081900360640190fd5b6001805481018082553360008181526005602081815260408084209586556002860180546001600160a01b038a166001600160a01b031991821681179092556006808901805460ff19168b1790556003909801899055885486529683528185208054909716861790965594835290815292812084549085018054808701825590835293909120909201919091556119cb91611aa8565b6001600160a01b0381166000908152600760205260409020805460010190819055600316611a03576119fe600180611c00565b611a0f565b611a0f60016000611c00565b6040805133815290517fbf3dfc429384aca2fa1f7d058de80876afe806fafe623bfbf2d529d15a0104499181900360200190a150565b600082820183811015611a9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6001600160a01b03808316600090815260056020526040902060020154168015611b5c576001600160a01b038181166000908152600460209081526040808320868452825282206001908101805491820181558084529183200180546001600160a01b0319169387169390931790925583905254611b2590612410565b611b57576001600160a01b03811660009081526004602090815260408083208584529091529020600201805460010190555b611bfb565b600380546001600160a01b03908116600090815260046020818152604080842088855282528084206001908101805480830182559086528386200180546001600160a01b0319168b8816179055955490941683529081528282208683529052200154611bc790612410565b611bfb576003546001600160a01b031660009081526004602090815260408083208584529091529020600201805460010190555b505050565b60008115611dfe57336000908152600560205260408082206002908101546001600160a01b0390811684529190922090910154165b6001600160a01b03811615611d9557611c4e8185612416565b15611d7257611c9a60006001860381548110611c6657fe5b60009182526020808320909101546001600160a01b038516835260059091526040909120600401549063ffffffff611a4516565b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc916000198801908110611ccf57fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015611d05573d6000803e3d6000fd5b50611d4c60006001860381548110611d1957fe5b60009182526020808320909101546001600160a01b0385168352600591829052604090922001549063ffffffff611a4516565b6001600160a01b0382166000908152600560208190526040909120015560019150611d95565b6001600160a01b0390811660009081526005602052604090206002015416611c35565b81611df857600354600080546001600160a01b03909216916108fc91906000198801908110611dc057fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015611df6573d6000803e3d6000fd5b505b50611bfb565b336000908152600560205260409020600201546064906032906001600160a01b03165b8115801590611e3857506001600160a01b03811615155b1561232b576001600160a01b0381166000908152600560205260409020600301548611801590611e685750816032145b15611fae57611ed6611eae6064611ea285600060018c0381548110611e8957fe5b90600052602060002001546124c090919063ffffffff16565b9063ffffffff61251916565b6001600160a01b0383166000908152600560205260409020600401549063ffffffff611a4516565b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc91611f1891606491611ea29188916000198e01908110611e8957fe5b6040518115909202916000818181858888f19350505050158015611f40573d6000803e3d6000fd5b506000805160206126748339815191528183611f6b6064611ea287600060018e0381548110611e8957fe5b604080516001600160a01b039094168452602084019290925282820152519081900360600190a160199150611fa783603263ffffffff61258316565b9250612308565b6001600160a01b0381166000908152600560205260409020600301548611801590611fd95750816019145b156120cb57611ffa611eae6064611ea285600060018c0381548110611e8957fe5b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc9161203c91606491611ea29188916000198e01908110611e8957fe5b6040518115909202916000818181858888f19350505050158015612064573d6000803e3d6000fd5b50600080516020612674833981519152818361208f6064611ea287600060018e0381548110611e8957fe5b604080516001600160a01b039094168452602084019290925282820152519081900360600190a1600f9150611fa783601963ffffffff61258316565b6001600160a01b03811660009081526005602052604090206003015486118015906120f6575081600f145b156121e857612117611eae6064611ea285600060018c0381548110611e8957fe5b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc9161215991606491611ea29188916000198e01908110611e8957fe5b6040518115909202916000818181858888f19350505050158015612181573d6000803e3d6000fd5b5060008051602061267483398151915281836121ac6064611ea287600060018e0381548110611e8957fe5b604080516001600160a01b039094168452602084019290925282820152519081900360600190a1600a9150611fa783600f63ffffffff61258316565b6001600160a01b0381166000908152600560205260409020600301548611801590612213575081600a145b1561230857612234611eae6064611ea285600060018c0381548110611e8957fe5b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc9161227691606491611ea29188916000198e01908110611e8957fe5b6040518115909202916000818181858888f1935050505015801561229e573d6000803e3d6000fd5b5060008051602061267483398151915281836122c96064611ea287600060018e0381548110611e8957fe5b604080516001600160a01b039094168452602084019290925282820152519081900360600190a16000915061230583600a63ffffffff61258316565b92505b6001600160a01b0390811660009081526005602052604090206002015416611e21565b6123566123476064611ea286600060018c0381548110611e8957fe5b6002549063ffffffff611a4516565b600255600354600080546001600160a01b03909216916108fc9161238c91606491611ea2918991906000198e01908110611e8957fe5b6040518115909202916000818181858888f193505050501580156123b4573d6000803e3d6000fd5b507fa6c98484f737ec1db691dd579e409b76b1d02295f3b1580fcfe80c84ef0e8ad7836123f06064611ea287600060018d0381548110611e8957fe5b6040805192835260208301919091528051918290030190a1505050505050565b60031690565b6001600160a01b0382166000908152600760205260408120546001906004900610612496576001600160a01b038316600090815260056020526040902060030154600110801561248157506001600160a01b0383166000908152600560205260409020600301548211155b1561248e57506001611aa2565b506000611aa2565b6001600160a01b038316600090815260056020526040902060030154821161248e57506001611aa2565b6000826124cf57506000611aa2565b828202828482816124dc57fe5b0414611a9f5760405162461bcd60e51b81526004018080602001828103825260218152602001806126946021913960400191505060405180910390fd5b600080821161256f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161257a57fe5b04949350505050565b6000828211156125da576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60405180606001604052806000815260200160608152602001600081525090565b6040518060e00160405280600081526020016060815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600015158152509056fe796f75206e65656420746f2070757263686173652070726576696f7573206261736b6574206669727374bb54af15082ba0190dd175ce18612ed108842b163e7b81d1d71ff44000c50b33536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820cf39e249deeac96824a7bf28393fa17d6b85cde0de5117ab9673b3dbe48ae01e64736f6c634300050b00320000000000000000000000001c1399229ca9cb653f23fde549bc3ab79d8a9e7a

Deployed Bytecode

0x6080604052600436106100dd5760003560e01c80639be572f61161007f578063cfdf913511610059578063cfdf913514610467578063e947d7d5146104a0578063ea1924d9146104e6578063eeda149c1461051f576100dd565b80639be572f614610338578063a87430ba1461035f578063bd7ae589146103cf576100dd565b80636386c1c7116100bb5780636386c1c7146101a65780637f15969f1461020e578063957089c3146102b457806396bc456a146102d3576100dd565b8063169e5bf3146100e257806318c3176a146101345780634bf45d6e1461016d575b600080fd5b3480156100ee57600080fd5b5061011b6004803603604081101561010557600080fd5b506001600160a01b038135169060200135610545565b6040805192835260208301919091528051918290030190f35b34801561014057600080fd5b5061011b6004803603604081101561015757600080fd5b506001600160a01b0381351690602001356107f6565b34801561017957600080fd5b5061011b6004803603604081101561019057600080fd5b506001600160a01b038135169060200135610996565b3480156101b257600080fd5b506101d9600480360360208110156101c957600080fd5b50356001600160a01b0316610a55565b604080519586526001600160a01b03909416602086015284840192909252606084015215156080830152519081900360a00190f35b34801561021a57600080fd5b506102476004803603604081101561023157600080fd5b506001600160a01b038135169060200135610b5b565b604051808581526020018415151515815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561029d578181015183820152602001610285565b505050509050019550505050505060405180910390f35b6102d1600480360360208110156102ca57600080fd5b5035610d0c565b005b3480156102df57600080fd5b506102e8611357565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032457818101518382015260200161030c565b505050509050019250505060405180910390f35b34801561034457600080fd5b5061034d6113af565b60408051918252519081900360200190f35b34801561036b57600080fd5b506103926004803603602081101561038257600080fd5b50356001600160a01b03166113b5565b604080519687526001600160a01b0390951660208701528585019390935260608501919091526080840152151560a0830152519081900360c00190f35b3480156103db57600080fd5b50610402600480360360208110156103f257600080fd5b50356001600160a01b03166113f7565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e088015261010087015261012086015261014085015261016084015261018083015251908190036101a00190f35b34801561047357600080fd5b5061011b6004803603604081101561048a57600080fd5b506001600160a01b03813516906020013561145d565b3480156104ac57600080fd5b506104ca600480360360208110156104c357600080fd5b50356117e7565b604080516001600160a01b039092168252519081900360200190f35b3480156104f257600080fd5b5061011b6004803603604081101561050957600080fd5b506001600160a01b038135169060200135611802565b6102d16004803603602081101561053557600080fd5b50356001600160a01b0316611826565b6000806105506125e0565b6001600160a01b0385166000908152600460209081526040808320878452825291829020825160608101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156105d857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116105ba575b5050509183525050600291909101546020918201528101515190915060008082156107e95760005b838110156107e75760008560200151828151811061061a57fe5b6020026020010151905061062c6125e0565b6001600160a01b03821660009081526004602090815260408083208d8452825291829020825160608101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156106b457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610696575b5050509183525050600291909101546020918201528101515190915080156107dc5760005b818110156107da576000836020015182815181106106f357fe5b602002602001015190506107056125e0565b60046000836001600160a01b03166001600160a01b0316815260200190815260200160002060008f815260200190815260200160002060405180606001604052908160008201548152602001600182018054806020026020016040519081016040528092919081815260200182805480156107a957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161078b575b50505091835250506002919091015460209182015281015151604090910151990198979097019650506001016106d9565b505b505050600101610600565b505b9097909650945050505050565b6000806108016125e0565b6001600160a01b03851660009081526004602090815260408083208784528252918290208251606081018452815481526001820180548551818602810186019096528086529194929385810193929083018282801561088957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161086b575b5050509183525050600291909101546020918201528101515190915060008082156107e95760005b838110156107e7576000856020015182815181106108cb57fe5b602002602001015190506108dd6125e0565b6001600160a01b03821660009081526004602090815260408083208d84528252918290208251606081018452815481526001820180548551818602810186019096528086529194929385810193929083018282801561096557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610947575b50505091835250506002919091015460209182015281015151604090910151950194939093019250506001016108b1565b6000806109a16125e0565b6001600160a01b038516600090815260046020908152604080832087845282529182902082516060810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610a2957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a0b575b505050505081526020016002820154815250509050806020015151816040015192509250509250929050565b6000806000806000610a65612601565b6001600160a01b038716600090815260056020908152604091829020825160e0810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610adb57602002820191906000526020600020905b815481526020019060010190808311610ac7575b505050918352505060028201546001600160a01b0316602082015260038201546040808301919091526004830154606080840191909152600584015460808085019190915260069094015460ff16151560a090930192909252835190840151918401519284015160c090940151909b919a50919850919650945092505050565b60008060608180610b6a612601565b6001600160a01b038816600090815260056020908152604091829020825160e0810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610be057602002820191906000526020600020905b815481526020019060010190808311610bcc575b505050918352505060028201546001600160a01b031660208201526003820154604082015260048201546060808301919091526005830154608083015260069092015460ff16151560a0909101528101519091508711610c435760019150610c48565b600091505b610c506125e0565b6001600160a01b03891660009081526004602090815260408083208b845282529182902082516060810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610cd857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610cba575b505050918352505060029190910154602091820152815190820151604090920151909b949a50909850965091945050505050565b3360009081526005602052604090206003015481118015610d2e5750600d8111155b610d7f576040805162461bcd60e51b815260206004820152601860248201527f6261736b657420616c7265616479207075726368617365640000000000000000604482015290519081900360640190fd5b336000908152600560205260409020600301546001018114610dd25760405162461bcd60e51b815260040180806020018281038252602a81526020018061264a602a913960400191505060405180910390fd5b60006001820381548110610de257fe5b9060005260206000200154341015610e41576040805162461bcd60e51b815260206004820152601e60248201527f796f752073686f756c64206861766520656e6f7567682062616c616e63650000604482015290519081900360640190fd5b33600090815260056020526040902060030154610e6590600163ffffffff611a4516565b3360008181526005602090815260409182902060030193909355805191825291810183905281517fac160f3ed381fe7e47493a23affca0612458e64987fa300c4b00bc661b80d364929181900390910190a18060021415610f3657610eca3382611aa8565b33600090815260056020908152604080832060020180546001600160a01b039081168552600790935281842060019081018054820190559054909216835290912001546004905b06610f2657610f21816001611c00565b610f31565b610f31816000611c00565b611354565b8060031415610f9357610f493382611aa8565b336000908152600560209081526040808320600290810180546001600160a01b03908116865260079094528285208201805460010190555490921683529091200154600490610f11565b8060041415610ff257610fa63382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600390810180546001019055905490921683529091200154600490610f11565b806005141561104f576110053382611aa8565b33600090815260056020908152604080832060020180546001600160a01b039081168552600790935281842060049081018054600101905590549092168352909120810154610f11565b80600614156110aa576110623382611aa8565b33600090815260056020818152604080842060020180546001600160a01b03908116865260079093528185208401805460010190555490911683529091200154600490610f11565b8060071415611109576110bd3382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600690810180546001019055905490921683529091200154600490610f11565b80600814156111645761111c3382611aa8565b33600090815260056020908152604080832060020180546001600160a01b03908116855260079384905282852084018054600101905590541683529091200154600490610f11565b80600914156111c3576111773382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600890810180546001019055905490921683529091200154600490610f11565b80600a1415611222576111d63382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600990810180546001019055905490921683529091200154600490610f11565b80600b1415611281576112353382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600a90810180546001019055905490921683529091200154600490610f11565b80600c14156112e0576112943382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600b90810180546001019055905490921683529091200154600490610f11565b80600d1415611354576112f33382611aa8565b33600090815260056020908152604080832060020180546001600160a01b0390811685526007909352818420600c9081018054600101905590549092168352909120015460031661134957610f31816001611c00565b611354816000611c00565b50565b606060008054806020026020016040519081016040528092919081815260200182805480156113a557602002820191906000526020600020905b815481526020019060010190808311611391575b5050505050905090565b60015490565b600560208190526000918252604090912080546002820154600383015460048401549484015460069094015492946001600160a01b0390921693909260ff1686565b600760205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a01549080600b01549080600c015490508d565b6000806114686125e0565b6001600160a01b0385166000908152600460209081526040808320878452825291829020825160608101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156114f057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116114d2575b5050509183525050600291909101546020918201528101515190915060008082156107e95760005b838110156107e75760008560200151828151811061153257fe5b602002602001015190506115446125e0565b6001600160a01b03821660009081526004602090815260408083208d8452825291829020825160608101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156115cc57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116115ae575b5050509183525050600291909101546020918201528101515190915080156117dc5760005b818110156117da5760008360200151828151811061160b57fe5b6020026020010151905061161d6125e0565b60046000836001600160a01b03166001600160a01b0316815260200190815260200160002060008f815260200190815260200160002060405180606001604052908160008201548152602001600182018054806020026020016040519081016040528092919081815260200182805480156116c157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116116a3575b5050509183525050600291909101546020918201528101515190915080156117cf578e60005b828110156117cc5760008460200151828151811061170157fe5b602002602001015190506117136125e0565b6001600160a01b03821660009081526004602090815260408083208784528252918290208251606081018452815481526001820180548551818602810186019096528086529194929385810193929083018282801561179b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161177d575b505050918352505060029190910154602091820152810151516040909101519e019d9c909c019b50506001016116e7565b50505b5050506001016115f1565b505b505050600101611518565b6000908152600660205260409020546001600160a01b031690565b60046020908152600092835260408084209091529082529020805460029091015482565b66b1a2bc2ec50000341015611870576040805162461bcd60e51b815260206004820152600b60248201526a1b195cdcc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b3360009081526005602052604090206006015460ff16156118cd576040805162461bcd60e51b81526020600482015260126024820152711d5cd95c88185b1c9958591e48195e1a5cdd60721b604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090206006015460ff161515600114611935576040805162461bcd60e51b815260206004820152601060248201526f1d5c1b1a5b99481b9bdd08195e1a5cdd60821b604482015290519081900360640190fd5b6001805481018082553360008181526005602081815260408084209586556002860180546001600160a01b038a166001600160a01b031991821681179092556006808901805460ff19168b1790556003909801899055885486529683528185208054909716861790965594835290815292812084549085018054808701825590835293909120909201919091556119cb91611aa8565b6001600160a01b0381166000908152600760205260409020805460010190819055600316611a03576119fe600180611c00565b611a0f565b611a0f60016000611c00565b6040805133815290517fbf3dfc429384aca2fa1f7d058de80876afe806fafe623bfbf2d529d15a0104499181900360200190a150565b600082820183811015611a9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6001600160a01b03808316600090815260056020526040902060020154168015611b5c576001600160a01b038181166000908152600460209081526040808320868452825282206001908101805491820181558084529183200180546001600160a01b0319169387169390931790925583905254611b2590612410565b611b57576001600160a01b03811660009081526004602090815260408083208584529091529020600201805460010190555b611bfb565b600380546001600160a01b03908116600090815260046020818152604080842088855282528084206001908101805480830182559086528386200180546001600160a01b0319168b8816179055955490941683529081528282208683529052200154611bc790612410565b611bfb576003546001600160a01b031660009081526004602090815260408083208584529091529020600201805460010190555b505050565b60008115611dfe57336000908152600560205260408082206002908101546001600160a01b0390811684529190922090910154165b6001600160a01b03811615611d9557611c4e8185612416565b15611d7257611c9a60006001860381548110611c6657fe5b60009182526020808320909101546001600160a01b038516835260059091526040909120600401549063ffffffff611a4516565b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc916000198801908110611ccf57fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015611d05573d6000803e3d6000fd5b50611d4c60006001860381548110611d1957fe5b60009182526020808320909101546001600160a01b0385168352600591829052604090922001549063ffffffff611a4516565b6001600160a01b0382166000908152600560208190526040909120015560019150611d95565b6001600160a01b0390811660009081526005602052604090206002015416611c35565b81611df857600354600080546001600160a01b03909216916108fc91906000198801908110611dc057fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015611df6573d6000803e3d6000fd5b505b50611bfb565b336000908152600560205260409020600201546064906032906001600160a01b03165b8115801590611e3857506001600160a01b03811615155b1561232b576001600160a01b0381166000908152600560205260409020600301548611801590611e685750816032145b15611fae57611ed6611eae6064611ea285600060018c0381548110611e8957fe5b90600052602060002001546124c090919063ffffffff16565b9063ffffffff61251916565b6001600160a01b0383166000908152600560205260409020600401549063ffffffff611a4516565b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc91611f1891606491611ea29188916000198e01908110611e8957fe5b6040518115909202916000818181858888f19350505050158015611f40573d6000803e3d6000fd5b506000805160206126748339815191528183611f6b6064611ea287600060018e0381548110611e8957fe5b604080516001600160a01b039094168452602084019290925282820152519081900360600190a160199150611fa783603263ffffffff61258316565b9250612308565b6001600160a01b0381166000908152600560205260409020600301548611801590611fd95750816019145b156120cb57611ffa611eae6064611ea285600060018c0381548110611e8957fe5b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc9161203c91606491611ea29188916000198e01908110611e8957fe5b6040518115909202916000818181858888f19350505050158015612064573d6000803e3d6000fd5b50600080516020612674833981519152818361208f6064611ea287600060018e0381548110611e8957fe5b604080516001600160a01b039094168452602084019290925282820152519081900360600190a1600f9150611fa783601963ffffffff61258316565b6001600160a01b03811660009081526005602052604090206003015486118015906120f6575081600f145b156121e857612117611eae6064611ea285600060018c0381548110611e8957fe5b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc9161215991606491611ea29188916000198e01908110611e8957fe5b6040518115909202916000818181858888f19350505050158015612181573d6000803e3d6000fd5b5060008051602061267483398151915281836121ac6064611ea287600060018e0381548110611e8957fe5b604080516001600160a01b039094168452602084019290925282820152519081900360600190a1600a9150611fa783600f63ffffffff61258316565b6001600160a01b0381166000908152600560205260409020600301548611801590612213575081600a145b1561230857612234611eae6064611ea285600060018c0381548110611e8957fe5b6001600160a01b038216600081815260056020526040812060040192909255815490916108fc9161227691606491611ea29188916000198e01908110611e8957fe5b6040518115909202916000818181858888f1935050505015801561229e573d6000803e3d6000fd5b5060008051602061267483398151915281836122c96064611ea287600060018e0381548110611e8957fe5b604080516001600160a01b039094168452602084019290925282820152519081900360600190a16000915061230583600a63ffffffff61258316565b92505b6001600160a01b0390811660009081526005602052604090206002015416611e21565b6123566123476064611ea286600060018c0381548110611e8957fe5b6002549063ffffffff611a4516565b600255600354600080546001600160a01b03909216916108fc9161238c91606491611ea2918991906000198e01908110611e8957fe5b6040518115909202916000818181858888f193505050501580156123b4573d6000803e3d6000fd5b507fa6c98484f737ec1db691dd579e409b76b1d02295f3b1580fcfe80c84ef0e8ad7836123f06064611ea287600060018d0381548110611e8957fe5b6040805192835260208301919091528051918290030190a1505050505050565b60031690565b6001600160a01b0382166000908152600760205260408120546001906004900610612496576001600160a01b038316600090815260056020526040902060030154600110801561248157506001600160a01b0383166000908152600560205260409020600301548211155b1561248e57506001611aa2565b506000611aa2565b6001600160a01b038316600090815260056020526040902060030154821161248e57506001611aa2565b6000826124cf57506000611aa2565b828202828482816124dc57fe5b0414611a9f5760405162461bcd60e51b81526004018080602001828103825260218152602001806126946021913960400191505060405180910390fd5b600080821161256f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161257a57fe5b04949350505050565b6000828211156125da576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60405180606001604052806000815260200160608152602001600081525090565b6040518060e00160405280600081526020016060815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600015158152509056fe796f75206e65656420746f2070757263686173652070726576696f7573206261736b6574206669727374bb54af15082ba0190dd175ce18612ed108842b163e7b81d1d71ff44000c50b33536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820cf39e249deeac96824a7bf28393fa17d6b85cde0de5117ab9673b3dbe48ae01e64736f6c634300050b0032

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

0000000000000000000000001c1399229ca9cb653f23fde549bc3ab79d8a9e7a

-----Decoded View---------------
Arg [0] : _owner (address): 0x1c1399229ca9CB653f23fdE549bC3Ab79D8A9E7a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001c1399229ca9cb653f23fde549bc3ab79d8a9e7a


Deployed Bytecode Sourcemap

844:19670:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16128:1372;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16128:1372:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16128:1372:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15237:879;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15237:879:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;15237:879:0;;;;;;;;:::i;14901:324::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14901:324:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14901:324:0;;;;;;;;:::i;13394:340::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13394:340:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13394:340:0;-1:-1:-1;;;;;13394:340:0;;:::i;:::-;;;;;;;-1:-1:-1;;;;;13394:340:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14244:645;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14244:645:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14244:645:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14244:645:0;;;;;;;;;;;;;;;;;;;;7750:5072;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7750:5072:0;;:::i;:::-;;20405:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20405:106:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;20405:106:0;;;;;;;;;;;;;;;;;13746:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13746:89:0;;;:::i;:::-;;;;;;;;;;;;;;;;1871:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1871:37:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1871:37:0;-1:-1:-1;;;;;1871:37:0;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1871:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1966:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1966:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1966:44:0;-1:-1:-1;;;;;1966:44:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17512:2017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17512:2017:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17512:2017:0;;;;;;;;:::i;13847:110::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13847:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13847:110:0;;:::i;:::-;;;;-1:-1:-1;;;;;13847:110:0;;;;;;;;;;;;;;1800:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1800:64:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1800:64:0;;;;;;;;:::i;3401:817::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3401:817:0;-1:-1:-1;;;;;3401:817:0;;:::i;16128:1372::-;16216:21;16239:17;16269:26;;:::i;:::-;-1:-1:-1;;;;;16298:21:0;;;;;;:10;:21;;;;;;;;:32;;;;;;;;;16269:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16298:32;;16269:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16269:61:0;;;;;;;;;;;;;;;;-1:-1:-1;;;16269:61:0;;;-1:-1:-1;;16269:61:0;;;;;;;;;;;16372:18;;;:25;16269:61;;-1:-1:-1;;;16494:25:0;;16490:904;;16541:6;16536:847;16557:21;16553:1;:25;16536:847;;;16604:29;16636:9;:18;;;16655:1;16636:21;;;;;;;;;;;;;;16604:53;;16676:33;;:::i;:::-;-1:-1:-1;;;;;16712:33:0;;;;;;:10;:33;;;;;;;;:44;;;;;;;;;16676:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16712:44;;16676:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16676:80:0;;;;;;;;;;;;;;;;-1:-1:-1;;;16676:80:0;;;-1:-1:-1;;16676:80:0;;;;;;;;;;;16804:25;;;:32;16676:80;;-1:-1:-1;16877:25:0;;16873:495;;16932:6;16927:422;16944:21;16940:1;:25;16927:422;;;16999:29;17031:16;:25;;;17057:1;17031:28;;;;;;;;;;;;;;16999:60;;17086:35;;:::i;:::-;17124:10;:33;17135:21;-1:-1:-1;;;;;17124:33:0;-1:-1:-1;;;;;17124:33:0;;;;;;;;;;;;:44;17158:9;17124:44;;;;;;;;;;;17086:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17086:82:0;;;;;;;;;;;;;;;;-1:-1:-1;;;17086:82:0;;;-1:-1:-1;;17086:82:0;;;;;;;;;;;17216:27;;;:34;17294:31;;;;;17195:55;;;17277:48;;;;;-1:-1:-1;;16967:3:0;;16927:422;;;;16873:495;-1:-1:-1;;;16580:3:0;;16536:847;;;;16490:904;17436:17;;;;-1:-1:-1;16128:1372:0;-1:-1:-1;;;;;16128:1372:0:o;15237:879::-;15323:21;15346:17;15376:26;;:::i;:::-;-1:-1:-1;;;;;15405:21:0;;;;;;:10;:21;;;;;;;;:32;;;;;;;;;15376:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15405:32;;15376:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15376:61:0;;;;;;;;;;;;;;;;-1:-1:-1;;;15376:61:0;;;-1:-1:-1;;15376:61:0;;;;;;;;;;;15472:18;;;:25;15376:61;;-1:-1:-1;;;15594:18:0;;15590:420;;15634:6;15629:370;15650:14;15646:1;:18;15629:370;;;15690:22;15715:9;:18;;;15734:1;15715:21;;;;;;;;;;;;;;15690:46;;15773:33;;:::i;:::-;-1:-1:-1;;;;;15809:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;;15773:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15809:37;;15773:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15773:73:0;;;;;;;;;;;;;;;;-1:-1:-1;;;15773:73:0;;;-1:-1:-1;;15773:73:0;;;;;;;;;;;15886:25;;;:32;15954:29;;;;;15865:53;;;15937:46;;;;;-1:-1:-1;;15666:3:0;;15629:370;;14901:324;14987:21;15010:17;15040:26;;:::i;:::-;-1:-1:-1;;;;;15069:21:0;;;;;;:10;:21;;;;;;;;:32;;;;;;;;;15040:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15069:32;;15040:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15040:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15144:9;:18;;;:25;15184:9;:22;;;15122:95;;;;;14901:324;;;;;:::o;13394:340::-;13462:10;13483:14;13508:24;13543:20;13574:12;13605:16;;:::i;:::-;-1:-1:-1;;;;;13622:12:0;;;;;;:5;:12;;;;;;;;;13605:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13622:12;;13605:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13605:29:0;;;-1:-1:-1;;13605:29:0;;;;-1:-1:-1;;;;;13605:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13653:7;;13661:11;;;;13673:21;;;;13695:17;;;;13713:12;;;;;13653:7;;13661:11;;-1:-1:-1;13673:21:0;;-1:-1:-1;13695:17:0;;-1:-1:-1;13713:12:0;-1:-1:-1;13394:340:0;-1:-1:-1;;;13394:340:0:o;14244:645::-;14325:10;;14353:25;14325:10;;14452:16;;:::i;:::-;-1:-1:-1;;;;;14471:16:0;;;;;;:5;:16;;;;;;;;;14452:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14471:16;;14452:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14452:35:0;;;-1:-1:-1;;14452:35:0;;;;-1:-1:-1;;;;;14452:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14515:21;;;14452:35;;-1:-1:-1;14502:34:0;;14498:137;;14567:4;14553:18;;14498:137;;;14618:5;14604:19;;14498:137;14655:26;;:::i;:::-;-1:-1:-1;;;;;14684:21:0;;;;;;:10;:21;;;;;;;;:32;;;;;;;;;14655:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14684:32;;14655:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14655:61:0;;;;;;;;;;;;;;;;-1:-1:-1;;;14655:61:0;;;-1:-1:-1;;14655:61:0;;;;;;;;;;;14759:15;;14815:18;;;;14848:22;;;;;14759:15;;14789:11;;-1:-1:-1;14815:18:0;;-1:-1:-1;14848:22:0;-1:-1:-1;14244:645:0;;-1:-1:-1;;;;;14244:645:0:o;7750:5072::-;7862:10;7856:17;;;;:5;:17;;;;;:34;;;7840:50;;:73;;;;;7911:2;7894:13;:19;;7840:73;7818:147;;;;;-1:-1:-1;;;7818:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8021:10;8015:17;;;;:5;:17;;;;;:34;;;8052:1;8015:38;7998:55;;7976:147;;;;-1:-1:-1;;;7976:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8169:11;8197:1;8181:13;:17;8169:30;;;;;;;;;;;;;;;;8156:9;:43;;8134:123;;;;;-1:-1:-1;;;8134:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8321:10;8315:17;;;;:5;:17;;;;;:34;;;:41;;8354:1;8315:41;:38;:41;:::i;:::-;8284:10;8278:17;;;;:5;:17;;;;;;;;;:34;;:78;;;;8372:40;;;;;;;;;;;;;;;;;;;;;;;;8440:13;8457:1;8440:18;8437:4364;;;8474:39;8487:10;8499:13;8474:12;:39::i;:::-;8541:10;8528:32;8535:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;8535:24:0;;;8528:32;;:6;:32;;;;;;8535:24;8528:39;;;:42;;;;;;8595:24;;;;;8588:32;;;;;:39;;8628:1;;8588:41;;8585:188;;8652:36;8669:13;8683:4;8652:16;:36::i;:::-;8585:188;;;8736:37;8753:13;8767:5;8736:16;:37::i;:::-;8437:4364;;;8804:13;8821:1;8804:18;8801:4000;;;8838:39;8851:10;8863:13;8838:12;:39::i;:::-;8905:10;8892:32;8899:17;;;:5;:17;;;;;;;;:24;;;;;;-1:-1:-1;;;;;8899:24:0;;;8892:32;;:6;:32;;;;;;:39;;:42;;8899:24;8892:42;;;8959:24;;;;8952:32;;;;;:39;;8992:1;;8952:41;;8801:4000;9168:13;9185:1;9168:18;9165:3636;;;9202:39;9215:10;9227:13;9202:12;:39::i;:::-;9269:10;9256:32;9263:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;9263:24:0;;;9256:32;;:6;:32;;;;;;:39;;;;:42;;9263:24;9256:42;;;9323:24;;;;;9316:32;;;;;:39;;9356:1;;9316:41;;9165:3636;9532:13;9549:1;9532:18;9529:3272;;;9566:39;9579:10;9591:13;9566:12;:39::i;:::-;9633:10;9620:32;9627:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;9627:24:0;;;9620:32;;:6;:32;;;;;;:39;;;;:42;;9627:24;9620:42;;;9687:24;;;;;9680:32;;;;;:39;;;:41;;9529:3272;9896:13;9913:1;9896:18;9893:2908;;;9930:39;9943:10;9955:13;9930:12;:39::i;:::-;9997:10;9984:32;9991:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;9991:24:0;;;9984:32;;:6;:32;;;;;;:39;;:42;;9991:24;9984:42;;;10051:24;;;;10044:32;;;;;:39;;10084:1;;10044:41;;9893:2908;10260:13;10277:1;10260:18;10257:2544;;;10294:39;10307:10;10319:13;10294:12;:39::i;:::-;10361:10;10348:32;10355:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;10355:24:0;;;10348:32;;:6;:32;;;;;;:39;;;;:42;;10355:24;10348:42;;;10415:24;;;;;10408:32;;;;;:39;;10448:1;;10408:41;;10257:2544;10624:13;10641:1;10624:18;10621:2180;;;10658:39;10671:10;10683:13;10658:12;:39::i;:::-;10725:10;10712:32;10719:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;10719:24:0;;;10712:32;;:6;:32;;;;;;;:39;;:42;;10719:24;10712:42;;;10779:24;;;10772:32;;;;;:39;;10812:1;;10772:41;;10621:2180;10988:13;11005:1;10988:18;10985:1816;;;11022:39;11035:10;11047:13;11022:12;:39::i;:::-;11089:10;11076:32;11083:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;11083:24:0;;;11076:32;;:6;:32;;;;;;:39;;;;:42;;11083:24;11076:42;;;11143:24;;;;;11136:32;;;;;:39;;11176:1;;11136:41;;10985:1816;11352:13;11369:2;11352:19;11349:1452;;;11387:39;11400:10;11412:13;11387:12;:39::i;:::-;11454:10;11441:32;11448:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;11448:24:0;;;11441:32;;:6;:32;;;;;;:40;;;;:43;;11448:24;11441:43;;;11509:24;;;;;11502:32;;;;;:40;;11543:1;;11502:42;;11349:1452;11719:13;11736:2;11719:19;11716:1085;;;11754:39;11767:10;11779:13;11754:12;:39::i;:::-;11821:10;11808:32;11815:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;11815:24:0;;;11808:32;;:6;:32;;;;;;:40;;;;:43;;11815:24;11808:43;;;11876:24;;;;;11869:32;;;;;:40;;11910:1;;11869:42;;11716:1085;12086:13;12103:2;12086:19;12083:718;;;12121:39;12134:10;12146:13;12121:12;:39::i;:::-;12188:10;12175:32;12182:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;12182:24:0;;;12175:32;;:6;:32;;;;;;:40;;;;:43;;12182:24;12175:43;;;12243:24;;;;;12236:32;;;;;:40;;12277:1;;12236:42;;12083:718;12453:13;12470:2;12453:19;12450:351;;;12488:39;12501:10;12513:13;12488:12;:39::i;:::-;12555:10;12542:32;12549:17;;;:5;:17;;;;;;;;:24;;;;-1:-1:-1;;;;;12549:24:0;;;12542:32;;:6;:32;;;;;;:40;;;;:43;;12549:24;12542:43;;;12610:24;;;;;12603:32;;;;;:40;;:42;;12600:189;;12668:36;12685:13;12699:4;12668:16;:36::i;12600:189::-;12752:37;12769:13;12783:5;12752:16;:37::i;:::-;7750:5072;:::o;20405:106::-;20459:13;20492:11;20485:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20405:106;:::o;13746:89::-;13817:10;;13746:89;:::o;1871:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1871:37:0;;;;;;;;;:::o;1966:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17512:2017::-;17599:21;17622:17;17652:26;;:::i;:::-;-1:-1:-1;;;;;17681:21:0;;;;;;:10;:21;;;;;;;;:32;;;;;;;;;17652:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17681:32;;17652:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17652:61:0;;;;;;;;;;;;;;;;-1:-1:-1;;;17652:61:0;;;-1:-1:-1;;17652:61:0;;;;;;;;;;;17755:18;;;:25;17652:61;;-1:-1:-1;;;17877:25:0;;17873:1550;;17924:6;17919:1493;17940:21;17936:1;:25;17919:1493;;;17987:29;18019:9;:18;;;18038:1;18019:21;;;;;;;;;;;;;;17987:53;;18059:33;;:::i;:::-;-1:-1:-1;;;;;18095:33:0;;;;;;:10;:33;;;;;;;;:44;;;;;;;;;18059:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18095:44;;18059:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18059:80:0;;;;;;;;;;;;;;;;-1:-1:-1;;;18059:80:0;;;-1:-1:-1;;18059:80:0;;;;;;;;;;;18187:25;;;:32;18059:80;;-1:-1:-1;18260:25:0;;18256:1141;;18315:6;18310:1068;18327:21;18323:1;:25;18310:1068;;;18382:29;18414:16;:25;;;18440:1;18414:28;;;;;;;;;;;;;;18382:60;;18469:35;;:::i;:::-;18507:10;:33;18518:21;-1:-1:-1;;;;;18507:33:0;-1:-1:-1;;;;;18507:33:0;;;;;;;;;;;;:44;18541:9;18507:44;;;;;;;;;;;18469:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18469:82:0;;;;;;;;;;;;;;;;-1:-1:-1;;;18469:82:0;;;-1:-1:-1;;18469:82:0;;;;;;;;;;;18609:27;;;:34;18469:82;;-1:-1:-1;18700:27:0;;18696:659;;18784:9;18760:21;18854:474;18871:23;18867:1;:27;18854:474;;;18936:31;18970:18;:27;;;18998:1;18970:30;;;;;;;;;;;;;;18936:64;;19035:34;;:::i;:::-;-1:-1:-1;;;;;19072:35:0;;;;;;:10;:35;;;;;;;;:53;;;;;;;;;19035:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19072:53;;19035:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19035:90:0;;;;;;;;;;;;;;;;-1:-1:-1;;;19035:90:0;;;-1:-1:-1;;19035:90:0;;;;;;;;;;;19181:26;;;:33;19266:30;;;;;19160:54;;;19249:47;;;;;-1:-1:-1;;18896:3:0;;18854:474;;;;18696:659;;-1:-1:-1;;;18350:3:0;;18310:1068;;;;18256:1141;-1:-1:-1;;;17963:3:0;;17919:1493;;13847:110;13911:7;13937:12;;;:7;:12;;;;;;-1:-1:-1;;;;;13937:12:0;;13847:110::o;1800:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3401:817::-;943:10;3470:9;:25;;3462:49;;;;;-1:-1:-1;;;3462:49:0;;;;;;;;;;;;-1:-1:-1;;;3462:49:0;;;;;;;;;;;;;;;3536:10;3530:17;;;;:5;:17;;;;;:25;;;;;:34;3522:65;;;;;-1:-1:-1;;;3522:65:0;;;;;;;;;;;;-1:-1:-1;;;3522:65:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3606:14:0;;;;;;:5;:14;;;;;:22;;;;;:30;;:22;:30;3598:59;;;;;-1:-1:-1;;;3598:59:0;;;;;;;;;;;;-1:-1:-1;;;3598:59:0;;;;;;;;;;;;;;;3670:10;:12;;;;;;;3699:10;3670;3693:17;;;:5;:17;;;;;;;;:33;;;3737:24;;;:34;;-1:-1:-1;;;;;3737:34:0;;-1:-1:-1;;;;;;3737:34:0;;;;;;;;3782:25;;;;:32;;-1:-1:-1;;3782:32:0;;;;;3825:34;;;;:36;;;3880:10;;3872:19;;;;;;;;:32;;;;;;;;;;3915:14;;;;;;;;;3949:10;;3915:28;;;27:10:-1;;23:18;;;45:23;;3915:45:0;;;;;;;;;;;;;;3971:27;;:12;:27::i;:::-;-1:-1:-1;;;;;4009:15:0;;;;;;:6;:15;;;;;:24;;;;;;;;4049;;4046:115;;4087:24;4104:1;4106:4;4087:16;:24::i;:::-;4046:115;;;4136:25;4153:1;4155:5;4136:16;:25::i;:::-;4185;;;4199:10;4185:25;;;;;;;;;;;;;3401:817;:::o;53:179::-;111:7;143:5;;;167:6;;;;159:46;;;;;-1:-1:-1;;;159:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;223:1;-1:-1:-1;53:179:0;;;;;:::o;19537:684::-;-1:-1:-1;;;;;19633:16:0;;;19613:17;19633:16;;;:5;:16;;;;;:23;;;;19673;;19669:545;;-1:-1:-1;;;;;19713:21:0;;;;;;;:10;:21;;;;;;;;:32;;;;;;;:41;;;;27:10:-1;;23:18;;;45:23;;19713:57:0;;;;;;;;;-1:-1:-1;;;;;;19713:57:0;;;;;;;;;;;19808:32;;;19807:50;19789:69;;:17;:69::i;:::-;19785:163;;-1:-1:-1;;;;;19884:21:0;;;;;;:10;:21;;;;;;;;:32;;;;;;;;:45;;:48;;;;;;19785:163;19669:545;;;19991:5;;;-1:-1:-1;;;;;19991:5:0;;;19980:17;;;;:10;:17;;;;;;;;:28;;;;;;;;19991:5;19980:37;;;27:10:-1;;23:18;;;45:23;;19980:53:0;;;;;;;;;-1:-1:-1;;;;;;19980:53:0;;;;;;;20082:5;;;;;20071:17;;;;;;;;:28;;;;;;:37;20070:46;20052:65;;:17;:65::i;:::-;20048:155;;20154:5;;-1:-1:-1;;;;;20154:5:0;20143:17;;;;:10;:17;;;;;;;;:28;;;;;;;;:41;;:44;;20154:5;20143:44;;;20048:155;19537:684;;;:::o;4323:3382::-;4399:9;4422:10;4419:3279;;;4472:10;4448:11;4466:17;;;4460:5;4466:17;;;;;;:24;;;;;-1:-1:-1;;;;;4466:24:0;;;4460:31;;;;;;:38;;;;;4513:480;-1:-1:-1;;;;;4519:15:0;;;4513:480;;4557:28;4574:3;4578:6;4557:16;:28::i;:::-;4554:384;;;4631:50;4659:11;4678:1;4671:6;:8;4659:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4631:10:0;;;;:5;:10;;;;;;;:23;;;;:50;:27;:50;:::i;:::-;-1:-1:-1;;;;;4607:10:0;;;;;;:5;:10;;;;;:23;;:74;;;;4732:21;;4607:10;;4701:53;;-1:-1:-1;;4744:8:0;;;4732:21;;;;;;;;;;;;;;4701:53;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4701:53:0;4806:56;4840:11;4859:1;4852:6;:8;4840:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4806:10:0;;;;:5;:10;;;;;;;;:29;;;:56;:33;:56;:::i;:::-;-1:-1:-1;;;;;4774:10:0;;;;;;:5;:10;;;;;;;;:29;:88;4889:4;;-1:-1:-1;4913:5:0;;4554:384;-1:-1:-1;;;;;4960:10:0;;;;;;;:5;:10;;;;;:17;;;;4513:480;;;5010:11;5007:105;;5057:5;;;5074:21;;-1:-1:-1;;;;;5057:5:0;;;;5041:55;;5057:5;-1:-1:-1;;5086:8:0;;;5074:21;;;;;;;;;;;;;;5041:55;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5041:55:0;5007:105;4419:3279;;;;5254:10;5162:13;5248:17;;;:5;:17;;;;;:24;;;5178:3;;5217:2;;-1:-1:-1;;;;;5248:24:0;5287:2116;5293:13;;;;;:32;;-1:-1:-1;;;;;;5310:15:0;;;;5293:32;5287:2116;;;-1:-1:-1;;;;;5346:10:0;;;;;;:5;:10;;;;;:27;;;:35;-1:-1:-1;5346:35:0;;;:53;;;5385:10;5397:2;5385:14;5346:53;5343:1994;;;5446:75;5474:46;5516:3;5474:37;5500:10;5474:11;5493:1;5486:6;:8;5474:21;;;;;;;;;;;;;;;;:25;;:37;;;;:::i;:::-;:41;:46;:41;:46;:::i;:::-;-1:-1:-1;;;;;5446:10:0;;;;;;:5;:10;;;;;:23;;;;:75;:27;:75;:::i;:::-;-1:-1:-1;;;;;5421:10:0;;;;;;:5;:10;;;;;:23;;:100;;;;5574:21;;5421:10;;5543:78;;5574:46;;5616:3;;5574:37;;5600:10;;-1:-1:-1;;5586:8:0;;;5574:21;;;;;:46;5543:78;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5543:78:0;-1:-1:-1;;;;;;;;;;;5670:3:0;5674:10;5685:46;5727:3;5685:37;5711:10;5685:11;5704:1;5697:6;:8;5685:21;;;;;;;:46;5648:84;;;-1:-1:-1;;;;;5648:84:0;;;;;;;;;;;;;;;;;;;;;;;;;5766:2;;-1:-1:-1;5797:13:0;:5;5807:2;5797:13;:9;:13;:::i;:::-;5789:21;;5343:1994;;;-1:-1:-1;;;;;5854:10:0;;;;;;:5;:10;;;;;:27;;;:35;-1:-1:-1;5854:35:0;;;:53;;;5893:10;5905:2;5893:14;5854:53;5851:1486;;;5954:75;5982:46;6024:3;5982:37;6008:10;5982:11;6001:1;5994:6;:8;5982:21;;;;;;;5954:75;-1:-1:-1;;;;;5929:10:0;;;;;;:5;:10;;;;;:23;;:100;;;;6082:21;;5929:10;;6051:78;;6082:46;;6124:3;;6082:37;;6108:10;;-1:-1:-1;;6094:8:0;;;6082:21;;;;;:46;6051:78;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6051:78:0;-1:-1:-1;;;;;;;;;;;6178:3:0;6182:10;6193:46;6235:3;6193:37;6219:10;6193:11;6212:1;6205:6;:8;6193:21;;;;;;;:46;6156:84;;;-1:-1:-1;;;;;6156:84:0;;;;;;;;;;;;;;;;;;;;;;;;;6274:2;;-1:-1:-1;6305:13:0;:5;6315:2;6305:13;:9;:13;:::i;5851:1486::-;-1:-1:-1;;;;;6357:10:0;;;;;;:5;:10;;;;;:27;;;:35;-1:-1:-1;6357:35:0;;;:53;;;6396:10;6408:2;6396:14;6357:53;6354:983;;;6457:75;6485:46;6527:3;6485:37;6511:10;6485:11;6504:1;6497:6;:8;6485:21;;;;;;;6457:75;-1:-1:-1;;;;;6432:10:0;;;;;;:5;:10;;;;;:23;;:100;;;;6585:21;;6432:10;;6554:78;;6585:46;;6627:3;;6585:37;;6611:10;;-1:-1:-1;;6597:8:0;;;6585:21;;;;;:46;6554:78;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6554:78:0;-1:-1:-1;;;;;;;;;;;6681:3:0;6685:10;6696:46;6738:3;6696:37;6722:10;6696:11;6715:1;6708:6;:8;6696:21;;;;;;;:46;6659:84;;;-1:-1:-1;;;;;6659:84:0;;;;;;;;;;;;;;;;;;;;;;;;;6777:2;;-1:-1:-1;6808:13:0;:5;6818:2;6808:13;:9;:13;:::i;6354:983::-;-1:-1:-1;;;;;6860:10:0;;;;;;:5;:10;;;;;:27;;;:35;-1:-1:-1;6860:35:0;;;:53;;;6899:10;6911:2;6899:14;6860:53;6857:480;;;6960:75;6988:46;7030:3;6988:37;7014:10;6988:11;7007:1;7000:6;:8;6988:21;;;;;;;6960:75;-1:-1:-1;;;;;6935:10:0;;;;;;:5;:10;;;;;:23;;:100;;;;7087:21;;6935:10;;7056:78;;7087:46;;7129:3;;7087:37;;7113:10;;-1:-1:-1;;7099:8:0;;;7087:21;;;;;:46;7056:78;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7056:78:0;-1:-1:-1;;;;;;;;;;;7182:3:0;7186:10;7197:46;7239:3;7197:37;7223:10;7197:11;7216:1;7209:6;:8;7197:21;;;;;;;:46;7160:84;;;-1:-1:-1;;;;;7160:84:0;;;;;;;;;;;;;;;;;;;;;;;;;7278:1;;-1:-1:-1;7308:13:0;:5;7318:2;7308:13;:9;:13;:::i;:::-;7300:21;;6857:480;-1:-1:-1;;;;;7370:10:0;;;;;;;:5;:10;;;;;:17;;;;5287:2116;;;7445:58;7461:41;7498:3;7461:32;7487:5;7461:11;7480:1;7473:6;:8;7461:21;;;;;;;:41;7445:11;;;:58;:15;:58;:::i;:::-;7431:11;:72;7534:5;;;7551:21;;-1:-1:-1;;;;;7534:5:0;;;;7518:75;;7551:41;;7588:3;;7551:32;;7577:5;;7534;-1:-1:-1;;7563:8:0;;;7551:21;;;;;:41;7518:75;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7518:75:0;7613:73;7638:5;7644:41;7681:3;7644:32;7670:5;7644:11;7663:1;7656:6;:8;7644:21;;;;;;;:41;7613:73;;;;;;;;;;;;;;;;;;;;;;4419:3279;;;4323:3382;;;:::o;20229:168::-;20362:27;;;20229:168::o;12830:520::-;-1:-1:-1;;;;;12934:13:0;;12915:4;12934:13;;;:6;:13;;;;;:20;12960:1;;12955;;12934:22;:27;12931:412;;-1:-1:-1;;;;;12980:12:0;;;;;;:5;:12;;;;;:29;;;13010:1;-1:-1:-1;12980:80:0;;;;-1:-1:-1;;;;;;13015:12:0;;;;;;:5;:12;;;;;:29;;;:45;-1:-1:-1;13015:45:0;12980:80;12977:174;;;-1:-1:-1;13087:4:0;13080:11;;12977:174;-1:-1:-1;13146:5:0;13139:12;;12931:412;-1:-1:-1;;;;;13195:12:0;;;;;;:5;:12;;;;;:29;;;:45;-1:-1:-1;13192:139:0;;-1:-1:-1;13267:4:0;13260:11;;430:222;488:7;512:6;508:23;;-1:-1:-1;528:1:0;521:8;;508:23;553:5;;;557:1;553;:5;:1;577:5;;;;;:10;569:56;;;;-1:-1:-1;;;569:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;660:177;718:7;750:1;746;:5;738:44;;;;;-1:-1:-1;;;738:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;793:9;809:1;805;:5;;;;;;;660:177;-1:-1:-1;;;;660:177:0:o;240:182::-;298:7;331:1;326;:6;;318:49;;;;;-1:-1:-1;;;318:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;390:5:0;;;240:182::o;844:19670::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;844:19670:0;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://cf39e249deeac96824a7bf28393fa17d6b85cde0de5117ab9673b3dbe48ae01e

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.