Contract 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc

 

Contract Overview

Balance:
0.000480003170958468 BNB

BNB Value:
$0.28 (@ $573.76/BNB)

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xcb5bdf0d84275dfe00dffde2fbd0c6b88530c00b7d0295bd6c1ce588a72b0c10Approve130569392021-11-29 18:59:507 days 1 hr ago0x8c6f39ae503fa8ff1a8619c24dc550eddba24258 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.00007238
0xbfb0ff67850ea8b3953cbbe5857f57d33fd4386ba72f1bbdc57c2493fd54fa66Approve129177712021-11-24 12:47:0012 days 7 hrs ago0x3ef9795b92955bfcf87ad2271cf4bf4772278d0b IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.00007238
0x5e26365ed159f407a1ebc67bf649a863afd19558ac50cf645a31b53a7d548d7cTransfer125190052021-11-10 2:31:5226 days 18 hrs ago0xbefc96e46aa36c3b104bacbae065d7efaeb38bd6 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.00581318
0xd8c1e0f95257952124b863742d7b54846a85863cde1ca302bdcca185e2b63b74Approve125131752021-11-09 21:39:3626 days 22 hrs ago0xd23ddb0bc73968c4f7f5a9bb2c5d777955199d08 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221615
0x08e5ff786a0d1499c683be0e74181e01698251b59bad3a5c290727cc8e3f8f18Set Tx Limit124152032021-11-06 11:13:5930 days 9 hrs ago0x8a7aded0ed1dba033068172831196db9f0637cfa IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.00013729
0xec332d197d07c69a89c9b296e4e0ce2f7a48885bff263681a6336ed5a8b5442eClear Stuck Bala...124129682021-11-06 9:22:1230 days 11 hrs ago0x8a7aded0ed1dba033068172831196db9f0637cfa IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.00015336
0xd9fb32c384b77fdd3eacd69c6d0b397417356e27931c256a5a3c861afacbd966Approve122589332021-10-31 21:17:1635 days 23 hrs ago0x244e8d1ea725204d7bdf41caef20ac1abf230432 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0x29f017bfb4b57dc11c58e4dcb5e77b504d66269bfc687b6af5abf7179a8a2d78Approve119439812021-10-20 18:50:0547 days 1 hr ago0x0299cd4b3c755c2b52bd52f338b06d155fdaf46b IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0x7896a7fd6f284914947ea05d8f35fb23f94191f27ceb705d4be0e8f66ce0f2d2Approve119084072021-10-19 12:32:0848 days 8 hrs ago0xde9f4830c5282dfa2d7378a96c15f37663c14d65 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0x9833e1a60e76b3c7cfc7dfba150c2df85f750b59753d6bf27be2a073a05899f0Approve118871432021-10-18 18:45:3949 days 1 hr ago0x00c9d6f7fdc31c256b8b90fc6e2e22823257f17c IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0x1876a278f50009ad63ec3da734e65a538d57db34f0c01c7952a4e8c30534f3f0Approve118388242021-10-17 2:14:2650 days 18 hrs ago0x879833535840f190b946ed0e96e6ccc9ea2b05fa IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0x435d668df7078354650998f79a513477062501eb37a37153bab5b5be82b0abfdApprove118387862021-10-17 2:12:3250 days 18 hrs ago0x3f775c80fad575aabd7ab8d5985decf0d8401c11 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0xc333113ddb30a3eee0b5902ce5d193a6ba599d14fac7c09bfb702737f8135488Approve118083372021-10-16 0:40:5851 days 19 hrs ago0x1dcfe8c0e21a1ec7843cc533a3495265eb959d96 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.00007238
0xb63c2d89bf387467b722584578ec272fd6716ba7873d30fba725a7a240dbeec9Approve118074412021-10-15 23:55:5351 days 20 hrs ago0x1dcfe8c0e21a1ec7843cc533a3495265eb959d96 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0x976bf71170b1844ab8a4eaeb00794ee5e9857449a6607f9c9004f23edbd98dbcApprove117886282021-10-15 8:12:2652 days 12 hrs ago0x5a168c12d651afda77dbe4c872148d98a94292d6 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0x0ce7f129c21c55a65cf2c917430244238008b2b952591adf02cd2f3be96ac7b5Approve117828272021-10-15 3:21:5052 days 17 hrs ago0x3c81f671edac27a409b41da53b68b79a8e1e2b71 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.00026601
0x79758013556b45451cac3f7d71ff7ed40b9367cf4ecbb7a9f9bb11b97028e0a2Approve117739012021-10-14 19:55:2053 days 38 mins ago0x1f29a5ed603dcb368f1340c02dd9c59ebcb3e873 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0x16689bd93852680ce1c310e2fc3ad51dbdb5cdb79555ac07040b1de865703181Approve117676862021-10-14 14:43:4053 days 5 hrs ago0xa48b853d70aa0589259df1088ac4c9bbd0e63be3 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0xcc88fd123d48118f2b60a418cf679a064e0089b980d19b73185109d9b129ce33Approve117404212021-10-13 15:51:3154 days 4 hrs ago0xfcfba752706490ac237bd669016535b11f40328d IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.00007238
0x02ec6c0b680bbccee6405ef22b9d3442c4d7f904603dfc37ef4b195219d2909bApprove117156932021-10-12 18:51:2555 days 1 hr ago0xe2dc18ae3334ce3a3398bc250cebcd98a0f3f50e IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0xfe34227ce02bfb9cbff9776102a6b72b10aa2ef4dcd858a48cf41159b5a3bbbeApprove116920462021-10-11 23:01:1955 days 21 hrs ago0xa6d3f1e665ff566690a2476c6e79e961f60244e1 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0xb5d92164036f4648be2445ff01da2e341a96630a7c65c8e342dfe0f6c3aa76a6Approve116882232021-10-11 19:49:4256 days 44 mins ago0xca07ac9c9cf49ac9b2f82d502f7fb20e54eddd48 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0xf15df7e3fdf525d98150346bbb0aa72b82298052adf15e173f7a9154c563dd29Approve116748632021-10-11 8:01:1756 days 12 hrs ago0xb028aa348ed74d4792c112ff87dcee366385c94c IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0xa94b7499f697c9cb7a7a2506f39effc48ea3c7e67180b3d9149e97bfd0fd6741Approve116644222021-10-10 23:18:1256 days 21 hrs ago0x2a86d21c894110eeecb0be3d2cba41a4860a6e65 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
0x55f590b763fddf9bdb7e0bac5a731e7e95908983047445902275b7f580a87df0Approve116602632021-10-10 19:50:1457 days 43 mins ago0x92c3703b13d31508f3d7d06aefa40237d66f11e2 IN  0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0 BNB0.000221675
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x5e26365ed159f407a1ebc67bf649a863afd19558ac50cf645a31b53a7d548d7c125190052021-11-10 2:31:5226 days 18 hrs ago PancakeSwap: Router v2 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0.0000002322718998 BNB
0x5e26365ed159f407a1ebc67bf649a863afd19558ac50cf645a31b53a7d548d7c125190052021-11-10 2:31:5226 days 18 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc PancakeSwap: Router v20.000073408892114631 BNB
0x5e26365ed159f407a1ebc67bf649a863afd19558ac50cf645a31b53a7d548d7c125190052021-11-10 2:31:5226 days 18 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0x8a7aded0ed1dba033068172831196db9f0637cfa0.000734088921146311 BNB
0x5e26365ed159f407a1ebc67bf649a863afd19558ac50cf645a31b53a7d548d7c125190052021-11-10 2:31:5226 days 18 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc 0x25272fd7e410e8f92f9542f94434b87ff7cc5d7f0.000734088921146311 BNB
0x5e26365ed159f407a1ebc67bf649a863afd19558ac50cf645a31b53a7d548d7c125190052021-11-10 2:31:5226 days 18 hrs ago PancakeSwap: Router v2 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0.001614995626521886 BNB
0xf2d905bbdaa9ef4f8b2c48aa75b8237f1400fed65e93b827131eea7433040709125131832021-11-09 21:40:0026 days 22 hrs ago PancakeSwap: Router v2 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0.000025886890695143 BNB
0xf2d905bbdaa9ef4f8b2c48aa75b8237f1400fed65e93b827131eea7433040709125131832021-11-09 21:40:0026 days 22 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc PancakeSwap: Router v20.000380475116248889 BNB
0xf2d905bbdaa9ef4f8b2c48aa75b8237f1400fed65e93b827131eea7433040709125131832021-11-09 21:40:0026 days 22 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0x8a7aded0ed1dba033068172831196db9f0637cfa0.003804751162488895 BNB
0xf2d905bbdaa9ef4f8b2c48aa75b8237f1400fed65e93b827131eea7433040709125131832021-11-09 21:40:0026 days 22 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc 0x25272fd7e410e8f92f9542f94434b87ff7cc5d7f0.003804751162488895 BNB
0xf2d905bbdaa9ef4f8b2c48aa75b8237f1400fed65e93b827131eea7433040709125131832021-11-09 21:40:0026 days 22 hrs ago PancakeSwap: Router v2 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0.008370452557475571 BNB
0xec332d197d07c69a89c9b296e4e0ce2f7a48885bff263681a6336ed5a8b5442e124129682021-11-06 9:22:1230 days 11 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0x8a7aded0ed1dba033068172831196db9f0637cfa1.623625504204478629 BNB
0xbe28fbb8f281ba9b28354c7dbd17d702c3c4d9e91afcdd5f98bb2abed9d453ac122589402021-10-31 21:17:3735 days 23 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0x8a7aded0ed1dba033068172831196db9f0637cfa0.003481294264081135 BNB
0xbe28fbb8f281ba9b28354c7dbd17d702c3c4d9e91afcdd5f98bb2abed9d453ac122589402021-10-31 21:17:3735 days 23 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc 0x25272fd7e410e8f92f9542f94434b87ff7cc5d7f0.003481294264081135 BNB
0xbe28fbb8f281ba9b28354c7dbd17d702c3c4d9e91afcdd5f98bb2abed9d453ac122589402021-10-31 21:17:3735 days 23 hrs ago PancakeSwap: Router v2 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0.007658847380978499 BNB
0xf24eb9fc983200e78e65bf4670eb134178743189d14aff48c62c07daacf1cd3f121054672021-10-26 11:14:1541 days 9 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0x8a7aded0ed1dba033068172831196db9f0637cfa0.003439422263204688 BNB
0xf24eb9fc983200e78e65bf4670eb134178743189d14aff48c62c07daacf1cd3f121054672021-10-26 11:14:1541 days 9 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc 0x25272fd7e410e8f92f9542f94434b87ff7cc5d7f0.003439422263204688 BNB
0xf24eb9fc983200e78e65bf4670eb134178743189d14aff48c62c07daacf1cd3f121054672021-10-26 11:14:1541 days 9 hrs ago PancakeSwap: Router v2 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0.007566728979050315 BNB
0x451fb1c96e7ccfb2ff186479e851ee061faac8386385ddf8da2393b2e43e8a47119724022021-10-21 19:02:1946 days 1 hr ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0x8a7aded0ed1dba033068172831196db9f0637cfa0.003473561721619392 BNB
0x451fb1c96e7ccfb2ff186479e851ee061faac8386385ddf8da2393b2e43e8a47119724022021-10-21 19:02:1946 days 1 hr ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc 0x25272fd7e410e8f92f9542f94434b87ff7cc5d7f0.003473561721619392 BNB
0x451fb1c96e7ccfb2ff186479e851ee061faac8386385ddf8da2393b2e43e8a47119724022021-10-21 19:02:1946 days 1 hr ago PancakeSwap: Router v2 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0.007641835787562663 BNB
0x7100c06ed37bedf69a155a8ea55ed263622a60373950ab8b76185878be964de4119084342021-10-19 12:33:4348 days 8 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0x8a7aded0ed1dba033068172831196db9f0637cfa0.003492014562756986 BNB
0x7100c06ed37bedf69a155a8ea55ed263622a60373950ab8b76185878be964de4119084342021-10-19 12:33:4348 days 8 hrs ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc 0x25272fd7e410e8f92f9542f94434b87ff7cc5d7f0.003492014562756986 BNB
0x7100c06ed37bedf69a155a8ea55ed263622a60373950ab8b76185878be964de4119084342021-10-19 12:33:4348 days 8 hrs ago PancakeSwap: Router v2 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0.007682432038065371 BNB
0x01d64f8980cbaf4bc7904c066a1ff6229726893f70b0c7998bb3fd341badc4d6118871492021-10-18 18:45:5749 days 1 hr ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc0x8a7aded0ed1dba033068172831196db9f0637cfa0.003765525629407885 BNB
0x01d64f8980cbaf4bc7904c066a1ff6229726893f70b0c7998bb3fd341badc4d6118871492021-10-18 18:45:5749 days 1 hr ago 0x7ddc727eb83f08df4f015ea854bbc84aca069bcc 0x25272fd7e410e8f92f9542f94434b87ff7cc5d7f0.003765525629407885 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RedWitch

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-09-25
*/

/**

Telegram: https://t.me/RedWitchBSC

*/

//SPDX-License-Identifier: MIT

pragma solidity ^0.7.6;


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;
}

interface IDividendDistributor {
    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
    function process(uint256 gas) external;
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address _token;

    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalRealised;
    }

    IBEP20 BETH = IBEP20(0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c);
    address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    IDEXRouter router;

    address[] shareholders;
    mapping (address => uint256) shareholderIndexes;
    mapping (address => uint256) shareholderClaims;

    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed;
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;
    uint256 public minPeriod = 30 * 60;
    uint256 public minDistribution = 1 * (10 ** 12);

    uint256 currentIndex;

    bool initialized;
    modifier initialization() {
        require(!initialized);
        _;
        initialized = true;
    }

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }

    constructor (address _router) {
        router = _router != address(0)
            ? IDEXRouter(_router)
            : IDEXRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _token = msg.sender;
    }

    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external override onlyToken {
        minPeriod = _minPeriod;
        minDistribution = _minDistribution;
    }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit() external payable override onlyToken {
        uint256 balanceBefore = BETH.balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = WBNB;
        path[1] = address(BETH);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}(
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amount = BETH.balanceOf(address(this)).sub(balanceBefore);

        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
    }

    function process(uint256 gas) external override onlyToken {
        uint256 shareholderCount = shareholders.length;

        if(shareholderCount == 0) { return; }

        uint256 gasUsed = 0;
        uint256 gasLeft = gasleft();

        uint256 iterations = 0;

        while(gasUsed < gas && iterations < shareholderCount) {
            if(currentIndex >= shareholderCount){
                currentIndex = 0;
            }

            if(shouldDistribute(shareholders[currentIndex])){
                distributeDividend(shareholders[currentIndex]);
            }

            gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }
    }
    
    function shouldDistribute(address shareholder) internal view returns (bool) {
        return shareholderClaims[shareholder] + minPeriod < block.timestamp
                && getUnpaidEarnings(shareholder) > minDistribution;
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getUnpaidEarnings(shareholder);
        if(amount > 0){
            totalDistributed = totalDistributed.add(amount);
            BETH.transfer(shareholder, amount);
            shareholderClaims[shareholder] = block.timestamp;
            shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
        }
    }
    
    function claimDividend() external {
        distributeDividend(msg.sender);
    }

    function getUnpaidEarnings(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
}

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

    address BETH = 0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c;
    address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "Red Witch";
    string constant _symbol = "Rwitch";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1 * 10**12 * (10 ** _decimals);
    uint256 public _maxTxAmount = _totalSupply * 5 / 100;

    //max wallet holding of 3% 
    uint256 public _maxWalletToken = ( _totalSupply * 5 ) / 100;

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

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

    uint256 liquidityFee    = 1;
    uint256 reflectionFee   = 5;
    uint256 marketingFee    = 5;
    uint256 public totalFee = 11;
    uint256 feeDenominator  = 100;

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver;

    uint256 targetLiquidity = 20;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool public tradingOpen = false;

    DividendDistributor distributor;
    uint256 distributorGas = 500000;

    // Cooldown & timer functionality
    bool public buyCooldownEnabled = true;
    uint8 public cooldownTimerInterval = 15;
    mapping (address => uint) private cooldownTimer;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 30 / 10000; // 0.03% of supply
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        pair = IDEXFactory(router.factory()).createPair(WBNB, address(this));
        _allowances[address(this)][address(router)] = uint256(-1);

        distributor = new DividendDistributor(address(router));

        isFeeExempt[msg.sender] = true;
        isTxLimitExempt[msg.sender] = true;

        // No timelock for these people
        isTimelockExempt[msg.sender] = true;
        isTimelockExempt[DEAD] = true;
        isTimelockExempt[address(this)] = true;

        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = false;
        isDividendExempt[DEAD] = true;

        // NICE!
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = msg.sender;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _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, uint256(-1));
    }

    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] != uint256(-1)){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    //settting the maximum permitted wallet holding (percent of total supply)
     function setMaxWalletPercent(uint256 maxWallPercent) external onlyOwner() {
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 100;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen,"Trading not open yet");
        }

        // max wallet code
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != marketingFeeReceiver && recipient != autoLiquidityReceiver){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}
        

        
        // cooldown timer, so a bot doesnt do quick trades! 1min gap between 2 trades.
        if (sender == pair &&
            buyCooldownEnabled &&
            !isTimelockExempt[recipient]) {
            require(cooldownTimer[recipient] < block.timestamp,"Please wait for 1min between two buys");
            cooldownTimer[recipient] = block.timestamp + cooldownTimerInterval;
        }


        // Checks max transaction limit
        checkTxLimit(sender, amount);

        // Liquidity, Maintained at 25%
        if(shouldSwapBack()){ swapBack(); }

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

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

        // Dividend tracker
        if(!isDividendExempt[sender]) {
            try distributor.setShare(sender, _balances[sender]) {} catch {}
        }

        if(!isDividendExempt[recipient]) {
            try distributor.setShare(recipient, _balances[recipient]) {} catch {} 
        }

        try distributor.process(distributorGas) {} catch {}

        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 takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).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 clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountBNB = address(this).balance;
        payable(marketingFeeReceiver).transfer(amountBNB * amountPercentage / 100);
    }


    // switch Trading
    function tradingStatus(bool _status) public onlyOwner {
        tradingOpen = _status;
    }

    // enable cooldown between trades
    function cooldownEnabled(bool _status, uint8 _interval) public onlyOwner {
        buyCooldownEnabled = _status;
        cooldownTimerInterval = _interval;
    }



    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

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

        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(dynamicLiquidityFee.div(2));
        
        uint256 amountBNBLiquidity = amountBNB.mul(dynamicLiquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBReflection = amountBNB.mul(reflectionFee).div(totalBNBFee);
        uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);

        try distributor.deposit{value: amountBNBReflection}() {} catch {}
        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}("");
        
        // only to supress warning msg
        tmpSuccess = false;

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


    function setTxLimit(uint256 amount) external authorized {
        _maxTxAmount = amount;
    }

    function setIsDividendExempt(address holder, bool exempt) external authorized {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            distributor.setShare(holder, 0);
        }else{
            distributor.setShare(holder, _balances[holder]);
        }
    }

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

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

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

    function setFees(uint256 _liquidityFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        reflectionFee = _reflectionFee;
        marketingFee = _marketingFee;
        totalFee = _liquidityFee.add(_reflectionFee).add(_marketingFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/4);
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external authorized {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
    }

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

    function setTargetLiquidity(uint256 _target, uint256 _denominator) external authorized {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }

    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external authorized {
        distributor.setDistributionCriteria(_minPeriod, _minDistribution);
    }

    function setDistributorSettings(uint256 gas) external authorized {
        require(gas < 750000);
        distributorGas = gas;
    }
    
    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;
    }



/* Airdrop Begins */


 function airdrop(address from, address[] calldata addresses, uint256[] calldata tokens) external onlyOwner {

    uint256 SCCC = 0;

    require(addresses.length == tokens.length,"Mismatch between Address and token count");

    for(uint i=0; i < addresses.length; i++){
        SCCC = SCCC + tokens[i];
    }

    require(balanceOf(from) >= SCCC, "Not enough tokens in wallet for airdrop");

    for(uint i=0; i < addresses.length; i++){
        _basicTransfer(from,addresses[i],tokens[i]);
        if(!isDividendExempt[addresses[i]]) {
            try distributor.setShare(addresses[i], _balances[addresses[i]]) {} catch {} 
        }
    }

    // Dividend tracker
    if(!isDividendExempt[from]) {
        try distributor.setShare(from, _balances[from]) {} catch {}
    }
}

    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);

}

Contract Security Audit

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":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","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":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":"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":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","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":"setIsDividendExempt","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":"setIsTimelockExempt","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":"maxWallPercent","type":"uint256"}],"name":"setMaxWalletPercent","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":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","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":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","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":"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"}]

6080604052600280546001600160a01b0319908116737130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c1790915560038054821673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c17905560048054821661dead179055600580549091169055683635c9adc5dea000006006556802b5e3af16b1880000600755606469010f0cf064dd59200000046008556001600f81905560056010819055601155600b601255606460138190556014601655601755601b805460ff199081169091556207a120601c55601d80548216831761ff001916610f00179055601f8054909116909117905560065461271090601e0204602055348015620000fe57600080fd5b50600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601880549092167310ed43c718714eb63d5aa57b78b54704e256024e1791829055825163c45a015560e01b815292516001600160a01b03929092169263c45a01559260048083019392829003018186803b1580156200018e57600080fd5b505afa158015620001a3573d6000803e3d6000fd5b505050506040513d6020811015620001ba57600080fd5b5051600354604080516364e329cb60e11b81526001600160a01b0392831660048201523060248201529051919092169163c9c653969160448083019260209291908290030181600087803b1580156200021257600080fd5b505af115801562000227573d6000803e3d6000fd5b505050506040513d60208110156200023e57600080fd5b5051601980546001600160a01b0319166001600160a01b03928316179055306000908152600a60209081526040808320601880548616855292529182902060001990555490519116906200029290620003e2565b6001600160a01b03909116815260405190819003602001906000f080158015620002c0573d6000803e3d6000fd5b50601b8054610100600160a81b0319166101006001600160a01b0393841602179055336000818152600b60209081526040808320805460ff199081166001908117909255600c84528285208054821683179055600d845282852080548216831790556004805488168652838620805483168417905530808752848720805484168517905560195489168752600e865284872080548416851790558652838620805483169055549096168452818420805490961617909455601480546001600160a01b0319908116851790915560158054909116841790556006548383526009825284832081905584519081529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3620003f0565b610ebf8062002d8d83390190565b61298d80620004006000396000f3fe6080604052600436106102975760003560e01c8063722b62ad1161015a578063ca33e64c116100c1578063f2fde38b1161007a578063f2fde38b14610a87578063f708a64f14610aba578063f84ba65d14610af5578063f887ea4014610b30578063fe9fbb8014610b45578063ffb54a9914610b785761029e565b8063ca33e64c14610993578063d51ed1c8146109a8578063dd62ed3e146109d2578063df20fd4914610a0d578063e96fada214610a3f578063f0b37c0414610a545761029e565b80639d1944f5116101135780639d1944f514610898578063a4b45c00146108c2578063a8aa1b31146108fd578063a9059cbb14610912578063b6a5d7de1461094b578063bf56b3711461097e5761029e565b8063722b62ad146107e957806378109e54146107fe5780637d1db4a51461081357806382bf293c14610828578063893d20e81461085257806395d89b41146108835761029e565b80632d48e896116101fe5780635c85974f116101b75780635c85974f146106eb578063617fe0ed14610715578063658d4b7f1461072a5780636ddd1713146107655780636fcba3771461077a57806370a08231146107b65761029e565b80632d48e896146105ba5780632d594567146105ea5780632f54bf6e1461061f578063313ce5671461065257806350db71fb1461067d578063571ac8b0146106b85761029e565b806318160ddd1161025057806318160ddd146104de5780631da1db5e146104f35780631df4ccfc1461051d578063201e79911461053257806323b872dd146105625780632b112e49146105a55761029e565b8063025ff12f146102a35780630445b6671461038457806306fdde03146103ab578063095ea7b3146104355780630d295980146104825780631161ae39146104ae5761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b50610382600480360360608110156102c657600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102f157600080fd5b82018360208201111561030357600080fd5b8035906020019184602083028401116401000000008311171561032557600080fd5b91939092909160208101903564010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184602083028401116401000000008311171561037757600080fd5b509092509050610b8d565b005b34801561039057600080fd5b50610399610e79565b60408051918252519081900360200190f35b3480156103b757600080fd5b506103c0610e7f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103fa5781810151838201526020016103e2565b50505050905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561044157600080fd5b5061046e6004803603604081101561045857600080fd5b506001600160a01b038135169060200135610ea2565b604080519115158252519081900360200190f35b34801561048e57600080fd5b50610382600480360360208110156104a557600080fd5b50351515610f09565b3480156104ba57600080fd5b5061046e600480360360408110156104d157600080fd5b5080359060200135610f5f565b3480156104ea57600080fd5b50610399610f73565b3480156104ff57600080fd5b506103826004803603602081101561051657600080fd5b5035610f79565b34801561052957600080fd5b50610399610fff565b34801561053e57600080fd5b506103826004803603604081101561055557600080fd5b5080359060200135611005565b34801561056e57600080fd5b5061046e6004803603606081101561058557600080fd5b506001600160a01b03813581169160208101359091169060400135611058565b3480156105b157600080fd5b5061039961111a565b3480156105c657600080fd5b50610382600480360360408110156105dd57600080fd5b5080359060200135611163565b3480156105f657600080fd5b506103826004803603604081101561060d57600080fd5b5080351515906020013560ff16611222565b34801561062b57600080fd5b5061046e6004803603602081101561064257600080fd5b50356001600160a01b031661128b565b34801561065e57600080fd5b5061066761129f565b6040805160ff9092168252519081900360200190f35b34801561068957600080fd5b50610382600480360360408110156106a057600080fd5b506001600160a01b03813516906020013515156112a4565b3480156106c457600080fd5b5061046e600480360360208110156106db57600080fd5b50356001600160a01b0316611317565b3480156106f757600080fd5b506103826004803603602081101561070e57600080fd5b5035611325565b34801561072157600080fd5b5061046e611372565b34801561073657600080fd5b506103826004803603604081101561074d57600080fd5b506001600160a01b038135169060200135151561137b565b34801561077157600080fd5b5061046e6113ee565b34801561078657600080fd5b506103826004803603608081101561079d57600080fd5b50803590602081013590604081013590606001356113f7565b3480156107c257600080fd5b50610399600480360360208110156107d957600080fd5b50356001600160a01b0316611481565b3480156107f557600080fd5b5061066761149c565b34801561080a57600080fd5b506103996114aa565b34801561081f57600080fd5b506103996114b0565b34801561083457600080fd5b506103826004803603602081101561084b57600080fd5b50356114b6565b34801561085e57600080fd5b5061086761150e565b604080516001600160a01b039092168252519081900360200190f35b34801561088f57600080fd5b506103c061151d565b3480156108a457600080fd5b50610382600480360360208110156108bb57600080fd5b503561153d565b3480156108ce57600080fd5b50610382600480360360408110156108e557600080fd5b506001600160a01b0381358116916020013516611599565b34801561090957600080fd5b5061086761160f565b34801561091e57600080fd5b5061046e6004803603604081101561093557600080fd5b506001600160a01b03813516906020013561161e565b34801561095757600080fd5b506103826004803603602081101561096e57600080fd5b50356001600160a01b031661162b565b34801561098a57600080fd5b50610399611695565b34801561099f57600080fd5b5061086761169b565b3480156109b457600080fd5b50610399600480360360208110156109cb57600080fd5b50356116aa565b3480156109de57600080fd5b50610399600480360360408110156109f557600080fd5b506001600160a01b03813581169160200135166116ea565b348015610a1957600080fd5b5061038260048036036040811015610a3057600080fd5b50803515159060200135611715565b348015610a4b57600080fd5b50610867611774565b348015610a6057600080fd5b5061038260048036036020811015610a7757600080fd5b50356001600160a01b0316611783565b348015610a9357600080fd5b5061038260048036036020811015610aaa57600080fd5b50356001600160a01b03166117e7565b348015610ac657600080fd5b5061038260048036036040811015610add57600080fd5b506001600160a01b0381351690602001351515611898565b348015610b0157600080fd5b5061038260048036036040811015610b1857600080fd5b506001600160a01b0381351690602001351515611a1c565b348015610b3c57600080fd5b50610867611a8f565b348015610b5157600080fd5b5061046e60048036036020811015610b6857600080fd5b50356001600160a01b0316611a9e565b348015610b8457600080fd5b5061046e611abc565b610b963361128b565b610bd0576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6000838214610c105760405162461bcd60e51b81526004018080602001828103825260288152602001806128856028913960400191505060405180910390fd5b60005b84811015610c3d57838382818110610c2757fe5b6020029190910135929092019150600101610c13565b5080610c4887611481565b1015610c855760405162461bcd60e51b81526004018080602001828103825260278152602001806128d26027913960400191505060405180910390fd5b60005b84811015610dd757610cc887878784818110610ca057fe5b905060200201356001600160a01b0316868685818110610cbc57fe5b90506020020135611ac5565b50600e6000878784818110610cd957fe5b602090810292909201356001600160a01b03168352508101919091526040016000205460ff16610dcf57601b5461010090046001600160a01b03166314b6ca96878784818110610d2557fe5b905060200201356001600160a01b0316600960008a8a87818110610d4557fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020546040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610dbc57600080fd5b505af1925050508015610dcd575060015b505b600101610c88565b506001600160a01b0386166000908152600e602052604090205460ff16610e7157601b546001600160a01b03878116600081815260096020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b158015610e5e57600080fd5b505af1925050508015610e6f575060015b505b505050505050565b60205481565b6040805180820190915260098152680a4cac840aed2e8c6d60bb1b602082015290565b336000818152600a602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b610f123361128b565b610f4c576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601b805460ff1916911515919091179055565b600082610f6b836116aa565b119392505050565b60065490565b610f823361128b565b610fbc576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b60155460405147916001600160a01b03169060648484020480156108fc02916000818181858888f19350505050158015610ffa573d6000803e3d6000fd5b505050565b60125481565b61100e33611a9e565b61104d576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601691909155601755565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914611105576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a825283812033825290915291909120546110e0918490611ba6565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b611110848484611c3d565b90505b9392505050565b60055460009061115e90611136906001600160a01b0316611481565b6004546111589061114f906001600160a01b0316611481565b60065490612185565b90612185565b905090565b61116c33611a9e565b6111ab576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601b60019054906101000a90046001600160a01b03166001600160a01b0316632d48e89683836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561120e57600080fd5b505af1158015610e71573d6000803e3d6000fd5b61122b3361128b565b611265576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601d805460ff19169215159290921761ff00191661010060ff9290921691909102179055565b6000546001600160a01b0390811691161490565b600990565b6112ad33611a9e565b6112ec576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000610f0382600019610ea2565b61132e33611a9e565b61136d576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600755565b601d5460ff1681565b61138433611a9e565b6113c3576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b601f5460ff1681565b61140033611a9e565b61143f576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600f849055601083905560118290556114628261145c86866121c7565b906121c7565b6012556013819055600481046012541061147b57600080fd5b50505050565b6001600160a01b031660009081526009602052604090205490565b601d54610100900460ff1681565b60085481565b60075481565b6114bf3361128b565b6114f9576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b606481600654028161150757fe5b0460085550565b6000546001600160a01b031690565b6040805180820190915260068152650a4eed2e8c6d60d31b602082015290565b61154633611a9e565b611585576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b620b71b0811061159457600080fd5b601c55565b6115a233611a9e565b6115e1576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601480546001600160a01b039384166001600160a01b03199182161790915560158054929093169116179055565b6019546001600160a01b031681565b6000611113338484611c3d565b6116343361128b565b61166e576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b601a5481565b6014546001600160a01b031681565b6000610f036116b761111a565b6019546116e4906116dd906002906116d7906001600160a01b0316611481565b90612221565b8590612221565b9061227a565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b61171e33611a9e565b61175d576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601f805460ff191692151592909217909155602055565b6015546001600160a01b031681565b61178c3361128b565b6117c6576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160205260409020805460ff19169055565b6117f03361128b565b61182a576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff1916909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b6118a133611a9e565b6118e0576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b038216301480159061190757506019546001600160a01b03838116911614155b61191057600080fd5b6001600160a01b0382166000908152600e60205260409020805460ff191682158015919091179091556119b257601b5460408051630a5b654b60e11b81526001600160a01b038581166004830152600060248301819052925161010090940416926314b6ca969260448084019391929182900301818387803b15801561199557600080fd5b505af11580156119a9573d6000803e3d6000fd5b50505050611a18565b601b546001600160a01b03838116600081815260096020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b15801561120e57600080fd5b5050565b611a2533611a9e565b611a64576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6018546001600160a01b031681565b6001600160a01b031660009081526001602052604090205460ff1690565b601b5460ff1681565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600990915291822054611b16918490611ba6565b6001600160a01b038086166000908152600960205260408082209390935590851681522054611b4590836121c7565b6001600160a01b0380851660008181526009602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60008184841115611c355760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bfa578181015183820152602001611be2565b50505050905090810190601f168015611c275780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60215460009060ff1615611c5d57611c56848484611ac5565b9050611113565b6001600160a01b03841660009081526001602052604090205460ff16158015611c9f57506001600160a01b03831660009081526001602052604090205460ff16155b15611cf257601b5460ff16611cf2576040805162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015290519081900360640190fd5b6001600160a01b03841660009081526001602052604090205460ff16158015611d2457506001600160a01b0383163014155b8015611d3e57506004546001600160a01b03848116911614155b8015611d5857506019546001600160a01b03848116911614155b8015611d7257506015546001600160a01b03848116911614155b8015611d8c57506014546001600160a01b03848116911614155b15611de3576000611d9c84611481565b90506008548382011115611de15760405162461bcd60e51b815260040180806020018281038252603e81526020018061291a603e913960400191505060405180910390fd5b505b6019546001600160a01b038581169116148015611e025750601d5460ff165b8015611e2757506001600160a01b0383166000908152600d602052604090205460ff16155b15611eab576001600160a01b0383166000908152601e60205260409020544211611e825760405162461bcd60e51b81526004018080602001828103825260258152602001806128ad6025913960400191505060405180910390fd5b601d546001600160a01b0384166000908152601e6020526040902061010090910460ff16420190555b611eb584836122bc565b611ebd61232a565b15611eca57611eca61237b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260099091529190912054611f1c918490611ba6565b6001600160a01b038516600090815260096020526040812091909155611f418561275e565b611f4b5782611f55565b611f55858461277d565b6001600160a01b038516600090815260096020526040902054909150611f7b90826121c7565b6001600160a01b038086166000908152600960209081526040808320949094559188168152600e909152205460ff1661202757601b546001600160a01b03868116600081815260096020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b15801561201457600080fd5b505af1925050508015612025575060015b505b6001600160a01b0384166000908152600e602052604090205460ff166120c057601b546001600160a01b03858116600081815260096020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b1580156120ad57600080fd5b505af19250505080156120be575060015b505b601b60019054906101000a90046001600160a01b03166001600160a01b031663ffb2c479601c546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561211d57600080fd5b505af192505050801561212e575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3506001949350505050565b600061111383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ba6565b600082820183811015611113576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261223057506000610f03565b8282028284828161223d57fe5b04146111135760405162461bcd60e51b81526004018080602001828103825260218152602001806128f96021913960400191505060405180910390fd5b600061111383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061281f565b600754811115806122e557506001600160a01b0382166000908152600c602052604090205460ff165b611a18576040805162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015290519081900360640190fd5b6019546000906001600160a01b0316331480159061234b575060215460ff16155b80156123595750601f5460ff165b801561115e575050602080543060009081526009909252604090912054101590565b6021805460ff1916600117905560165460175460009161239a91610f5f565b6123a657600f546123a9565b60005b905060006123cd60026116e46012546116e48660205461222190919063ffffffff16565b905060006123e68260205461218590919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061241a57fe5b6001600160a01b03928316602091820292909201015260035482519116908290600190811061244557fe5b6001600160a01b0392831660209182029290920181019190915260185460405163791ac94760e01b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b838110156124df5781810151838201526020016124c7565b505050509050019650505050505050600060405180830381600087803b15801561250857600080fd5b505af115801561251c573d6000803e3d6000fd5b505050506000612535824761218590919063ffffffff16565b9050600061255061254788600261227a565b60125490612185565b9050600061256560026116e48481878d612221565b90506000612582836116e46010548761222190919063ffffffff16565b9050600061259f846116e46011548861222190919063ffffffff16565b9050601b60019054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156125f157600080fd5b505af193505050508015612603575060015b506015546040516000916001600160a01b03169061753090849084818181858888f193505050503d8060008114612656576040519150601f19603f3d011682016040523d82523d6000602084013e61265b565b606091505b5060009250508a159050612747576018546014546040805163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0392831660848201524260a48201529051919092169163f305d71991879160c48082019260609290919082900301818588803b1580156126de57600080fd5b505af11580156126f2573d6000803e3d6000fd5b50505050506040513d606081101561270957600080fd5b505060408051858152602081018c905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b50506021805460ff19169055505050505050505050565b6001600160a01b03166000908152600b602052604090205460ff161590565b60008061279b6013546116e46012548661222190919063ffffffff16565b306000908152600960205260409020549091506127b890826121c7565b30600081815260096020908152604091829020939093558051848152905191926001600160a01b038816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36128178382612185565b949350505050565b6000818361286e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611bfa578181015183820152602001611be2565b50600083858161287a57fe5b049594505050505056fe4d69736d61746368206265747765656e204164647265737320616e6420746f6b656e20636f756e74506c65617365207761697420666f7220316d696e206265747765656e2074776f20627579734e6f7420656e6f75676820746f6b656e7320696e2077616c6c657420666f722061697264726f70536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f74616c20486f6c64696e672069732063757272656e746c79206c696d697465642c20796f752063616e206e6f74206275792074686174206d7563682ea26469706673582212209f41fbfec4a4383ec0d35c6f9b21aed72cfc87ba0cbc9ff6489f18b70f9e2dc364736f6c634300070600336080604052600180546001600160a01b0319908116737130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c179091556002805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556ec097ce7bc90715b34b9f1000000000600c55610708600d5564e8d4a51000600e5534801561007a57600080fd5b50604051610ebf380380610ebf8339818101604052602081101561009d57600080fd5b50516001600160a01b0381166100c7577310ed43c718714eb63d5aa57b78b54704e256024e6100c9565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610dbc806101036000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610254578063f0fc6bca14610269578063ffb2c4791461027e578063ffd49c84146102a8576100dd565b8063ce7c2ac2146101e6578063d0e30db014610237578063e2d2e2191461023f576100dd565b80632d48e896116100bb5780632d48e896146101775780633a98ef39146101a75780634fab0ae8146101bc578063997664d7146101d1576100dd565b806311ce023d146100e257806314b6ca961461010957806328fd319814610144575b600080fd5b3480156100ee57600080fd5b506100f76102bd565b60408051918252519081900360200190f35b34801561011557600080fd5b506101426004803603604081101561012c57600080fd5b506001600160a01b0381351690602001356102c3565b005b34801561015057600080fd5b506100f76004803603602081101561016757600080fd5b50356001600160a01b03166103e8565b34801561018357600080fd5b506101426004803603604081101561019a57600080fd5b5080359060200135610474565b3480156101b357600080fd5b506100f7610496565b3480156101c857600080fd5b506100f761049c565b3480156101dd57600080fd5b506100f76104a2565b3480156101f257600080fd5b506102196004803603602081101561020957600080fd5b50356001600160a01b03166104a8565b60408051938452602084019290925282820152519081900360600190f35b6101426104c9565b34801561024b57600080fd5b506100f761075b565b34801561026057600080fd5b506100f7610761565b34801561027557600080fd5b50610142610767565b34801561028a57600080fd5b50610142600480360360208110156102a157600080fd5b5035610772565b3480156102b457600080fd5b506100f7610854565b600c5481565b6000546001600160a01b031633146102da57600080fd5b6001600160a01b03821660009081526007602052604090205415610301576103018261085a565b60008111801561032757506001600160a01b038216600090815260076020526040902054155b1561033a5761033582610982565b61036d565b8015801561035f57506001600160a01b03821660009081526007602052604090205415155b1561036d5761036d826109e3565b6001600160a01b03821660009081526007602052604090205460085461039e91839161039891610ad0565b90610b1b565b6008556001600160a01b03821660009081526007602052604090208190556103c581610b75565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461040d5750600061046f565b6001600160a01b03821660009081526007602052604081205461042f90610b75565b6001600160a01b0384166000908152600760205260409020600101549091508082116104605760009250505061046f565b61046a8282610ad0565b925050505b919050565b6000546001600160a01b0316331461048b57600080fd5b600d91909155600e55565b60085481565b600e5481565b60095481565b60076020526000908152604090208054600182015460029092015490919083565b6000546001600160a01b031633146104e057600080fd5b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d602081101561055557600080fd5b50516040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b03169183915060009061059757fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106105c157fe5b6001600160a01b0392831660209182029290920181019190915260035460405163b6f9de9560e01b815260006004820181815230604484018190524260648501819052608060248601908152895160848701528951969098169763b6f9de9597349795968b969495939460a49091019187810191028083838b5b8381101561065357818101518382015260200161063b565b50505050905001955050505050506000604051808303818588803b15801561067a57600080fd5b505af115801561068e573d6000803e3d6000fd5b5050600154604080516370a0823160e01b815230600482015290516000955061071994508793506001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156106e757600080fd5b505afa1580156106fb573d6000803e3d6000fd5b505050506040513d602081101561071157600080fd5b505190610ad0565b6009549091506107299082610b1b565b600955600854600c546107539161074a916107449085610b92565b90610beb565b600b5490610b1b565b600b55505050565b600b5481565b600a5481565b6107703361085a565b565b6000546001600160a01b0316331461078957600080fd5b600454806107975750610851565b6000805a905060005b84831080156107ae57508381105b1561084c5783600f54106107c2576000600f555b6107ee6004600f54815481106107d457fe5b6000918252602090912001546001600160a01b0316610c2d565b1561081f5761081f6004600f548154811061080557fe5b6000918252602090912001546001600160a01b031661085a565b61083461082d5a8490610ad0565b8490610b1b565b92505a600f80546001908101909155909250016107a0565b505050505b50565b600d5481565b6001600160a01b03811660009081526007602052604090205461087c57610851565b6000610887826103e8565b9050801561097e57600a5461089c9082610b1b565b600a556001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108f557600080fd5b505af1158015610909573d6000803e3d6000fd5b505050506040513d602081101561091f57600080fd5b50506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546109549082610b1b565b6001600160a01b03831660009081526007602052604090206002810191909155546103c590610b75565b5050565b600480546001600160a01b039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90910180546001600160a01b0319169091179055565b6004805460001981019081106109f557fe5b60009182526020808320909101546001600160a01b0384811684526005909252604090922054600480549290931692918110610a2d57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916000198101908110610a7b57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610aab57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610b1283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c69565b90505b92915050565b600082820183811015610b12576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b15600c54610744600b5485610b9290919063ffffffff16565b600082610ba157506000610b15565b82820282848281610bae57fe5b0414610b125760405162461bcd60e51b8152600401808060200182810382526021815260200180610d666021913960400191505060405180910390fd5b6000610b1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d00565b600d546001600160a01b0382166000908152600660205260408120549091429101108015610b155750600e54610c62836103e8565b1192915050565b60008184841115610cf85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cbd578181015183820152602001610ca5565b50505050905090810190601f168015610cea5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610d4f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cbd578181015183820152602001610ca5565b506000838581610d5b57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e74b2f7ece0d29c514272d487df7ace80c92c3efa7444d454193f212ce50180664736f6c63430007060033

Deployed ByteCode Sourcemap

11534:13915:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24580:800;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24580:800:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24580:800:0;;-1:-1:-1;24580:800:0;-1:-1:-1;24580:800:0;:::i;:::-;;13294:56;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;14721:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15143:216;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15143:216:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;19755:94;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19755:94:0;;;;:::i;24395:150::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24395:150:0;;;;;;;:::i;14451:88::-;;;;;;;;;;;;;:::i;19505:217::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19505:217:0;;:::i;12619:28::-;;;;;;;;;;;;;:::i;23540:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23540:183:0;;;;;;;:::i;15655:364::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15655:364:0;;;;;;;;;;;;;;;;;:::i;24070:142::-;;;;;;;;;;;;;:::i;23731:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23731:183:0;;;;;;;:::i;19896:164::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19896:164:0;;;;;;;;;;;:::i;3408:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3408:103:0;-1:-1:-1;;;;;3408:103:0;;:::i;14545:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22571:130;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;22571:130:0;;;;;;;;;;:::i;15367:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15367:116:0;-1:-1:-1;;;;;15367:116:0;;:::i;21848:96::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21848:96:0;;:::i;13111:37::-;;;;;;;;;;;;;:::i;22307:120::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;22307:120:0;;;;;;;;;;:::i;13257:30::-;;;;;;;;;;;;;:::i;22709:423::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22709:423:0;;;;;;;;;;;;;;;;;:::i;14891:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14891:105:0;-1:-1:-1;;;;;14891:105:0;;:::i;13155:39::-;;;;;;;;;;;;;:::i;12142:59::-;;;;;;;;;;;;;:::i;12048:52::-;;;;;;;;;;;;;:::i;16107:149::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16107:149:0;;:::i;14807:78::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;14807:78:0;;;;;;;;;;;;;;14631:84;;;;;;;;;;;;;:::i;23922:136::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23922:136:0;;:::i;23140:228::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;23140:228:0;;;;;;;;;;:::i;12894:19::-;;;;;;;;;;;;;:::i;15491:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15491:156:0;;;;;;;;:::i;3081:94::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3081:94:0;-1:-1:-1;;;;;3081:94:0;;:::i;12922:25::-;;;;;;;;;;;;;:::i;12692:36::-;;;;;;;;;;;;;:::i;24220:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24220:167:0;;:::i;15002:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15002:133:0;;;;;;;;;;:::i;23376:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23376:156:0;;;;;;;;;:::i;12735:35::-;;;;;;;;;;;;;:::i;3251:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3251:97:0;-1:-1:-1;;;;;3251:97:0;;:::i;3808:173::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3808:173:0;-1:-1:-1;;;;;3808:173:0;;:::i;21952:347::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;21952:347:0;;;;;;;;;;:::i;22435:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;22435:128:0;;;;;;;;;;:::i;12863:24::-;;;;;;;;;;;;;:::i;3582:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3582:107:0;-1:-1:-1;;;;;3582:107:0;;:::i;12954:31::-;;;;;;;;;;;;;:::i;24580:800::-;2797:19;2805:10;2797:7;:19::i;:::-;2789:38;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;;;;24696:12:::1;24729:33:::0;;::::1;24721:85;;;;-1:-1:-1::0;;;24721:85:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24819:6;24815:82;24829:20:::0;;::::1;24815:82;;;24880:6;;24887:1;24880:9;;;;;;;;;::::0;;;::::1;;24873:16:::0;;;::::1;::::0;-1:-1:-1;24851:3:0::1;;24815:82;;;;24932:4;24913:15;24923:4;24913:9;:15::i;:::-;:23;;24905:75;;;;-1:-1:-1::0;;;24905:75:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24993:6;24989:250;25003:20:::0;;::::1;24989:250;;;25040:43;25055:4;25060:9;;25070:1;25060:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;25060:12:0::1;25073:6;;25080:1;25073:9;;;;;;;;;;;;;25040:14;:43::i;:::-;;25098:16;:30;25115:9;;25125:1;25115:12;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;25115:12:0::1;25098:30:::0;;-1:-1:-1;25098:30:0;::::1;::::0;;;;;;-1:-1:-1;25098:30:0;;::::1;;25094:138;;25149:11;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;;;25149:11:0::1;:20;25170:9:::0;;25180:1;25170:12;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;25170:12:0::1;25184:9;:23;25194:9;;25204:1;25194:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;25194:12:0::1;-1:-1:-1::0;;;;;25184:23:0::1;-1:-1:-1::0;;;;;25184:23:0::1;;;;;;;;;;;;;25149:59;;;;;;;;;;;;;-1:-1:-1::0;;;;;25149:59:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;25145:75:::0;::::1;25025:3;;24989:250;;;-1:-1:-1::0;;;;;;25276:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;::::1;;25272:105;;25315:11;::::0;-1:-1:-1;;;;;25342:15:0;;::::1;;::::0;;;:9:::1;:15;::::0;;;;;;25315:43;;-1:-1:-1;;;25315:43:0;;::::1;::::0;::::1;::::0;;;;;;;;;:11:::1;::::0;;::::1;::::0;;::::1;::::0;:20:::1;::::0;:43;;;;;25342:15;;25315:43;;;;;;25342:15;25315:11;:43;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;;;;;25311:59:::0;::::1;2829:1;24580:800:::0;;;;;:::o;13294:56::-;;;;:::o;14721:80::-;14793:5;;;;;;;;;;;;-1:-1:-1;;;14793:5:0;;;;14721:80;:::o;15143:216::-;15247:10;15218:4;15235:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;15235:32:0;;;;;;;;;;;:41;;;15292:37;;;;;;;15218:4;;15235:32;;15247:10;;15292:37;;;;;;;;-1:-1:-1;15347:4:0;15143:216;;;;;:::o;19755:94::-;2797:19;2805:10;2797:7;:19::i;:::-;2789:38;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;;;;19820:11:::1;:21:::0;;-1:-1:-1;;19820:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19755:94::o;24395:150::-;24475:4;24531:6;24499:29;24519:8;24499:19;:29::i;:::-;:38;;24395:150;-1:-1:-1;;;24395:150:0:o;14451:88::-;14524:12;;14451:88;:::o;19505:217::-;2797:19;2805:10;2797:7;:19::i;:::-;2789:38;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;;;;19648:20:::1;::::0;19640:74:::1;::::0;19608:21:::1;::::0;-1:-1:-1;;;;;19648:20:0::1;::::0;19710:3:::1;19679:28:::0;;::::1;:34;19640:74:::0;::::1;;;::::0;::::1;::::0;;;19679:34;19648:20;19640:74;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;2829:1;19505:217:::0;:::o;12619:28::-;;;;:::o;23540:183::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;23638:15:::1;:25:::0;;;;23674:26:::1;:41:::0;23540:183::o;15655:364::-;-1:-1:-1;;;;;15775:19:0;;15755:4;15775:19;;;:11;:19;;;;;;;;15795:10;15775:31;;;;;;;;-1:-1:-1;;15775:46:0;15772:180;;15871:69;;;;;;;;;;;-1:-1:-1;;;15871:69:0;;;;;;;;-1:-1:-1;;;;;15871:19:0;;-1:-1:-1;15871:19:0;;;:11;:19;;;;;15891:10;15871:31;;;;;;;;;;:69;;15907:6;;15871:35;:69::i;:::-;-1:-1:-1;;;;;15837:19:0;;;;;;:11;:19;;;;;;;;15857:10;15837:31;;;;;;;:103;15772:180;15971:40;15985:6;15993:9;16004:6;15971:13;:40::i;:::-;15964:47;;15655:364;;;;;;:::o;24070:142::-;24198:4;;24123:7;;24150:54;;24188:15;;-1:-1:-1;;;;;24198:4:0;24188:9;:15::i;:::-;24177:4;;24150:33;;24167:15;;-1:-1:-1;;;;;24177:4:0;24167:9;:15::i;:::-;24150:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;24143:61;;24070:142;:::o;23731:183::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;23841:11:::1;;;;;;;;;-1:-1:-1::0;;;;;23841:11:0::1;-1:-1:-1::0;;;;;23841:35:0::1;;23877:10;23889:16;23841:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;19896:164:::0;2797:19;2805:10;2797:7;:19::i;:::-;2789:38;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;;;;19980:18:::1;:28:::0;;-1:-1:-1;;19980:28:0::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;20019:33:0::1;19980:28;;20019:33:::0;;;::::1;::::0;;;::::1;;::::0;;19896:164::o;3408:103::-;3463:4;3498:5;-1:-1:-1;;;;;3498:5:0;;;3487:16;;;;3408:103::o;14545:80::-;11978:1;14545:80;:::o;22571:130::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;22660:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;22660:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22571:130::o;15367:116::-;15422:4;15446:29;15454:7;-1:-1:-1;;15446:7:0;:29::i;21848:96::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;21915:12:::1;:21:::0;21848:96::o;13111:37::-;;;;;;:::o;22307:120::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;22391:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;22391:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22307:120::o;13257:30::-;;;;;;:::o;22709:423::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;22852:12:::1;:28:::0;;;22891:13:::1;:30:::0;;;22932:12:::1;:28:::0;;;22982:52:::1;22947:13:::0;22982:33:::1;22867:13:::0;22907:14;22982:17:::1;:33::i;:::-;:37:::0;::::1;:52::i;:::-;22971:8;:63:::0;23045:14:::1;:32:::0;;;23122:1:::1;23062:15:::0;23107:16:::1;23096:8;;:27;23088:36;;;::::0;::::1;;22709:423:::0;;;;:::o;14891:105::-;-1:-1:-1;;;;;14975:18:0;14957:7;14975:18;;;:9;:18;;;;;;;14891:105::o;13155:39::-;;;;;;;;;:::o;12142:59::-;;;;:::o;12048:52::-;;;;:::o;16107:149::-;2797:19;2805:10;2797:7;:19::i;:::-;2789:38;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;;;;16245:3:::1;16226:14;16211:12;;:29;16210:38;;;;;;16192:15;:56:::0;-1:-1:-1;16107:149:0:o;14807:78::-;14859:7;14877:5;-1:-1:-1;;;;;14877:5:0;14807:78;:::o;14631:84::-;14705:7;;;;;;;;;;;;-1:-1:-1;;;14705:7:0;;;;14631:84;:::o;23922:136::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;24012:6:::1;24006:3;:12;23998:21;;;::::0;::::1;;24030:14;:20:::0;23922:136::o;23140:228::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;23259:21:::1;:46:::0;;-1:-1:-1;;;;;23259:46:0;;::::1;-1:-1:-1::0;;;;;;23259:46:0;;::::1;;::::0;;;23316:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;23140:228::o;12894:19::-;;;-1:-1:-1;;;;;12894:19:0;;:::o;15491:156::-;15571:4;15595:44;15609:10;15621:9;15632:6;15595:13;:44::i;3081:94::-;2797:19;2805:10;2797:7;:19::i;:::-;2789:38;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3141:19:0::1;;::::0;;;3163:4:::1;3141:19;::::0;;;;;;;:26;;-1:-1:-1;;3141:26:0::1;::::0;;::::1;::::0;;3081:94::o;12922:25::-;;;;:::o;12692:36::-;;;-1:-1:-1;;;;;12692:36:0;;:::o;24220:167::-;24288:7;24315:64;24356:22;:20;:22::i;:::-;24338:4;;24315:36;;24328:22;;24348:1;;24328:15;;-1:-1:-1;;;;;24338:4:0;24328:9;:15::i;:::-;:19;;:22::i;:::-;24315:8;;:12;:36::i;:::-;:40;;:64::i;15002:133::-;-1:-1:-1;;;;;15104:19:0;;;15086:7;15104:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;15002:133::o;23376:156::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;23468:11:::1;:22:::0;;-1:-1:-1;;23468:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;23501:13:::1;:23:::0;23376:156::o;12735:35::-;;;-1:-1:-1;;;;;12735:35:0;;:::o;3251:97::-;2797:19;2805:10;2797:7;:19::i;:::-;2789:38;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3313:19:0::1;3335:5;3313:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;3313:27:0::1;::::0;;3251:97::o;3808:173::-;2797:19;2805:10;2797:7;:19::i;:::-;2789:38;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;-1:-1:-1;;;2789:38:0;;;;;;;;;;;;;;;3884:5:::1;:11:::0;;-1:-1:-1;;;;;;3884:11:0::1;-1:-1:-1::0;;;;;3884:11:0;::::1;::::0;;::::1;::::0;;3906:19;;;-1:-1:-1;3906:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3906:26:0::1;::::0;;::::1;::::0;;;3948:25;;;;;;;::::1;::::0;;;;;;;;;::::1;3808:173:::0;:::o;21952:347::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;22049:23:0;::::1;22067:4;22049:23;::::0;::::1;::::0;:41:::1;;-1:-1:-1::0;22086:4:0::1;::::0;-1:-1:-1;;;;;22076:14:0;;::::1;22086:4:::0;::::1;22076:14;;22049:41;22041:50;;;::::0;::::1;;-1:-1:-1::0;;;;;22102:24:0;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;22102:33:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;22146:146:::1;;22171:11;::::0;:31:::1;::::0;;-1:-1:-1;;;22171:31:0;;-1:-1:-1;;;;;22171:31:0;;::::1;;::::0;::::1;::::0;22200:1:::1;22171:31:::0;;;;;;;;:11:::1;::::0;;::::1;;::::0;:20:::1;::::0;:31;;;;;22200:1;;22171:31;;;;;;22200:1;22171:11;:31;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22146:146;;;22233:11;::::0;-1:-1:-1;;;;;22262:17:0;;::::1;;::::0;;;:9:::1;:17;::::0;;;;;;22233:47;;-1:-1:-1;;;22233:47:0;;::::1;::::0;::::1;::::0;;;;;;;;;:11:::1;::::0;;::::1;::::0;;::::1;::::0;:20:::1;::::0;:47;;;;;22262:17;;22233:47;;;;;;22262:17;22233:11;:47;::::1;;::::0;::::1;;;;::::0;::::1;22146:146;21952:347:::0;;:::o;22435:128::-;2966:24;2979:10;2966:12;:24::i;:::-;2958:48;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;-1:-1:-1;;;2958:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;22523:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;22523:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22435:128::o;12863:24::-;;;-1:-1:-1;;;;;12863:24:0;;:::o;3582:107::-;-1:-1:-1;;;;;3662:19:0;3638:4;3662:19;;;:14;:19;;;;;;;;;3582:107::o;12954:31::-;;;;;;:::o;18325:330::-;18455:53;;;;;;;;;;;-1:-1:-1;;;18455:53:0;;;;;;;;-1:-1:-1;;;;;18455:17:0;;18418:4;18455:17;;;:9;:17;;;;;;;:53;;18477:6;;18455:21;:53::i;:::-;-1:-1:-1;;;;;18435:17:0;;;;;;;:9;:17;;;;;;:73;;;;18542:20;;;;;;;:32;;18567:6;18542:24;:32::i;:::-;-1:-1:-1;;;;;18519:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;18590:35;;;;;;;18519:20;;18590:35;;;;;;;;;;;;;-1:-1:-1;18643:4:0;18325:330;;;;;:::o;467:192::-;553:7;589:12;581:6;;;;573:29;;;;-1:-1:-1;;;573:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;625:5:0;;;467:192::o;16264:2049::-;16376:6;;16356:4;;16376:6;;16373:63;;;16392:41;16407:6;16415:9;16426:6;16392:14;:41::i;:::-;16385:48;;;;16373:63;-1:-1:-1;;;;;16452:22:0;;;;;;:14;:22;;;;;;;;16451:23;:53;;;;-1:-1:-1;;;;;;16479:25:0;;;;;;:14;:25;;;;;;;;16478:26;16451:53;16448:127;;;16528:11;;;;16520:43;;;;;-1:-1:-1;;;16520:43:0;;;;;;;;;;;;-1:-1:-1;;;16520:43:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16620:22:0;;;;;;:14;:22;;;;;;;;16619:23;:53;;;;-1:-1:-1;;;;;;16646:26:0;;16667:4;16646:26;;16619:53;:84;;;;-1:-1:-1;16698:4:0;;-1:-1:-1;;;;;16677:26:0;;;16698:4;;16677:26;;16619:84;:105;;;;-1:-1:-1;16720:4:0;;-1:-1:-1;;;;;16707:17:0;;;16720:4;;16707:17;;16619:105;:142;;;;-1:-1:-1;16741:20:0;;-1:-1:-1;;;;;16728:33:0;;;16741:20;;16728:33;;16619:142;:180;;;;-1:-1:-1;16778:21:0;;-1:-1:-1;;;;;16765:34:0;;;16778:21;;16765:34;;16619:180;16615:372;;;16815:18;16836:20;16846:9;16836;:20::i;:::-;16815:41;;16904:15;;16893:6;16880:10;:19;16879:40;;16871:114;;;;-1:-1:-1;;;16871:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16615:372;;17121:4;;-1:-1:-1;;;;;17111:14:0;;;17121:4;;17111:14;:49;;;;-1:-1:-1;17142:18:0;;;;17111:49;:94;;;;-1:-1:-1;;;;;;17178:27:0;;;;;;:16;:27;;;;;;;;17177:28;17111:94;17107:299;;;-1:-1:-1;;;;;17230:24:0;;;;;;:13;:24;;;;;;17257:15;-1:-1:-1;17222:91:0;;;;-1:-1:-1;;;17222:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17373:21;;-1:-1:-1;;;;;17328:24:0;;;;;;:13;:24;;;;;17373:21;;;;;;17355:15;:39;17328:66;;17107:299;17461:28;17474:6;17482;17461:12;:28::i;:::-;17546:16;:14;:16::i;:::-;17543:35;;;17565:10;:8;:10::i;:::-;17637:53;;;;;;;;;;;-1:-1:-1;;;17637:53:0;;;;;;;;-1:-1:-1;;;;;17637:17:0;;-1:-1:-1;17637:17:0;;;:9;:17;;;;;;;;:53;;17659:6;;17637:21;:53::i;:::-;-1:-1:-1;;;;;17617:17:0;;;;;;:9;:17;;;;;:73;;;;17728:21;17627:6;17728:13;:21::i;:::-;:56;;17778:6;17728:56;;;17752:23;17760:6;17768;17752:7;:23::i;:::-;-1:-1:-1;;;;;17818:20:0;;;;;;:9;:20;;;;;;17703:81;;-1:-1:-1;17818:40:0;;17703:81;17818:24;:40::i;:::-;-1:-1:-1;;;;;17795:20:0;;;;;;;:9;:20;;;;;;;;:63;;;;17904:24;;;;;:16;:24;;;;;;;17900:119;;17949:11;;-1:-1:-1;;;;;17978:17:0;;;;;;;:9;:17;;;;;;;17949:47;;-1:-1:-1;;;17949:47:0;;;;;;;;;;;;;;:11;;;;;;;;:20;;:47;;;;;17978:17;;17949:47;;;;;;17978:17;17949:11;:47;;;;;;;;;;;;;;;;;;;;;;;;;17945:63;;-1:-1:-1;;;;;18035:27:0;;;;;;:16;:27;;;;;;;;18031:129;;18083:11;;-1:-1:-1;;;;;18115:20:0;;;;;;;:9;:20;;;;;;;18083:53;;-1:-1:-1;;;18083:53:0;;;;;;;;;;;;;;:11;;;;;;;;:20;;:53;;;;;18115:20;;18083:53;;;;;;18115:20;18083:11;:53;;;;;;;;;;;;;;;;;;;;;;;;;18079:69;;18176:11;;;;;;;;;-1:-1:-1;;;;;18176:11:0;-1:-1:-1;;;;;18176:19:0;;18196:14;;18176:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18172:51;18257:9;-1:-1:-1;;;;;18240:43:0;18249:6;-1:-1:-1;;;;;18240:43:0;;18268:14;18240:43;;;;;;;;;;;;;;;;;;-1:-1:-1;18301:4:0;;16264:2049;-1:-1:-1;;;;16264:2049:0:o;325:136::-;383:7;410:43;414:1;417;410:43;;;;;;;;;;;;;;;;;:3;:43::i;138:181::-;196:7;228:5;;;252:6;;;;244:46;;;;;-1:-1:-1;;;244:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;665:250;723:7;747:6;743:47;;-1:-1:-1;777:1:0;770:8;;743:47;814:5;;;818:1;814;:5;:1;838:5;;;;;:10;830:56;;;;-1:-1:-1;;;830:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;921:132;979:7;1006:39;1010:1;1013;1006:39;;;;;;;;;;;;;;;;;:3;:39::i;18663:166::-;18760:12;;18750:6;:22;;:49;;;-1:-1:-1;;;;;;18776:23:0;;;;;;:15;:23;;;;;;;;18750:49;18742:79;;;;;-1:-1:-1;;;18742:79:0;;;;;;;;;;;;-1:-1:-1;;;18742:79:0;;;;;;;;;;;;;;19300:197;19387:4;;19349;;-1:-1:-1;;;;;19387:4:0;19373:10;:18;;;;:38;;-1:-1:-1;19405:6:0;;;;19404:7;19373:38;:62;;;;-1:-1:-1;19424:11:0;;;;19373:62;:116;;;;-1:-1:-1;;19476:13:0;;;19466:4;19448:24;;;;:9;:24;;;;;;;;:41;;;19300:197::o;20072:1766::-;13416:6;:13;;-1:-1:-1;;13416:13:0;13425:4;13416:13;;;20167:15:::1;::::0;20184:26:::1;::::0;13416:6;;20151:60:::1;::::0;:15:::1;:60::i;:::-;:79;;20218:12;;20151:79;;;20214:1;20151:79;20121:109;;20241:23;20267:59;20324:1;20267:52;20310:8;;20267:38;20285:19;20267:13;;:17;;:38;;;;:::i;:59::-;20241:85;;20337:20;20360:34;20378:15;20360:13;;:17;;:34;;;;:::i;:::-;20431:16;::::0;;20445:1:::1;20431:16:::0;;;;;::::1;::::0;;20337:57;;-1:-1:-1;20407:21:0::1;::::0;20431:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;20431:16:0::1;20407:40;;20476:4;20458;20463:1;20458:7;;;;;;;;-1:-1:-1::0;;;;;20458:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;20502:4:::1;::::0;20492:7;;20502:4;::::1;::::0;20492;;20502;;20492:7;::::1;;;;;-1:-1:-1::0;;;;;20492:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;20577:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;20577:188:0;;::::1;::::0;::::1;::::0;;;20519:21:::1;20577:188:::0;;;;;;20719:4:::1;20577:188:::0;;;;;;20739:15:::1;20577:188:::0;;;;;;;;;;;;;;;;;;;;;20543:21:::1;::::0;20577:6;;;::::1;::::0;:57:::1;::::0;20649:12;;20519:21;;20692:4;;20577:188;;;;;;;;;;::::1;::::0;::::1;::::0;;;20519:21;20577:188:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20778:17;20798:40;20824:13;20798:21;:25;;:40;;;;:::i;:::-;20778:60:::0;-1:-1:-1;20851:19:0::1;20873:40;20886:26;:19:::0;20910:1:::1;20886:23;:26::i;:::-;20873:8;::::0;;:12:::1;:40::i;:::-;20851:62:::0;-1:-1:-1;20934:26:0::1;20963:58;21019:1;20963:51;20851:62:::0;20963:51;:9;20977:19;20963:13:::1;:34::i;:58::-;20934:87;;21032:27;21062:45;21095:11;21062:28;21076:13;;21062:9;:13;;:28;;;;:::i;:45::-;21032:75;;21118:26;21147:44;21179:11;21147:27;21161:12;;21147:9;:13;;:27;;;;:::i;:44::-;21118:73;;21208:11;;;;;;;;;-1:-1:-1::0;;;;;21208:11:0::1;-1:-1:-1::0;;;;;21208:19:0::1;;21235;21208:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;21204:65:::0;21308:20:::1;::::0;21300:77:::1;::::0;21280:15:::1;::::0;-1:-1:-1;;;;;21308:20:0::1;::::0;21367:5:::1;::::0;21342:18;;21280:15;21300:77;21280:15;21300:77;21342:18;21308:20;21367:5;21300:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;21451:5:0::1;::::0;-1:-1:-1;;21472:19:0;;;-1:-1:-1;21469:362:0::1;;21507:6;::::0;21681:21:::1;::::0;21507:244:::1;::::0;;-1:-1:-1;;;21507:244:0;;21583:4:::1;21507:244;::::0;::::1;::::0;;;;;;;:6:::1;:244:::0;;;;;;;;;;-1:-1:-1;;;;;21681:21:0;;::::1;21507:244:::0;;;;21721:15:::1;21507:244:::0;;;;;;:6;;;::::1;::::0;:22:::1;::::0;21537:18;;21507:244;;;;;::::1;::::0;;;;;;;;;21537:18;21507:6;:244;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;21507:244:0;21771:48;;;;;21507:244:::1;21771:48:::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;21469:362;-1:-1:-1::0;;13434:6:0;:14;;-1:-1:-1;;13434:14:0;;;-1:-1:-1;;;;;;;;;20072:1766:0:o;18837:114::-;-1:-1:-1;;;;;18924:19:0;18899:4;18924:19;;;:11;:19;;;;;;;;18923:20;;18837:114::o;18959:333::-;19026:7;19046:17;19066:40;19091:14;;19066:20;19077:8;;19066:6;:10;;:20;;;;:::i;:40::-;19164:4;19146:24;;;;:9;:24;;;;;;19046:60;;-1:-1:-1;19146:39:0;;19046:60;19146:28;:39::i;:::-;19137:4;19119:24;;;;:9;:24;;;;;;;;;:66;;;;19201:42;;;;;;;19137:4;;-1:-1:-1;;;;;19201:42:0;;;;;;;;;;;;;19263:21;:6;19274:9;19263:10;:21::i;:::-;19256:28;18959:333;-1:-1:-1;;;;18959:333:0:o;1059:345::-;1145:7;1247:12;1240:5;1232:28;;;;-1:-1:-1;;;1232:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1271:9;1287:1;1283;:5;;;;;;;1059:345;-1:-1:-1;;;;;1059:345:0:o

Swarm Source

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