Contract 0x64ABE5d97fEd5b1BF8477074b542b2F1f39e4ce0

 
Txn Hash
Block
From
To
Value [Txn Fee]
0x288f558b0aa4eb3ad079cb60a20354f624a5f2c8b9444f98a38e4718057acedf84819612021-06-21 5:54:2512 hrs 53 mins ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000285965
0xa7ce51e3e466e077b2cb89d1f40da4bf7a7f1cc540ff47962fe31a3c5c7c594c84819412021-06-21 5:53:2512 hrs 54 mins ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000285965
0x0a4d78b04670fa91d58fc2402dbd7faee60946341b61f5680c1bf158d6ce1c9e84681822021-06-20 18:25:111 day 22 mins ago0x4918b01d67933ddaf772bf4a5104739741b70222 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.00024375
0xf9c0d0e02ae180c13ea67a8eb46b50f0076bd555148ab47354c0852102df835c84667972021-06-20 17:15:561 day 1 hr ago0x4918b01d67933ddaf772bf4a5104739741b70222 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.00024385
0x9461ba1ae9e97bd329abad46458c3264a3c0576fecabc772839156d00568f19b84648072021-06-20 15:36:261 day 3 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001315915
0xc0b9ff8297c446eecdecc95d50a5e470dcb83f0454dfd80d900fc7781832f79584511362021-06-20 4:11:341 day 14 hrs ago0x463ea6f74153d94cd72c0f2c122b8c5422008cff IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001070345
0x30324878d39e6cd1fe56bd357f01e421d52254fa631e31aee7adaa5ecc09d30784450612021-06-19 23:07:401 day 19 hrs ago0x64345ea721dcf38516889962b8348182f9bc0eb5 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.00107447
0x96682721736bb5be9609959d7c5bcf018089d9a6327f746f16f78925ef2e5d0284369982021-06-19 16:24:002 days 2 hrs ago0x463ea6f74153d94cd72c0f2c122b8c5422008cff IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001105535
0xf6454316b5631390ba903aa85747b869fd52bf1713981974fd424e994d5e1f1e84310452021-06-19 11:19:132 days 7 hrs ago0xd65ae51e8ee984f258bae763451dc5e841997ab2 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001591
0xda191967b6221e024d125920c65de2fd94cec90f8d1ef6081a202d00c0448d5c84294502021-06-19 9:58:052 days 8 hrs ago0xfde3b2f4a191c24025008e3250eac55407faff9c IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000201635
0xa112306a614bff6fc8d09bc0f7079e3a260111eb4c6d7665bb8230af88884bb484133552021-06-18 20:26:592 days 22 hrs ago0x4918b01d67933ddaf772bf4a5104739741b70222 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.000978165
0x17bff10cef693e383695e70548e9ff6504cc8083830b502636b8d78a7e9d0e3c84043602021-06-18 12:54:003 days 5 hrs ago0x463ea6f74153d94cd72c0f2c122b8c5422008cff IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001070345
0x4b88d63c28684200e0f48bca842ce23ff3726099f16a53341bcb95d39c4d7a8b83446632021-06-16 10:44:425 days 8 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001273695
0xb922c24abb05f2a83a54d38a9ce16b55928bf44cc05f8950ab1592c631c14db783369712021-06-16 4:17:115 days 14 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.00102038
0x474d23ac110809535168145e553e3f184dc457f367986b6a28f727420d7c785e83332062021-06-16 1:06:215 days 17 hrs ago0x463ea6f74153d94cd72c0f2c122b8c5422008cff IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001070345
0x2fc98c9d095a86cff403a35f3b0683bb83f3dde14143115ec2268c467ea6255f83302712021-06-15 22:38:155 days 20 hrs ago0x69762f5b20f47019a0f44825333bccf41552256f IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001592
0xb5c710fa881ec77e4d7e5d86b38f81a0991ca49e2c04c45fb2fdcd803fc9415483296162021-06-15 22:05:205 days 20 hrs ago0x69762f5b20f47019a0f44825333bccf41552256f IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001591
0x8e54feeb89b27e6fa662d09861078d8e5ab13df233deab43114e5b1696b01ab983252832021-06-15 18:26:516 days 20 mins ago0x64345ea721dcf38516889962b8348182f9bc0eb5 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001253405
0x8465906a35d811813e762010006e1cc5adfb381b389f9a04594cd00d4e402bc483194982021-06-15 13:34:576 days 5 hrs ago0x463ea6f74153d94cd72c0f2c122b8c5422008cff IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.001070345
0xdc3f3353ed267c4b0f60f047a200c10e7b39eea2d9f7cba37da53d2c951be23982980952021-06-14 19:24:346 days 23 hrs ago0x65eb79c3b087dc08274ed755b45d3becaa16ef70 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001591
0xddfb08ce972e17ad9cce8a7038fad9cc1993f61751a1195106fc1d4c03b1b82782901112021-06-14 12:43:417 days 6 hrs ago0x5dbf3665d4ac8a29f2514a534a81148c3b87ff60 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001591
0x51221c494344ebfa73dd4675d172fe89ebee5570aeb9a6d885c4399a98c89dfd82896812021-06-14 12:21:177 days 6 hrs ago0xffcee3941130a9de34520ecb630856046ed711a3 IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001591
0xe8e082f0c0e38f3024e2a12c4ba1072d42753b61c95f10be509e9802f1f3a65582866892021-06-14 9:51:057 days 8 hrs ago0xbaf6a2a7ac62fa36cc8376ca18831e54c07e3deb IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001591
0x41fdae6766404a9e0f0d42a2e599607263c1965ac7e841949143c0113e22101e82665912021-06-13 16:50:138 days 1 hr ago0xda05097d46517869b92ae48faf9c729b2ee8c2eb IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001591
0xdb2e290fa8f93da8b026401d7bceef830760e75d81c4e966f864e5c3246cf91382661432021-06-13 16:27:078 days 2 hrs ago0xda05097d46517869b92ae48faf9c729b2ee8c2eb IN  0x64abe5d97fed5b1bf8477074b542b2f1f39e4ce00 BNB0.0001591
[ 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 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.