Contract 0xcca28d05b3979341b464df3a22c80110d966bfef

Contract Overview

Balance:
0 MOVR

MOVR Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xc7168f4ae86bfb861453eef27d1c2935321c775aac25b32d679971674883d658Withdraw38662052023-03-21 11:02:4822 hrs 19 mins ago0xf594ff31ad2bc73324039a8d5ef0b07ad6105dda IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.000195844
0x2e8ce3e7245915125cf4f4cc2bb68082a7294988ccc7a1b24599a0171f05e48cWithdraw37612492023-03-06 9:55:3615 days 23 hrs ago0xf594ff31ad2bc73324039a8d5ef0b07ad6105dda IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00022079
0x087af25c4fabacee0361f7b46545174c6942c86621aa565cc11fbdeb2d59599fWithdraw37179262023-02-28 5:26:3622 days 3 hrs ago0x540f4a95f2917bcb4e86c9c69b6753add46e64b2 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.000071216
0xbf13b2da3e9ec14443977bc6f8b1d81a76bc71ac13ea1a3520254c9e04b5cf07Reinvest36238092023-02-14 19:59:4235 days 13 hrs ago0x0eeda225ed01e60573480b32f239f76a6ce84e6f IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.0001792425
0x0d17ecc3a8c019b3643cd93893a4ad908bf1f134ac3a9492ece5ef3a6d6e268bWithdraw35997272023-02-11 10:11:3038 days 23 hrs ago0xf594ff31ad2bc73324039a8d5ef0b07ad6105dda IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00022079
0x92f854ff5ec5d02cdb9ec5649f96b2c3d37b7c008dec6ece2824fcb9231cf3adWithdraw35202752023-01-31 3:51:0050 days 5 hrs ago0x540f4a95f2917bcb4e86c9c69b6753add46e64b2 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.000088316
0x758cd66b625d11d3d701b28094b1285bd5edccc42761fe9eac2aa8c143fce194Withdraw34608682023-01-22 17:17:4258 days 16 hrs ago0xf594ff31ad2bc73324039a8d5ef0b07ad6105dda IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00022079
0x9ad7ba116eb0d4ae8667a73a8de286882f77c93d2478a7568ee9764ffec1d027Reinvest33767442023-01-10 15:37:0670 days 17 hrs ago0x0eeda225ed01e60573480b32f239f76a6ce84e6f IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.0001792425
0x665f5acfdaaf428f34231cf15ff1ebe4592689175a49d25f867762fadb9f2c19Withdraw33337112023-01-04 12:07:4876 days 21 hrs ago0xf594ff31ad2bc73324039a8d5ef0b07ad6105dda IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00022079
0xc36465e13bc1f78cab27e537d541aceb45c88e1d3d29324c447c0ad6fcb5f002Withdraw33220522023-01-02 20:15:0078 days 13 hrs ago0x540f4a95f2917bcb4e86c9c69b6753add46e64b2 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.000071216
0x19b634ba53429c8ba9d58fa7ea138fafa4cf3314338cb196470dc482b2c27a6eWithdraw32349282022-12-21 9:52:1890 days 23 hrs ago0xf594ff31ad2bc73324039a8d5ef0b07ad6105dda IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00022079
0xb6d60a65f01c3161120fbca7568201fc3d7e4bf4211ad47cd6ceeef283658a1cReinvest32288192022-12-20 12:41:3091 days 20 hrs ago0x0eeda225ed01e60573480b32f239f76a6ce84e6f IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.0001792425
0x0a5c10214ba314986b44095e36ac65cc3891da4067f1f9a0a757154ed04a4717Withdraw31916492022-12-14 22:44:4897 days 10 hrs ago0x540f4a95f2917bcb4e86c9c69b6753add46e64b2 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.000071216
0xa712a1c25db7464afa385f3cda5f84e24558f676253ef36b4f874c3d92c8c797Withdraw31248852022-12-04 13:31:24107 days 19 hrs ago0xf594ff31ad2bc73324039a8d5ef0b07ad6105dda IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00022079
0xcd56acbc18c87403b2b430f2e193005f7b52f24b0e5fcd133cb969886d9416d4Reinvest30367722022-11-21 18:38:18120 days 14 hrs ago0x0eeda225ed01e60573480b32f239f76a6ce84e6f IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.0001792425
0x2b39f1116ad3ec0d45e0aa65ee3114066993dcf063e355a50af01528436e874fWithdraw29763122022-11-12 22:42:00129 days 10 hrs ago0x12c13e485c8f4ceef61f7d6774a196f94f53bf14 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00022079
0x8467fd34fefd19ea9b7955fdac9dad1fa529958c62024909e6f72bdc05d7cc20Pay Vault29498782022-11-09 2:59:30133 days 6 hrs ago0x7b7b667905d6503cb9b47d1ceb8f71ae3a1db3b9 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00016699
0x249651db3c4aaec5a6e92a6d9cc9a2e80223a271f3b80904fee81f8c1d9f99dfWithdraw29308912022-11-06 8:44:42136 days 38 mins ago0x77e9fec1bae22a93b975f2eb00208b6cf4cc44d4 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00022079
0x9a14301179461d3587a6d7d27666d37437e1ba82affbc9c31ec73c4469485825Withdraw29308882022-11-06 8:44:06136 days 38 mins ago0x77e9fec1bae22a93b975f2eb00208b6cf4cc44d4 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.000204545
0x1e7be50292ee412fe1e4f554f495060a9d45ce4604335f32bc1986fe2ceb7cc0Remove29308862022-11-06 8:43:36136 days 39 mins ago0x77e9fec1bae22a93b975f2eb00208b6cf4cc44d4 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.0001559175
0xce99aa5c4aa0b5dccb15278c14fd87059730182b3f97848d238ff8d6c17e9a30Withdraw29212802022-11-04 23:23:18137 days 9 hrs ago0x77e9fec1bae22a93b975f2eb00208b6cf4cc44d4 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00022079
0x39275bda654b0003b162c31d08c68128484a66d857165d98ddb1104c8808de10Remove29212692022-11-04 23:21:00137 days 10 hrs ago0x77e9fec1bae22a93b975f2eb00208b6cf4cc44d4 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.0001678875
0x43e38369470f5d0f1a9e81e1ccf421d4a1be4d5b990b194d73caba8f8044d22dWithdraw29212242022-11-04 23:11:18137 days 10 hrs ago0x77e9fec1bae22a93b975f2eb00208b6cf4cc44d4 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00017804
0xe74f8c25edd7fb65857200642743392c29c35d122fd36aa9dc98e408d4eab844Withdraw29072252022-11-02 22:28:00139 days 10 hrs ago0xf594ff31ad2bc73324039a8d5ef0b07ad6105dda IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.00018579
0xec8c453d1925d2c9dc12e143be42352d05baa28fbb87118cb60e596e9d15c762Withdraw28825642022-10-30 9:13:42143 days 9 mins ago0x540f4a95f2917bcb4e86c9c69b6753add46e64b2 IN  0xcca28d05b3979341b464df3a22c80110d966bfef0 MOVR0.000054416
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LPFarm

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at moonriver.moonscan.io on 2022-01-10
*/

// File: Context.sol


// OpenZeppelin Contracts v4.3.2 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}
// File: PadLPFarm.sol

pragma solidity ^0.8.0;


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

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

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

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface TOKEN {
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

contract LPFarm is Ownable {
    using SafeMath for uint256;

    modifier hasDripped {
        if (dividendPool > 0) {
          uint256 secondsPassed = SafeMath.sub(block.timestamp, lastDripTime);
          uint256 dividends = secondsPassed.mul(dividendPool).div(dailyRate);

          if (dividends > dividendPool) {
            dividends = dividendPool;
          }

          profitPerShare = SafeMath.add(profitPerShare, (dividends * magnitude) / tokenSupply);
          dividendPool = dividendPool.sub(dividends);
          lastDripTime = block.timestamp;
        }
        _;
    }

    modifier onlyTokenHolders {
        require(myShares() > 0);
        _;
    }

    modifier onlyDivis {
        require(myRewards() > 0);
        _;
    }

    event onDonation(
        address indexed userAddress,
        uint256 tokens
    );

    event onStake(
        address indexed userAddress,
        uint256 incomingTokens,
        uint256 timestamp
    );

    event onUnstake(
        address indexed customerAddress,
        uint256 tokenRemoved,
        uint256 timestamp
    );

    event onReinvest(
        address indexed customerAddress,
        uint256 tokensReinvested
    );

    event onWithdraw(
        address indexed customerAddress,
        uint256 tokensWithdrawn
    );

    event feeReceiverChanged(
        address indexed previousFeeReceiver,
        address indexed newFeeReceiver
    );

    uint256 constant private magnitude = 2 ** 64;
    uint32 constant private dailyRate = 11520000; //0.75% a day
    uint8 constant private buyInFee = 75;
    uint8 constant private sellOutFee = 75;
    uint8 constant private vaultFee = 25;

    mapping(address => uint256) private tokenBalanceLedger;
    mapping(address => int256) private payoutsTo;

    uint256 public dividendPool = 0;
    uint256 public lastDripTime = block.timestamp;
    uint256 public totalDonation = 0;
    uint256 public totalVaultFundReceived = 0;
    uint256 public totalVaultFundCollected = 0;

    uint256 private tokenSupply = 0;
    uint256 private profitPerShare = 0;

    address public feeReceiver;
    TOKEN bep20;

    constructor() {
        feeReceiver = address(0x7a06dbaE8666e7DbdCf26A37be020dfedC782176); //vault address
        bep20 = TOKEN(address(0x21D6DbcA8aACdAa739e40180b1C8C828B46Ae376)); //pair token
    }

    fallback() external payable {
        revert();
    }

    receive() external payable {
        revert();
    }

    function checkAndTransfer(uint256 _amount) private {
        require(bep20.transferFrom(msg.sender, address(this), _amount) == true, "transfer must succeed");
    }

    function donateToPool(uint256 _amount) public {
        require(_amount > 0 && tokenSupply > 0, "must be a positive value and have supply");
        checkAndTransfer(_amount);
        totalDonation += _amount;
        dividendPool = dividendPool.add(_amount);
        emit onDonation(msg.sender, _amount);
    }

    function payVault() public {
        uint256 _tokensToPay = tokensToPay();
        require(_tokensToPay > 0);
        bep20.transfer(feeReceiver, _tokensToPay);
        totalVaultFundReceived = totalVaultFundReceived.add(_tokensToPay);
    }

    function reinvest() hasDripped onlyDivis public {
        address _customerAddress = msg.sender;
        uint256 _dividends = myRewards();
        payoutsTo[_customerAddress] +=  (int256) (_dividends.mul(magnitude));
        uint256 _tokens = purchaseTokens(_customerAddress, _dividends);
        emit onReinvest(_customerAddress, _tokens);
    }

    function withdraw() hasDripped onlyDivis public {
        address _customerAddress = msg.sender;
        uint256 _dividends = myRewards();
        payoutsTo[_customerAddress] += (int256) (_dividends.mul(magnitude));
        bep20.transfer(_customerAddress, _dividends);
        emit onWithdraw(_customerAddress, _dividends);
    }

    function deposit(uint256 _amount) hasDripped public returns (uint256) {
        checkAndTransfer(_amount);
        return purchaseTokens(msg.sender, _amount);
    }

    function _purchaseTokens(address _customerAddress, uint256 _incomingTokens) private returns(uint256) {
        uint256 _amountOfTokens = _incomingTokens;

        require(_amountOfTokens > 0 && _amountOfTokens.add(tokenSupply) > tokenSupply);

        tokenSupply = tokenSupply.add(_amountOfTokens);
        tokenBalanceLedger[_customerAddress] =  tokenBalanceLedger[_customerAddress].add(_amountOfTokens);

        int256 _updatedPayouts = (int256) (profitPerShare.mul(_amountOfTokens));
        payoutsTo[_customerAddress] += _updatedPayouts;

        return _amountOfTokens;
    }

    function purchaseTokens(address _customerAddress, uint256 _incomingTokens) private returns (uint256) {
        require(_incomingTokens > 0);

        uint256 _dividendFee = _incomingTokens.mul(buyInFee).div(1000);

        uint256 _vaultFee = _incomingTokens.mul(vaultFee).div(1000);

        uint256 _entryFee = _incomingTokens.mul(100).div(1000);
        uint256 _taxedTokens = _incomingTokens.sub(_entryFee);

        uint256 _amountOfTokens = _purchaseTokens(_customerAddress, _taxedTokens);

        dividendPool = dividendPool.add(_dividendFee);
        totalVaultFundCollected = totalVaultFundCollected.add(_vaultFee);

        emit onStake(_customerAddress, _amountOfTokens, block.timestamp);

        return _amountOfTokens;
    }

    function remove(uint256 _amountOfTokens) hasDripped onlyTokenHolders public {
        address _customerAddress = msg.sender;
        require(_amountOfTokens > 0 && _amountOfTokens <= tokenBalanceLedger[_customerAddress]);

        uint256 _dividendFee = _amountOfTokens.mul(sellOutFee).div(1000);
        uint256 _vaultFee = _amountOfTokens.mul(vaultFee).div(1000);
        uint256 _taxedTokens = _amountOfTokens.sub(_dividendFee).sub(_vaultFee);

        tokenSupply = tokenSupply.sub(_amountOfTokens);
        tokenBalanceLedger[_customerAddress] = tokenBalanceLedger[_customerAddress].sub(_amountOfTokens);

        int256 _updatedPayouts = (int256) ((profitPerShare.mul(_amountOfTokens)).add(_taxedTokens.mul(magnitude)));
        payoutsTo[_customerAddress] -= _updatedPayouts;

        dividendPool = dividendPool.add(_dividendFee);
        totalVaultFundCollected = totalVaultFundCollected.add(_vaultFee);
          
        emit onUnstake(_customerAddress, _taxedTokens, block.timestamp);
    }

    function totalTokenBalance() public view returns (uint256) {
        return bep20.balanceOf(address(this));
    }

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

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

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

    function estimateRewardsOf(address _customerAddress) public view returns (uint256) {
        uint256 _profitPerShare = profitPerShare;

        if (dividendPool > 0) {
          uint256 secondsPassed = 0;
       
          secondsPassed = SafeMath.sub(block.timestamp, lastDripTime);

          uint256 dividends = secondsPassed.mul(dividendPool).div(dailyRate);

          if (dividends > dividendPool) {
            dividends = dividendPool;
          }

          _profitPerShare = SafeMath.add(_profitPerShare, (dividends * magnitude) / tokenSupply);
        }

        return (uint256) ((int256) (_profitPerShare * tokenBalanceLedger[_customerAddress]) - payoutsTo[_customerAddress]) / magnitude;
    }

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

    function rewardsOf(address _customerAddress) public view returns (uint256) {
        return (uint256) ((int256) (profitPerShare * tokenBalanceLedger[_customerAddress]) - payoutsTo[_customerAddress]) / magnitude;
    }

    function sharesOf(address _customerAddress) public view returns (uint256) {
        return tokenBalanceLedger[_customerAddress];
    }

    function tokensToPay() public view returns(uint256) {
        return totalVaultFundCollected.sub(totalVaultFundReceived);
    }
    
    function changeFeeReceiver(address _newFeeReceiver) onlyOwner public {
        address _oldFeeReceiver = _newFeeReceiver;
        feeReceiver = _newFeeReceiver;
        emit feeReceiverChanged(_oldFeeReceiver, _newFeeReceiver);
    }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousFeeReceiver","type":"address"},{"indexed":true,"internalType":"address","name":"newFeeReceiver","type":"address"}],"name":"feeReceiverChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"onDonation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensReinvested","type":"uint256"}],"name":"onReinvest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"incomingTokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"onStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenRemoved","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"onUnstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"name":"changeFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dividendPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"donateToPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"estimateRewardsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastDripTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myEstimateRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reinvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"}],"name":"remove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"rewardsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"sharesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensToPay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDonation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalVaultFundCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalVaultFundReceived","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"},{"stateMutability":"payable","type":"receive"}]

60806040526000600355426004556000600555600060065560006007556000600855600060095534801561003257600080fd5b5061004f6100446100fe60201b60201c565b61010660201b60201c565b737a06dbae8666e7dbdcf26a37be020dfedc782176600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507321d6dbca8aacdaa739e40180b1c8c828b46ae376600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101ca565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61226580620001da6000396000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063ede6a80d1161006f578063ede6a80d14610480578063ee2ac05f14610497578063f2fde38b146104c2578063f5eb42dc146104eb578063fba1f7b014610528578063fdb5a03e1461055357610159565b80638da5cb5b1461036c5780639e7a475714610397578063b3f00674146103c2578063b6b55f25146103ed578063d4a483941461042a578063da2f63c11461045557610159565b80633d4b2c2c116101085780633d4b2c2c1461025c57806342a7afe214610287578063479ba7ae146102b25780634cc82215146102ef5780634e09d0cc146103185780637c08b9641461034357610159565b8063173425101461015e57806318160ddd146101895780631efcca28146101b45780632d6fa0cc146101f157806330d172d51461021a5780633ccfd60b1461024557610159565b3661015957600080fd5b600080fd5b34801561016a57600080fd5b5061017361056a565b6040516101809190611db8565b60405180910390f35b34801561019557600080fd5b5061019e610570565b6040516101ab9190611db8565b60405180910390f35b3480156101c057600080fd5b506101db60048036038101906101d69190611b6f565b61057a565b6040516101e89190611db8565b60405180910390f35b3480156101fd57600080fd5b5061021860048036038101906102139190611bc1565b6106c2565b005b34801561022657600080fd5b5061022f6107a1565b60405161023c9190611db8565b60405180910390f35b34801561025157600080fd5b5061025a6107a7565b005b34801561026857600080fd5b506102716109f6565b60405161027e9190611db8565b60405180910390f35b34801561029357600080fd5b5061029c610aa8565b6040516102a99190611db8565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d49190611b6f565b610abd565b6040516102e69190611db8565b60405180910390f35b3480156102fb57600080fd5b5061031660048036038101906103119190611bc1565b610b71565b005b34801561032457600080fd5b5061032d610efa565b60405161033a9190611db8565b60405180910390f35b34801561034f57600080fd5b5061036a60048036038101906103659190611b6f565b610f18565b005b34801561037857600080fd5b50610381611038565b60405161038e9190611cbd565b60405180910390f35b3480156103a357600080fd5b506103ac611061565b6040516103b99190611db8565b60405180910390f35b3480156103ce57600080fd5b506103d7611076565b6040516103e49190611cbd565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190611bc1565b61109c565b6040516104219190611db8565b60405180910390f35b34801561043657600080fd5b5061043f61116e565b60405161044c9190611db8565b60405180910390f35b34801561046157600080fd5b5061046a611183565b6040516104779190611db8565b60405180910390f35b34801561048c57600080fd5b50610495611189565b005b3480156104a357600080fd5b506104ac611292565b6040516104b99190611db8565b60405180910390f35b3480156104ce57600080fd5b506104e960048036038101906104e49190611b6f565b611298565b005b3480156104f757600080fd5b50610512600480360381019061050d9190611b6f565b611390565b60405161051f9190611db8565b60405180910390f35b34801561053457600080fd5b5061053d6113d9565b60405161054a9190611db8565b60405180910390f35b34801561055f57600080fd5b506105686113df565b005b60065481565b6000600854905090565b60008060095490506000600354111561061157600061059b4260045461158d565b905060006105cf62afc80063ffffffff166105c1600354856115da90919063ffffffff16565b61164390919063ffffffff16565b90506003548111156105e15760035490505b61060c8360085468010000000000000000846105fd9190611f28565b6106079190611ef7565b611659565b925050505b68010000000000000000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836106a69190611f28565b6106b09190611f82565b6106ba9190611ef7565b915050919050565b6000811180156106d457506000600854115b610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070a90611d98565b60405180910390fd5b61071c816116a6565b806005600082825461072e9190611ea1565b9250508190555061074a8160035461165990919063ffffffff16565b6003819055503373ffffffffffffffffffffffffffffffffffffffff167fabff69012e8615729dfcbe25d4c003cf6ce7c59d5ec16530f8d51b1b24646944826040516107969190611db8565b60405180910390a250565b60035481565b6000600354111561085e5760006107c04260045461158d565b905060006107f462afc80063ffffffff166107e6600354856115da90919063ffffffff16565b61164390919063ffffffff16565b90506003548111156108065760035490505b61083360095460085468010000000000000000846108249190611f28565b61082e9190611ef7565b611659565b60098190555061084e8160035461158d90919063ffffffff16565b6003819055504260048190555050505b6000610868610aa8565b1161087257600080fd5b60003390506000610881610aa8565b905061089f68010000000000000000826115da90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108ed9190611e0d565b92505081905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610951929190611d0f565b602060405180830381600087803b15801561096b57600080fd5b505af115801561097f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a39190611b98565b508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040516109ea9190611db8565b60405180910390a25050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a539190611cbd565b60206040518083038186803b158015610a6b57600080fd5b505afa158015610a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa39190611bea565b905090565b600080339050610ab781610abd565b91505090565b600068010000000000000000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600954610b569190611f28565b610b609190611f82565b610b6a9190611ef7565b9050919050565b60006003541115610c28576000610b8a4260045461158d565b90506000610bbe62afc80063ffffffff16610bb0600354856115da90919063ffffffff16565b61164390919063ffffffff16565b9050600354811115610bd05760035490505b610bfd6009546008546801000000000000000084610bee9190611f28565b610bf89190611ef7565b611659565b600981905550610c188160035461158d90919063ffffffff16565b6003819055504260048190555050505b6000610c32611061565b11610c3c57600080fd5b6000339050600082118015610c905750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b610c9957600080fd5b6000610cc66103e8610cb8604b60ff16866115da90919063ffffffff16565b61164390919063ffffffff16565b90506000610cf56103e8610ce7601960ff16876115da90919063ffffffff16565b61164390919063ffffffff16565b90506000610d1e82610d10858861158d90919063ffffffff16565b61158d90919063ffffffff16565b9050610d358560085461158d90919063ffffffff16565b600881905550610d8d85600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610e14610df168010000000000000000846115da90919063ffffffff16565b610e06886009546115da90919063ffffffff16565b61165990919063ffffffff16565b905080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e659190611f82565b92505081905550610e818460035461165990919063ffffffff16565b600381905550610e9c8360075461165990919063ffffffff16565b6007819055508473ffffffffffffffffffffffffffffffffffffffff167f3d9fb957a04f1f29e06526e9c503fd88a0752d3a58eeccbaeb9e9b17fa24ee418342604051610eea929190611dd3565b60405180910390a2505050505050565b6000610f1360065460075461158d90919063ffffffff16565b905090565b610f206117a0565b73ffffffffffffffffffffffffffffffffffffffff16610f3e611038565b73ffffffffffffffffffffffffffffffffffffffff1614610f94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8b90611d78565b60405180910390fd5b600081905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f47bbed8023ac1a0fe3025394c8f6b641a067058c37bc4eb3b7ccd0c68a7606b860405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008033905061107081611390565b91505090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060035411156111545760006110b64260045461158d565b905060006110ea62afc80063ffffffff166110dc600354856115da90919063ffffffff16565b61164390919063ffffffff16565b90506003548111156110fc5760035490505b611129600954600854680100000000000000008461111a9190611f28565b6111249190611ef7565b611659565b6009819055506111448160035461158d90919063ffffffff16565b6003819055504260048190555050505b61115d826116a6565b61116733836117a8565b9050919050565b60008033905061117d8161057a565b91505090565b60075481565b6000611193610efa565b9050600081116111a257600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611221929190611d0f565b602060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112739190611b98565b506112898160065461165990919063ffffffff16565b60068190555050565b60055481565b6112a06117a0565b73ffffffffffffffffffffffffffffffffffffffff166112be611038565b73ffffffffffffffffffffffffffffffffffffffff1614611314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130b90611d78565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90611d38565b60405180910390fd5b61138d816118f9565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60045481565b600060035411156114965760006113f84260045461158d565b9050600061142c62afc80063ffffffff1661141e600354856115da90919063ffffffff16565b61164390919063ffffffff16565b905060035481111561143e5760035490505b61146b600954600854680100000000000000008461145c9190611f28565b6114669190611ef7565b611659565b6009819055506114868160035461158d90919063ffffffff16565b6003819055504260048190555050505b60006114a0610aa8565b116114aa57600080fd5b600033905060006114b9610aa8565b90506114d768010000000000000000826115da90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115259190611e0d565b92505081905550600061153883836117a8565b90508273ffffffffffffffffffffffffffffffffffffffff167f897045d5a66380517228d05ffbff921f593231848283388b9a65d03e73945eee826040516115809190611db8565b60405180910390a2505050565b6000828211156115c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b81836115d29190612016565b905092915050565b6000808314156115ed576000905061163d565b81836115f99190611f28565b90508183826116089190611ef7565b1461163c577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b5b92915050565b600081836116519190611ef7565b905092915050565b600081836116679190611ea1565b9050828110156116a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b92915050565b60011515600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161170993929190611cd8565b602060405180830381600087803b15801561172357600080fd5b505af1158015611737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175b9190611b98565b15151461179d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179490611d58565b60405180910390fd5b50565b600033905090565b60008082116117b657600080fd5b60006117e36103e86117d5604b60ff16866115da90919063ffffffff16565b61164390919063ffffffff16565b905060006118126103e8611804601960ff16876115da90919063ffffffff16565b61164390919063ffffffff16565b9050600061183e6103e86118306064886115da90919063ffffffff16565b61164390919063ffffffff16565b90506000611855828761158d90919063ffffffff16565b9050600061186388836119bd565b905061187a8560035461165990919063ffffffff16565b6003819055506118958460075461165990919063ffffffff16565b6007819055508773ffffffffffffffffffffffffffffffffffffffff167f67eb285178ed97c7defb3f6b5d97ea47f24ca9a429e1d6e8f31db80a7c1d930082426040516118e3929190611dd3565b60405180910390a2809550505050505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808290506000811180156119e857506008546119e66008548361165990919063ffffffff16565b115b6119f157600080fd5b611a068160085461165990919063ffffffff16565b600881905550611a5e81600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611ab8826009546115da90919063ffffffff16565b905080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b099190611e0d565b92505081905550819250505092915050565b600081359050611b2a816121ea565b92915050565b600081519050611b3f81612201565b92915050565b600081359050611b5481612218565b92915050565b600081519050611b6981612218565b92915050565b600060208284031215611b8157600080fd5b6000611b8f84828501611b1b565b91505092915050565b600060208284031215611baa57600080fd5b6000611bb884828501611b30565b91505092915050565b600060208284031215611bd357600080fd5b6000611be184828501611b45565b91505092915050565b600060208284031215611bfc57600080fd5b6000611c0a84828501611b5a565b91505092915050565b611c1c8161204a565b82525050565b6000611c2f602683611dfc565b9150611c3a826120fa565b604082019050919050565b6000611c52601583611dfc565b9150611c5d82612149565b602082019050919050565b6000611c75602083611dfc565b9150611c8082612172565b602082019050919050565b6000611c98602883611dfc565b9150611ca38261219b565b604082019050919050565b611cb781612092565b82525050565b6000602082019050611cd26000830184611c13565b92915050565b6000606082019050611ced6000830186611c13565b611cfa6020830185611c13565b611d076040830184611cae565b949350505050565b6000604082019050611d246000830185611c13565b611d316020830184611cae565b9392505050565b60006020820190508181036000830152611d5181611c22565b9050919050565b60006020820190508181036000830152611d7181611c45565b9050919050565b60006020820190508181036000830152611d9181611c68565b9050919050565b60006020820190508181036000830152611db181611c8b565b9050919050565b6000602082019050611dcd6000830184611cae565b92915050565b6000604082019050611de86000830185611cae565b611df56020830184611cae565b9392505050565b600082825260208201905092915050565b6000611e1882612068565b9150611e2383612068565b9250817f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03831360008312151615611e5e57611e5d61209c565b5b817f8000000000000000000000000000000000000000000000000000000000000000038312600083121615611e9657611e9561209c565b5b828201905092915050565b6000611eac82612092565b9150611eb783612092565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611eec57611eeb61209c565b5b828201905092915050565b6000611f0282612092565b9150611f0d83612092565b925082611f1d57611f1c6120cb565b5b828204905092915050565b6000611f3382612092565b9150611f3e83612092565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f7757611f7661209c565b5b828202905092915050565b6000611f8d82612068565b9150611f9883612068565b9250827f800000000000000000000000000000000000000000000000000000000000000001821260008412151615611fd357611fd261209c565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01821360008412161561200b5761200a61209c565b5b828203905092915050565b600061202182612092565b915061202c83612092565b92508282101561203f5761203e61209c565b5b828203905092915050565b600061205582612072565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f7472616e73666572206d75737420737563636565640000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f6d757374206265206120706f7369746976652076616c756520616e642068617660008201527f6520737570706c79000000000000000000000000000000000000000000000000602082015250565b6121f38161204a565b81146121fe57600080fd5b50565b61220a8161205c565b811461221557600080fd5b50565b61222181612092565b811461222c57600080fd5b5056fea2646970667358221220e4bf4c54f91aaacf0968c190900d7dc3cbdaf1268ca40a8c8f28bb54b9b5a99464736f6c63430008040033

Deployed ByteCode Sourcemap

3219:8773:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5740:8;;;3219:8773;5678:8;;;5194:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9915:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10346:725;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5938:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5065:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6877:336;;;;;;;;;;;;;:::i;:::-;;9792:115;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11079:153;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11240:219;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8764:1020;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11611:129;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11752:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1921:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10012:150;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5374:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7221:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10170:168;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5242:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6263:246;;;;;;;;;;;;;:::i;:::-;;5155:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2376:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11467:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5103:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6517:352;;;;;;;;;;;;;:::i;:::-;;5194:41;;;;:::o;9915:89::-;9958:7;9985:11;;9978:18;;9915:89;:::o;10346:725::-;10420:7;10440:23;10466:14;;10440:40;;10512:1;10497:12;;:16;10493:432;;;10528:21;10591:43;10604:15;10621:12;;10591;:43::i;:::-;10575:59;;10649:17;10669:46;4789:8;10669:46;;:31;10687:12;;10669:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;10649:66;;10746:12;;10734:9;:24;10730:83;;;10787:12;;10775:24;;10730:83;10845:68;10858:15;10901:11;;4739:7;10876:9;:21;;;;:::i;:::-;10875:37;;;;:::i;:::-;10845:12;:68::i;:::-;10827:86;;10493:432;;;4739:7;11023:9;:27;11033:16;11023:27;;;;;;;;;;;;;;;;10983:18;:36;11002:16;10983:36;;;;;;;;;;;;;;;;10965:15;:54;;;;:::i;:::-;10955:95;;;;:::i;:::-;10944:119;;;;:::i;:::-;10937:126;;;10346:725;;;:::o;5938:317::-;6013:1;6003:7;:11;:30;;;;;6032:1;6018:11;;:15;6003:30;5995:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;6089:25;6106:7;6089:16;:25::i;:::-;6142:7;6125:13;;:24;;;;;;;:::i;:::-;;;;;;;;6175:25;6192:7;6175:12;;:16;;:25;;;;:::i;:::-;6160:12;:40;;;;6227:10;6216:31;;;6239:7;6216:31;;;;;;:::i;:::-;;;;;;;;5938:317;:::o;5065:31::-;;;;:::o;6877:336::-;3338:1;3323:12;;:16;3319:487;;;3354:21;3378:43;3391:15;3408:12;;3378;:43::i;:::-;3354:67;;3434:17;3454:46;4789:8;3454:46;;:31;3472:12;;3454:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;3434:66;;3531:12;;3519:9;:24;3515:83;;;3572:12;;3560:24;;3515:83;3629:67;3642:14;;3684:11;;4739:7;3659:9;:21;;;;:::i;:::-;3658:37;;;;:::i;:::-;3629:12;:67::i;:::-;3612:14;:84;;;;3724:27;3741:9;3724:12;;:16;;:27;;;;:::i;:::-;3709:12;:42;;;;3779:15;3764:12;:30;;;;3319:487;;;3973:1:::1;3959:11;:9;:11::i;:::-;:15;3951:24;;;::::0;::::1;;6936::::2;6963:10;6936:37;;6984:18;7005:11;:9;:11::i;:::-;6984:32;;7068:25;4739:7;7068:10;:14;;:25;;;;:::i;:::-;7027:9;:27;7037:16;7027:27;;;;;;;;;;;;;;;;:67;;;;;;;:::i;:::-;;;;;;;;7105:5;;;;;;;;;;;:14;;;7120:16;7138:10;7105:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7176:16;7165:40;;;7194:10;7165:40;;;;;;:::i;:::-;;;;;;;;3986:1;;6877:336::o:0;9792:115::-;9842:7;9869:5;;;;;;;;;;;:15;;;9893:4;9869:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9862:37;;9792:115;:::o;11079:153::-;11121:7;11141:24;11168:10;11141:37;;11196:27;11206:16;11196:9;:27::i;:::-;11189:34;;;11079:153;:::o;11240:219::-;11306:7;4739;11411:9;:27;11421:16;11411:27;;;;;;;;;;;;;;;;11371:18;:36;11390:16;11371:36;;;;;;;;;;;;;;;;11354:14;;:53;;;;:::i;:::-;11344:94;;;;:::i;:::-;11333:118;;;;:::i;:::-;11326:125;;11240:219;;;:::o;8764:1020::-;3338:1;3323:12;;:16;3319:487;;;3354:21;3378:43;3391:15;3408:12;;3378;:43::i;:::-;3354:67;;3434:17;3454:46;4789:8;3454:46;;:31;3472:12;;3454:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;3434:66;;3531:12;;3519:9;:24;3515:83;;;3572:12;;3560:24;;3515:83;3629:67;3642:14;;3684:11;;4739:7;3659:9;:21;;;;:::i;:::-;3658:37;;;;:::i;:::-;3629:12;:67::i;:::-;3612:14;:84;;;;3724:27;3741:9;3724:12;;:16;;:27;;;;:::i;:::-;3709:12;:42;;;;3779:15;3764:12;:30;;;;3319:487;;;3891:1:::1;3878:10;:8;:10::i;:::-;:14;3870:23;;;::::0;::::1;;8851:24:::2;8878:10;8851:37;;8925:1;8907:15;:19;:78;;;;;8949:18;:36;8968:16;8949:36;;;;;;;;;;;;;;;;8930:15;:55;;8907:78;8899:87;;;::::0;::::2;;8999:20;9022:41;9058:4;9022:31;4897:2;9022:31;;:15;:19;;:31;;;;:::i;:::-;:35;;:41;;;;:::i;:::-;8999:64;;9074:17;9094:39;9128:4;9094:29;4940:2;9094:29;;:15;:19;;:29;;;;:::i;:::-;:33;;:39;;;;:::i;:::-;9074:59;;9144:20;9167:48;9205:9;9167:33;9187:12;9167:15;:19;;:33;;;;:::i;:::-;:37;;:48;;;;:::i;:::-;9144:71;;9242:32;9258:15;9242:11;;:15;;:32;;;;:::i;:::-;9228:11;:46;;;;9324:57;9365:15;9324:18;:36;9343:16;9324:36;;;;;;;;;;;;;;;;:40;;:57;;;;:::i;:::-;9285:18;:36;9304:16;9285:36;;;;;;;;;;;;;;;:96;;;;9394:22;9429:70;9471:27;4739:7;9471:12;:16;;:27;;;;:::i;:::-;9430:35;9449:15;9430:14;;:18;;:35;;;;:::i;:::-;9429:41;;:70;;;;:::i;:::-;9394:106;;9542:15;9511:9;:27;9521:16;9511:27;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;9585:30;9602:12;9585;;:16;;:30;;;;:::i;:::-;9570:12;:45;;;;9652:38;9680:9;9652:23;;:27;;:38;;;;:::i;:::-;9626:23;:64;;;;9728:16;9718:58;;;9746:12;9760:15;9718:58;;;;;;;:::i;:::-;;;;;;;;3904:1;;;;;8764:1020:::0;:::o;11611:129::-;11654:7;11681:51;11709:22;;11681:23;;:27;;:51;;;;:::i;:::-;11674:58;;11611:129;:::o;11752:237::-;2152:12;:10;:12::i;:::-;2141:23;;:7;:5;:7::i;:::-;:23;;;2133:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11832:23:::1;11858:15;11832:41;;11898:15;11884:11;;:29;;;;;;;;;;;;;;;;;;11965:15;11929:52;;11948:15;11929:52;;;;;;;;;;;;2212:1;11752:237:::0;:::o;1921:87::-;1967:7;1994:6;;;;;;;;;;;1987:13;;1921:87;:::o;10012:150::-;10053:7;10073:24;10100:10;10073:37;;10128:26;10137:16;10128:8;:26::i;:::-;10121:33;;;10012:150;:::o;5374:26::-;;;;;;;;;;;;;:::o;7221:167::-;7282:7;3338:1;3323:12;;:16;3319:487;;;3354:21;3378:43;3391:15;3408:12;;3378;:43::i;:::-;3354:67;;3434:17;3454:46;4789:8;3454:46;;:31;3472:12;;3454:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;3434:66;;3531:12;;3519:9;:24;3515:83;;;3572:12;;3560:24;;3515:83;3629:67;3642:14;;3684:11;;4739:7;3659:9;:21;;;;:::i;:::-;3658:37;;;;:::i;:::-;3629:12;:67::i;:::-;3612:14;:84;;;;3724:27;3741:9;3724:12;;:16;;:27;;;;:::i;:::-;3709:12;:42;;;;3779:15;3764:12;:30;;;;3319:487;;;7302:25:::1;7319:7;7302:16;:25::i;:::-;7345:35;7360:10;7372:7;7345:14;:35::i;:::-;7338:42;;7221:167:::0;;;:::o;10170:168::-;10220:7;10240:24;10267:10;10240:37;;10295:35;10313:16;10295:17;:35::i;:::-;10288:42;;;10170:168;:::o;5242:42::-;;;;:::o;6263:246::-;6301:20;6324:13;:11;:13::i;:::-;6301:36;;6371:1;6356:12;:16;6348:25;;;;;;6384:5;;;;;;;;;;;:14;;;6399:11;;;;;;;;;;;6412:12;6384:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6461:40;6488:12;6461:22;;:26;;:40;;;;:::i;:::-;6436:22;:65;;;;6263:246;:::o;5155:32::-;;;;:::o;2376:201::-;2152:12;:10;:12::i;:::-;2141:23;;:7;:5;:7::i;:::-;:23;;;2133:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2485:1:::1;2465:22;;:8;:22;;;;2457:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2541:28;2560:8;2541:18;:28::i;:::-;2376:201:::0;:::o;11467:136::-;11532:7;11559:18;:36;11578:16;11559:36;;;;;;;;;;;;;;;;11552:43;;11467:136;;;:::o;5103:45::-;;;;:::o;6517:352::-;3338:1;3323:12;;:16;3319:487;;;3354:21;3378:43;3391:15;3408:12;;3378;:43::i;:::-;3354:67;;3434:17;3454:46;4789:8;3454:46;;:31;3472:12;;3454:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;3434:66;;3531:12;;3519:9;:24;3515:83;;;3572:12;;3560:24;;3515:83;3629:67;3642:14;;3684:11;;4739:7;3659:9;:21;;;;:::i;:::-;3658:37;;;;:::i;:::-;3629:12;:67::i;:::-;3612:14;:84;;;;3724:27;3741:9;3724:12;;:16;;:27;;;;:::i;:::-;3709:12;:42;;;;3779:15;3764:12;:30;;;;3319:487;;;3973:1:::1;3959:11;:9;:11::i;:::-;:15;3951:24;;;::::0;::::1;;6576::::2;6603:10;6576:37;;6624:18;6645:11;:9;:11::i;:::-;6624:32;;6709:25;4739:7;6709:10;:14;;:25;;;;:::i;:::-;6667:9;:27;6677:16;6667:27;;;;;;;;;;;;;;;;:68;;;;;;;:::i;:::-;;;;;;;;6746:15;6764:44;6779:16;6797:10;6764:14;:44::i;:::-;6746:62;;6835:16;6824:37;;;6853:7;6824:37;;;;;;:::i;:::-;;;;;;;;3986:1;;;6517:352::o:0;1240:119::-;1298:7;1328:1;1323;:6;;1316:14;;;;;;;;;;;;1350:1;1346;:5;;;;:::i;:::-;1339:12;;1240:119;;;;:::o;940:188::-;998:9;1027:1;1022;:6;1018:41;;;1048:1;1041:8;;;;1018:41;1075:1;1071;:5;;;;:::i;:::-;1067:9;;1101:1;1096;1092;:5;;;;:::i;:::-;:10;1085:18;;;;;;;;;;;;940:188;;;;;:::o;1136:96::-;1194:7;1223:1;1219;:5;;;;:::i;:::-;1212:12;;1136:96;;;;:::o;1367:135::-;1425:9;1453:1;1449;:5;;;;:::i;:::-;1445:9;;1475:1;1470;:6;;1463:14;;;;;;;;;;;;1367:135;;;;:::o;5764:166::-;5892:4;5834:62;;:5;;;;;;;;;;;:18;;;5853:10;5873:4;5880:7;5834:54;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;;;5826:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;5764:166;:::o;649:98::-;702:7;729:10;722:17;;649:98;:::o;7999:757::-;8091:7;8137:1;8119:15;:19;8111:28;;;;;;8152:20;8175:39;8209:4;8175:29;4852:2;8175:29;;:15;:19;;:29;;;;:::i;:::-;:33;;:39;;;;:::i;:::-;8152:62;;8227:17;8247:39;8281:4;8247:29;4940:2;8247:29;;:15;:19;;:29;;;;:::i;:::-;:33;;:39;;;;:::i;:::-;8227:59;;8299:17;8319:34;8348:4;8319:24;8339:3;8319:15;:19;;:24;;;;:::i;:::-;:28;;:34;;;;:::i;:::-;8299:54;;8364:20;8387:30;8407:9;8387:15;:19;;:30;;;;:::i;:::-;8364:53;;8430:23;8456:47;8472:16;8490:12;8456:15;:47::i;:::-;8430:73;;8531:30;8548:12;8531;;:16;;:30;;;;:::i;:::-;8516:12;:45;;;;8598:38;8626:9;8598:23;;:27;;:38;;;;:::i;:::-;8572:23;:64;;;;8662:16;8654:59;;;8680:15;8697;8654:59;;;;;;;:::i;:::-;;;;;;;;8733:15;8726:22;;;;;;;7999:757;;;;:::o;2737:191::-;2811:16;2830:6;;;;;;;;;;;2811:25;;2856:8;2847:6;;:17;;;;;;;;;;;;;;;;;;2911:8;2880:40;;2901:8;2880:40;;;;;;;;;;;;2737:191;;:::o;7396:595::-;7488:7;7508:23;7534:15;7508:41;;7588:1;7570:15;:19;:69;;;;;7628:11;;7593:32;7613:11;;7593:15;:19;;:32;;;;:::i;:::-;:46;7570:69;7562:78;;;;;;7667:32;7683:15;7667:11;;:15;;:32;;;;:::i;:::-;7653:11;:46;;;;7750:57;7791:15;7750:18;:36;7769:16;7750:36;;;;;;;;;;;;;;;;:40;;:57;;;;:::i;:::-;7710:18;:36;7729:16;7710:36;;;;;;;;;;;;;;;:97;;;;7820:22;7855:35;7874:15;7855:14;;:18;;:35;;;;:::i;:::-;7820:71;;7933:15;7902:9;:27;7912:16;7902:27;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;7968:15;7961:22;;;;7396:595;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:137::-;206:5;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;212:77;;;;:::o;295:139::-;341:5;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;347:87;;;;:::o;440:143::-;497:5;528:6;522:13;513:22;;544:33;571:5;544:33;:::i;:::-;503:80;;;;:::o;589:262::-;648:6;697:2;685:9;676:7;672:23;668:32;665:2;;;713:1;710;703:12;665:2;756:1;781:53;826:7;817:6;806:9;802:22;781:53;:::i;:::-;771:63;;727:117;655:196;;;;:::o;857:278::-;924:6;973:2;961:9;952:7;948:23;944:32;941:2;;;989:1;986;979:12;941:2;1032:1;1057:61;1110:7;1101:6;1090:9;1086:22;1057:61;:::i;:::-;1047:71;;1003:125;931:204;;;;:::o;1141:262::-;1200:6;1249:2;1237:9;1228:7;1224:23;1220:32;1217:2;;;1265:1;1262;1255:12;1217:2;1308:1;1333:53;1378:7;1369:6;1358:9;1354:22;1333:53;:::i;:::-;1323:63;;1279:117;1207:196;;;;:::o;1409:284::-;1479:6;1528:2;1516:9;1507:7;1503:23;1499:32;1496:2;;;1544:1;1541;1534:12;1496:2;1587:1;1612:64;1668:7;1659:6;1648:9;1644:22;1612:64;:::i;:::-;1602:74;;1558:128;1486:207;;;;:::o;1699:118::-;1786:24;1804:5;1786:24;:::i;:::-;1781:3;1774:37;1764:53;;:::o;1823:366::-;1965:3;1986:67;2050:2;2045:3;1986:67;:::i;:::-;1979:74;;2062:93;2151:3;2062:93;:::i;:::-;2180:2;2175:3;2171:12;2164:19;;1969:220;;;:::o;2195:366::-;2337:3;2358:67;2422:2;2417:3;2358:67;:::i;:::-;2351:74;;2434:93;2523:3;2434:93;:::i;:::-;2552:2;2547:3;2543:12;2536:19;;2341:220;;;:::o;2567:366::-;2709:3;2730:67;2794:2;2789:3;2730:67;:::i;:::-;2723:74;;2806:93;2895:3;2806:93;:::i;:::-;2924:2;2919:3;2915:12;2908:19;;2713:220;;;:::o;2939:366::-;3081:3;3102:67;3166:2;3161:3;3102:67;:::i;:::-;3095:74;;3178:93;3267:3;3178:93;:::i;:::-;3296:2;3291:3;3287:12;3280:19;;3085:220;;;:::o;3311:118::-;3398:24;3416:5;3398:24;:::i;:::-;3393:3;3386:37;3376:53;;:::o;3435:222::-;3528:4;3566:2;3555:9;3551:18;3543:26;;3579:71;3647:1;3636:9;3632:17;3623:6;3579:71;:::i;:::-;3533:124;;;;:::o;3663:442::-;3812:4;3850:2;3839:9;3835:18;3827:26;;3863:71;3931:1;3920:9;3916:17;3907:6;3863:71;:::i;:::-;3944:72;4012:2;4001:9;3997:18;3988:6;3944:72;:::i;:::-;4026;4094:2;4083:9;4079:18;4070:6;4026:72;:::i;:::-;3817:288;;;;;;:::o;4111:332::-;4232:4;4270:2;4259:9;4255:18;4247:26;;4283:71;4351:1;4340:9;4336:17;4327:6;4283:71;:::i;:::-;4364:72;4432:2;4421:9;4417:18;4408:6;4364:72;:::i;:::-;4237:206;;;;;:::o;4449:419::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4702:9;4696:4;4692:20;4688:1;4677:9;4673:17;4666:47;4730:131;4856:4;4730:131;:::i;:::-;4722:139;;4620:248;;;:::o;4874:419::-;5040:4;5078:2;5067:9;5063:18;5055:26;;5127:9;5121:4;5117:20;5113:1;5102:9;5098:17;5091:47;5155:131;5281:4;5155:131;:::i;:::-;5147:139;;5045:248;;;:::o;5299:419::-;5465:4;5503:2;5492:9;5488:18;5480:26;;5552:9;5546:4;5542:20;5538:1;5527:9;5523:17;5516:47;5580:131;5706:4;5580:131;:::i;:::-;5572:139;;5470:248;;;:::o;5724:419::-;5890:4;5928:2;5917:9;5913:18;5905:26;;5977:9;5971:4;5967:20;5963:1;5952:9;5948:17;5941:47;6005:131;6131:4;6005:131;:::i;:::-;5997:139;;5895:248;;;:::o;6149:222::-;6242:4;6280:2;6269:9;6265:18;6257:26;;6293:71;6361:1;6350:9;6346:17;6337:6;6293:71;:::i;:::-;6247:124;;;;:::o;6377:332::-;6498:4;6536:2;6525:9;6521:18;6513:26;;6549:71;6617:1;6606:9;6602:17;6593:6;6549:71;:::i;:::-;6630:72;6698:2;6687:9;6683:18;6674:6;6630:72;:::i;:::-;6503:206;;;;;:::o;6715:169::-;6799:11;6833:6;6828:3;6821:19;6873:4;6868:3;6864:14;6849:29;;6811:73;;;;:::o;6890:525::-;6929:3;6948:19;6965:1;6948:19;:::i;:::-;6943:24;;6981:19;6998:1;6981:19;:::i;:::-;6976:24;;7169:1;7101:66;7097:74;7094:1;7090:82;7085:1;7082;7078:9;7071:17;7067:106;7064:2;;;7176:18;;:::i;:::-;7064:2;7356:1;7288:66;7284:74;7281:1;7277:82;7273:1;7270;7266:9;7262:98;7259:2;;;7363:18;;:::i;:::-;7259:2;7407:1;7404;7400:9;7393:16;;6933:482;;;;:::o;7421:305::-;7461:3;7480:20;7498:1;7480:20;:::i;:::-;7475:25;;7514:20;7532:1;7514:20;:::i;:::-;7509:25;;7668:1;7600:66;7596:74;7593:1;7590:81;7587:2;;;7674:18;;:::i;:::-;7587:2;7718:1;7715;7711:9;7704:16;;7465:261;;;;:::o;7732:185::-;7772:1;7789:20;7807:1;7789:20;:::i;:::-;7784:25;;7823:20;7841:1;7823:20;:::i;:::-;7818:25;;7862:1;7852:2;;7867:18;;:::i;:::-;7852:2;7909:1;7906;7902:9;7897:14;;7774:143;;;;:::o;7923:348::-;7963:7;7986:20;8004:1;7986:20;:::i;:::-;7981:25;;8020:20;8038:1;8020:20;:::i;:::-;8015:25;;8208:1;8140:66;8136:74;8133:1;8130:81;8125:1;8118:9;8111:17;8107:105;8104:2;;;8215:18;;:::i;:::-;8104:2;8263:1;8260;8256:9;8245:20;;7971:300;;;;:::o;8277:527::-;8316:4;8336:19;8353:1;8336:19;:::i;:::-;8331:24;;8369:19;8386:1;8369:19;:::i;:::-;8364:24;;8558:1;8490:66;8486:74;8483:1;8479:82;8474:1;8471;8467:9;8460:17;8456:106;8453:2;;;8565:18;;:::i;:::-;8453:2;8744:1;8676:66;8672:74;8669:1;8665:82;8661:1;8658;8654:9;8650:98;8647:2;;;8751:18;;:::i;:::-;8647:2;8796:1;8793;8789:9;8781:17;;8321:483;;;;:::o;8810:191::-;8850:4;8870:20;8888:1;8870:20;:::i;:::-;8865:25;;8904:20;8922:1;8904:20;:::i;:::-;8899:25;;8943:1;8940;8937:8;8934:2;;;8948:18;;:::i;:::-;8934:2;8993:1;8990;8986:9;8978:17;;8855:146;;;;:::o;9007:96::-;9044:7;9073:24;9091:5;9073:24;:::i;:::-;9062:35;;9052:51;;;:::o;9109:90::-;9143:7;9186:5;9179:13;9172:21;9161:32;;9151:48;;;:::o;9205:76::-;9241:7;9270:5;9259:16;;9249:32;;;:::o;9287:126::-;9324:7;9364:42;9357:5;9353:54;9342:65;;9332:81;;;:::o;9419:77::-;9456:7;9485:5;9474:16;;9464:32;;;:::o;9502:180::-;9550:77;9547:1;9540:88;9647:4;9644:1;9637:15;9671:4;9668:1;9661:15;9688:180;9736:77;9733:1;9726:88;9833:4;9830:1;9823:15;9857:4;9854:1;9847:15;9874:225;10014:34;10010:1;10002:6;9998:14;9991:58;10083:8;10078:2;10070:6;10066:15;10059:33;9980:119;:::o;10105:171::-;10245:23;10241:1;10233:6;10229:14;10222:47;10211:65;:::o;10282:182::-;10422:34;10418:1;10410:6;10406:14;10399:58;10388:76;:::o;10470:227::-;10610:34;10606:1;10598:6;10594:14;10587:58;10679:10;10674:2;10666:6;10662:15;10655:35;10576:121;:::o;10703:122::-;10776:24;10794:5;10776:24;:::i;:::-;10769:5;10766:35;10756:2;;10815:1;10812;10805:12;10756:2;10746:79;:::o;10831:116::-;10901:21;10916:5;10901:21;:::i;:::-;10894:5;10891:32;10881:2;;10937:1;10934;10927:12;10881:2;10871:76;:::o;10953:122::-;11026:24;11044:5;11026:24;:::i;:::-;11019:5;11016:35;11006:2;;11065:1;11062;11055:12;11006:2;10996:79;:::o

Swarm Source

ipfs://e4bf4c54f91aaacf0968c190900d7dc3cbdaf1268ca40a8c8f28bb54b9b5a994
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.