Contract 0x679f6863a653251C8C215e77205A7058b5bF676a

Contract Overview

ClubCro: Troll Token
Balance:
48.422600022765407629 CRO

CRO Value:
$5.18 (@ $0.11/CRO)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf740596ef23c8e12d2ab3b17a38dbea7ad96c208d9478c1076fad604c09b863fManual Send114989462023-12-07 19:47:461 day 19 hrs agoClubCro: Deployer IN  ClubCro: Troll Token0 CRO0.161748492196 4,606.381847597
0x42ed7ea29fea7a5d53d0ec9ecd280949ef695991a61e31c1f546df9a2b1e231dApprove114986692023-12-07 19:21:531 day 20 hrs ago0x32eba75fe7e9b96a87298506a1203fbd62fb94e5 IN  ClubCro: Troll Token0 CRO0.2169601265540
0x40508c2d5993e9d6aa937285fce7c2d4b967c24bdf7e4191353780f1656929aaApprove114963192023-12-07 15:41:561 day 23 hrs ago0xe22485a9b6d2f0d1e019bcfe6560c6ceaef126fe IN  ClubCro: Troll Token0 CRO0.1143360919220
0xb605e5c845d1f8c5e6013c6451bbe3e7610f34cb6839e51d53e25074cc544fe0Approve114956112023-12-07 14:35:362 days 1 hr ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.215631610653 4,606.528747134
0xc7ea3507331fc87fe9fa9237b8dc7bb127cf507e8a2de0da4e15ddd61f1e4db3Approve114893252023-12-07 4:48:042 days 10 hrs ago0x0ff68ffa355253717f9b5dec5093a0d11dd6c8bf IN  ClubCro: Troll Token0 CRO0.2169796325510
0x4bf13d88d2225e244b351e14c2100841dc589bdf6a61f6b6b48763bd8c4fd7f8Approve114798872023-12-06 14:00:493 days 1 hr agoCronos ID Name hellzwonderland.cro IN  ClubCro: Troll Token0 CRO0.116929493782 4,709.961080404
0xc795163605d6b50e9517c38b7569086d38023b1f042b7178f1337844deb0248dApprove114698672023-12-05 22:21:133 days 17 hrs ago0x6842c6f7eb0f2cb337b8a00baed159ecfbc77d19 IN  ClubCro: Troll Token0 CRO0.235550
0xbac45e8f60eff178b7b402bc0f2488fc14eb30cb35ec81b316497be69978b2f7Transfer114479202023-12-04 12:07:135 days 3 hrs agoCronos ID Name bobjim.cro IN  ClubCro: Troll Token0 CRO0.4607634770230
0x1b7a69928de1db211f0942424f45c75e1bc78f0ce1a1cedb6109173028a024f2Approve114309202023-12-03 9:36:466 days 6 hrs ago0xd490e05ec257c239c8283aeae14bd5937db2a085 IN  ClubCro: Troll Token0 CRO0.2171009213350
0xe7631fe71052b9eb75a577676678bf16b38c00445a1dfdd5277969a8c90b2969Approve114309122023-12-03 9:36:016 days 6 hrs ago0x9b1e2d476c11a8a1be136cc251496a6dff524652 IN  ClubCro: Troll Token0 CRO0.2171009360660
0xbc7b5a6b054e27f9053d566f61d6a7f535e9f76e92b55c8e80d1e9f1736f2c9fTransfer114098772023-12-02 0:49:407 days 14 hrs agoCronos ID Name jungle.cro IN  ClubCro: Troll Token0 CRO0.313618982014 4,668.547002905
0xb4ddc5dc672c20b312c23866942f35fbda3f8619f1eba3498efd481807904a51Transfer113452112023-11-27 20:02:5011 days 19 hrs agoCronos ID Name frost-shawn.cro IN  ClubCro: Troll Token0 CRO0.4612194126520
0x3bc5d8c5b3957505582670f4715df0ae29d19f848877eaa5dbf87acdafe325ddTransfer113428522023-11-27 16:22:1811 days 23 hrs ago0x0c4b6374f90bdac5bbb01523084be371c32cb318 IN  ClubCro: Troll Token0 CRO0.4612299119170
0x1e65c9a40bffe1d87f6c812e376bace4aff351710a2db0dab85f0cb41a8f9229Approve113321392023-11-26 23:40:5312 days 15 hrs ago0x8a5910c175b2f4709127ab4c99c1f694ffd0f945 IN  ClubCro: Troll Token0 CRO0.2173079330560
0xd47e99ebcf706ef7c458fb4e0b5d90a15f3670dc79d0a7685fedc705b6144cccApprove113159052023-11-25 22:23:2813 days 17 hrs ago0xd1a107f70b53dbf49b5ff1257bc65e87695b51e9 IN  ClubCro: Troll Token0 CRO0.217342007820
0x4d8d14a3551d82df6633211b68062956ba919c9ff7f70f50f05d1ada784e2993Manual Send113117462023-11-25 15:54:3413 days 23 hrs agoClubCro: Deployer IN  ClubCro: Troll Token0 CRO0.164747427483 4,691.787534405
0xd331e2ffd7cc95fb1fc94d0d2b59b96268fb3eb4f29db9300f0ce027263e7a7aApprove113116362023-11-25 15:44:1813 days 23 hrs ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.124154414925 4,613.690632684
0x56a2dc07c421fec764f57ef9066df6690dbf0ac0f5cbf9d8b1c559248d5fea1bApprove113116362023-11-25 15:44:1813 days 23 hrs ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.216013657918 4,614.690406283
0x9587450c118f95918a0860fd9cdbc069d53109e5de79d884391b3deed9214b7aApprove113116182023-11-25 15:42:4013 days 23 hrs ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.216013694772 4,614.691193608
0xbdc8787884da182aef859d1f578d20d4f406c7462efe047131a4b301234b939bApprove113115992023-11-25 15:40:5213 days 23 hrs ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.215966934842 4,613.692263248
0xf9a6aca918078e11fd17905d9e6aa76af8a4adb5d42822a31f8367482d8484c4Approve113115812023-11-25 15:39:1014 days 1 min ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.216076964842 4,616.04282936
0xb2234fd9af0e6831d2ebf025878db4eb3d1718ab5856f97ff53039c76804281eApprove113115602023-11-25 15:37:1214 days 3 mins ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.216013815202 4,614.693766333
0x13d858e4c9dacb25d985ecc781589f242e515a1037a41fd1afe30e15b9cb7816Approve113115462023-11-25 15:35:5314 days 4 mins ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.12418142602 4,614.69438946
0xfa48b57ebfd4ffd70c103f703e8cf5e2decbafb10cb53e862d0ebd76664eba48Approve113115412023-11-25 15:35:2514 days 4 mins ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.216013854792 4,614.694612101
0xe340bf3e65412d340849ccf1d20d3a5d85839848e5279e7abd2556dc20fa870fApprove113115272023-11-25 15:34:0614 days 6 mins ago0x7e08d20244c00714d698787af002d3986e54206d IN  ClubCro: Troll Token0 CRO0.216013883782 4,614.695231411
[ Download CSV Export 

OVERVIEW

Welcome to Trollcoin! Trollcoin was built for the Crofam by the Crofam.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x405ed0ef6e2bb37757cb6b55a2fd5852cef282378d7fc29abc881eda124fba1a115266472023-12-09 14:58:3841 mins ago ClubCro: Troll Token Mad Meerkat Finance: Master Meerkat & Router145.267800068296222885 CRO
0x405ed0ef6e2bb37757cb6b55a2fd5852cef282378d7fc29abc881eda124fba1a115266472023-12-09 14:58:3841 mins ago ClubCro: Troll TokenCronos ID Name trollcoin.cro387.380800182123261027 CRO
0x405ed0ef6e2bb37757cb6b55a2fd5852cef282378d7fc29abc881eda124fba1a115266472023-12-09 14:58:3841 mins ago Mad Meerkat Finance: Master Meerkat & Router ClubCro: Troll Token581.071200273184891541 CRO
0xf740596ef23c8e12d2ab3b17a38dbea7ad96c208d9478c1076fad604c09b863f114989462023-12-07 19:47:461 day 19 hrs ago ClubCro: Troll TokenCronos ID Name trollcoin.cro57.524643668250837137 CRO
0xb998fd3977db56fc6bbc8b8c5d26d4ad5dcaf44e6e2b757c630bef31552fdc96113215192023-11-26 7:07:5313 days 8 hrs ago ClubCro: Troll Token Mad Meerkat Finance: Master Meerkat & Router172.573931004752511406 CRO
0xb998fd3977db56fc6bbc8b8c5d26d4ad5dcaf44e6e2b757c630bef31552fdc96113215192023-11-26 7:07:5313 days 8 hrs ago ClubCro: Troll TokenCronos ID Name trollcoin.cro460.197149346006697084 CRO
0xb998fd3977db56fc6bbc8b8c5d26d4ad5dcaf44e6e2b757c630bef31552fdc96113215192023-11-26 7:07:5313 days 8 hrs ago Mad Meerkat Finance: Master Meerkat & Router ClubCro: Troll Token690.295724019010045627 CRO
0x4d8d14a3551d82df6633211b68062956ba919c9ff7f70f50f05d1ada784e2993113117462023-11-25 15:54:3413 days 23 hrs ago ClubCro: Troll TokenCronos ID Name trollcoin.cro390.052041143108555715 CRO
0x81c4345d56c0450abf649405eef692b872406841fb2ad449ea91a09a51bf5f89113116042023-11-25 15:41:2013 days 23 hrs ago ClubCro: Troll Token Mad Meerkat Finance: Master Meerkat & Router164.640092436839701518 CRO
0x81c4345d56c0450abf649405eef692b872406841fb2ad449ea91a09a51bf5f89113116042023-11-25 15:41:2013 days 23 hrs ago ClubCro: Troll TokenCronos ID Name trollcoin.cro439.040246498239204048 CRO
0x81c4345d56c0450abf649405eef692b872406841fb2ad449ea91a09a51bf5f89113116042023-11-25 15:41:2013 days 23 hrs ago Mad Meerkat Finance: Master Meerkat & Router ClubCro: Troll Token658.560369747358806072 CRO
0xb36306b0a842f0f47c3f2ba80c3017f2a1a6ac29a6876d9e71a4b1e8443405f9113115472023-11-25 15:35:5914 days 4 mins ago ClubCro: Troll Token Mad Meerkat Finance: Master Meerkat & Router166.666619671235575544 CRO
0xb36306b0a842f0f47c3f2ba80c3017f2a1a6ac29a6876d9e71a4b1e8443405f9113115472023-11-25 15:35:5914 days 4 mins ago ClubCro: Troll TokenCronos ID Name trollcoin.cro444.444319123294868117 CRO
0xb36306b0a842f0f47c3f2ba80c3017f2a1a6ac29a6876d9e71a4b1e8443405f9113115472023-11-25 15:35:5914 days 4 mins ago Mad Meerkat Finance: Master Meerkat & Router ClubCro: Troll Token666.666478684942302176 CRO
0xbaa050f2deb96f5f278e09f79b175f053b34f621d8b81e34901ad7633ecb7a91113115142023-11-25 15:32:5414 days 7 mins ago ClubCro: Troll Token Mad Meerkat Finance: Master Meerkat & Router231.270675265968193621 CRO
0xbaa050f2deb96f5f278e09f79b175f053b34f621d8b81e34901ad7633ecb7a91113115142023-11-25 15:32:5414 days 7 mins ago ClubCro: Troll TokenCronos ID Name trollcoin.cro616.721800709248516324 CRO
0xbaa050f2deb96f5f278e09f79b175f053b34f621d8b81e34901ad7633ecb7a91113115142023-11-25 15:32:5414 days 7 mins ago Mad Meerkat Finance: Master Meerkat & Router ClubCro: Troll Token925.082701063872774487 CRO
0x052485e1198be3958b9fb209ca0ecf85d33fc1bc86df96ef03ca8c3fcb193b69113114792023-11-25 15:29:3914 days 10 mins ago ClubCro: Troll Token Mad Meerkat Finance: Master Meerkat & Router149.911262543444060233 CRO
0x052485e1198be3958b9fb209ca0ecf85d33fc1bc86df96ef03ca8c3fcb193b69113114792023-11-25 15:29:3914 days 10 mins ago ClubCro: Troll TokenCronos ID Name trollcoin.cro399.763366782517493956 CRO
0x052485e1198be3958b9fb209ca0ecf85d33fc1bc86df96ef03ca8c3fcb193b69113114792023-11-25 15:29:3914 days 10 mins ago Mad Meerkat Finance: Master Meerkat & Router ClubCro: Troll Token599.645050173776240934 CRO
0xe42ff6689bbfc213c175fa64bcba75d107f07edfb2870332fc15fb896916319b113114602023-11-25 15:27:5114 days 12 mins ago ClubCro: Troll Token Mad Meerkat Finance: Master Meerkat & Router317.027357513600859788 CRO
0xe42ff6689bbfc213c175fa64bcba75d107f07edfb2870332fc15fb896916319b113114602023-11-25 15:27:5114 days 12 mins ago ClubCro: Troll TokenCronos ID Name trollcoin.cro845.406286702935626102 CRO
0xe42ff6689bbfc213c175fa64bcba75d107f07edfb2870332fc15fb896916319b113114602023-11-25 15:27:5114 days 12 mins ago Mad Meerkat Finance: Master Meerkat & Router ClubCro: Troll Token1,268.109430054403439154 CRO
0x25d83f150569c5360fe3acfae73761fce80303d5ac3b2b290a7579830384ebfb112676442023-11-22 19:11:5016 days 20 hrs ago ClubCro: Troll Token Mad Meerkat Finance: Master Meerkat & Router140.640115998237276425 CRO
0x25d83f150569c5360fe3acfae73761fce80303d5ac3b2b290a7579830384ebfb112676442023-11-22 19:11:5016 days 20 hrs ago ClubCro: Troll TokenCronos ID Name trollcoin.cro375.040309328632737135 CRO
[ Download CSV Export 
Index Block
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TROLLCOIN

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at cronoscan.com on 2022-11-01
*/

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;

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) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        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) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}


/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract TROLLCOIN is IBEP20, Auth {
    using SafeMath for uint256;

    address WCRO = 0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "Trollcoin";
    string constant _symbol = "Troll";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1000000000 * (10 ** _decimals);
    uint256 public _maxTxAmount = (_totalSupply * 1) / 100;  //1% max tx
    uint256 public _maxWalletSize = (_totalSupply * 1) / 100;  //1% max wallet

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 3;
    uint256 teamFee =0;
    uint256 marketingFee = 4;
    uint256 totalFee = 7;
    uint256 feeDenominator = 100;
    
    address private marketingFeeReceiver = 0x0a8dEe465150ebb2B067084a2189A74ee5031675;
    address private teamFeeReceiver = 0xE77DE37531b8eaf5b15979525fCAb6083D689eD6;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 3; // 0.3%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x145677FC4d9b8F19B5D56d1820c48e0443049a30);
        pair = IDEXFactory(router.factory()).createPair(WCRO, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        checkTxLimit(sender, amount);
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); }

        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }
    
    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 1 >= block.number){ return feeDenominator.sub(1); }
        if(selling) { return totalFee.add(1); }
        return totalFee;
    }

    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WCRO;

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountBNB = address(this).balance.sub(balanceBefore);
        uint256 totalBNBFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountBNBLiquidity = amountBNB.mul(liquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBdevelopment = amountBNB.mul(teamFee).div(totalBNBFee);
        uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");
        (bool developmentSuccess, /* bytes memory data */) = payable(teamFeeReceiver).call{value: amountBNBdevelopment, gas: 30000}("");
        require(developmentSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountBNBLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                marketingFeeReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountBNBLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WCRO;
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    function setTxLimit(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _maxTxAmount = amount;
    }

   function setMaxWallet(uint256 amount) external onlyOwner() {
        require(amount >= _totalSupply / 1000 );
        _maxWalletSize = amount;
    }    

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external authorized {
        isTxLimitExempt[holder] = exempt;
    }

    function setFees(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        totalFee = _liquidityFee.add(_teamFee).add(_marketingFee);
        feeDenominator = _feeDenominator;
    }

    function setFeeReceiver(address _marketingFeeReceiver, address _teamFeeReceiver) external authorized {
        marketingFeeReceiver = _marketingFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function manualSend() external authorized {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingFeeReceiver).transfer(contractETHBalance);
    }

    function transferForeignToken(address _token) public authorized {
        require(_token != address(this), "Can't let you take all native token");
        uint256 _contractBalance = IBEP20(_token).balanceOf(address(this));
        payable(marketingFeeReceiver).transfer(_contractBalance);
    }
        
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }
    
    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052735c7f8a570d578ed84e63fdfa7b1ee72deae1ae23600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ee919062000873565b633b9aca00620000ff9190620009b0565b60055560646001600554620001159190620009b0565b620001219190620007e0565b60065560646001600554620001379190620009b0565b620001439190620007e0565b6007556003600c556000600d556004600e556007600f556064601055730a8dee465150ebb2b067084a2189a74ee5031675601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e77de37531b8eaf5b15979525fcab6083d689ed6601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601660006101000a81548160ff02191690831515021790555060036103e8600554620002389190620007e0565b620002449190620009b0565b6017553480156200025457600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505073145677fc4d9b8f19b5d56d1820c48e0443049a30601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ac57600080fd5b505afa158015620003c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e7919062000742565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200044592919062000796565b602060405180830381600087803b1580156200046057600080fd5b505af115801562000475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049b919062000742565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600554600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200071c9190620007c3565b60405180910390a35062000ae6565b6000815190506200073c8162000acc565b92915050565b6000602082840312156200075b576200075a62000aba565b5b60006200076b848285016200072b565b91505092915050565b6200077f8162000a11565b82525050565b620007908162000a45565b82525050565b6000604082019050620007ad600083018562000774565b620007bc602083018462000774565b9392505050565b6000602082019050620007da600083018462000785565b92915050565b6000620007ed8262000a45565b9150620007fa8362000a45565b9250826200080d576200080c62000a8b565b5b828204905092915050565b6000808291508390505b60018511156200086a5780860481111562000842576200084162000a5c565b5b6001851615620008525780820291505b8081029050620008628562000abf565b945062000822565b94509492505050565b6000620008808262000a45565b91506200088d8362000a4f565b9250620008bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008c4565b905092915050565b600082620008d65760019050620009a9565b81620008e65760009050620009a9565b8160018114620008ff57600281146200090a5762000940565b6001915050620009a9565b60ff8411156200091f576200091e62000a5c565b5b8360020a91508482111562000939576200093862000a5c565b5b50620009a9565b5060208310610133831016604e8410600b84101617156200097a5782820a90508381111562000974576200097362000a5c565b5b620009a9565b62000989848484600162000818565b92509050818404811115620009a357620009a262000a5c565b5b81810290505b9392505050565b6000620009bd8262000a45565b9150620009ca8362000a45565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a065762000a0562000a5c565b5b828202905092915050565b600062000a1e8262000a25565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000ad78162000a11565b811462000ae357600080fd5b50565b6139288062000af66000396000f3fe6080604052600436106102135760003560e01c80638f9a55c011610118578063df20fd49116100a0578063f2fde38b1161006f578063f2fde38b146107f6578063f42938901461081f578063f84ba65d14610836578063f887ea401461085f578063fe9fbb801461088a5761021a565b8063df20fd491461073e578063e66db25e14610767578063f0b37c0414610790578063f1f3bca3146107b95761021a565b8063b6a5d7de116100e7578063b6a5d7de14610647578063bf56b37114610670578063d51ed1c81461069b578063dc93cf70146106d8578063dd62ed3e146107015761021a565b80638f9a55c01461058957806395d89b41146105b4578063a8aa1b31146105df578063a9059cbb1461060a5761021a565b8063571ac8b01161019b5780636ddd17131161016a5780636ddd1713146104a25780636fcba377146104cd57806370a08231146104f65780637d1db4a514610533578063893d20e81461055e5761021a565b8063571ac8b0146103ea5780635c85974f146104275780635d0044ca14610450578063658d4b7f146104795761021a565b806318160ddd116101e257806318160ddd146102ef57806323b872dd1461031a5780632b112e49146103575780632f54bf6e14610382578063313ce567146103bf5761021a565b80630445b6671461021f57806306fdde031461024a578063095ea7b3146102755780631161ae39146102b25761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b506102346108c7565b60405161024191906132d3565b60405180910390f35b34801561025657600080fd5b5061025f6108cd565b60405161026c91906131b1565b60405180910390f35b34801561028157600080fd5b5061029c60048036038101906102979190612c6c565b61090a565b6040516102a9919061317b565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d49190612d73565b6109fc565b6040516102e6919061317b565b60405180910390f35b3480156102fb57600080fd5b50610304610a11565b60405161031191906132d3565b60405180910390f35b34801561032657600080fd5b50610341600480360381019061033c9190612bd9565b610a1b565b60405161034e919061317b565b60405180910390f35b34801561036357600080fd5b5061036c610c1b565b60405161037991906132d3565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a49190612b3f565b610c9d565b6040516103b6919061317b565b60405180910390f35b3480156103cb57600080fd5b506103d4610cf6565b6040516103e19190613371565b60405180910390f35b3480156103f657600080fd5b50610411600480360381019061040c9190612b3f565b610cff565b60405161041e919061317b565b60405180910390f35b34801561043357600080fd5b5061044e60048036038101906104499190612d19565b610d32565b005b34801561045c57600080fd5b5061047760048036038101906104729190612d19565b610da0565b005b34801561048557600080fd5b506104a0600480360381019061049b9190612c2c565b610e0e565b005b3480156104ae57600080fd5b506104b7610eb1565b6040516104c4919061317b565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190612e06565b610ec4565b005b34801561050257600080fd5b5061051d60048036038101906105189190612b3f565b610f59565b60405161052a91906132d3565b60405180910390f35b34801561053f57600080fd5b50610548610fa2565b60405161055591906132d3565b60405180910390f35b34801561056a57600080fd5b50610573610fa8565b60405161058091906130e4565b60405180910390f35b34801561059557600080fd5b5061059e610fd1565b6040516105ab91906132d3565b60405180910390f35b3480156105c057600080fd5b506105c9610fd7565b6040516105d691906131b1565b60405180910390f35b3480156105eb57600080fd5b506105f4611014565b60405161060191906130e4565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c9190612c6c565b61103a565b60405161063e919061317b565b60405180910390f35b34801561065357600080fd5b5061066e60048036038101906106699190612b3f565b61104f565b005b34801561067c57600080fd5b506106856110f1565b60405161069291906132d3565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd9190612d19565b6110f7565b6040516106cf91906132d3565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa9190612b3f565b611169565b005b34801561070d57600080fd5b5061072860048036038101906107239190612b99565b61131a565b60405161073591906132d3565b60405180910390f35b34801561074a57600080fd5b5061076560048036038101906107609190612cd9565b6113a1565b005b34801561077357600080fd5b5061078e60048036038101906107899190612b99565b61140e565b005b34801561079c57600080fd5b506107b760048036038101906107b29190612b3f565b6114dc565b005b3480156107c557600080fd5b506107e060048036038101906107db9190612cac565b61157f565b6040516107ed91906132d3565b60405180910390f35b34801561080257600080fd5b5061081d60048036038101906108189190612b6c565b6115e1565b005b34801561082b57600080fd5b506108346116fa565b005b34801561084257600080fd5b5061085d60048036038101906108589190612c2c565b6117b3565b005b34801561086b57600080fd5b50610874611856565b6040516108819190613196565b60405180910390f35b34801561089657600080fd5b506108b160048036038101906108ac9190612b3f565b61187c565b6040516108be919061317b565b60405180910390f35b60175481565b60606040518060400160405280600981526020017f54726f6c6c636f696e0000000000000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109ea91906132d3565b60405180910390a36001905092915050565b600082610a08836110f7565b11905092915050565b6000600554905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c0757610b86826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d29092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c12848484611936565b90509392505050565b6000610c98610c4b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f59565b610c8a610c79600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f59565b600554611dc690919063ffffffff16565b611dc690919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b6000610d2b827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61090a565b9050919050565b610d3b3361187c565b610d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d71906132b3565b60405180910390fd5b6103e8600554610d8a9190613442565b811015610d9657600080fd5b8060068190555050565b610da933610c9d565b610de8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddf90613293565b60405180910390fd5b6103e8600554610df89190613442565b811015610e0457600080fd5b8060078190555050565b610e173361187c565b610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d906132b3565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601660009054906101000a900460ff1681565b610ecd3361187c565b610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f03906132b3565b60405180910390fd5b83600c8190555082600d8190555081600e81905550610f4682610f388587611e1090919063ffffffff16565b611e1090919063ffffffff16565b600f819055508060108190555050505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600581526020017f54726f6c6c000000000000000000000000000000000000000000000000000000815250905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611047338484611936565b905092915050565b61105833610c9d565b611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90613293565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60155481565b6000611162611104610c1b565b6111546111456002611137601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f59565b611e6e90919063ffffffff16565b85611e6e90919063ffffffff16565b611ee990919063ffffffff16565b9050919050565b6111723361187c565b6111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a8906132b3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790613213565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161125b91906130e4565b60206040518083038186803b15801561127357600080fd5b505afa158015611287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ab9190612d46565b9050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611315573d6000803e3d6000fd5b505050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113aa3361187c565b6113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e0906132b3565b60405180910390fd5b81601660006101000a81548160ff021916908315150217905550806017819055505050565b6114173361187c565b611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d906132b3565b60405180910390fd5b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6114e533610c9d565b611524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151b90613293565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600043600160155461159191906133ec565b106115b3576115ac6001601054611dc690919063ffffffff16565b90506115dc565b81156115d6576115cf6001600f54611e1090919063ffffffff16565b90506115dc565b600f5490505b919050565b6115ea33610c9d565b611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162090613293565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516116ef91906130ff565b60405180910390a150565b6117033361187c565b611742576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611739906132b3565b60405180910390fd5b6000479050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117af573d6000803e3d6000fd5b5050565b6117bc3361187c565b6117fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f2906132b3565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600083831115829061191a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191191906131b1565b60405180910390fd5b506000838561192991906134cd565b9050809150509392505050565b6000601860009054906101000a900460ff161561195f57611958848484611f33565b9050611dbf565b6119698483612106565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a155750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611afe57600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611abe575060075482600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611abb91906133ec565b11155b611afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af4906131d3565b60405180910390fd5b5b611b066121a3565b15611b1457611b1361227a565b5b611b1c61286b565b158015611b765750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611bd0576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611bc757600080fd5b611bcf612878565b5b611c59826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d29092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611ca785612881565b611cb15782611cbd565b611cbc8585856128d8565b5b9050611d1181600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1090919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611db191906132d3565b60405180910390a360019150505b9392505050565b6000611e0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118d2565b905092915050565b6000808284611e1f91906133ec565b905083811015611e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5b90613233565b60405180910390fd5b8091505092915050565b600080831415611e815760009050611ee3565b60008284611e8f9190613473565b9050828482611e9e9190613442565b14611ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed590613273565b60405180910390fd5b809150505b92915050565b6000611f2b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a73565b905092915050565b6000611fbe826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d29092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061205382600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1090919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120f391906132d3565b60405180910390a3600190509392505050565b600654811115806121605750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61219f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612196906131f3565b60405180910390fd5b5050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156122105750601860009054906101000a900460ff16155b80156122285750601660009054906101000a900460ff165b80156122755750601754600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601860006101000a81548160ff02191690831515021790555060006122a030610f59565b905060006122e060026122d2600f546122c4600c5487611e6e90919063ffffffff16565b611ee990919063ffffffff16565b611ee990919063ffffffff16565b905060006122f78284611dc690919063ffffffff16565b90506000600267ffffffffffffffff81111561231657612315613694565b5b6040519080825280602002602001820160405280156123445781602001602082028036833780820191505090505b509050308160008151811061235c5761235b613665565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106123cd576123cc613665565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016124709594939291906132ee565b600060405180830381600087803b15801561248a57600080fd5b505af115801561249e573d6000803e3d6000fd5b5050505060006124b78247611dc690919063ffffffff16565b905060006124e56124d46002600c54611ee990919063ffffffff16565b600f54611dc690919063ffffffff16565b90506000612523600261251584612507600c5488611e6e90919063ffffffff16565b611ee990919063ffffffff16565b611ee990919063ffffffff16565b9050600061254e83612540600d5487611e6e90919063ffffffff16565b611ee990919063ffffffff16565b905060006125798461256b600e5488611e6e90919063ffffffff16565b611ee990919063ffffffff16565b90506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516125c7906130cf565b600060405180830381858888f193505050503d8060008114612605576040519150601f19603f3d011682016040523d82523d6000602084013e61260a565b606091505b505090508061264e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264590613253565b60405180910390fd5b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846175309060405161269a906130cf565b600060405180830381858888f193505050503d80600081146126d8576040519150601f19603f3d011682016040523d82523d6000602084013e6126dd565b606091505b5050905080612721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271890613253565b60405180910390fd5b60008b111561284257601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016127b39695949392919061311a565b6060604051808303818588803b1580156127cc57600080fd5b505af11580156127e0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128059190612db3565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c604051612839929190613348565b60405180910390a15b5050505050505050505050506000601860006101000a81548160ff021916908315150217905550565b6000806015541415905090565b43601581905550565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061295a60105461294c61293d601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461157f565b86611e6e90919063ffffffff16565b611ee990919063ffffffff16565b90506129ae81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1090919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a4e91906132d3565b60405180910390a3612a698184611dc690919063ffffffff16565b9150509392505050565b60008083118290612aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab191906131b1565b60405180910390fd5b5060008385612ac99190613442565b9050809150509392505050565b600081359050612ae581613896565b92915050565b600081359050612afa816138ad565b92915050565b600081359050612b0f816138c4565b92915050565b600081359050612b24816138db565b92915050565b600081519050612b39816138db565b92915050565b600060208284031215612b5557612b546136c3565b5b6000612b6384828501612ad6565b91505092915050565b600060208284031215612b8257612b816136c3565b5b6000612b9084828501612aeb565b91505092915050565b60008060408385031215612bb057612baf6136c3565b5b6000612bbe85828601612ad6565b9250506020612bcf85828601612ad6565b9150509250929050565b600080600060608486031215612bf257612bf16136c3565b5b6000612c0086828701612ad6565b9350506020612c1186828701612ad6565b9250506040612c2286828701612b15565b9150509250925092565b60008060408385031215612c4357612c426136c3565b5b6000612c5185828601612ad6565b9250506020612c6285828601612b00565b9150509250929050565b60008060408385031215612c8357612c826136c3565b5b6000612c9185828601612ad6565b9250506020612ca285828601612b15565b9150509250929050565b600060208284031215612cc257612cc16136c3565b5b6000612cd084828501612b00565b91505092915050565b60008060408385031215612cf057612cef6136c3565b5b6000612cfe85828601612b00565b9250506020612d0f85828601612b15565b9150509250929050565b600060208284031215612d2f57612d2e6136c3565b5b6000612d3d84828501612b15565b91505092915050565b600060208284031215612d5c57612d5b6136c3565b5b6000612d6a84828501612b2a565b91505092915050565b60008060408385031215612d8a57612d896136c3565b5b6000612d9885828601612b15565b9250506020612da985828601612b15565b9150509250929050565b600080600060608486031215612dcc57612dcb6136c3565b5b6000612dda86828701612b2a565b9350506020612deb86828701612b2a565b9250506040612dfc86828701612b2a565b9150509250925092565b60008060008060808587031215612e2057612e1f6136c3565b5b6000612e2e87828801612b15565b9450506020612e3f87828801612b15565b9350506040612e5087828801612b15565b9250506060612e6187828801612b15565b91505092959194509250565b6000612e798383612e94565b60208301905092915050565b612e8e81613568565b82525050565b612e9d81613501565b82525050565b612eac81613501565b82525050565b6000612ebd8261339c565b612ec781856133bf565b9350612ed28361338c565b8060005b83811015612f03578151612eea8882612e6d565b9750612ef5836133b2565b925050600181019050612ed6565b5085935050505092915050565b612f1981613525565b82525050565b612f288161357a565b82525050565b612f378161359e565b82525050565b6000612f48826133a7565b612f5281856133db565b9350612f628185602086016135d4565b612f6b816136c8565b840191505092915050565b6000612f836025836133db565b9150612f8e826136d9565b604082019050919050565b6000612fa66011836133db565b9150612fb182613728565b602082019050919050565b6000612fc96023836133db565b9150612fd482613751565b604082019050919050565b6000612fec601b836133db565b9150612ff7826137a0565b602082019050919050565b600061300f601e836133db565b915061301a826137c9565b602082019050919050565b60006130326021836133db565b915061303d826137f2565b604082019050919050565b60006130556006836133db565b915061306082613841565b602082019050919050565b60006130786000836133d0565b91506130838261386a565b600082019050919050565b600061309b600b836133db565b91506130a68261386d565b602082019050919050565b6130ba81613551565b82525050565b6130c98161355b565b82525050565b60006130da8261306b565b9150819050919050565b60006020820190506130f96000830184612ea3565b92915050565b60006020820190506131146000830184612e85565b92915050565b600060c08201905061312f6000830189612ea3565b61313c60208301886130b1565b6131496040830187612f2e565b6131566060830186612f2e565b6131636080830185612ea3565b61317060a08301846130b1565b979650505050505050565b60006020820190506131906000830184612f10565b92915050565b60006020820190506131ab6000830184612f1f565b92915050565b600060208201905081810360008301526131cb8184612f3d565b905092915050565b600060208201905081810360008301526131ec81612f76565b9050919050565b6000602082019050818103600083015261320c81612f99565b9050919050565b6000602082019050818103600083015261322c81612fbc565b9050919050565b6000602082019050818103600083015261324c81612fdf565b9050919050565b6000602082019050818103600083015261326c81613002565b9050919050565b6000602082019050818103600083015261328c81613025565b9050919050565b600060208201905081810360008301526132ac81613048565b9050919050565b600060208201905081810360008301526132cc8161308e565b9050919050565b60006020820190506132e860008301846130b1565b92915050565b600060a08201905061330360008301886130b1565b6133106020830187612f2e565b81810360408301526133228186612eb2565b90506133316060830185612ea3565b61333e60808301846130b1565b9695505050505050565b600060408201905061335d60008301856130b1565b61336a60208301846130b1565b9392505050565b600060208201905061338660008301846130c0565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006133f782613551565b915061340283613551565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561343757613436613607565b5b828201905092915050565b600061344d82613551565b915061345883613551565b92508261346857613467613636565b5b828204905092915050565b600061347e82613551565b915061348983613551565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134c2576134c1613607565b5b828202905092915050565b60006134d882613551565b91506134e383613551565b9250828210156134f6576134f5613607565b5b828203905092915050565b600061350c82613531565b9050919050565b600061351e82613531565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613573826135b0565b9050919050565b60006135858261358c565b9050919050565b600061359782613531565b9050919050565b60006135a982613551565b9050919050565b60006135bb826135c2565b9050919050565b60006135cd82613531565b9050919050565b60005b838110156135f25780820151818401526020810190506135d7565b83811115613601576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b61389f81613501565b81146138aa57600080fd5b50565b6138b681613513565b81146138c157600080fd5b50565b6138cd81613525565b81146138d857600080fd5b50565b6138e481613551565b81146138ef57600080fd5b5056fea2646970667358221220ae0f579cc99331af3861f9f5ad3a0e378dcc90b7f7494f8becf97da5a9a1e43064736f6c63430008050033

Deployed ByteCode Sourcemap

5460:10717:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6733:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7684:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8106:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15956:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7414:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8624:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15631:142;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3355:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7508:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8330:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13809:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13961:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14124:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6696:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14388:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7854:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5910:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7770:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5984:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7594:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6634:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8460:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3028:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6662:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15781:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15317:298;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7965:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14965:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14748:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3198:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10594:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3755:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15129:180;;;;;;;;;;;;;:::i;:::-;;14252:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6603:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3529:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6733:54;;;;:::o;7684:80::-;7732:13;7756:5;;;;;;;;;;;;;;;;;7749:12;;7684:80;:::o;8106:216::-;8181:4;8233:6;8198:11;:23;8210:10;8198:23;;;;;;;;;;;;;;;:32;8222:7;8198:32;;;;;;;;;;;;;;;:41;;;;8276:7;8255:37;;8264:10;8255:37;;;8285:6;8255:37;;;;;;:::i;:::-;;;;;;;;8310:4;8303:11;;8106:216;;;;:::o;15956:150::-;16036:4;16092:6;16060:29;16080:8;16060:19;:29::i;:::-;:38;16053:45;;15956:150;;;;:::o;7414:88::-;7469:7;7487:12;;7480:19;;7414:88;:::o;8624:370::-;8724:4;8779:17;8744:11;:19;8756:6;8744:19;;;;;;;;;;;;;;;:31;8764:10;8744:31;;;;;;;;;;;;;;;;:52;8741:186;;8846:69;8882:6;8846:69;;;;;;;;;;;;;;;;;:11;:19;8858:6;8846:19;;;;;;;;;;;;;;;:31;8866:10;8846:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8812:11;:19;8824:6;8812:19;;;;;;;;;;;;;;;:31;8832:10;8812:31;;;;;;;;;;;;;;;:103;;;;8741:186;8946:40;8960:6;8968:9;8979:6;8946:13;:40::i;:::-;8939:47;;8624:370;;;;;:::o;15631:142::-;15684:7;15711:54;15749:15;15759:4;;;;;;;;;;;15749:9;:15::i;:::-;15711:33;15728:15;15738:4;;;;;;;;;;;15728:9;:15::i;:::-;15711:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;15704:61;;15631:142;:::o;3355:103::-;3410:4;3445:5;;;;;;;;;;;3434:16;;:7;:16;;;3427:23;;3355:103;;;:::o;7508:80::-;7560:5;5840:1;7569:16;;7508:80;:::o;8330:122::-;8385:4;8409:35;8417:7;8426:17;8409:7;:35::i;:::-;8402:42;;8330:122;;;:::o;13809:145::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13909:4:::1;13894:12;;:19;;;;:::i;:::-;13884:6;:29;;13876:38;;;::::0;::::1;;13940:6;13925:12;:21;;;;13809:145:::0;:::o;13961:151::-;2744:19;2752:10;2744:7;:19::i;:::-;2736:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14064:4:::1;14049:12;;:19;;;;:::i;:::-;14039:6;:29;;14031:39;;;::::0;::::1;;14098:6;14081:14;:23;;;;13961:151:::0;:::o;14124:120::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14230:6:::1;14208:11;:19;14220:6;14208:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14124:120:::0;;:::o;6696:30::-;;;;;;;;;;;;;:::o;14388:352::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14540:13:::1;14525:12;:28;;;;14574:8;14564:7;:18;;;;14608:13;14593:12;:28;;;;14643:46;14675:13;14643:27;14661:8;14643:13;:17;;:27;;;;:::i;:::-;:31;;:46;;;;:::i;:::-;14632:8;:57;;;;14717:15;14700:14;:32;;;;14388:352:::0;;;;:::o;7854:105::-;7920:7;7938:9;:18;7948:7;7938:18;;;;;;;;;;;;;;;;7931:25;;7854:105;;;:::o;5910:54::-;;;;:::o;7770:78::-;7822:7;7840:5;;;;;;;;;;;7833:12;;7770:78;:::o;5984:56::-;;;;:::o;7594:84::-;7644:13;7668:7;;;;;;;;;;;;;;;;;7661:14;;7594:84;:::o;6634:19::-;;;;;;;;;;;;;:::o;8460:156::-;8540:4;8564:44;8578:10;8590:9;8601:6;8564:13;:44::i;:::-;8557:51;;8460:156;;;;:::o;3028:94::-;2744:19;2752:10;2744:7;:19::i;:::-;2736:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3110:4:::1;3088:14:::0;:19:::1;3103:3;3088:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;3028:94:::0;:::o;6662:25::-;;;;:::o;15781:167::-;15849:7;15876:64;15917:22;:20;:22::i;:::-;15876:36;15889:22;15909:1;15889:15;15899:4;;;;;;;;;;;15889:9;:15::i;:::-;:19;;:22;;;;:::i;:::-;15876:8;:12;;:36;;;;:::i;:::-;:40;;:64;;;;:::i;:::-;15869:71;;15781:167;;;:::o;15317:298::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15418:4:::1;15400:23;;:6;:23;;;;15392:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15474:24;15508:6;15501:24;;;15534:4;15501:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15474:66;;15559:20;;;;;;;;;;;15551:38;;:56;15590:16;15551:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15381:234;15317:298:::0;:::o;7965:133::-;8049:7;8067:11;:19;8079:6;8067:19;;;;;;;;;;;;;;;:28;8087:7;8067:28;;;;;;;;;;;;;;;;8060:35;;7965:133;;;;:::o;14965:156::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15071:8:::1;15057:11;;:22;;;;;;;;;;;;;;;;;;15106:7;15090:13;:23;;;;14965:156:::0;;:::o;14748:209::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14883:21:::1;14860:20;;:44;;;;;;;;;;;;;;;;;;14933:16;14915:15;;:34;;;;;;;;;;;;;;;;;;14748:209:::0;;:::o;3198:97::-;2744:19;2752:10;2744:7;:19::i;:::-;2736:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3282:5:::1;3260:14;:19;3275:3;3260:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;3198:97:::0;:::o;10594:225::-;10650:7;10691:12;10686:1;10673:10;;:14;;;;:::i;:::-;:30;10670:67;;10713:21;10732:1;10713:14;;:18;;:21;;;;:::i;:::-;10706:28;;;;10670:67;10750:7;10747:39;;;10768:15;10781:1;10768:8;;:12;;:15;;;;:::i;:::-;10761:22;;;;10747:39;10803:8;;10796:15;;10594:225;;;;:::o;3755:173::-;2744:19;2752:10;2744:7;:19::i;:::-;2736:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3839:3:::1;3831:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;3875:4;3853:14:::0;:19:::1;3868:3;3853:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;3895:25;3916:3;3895:25;;;;;;:::i;:::-;;;;;;;;3755:173:::0;:::o;15129:180::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15182:26:::1;15211:21;15182:50;;15251:20;;;;;;;;;;;15243:38;;:58;15282:18;15243:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15171:138;15129:180::o:0;14252:128::-;2913:24;2926:10;2913:12;:24::i;:::-;2905:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14366:6:::1;14340:15;:23;14356:6;14340:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;14252:128:::0;;:::o;6603:24::-;;;;;;;;;;;;;:::o;3529:107::-;3585:4;3609:14;:19;3624:3;3609:19;;;;;;;;;;;;;;;;;;;;;;;;;3602:26;;3529:107;;;:::o;412:192::-;498:7;531:1;526;:6;;534:12;518:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;558:9;574:1;570;:5;;;;:::i;:::-;558:17;;595:1;588:8;;;412:192;;;;;:::o;9002:942::-;9094:4;9114:6;;;;;;;;;;;9111:63;;;9130:41;9145:6;9153:9;9164:6;9130:14;:41::i;:::-;9123:48;;;;9111:63;9194:28;9207:6;9215;9194:12;:28::i;:::-;9260:4;;;;;;;;;;;9247:17;;:9;:17;;;;:38;;;;;9281:4;;;;;;;;;;;9268:17;;:9;:17;;;;9247:38;9243:198;;;9310:15;:26;9326:9;9310:26;;;;;;;;;;;;;;;;;;;;;;;;;:77;;;;9373:14;;9363:6;9340:9;:20;9350:9;9340:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:47;;9310:77;9302:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;9243:198;9464:16;:14;:16::i;:::-;9461:35;;;9483:10;:8;:10::i;:::-;9461:35;9512:10;:8;:10::i;:::-;9511:11;:32;;;;;9539:4;;;;;;;;;;;9526:17;;:9;:17;;;9511:32;9508:81;;;9574:1;9554:9;:17;9564:6;9554:17;;;;;;;;;;;;;;;;:21;9546:30;;;;;;9578:8;:6;:8::i;:::-;9508:81;9621:53;9643:6;9621:53;;;;;;;;;;;;;;;;;:9;:17;9631:6;9621:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9601:9;:17;9611:6;9601:17;;;;;;;;;;;;;;;:73;;;;9687:22;9712:21;9726:6;9712:13;:21::i;:::-;:67;;9773:6;9712:67;;;9736:34;9744:6;9752:9;9763:6;9736:7;:34::i;:::-;9712:67;9687:92;;9813:40;9838:14;9813:9;:20;9823:9;9813:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9790:9;:20;9800:9;9790:20;;;;;;;;;;;;;;;:63;;;;9888:9;9871:43;;9880:6;9871:43;;;9899:14;9871:43;;;;;;:::i;:::-;;;;;;;;9932:4;9925:11;;;9002:942;;;;;;:::o;270:136::-;328:7;355:43;359:1;362;355:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;348:50;;270:136;;;;:::o;83:181::-;141:7;161:9;177:1;173;:5;;;;:::i;:::-;161:17;;202:1;197;:6;;189:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;255:1;248:8;;;83:181;;;;:::o;610:250::-;668:7;697:1;692;:6;688:47;;;722:1;715:8;;;;688:47;747:9;763:1;759;:5;;;;:::i;:::-;747:17;;792:1;787;783;:5;;;;:::i;:::-;:10;775:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;851:1;844:8;;;610:250;;;;;:::o;866:132::-;924:7;951:39;955:1;958;951:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;944:46;;866:132;;;;:::o;9956:330::-;10049:4;10086:53;10108:6;10086:53;;;;;;;;;;;;;;;;;:9;:17;10096:6;10086:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;10066:9;:17;10076:6;10066:17;;;;;;;;;;;;;;;:73;;;;10173:32;10198:6;10173:9;:20;10183:9;10173:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10150:9;:20;10160:9;10150:20;;;;;;;;;;;;;;;:55;;;;10238:9;10221:35;;10230:6;10221:35;;;10249:6;10221:35;;;;;;:::i;:::-;;;;;;;;10274:4;10267:11;;9956:330;;;;;:::o;10294:166::-;10391:12;;10381:6;:22;;:49;;;;10407:15;:23;10423:6;10407:23;;;;;;;;;;;;;;;;;;;;;;;;;10381:49;10373:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10294:166;;:::o;11207:197::-;11256:4;11294;;;;;;;;;;;11280:18;;:10;:18;;;;:38;;;;;11312:6;;;;;;;;;;;11311:7;11280:38;:62;;;;;11331:11;;;;;;;;;;;11280:62;:116;;;;;11383:13;;11355:9;:24;11373:4;11355:24;;;;;;;;;;;;;;;;:41;;11280:116;11273:123;;11207:197;:::o;11412:1843::-;6851:4;6842:6;;:13;;;;;;;;;;;;;;;;;;11461:28:::1;11492:24;11510:4;11492:9;:24::i;:::-;11461:55;;11527:23;11553:59;11610:1;11553:52;11596:8;;11553:38;11578:12;;11553:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;11527:85;;11623:20;11646:41;11671:15;11646:20;:24;;:41;;;;:::i;:::-;11623:64;;11700:21;11738:1;11724:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11700:40;;11769:4;11751;11756:1;11751:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11795:4;;;;;;;;;;;11785;11790:1;11785:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;11812:21;11836;11812:45;;11870:6;;;;;;;;;;;:57;;;11942:12;11969:1;11985:4;12012;12032:15;11870:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12069:17;12089:40;12115:13;12089:21;:25;;:40;;;;:::i;:::-;12069:60;;12140:19;12162:33;12175:19;12192:1;12175:12;;:16;;:19;;;;:::i;:::-;12162:8;;:12;;:33;;;;:::i;:::-;12140:55;;12206:26;12235:51;12284:1;12235:44;12267:11;12235:27;12249:12;;12235:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;12206:80;;12297:28;12328:39;12355:11;12328:22;12342:7;;12328:9;:13;;:22;;;;:::i;:::-;:26;;:39;;;;:::i;:::-;12297:70;;12378:26;12407:44;12439:11;12407:27;12421:12;;12407:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;12378:73;;12467:21;12525:20;;;;;;;;;;;12517:34;;12559:18;12584:5;12517:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12466:128;;;12613:16;12605:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;12676:23;12736:15;;;;;;;;;;;12728:29;;12765:20;12792:5;12728:74;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12675:127;;;12821:18;12813:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;12908:1;12890:15;:19;12887:361;;;12925:6;;;;;;;;;;;:22;;;12955:18;13001:4;13025:15;13059:1;13079::::0;13099:20:::1;;;;;;;;;;;13138:15;12925:243;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13188:48;13200:18;13220:15;13188:48;;;;;;;:::i;:::-;;;;;;;;12887:361;11450:1805;;;;;;;;;;;;6869:5:::0;6860:6;;:14;;;;;;;;;;;;;;;;;;11412:1843::o;13632:90::-;13675:4;13713:1;13699:10;;:15;;13692:22;;13632:90;:::o;13730:71::-;13781:12;13768:10;:25;;;;13730:71::o;10472:114::-;10534:4;10559:11;:19;10571:6;10559:19;;;;;;;;;;;;;;;;;;;;;;;;;10558:20;10551:27;;10472:114;;;:::o;10827:372::-;10912:7;10932:17;10952:61;10998:14;;10952:41;10963:29;10987:4;;;;;;;;;;;10975:16;;:8;:16;;;10963:11;:29::i;:::-;10952:6;:10;;:41;;;;:::i;:::-;:45;;:61;;;;:::i;:::-;10932:81;;11053:39;11082:9;11053;:24;11071:4;11053:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11026:9;:24;11044:4;11026:24;;;;;;;;;;;;;;;:66;;;;11133:4;11108:42;;11117:6;11108:42;;;11140:9;11108:42;;;;;;:::i;:::-;;;;;;;;11170:21;11181:9;11170:6;:10;;:21;;;;:::i;:::-;11163:28;;;10827:372;;;;;:::o;1004:345::-;1090:7;1189:1;1185;:5;1192:12;1177:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1216:9;1232:1;1228;:5;;;;:::i;:::-;1216:17;;1340:1;1333:8;;;1004:345;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;212:95;;;;:::o;313:133::-;356:5;394:6;381:20;372:29;;410:30;434:5;410:30;:::i;:::-;362:84;;;;:::o;452:139::-;498:5;536:6;523:20;514:29;;552:33;579:5;552:33;:::i;:::-;504:87;;;;:::o;597:143::-;654:5;685:6;679:13;670:22;;701:33;728:5;701:33;:::i;:::-;660:80;;;;:::o;746:329::-;805:6;854:2;842:9;833:7;829:23;825:32;822:2;;;860:79;;:::i;:::-;822:2;980:1;1005:53;1050:7;1041:6;1030:9;1026:22;1005:53;:::i;:::-;995:63;;951:117;812:263;;;;:::o;1081:345::-;1148:6;1197:2;1185:9;1176:7;1172:23;1168:32;1165:2;;;1203:79;;:::i;:::-;1165:2;1323:1;1348:61;1401:7;1392:6;1381:9;1377:22;1348:61;:::i;:::-;1338:71;;1294:125;1155:271;;;;:::o;1432:474::-;1500:6;1508;1557:2;1545:9;1536:7;1532:23;1528:32;1525:2;;;1563:79;;:::i;:::-;1525:2;1683:1;1708:53;1753:7;1744:6;1733:9;1729:22;1708:53;:::i;:::-;1698:63;;1654:117;1810:2;1836:53;1881:7;1872:6;1861:9;1857:22;1836:53;:::i;:::-;1826:63;;1781:118;1515:391;;;;;:::o;1912:619::-;1989:6;1997;2005;2054:2;2042:9;2033:7;2029:23;2025:32;2022:2;;;2060:79;;:::i;:::-;2022:2;2180:1;2205:53;2250:7;2241:6;2230:9;2226:22;2205:53;:::i;:::-;2195:63;;2151:117;2307:2;2333:53;2378:7;2369:6;2358:9;2354:22;2333:53;:::i;:::-;2323:63;;2278:118;2435:2;2461:53;2506:7;2497:6;2486:9;2482:22;2461:53;:::i;:::-;2451:63;;2406:118;2012:519;;;;;:::o;2537:468::-;2602:6;2610;2659:2;2647:9;2638:7;2634:23;2630:32;2627:2;;;2665:79;;:::i;:::-;2627:2;2785:1;2810:53;2855:7;2846:6;2835:9;2831:22;2810:53;:::i;:::-;2800:63;;2756:117;2912:2;2938:50;2980:7;2971:6;2960:9;2956:22;2938:50;:::i;:::-;2928:60;;2883:115;2617:388;;;;;:::o;3011:474::-;3079:6;3087;3136:2;3124:9;3115:7;3111:23;3107:32;3104:2;;;3142:79;;:::i;:::-;3104:2;3262:1;3287:53;3332:7;3323:6;3312:9;3308:22;3287:53;:::i;:::-;3277:63;;3233:117;3389:2;3415:53;3460:7;3451:6;3440:9;3436:22;3415:53;:::i;:::-;3405:63;;3360:118;3094:391;;;;;:::o;3491:323::-;3547:6;3596:2;3584:9;3575:7;3571:23;3567:32;3564:2;;;3602:79;;:::i;:::-;3564:2;3722:1;3747:50;3789:7;3780:6;3769:9;3765:22;3747:50;:::i;:::-;3737:60;;3693:114;3554:260;;;;:::o;3820:468::-;3885:6;3893;3942:2;3930:9;3921:7;3917:23;3913:32;3910:2;;;3948:79;;:::i;:::-;3910:2;4068:1;4093:50;4135:7;4126:6;4115:9;4111:22;4093:50;:::i;:::-;4083:60;;4039:114;4192:2;4218:53;4263:7;4254:6;4243:9;4239:22;4218:53;:::i;:::-;4208:63;;4163:118;3900:388;;;;;:::o;4294:329::-;4353:6;4402:2;4390:9;4381:7;4377:23;4373:32;4370:2;;;4408:79;;:::i;:::-;4370:2;4528:1;4553:53;4598:7;4589:6;4578:9;4574:22;4553:53;:::i;:::-;4543:63;;4499:117;4360:263;;;;:::o;4629:351::-;4699:6;4748:2;4736:9;4727:7;4723:23;4719:32;4716:2;;;4754:79;;:::i;:::-;4716:2;4874:1;4899:64;4955:7;4946:6;4935:9;4931:22;4899:64;:::i;:::-;4889:74;;4845:128;4706:274;;;;:::o;4986:474::-;5054:6;5062;5111:2;5099:9;5090:7;5086:23;5082:32;5079:2;;;5117:79;;:::i;:::-;5079:2;5237:1;5262:53;5307:7;5298:6;5287:9;5283:22;5262:53;:::i;:::-;5252:63;;5208:117;5364:2;5390:53;5435:7;5426:6;5415:9;5411:22;5390:53;:::i;:::-;5380:63;;5335:118;5069:391;;;;;:::o;5466:663::-;5554:6;5562;5570;5619:2;5607:9;5598:7;5594:23;5590:32;5587:2;;;5625:79;;:::i;:::-;5587:2;5745:1;5770:64;5826:7;5817:6;5806:9;5802:22;5770:64;:::i;:::-;5760:74;;5716:128;5883:2;5909:64;5965:7;5956:6;5945:9;5941:22;5909:64;:::i;:::-;5899:74;;5854:129;6022:2;6048:64;6104:7;6095:6;6084:9;6080:22;6048:64;:::i;:::-;6038:74;;5993:129;5577:552;;;;;:::o;6135:765::-;6221:6;6229;6237;6245;6294:3;6282:9;6273:7;6269:23;6265:33;6262:2;;;6301:79;;:::i;:::-;6262:2;6421:1;6446:53;6491:7;6482:6;6471:9;6467:22;6446:53;:::i;:::-;6436:63;;6392:117;6548:2;6574:53;6619:7;6610:6;6599:9;6595:22;6574:53;:::i;:::-;6564:63;;6519:118;6676:2;6702:53;6747:7;6738:6;6727:9;6723:22;6702:53;:::i;:::-;6692:63;;6647:118;6804:2;6830:53;6875:7;6866:6;6855:9;6851:22;6830:53;:::i;:::-;6820:63;;6775:118;6252:648;;;;;;;:::o;6906:179::-;6975:10;6996:46;7038:3;7030:6;6996:46;:::i;:::-;7074:4;7069:3;7065:14;7051:28;;6986:99;;;;:::o;7091:147::-;7186:45;7225:5;7186:45;:::i;:::-;7181:3;7174:58;7164:74;;:::o;7244:108::-;7321:24;7339:5;7321:24;:::i;:::-;7316:3;7309:37;7299:53;;:::o;7358:118::-;7445:24;7463:5;7445:24;:::i;:::-;7440:3;7433:37;7423:53;;:::o;7512:732::-;7631:3;7660:54;7708:5;7660:54;:::i;:::-;7730:86;7809:6;7804:3;7730:86;:::i;:::-;7723:93;;7840:56;7890:5;7840:56;:::i;:::-;7919:7;7950:1;7935:284;7960:6;7957:1;7954:13;7935:284;;;8036:6;8030:13;8063:63;8122:3;8107:13;8063:63;:::i;:::-;8056:70;;8149:60;8202:6;8149:60;:::i;:::-;8139:70;;7995:224;7982:1;7979;7975:9;7970:14;;7935:284;;;7939:14;8235:3;8228:10;;7636:608;;;;;;;:::o;8250:109::-;8331:21;8346:5;8331:21;:::i;:::-;8326:3;8319:34;8309:50;;:::o;8365:167::-;8470:55;8519:5;8470:55;:::i;:::-;8465:3;8458:68;8448:84;;:::o;8538:147::-;8633:45;8672:5;8633:45;:::i;:::-;8628:3;8621:58;8611:74;;:::o;8691:364::-;8779:3;8807:39;8840:5;8807:39;:::i;:::-;8862:71;8926:6;8921:3;8862:71;:::i;:::-;8855:78;;8942:52;8987:6;8982:3;8975:4;8968:5;8964:16;8942:52;:::i;:::-;9019:29;9041:6;9019:29;:::i;:::-;9014:3;9010:39;9003:46;;8783:272;;;;;:::o;9061:366::-;9203:3;9224:67;9288:2;9283:3;9224:67;:::i;:::-;9217:74;;9300:93;9389:3;9300:93;:::i;:::-;9418:2;9413:3;9409:12;9402:19;;9207:220;;;:::o;9433:366::-;9575:3;9596:67;9660:2;9655:3;9596:67;:::i;:::-;9589:74;;9672:93;9761:3;9672:93;:::i;:::-;9790:2;9785:3;9781:12;9774:19;;9579:220;;;:::o;9805:366::-;9947:3;9968:67;10032:2;10027:3;9968:67;:::i;:::-;9961:74;;10044:93;10133:3;10044:93;:::i;:::-;10162:2;10157:3;10153:12;10146:19;;9951:220;;;:::o;10177:366::-;10319:3;10340:67;10404:2;10399:3;10340:67;:::i;:::-;10333:74;;10416:93;10505:3;10416:93;:::i;:::-;10534:2;10529:3;10525:12;10518:19;;10323:220;;;:::o;10549:366::-;10691:3;10712:67;10776:2;10771:3;10712:67;:::i;:::-;10705:74;;10788:93;10877:3;10788:93;:::i;:::-;10906:2;10901:3;10897:12;10890:19;;10695:220;;;:::o;10921:366::-;11063:3;11084:67;11148:2;11143:3;11084:67;:::i;:::-;11077:74;;11160:93;11249:3;11160:93;:::i;:::-;11278:2;11273:3;11269:12;11262:19;;11067:220;;;:::o;11293:365::-;11435:3;11456:66;11520:1;11515:3;11456:66;:::i;:::-;11449:73;;11531:93;11620:3;11531:93;:::i;:::-;11649:2;11644:3;11640:12;11633:19;;11439:219;;;:::o;11664:398::-;11823:3;11844:83;11925:1;11920:3;11844:83;:::i;:::-;11837:90;;11936:93;12025:3;11936:93;:::i;:::-;12054:1;12049:3;12045:11;12038:18;;11827:235;;;:::o;12068:366::-;12210:3;12231:67;12295:2;12290:3;12231:67;:::i;:::-;12224:74;;12307:93;12396:3;12307:93;:::i;:::-;12425:2;12420:3;12416:12;12409:19;;12214:220;;;:::o;12440:118::-;12527:24;12545:5;12527:24;:::i;:::-;12522:3;12515:37;12505:53;;:::o;12564:112::-;12647:22;12663:5;12647:22;:::i;:::-;12642:3;12635:35;12625:51;;:::o;12682:379::-;12866:3;12888:147;13031:3;12888:147;:::i;:::-;12881:154;;13052:3;13045:10;;12870:191;;;:::o;13067:222::-;13160:4;13198:2;13187:9;13183:18;13175:26;;13211:71;13279:1;13268:9;13264:17;13255:6;13211:71;:::i;:::-;13165:124;;;;:::o;13295:238::-;13396:4;13434:2;13423:9;13419:18;13411:26;;13447:79;13523:1;13512:9;13508:17;13499:6;13447:79;:::i;:::-;13401:132;;;;:::o;13539:807::-;13788:4;13826:3;13815:9;13811:19;13803:27;;13840:71;13908:1;13897:9;13893:17;13884:6;13840:71;:::i;:::-;13921:72;13989:2;13978:9;13974:18;13965:6;13921:72;:::i;:::-;14003:80;14079:2;14068:9;14064:18;14055:6;14003:80;:::i;:::-;14093;14169:2;14158:9;14154:18;14145:6;14093:80;:::i;:::-;14183:73;14251:3;14240:9;14236:19;14227:6;14183:73;:::i;:::-;14266;14334:3;14323:9;14319:19;14310:6;14266:73;:::i;:::-;13793:553;;;;;;;;;:::o;14352:210::-;14439:4;14477:2;14466:9;14462:18;14454:26;;14490:65;14552:1;14541:9;14537:17;14528:6;14490:65;:::i;:::-;14444:118;;;;:::o;14568:258::-;14679:4;14717:2;14706:9;14702:18;14694:26;;14730:89;14816:1;14805:9;14801:17;14792:6;14730:89;:::i;:::-;14684:142;;;;:::o;14832:313::-;14945:4;14983:2;14972:9;14968:18;14960:26;;15032:9;15026:4;15022:20;15018:1;15007:9;15003:17;14996:47;15060:78;15133:4;15124:6;15060:78;:::i;:::-;15052:86;;14950:195;;;;:::o;15151:419::-;15317:4;15355:2;15344:9;15340:18;15332:26;;15404:9;15398:4;15394:20;15390:1;15379:9;15375:17;15368:47;15432:131;15558:4;15432:131;:::i;:::-;15424:139;;15322:248;;;:::o;15576:419::-;15742:4;15780:2;15769:9;15765:18;15757:26;;15829:9;15823:4;15819:20;15815:1;15804:9;15800:17;15793:47;15857:131;15983:4;15857:131;:::i;:::-;15849:139;;15747:248;;;:::o;16001:419::-;16167:4;16205:2;16194:9;16190:18;16182:26;;16254:9;16248:4;16244:20;16240:1;16229:9;16225:17;16218:47;16282:131;16408:4;16282:131;:::i;:::-;16274:139;;16172:248;;;:::o;16426:419::-;16592:4;16630:2;16619:9;16615:18;16607:26;;16679:9;16673:4;16669:20;16665:1;16654:9;16650:17;16643:47;16707:131;16833:4;16707:131;:::i;:::-;16699:139;;16597:248;;;:::o;16851:419::-;17017:4;17055:2;17044:9;17040:18;17032:26;;17104:9;17098:4;17094:20;17090:1;17079:9;17075:17;17068:47;17132:131;17258:4;17132:131;:::i;:::-;17124:139;;17022:248;;;:::o;17276:419::-;17442:4;17480:2;17469:9;17465:18;17457:26;;17529:9;17523:4;17519:20;17515:1;17504:9;17500:17;17493:47;17557:131;17683:4;17557:131;:::i;:::-;17549:139;;17447:248;;;:::o;17701:419::-;17867:4;17905:2;17894:9;17890:18;17882:26;;17954:9;17948:4;17944:20;17940:1;17929:9;17925:17;17918:47;17982:131;18108:4;17982:131;:::i;:::-;17974:139;;17872:248;;;:::o;18126:419::-;18292:4;18330:2;18319:9;18315:18;18307:26;;18379:9;18373:4;18369:20;18365:1;18354:9;18350:17;18343:47;18407:131;18533:4;18407:131;:::i;:::-;18399:139;;18297:248;;;:::o;18551:222::-;18644:4;18682:2;18671:9;18667:18;18659:26;;18695:71;18763:1;18752:9;18748:17;18739:6;18695:71;:::i;:::-;18649:124;;;;:::o;18779:831::-;19042:4;19080:3;19069:9;19065:19;19057:27;;19094:71;19162:1;19151:9;19147:17;19138:6;19094:71;:::i;:::-;19175:80;19251:2;19240:9;19236:18;19227:6;19175:80;:::i;:::-;19302:9;19296:4;19292:20;19287:2;19276:9;19272:18;19265:48;19330:108;19433:4;19424:6;19330:108;:::i;:::-;19322:116;;19448:72;19516:2;19505:9;19501:18;19492:6;19448:72;:::i;:::-;19530:73;19598:3;19587:9;19583:19;19574:6;19530:73;:::i;:::-;19047:563;;;;;;;;:::o;19616:332::-;19737:4;19775:2;19764:9;19760:18;19752:26;;19788:71;19856:1;19845:9;19841:17;19832:6;19788:71;:::i;:::-;19869:72;19937:2;19926:9;19922:18;19913:6;19869:72;:::i;:::-;19742:206;;;;;:::o;19954:214::-;20043:4;20081:2;20070:9;20066:18;20058:26;;20094:67;20158:1;20147:9;20143:17;20134:6;20094:67;:::i;:::-;20048:120;;;;:::o;20255:132::-;20322:4;20345:3;20337:11;;20375:4;20370:3;20366:14;20358:22;;20327:60;;;:::o;20393:114::-;20460:6;20494:5;20488:12;20478:22;;20467:40;;;:::o;20513:99::-;20565:6;20599:5;20593:12;20583:22;;20572:40;;;:::o;20618:113::-;20688:4;20720;20715:3;20711:14;20703:22;;20693:38;;;:::o;20737:184::-;20836:11;20870:6;20865:3;20858:19;20910:4;20905:3;20901:14;20886:29;;20848:73;;;;:::o;20927:147::-;21028:11;21065:3;21050:18;;21040:34;;;;:::o;21080:169::-;21164:11;21198:6;21193:3;21186:19;21238:4;21233:3;21229:14;21214:29;;21176:73;;;;:::o;21255:305::-;21295:3;21314:20;21332:1;21314:20;:::i;:::-;21309:25;;21348:20;21366:1;21348:20;:::i;:::-;21343:25;;21502:1;21434:66;21430:74;21427:1;21424:81;21421:2;;;21508:18;;:::i;:::-;21421:2;21552:1;21549;21545:9;21538:16;;21299:261;;;;:::o;21566:185::-;21606:1;21623:20;21641:1;21623:20;:::i;:::-;21618:25;;21657:20;21675:1;21657:20;:::i;:::-;21652:25;;21696:1;21686:2;;21701:18;;:::i;:::-;21686:2;21743:1;21740;21736:9;21731:14;;21608:143;;;;:::o;21757:348::-;21797:7;21820:20;21838:1;21820:20;:::i;:::-;21815:25;;21854:20;21872:1;21854:20;:::i;:::-;21849:25;;22042:1;21974:66;21970:74;21967:1;21964:81;21959:1;21952:9;21945:17;21941:105;21938:2;;;22049:18;;:::i;:::-;21938:2;22097:1;22094;22090:9;22079:20;;21805:300;;;;:::o;22111:191::-;22151:4;22171:20;22189:1;22171:20;:::i;:::-;22166:25;;22205:20;22223:1;22205:20;:::i;:::-;22200:25;;22244:1;22241;22238:8;22235:2;;;22249:18;;:::i;:::-;22235:2;22294:1;22291;22287:9;22279:17;;22156:146;;;;:::o;22308:96::-;22345:7;22374:24;22392:5;22374:24;:::i;:::-;22363:35;;22353:51;;;:::o;22410:104::-;22455:7;22484:24;22502:5;22484:24;:::i;:::-;22473:35;;22463:51;;;:::o;22520:90::-;22554:7;22597:5;22590:13;22583:21;22572:32;;22562:48;;;:::o;22616:126::-;22653:7;22693:42;22686:5;22682:54;22671:65;;22661:81;;;:::o;22748:77::-;22785:7;22814:5;22803:16;;22793:32;;;:::o;22831:86::-;22866:7;22906:4;22899:5;22895:16;22884:27;;22874:43;;;:::o;22923:134::-;22981:9;23014:37;23045:5;23014:37;:::i;:::-;23001:50;;22991:66;;;:::o;23063:162::-;23131:9;23164:55;23213:5;23164:55;:::i;:::-;23151:68;;23141:84;;;:::o;23231:131::-;23299:9;23332:24;23350:5;23332:24;:::i;:::-;23319:37;;23309:53;;;:::o;23368:121::-;23426:9;23459:24;23477:5;23459:24;:::i;:::-;23446:37;;23436:53;;;:::o;23495:126::-;23545:9;23578:37;23609:5;23578:37;:::i;:::-;23565:50;;23555:66;;;:::o;23627:113::-;23677:9;23710:24;23728:5;23710:24;:::i;:::-;23697:37;;23687:53;;;:::o;23746:307::-;23814:1;23824:113;23838:6;23835:1;23832:13;23824:113;;;23923:1;23918:3;23914:11;23908:18;23904:1;23899:3;23895:11;23888:39;23860:2;23857:1;23853:10;23848:15;;23824:113;;;23955:6;23952:1;23949:13;23946:2;;;24035:1;24026:6;24021:3;24017:16;24010:27;23946:2;23795:258;;;;:::o;24059:180::-;24107:77;24104:1;24097:88;24204:4;24201:1;24194:15;24228:4;24225:1;24218:15;24245:180;24293:77;24290:1;24283:88;24390:4;24387:1;24380:15;24414:4;24411:1;24404:15;24431:180;24479:77;24476:1;24469:88;24576:4;24573:1;24566:15;24600:4;24597:1;24590:15;24617:180;24665:77;24662:1;24655:88;24762:4;24759:1;24752:15;24786:4;24783:1;24776:15;24926:117;25035:1;25032;25025:12;25049:102;25090:6;25141:2;25137:7;25132:2;25125:5;25121:14;25117:28;25107:38;;25097:54;;;:::o;25157:224::-;25297:34;25293:1;25285:6;25281:14;25274:58;25366:7;25361:2;25353:6;25349:15;25342:32;25263:118;:::o;25387:167::-;25527:19;25523:1;25515:6;25511:14;25504:43;25493:61;:::o;25560:222::-;25700:34;25696:1;25688:6;25684:14;25677:58;25769:5;25764:2;25756:6;25752:15;25745:30;25666:116;:::o;25788:177::-;25928:29;25924:1;25916:6;25912:14;25905:53;25894:71;:::o;25971:180::-;26111:32;26107:1;26099:6;26095:14;26088:56;26077:74;:::o;26157:220::-;26297:34;26293:1;26285:6;26281:14;26274:58;26366:3;26361:2;26353:6;26349:15;26342:28;26263:114;:::o;26383:156::-;26523:8;26519:1;26511:6;26507:14;26500:32;26489:50;:::o;26545:114::-;26651:8;:::o;26665:161::-;26805:13;26801:1;26793:6;26789:14;26782:37;26771:55;:::o;26832:122::-;26905:24;26923:5;26905:24;:::i;:::-;26898:5;26895:35;26885:2;;26944:1;26941;26934:12;26885:2;26875:79;:::o;26960:138::-;27041:32;27067:5;27041:32;:::i;:::-;27034:5;27031:43;27021:2;;27088:1;27085;27078:12;27021:2;27011:87;:::o;27104:116::-;27174:21;27189:5;27174:21;:::i;:::-;27167:5;27164:32;27154:2;;27210:1;27207;27200:12;27154:2;27144:76;:::o;27226:122::-;27299:24;27317:5;27299:24;:::i;:::-;27292:5;27289:35;27279:2;;27338:1;27335;27328:12;27279:2;27269:79;:::o

Swarm Source

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