Contract 0x64ABE5d97fEd5b1BF8477074b542b2F1f39e4ce0 2

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xe5a5dc85e923799beae72100b0b3d44202490199cdc4b570a795afda6a582af3Withdraw119581702021-10-21 6:50:541 hr 54 mins ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001037615
0x8ecfb2557b198c8b36224a7fae52a3d70d787aa6272b5d0ba7debf768a54ac55Withdraw119565662021-10-21 5:30:423 hrs 14 mins ago0x46ebcb14d21912c3106db2b8fe67b46c2afaf555 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000732615
0x6cebd65110917aebe62d7beed1dc0aeeaf519dd25e9e9551f90840a3dc789e06Withdraw119538732021-10-21 3:09:175 hrs 36 mins ago0x6e01965c15461e60cf70ab935258ff6c8e2e8458 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000563755
0x546512d9883b17e4a8bf784fe376b8873f7c11d30b35d38d41ad64a83cf9e001Withdraw119470612021-10-20 21:27:0111 hrs 18 mins ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001112615
0x1ba8344a1091bcab00fe97385174fff18f6b6635768fd81ae22c9a881887eb2aWithdraw119293622021-10-20 6:33:321 day 2 hrs ago0x4a65a747fe73d4858a7287c311b78205635345bb IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000563755
0xb96d642d036e0363168cc7d16405ee9cca7201399f1003164373ccef87ebc12cWithdraw119275642021-10-20 5:03:381 day 3 hrs ago0x46ebcb14d21912c3106db2b8fe67b46c2afaf555 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000657615
0x48ee09045157cd37bf66bee8e09cffd2f8e6fd7d3d0bd6d2487a9d6ca895b842Withdraw119226632021-10-20 0:57:211 day 7 hrs ago0x5403c62beb8d798349f1d6c29a3524f5ebbd0a91 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000953165
0x8c0ead8b2e31278ff21a4ea313eb60534536b1c1dbd46a3d2970b30f56127171Withdraw119207152021-10-19 23:18:411 day 9 hrs ago0xaec1c94a3229d212183df56f27ab7e75657d1687 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.00068121
0xf0459212f2a0a77b6ea259e140af39a0ec97248228fb88998164bd8f39473073Withdraw119060362021-10-19 10:32:271 day 22 hrs ago0x5403c62beb8d798349f1d6c29a3524f5ebbd0a91 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000953165
0x5e8d50990eb41aee605eda8cf8e1db8dfbb5018fe60d45d68ae883dbf7f4872aWithdraw119017942021-10-19 7:00:092 days 1 hr ago0x46ebcb14d21912c3106db2b8fe67b46c2afaf555 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000657615
0x0942c290e35673ecbbaa6c890f2bbc1a5087a9d8c97fa4c637acdd1d781ddcd1Withdraw118781982021-10-18 11:12:212 days 21 hrs ago0xd951cfa8387aaf63fbcd5d98c04dccc6c322c1a1 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000817055
0x81cac4476c6dc26b7280eee4834510f68e0a33c4843ffad9af030ce60a616015Withdraw118738032021-10-18 7:32:323 days 1 hr ago0x5841c2dbcce5e94c5eabc73a5e4300744fc049c2 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000488755
0xc223909e90453d0bb22349551e6f002332359c29169198fe37cb55cef8c0247aWithdraw118719852021-10-18 6:01:383 days 2 hrs ago0x4a65a747fe73d4858a7287c311b78205635345bb IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000563755
0xcdd4e9990c73d8663f5230c729333d6f7a04552f048b7b9addaeacfaefe929a4Withdraw118697802021-10-18 4:11:213 days 4 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0006904
0x988a595d5fea1a760ce607727bb89ad9c8de63b05cce2daf890ff5ccf7e44e20Withdraw118687472021-10-18 3:19:423 days 5 hrs ago0x46ebcb14d21912c3106db2b8fe67b46c2afaf555 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000657615
0x0a490442fc215c8eb8cf1ce2638c15143b51d41b73f129befed2d8870eb6e0c9Withdraw118674952021-10-18 2:17:043 days 6 hrs ago0x5403c62beb8d798349f1d6c29a3524f5ebbd0a91 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001028165
0x0f6dc96e4848de12b5f173e0b9826716f5b30086c4bcc455547c1c764650791dWithdraw118670602021-10-18 1:55:193 days 6 hrs ago0x463ea6f74153d94cd72c0f2c122b8c5422008cff IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.00107984
0x65369f4ed46a001b1e34b4053f4a34c5a3330ecb16781e1fb0db83aff10c6d30Withdraw118644812021-10-17 23:45:073 days 9 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001147
0x402a29baae6d5bf10d88db8ccf99ecd13397086af274e6536f2987ede0fd1d80Withdraw118644792021-10-17 23:45:013 days 9 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001037615
0xfa7cae4820b0c9cd9b165d667b854bade46bd7db3cdd1fa715136a87eaf84a2eCompound118454092021-10-17 7:43:454 days 1 hr ago0x2cd24336e9571c30a0fc5459e862d716f62b6fe8 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000978165
0x85a1e089e8beca8d0074888682a8323f76cdf41841c7171cfef36a369d851befCompound117582462021-10-14 6:49:087 days 1 hr ago0xb1019d7ad3c4fdbba6193ae95f84e7b69e08fc7e IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001653725
0x30f627fa5ec7ddb21fdaee8ebb42130f265f66ecbfb0a921313e42d6deef58f0Compound116910322021-10-11 22:10:099 days 10 hrs ago0x95f2a9e7569888123d30138055d550206c1ade7d IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001285555
0xcec6d8fd2085252f7a7e8248b40e79840f3b57ae247a65c2c3411287045facc8Compound115657592021-10-07 12:50:1813 days 19 hrs ago0xcf8e02b011b9537fcb685563191063403a46298b IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.003512785
0xf7c4d58e8a3d87c7ab495ecff5a21e528af158e7ced2791890210cdbecb4ff3bCompound114986492021-10-05 4:51:0016 days 3 hrs ago0x95f2a9e7569888123d30138055d550206c1ade7d IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.00124334
0x7783f5837be2e9adf080d325b31896e766623a84f8023fc394ad4b362da4d263Compound114378252021-10-03 2:00:5418 days 6 hrs ago0x463ea6f74153d94cd72c0f2c122b8c5422008cff IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.00152704
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CakeTrust

Compiler Version
v0.8.3+commit.8d00100c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-05-28
*/

// SPDX-License-Identifier: MIT 
 
 /*  The innovative way to obtain a long lasting and passive income, through the use of the most popular Token on the binance smart chain.
 *   Invest your CAKE and earn daily dividends through our long term investment platform.
 *   
 *   | USAGE INSTRUCTIONS |
 *
 *   - Connect your Metamask to the binance smart chain (see help: https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain )
 *   - Head over to our website at cakefunds.app
 *   - Enter the amount of CAKE you would like to invest into our investment pool (0.5 CAKE minimum) using the "Invest CAKE" button
 *   - Earn a minimum of 1% daily return on your investment, for a minimum of 300% total return.
 *   - Claim your CAKE rewards every 24 hours, using the "Claim" button (There are no restrictions on the minimum amount of CAKE you can claim)
 *   - You can also Compound your CAKE every 24 hours, using the "Compound" button. This will increase your daily and total return.
 *
 *   | INVESTMENT CONDITIONS |
 *
 *   - There is a minimum requirement of 0.5 CAKE in order to make an investment
 *   - There are no restrictions on the maximum amount of CAKE you can invest
 *   - Total income: This starts up to 1.5% daily and 450% total
 *   - Earnings are calculated every moment, claim or compound every day.
 *
 *   | AFFILIATE PROGRAM |
 *
 *   - 3-level referral commission: 5% - 2.5% - 0.5%
 *
 *   | INVESTMENT FUNDS DISTRIBUTION |
 *
 *   - 91% Platform main balance, participants payouts
 *   - 6% Support work, technical functioning, administration fee - this applies to all investments. 
 *   - 3% Marketing support.
 *
 *   | COMPOUND FUNDS DISTRIBUTION |
 *
 *   - 97% Platform main balance, participants payouts
 *   - 3%% Support work, technical functioning, administration fee - this applies to all compounds.
 *
 *   | WITHDRAW |
 *
 *   - 6% Support work, technical functioning, administration fee.
 *   - 94% to user balance
 *
 *   | CONTACT |
 *
 *   - Visit our official website: https://caketrust.com
 */

pragma solidity 0.8.3;

contract Ownable {
    address public owner;
    event onOwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        owner = msg.sender;
    }
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0));
        emit onOwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
}

contract CakeTrust is Ownable{
    using SafeMath for uint256;

    IBEP20 public cakeToken;
    uint256 constant public INVEST_MIN_AMOUNT = 0.5 ether; 
    uint256 constant public INVEST_MAX_AMOUNT = 20000 ether;
    uint256 constant public WITHDRAW_MIN_AMOUNT = 0.5 ether;
    uint256[] internal REFERRAL_PERCENTS = [50, 25, 5];
    uint256 constant public DEPOSIT_WITHDRAW_FEE = 60; // 6% Fee for each invest/withdraw
    uint256 constant public MARKETING_FEE = 30; // 3% Fee for marketing each invest
    uint256 constant public COMPOUND_FEE = 30; // 6% Fee for compound
    uint256 constant public PERCENTS_DIVIDER = 1000;
    
    uint256 public totalStaked;
    uint256 public totalRefBonus;
    uint256 public totalWithdrawn;
    
    address payable public marketingAddress = payable(0x88501d955B56a4513F41E4E2A0cc6072645543f4);

    struct Plan {
        uint256 time;
        uint256 percent;
    }
    Plan[] internal plans;

    struct Deposit {
        uint8 plan;
        uint256 percent;
        uint256 amount;
        uint256 profit;
        uint256 start;
        uint256 finish;
    }

    struct User {
        Deposit[] deposits;
        uint256 checkpoint;
        address referrer;
        uint256[3] levels;
        uint256 bonus;
        uint256 totalBonus;
        uint256 wprofits;
    }
    
    mapping (address => User) internal users;

    event Newbie(address user);
    event NewDeposit(address indexed user, uint8 plan, uint256 percent, uint256 amount, uint256 profit, uint256 start, uint256 finish);
    event Withdrawn(address indexed user, uint256 amount);
    event RefBonus(address indexed referrer, address indexed referral, uint256 indexed level, uint256 amount);
    event FeePayed(address indexed user, uint256 totalAmount);

    constructor() {
        cakeToken = IBEP20(0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82);

        plans.push(Plan(300, 10));
        plans.push(Plan(300, 12));
        plans.push(Plan(300, 15));
    }
    
    function feePayout(uint256 amt) internal{
        cakeToken.transfer(marketingAddress, amt);
        emit FeePayed(msg.sender, amt);
    }
    
    function invest(address referrer, uint256 depAmount) public {
        require(depAmount >= INVEST_MIN_AMOUNT,"Check minimum investing amount");
        require(depAmount <= INVEST_MAX_AMOUNT,"Check maximum investing amount");
        uint8 plan  = 0;
        if(depAmount < 10 ether){
            plan = 0;
        }else if(depAmount >= 10 ether &&  depAmount < 10000 ether){
            plan = 1;
        }else {
            plan = 2;
        }

        cakeToken.transferFrom(msg.sender, address(this), depAmount);

        //Pay admin & marketing fee
        uint256 investFee = depAmount.mul(DEPOSIT_WITHDRAW_FEE.add(MARKETING_FEE)).div(PERCENTS_DIVIDER);
        feePayout(investFee);

        uint256 realDepAmount = depAmount.sub(investFee);

        User storage user = users[msg.sender];
        if (user.referrer == address(0)) {
            if (users[referrer].deposits.length > 0 && referrer != msg.sender) {
                user.referrer = referrer;
            }
            
            address upline = user.referrer;
            for (uint256 i = 0; i < 3; i++) {
                if (upline != address(0)) {
                    users[upline].levels[i] = users[upline].levels[i].add(1);
                    upline = users[upline].referrer;
                } else break;
            }
        }

        if (user.referrer != address(0)) {
            address upline = user.referrer;
            for (uint256 i = 0; i < 3; i++) {
                if (upline != address(0)) {
                    uint256 amount = realDepAmount.mul(REFERRAL_PERCENTS[i]).div(PERCENTS_DIVIDER);
                    users[upline].bonus = users[upline].bonus.add(amount);
                    users[upline].totalBonus = users[upline].totalBonus.add(amount);
                    emit RefBonus(upline, msg.sender, i, amount);
                    upline = users[upline].referrer;
                } else break;
            }
        }

        if (user.deposits.length == 0) {
            user.checkpoint = getDateFromTimeStamp(block.timestamp);
            emit Newbie(msg.sender);
        }
        
        (uint256 percent, uint256 profit, , uint256 finish) = getResult(plan, realDepAmount);
        user.deposits.push(Deposit(plan, percent, realDepAmount, profit, getDateFromTimeStamp(block.timestamp), finish));
        totalStaked = totalStaked.add(realDepAmount);
        emit NewDeposit(msg.sender, plan, percent, realDepAmount, profit, block.timestamp, finish);
    }
    
    function withdraw() public {
        User storage user = users[msg.sender];
        
        //only once a day
        require(getDateFromTimeStamp(block.timestamp) > users[msg.sender].checkpoint , "You can only withdraw once a day");
        uint256 totalAmount = getUserDividends(msg.sender);
        if (user.bonus > 0) {
            totalAmount = totalAmount.add(user.bonus);
            user.bonus = 0;
        }
        require(totalAmount > 0, "User has no dividends");
        require(totalAmount >= WITHDRAW_MIN_AMOUNT, "Please check minimum withdrawal amount");
        uint256 contractBalance = cakeToken.balanceOf(address(this));
        if (contractBalance < totalAmount) {
            totalAmount = contractBalance;
        }
        require(totalAmount >= WITHDRAW_MIN_AMOUNT, "Please check contract balance");

        uint256 withdrawFee = totalAmount.mul(DEPOSIT_WITHDRAW_FEE).div(PERCENTS_DIVIDER);
        feePayout(withdrawFee);

        uint256 withdrawAmount = totalAmount.sub(withdrawFee);
        
        user.checkpoint = getDateFromTimeStamp(block.timestamp);
        
        user.wprofits = (user.wprofits).add(withdrawAmount);
        cakeToken.transfer(payable(msg.sender), withdrawAmount);
        
        totalWithdrawn = (totalWithdrawn.add(withdrawAmount));
        emit Withdrawn(msg.sender, withdrawAmount);
    }
    
    function compound() public {
        User storage user = users[msg.sender];
        
        //only once a day
        require(getDateFromTimeStamp(block.timestamp) > users[msg.sender].checkpoint , "You can only compound once a day");
        uint256 totalAmount = getUserDividends(msg.sender);
        if (user.bonus > 0) {
            totalAmount = totalAmount.add(user.bonus);
            user.bonus = 0;
        }
        require(totalAmount > 0, "User has no dividends");
        require(totalAmount >= WITHDRAW_MIN_AMOUNT, "Please check minimum compounding amount");

        uint8 plan  = 0;
        if(totalAmount < 10 ether){
            plan = 0;
        }else if(totalAmount >= 10 ether &&  totalAmount < 10000 ether){
            plan = 1;
        }else {
            plan = 2;
        }

        uint256 contractBalance = cakeToken.balanceOf(address(this));
        if (contractBalance < totalAmount) {
            totalAmount = contractBalance;
        }
        require(totalAmount >= WITHDRAW_MIN_AMOUNT, "Please check contract balance");

        user.checkpoint = getDateFromTimeStamp(block.timestamp);

        uint256 compoundFee = totalAmount.mul(COMPOUND_FEE).div(PERCENTS_DIVIDER);
        feePayout(compoundFee);
        uint256 compoundAmount = totalAmount.sub(compoundFee);

        (uint256 percent, uint256 profit, , uint256 finish) = getResult(plan, compoundAmount);
        user.deposits.push(Deposit(plan, percent, compoundAmount, profit, getDateFromTimeStamp(block.timestamp), finish));
        totalStaked = totalStaked.add(compoundAmount);
        emit NewDeposit(msg.sender, plan, percent, compoundAmount, profit, block.timestamp, finish);
    }

    function getContractBalance() public view returns (uint256) {
        return cakeToken.balanceOf(address(this));
    }

    function getPlanInfo(uint8 plan) public view returns(uint256 time, uint256 percent) {
        require(plan < 3, "Invalid plan");
        time = plans[plan].time;
        percent = plans[plan].percent;
    }

    function getPercent(uint8 plan) public view returns (uint256) {
        require(plan < 3, "Invalid plan");
        return plans[plan].percent;
    }
    
    function getResult(uint8 plan, uint256 deposit) public view returns ( uint256 percent, uint256 profit, uint256 current, uint256 finish){
        require(plan < 3, "Invalid plan");
        percent = getPercent(plan);
        profit = deposit.mul(percent).div(PERCENTS_DIVIDER).mul(plans[plan].time);
        current = getDateFromTimeStamp(block.timestamp);
        finish = current.add(plans[plan].time);
    }
    
    function getUserDividends(address userAddress) public view returns (uint256){
        User memory user = users[userAddress];

        uint256 totalAmount;
        for (uint256 i = 0; i < user.deposits.length; i++) {
            if (user.checkpoint < user.deposits[i].finish) {
                uint256 share = user.deposits[i].amount.mul(user.deposits[i].percent).div(PERCENTS_DIVIDER);
                uint256 from = user.deposits[i].start > user.checkpoint ? user.deposits[i].start : user.checkpoint;
                uint256 to = user.deposits[i].finish < getDateFromTimeStamp(block.timestamp) ? user.deposits[i].finish : getDateFromTimeStamp(block.timestamp);
                if (from < to) {
                    totalAmount = totalAmount.add(share.mul(to.sub(from)));
                }
            }
        }
        return totalAmount;
    }
    
    function getUserCheckpoint(address userAddress) public view returns(uint256) {
        return users[userAddress].checkpoint;
    }

    function getUserReferrer(address userAddress) public view returns(address) {
        return users[userAddress].referrer;
    }

    function getUserDownlineCount(address userAddress) public view returns(uint256, uint256, uint256) {
        return (users[userAddress].levels[0], users[userAddress].levels[1], users[userAddress].levels[2]);
    }

    function getUserReferralBonus(address userAddress) public view returns(uint256) {
        return users[userAddress].bonus;
    }

    function getUserReferralTotalBonus(address userAddress) public view returns(uint256) {
        return users[userAddress].totalBonus;
    }

    function getUserReferralWithdrawn(address userAddress) public view returns(uint256) {
        return users[userAddress].totalBonus.sub(users[userAddress].bonus);
    }

    function getUserAvailable(address userAddress) public view returns(uint256) {
        return getUserReferralBonus(userAddress).add(getUserDividends(userAddress));
    }
    

    function getUserAmountOfDeposits(address userAddress) public view returns(uint256) {
        return users[userAddress].deposits.length;
    }

    function getUserTotalDeposits(address userAddress) public view returns(uint256 amount) {
        for (uint256 i = 0; i < users[userAddress].deposits.length; i++) {
            amount = amount.add(users[userAddress].deposits[i].amount);
        }
    }
    
    function getUserTotalWithdrawn(address userAddress) public view returns(uint256) {
        return users[userAddress].wprofits;
    }
    
    function getUserDepositInfo(address userAddress, uint256 index) public view returns (uint8 plan, uint256 percent, uint256 amount, uint256 profit, uint256 start, uint256 finish){
        User memory user = users[userAddress];
        require(index < user.deposits.length, "Invalid index");

        plan = user.deposits[index].plan;
        percent = user.deposits[index].percent;
        amount = user.deposits[index].amount;
        profit = user.deposits[index].profit;
        start = user.deposits[index].start;
        finish = user.deposits[index].finish;
    }
    
    function setMarketingAccount(address payable _newMarketingAccount) public onlyOwner {
        require(_newMarketingAccount != address(0));
        marketingAddress = _newMarketingAccount;
    }

    function getDateFromTimeStamp(uint256 time) internal pure returns (uint256){
        uint256 dateNo = time.div(24*60*60);
        return dateNo;
    }
    
    function isContract(address addr) internal view returns (bool) {
        uint size;
        assembly { size := extcodesize(addr) }
        return size > 0;
    }
}

interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
}
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 Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"}],"name":"FeePayed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint8","name":"plan","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"percent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"profit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"start","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"finish","type":"uint256"}],"name":"NewDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"Newbie","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"address","name":"referral","type":"address"},{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RefBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"onOwnershipTransferred","type":"event"},{"inputs":[],"name":"COMPOUND_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSIT_WITHDRAW_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INVEST_MAX_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INVEST_MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MARKETING_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERCENTS_DIVIDER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAW_MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cakeToken","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"compound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"getPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"getPlanInfo","outputs":[{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"percent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"deposit","type":"uint256"}],"name":"getResult","outputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"},{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAmountOfDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserCheckpoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getUserDepositInfo","outputs":[{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDownlineCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralTotalBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferrer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalDeposits","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"depAmount","type":"uint256"}],"name":"invest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newMarketingAccount","type":"address"}],"name":"setMarketingAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalRefBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060600160405280603260ff168152602001601960ff168152602001600560ff1681525060029060036200003d92919062000247565b507388501d955b56a4513f41e4e2a0cc6072645543f4600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000a057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730e09fabb73bd3ade0a17ecc321fd13a19e81ce82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506007604051806040016040528061012c8152602001600a8152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550506007604051806040016040528061012c8152602001600c8152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550506007604051806040016040528061012c8152602001600f815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050620002bd565b8280548282559060005260206000209081019282156200028b579160200282015b828111156200028a578251829060ff1690559160200191906001019062000268565b5b5090506200029a91906200029e565b5090565b5b80821115620002b95760008160009055506001016200029f565b5090565b613ec580620002cd6000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c8063817b1cd21161011a578063b9b8c246116100ad578063e262113e1161007c578063e262113e1461064e578063e85abe091461066c578063f2fde38b1461069c578063f69e2046146106b8578063fb4cb32b146106c257610206565b8063b9b8c246146105af578063c0806b03146105cb578063c754741614610600578063d7ffca911461061e57610206565b8063a5ece941116100e9578063a5ece94114610512578063a8aeb6c214610530578063aecaa63414610560578063af3e21221461059157610206565b8063817b1cd2146104885780638904bf2f146104a65780638da5cb5b146104c4578063a51b9533146104e257610206565b80634b3197131161019d5780636bb185561161016c5780636bb18556146103ce5780636f9fb98a146103fe5780637c79614a1461041c5780637d8cb7a21461043a5780637e3abeea1461045857610206565b80634b3197131461034357806350b2a881146103615780635936cf611461037d57806369b11dd5146103b057610206565b80631e2ac81b116101d95780631e2ac81b146102bb57806336144c9a146102d95780633ccfd60b1461030957806348c372031461031357610206565b806301c234a81461020b57806303a93c0c14610229578063040a772e1461025b578063153ab9df1461028b575b600080fd5b6102136106f2565b60405161022091906137bd565b60405180910390f35b610243600480360381019061023e91906131c3565b6106f8565b60405161025293929190613801565b60405180910390f35b610275600480360381019061027091906131c3565b610881565b60405161028291906137bd565b60405180910390f35b6102a560048036038101906102a091906131c3565b610d27565b6040516102b291906137bd565b60405180910390f35b6102c3610d53565b6040516102d091906137bd565b60405180910390f35b6102f360048036038101906102ee91906131c3565b610d5f565b604051610300919061354c565b60405180910390f35b610311610dcb565b005b61032d600480360381019061032891906131c3565b611208565b60405161033a91906137bd565b60405180910390f35b61034b611254565b60405161035891906137bd565b60405180910390f35b61037b600480360381019061037691906131ec565b61125a565b005b610397600480360381019061039291906132cc565b611330565b6040516103a79493929190613838565b60405180910390f35b6103b8611487565b6040516103c591906137bd565b60405180910390f35b6103e860048036038101906103e391906131c3565b61148d565b6040516103f591906137bd565b60405180910390f35b61040661152d565b60405161041391906137bd565b60405180910390f35b6104246115df565b60405161043191906137bd565b60405180910390f35b6104426115e4565b60405161044f91906137bd565b60405180910390f35b610472600480360381019061046d91906131c3565b6115f2565b60405161047f91906137bd565b60405180910390f35b610490611700565b60405161049d91906137bd565b60405180910390f35b6104ae611706565b6040516104bb91906135e2565b60405180910390f35b6104cc61172c565b6040516104d9919061354c565b60405180910390f35b6104fc60048036038101906104f791906132a3565b611750565b60405161050991906137bd565b60405180910390f35b61051a6117ee565b6040516105279190613567565b60405180910390f35b61054a600480360381019061054591906131c3565b611814565b60405161055791906137bd565b60405180910390f35b61057a600480360381019061057591906132a3565b611863565b6040516105889291906137d8565b60405180910390f35b610599611953565b6040516105a691906137bd565b60405180910390f35b6105c960048036038101906105c49190613215565b611958565b005b6105e560048036038101906105e09190613215565b6123ac565b6040516105f79695949392919061387d565b60405180910390f35b610608612788565b60405161061591906137bd565b60405180910390f35b610638600480360381019061063391906131c3565b61278d565b60405161064591906137bd565b60405180910390f35b6106566127d9565b60405161066391906137bd565b60405180910390f35b610686600480360381019061068191906131c3565b6127e5565b60405161069391906137bd565b60405180910390f35b6106b660048036038101906106b191906131c3565b612831565b005b6106c0612980565b005b6106dc60048036038101906106d791906131c3565b612e1c565b6040516106e991906137bd565b60405180910390f35b6103e881565b6000806000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600060038110610778577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016001600381106107f5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600260038110610872577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b01549250925092509193909250565b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e001604052908160008201805480602002602001604051908101604052809291908181526020016000905b8282101561097457838290600052602060002090600602016040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff16815260200160018201548152602001600282015481526020016003820154815260200160048201548152602001600582015481525050815260200190600101906108f3565b505050508152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201600380602002604051908101604052809291908260038015610a18576020028201915b815481526020019060010190808311610a04575b5050505050815260200160068201548152602001600782015481526020016008820154815250509050600080600090505b826000015151811015610d1c5782600001518181518110610a93577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a0015183602001511015610d09576000610b636103e8610b5586600001518581518110610af2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516020015187600001518681518110610b3b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160400151612e6890919063ffffffff16565b612ee390919063ffffffff16565b90506000846020015185600001518481518110610ba9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516080015111610bc4578460200151610c0e565b84600001518381518110610c01577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151608001515b90506000610c1b42612f41565b86600001518581518110610c58577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a0015110610c7757610c7242612f41565b610cc1565b85600001518481518110610cb4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a001515b905080821015610d0557610d02610cf3610ce48484612f6590919063ffffffff16565b85612e6890919063ffffffff16565b86612fc490919063ffffffff16565b94505b5050505b8080610d1490613ac5565b915050610a49565b508092505050919050565b6000610d4c610d3583610881565b610d3e846127e5565b612fc490919063ffffffff16565b9050919050565b6706f05b59d3b2000081565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154610e5a42612f41565b11610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e919061363d565b60405180910390fd5b6000610ea533610881565b9050600082600601541115610ed857610ecb826006015482612fc490919063ffffffff16565b9050600082600601819055505b60008111610f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f12906135fd565b60405180910390fd5b6706f05b59d3b20000811015610f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5d9061379d565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fc3919061354c565b60206040518083038186803b158015610fdb57600080fd5b505afa158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611013919061327a565b905081811015611021578091505b6706f05b59d3b2000082101561106c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611063906136bd565b60405180910390fd5b60006110966103e8611088603c86612e6890919063ffffffff16565b612ee390919063ffffffff16565b90506110a181613022565b60006110b68285612f6590919063ffffffff16565b90506110c142612f41565b85600101819055506110e0818660080154612fc490919063ffffffff16565b8560080181905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611145929190613582565b602060405180830381600087803b15801561115f57600080fd5b505af1158015611173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111979190613251565b506111ad81600554612fc490919063ffffffff16565b6005819055503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516111f991906137bd565b60405180910390a25050505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701549050919050565b60055481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112b257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112ec57600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008060038660ff161061137c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113739061377d565b60405180910390fd5b61138586611750565b935061140e60078760ff16815481106113c7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600001546114006103e86113f2888a612e6890919063ffffffff16565b612ee390919063ffffffff16565b612e6890919063ffffffff16565b925061141942612f41565b915061147c60078760ff168154811061145b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202016000015483612fc490919063ffffffff16565b905092959194509250565b60045481565b6000611526600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154612f6590919063ffffffff16565b9050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161158a919061354c565b60206040518083038186803b1580156115a257600080fd5b505afa1580156115b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115da919061327a565b905090565b601e81565b69043c33c193756480000081565b600080600090505b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490508110156116fa576116e5600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106116c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600602016002015483612fc490919063ffffffff16565b915080806116f290613ac5565b9150506115fa565b50919050565b60035481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060038260ff1610611798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178f9061377d565b60405180910390fd5b60078260ff16815481106117d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b60008060038360ff16106118ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a39061377d565b60405180910390fd5b60078360ff16815481106118e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160000154915060078360ff168154811061193a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101549050915091565b601e81565b6706f05b59d3b200008110156119a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199a9061375d565b60405180910390fd5b69043c33c19375648000008111156119f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e79061371d565b60405180910390fd5b6000678ac7230489e80000821015611a0b5760009050611a40565b678ac7230489e800008210158015611a2c575069021e19e0c9bab240000082105b15611a3a5760019050611a3f565b600290505b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401611a9f939291906135ab565b602060405180830381600087803b158015611ab957600080fd5b505af1158015611acd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af19190613251565b506000611b2f6103e8611b21611b12601e603c612fc490919063ffffffff16565b86612e6890919063ffffffff16565b612ee390919063ffffffff16565b9050611b3a81613022565b6000611b4f8285612f6590919063ffffffff16565b90506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eb3576000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050118015611c6e57503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611cb757858160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b6003811015611eb057600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e9857611daf6001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018360038110611d9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154612fc490919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018260038110611e29577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0181905550600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611e9d565b611eb0565b8080611ea890613ac5565b915050611ce3565b50505b600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122055760008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600381101561220257600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146121ea576000611fe16103e8611fd360028581548110611fb9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020015488612e6890919063ffffffff16565b612ee390919063ffffffff16565b905061203881600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154612fc490919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601819055506120d381600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154612fc490919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070181905550813373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fd41f7e766eebcc7ff42b11ac8691bdf864db4afc0c55e71d629d54edce460d988460405161217791906137bd565b60405180910390a4600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250506121ef565b612202565b80806121fa90613ac5565b915050611f37565b50505b60008160000180549050141561225e5761221e42612f41565b81600101819055507f9fd565cd14c3c391679eb0cad12a14dcf7534e9d3462bcb9b67a098a9bbbc24a33604051612255919061354c565b60405180910390a15b600080600061226d8786611330565b93505092509250836000016040518060c001604052808960ff1681526020018581526020018781526020018481526020016122a742612f41565b815260200183815250908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050155505061234385600354612fc490919063ffffffff16565b6003819055503373ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d8885888642876040516123999695949392919061387d565b60405180910390a2505050505050505050565b6000806000806000806000600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e001604052908160008201805480602002602001604051908101604052809291908181526020016000905b828210156124a757838290600052602060002090600602016040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152505081526020019060010190612426565b505050508152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820160038060200260405190810160405280929190826003801561254b576020028201915b815481526020019060010190808311612537575b505050505081526020016006820154815260200160078201548152602001600882015481525050905080600001515188106125bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b29061369d565b60405180910390fd5b806000015188815181106125f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160000151965080600001518881518110612643577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516020015195508060000151888151811061268e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151604001519450806000015188815181106126d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160600151935080600001518881518110612724577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516080015192508060000151888151811061276f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a001519150509295509295509295565b603c81565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b6706f05b59d3b2000081565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461288957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156128c357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2e3feca4334579203cd183fe1ced9524940047e5586fe13e8cc5dd1babaf6e8260405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154612a0f42612f41565b11612a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a469061361d565b60405180910390fd5b6000612a5a33610881565b9050600082600601541115612a8d57612a80826006015482612fc490919063ffffffff16565b9050600082600601819055505b60008111612ad0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac7906135fd565b60405180910390fd5b6706f05b59d3b20000811015612b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b129061367d565b60405180910390fd5b6000678ac7230489e80000821015612b365760009050612b6b565b678ac7230489e800008210158015612b57575069021e19e0c9bab240000082105b15612b655760019050612b6a565b600290505b5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612bc8919061354c565b60206040518083038186803b158015612be057600080fd5b505afa158015612bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c18919061327a565b905082811015612c26578092505b6706f05b59d3b20000831015612c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c68906136bd565b60405180910390fd5b612c7a42612f41565b84600101819055506000612cac6103e8612c9e601e87612e6890919063ffffffff16565b612ee390919063ffffffff16565b9050612cb781613022565b6000612ccc8286612f6590919063ffffffff16565b90506000806000612cdd8785611330565b93505092509250886000016040518060c001604052808960ff168152602001858152602001868152602001848152602001612d1742612f41565b815260200183815250908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a082015181600501555050612db384600354612fc490919063ffffffff16565b6003819055503373ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d888587864287604051612e099695949392919061387d565b60405180910390a2505050505050505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600801549050919050565b600080831415612e7b5760009050612edd565b60008284612e899190613976565b9050828482612e989190613945565b14612ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ecf9061373d565b60405180910390fd5b809150505b92915050565b6000808211612f27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f1e906136fd565b60405180910390fd5b60008284612f359190613945565b90508091505092915050565b600080612f5a6201518084612ee390919063ffffffff16565b905080915050919050565b600082821115612faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa1906136dd565b60405180910390fd5b60008284612fb891906139d0565b90508091505092915050565b6000808284612fd391906138ef565b905083811015613018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161300f9061365d565b60405180910390fd5b8091505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016130a1929190613582565b602060405180830381600087803b1580156130bb57600080fd5b505af11580156130cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130f39190613251565b503373ffffffffffffffffffffffffffffffffffffffff167f2899dc8c12def1caa9accb64257cf2fd9f960f21bb27a560a757eae3c2ec43c18260405161313a91906137bd565b60405180910390a250565b60008135905061315481613e1c565b92915050565b60008135905061316981613e33565b92915050565b60008151905061317e81613e4a565b92915050565b60008135905061319381613e61565b92915050565b6000815190506131a881613e61565b92915050565b6000813590506131bd81613e78565b92915050565b6000602082840312156131d557600080fd5b60006131e384828501613145565b91505092915050565b6000602082840312156131fe57600080fd5b600061320c8482850161315a565b91505092915050565b6000806040838503121561322857600080fd5b600061323685828601613145565b925050602061324785828601613184565b9150509250929050565b60006020828403121561326357600080fd5b60006132718482850161316f565b91505092915050565b60006020828403121561328c57600080fd5b600061329a84828501613199565b91505092915050565b6000602082840312156132b557600080fd5b60006132c3848285016131ae565b91505092915050565b600080604083850312156132df57600080fd5b60006132ed858286016131ae565b92505060206132fe85828601613184565b9150509250929050565b61331181613a6b565b82525050565b61332081613a16565b82525050565b61332f81613a04565b82525050565b61333e81613a7d565b82525050565b60006133516015836138de565b915061335c82613b6c565b602082019050919050565b60006133746020836138de565b915061337f82613b95565b602082019050919050565b60006133976020836138de565b91506133a282613bbe565b602082019050919050565b60006133ba601b836138de565b91506133c582613be7565b602082019050919050565b60006133dd6027836138de565b91506133e882613c10565b604082019050919050565b6000613400600d836138de565b915061340b82613c5f565b602082019050919050565b6000613423601d836138de565b915061342e82613c88565b602082019050919050565b6000613446601e836138de565b915061345182613cb1565b602082019050919050565b6000613469601a836138de565b915061347482613cda565b602082019050919050565b600061348c601e836138de565b915061349782613d03565b602082019050919050565b60006134af6021836138de565b91506134ba82613d2c565b604082019050919050565b60006134d2601e836138de565b91506134dd82613d7b565b602082019050919050565b60006134f5600c836138de565b915061350082613da4565b602082019050919050565b60006135186026836138de565b915061352382613dcd565b604082019050919050565b61353781613a54565b82525050565b61354681613a5e565b82525050565b60006020820190506135616000830184613326565b92915050565b600060208201905061357c6000830184613317565b92915050565b60006040820190506135976000830185613308565b6135a4602083018461352e565b9392505050565b60006060820190506135c06000830186613326565b6135cd6020830185613326565b6135da604083018461352e565b949350505050565b60006020820190506135f76000830184613335565b92915050565b6000602082019050818103600083015261361681613344565b9050919050565b6000602082019050818103600083015261363681613367565b9050919050565b600060208201905081810360008301526136568161338a565b9050919050565b60006020820190508181036000830152613676816133ad565b9050919050565b60006020820190508181036000830152613696816133d0565b9050919050565b600060208201905081810360008301526136b6816133f3565b9050919050565b600060208201905081810360008301526136d681613416565b9050919050565b600060208201905081810360008301526136f681613439565b9050919050565b600060208201905081810360008301526137168161345c565b9050919050565b600060208201905081810360008301526137368161347f565b9050919050565b60006020820190508181036000830152613756816134a2565b9050919050565b60006020820190508181036000830152613776816134c5565b9050919050565b60006020820190508181036000830152613796816134e8565b9050919050565b600060208201905081810360008301526137b68161350b565b9050919050565b60006020820190506137d2600083018461352e565b92915050565b60006040820190506137ed600083018561352e565b6137fa602083018461352e565b9392505050565b6000606082019050613816600083018661352e565b613823602083018561352e565b613830604083018461352e565b949350505050565b600060808201905061384d600083018761352e565b61385a602083018661352e565b613867604083018561352e565b613874606083018461352e565b95945050505050565b600060c082019050613892600083018961353d565b61389f602083018861352e565b6138ac604083018761352e565b6138b9606083018661352e565b6138c6608083018561352e565b6138d360a083018461352e565b979650505050505050565b600082825260208201905092915050565b60006138fa82613a54565b915061390583613a54565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561393a57613939613b0e565b5b828201905092915050565b600061395082613a54565b915061395b83613a54565b92508261396b5761396a613b3d565b5b828204905092915050565b600061398182613a54565b915061398c83613a54565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156139c5576139c4613b0e565b5b828202905092915050565b60006139db82613a54565b91506139e683613a54565b9250828210156139f9576139f8613b0e565b5b828203905092915050565b6000613a0f82613a34565b9050919050565b6000613a2182613a34565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613a7682613aa1565b9050919050565b6000613a8882613a8f565b9050919050565b6000613a9a82613a34565b9050919050565b6000613aac82613ab3565b9050919050565b6000613abe82613a34565b9050919050565b6000613ad082613a54565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613b0357613b02613b0e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f5573657220686173206e6f206469766964656e64730000000000000000000000600082015250565b7f596f752063616e206f6e6c7920636f6d706f756e64206f6e6365206120646179600082015250565b7f596f752063616e206f6e6c79207769746864726177206f6e6365206120646179600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f506c6561736520636865636b206d696e696d756d20636f6d706f756e64696e6760008201527f20616d6f756e7400000000000000000000000000000000000000000000000000602082015250565b7f496e76616c696420696e64657800000000000000000000000000000000000000600082015250565b7f506c6561736520636865636b20636f6e74726163742062616c616e6365000000600082015250565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b7f436865636b206d6178696d756d20696e76657374696e6720616d6f756e740000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f436865636b206d696e696d756d20696e76657374696e6720616d6f756e740000600082015250565b7f496e76616c696420706c616e0000000000000000000000000000000000000000600082015250565b7f506c6561736520636865636b206d696e696d756d207769746864726177616c2060008201527f616d6f756e740000000000000000000000000000000000000000000000000000602082015250565b613e2581613a04565b8114613e3057600080fd5b50565b613e3c81613a16565b8114613e4757600080fd5b50565b613e5381613a28565b8114613e5e57600080fd5b50565b613e6a81613a54565b8114613e7557600080fd5b50565b613e8181613a5e565b8114613e8c57600080fd5b5056fea2646970667358221220fe57c999902f50809644e25b254ea2bd7e33d5acffc77756398334477a437b8b64736f6c63430008030033

Deployed ByteCode Sourcemap

2623:12491:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3213:47;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12555:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;11406:861;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13240:170;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2847:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12419:128;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7350:1382;;;:::i;:::-;;12915:140;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3341:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14577:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10979:415;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;3306:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13063:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10470:120;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3142:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2785:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13575:255;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3273:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2694:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2156:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10816:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3383:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13424:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10598:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3057:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4819:2519;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13988:577;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;2966:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12279:132;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2724:53;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12777:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2418:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8744:1718;;;:::i;:::-;;13842:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3213:47;3256:4;3213:47;:::o;12555:214::-;12626:7;12635;12644;12672:5;:18;12678:11;12672:18;;;;;;;;;;;;;;;:25;;12698:1;12672:28;;;;;;;;;;;;;;;;;12702:5;:18;12708:11;12702:18;;;;;;;;;;;;;;;:25;;12728:1;12702:28;;;;;;;;;;;;;;;;;12732:5;:18;12738:11;12732:18;;;;;;;;;;;;;;;:25;;12758:1;12732:28;;;;;;;;;;;;;;;;;12664:97;;;;;;12555:214;;;;;:::o;11406:861::-;11474:7;11493:16;11512:5;:18;11518:11;11512:18;;;;;;;;;;;;;;;11493:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11543:19;11578:9;11590:1;11578:13;;11573:658;11597:4;:13;;;:20;11593:1;:24;11573:658;;;11661:4;:13;;;11675:1;11661:16;;;;;;;;;;;;;;;;;;;;;;:23;;;11643:4;:15;;;:41;11639:581;;;11705:13;11721:75;3256:4;11721:53;11749:4;:13;;;11763:1;11749:16;;;;;;;;;;;;;;;;;;;;;;:24;;;11721:4;:13;;;11735:1;11721:16;;;;;;;;;;;;;;;;;;;;;;:23;;;:27;;:53;;;;:::i;:::-;:57;;:75;;;;:::i;:::-;11705:91;;11815:12;11855:4;:15;;;11830:4;:13;;;11844:1;11830:16;;;;;;;;;;;;;;;;;;;;;;:22;;;:40;:83;;11898:4;:15;;;11830:83;;;11873:4;:13;;;11887:1;11873:16;;;;;;;;;;;;;;;;;;;;;;:22;;;11830:83;11815:98;;11932:10;11971:37;11992:15;11971:20;:37::i;:::-;11945:4;:13;;;11959:1;11945:16;;;;;;;;;;;;;;;;;;;;;;:23;;;:63;:129;;12037:37;12058:15;12037:20;:37::i;:::-;11945:129;;;12011:4;:13;;;12025:1;12011:16;;;;;;;;;;;;;;;;;;;;;;:23;;;11945:129;11932:142;;12104:2;12097:4;:9;12093:112;;;12145:40;12161:23;12171:12;12178:4;12171:2;:6;;:12;;;;:::i;:::-;12161:5;:9;;:23;;;;:::i;:::-;12145:11;:15;;:40;;;;:::i;:::-;12131:54;;12093:112;11639:581;;;;11619:3;;;;;:::i;:::-;;;;11573:658;;;;12248:11;12241:18;;;;11406:861;;;:::o;13240:170::-;13307:7;13334:68;13372:29;13389:11;13372:16;:29::i;:::-;13334:33;13355:11;13334:20;:33::i;:::-;:37;;:68;;;;:::i;:::-;13327:75;;13240:170;;;:::o;2847:55::-;2893:9;2847:55;:::o;12419:128::-;12485:7;12512:5;:18;12518:11;12512:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;12505:34;;12419:128;;;:::o;7350:1382::-;7388:17;7408:5;:17;7414:10;7408:17;;;;;;;;;;;;;;;7388:37;;7521:5;:17;7527:10;7521:17;;;;;;;;;;;;;;;:28;;;7481:37;7502:15;7481:20;:37::i;:::-;:68;7473:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;7598:19;7620:28;7637:10;7620:16;:28::i;:::-;7598:50;;7676:1;7663:4;:10;;;:14;7659:117;;;7708:27;7724:4;:10;;;7708:11;:15;;:27;;;;:::i;:::-;7694:41;;7763:1;7750:4;:10;;:14;;;;7659:117;7808:1;7794:11;:15;7786:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;2893:9;7854:11;:34;;7846:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7942:23;7968:9;;;;;;;;;;;:19;;;7996:4;7968:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7942:60;;8035:11;8017:15;:29;8013:91;;;8077:15;8063:29;;8013:91;2893:9;8122:11;:34;;8114:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;8203:19;8225:59;3256:4;8225:37;3013:2;8225:11;:15;;:37;;;;:::i;:::-;:41;;:59;;;;:::i;:::-;8203:81;;8295:22;8305:11;8295:9;:22::i;:::-;8330;8355:28;8371:11;8355;:15;;:28;;;;:::i;:::-;8330:53;;8422:37;8443:15;8422:20;:37::i;:::-;8404:4;:15;;:55;;;;8496:35;8516:14;8497:4;:13;;;8496:19;;:35;;;;:::i;:::-;8480:4;:13;;:51;;;;8542:9;;;;;;;;;;;:18;;;8569:10;8582:14;8542:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8636:34;8655:14;8636;;:18;;:34;;;;:::i;:::-;8618:14;:53;;;;8697:10;8687:37;;;8709:14;8687:37;;;;;;:::i;:::-;;;;;;;;7350:1382;;;;;:::o;12915:140::-;12991:7;13018:5;:18;13024:11;13018:18;;;;;;;;;;;;;;;:29;;;13011:36;;12915:140;;;:::o;3341:29::-;;;;:::o;14577:196::-;2386:5;;;;;;;;;;2372:19;;:10;:19;;;2364:28;;;;;;14712:1:::1;14680:34;;:20;:34;;;;14672:43;;;::::0;::::1;;14745:20;14726:16;;:39;;;;;;;;;;;;;;;;;;14577:196:::0;:::o;10979:415::-;11049:15;11066:14;11082:15;11099:14;11140:1;11133:4;:8;;;11125:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;11179:16;11190:4;11179:10;:16::i;:::-;11169:26;;11215:64;11262:5;11268:4;11262:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;11215:42;3256:4;11215:20;11227:7;11215;:11;;:20;;;;:::i;:::-;:24;;:42;;;;:::i;:::-;:46;;:64;;;;:::i;:::-;11206:73;;11300:37;11321:15;11300:20;:37::i;:::-;11290:47;;11357:29;11369:5;11375:4;11369:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;11357:7;:11;;:29;;;;:::i;:::-;11348:38;;10979:415;;;;;;;:::o;3306:28::-;;;;:::o;13063:169::-;13138:7;13165:59;13199:5;:18;13205:11;13199:18;;;;;;;;;;;;;;;:24;;;13165:5;:18;13171:11;13165:18;;;;;;;;;;;;;;;:29;;;:33;;:59;;;;:::i;:::-;13158:66;;13063:169;;;:::o;10470:120::-;10521:7;10548:9;;;;;;;;;;;:19;;;10576:4;10548:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10541:41;;10470:120;:::o;3142:41::-;3181:2;3142:41;:::o;2785:55::-;2829:11;2785:55;:::o;13575:255::-;13646:14;13678:9;13690:1;13678:13;;13673:150;13697:5;:18;13703:11;13697:18;;;;;;;;;;;;;;;:27;;:34;;;;13693:1;:38;13673:150;;;13762:49;13773:5;:18;13779:11;13773:18;;;;;;;;;;;;;;;:27;;13801:1;13773:30;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;13762:6;:10;;:49;;;;:::i;:::-;13753:58;;13733:3;;;;;:::i;:::-;;;;13673:150;;;;13575:255;;;:::o;3273:26::-;;;;:::o;2694:23::-;;;;;;;;;;;;;:::o;2156:20::-;;;;;;;;;;;;:::o;10816:151::-;10869:7;10904:1;10897:4;:8;;;10889:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;10940:5;10946:4;10940:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;10933:26;;10816:151;;;:::o;3383:93::-;;;;;;;;;;;;;:::o;13424:143::-;13498:7;13525:5;:18;13531:11;13525:18;;;;;;;;;;;;;;;:27;;:34;;;;13518:41;;13424:143;;;:::o;10598:210::-;10651:12;10665:15;10708:1;10701:4;:8;;;10693:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;10744:5;10750:4;10744:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;10737:23;;10781:5;10787:4;10781:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;10771:29;;10598:210;;;:::o;3057:42::-;3097:2;3057:42;:::o;4819:2519::-;2768:9;4898;:30;;4890:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;2829:11;4981:9;:30;;4973:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;5056:10;5097:8;5085:9;:20;5082:192;;;5128:1;5121:8;;5082:192;;;5162:8;5149:9;:21;;:49;;;;;5187:11;5175:9;:23;5149:49;5146:128;;;5221:1;5214:8;;5146:128;;;5261:1;5254:8;;5146:128;5082:192;5286:9;;;;;;;;;;;:22;;;5309:10;5329:4;5336:9;5286:60;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5396:17;5416:76;3256:4;5416:54;5430:39;3097:2;3013;5430:24;;:39;;;;:::i;:::-;5416:9;:13;;:54;;;;:::i;:::-;:58;;:76;;;;:::i;:::-;5396:96;;5503:20;5513:9;5503;:20::i;:::-;5536:21;5560:24;5574:9;5560;:13;;:24;;;;:::i;:::-;5536:48;;5597:17;5617:5;:17;5623:10;5617:17;;;;;;;;;;;;;;;5597:37;;5674:1;5649:27;;:4;:13;;;;;;;;;;;;:27;;;5645:515;;;5731:1;5697:5;:15;5703:8;5697:15;;;;;;;;;;;;;;;:24;;:31;;;;:35;:61;;;;;5748:10;5736:22;;:8;:22;;;;5697:61;5693:126;;;5795:8;5779:4;:13;;;:24;;;;;;;;;;;;;;;;;;5693:126;5847:14;5864:4;:13;;;;;;;;;;;;5847:30;;5897:9;5892:257;5916:1;5912;:5;5892:257;;;5965:1;5947:20;;:6;:20;;;5943:190;;6018:30;6046:1;6018:5;:13;6024:6;6018:13;;;;;;;;;;;;;;;:20;;6039:1;6018:23;;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;5992:5;:13;5998:6;5992:13;;;;;;;;;;;;;;;:20;;6013:1;5992:23;;;;;;;;;;;;;;;;:56;;;;6080:5;:13;6086:6;6080:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;6071:31;;5943:190;;;6128:5;;5943:190;5919:3;;;;;:::i;:::-;;;;5892:257;;;;5645:515;;6201:1;6176:27;;:4;:13;;;;;;;;;;;;:27;;;6172:612;;6220:14;6237:4;:13;;;;;;;;;;;;6220:30;;6270:9;6265:508;6289:1;6285;:5;6265:508;;;6338:1;6320:20;;:6;:20;;;6316:441;;6365:14;6382:61;3256:4;6382:39;6400:17;6418:1;6400:20;;;;;;;;;;;;;;;;;;;;;;;;6382:13;:17;;:39;;;;:::i;:::-;:43;;:61;;;;:::i;:::-;6365:78;;6488:31;6512:6;6488:5;:13;6494:6;6488:13;;;;;;;;;;;;;;;:19;;;:23;;:31;;;;:::i;:::-;6466:5;:13;6472:6;6466:13;;;;;;;;;;;;;;;:19;;:53;;;;6569:36;6598:6;6569:5;:13;6575:6;6569:13;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;6542:5;:13;6548:6;6542:13;;;;;;;;;;;;;;;:24;;:63;;;;6662:1;6650:10;6633:39;;6642:6;6633:39;;;6665:6;6633:39;;;;;;:::i;:::-;;;;;;;;6704:5;:13;6710:6;6704:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;6695:31;;6316:441;;;;6752:5;;6316:441;6292:3;;;;;:::i;:::-;;;;6265:508;;;;6172:612;;6824:1;6800:4;:13;;:20;;;;:25;6796:151;;;6860:37;6881:15;6860:20;:37::i;:::-;6842:4;:15;;:55;;;;6917:18;6924:10;6917:18;;;;;;:::i;:::-;;;;;;;;6796:151;6968:15;6985:14;7003;7021:30;7031:4;7037:13;7021:9;:30::i;:::-;6967:84;;;;;;;7062:4;:13;;7081:92;;;;;;;;7089:4;7081:92;;;;;;7095:7;7081:92;;;;7104:13;7081:92;;;;7119:6;7081:92;;;;7127:37;7148:15;7127:20;:37::i;:::-;7081:92;;;;7166:6;7081:92;;;7062:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7199:30;7215:13;7199:11;;:15;;:30;;;;:::i;:::-;7185:11;:44;;;;7256:10;7245:85;;;7268:4;7274:7;7283:13;7298:6;7306:15;7323:6;7245:85;;;;;;;;;;;:::i;:::-;;;;;;;;4819:2519;;;;;;;;;:::o;13988:577::-;14073:10;14085:15;14102:14;14118;14134:13;14149:14;14175:16;14194:5;:18;14200:11;14194:18;;;;;;;;;;;;;;;14175:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14239:4;:13;;;:20;14231:5;:28;14223:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;14297:4;:13;;;14311:5;14297:20;;;;;;;;;;;;;;;;;;;;;;:25;;;14290:32;;14343:4;:13;;;14357:5;14343:20;;;;;;;;;;;;;;;;;;;;;;:28;;;14333:38;;14391:4;:13;;;14405:5;14391:20;;;;;;;;;;;;;;;;;;;;;;:27;;;14382:36;;14438:4;:13;;;14452:5;14438:20;;;;;;;;;;;;;;;;;;;;;;:27;;;14429:36;;14484:4;:13;;;14498:5;14484:20;;;;;;;;;;;;;;;;;;;;;;:26;;;14476:34;;14530:4;:13;;;14544:5;14530:20;;;;;;;;;;;;;;;;;;;;;;:27;;;14521:36;;13988:577;;;;;;;;;:::o;2966:49::-;3013:2;2966:49;:::o;12279:132::-;12347:7;12374:5;:18;12380:11;12374:18;;;;;;;;;;;;;;;:29;;;12367:36;;12279:132;;;:::o;2724:53::-;2768:9;2724:53;:::o;12777:130::-;12848:7;12875:5;:18;12881:11;12875:18;;;;;;;;;;;;;;;:24;;;12868:31;;12777:130;;;:::o;2418:198::-;2386:5;;;;;;;;;;2372:19;;:10;:19;;;2364:28;;;;;;2521:1:::1;2500:23;;:9;:23;;;;2492:32;;;::::0;::::1;;2570:9;2540:40;;2563:5;::::0;::::1;;;;;;;;2540:40;;;;;;;;;;;;2599:9;2591:5;::::0;:17:::1;;;;;;;;;;;;;;;;;;2418:198:::0;:::o;8744:1718::-;8782:17;8802:5;:17;8808:10;8802:17;;;;;;;;;;;;;;;8782:37;;8915:5;:17;8921:10;8915:17;;;;;;;;;;;;;;;:28;;;8875:37;8896:15;8875:20;:37::i;:::-;:68;8867:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;8992:19;9014:28;9031:10;9014:16;:28::i;:::-;8992:50;;9070:1;9057:4;:10;;;:14;9053:117;;;9102:27;9118:4;:10;;;9102:11;:15;;:27;;;;:::i;:::-;9088:41;;9157:1;9144:4;:10;;:14;;;;9053:117;9202:1;9188:11;:15;9180:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;2893:9;9248:11;:34;;9240:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;9339:10;9382:8;9368:11;:22;9365:198;;;9413:1;9406:8;;9365:198;;;9449:8;9434:11;:23;;:53;;;;;9476:11;9462;:25;9434:53;9431:132;;;9510:1;9503:8;;9431:132;;;9550:1;9543:8;;9431:132;9365:198;9575:23;9601:9;;;;;;;;;;;:19;;;9629:4;9601:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9575:60;;9668:11;9650:15;:29;9646:91;;;9710:15;9696:29;;9646:91;2893:9;9755:11;:34;;9747:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;9854:37;9875:15;9854:20;:37::i;:::-;9836:4;:15;;:55;;;;9904:19;9926:51;3256:4;9926:29;3181:2;9926:11;:15;;:29;;;;:::i;:::-;:33;;:51;;;;:::i;:::-;9904:73;;9988:22;9998:11;9988:9;:22::i;:::-;10021;10046:28;10062:11;10046;:15;;:28;;;;:::i;:::-;10021:53;;10088:15;10105:14;10123;10141:31;10151:4;10157:14;10141:9;:31::i;:::-;10087:85;;;;;;;10183:4;:13;;10202:93;;;;;;;;10210:4;10202:93;;;;;;10216:7;10202:93;;;;10225:14;10202:93;;;;10241:6;10202:93;;;;10249:37;10270:15;10249:20;:37::i;:::-;10202:93;;;;10288:6;10202:93;;;10183:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10321:31;10337:14;10321:11;;:15;;:31;;;;:::i;:::-;10307:11;:45;;;;10379:10;10368:86;;;10391:4;10397:7;10406:14;10422:6;10430:15;10447:6;10368:86;;;;;;;;;;;:::i;:::-;;;;;;;;8744:1718;;;;;;;;;:::o;13842:134::-;13914:7;13941:5;:18;13947:11;13941:18;;;;;;;;;;;;;;;:27;;;13934:34;;13842:134;;;:::o;16539:246::-;16597:7;16626:1;16621;:6;16617:47;;;16651:1;16644:8;;;;16617:47;16674:9;16690:1;16686;:5;;;;:::i;:::-;16674:17;;16719:1;16714;16710;:5;;;;:::i;:::-;:10;16702:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;16776:1;16769:8;;;16539:246;;;;;:::o;16791:177::-;16849:7;16881:1;16877;:5;16869:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;16924:9;16940:1;16936;:5;;;;:::i;:::-;16924:17;;16959:1;16952:8;;;16791:177;;;;:::o;14781:153::-;14848:7;14867:14;14884:18;14893:8;14884:4;:8;;:18;;;;:::i;:::-;14867:35;;14920:6;14913:13;;;14781:153;;;:::o;16351:182::-;16409:7;16442:1;16437;:6;;16429:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;16489:9;16505:1;16501;:5;;;;:::i;:::-;16489:17;;16524:1;16517:8;;;16351:182;;;;:::o;16166:179::-;16224:7;16244:9;16260:1;16256;:5;;;;:::i;:::-;16244:17;;16285:1;16280;:6;;16272:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;16336:1;16329:8;;;16166:179;;;;:::o;4666:141::-;4717:9;;;;;;;;;;;:18;;;4736:16;;;;;;;;;;;4754:3;4717:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4783:10;4774:25;;;4795:3;4774:25;;;;;;:::i;:::-;;;;;;;;4666:141;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:155::-;;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;212:95;;;;:::o;313:137::-;;398:6;392:13;383:22;;414:30;438:5;414:30;:::i;:::-;373:77;;;;:::o;456:139::-;;540:6;527:20;518:29;;556:33;583:5;556:33;:::i;:::-;508:87;;;;:::o;601:143::-;;689:6;683:13;674:22;;705:33;732:5;705:33;:::i;:::-;664:80;;;;:::o;750:135::-;;832:6;819:20;810:29;;848:31;873:5;848:31;:::i;:::-;800:85;;;;:::o;891:262::-;;999:2;987:9;978:7;974:23;970:32;967:2;;;1015:1;1012;1005:12;967:2;1058:1;1083:53;1128:7;1119:6;1108:9;1104:22;1083:53;:::i;:::-;1073:63;;1029:117;957:196;;;;:::o;1159:278::-;;1275:2;1263:9;1254:7;1250:23;1246:32;1243:2;;;1291:1;1288;1281:12;1243:2;1334:1;1359:61;1412:7;1403:6;1392:9;1388:22;1359:61;:::i;:::-;1349:71;;1305:125;1233:204;;;;:::o;1443:407::-;;;1568:2;1556:9;1547:7;1543:23;1539:32;1536:2;;;1584:1;1581;1574:12;1536:2;1627:1;1652:53;1697:7;1688:6;1677:9;1673:22;1652:53;:::i;:::-;1642:63;;1598:117;1754:2;1780:53;1825:7;1816:6;1805:9;1801:22;1780:53;:::i;:::-;1770:63;;1725:118;1526:324;;;;;:::o;1856:278::-;;1972:2;1960:9;1951:7;1947:23;1943:32;1940:2;;;1988:1;1985;1978:12;1940:2;2031:1;2056:61;2109:7;2100:6;2089:9;2085:22;2056:61;:::i;:::-;2046:71;;2002:125;1930:204;;;;:::o;2140:284::-;;2259:2;2247:9;2238:7;2234:23;2230:32;2227:2;;;2275:1;2272;2265:12;2227:2;2318:1;2343:64;2399:7;2390:6;2379:9;2375:22;2343:64;:::i;:::-;2333:74;;2289:128;2217:207;;;;:::o;2430:258::-;;2536:2;2524:9;2515:7;2511:23;2507:32;2504:2;;;2552:1;2549;2542:12;2504:2;2595:1;2620:51;2663:7;2654:6;2643:9;2639:22;2620:51;:::i;:::-;2610:61;;2566:115;2494:194;;;;:::o;2694:403::-;;;2817:2;2805:9;2796:7;2792:23;2788:32;2785:2;;;2833:1;2830;2823:12;2785:2;2876:1;2901:51;2944:7;2935:6;2924:9;2920:22;2901:51;:::i;:::-;2891:61;;2847:115;3001:2;3027:53;3072:7;3063:6;3052:9;3048:22;3027:53;:::i;:::-;3017:63;;2972:118;2775:322;;;;;:::o;3103:147::-;3198:45;3237:5;3198:45;:::i;:::-;3193:3;3186:58;3176:74;;:::o;3256:142::-;3359:32;3385:5;3359:32;:::i;:::-;3354:3;3347:45;3337:61;;:::o;3404:118::-;3491:24;3509:5;3491:24;:::i;:::-;3486:3;3479:37;3469:53;;:::o;3528:161::-;3630:52;3676:5;3630:52;:::i;:::-;3625:3;3618:65;3608:81;;:::o;3695:366::-;;3858:67;3922:2;3917:3;3858:67;:::i;:::-;3851:74;;3934:93;4023:3;3934:93;:::i;:::-;4052:2;4047:3;4043:12;4036:19;;3841:220;;;:::o;4067:366::-;;4230:67;4294:2;4289:3;4230:67;:::i;:::-;4223:74;;4306:93;4395:3;4306:93;:::i;:::-;4424:2;4419:3;4415:12;4408:19;;4213:220;;;:::o;4439:366::-;;4602:67;4666:2;4661:3;4602:67;:::i;:::-;4595:74;;4678:93;4767:3;4678:93;:::i;:::-;4796:2;4791:3;4787:12;4780:19;;4585:220;;;:::o;4811:366::-;;4974:67;5038:2;5033:3;4974:67;:::i;:::-;4967:74;;5050:93;5139:3;5050:93;:::i;:::-;5168:2;5163:3;5159:12;5152:19;;4957:220;;;:::o;5183:366::-;;5346:67;5410:2;5405:3;5346:67;:::i;:::-;5339:74;;5422:93;5511:3;5422:93;:::i;:::-;5540:2;5535:3;5531:12;5524:19;;5329:220;;;:::o;5555:366::-;;5718:67;5782:2;5777:3;5718:67;:::i;:::-;5711:74;;5794:93;5883:3;5794:93;:::i;:::-;5912:2;5907:3;5903:12;5896:19;;5701:220;;;:::o;5927:366::-;;6090:67;6154:2;6149:3;6090:67;:::i;:::-;6083:74;;6166:93;6255:3;6166:93;:::i;:::-;6284:2;6279:3;6275:12;6268:19;;6073:220;;;:::o;6299:366::-;;6462:67;6526:2;6521:3;6462:67;:::i;:::-;6455:74;;6538:93;6627:3;6538:93;:::i;:::-;6656:2;6651:3;6647:12;6640:19;;6445:220;;;:::o;6671:366::-;;6834:67;6898:2;6893:3;6834:67;:::i;:::-;6827:74;;6910:93;6999:3;6910:93;:::i;:::-;7028:2;7023:3;7019:12;7012:19;;6817:220;;;:::o;7043:366::-;;7206:67;7270:2;7265:3;7206:67;:::i;:::-;7199:74;;7282:93;7371:3;7282:93;:::i;:::-;7400:2;7395:3;7391:12;7384:19;;7189:220;;;:::o;7415:366::-;;7578:67;7642:2;7637:3;7578:67;:::i;:::-;7571:74;;7654:93;7743:3;7654:93;:::i;:::-;7772:2;7767:3;7763:12;7756:19;;7561:220;;;:::o;7787:366::-;;7950:67;8014:2;8009:3;7950:67;:::i;:::-;7943:74;;8026:93;8115:3;8026:93;:::i;:::-;8144:2;8139:3;8135:12;8128:19;;7933:220;;;:::o;8159:366::-;;8322:67;8386:2;8381:3;8322:67;:::i;:::-;8315:74;;8398:93;8487:3;8398:93;:::i;:::-;8516:2;8511:3;8507:12;8500:19;;8305:220;;;:::o;8531:366::-;;8694:67;8758:2;8753:3;8694:67;:::i;:::-;8687:74;;8770:93;8859:3;8770:93;:::i;:::-;8888:2;8883:3;8879:12;8872:19;;8677:220;;;:::o;8903:118::-;8990:24;9008:5;8990:24;:::i;:::-;8985:3;8978:37;8968:53;;:::o;9027:112::-;9110:22;9126:5;9110:22;:::i;:::-;9105:3;9098:35;9088:51;;:::o;9145:222::-;;9276:2;9265:9;9261:18;9253:26;;9289:71;9357:1;9346:9;9342:17;9333:6;9289:71;:::i;:::-;9243:124;;;;:::o;9373:254::-;;9520:2;9509:9;9505:18;9497:26;;9533:87;9617:1;9606:9;9602:17;9593:6;9533:87;:::i;:::-;9487:140;;;;:::o;9633:348::-;;9800:2;9789:9;9785:18;9777:26;;9813:79;9889:1;9878:9;9874:17;9865:6;9813:79;:::i;:::-;9902:72;9970:2;9959:9;9955:18;9946:6;9902:72;:::i;:::-;9767:214;;;;;:::o;9987:442::-;;10174:2;10163:9;10159:18;10151:26;;10187:71;10255:1;10244:9;10240:17;10231:6;10187:71;:::i;:::-;10268:72;10336:2;10325:9;10321:18;10312:6;10268:72;:::i;:::-;10350;10418:2;10407:9;10403:18;10394:6;10350:72;:::i;:::-;10141:288;;;;;;:::o;10435:252::-;;10581:2;10570:9;10566:18;10558:26;;10594:86;10677:1;10666:9;10662:17;10653:6;10594:86;:::i;:::-;10548:139;;;;:::o;10693:419::-;;10897:2;10886:9;10882:18;10874:26;;10946:9;10940:4;10936:20;10932:1;10921:9;10917:17;10910:47;10974:131;11100:4;10974:131;:::i;:::-;10966:139;;10864:248;;;:::o;11118:419::-;;11322:2;11311:9;11307:18;11299:26;;11371:9;11365:4;11361:20;11357:1;11346:9;11342:17;11335:47;11399:131;11525:4;11399:131;:::i;:::-;11391:139;;11289:248;;;:::o;11543:419::-;;11747:2;11736:9;11732:18;11724:26;;11796:9;11790:4;11786:20;11782:1;11771:9;11767:17;11760:47;11824:131;11950:4;11824:131;:::i;:::-;11816:139;;11714:248;;;:::o;11968:419::-;;12172:2;12161:9;12157:18;12149:26;;12221:9;12215:4;12211:20;12207:1;12196:9;12192:17;12185:47;12249:131;12375:4;12249:131;:::i;:::-;12241:139;;12139:248;;;:::o;12393:419::-;;12597:2;12586:9;12582:18;12574:26;;12646:9;12640:4;12636:20;12632:1;12621:9;12617:17;12610:47;12674:131;12800:4;12674:131;:::i;:::-;12666:139;;12564:248;;;:::o;12818:419::-;;13022:2;13011:9;13007:18;12999:26;;13071:9;13065:4;13061:20;13057:1;13046:9;13042:17;13035:47;13099:131;13225:4;13099:131;:::i;:::-;13091:139;;12989:248;;;:::o;13243:419::-;;13447:2;13436:9;13432:18;13424:26;;13496:9;13490:4;13486:20;13482:1;13471:9;13467:17;13460:47;13524:131;13650:4;13524:131;:::i;:::-;13516:139;;13414:248;;;:::o;13668:419::-;;13872:2;13861:9;13857:18;13849:26;;13921:9;13915:4;13911:20;13907:1;13896:9;13892:17;13885:47;13949:131;14075:4;13949:131;:::i;:::-;13941:139;;13839:248;;;:::o;14093:419::-;;14297:2;14286:9;14282:18;14274:26;;14346:9;14340:4;14336:20;14332:1;14321:9;14317:17;14310:47;14374:131;14500:4;14374:131;:::i;:::-;14366:139;;14264:248;;;:::o;14518:419::-;;14722:2;14711:9;14707:18;14699:26;;14771:9;14765:4;14761:20;14757:1;14746:9;14742:17;14735:47;14799:131;14925:4;14799:131;:::i;:::-;14791:139;;14689:248;;;:::o;14943:419::-;;15147:2;15136:9;15132:18;15124:26;;15196:9;15190:4;15186:20;15182:1;15171:9;15167:17;15160:47;15224:131;15350:4;15224:131;:::i;:::-;15216:139;;15114:248;;;:::o;15368:419::-;;15572:2;15561:9;15557:18;15549:26;;15621:9;15615:4;15611:20;15607:1;15596:9;15592:17;15585:47;15649:131;15775:4;15649:131;:::i;:::-;15641:139;;15539:248;;;:::o;15793:419::-;;15997:2;15986:9;15982:18;15974:26;;16046:9;16040:4;16036:20;16032:1;16021:9;16017:17;16010:47;16074:131;16200:4;16074:131;:::i;:::-;16066:139;;15964:248;;;:::o;16218:419::-;;16422:2;16411:9;16407:18;16399:26;;16471:9;16465:4;16461:20;16457:1;16446:9;16442:17;16435:47;16499:131;16625:4;16499:131;:::i;:::-;16491:139;;16389:248;;;:::o;16643:222::-;;16774:2;16763:9;16759:18;16751:26;;16787:71;16855:1;16844:9;16840:17;16831:6;16787:71;:::i;:::-;16741:124;;;;:::o;16871:332::-;;17030:2;17019:9;17015:18;17007:26;;17043:71;17111:1;17100:9;17096:17;17087:6;17043:71;:::i;:::-;17124:72;17192:2;17181:9;17177:18;17168:6;17124:72;:::i;:::-;16997:206;;;;;:::o;17209:442::-;;17396:2;17385:9;17381:18;17373:26;;17409:71;17477:1;17466:9;17462:17;17453:6;17409:71;:::i;:::-;17490:72;17558:2;17547:9;17543:18;17534:6;17490:72;:::i;:::-;17572;17640:2;17629:9;17625:18;17616:6;17572:72;:::i;:::-;17363:288;;;;;;:::o;17657:553::-;;17872:3;17861:9;17857:19;17849:27;;17886:71;17954:1;17943:9;17939:17;17930:6;17886:71;:::i;:::-;17967:72;18035:2;18024:9;18020:18;18011:6;17967:72;:::i;:::-;18049;18117:2;18106:9;18102:18;18093:6;18049:72;:::i;:::-;18131;18199:2;18188:9;18184:18;18175:6;18131:72;:::i;:::-;17839:371;;;;;;;:::o;18216:767::-;;18483:3;18472:9;18468:19;18460:27;;18497:67;18561:1;18550:9;18546:17;18537:6;18497:67;:::i;:::-;18574:72;18642:2;18631:9;18627:18;18618:6;18574:72;:::i;:::-;18656;18724:2;18713:9;18709:18;18700:6;18656:72;:::i;:::-;18738;18806:2;18795:9;18791:18;18782:6;18738:72;:::i;:::-;18820:73;18888:3;18877:9;18873:19;18864:6;18820:73;:::i;:::-;18903;18971:3;18960:9;18956:19;18947:6;18903:73;:::i;:::-;18450:533;;;;;;;;;:::o;18989:169::-;;19107:6;19102:3;19095:19;19147:4;19142:3;19138:14;19123:29;;19085:73;;;;:::o;19164:305::-;;19223:20;19241:1;19223:20;:::i;:::-;19218:25;;19257:20;19275:1;19257:20;:::i;:::-;19252:25;;19411:1;19343:66;19339:74;19336:1;19333:81;19330:2;;;19417:18;;:::i;:::-;19330:2;19461:1;19458;19454:9;19447:16;;19208:261;;;;:::o;19475:185::-;;19532:20;19550:1;19532:20;:::i;:::-;19527:25;;19566:20;19584:1;19566:20;:::i;:::-;19561:25;;19605:1;19595:2;;19610:18;;:::i;:::-;19595:2;19652:1;19649;19645:9;19640:14;;19517:143;;;;:::o;19666:348::-;;19729:20;19747:1;19729:20;:::i;:::-;19724:25;;19763:20;19781:1;19763:20;:::i;:::-;19758:25;;19951:1;19883:66;19879:74;19876:1;19873:81;19868:1;19861:9;19854:17;19850:105;19847:2;;;19958:18;;:::i;:::-;19847:2;20006:1;20003;19999:9;19988:20;;19714:300;;;;:::o;20020:191::-;;20080:20;20098:1;20080:20;:::i;:::-;20075:25;;20114:20;20132:1;20114:20;:::i;:::-;20109:25;;20153:1;20150;20147:8;20144:2;;;20158:18;;:::i;:::-;20144:2;20203:1;20200;20196:9;20188:17;;20065:146;;;;:::o;20217:96::-;;20283:24;20301:5;20283:24;:::i;:::-;20272:35;;20262:51;;;:::o;20319:104::-;;20393:24;20411:5;20393:24;:::i;:::-;20382:35;;20372:51;;;:::o;20429:90::-;;20506:5;20499:13;20492:21;20481:32;;20471:48;;;:::o;20525:126::-;;20602:42;20595:5;20591:54;20580:65;;20570:81;;;:::o;20657:77::-;;20723:5;20712:16;;20702:32;;;:::o;20740:86::-;;20815:4;20808:5;20804:16;20793:27;;20783:43;;;:::o;20832:134::-;;20923:37;20954:5;20923:37;:::i;:::-;20910:50;;20900:66;;;:::o;20972:156::-;;21070:52;21116:5;21070:52;:::i;:::-;21057:65;;21047:81;;;:::o;21134:128::-;;21232:24;21250:5;21232:24;:::i;:::-;21219:37;;21209:53;;;:::o;21268:126::-;;21351:37;21382:5;21351:37;:::i;:::-;21338:50;;21328:66;;;:::o;21400:113::-;;21483:24;21501:5;21483:24;:::i;:::-;21470:37;;21460:53;;;:::o;21519:233::-;;21581:24;21599:5;21581:24;:::i;:::-;21572:33;;21627:66;21620:5;21617:77;21614:2;;;21697:18;;:::i;:::-;21614:2;21744:1;21737:5;21733:13;21726:20;;21562:190;;;:::o;21758:180::-;21806:77;21803:1;21796:88;21903:4;21900:1;21893:15;21927:4;21924:1;21917:15;21944:180;21992:77;21989:1;21982:88;22089:4;22086:1;22079:15;22113:4;22110:1;22103:15;22130:171;22270:23;22266:1;22258:6;22254:14;22247:47;22236:65;:::o;22307:182::-;22447:34;22443:1;22435:6;22431:14;22424:58;22413:76;:::o;22495:182::-;22635:34;22631:1;22623:6;22619:14;22612:58;22601:76;:::o;22683:177::-;22823:29;22819:1;22811:6;22807:14;22800:53;22789:71;:::o;22866:226::-;23006:34;23002:1;22994:6;22990:14;22983:58;23075:9;23070:2;23062:6;23058:15;23051:34;22972:120;:::o;23098:163::-;23238:15;23234:1;23226:6;23222:14;23215:39;23204:57;:::o;23267:179::-;23407:31;23403:1;23395:6;23391:14;23384:55;23373:73;:::o;23452:180::-;23592:32;23588:1;23580:6;23576:14;23569:56;23558:74;:::o;23638:176::-;23778:28;23774:1;23766:6;23762:14;23755:52;23744:70;:::o;23820:180::-;23960:32;23956:1;23948:6;23944:14;23937:56;23926:74;:::o;24006:220::-;24146:34;24142:1;24134:6;24130:14;24123:58;24215:3;24210:2;24202:6;24198:15;24191:28;24112:114;:::o;24232:180::-;24372:32;24368:1;24360:6;24356:14;24349:56;24338:74;:::o;24418:162::-;24558:14;24554:1;24546:6;24542:14;24535:38;24524:56;:::o;24586:225::-;24726:34;24722:1;24714:6;24710:14;24703:58;24795:8;24790:2;24782:6;24778:15;24771:33;24692:119;:::o;24817:122::-;24890:24;24908:5;24890:24;:::i;:::-;24883:5;24880:35;24870:2;;24929:1;24926;24919:12;24870:2;24860:79;:::o;24945:138::-;25026:32;25052:5;25026:32;:::i;:::-;25019:5;25016:43;25006:2;;25073:1;25070;25063:12;25006:2;24996:87;:::o;25089:116::-;25159:21;25174:5;25159:21;:::i;:::-;25152:5;25149:32;25139:2;;25195:1;25192;25185:12;25139:2;25129:76;:::o;25211:122::-;25284:24;25302:5;25284:24;:::i;:::-;25277:5;25274:35;25264:2;;25323:1;25320;25313:12;25264:2;25254:79;:::o;25339:118::-;25410:22;25426:5;25410:22;:::i;:::-;25403:5;25400:33;25390:2;;25447:1;25444;25437:12;25390:2;25380:77;:::o

Swarm Source

ipfs://fe57c999902f50809644e25b254ea2bd7e33d5acffc77756398334477a437b8b
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.