Contract 0x01c5E2a4af2bd9f62c7d55C6105b8a64e6905be5 2

Contract Overview

Balance:
260.970149095627815088 AVAX

AVAX Value:
$4,379.08 (@ $16.78/AVAX)
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xdf20450ebdc239e714698fe6b3d911c93edba8f8c9682c2738138482d834883dApprove275969942023-03-18 12:23:108 days 18 hrs ago0x37749325c5f4847151c5f864ca8b377763a3a343 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.000770832 26.5
0xd15b505b40ab0a5d9f304295c0f9b867267367a892a1125d820a52ad99733b4fApprove271508322023-03-08 0:44:1819 days 5 hrs ago0x71ce7643cdee1a57e6676eac3af2beb4ceb11b58 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.000770832 26.5
0x9a0792816b3800f6aae7b6fbfe525faecd18a6ad31d65442211c6f412624247aApprove270465602023-03-05 11:29:3921 days 18 hrs ago0x8e3dc66bb96b063afb932660fb5d060e170cf2cd IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.00084355229
0xd7ff846c526e69e350e7ce516f8c9b28b6ad165471879e7812627e4b7ad90adfApprove268927402023-03-01 17:45:5425 days 12 hrs ago0x1a27432d01c1b08bfd4db8d3c9e2c76637f4e0df IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.000785376 27
0xa04a5818092ee131259be09bcf86c610f682db2113887563b9f8db1bb5bd840dApprove267372222023-02-26 0:26:5329 days 5 hrs ago0x4d1203bdf393a81a81428827c8430fae9373dd11 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.00078363072 26.94
0x92da2d4954f0ef52a0e8343fa7aaada04787b206593d1cec473a8f8f4e40be4bApprove265242602023-02-21 0:50:3934 days 5 hrs ago0x826f1ce9c5f7594ce16bf0be8172883150faad63 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.0007272 25
0xdce8792a2daca6baf3938e8a79ced116c72624e34e8e17fdf30078fad25eebdeApprove259364572023-02-07 4:30:0648 days 1 hr ago0xfc9e258e452ef677a7141b1e6d704984e8f37bc5 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.00079992 27.5
0xee629a8246b6d0f4e16e9a73f0b40e3e18902c1a6f93e4621f3a9874b2cc78f9Approve255714962023-01-29 15:51:5256 days 14 hrs ago0x55be24c9b88ae5d25d47d1bfe61a48463e058649 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.00078537627
0x82d26daf87d083db7d828c898aa57805ef4613a6e559c127ebc46fee32b23c40Approve250541062023-01-17 10:41:1568 days 19 hrs ago0xc5115ffe969756bd1c498ad8366ad9e83c479249 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.00078537627
0xe13b9cb8513243072f63460fd0af516195ab978b33188e840d1b5b3913500917Approve244811632023-01-03 21:32:4782 days 8 hrs ago0x2a49fd835bd07bc8ccd35b5c8c71ee3c3c41b0d8 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.000727225
0x0972f7479a5a97f1df183f354c34650e51a2031ceb3869967de14ed3667ae580Approve243177092022-12-30 23:09:1486 days 7 hrs ago0x930a7c96162e472023dd1a652c56cdd98dbe9537 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.001250158291 26.843560318
0xeef7604d410911bfde4e1ca39467ec00975c30ba79e875da0938de93ca54addcApprove242709472022-12-29 20:30:0287 days 9 hrs ago0x47a94bf5eb07928173565c06492713a9ed2bdb00 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.0012784014 27.45
0x37777e0819be271267d451576aaad22bbfde6b0b9b48010714d07201dad898d6Approve242192142022-12-28 15:24:1788 days 14 hrs ago0x93293f3117fd5398a11a20674a6deae2ac51b099 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.00081446428
0x98ca3ef0e21b0a39d2bd4cbe49d7baea25ef00089c3b05516f0eee857df4c897Transfer241507522022-12-27 0:08:2990 days 6 hrs ago0xc4476755a420de0ae6f35ccfccf6bef99aba3215 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.015892717527.5
0x021b65b2bbb5075e7711e44d227d28cde971a73b6690a4d6b53e24075c7489c4Approve240405622022-12-24 8:25:1292 days 21 hrs ago0x7af5716e852621ba354c3e94a1689c4082a9ee15 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.001215529226.1
0x322aa6b9d668cd3d417d1e2c0315966791fe236961482f043e87ee46a6fed2a3Approve237496732022-12-17 11:29:1199 days 18 hrs ago0x930a7c96162e472023dd1a652c56cdd98dbe9537 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.001251939189 26.8818
0x43c42af4e62578c67440cd9b2e39c44ee9b7031a301e2c49cbd36c23d053b740Approve232079912022-12-04 15:42:13112 days 14 hrs ago0x0f0205d7be94ab5bd3a1ea19f305e6618905cdea IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.000770832 26.5
0xd57c2e7aa718baccf1168eb82e729fbc5498c51c65ec71641c0e8d54072bb7b7Approve230779312022-12-01 13:23:47115 days 17 hrs ago0x0987bbc966b754d4c6179b44516deff8b357f7fd IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.00075628826
0x5ad9a2e63bafbc04b6dafb51862e6ba56f7e35e71a4ac353a2b4dbd731537b50Approve225767612022-11-19 14:47:53127 days 15 hrs ago0xdb9cb473372dee6deb98efd4f05d0064892b5d2f IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.00116430005725.000001235
0x21b46059086ed8e358ba91e6992a026d455418b1e5c0c1e33ff9d8421504b1ffApprove224107682022-11-15 14:05:09131 days 16 hrs ago0x06f3fffe777d69c0575bf51357d2e965f6385d9b IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.0011643 25.000000001
0x25fe9779510f943ec1a861533e08809ec3b3b340c03bba4e6e0c38e45a2de8a5Transfer224037512022-11-15 10:01:21131 days 20 hrs ago0xbf79fcd7e8cb43373acd4451d243b2cc53c6f2d2 IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.0159895435 26.5
0x605b377dc4fc87724e31ad7b10a1ea16bfadcb62b2d874afd6f9172fc204f80eApprove218369872022-11-02 0:16:42145 days 6 hrs ago0x4562213147c72086cb1031ca0b967da2a479e75f IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.000770832 26.5
0xa2c7519cc9c3a833abfae3960e5b6ce62e916d194403ee4db7b688d05cc23d80Approve218235812022-11-01 16:38:21145 days 13 hrs ago0xc871e14826586d22e4abddbf6741c941842fc8bf IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.000770832 26.5
0x91434b3272925b5b50a9e3caa548ebfce25737583c9540bd6a9536e84a54cb11Approve218211872022-11-01 15:17:01145 days 15 hrs ago0x82bb8d9fb9ec3a7da2dc3a7dcc48418dac6bbd4a IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.000770832 26.5
0x15e03d60956dc28a0eb0a0fcf0db1d4cbc90969f24c8d8b98b13bf9b8000cffaApprove213259392022-10-20 23:11:23157 days 7 hrs ago0xed320bf569e5f3c4e9313391708ddbfc58e296bb IN  0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50 AVAX0.0008726430
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x026a070a1a187d3c0fbf7378bf369e1d08cb52cde0a0c9da58423971897cf3a5237746862022-12-18 1:33:3599 days 4 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.00179821451089297 AVAX
0x026a070a1a187d3c0fbf7378bf369e1d08cb52cde0a0c9da58423971897cf3a5237746862022-12-18 1:33:3599 days 4 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 Trader Joe: Router0.017994266802876261 AVAX
0x026a070a1a187d3c0fbf7378bf369e1d08cb52cde0a0c9da58423971897cf3a5237746862022-12-18 1:33:3599 days 4 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50x57c69c79f303f68d463c11d4dd828dd97c3f49e40.071977067211505045 AVAX
0x026a070a1a187d3c0fbf7378bf369e1d08cb52cde0a0c9da58423971897cf3a5237746862022-12-18 1:33:3599 days 4 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 0x25e4a70ef4639103fa82b7f14cc5ca397d3026860.125959867620133829 AVAX
0x026a070a1a187d3c0fbf7378bf369e1d08cb52cde0a0c9da58423971897cf3a5237746862022-12-18 1:33:3599 days 4 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.215931201634515137 AVAX
0x4192d7c67dceb3a029785d6aa6ac02d88b62ea3b4ad5905bed0d93d330a65964237496812022-12-17 11:29:2899 days 18 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.002516662972956246 AVAX
0x4192d7c67dceb3a029785d6aa6ac02d88b62ea3b4ad5905bed0d93d330a65964237496812022-12-17 11:29:2899 days 18 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 Trader Joe: Router0.020942850882949481 AVAX
0x4192d7c67dceb3a029785d6aa6ac02d88b62ea3b4ad5905bed0d93d330a65964237496812022-12-17 11:29:2899 days 18 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50x57c69c79f303f68d463c11d4dd828dd97c3f49e40.083771403531797924 AVAX
0x4192d7c67dceb3a029785d6aa6ac02d88b62ea3b4ad5905bed0d93d330a65964237496812022-12-17 11:29:2899 days 18 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 0x25e4a70ef4639103fa82b7f14cc5ca397d3026860.146599956180646368 AVAX
0x4192d7c67dceb3a029785d6aa6ac02d88b62ea3b4ad5905bed0d93d330a65964237496812022-12-17 11:29:2899 days 18 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.251314210595393774 AVAX
0x7c539c510896b15aafaa76525c58b12fb21a5366320cc145c29b5b162a696a30203873922022-09-28 14:28:25179 days 15 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.002286851584877611 AVAX
0x7c539c510896b15aafaa76525c58b12fb21a5366320cc145c29b5b162a696a30203873922022-09-28 14:28:25179 days 15 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 Trader Joe: Router0.019498495695214775 AVAX
0x7c539c510896b15aafaa76525c58b12fb21a5366320cc145c29b5b162a696a30203873922022-09-28 14:28:25179 days 15 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50x57c69c79f303f68d463c11d4dd828dd97c3f49e40.077993982780859103 AVAX
0x7c539c510896b15aafaa76525c58b12fb21a5366320cc145c29b5b162a696a30203873922022-09-28 14:28:25179 days 15 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 0x25e4a70ef4639103fa82b7f14cc5ca397d3026860.13648946986650343 AVAX
0x7c539c510896b15aafaa76525c58b12fb21a5366320cc145c29b5b162a696a30203873922022-09-28 14:28:25179 days 15 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.233981948342577309 AVAX
0x2f1c1f233f8f2c0fbcdda5149b3ed759c7862094292096468ddf33979543b030194156232022-09-01 20:46:28206 days 9 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.003521843663918016 AVAX
0x2f1c1f233f8f2c0fbcdda5149b3ed759c7862094292096468ddf33979543b030194156232022-09-01 20:46:28206 days 9 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 Trader Joe: Router0.025925826396554814 AVAX
0x2f1c1f233f8f2c0fbcdda5149b3ed759c7862094292096468ddf33979543b030194156232022-09-01 20:46:28206 days 9 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50x57c69c79f303f68d463c11d4dd828dd97c3f49e40.103703305586219256 AVAX
0x2f1c1f233f8f2c0fbcdda5149b3ed759c7862094292096468ddf33979543b030194156232022-09-01 20:46:28206 days 9 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 0x25e4a70ef4639103fa82b7f14cc5ca397d3026860.181480784775883698 AVAX
0x2f1c1f233f8f2c0fbcdda5149b3ed759c7862094292096468ddf33979543b030194156232022-09-01 20:46:28206 days 9 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.311109916758657769 AVAX
0x59bfe6d6527d95d70eb4ffaa7785ee79a5dc214d7a3df271157053e285efae6d183292852022-08-07 10:59:56231 days 19 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.009446279048829922 AVAX
0x59bfe6d6527d95d70eb4ffaa7785ee79a5dc214d7a3df271157053e285efae6d183292852022-08-07 10:59:56231 days 19 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 Trader Joe: Router0.050342228323833912 AVAX
0x59bfe6d6527d95d70eb4ffaa7785ee79a5dc214d7a3df271157053e285efae6d183292852022-08-07 10:59:56231 days 19 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50x57c69c79f303f68d463c11d4dd828dd97c3f49e40.20136891329533565 AVAX
0x59bfe6d6527d95d70eb4ffaa7785ee79a5dc214d7a3df271157053e285efae6d183292852022-08-07 10:59:56231 days 19 hrs ago 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be5 0x25e4a70ef4639103fa82b7f14cc5ca397d3026860.352395598266837387 AVAX
0x59bfe6d6527d95d70eb4ffaa7785ee79a5dc214d7a3df271157053e285efae6d183292852022-08-07 10:59:56231 days 19 hrs ago Trader Joe: Router 0x01c5e2a4af2bd9f62c7d55c6105b8a64e6905be50.60410673988600695 AVAX
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Hatter

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at snowtrace.io on 2021-11-22
*/

/**
 *Submitted for verification at snowtrace.io on 2021-11-21
*/

/**
SPDX-License-Identifier: Unlicensed
*/

pragma solidity ^0.8.0;

/**
 * SAFEMATH LIBRARY
 */
library SafeMath {
    
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

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

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 WAVAX() 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 addLiquidityAVAX(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountAVAXMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountAVAX, uint liquidity);

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

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

    function swapExactTokensForAVAXSupportingFeeOnTransferTokens(
        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;// excluded dividend
        uint256 totalRealised;
    }

    IBEP20 BUSD = IBEP20(0xb54f16fB19478766A268F172C9480f8da1a7c9C3);
    address WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7;
    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;// to be shown in UI
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;

    uint256 public minPeriod = 1 hours;
    uint256 public minDistribution = 1 * (10 ** 18);

    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(0x60aE616a2155Ee3d9A68541Ba4544862310933d4);
        _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 = BUSD.balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = WAVAX;
        path[1] = address(BUSD);

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

        uint256 amount = BUSD.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);
            BUSD.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);
    }
/*
returns the  unpaid earnings
*/
    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 Hatter is IBEP20, Auth {
    using SafeMath for uint256;

    uint256 public constant MASK = type(uint128).max;
    address BUSD = 0xb54f16fB19478766A268F172C9480f8da1a7c9C3;
    address public WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address DEAD_NON_CHECKSUM = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Hatter";
    string constant _symbol = "Hatter";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1_000_000_000_000_000 * (10 ** _decimals);
    uint256 public _maxTxAmount = _totalSupply.div(200); // 0.55%
	uint256 public _maxWallet = _totalSupply.div(100); // 1%

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

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isDividendExempt;
    mapping (address => bool) public _isFree;

    uint256 liquidityFee = 200;
    uint256 buybackFee = 0;
    uint256 reflectionFee = 700;
    uint256 marketingFee = 400;
    uint256 totalFee = 1300;
    uint256 feeDenominator = 10000;

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver=0x57c69c79f303F68D463C11d4dd828dD97c3f49e4;

    uint256 targetLiquidity = 25;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    uint256 public launchedAtTimestamp;

    uint256 buybackMultiplierNumerator = 200;
    uint256 buybackMultiplierDenominator = 100;
    uint256 buybackMultiplierTriggeredAt;
    uint256 buybackMultiplierLength = 30 minutes;

    bool public autoBuybackEnabled = false;
    mapping (address => bool) buyBacker;
    uint256 autoBuybackCap;
    uint256 autoBuybackAccumulator;
    uint256 autoBuybackAmount;
    uint256 autoBuybackBlockPeriod;
    uint256 autoBuybackBlockLast;

    DividendDistributor distributor;
    address public distributorAddress;

    uint256 distributorGas = 500000;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 2000; // 0.005%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor (
        address _dexRouter, address _marketingAddress, address _wAVAX
    ) Auth(msg.sender) {
        router = IDEXRouter(_dexRouter);
        WAVAX=_wAVAX;
        pair = IDEXFactory(router.factory()).createPair(_wAVAX, address(this));
        _allowances[address(this)][address(router)] = _totalSupply;
        WAVAX = router.WAVAX();
        distributor = new DividendDistributor(_dexRouter);
        distributorAddress = address(distributor);

        isFeeExempt[msg.sender] = true;
        isTxLimitExempt[msg.sender] = true;
        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;
        buyBacker[msg.sender] = true;

        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = _marketingAddress;

        approve(_dexRouter, _totalSupply);
        approve(address(pair), _totalSupply);
        _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; }
    modifier onlyBuybacker() { require(buyBacker[msg.sender] == true, ""); _; }
    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, _totalSupply);
    }

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

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
		 
		// Max  tx check
		address routerAddress = 0x60aE616a2155Ee3d9A68541Ba4544862310933d4;
		bool isBuy=sender== pair|| sender == routerAddress;
        bool isSell=recipient== pair|| recipient == routerAddress;
		
		checkTxLimit(sender, amount);
		
		// Max wallet check excluding pair and router
		if (!isSell && !_isFree[recipient]){
			require((_balances[recipient] + amount) < _maxWallet, "Max wallet has been triggered");
		}
		
		// No swapping on buy and tx
		if (isSell) {
			if(shouldSwapBack()){ swapBack(); }
			if(shouldAutoBuyback()){ triggerAutoBuyback(); }
		}
        //        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

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

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;

        _balances[recipient] = _balances[recipient].add(amountReceived);

        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 getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 1 >= block.number){ return totalFee; }
        if(selling){ return totalFee; }
        return totalFee;
    }

    function getMultipliedFee() public view returns (uint256) {
        /**
         * if (launchedAtTimestamp + 1 days > block.timestamp) {
            return totalFee.mul(18000).div(feeDenominator);
        } else if (buybackMultiplierTriggeredAt.add(buybackMultiplierLength) > block.timestamp) {
            uint256 remainingTime = buybackMultiplierTriggeredAt.add(buybackMultiplierLength).sub(block.timestamp);
            uint256 feeIncrease = totalFee.mul(buybackMultiplierNumerator).div(buybackMultiplierDenominator).sub(totalFee);
            return totalFee.add(feeIncrease.mul(remainingTime).div(buybackMultiplierLength));
        }
        */
        return totalFee;
    }

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

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

        return amount.sub(feeAmount);
    }

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

    function swapBack() internal swapping {
        uint256 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] = WAVAX;
        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForAVAXSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountAVAX = address(this).balance.sub(balanceBefore);

        uint256 totalAVAXFee = totalFee.sub(dynamicLiquidityFee.div(2));

        uint256 amountAVAXLiquidity = amountAVAX.mul(dynamicLiquidityFee).div(totalAVAXFee).div(2);
        uint256 amountAVAXReflection = amountAVAX.mul(reflectionFee).div(totalAVAXFee);
        uint256 amountAVAXMarketing = amountAVAX.mul(marketingFee).div(totalAVAXFee);

        try distributor.deposit{value: amountAVAXReflection}() {} catch {}
        payable(marketingFeeReceiver).transfer(amountAVAXMarketing);
            
        

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

    function shouldAutoBuyback() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && autoBuybackEnabled
        && autoBuybackBlockLast + autoBuybackBlockPeriod <= block.number // After N blocks from last buyback
        && address(this).balance >= autoBuybackAmount;
    }

    function triggerZeusBuyback(uint256 amount, bool triggerBuybackMultiplier) external authorized {
        buyTokens(amount, DEAD);
        if(triggerBuybackMultiplier){
            buybackMultiplierTriggeredAt = block.timestamp;
            emit BuybackMultiplierActive(buybackMultiplierLength);
        }
    }

    function clearBuybackMultiplier() external authorized {
        buybackMultiplierTriggeredAt = 0;
    }

    function triggerAutoBuyback() internal {
        buyTokens(autoBuybackAmount, DEAD);
        autoBuybackBlockLast = block.number;
        autoBuybackAccumulator = autoBuybackAccumulator.add(autoBuybackAmount);
        if(autoBuybackAccumulator > autoBuybackCap){ autoBuybackEnabled = false; }
    }

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

        router.swapExactAVAXForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }
    
    function Sweep() external onlyOwner {
        uint256 balance = address(this).balance;
        payable(msg.sender).transfer(balance);
    }


    function setAutoBuybackSettings(bool _enabled, uint256 _cap, uint256 _amount, uint256 _period) external authorized {
        autoBuybackEnabled = _enabled;
        autoBuybackCap = _cap;
        autoBuybackAccumulator = 0;
        autoBuybackAmount = _amount;
        autoBuybackBlockPeriod = _period;
        autoBuybackBlockLast = block.number;
    }

    function setBuybackMultiplierSettings(uint256 numerator, uint256 denominator, uint256 length) external authorized {
        require(numerator / denominator <= 2 && numerator > denominator);
        buybackMultiplierNumerator = numerator;
        buybackMultiplierDenominator = denominator;
        buybackMultiplierLength = length;
    }

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

    function launch() public authorized {
        require(launchedAt == 0, "Already launched boi");
        launchedAt = block.number;
        launchedAtTimestamp = block.timestamp;
    }
	
	function setMaxWallet(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _maxWallet = amount;
    }

    function setTxLimit(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _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 setFree(address holder) public onlyOwner {
        _isFree[holder] = true;
    }
    
    function unSetFree(address holder) public onlyOwner {
        _isFree[holder] = false;
    }
    
    function checkFree(address holder) public view onlyOwner returns(bool){
        return _isFree[holder];
    }

    function setFees(uint256 _liquidityFee, uint256 _buybackFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        buybackFee = _buybackFee;
        reflectionFee = _reflectionFee;
        marketingFee = _marketingFee;
        totalFee = _liquidityFee.add(_buybackFee).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;
    }

    event AutoLiquify(uint256 amountAVAX, uint256 amountBOG);
    event BuybackMultiplierActive(uint256 duration);
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dexRouter","type":"address"},{"internalType":"address","name":"_marketingAddress","type":"address"},{"internalType":"address","name":"_wAVAX","type":"address"}],"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":"amountAVAX","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"BuybackMultiplierActive","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":"MASK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Sweep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"WAVAX","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoBuybackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"holder","type":"address"}],"name":"checkFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearBuybackMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distributorAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"getMultipliedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAtTimestamp","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":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_cap","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"setAutoBuybackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"setBuybackMultiplierSettings","outputs":[],"stateMutability":"nonpayable","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":"_buybackFee","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"}],"name":"setFree","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":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"triggerBuybackMultiplier","type":"bool"}],"name":"triggerZeusBuyback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"unSetFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b031990811673b54f16fb19478766a268f172c9480f8da1a7c9c31790915560038054821673b31f66aa3c1e785363f0875a1b74e27b85fd66c717905560048054821661dead9081179091556005805483169055600680549092161790556200007a6009600a620006c1565b6200008d9066038d7ea4c6800062000780565b600755620000ad60c86007546200053e60201b620015451790919060201c565b600855620000cd60646007546200053e60201b620015451790919060201c565b60095560c8601081905560006011556102bc601255610190601355610514601455612710601555601780546001600160a01b0319167357c69c79f303f68d463c11d4dd828dd97c3f49e417905560196018819055606490819055601e91909155601f556107086021556022805460ff199081169091556207a120602b55602c8054909116600117905560075462000168906107d09062000655565b602d553480156200017857600080fd5b5060405162003bb538038062003bb58339810160408190526200019b916200060b565b60008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155601a805483166001600160a01b038881169182179092556003805490941691861691909117909255825163c45a015560e01b81529251919263c45a01559260048083019392829003018186803b1580156200022557600080fd5b505afa1580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002609190620005ed565b6040516364e329cb60e11b81526001600160a01b038381166004830152306024830152919091169063c9c6539690604401602060405180830381600087803b158015620002ac57600080fd5b505af1158015620002c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e79190620005ed565b601b80546001600160a01b0319166001600160a01b03928316179055600754306000908152600b60209081526040808320601a8054871685529083529281902093909355905482516339d94ae160e11b815292519316926373b295c2926004808201939291829003018186803b1580156200036157600080fd5b505afa15801562000376573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039c9190620005ed565b600380546001600160a01b0319166001600160a01b03929092169190911790556040518390620003cc90620005c2565b6001600160a01b039091168152602001604051809103906000f080158015620003f9573d6000803e3d6000fd5b50602980546001600160a01b039283166001600160a01b03199182168117909255602a80548216909217909155336000818152600c60209081526040808320805460ff199081166001908117909255600d84528285208054821683179055601b5488168552600e845282852080548216831790553085528285208054821683179055600454881685528285208054821683179055858552602390935292208054909116909117905560168054831690911790556017805492851692909116919091179055600754620004cd90849062000555565b50601b54600754620004e9916001600160a01b03169062000555565b50600754336000818152600a6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050620007b8565b60006200054c828462000655565b90505b92915050565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620005b19086815260200190565b60405180910390a350600192915050565b610e588062002d5d83390190565b80516001600160a01b0381168114620005e857600080fd5b919050565b6000602082840312156200060057600080fd5b6200054c82620005d0565b6000806000606084860312156200062157600080fd5b6200062c84620005d0565b92506200063c60208501620005d0565b91506200064c60408501620005d0565b90509250925092565b6000826200067357634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620006b95781600019048211156200069d576200069d620007a2565b80851615620006ab57918102915b93841c93908002906200067d565b509250929050565b60006200054c60ff841683600082620006dd575060016200054f565b81620006ec575060006200054f565b8160018114620007055760028114620007105762000730565b60019150506200054f565b60ff841115620007245762000724620007a2565b50506001821b6200054f565b5060208310610133831016604e8410600b841016171562000755575081810a6200054f565b62000761838362000678565b8060001904821115620007785762000778620007a2565b029392505050565b60008160001904831182151516156200079d576200079d620007a2565b500290565b634e487b7160e01b600052601160045260246000fd5b61259580620007c86000396000f3fe60806040526004361061036f5760003560e01c806382247ec0116101c6578063d51ed1c8116100f7578063f1f3bca311610095578063f708a64f1161006f578063f708a64f14610a06578063f84ba65d14610a26578063f887ea4014610a46578063fe9fbb8014610a6657600080fd5b8063f1f3bca3146109a6578063f2fde38b146109c6578063f5cfec0a146109e657600080fd5b8063df20fd49116100d1578063df20fd4914610922578063e91f214e14610942578063e96fada214610966578063f0b37c041461098657600080fd5b8063d51ed1c8146108a7578063d806d12f146108c7578063dd62ed3e146108dc57600080fd5b8063a8aa1b3111610164578063b6a5d7de1161013e578063b6a5d7de1461083b578063bf56b3711461085b578063c6d2577d14610871578063ca33e64c1461088757600080fd5b8063a8aa1b31146107e6578063a9059cbb14610806578063b210b06d1461082657600080fd5b806395d89b41116101a057806395d89b41146103fb5780639d1944f514610786578063a4b45c00146107a6578063a51af4c5146107c657600080fd5b806382247ec014610732578063893d20e81461074857806389ef69f61461076657600080fd5b80632d48e896116102a05780635d0044ca1161023e5780637088fb7f116102185780637088fb7f1461069957806370a08231146106ae57806373b295c2146106e45780637d1db4a51461071c57600080fd5b80635d0044ca1461063f578063658d4b7f1461065f5780636ddd17131461067f57600080fd5b80633425c0011161027a5780633425c001146105c55780633bb8a8d4146105e5578063571ac8b0146105ff5780635c85974f1461061f57600080fd5b80632d48e8961461055a5780632f54bf6e1461057a578063313ce567146105a957600080fd5b80631161ae391161030d5780632375ce40116102e75780632375ce40146104d557806323b872dd146104f5578063296020e7146105155780632b112e491461054557600080fd5b80631161ae391461048057806318160ddd146104a0578063201e7991146104b557600080fd5b806304a66b481161034957806304a66b48146103db57806306fdde03146103fb57806307c89fe814610430578063095ea7b31461046057600080fd5b806301339c211461037b5780630445b66714610392578063048c7baf146103bb57600080fd5b3661037657005b600080fd5b34801561038757600080fd5b50610390610a86565b005b34801561039e57600080fd5b506103a8602d5481565b6040519081526020015b60405180910390f35b3480156103c757600080fd5b506103906103d6366004612230565b610b05565b3480156103e757600080fd5b506103906103f6366004612321565b610b53565b34801561040757600080fd5b5060408051808201825260068152652430ba3a32b960d11b602082015290516103b291906123d5565b34801561043c57600080fd5b5061045061044b366004612101565b610bc9565b60405190151581526020016103b2565b34801561046c57600080fd5b5061045061047b3660046121cd565b610c17565b34801561048c57600080fd5b5061045061049b3660046122a5565b610c83565b3480156104ac57600080fd5b506007546103a8565b3480156104c157600080fd5b506103906104d03660046122a5565b610c97565b3480156104e157600080fd5b506103906104f03660046122c7565b610cc7565b34801561050157600080fd5b50610450610510366004612157565b610d1c565b34801561052157600080fd5b50610450610530366004612101565b600f6020526000908152604090205460ff1681565b34801561055157600080fd5b506103a8610de0565b34801561056657600080fd5b506103906105753660046122a5565b610e32565b34801561058657600080fd5b50610450610595366004612101565b6000546001600160a01b0391821691161490565b3480156105b557600080fd5b50604051600981526020016103b2565b3480156105d157600080fd5b506103906105e0366004612101565b610ec1565b3480156105f157600080fd5b506022546104509060ff1681565b34801561060b57600080fd5b5061045061061a366004612101565b610f0c565b34801561062b57600080fd5b5061039061063a366004612269565b610f20565b34801561064b57600080fd5b5061039061065a366004612269565b610f66565b34801561066b57600080fd5b5061039061067a366004612198565b610fac565b34801561068b57600080fd5b50602c546104509060ff1681565b3480156106a557600080fd5b50610390610ffc565b3480156106ba57600080fd5b506103a86106c9366004612101565b6001600160a01b03166000908152600a602052604090205490565b3480156106f057600080fd5b50600354610704906001600160a01b031681565b6040516001600160a01b0390911681526020016103b2565b34801561072857600080fd5b506103a860085481565b34801561073e57600080fd5b506103a860095481565b34801561075457600080fd5b506000546001600160a01b0316610704565b34801561077257600080fd5b50610390610781366004612101565b611059565b34801561079257600080fd5b506103906107a1366004612269565b6110a7565b3480156107b257600080fd5b506103906107c136600461211e565b6110e0565b3480156107d257600080fd5b50602a54610704906001600160a01b031681565b3480156107f257600080fd5b50601b54610704906001600160a01b031681565b34801561081257600080fd5b506104506108213660046121cd565b611133565b34801561083257600080fd5b50610390611140565b34801561084757600080fd5b50610390610856366004612101565b61116c565b34801561086757600080fd5b506103a8601c5481565b34801561087d57600080fd5b506103a8601d5481565b34801561089357600080fd5b50601654610704906001600160a01b031681565b3480156108b357600080fd5b506103a86108c2366004612269565b6111bd565b3480156108d357600080fd5b506014546103a8565b3480156108e857600080fd5b506103a86108f736600461211e565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b34801561092e57600080fd5b5061039061093d366004612214565b611201565b34801561094e57600080fd5b506103a86fffffffffffffffffffffffffffffffff81565b34801561097257600080fd5b50601754610704906001600160a01b031681565b34801561099257600080fd5b506103906109a1366004612101565b61123d565b3480156109b257600080fd5b506103a86109c13660046121f9565b611288565b3480156109d257600080fd5b506103906109e1366004612101565b6112bd565b3480156109f257600080fd5b50610390610a01366004612282565b611353565b348015610a1257600080fd5b50610390610a21366004612198565b6113d3565b348015610a3257600080fd5b50610390610a41366004612198565b6114d7565b348015610a5257600080fd5b50601a54610704906001600160a01b031681565b348015610a7257600080fd5b50610450610a81366004612101565b611527565b610a8f33611527565b610ab45760405162461bcd60e51b8152600401610aab9061244a565b60405180910390fd5b601c5415610afb5760405162461bcd60e51b8152602060048201526014602482015273416c7265616479206c61756e6368656420626f6960601b6044820152606401610aab565b43601c5542601d55565b610b0e33611527565b610b2a5760405162461bcd60e51b8152600401610aab9061244a565b6022805460ff191694151594909417909355602491909155600060255560265560275543602855565b610b5c33611527565b610b785760405162461bcd60e51b8152600401610aab9061244a565b6010859055601184905560128390556013829055610ba282610b9c85818989611551565b90611551565b6014556015819055610bb56004826124c3565b60145410610bc257600080fd5b5050505050565b600080546001600160a01b03163314610bf45760405162461bcd60e51b8152600401610aab9061242a565b506001600160a01b0381166000908152600f602052604090205460ff165b919050565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c729086815260200190565b60405180910390a350600192915050565b600082610c8f836111bd565b119392505050565b610ca033611527565b610cbc5760405162461bcd60e51b8152600401610aab9061244a565b601891909155601955565b610cd033611527565b610cec5760405162461bcd60e51b8152600401610aab9061244a565b6002610cf883856124c3565b11158015610d0557508183115b610d0e57600080fd5b601e92909255601f55602155565b6007546001600160a01b0384166000908152600b60209081526040808320338452909152812054909114610dcb576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600b82528381203382529091529190912054610da691849061155d565b6001600160a01b0385166000908152600b602090815260408083203384529091529020555b610dd6848484611589565b90505b9392505050565b6005546001600160a01b03166000908152600a6020526040812054610e2d906004546001600160a01b03166000908152600a6020526040902054610e2790600754906119aa565b906119aa565b905090565b610e3b33611527565b610e575760405162461bcd60e51b8152600401610aab9061244a565b6029546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610ea557600080fd5b505af1158015610eb9573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610eeb5760405162461bcd60e51b8152600401610aab9061242a565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000610f1a82600754610c17565b92915050565b610f2933611527565b610f455760405162461bcd60e51b8152600401610aab9061244a565b6103e8600754610f5591906124c3565b811015610f6157600080fd5b600855565b610f6f33611527565b610f8b5760405162461bcd60e51b8152600401610aab9061244a565b6103e8600754610f9b91906124c3565b811015610fa757600080fd5b600955565b610fb533611527565b610fd15760405162461bcd60e51b8152600401610aab9061244a565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110265760405162461bcd60e51b8152600401610aab9061242a565b6040514790339082156108fc029083906000818181858888f19350505050158015611055573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146110835760405162461bcd60e51b8152600401610aab9061242a565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6110b033611527565b6110cc5760405162461bcd60e51b8152600401610aab9061244a565b620b71b081106110db57600080fd5b602b55565b6110e933611527565b6111055760405162461bcd60e51b8152600401610aab9061244a565b601680546001600160a01b039384166001600160a01b03199182161790915560178054929093169116179055565b6000610dd9338484611589565b61114933611527565b6111655760405162461bcd60e51b8152600401610aab9061244a565b6000602055565b6000546001600160a01b031633146111965760405162461bcd60e51b8152600401610aab9061242a565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610f1a6111ca610de0565b601b546001600160a01b03166000908152600a60205260409020546111fb906111f49060026119b6565b85906119b6565b90611545565b61120a33611527565b6112265760405162461bcd60e51b8152600401610aab9061244a565b602c805460ff191692151592909217909155602d55565b6000546001600160a01b031633146112675760405162461bcd60e51b8152600401610aab9061242a565b6001600160a01b03166000908152600160205260409020805460ff19169055565b600043601c54600161129a91906124ab565b106112a757505060145490565b81156112b557505060145490565b505060145490565b6000546001600160a01b031633146112e75760405162461bcd60e51b8152600401610aab9061242a565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61135c33611527565b6113785760405162461bcd60e51b8152600401610aab9061244a565b60045461138f9083906001600160a01b03166119c2565b8015611055574260209081556021546040519081527f39d2389ec5c1fa77b2c0d374bc61b6d7bd97ccba280fcdeb4e9c7644898d7c3a910160405180910390a15050565b6113dc33611527565b6113f85760405162461bcd60e51b8152600401610aab9061244a565b6001600160a01b038216301480159061141f5750601b546001600160a01b03838116911614155b61142857600080fd5b6001600160a01b0382166000908152600e60205260409020805460ff1916821580159190911790915561148e57602954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610e8b565b6029546001600160a01b038381166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610e8b565b6114e033611527565b6114fc5760405162461bcd60e51b8152600401610aab9061244a565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000610dd982846124c3565b6000610dd982846124ab565b600081848411156115815760405162461bcd60e51b8152600401610aab91906123d5565b505050900390565b602e5460009060ff16156115a9576115a2848484611acb565b9050610dd9565b601b547360ae616a2155ee3d9a68541ba4544862310933d4906000906001600160a01b03878116911614806115ef5750816001600160a01b0316866001600160a01b0316145b601b549091506000906001600160a01b03878116911614806116225750826001600160a01b0316866001600160a01b0316145b905061162e8786611b6e565b8015801561165557506001600160a01b0386166000908152600f602052604090205460ff16155b156116ce576009546001600160a01b0387166000908152600a60205260409020546116819087906124ab565b106116ce5760405162461bcd60e51b815260206004820152601d60248201527f4d61782077616c6c657420686173206265656e207472696767657265640000006044820152606401610aab565b80156116fe576116dc611bd7565b156116e9576116e9611c26565b6116f1611f94565b156116fe576116fe611fef565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a166000908152600a909152919091205461175091879061155d565b6001600160a01b0388166000908152600a6020908152604080832093909355600c90529081205460ff16156117855785611790565b611790888888612036565b6001600160a01b0388166000908152600a60205260409020549091506117b69082611551565b6001600160a01b038089166000908152600a6020908152604080832094909455918b168152600e909152205460ff1661185a576029546001600160a01b038981166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561184757600080fd5b505af1925050508015611858575060015b505b6001600160a01b0387166000908152600e602052604090205460ff166118eb576029546001600160a01b038881166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156118d857600080fd5b505af19250505080156118e9575060015b505b602954602b546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916119239160040190815260200190565b600060405180830381600087803b15801561193d57600080fd5b505af192505050801561194e575060015b50866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161199491815260200190565b60405180910390a3506001979650505050505050565b6000610dd98284612504565b6000610dd982846124e5565b602e805460ff19166001179055604080516002808252606082018352600092602083019080368337505060035482519293506001600160a01b031691839150600090611a1057611a10612531565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611a4457611a44612531565b6001600160a01b039283166020918202929092010152601a5460405163c57559dd60e01b815291169063c57559dd908590611a8a906000908690889042906004016123a0565b6000604051808303818588803b158015611aa357600080fd5b505af1158015611ab7573d6000803e3d6000fd5b5050602e805460ff19169055505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a90915291822054611b1c91849061155d565b6001600160a01b038086166000908152600a60205260408082209390935590851681522054611b4b9083611551565b6001600160a01b0384166000908152600a60205260409020555060019392505050565b60085481111580611b9757506001600160a01b0382166000908152600d602052604090205460ff165b6110555760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610aab565b601b546000906001600160a01b03163314801590611bf85750602e5460ff16155b8015611c065750602c5460ff165b8015610e2d575050602d54306000908152600a6020526040902054101590565b602e805460ff19166001179055601854601954600091611c4591610c83565b611c5157601054611c54565b60005b90506000611c7860026111fb6014546111fb86602d546119b690919063ffffffff16565b90506000611c9182602d546119aa90919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611ccb57611ccb612531565b6001600160a01b039283166020918202929092010152600354825191169082906001908110611cfc57611cfc612531565b6001600160a01b039283166020918202929092010152601a54604051633b158ab160e11b81524792919091169063762b156290611d4690869060009087903090429060040161246f565b600060405180830381600087803b158015611d6057600080fd5b505af1158015611d74573d6000803e3d6000fd5b505050506000611d8d82476119aa90919063ffffffff16565b90506000611da8611d9f886002611545565b601454906119aa565b90506000611dbd60026111fb8481878d6119b6565b90506000611dda836111fb601254876119b690919063ffffffff16565b90506000611df7846111fb601354886119b690919063ffffffff16565b9050602960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e4957600080fd5b505af193505050508015611e5b575060015b506017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611e96573d6000803e3d6000fd5b508815611f7e57601a54601654604051637c8d9fb960e11b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290859060c4016060604051808303818588803b158015611f0857600080fd5b505af1158015611f1c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f4191906122f3565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050602e805460ff191690555050505050505050565b601b546000906001600160a01b03163314801590611fb55750602e5460ff16155b8015611fc3575060225460ff165b8015611fde575043602754602854611fdb91906124ab565b11155b8015610e2d57505060265447101590565b60265460045461200891906001600160a01b03166119c2565b4360285560265460255461201b91611551565b60258190556024541015612034576022805460ff191690555b565b601554601b54600091829161206891906111fb90612061906001600160a01b03898116911614611288565b86906119b6565b306000908152600a60205260409020549091506120859082611551565b306000818152600a6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120d69085815260200190565b60405180910390a36120e883826119aa565b95945050505050565b80358015158114610c1257600080fd5b60006020828403121561211357600080fd5b8135610dd981612547565b6000806040838503121561213157600080fd5b823561213c81612547565b9150602083013561214c81612547565b809150509250929050565b60008060006060848603121561216c57600080fd5b833561217781612547565b9250602084013561218781612547565b929592945050506040919091013590565b600080604083850312156121ab57600080fd5b82356121b681612547565b91506121c4602084016120f1565b90509250929050565b600080604083850312156121e057600080fd5b82356121eb81612547565b946020939093013593505050565b60006020828403121561220b57600080fd5b610dd9826120f1565b6000806040838503121561222757600080fd5b6121eb836120f1565b6000806000806080858703121561224657600080fd5b61224f856120f1565b966020860135965060408601359560600135945092505050565b60006020828403121561227b57600080fd5b5035919050565b6000806040838503121561229557600080fd5b823591506121c4602084016120f1565b600080604083850312156122b857600080fd5b50508035926020909101359150565b6000806000606084860312156122dc57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561230857600080fd5b8351925060208401519150604084015190509250925092565b600080600080600060a0868803121561233957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600081518084526020808501945080840160005b838110156123955781516001600160a01b031687529582019590820190600101612370565b509495945050505050565b8481526080602082015260006123b9608083018661235c565b6001600160a01b03949094166040830152506060015292915050565b600060208083528351808285015260005b81811015612402578581018301518582016040015282016123e6565b81811115612414576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b85815284602082015260a06040820152600061248e60a083018661235c565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156124be576124be61251b565b500190565b6000826124e057634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156124ff576124ff61251b565b500290565b6000828210156125165761251661251b565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461255c57600080fd5b5056fea2646970667358221220715feae6e536f4698d98a6982f6dcc5ed89179d3926202c84937dc95d2e19e5664736f6c634300080700336080604052600180546001600160a01b031990811673b54f16fb19478766a268f172c9480f8da1a7c9c3179091556002805490911673b31f66aa3c1e785363f0875a1b74e27b85fd66c71790556ec097ce7bc90715b34b9f1000000000600c55610e10600d55670de0b6b3a7640000600e5534801561007d57600080fd5b50604051610e58380380610e5883398101604081905261009c916100f6565b6001600160a01b0381166100c4577360ae616a2155ee3d9a68541ba4544862310933d46100c6565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610126565b60006020828403121561010857600080fd5b81516001600160a01b038116811461011f57600080fd5b9392505050565b610d23806101356000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610224578063f0fc6bca1461023a578063ffb2c4791461024f578063ffd49c841461026f57600080fd5b8063ce7c2ac2146101af578063d0e30db014610206578063e2d2e2191461020e57600080fd5b80632d48e896116100bb5780632d48e8961461014d5780633a98ef391461016d5780634fab0ae814610183578063997664d71461019957600080fd5b806311ce023d146100e257806314b6ca961461010b57806328fd31981461012d575b600080fd5b3480156100ee57600080fd5b506100f8600c5481565b6040519081526020015b60405180910390f35b34801561011757600080fd5b5061012b610126366004610b16565b610285565b005b34801561013957600080fd5b506100f8610148366004610afb565b6103fd565b34801561015957600080fd5b5061012b610168366004610b94565b610486565b34801561017957600080fd5b506100f860085481565b34801561018f57600080fd5b506100f8600e5481565b3480156101a557600080fd5b506100f860095481565b3480156101bb57600080fd5b506101eb6101ca366004610afb565b60076020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610102565b61012b6104a8565b34801561021a57600080fd5b506100f8600b5481565b34801561023057600080fd5b506100f8600a5481565b34801561024657600080fd5b5061012b6106f5565b34801561025b57600080fd5b5061012b61026a366004610b62565b610700565b34801561027b57600080fd5b506100f8600d5481565b6000546001600160a01b0316331461029c57600080fd5b6001600160a01b038216600090815260076020526040902054156102c3576102c382610800565b6000811180156102e957506001600160a01b038216600090815260076020526040902054155b1561034f57600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610382565b8015801561037457506001600160a01b03821660009081526007602052604090205415155b15610382576103828261092b565b6001600160a01b0382166000908152600760205260409020546008546103b39183916103ad91610a40565b90610a53565b6008556001600160a01b03821660009081526007602052604090208190556103da81610a5f565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461042257506000919050565b6001600160a01b03821660009081526007602052604081205461044490610a5f565b6001600160a01b038416600090815260076020526040902060010154909150808211610474575060009392505050565b61047e8282610a40565b949350505050565b6000546001600160a01b0316331461049d57600080fd5b600d91909155600e55565b6000546001600160a01b031633146104bf57600080fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561050357600080fd5b505afa158015610517573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053b9190610b7b565b6040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b03169183915060009061058157610581610cd7565b6001600160a01b03928316602091820292909201015260018054835192169183919081106105b1576105b1610cd7565b6001600160a01b03928316602091820292909201015260035460405163c57559dd60e01b815291169063c57559dd9034906105f790600090869030904290600401610bb6565b6000604051808303818588803b15801561061057600080fd5b505af1158015610624573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600094506106b393508692506001600160a01b03909116906370a082319060240160206040518083038186803b15801561067557600080fd5b505afa158015610689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ad9190610b7b565b90610a40565b6009549091506106c39082610a53565b600955600854600c546106ed916106e4916106de9085610a82565b90610a8e565b600b5490610a53565b600b55505050565b6106fe33610800565b565b6000546001600160a01b0316331461071757600080fd5b60045480610723575050565b6000805a905060005b848310801561073a57508381105b156107f95783600f541061074e576000600f555b6107806004600f548154811061076657610766610cd7565b6000918252602090912001546001600160a01b0316610a9a565b156107b7576107b76004600f548154811061079d5761079d610cd7565b6000918252602090912001546001600160a01b0316610800565b6107cc6107c55a8490610a40565b8490610a53565b92505a600f805491935060006107e183610c90565b919050555080806107f190610c90565b91505061072c565b5050505050565b6001600160a01b0381166000908152600760205260409020546108205750565b600061082b826103fd565b9050801561092757600a546108409082610a53565b600a5560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb90604401602060405180830381600087803b15801561089157600080fd5b505af11580156108a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c99190610b40565b506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546108fd9082610a53565b6001600160a01b03831660009081526007602052604090206002810191909155546103da90610a5f565b5050565b6004805461093b90600190610c79565b8154811061094b5761094b610cd7565b60009182526020808320909101546001600160a01b038481168452600590925260409092205460048054929093169291811061098957610989610cd7565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916109d590600190610c79565b815481106109e5576109e5610cd7565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610a1b57610a1b610cc1565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610a4c8284610c79565b9392505050565b6000610a4c8284610c20565b6000610a7c600c546106de600b5485610a8290919063ffffffff16565b92915050565b6000610a4c8284610c5a565b6000610a4c8284610c38565b600d546001600160a01b03821660009081526006602052604081205490914291610ac49190610c20565b108015610a7c5750600e54610ad8836103fd565b1192915050565b80356001600160a01b0381168114610af657600080fd5b919050565b600060208284031215610b0d57600080fd5b610a4c82610adf565b60008060408385031215610b2957600080fd5b610b3283610adf565b946020939093013593505050565b600060208284031215610b5257600080fd5b81518015158114610a4c57600080fd5b600060208284031215610b7457600080fd5b5035919050565b600060208284031215610b8d57600080fd5b5051919050565b60008060408385031215610ba757600080fd5b50508035926020909101359150565b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610c005784516001600160a01b031683529383019391830191600101610bdb565b50506001600160a01b039690961660408501525050506060015292915050565b60008219821115610c3357610c33610cab565b500190565b600082610c5557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610c7457610c74610cab565b500290565b600082821015610c8b57610c8b610cab565b500390565b6000600019821415610ca457610ca4610cab565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea2646970667358221220a11b21a4834de23230af7eddf958947c47be858966d47a49485a5ba5715bbc8164736f6c6343000807003300000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d400000000000000000000000057c69c79f303f68d463c11d4dd828dd97c3f49e4000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000060aE616a2155Ee3d9A68541Ba4544862310933d400000000000000000000000057c69c79f303F68D463C11d4dd828dD97c3f49e4000000000000000000000000B31f66AA3C1e785363F0875A1B74E27b85FD66c7

-----Decoded View---------------
Arg [0] : _dexRouter (address): 0x60ae616a2155ee3d9a68541ba4544862310933d4
Arg [1] : _marketingAddress (address): 0x57c69c79f303f68d463c11d4dd828dd97c3f49e4
Arg [2] : _wAVAX (address): 0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000060aE616a2155Ee3d9A68541Ba4544862310933d4
Arg [1] : 00000000000000000000000057c69c79f303F68D463C11d4dd828dD97c3f49e4
Arg [2] : 000000000000000000000000B31f66AA3C1e785363F0875A1B74E27b85FD66c7


Deployed ByteCode Sourcemap

12788:16378:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25689:187;;;;;;;;;;;;;:::i;:::-;;15035:50;;;;;;;;;;;;;;;;;;;10271:25:1;;;10259:2;10244:18;15035:50:0;;;;;;;;24874:359;;;;;;;;;;-1:-1:-1;24874:359:0;;;;;:::i;:::-;;:::i;27139:496::-;;;;;;;;;;-1:-1:-1;27139:496:0;;;;;:::i;:::-;;:::i;16540:80::-;;;;;;;;;;-1:-1:-1;16612:5:0;;;;;;;;;;;-1:-1:-1;;;16612:5:0;;;;16540:80;;;;16612:5;16540:80;:::i;27020:111::-;;;;;;;;;;-1:-1:-1;27020:111:0;;;;;:::i;:::-;;:::i;:::-;;;7028:14:1;;7021:22;7003:41;;6991:2;6976:18;27020:111:0;6863:187:1;17043:216:0;;;;;;;;;;-1:-1:-1;17043:216:0;;;;;:::i;:::-;;:::i;28894:150::-;;;;;;;;;;-1:-1:-1;28894:150:0;;;;;:::i;:::-;;:::i;16270:88::-;;;;;;;;;;-1:-1:-1;16343:12:0;;16270:88;;28043:183;;;;;;;;;;-1:-1:-1;28043:183:0;;;;;:::i;:::-;;:::i;25241:342::-;;;;;;;;;;-1:-1:-1;25241:342:0;;;;;:::i;:::-;;:::i;17556:365::-;;;;;;;;;;-1:-1:-1;17556:365:0;;;;;:::i;:::-;;:::i;13832:40::-;;;;;;;;;;-1:-1:-1;13832:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;28569:142;;;;;;;;;;;;;:::i;28234:183::-;;;;;;;;;;-1:-1:-1;28234:183:0;;;;;:::i;:::-;;:::i;4599:103::-;;;;;;;;;;-1:-1:-1;4599:103:0;;;;;:::i;:::-;4654:4;4689:5;-1:-1:-1;;;;;4678:16:0;;;4689:5;;4678:16;;4599:103;16364:80;;;;;;;;;;-1:-1:-1;16364:80:0;;13367:1;11289:36:1;;11277:2;11262:18;16364:80:0;11147:184:1;26914:94:0;;;;;;;;;;-1:-1:-1;26914:94:0;;;;;:::i;:::-;;:::i;14619:38::-;;;;;;;;;;-1:-1:-1;14619:38:0;;;;;;;;17267:117;;;;;;;;;;-1:-1:-1;17267:117:0;;;;;:::i;:::-;;:::i;26035:145::-;;;;;;;;;;-1:-1:-1;26035:145:0;;;;;:::i;:::-;;:::i;25882:::-;;;;;;;;;;-1:-1:-1;25882:145:0;;;;;:::i;:::-;;:::i;26543:120::-;;;;;;;;;;-1:-1:-1;26543:120:0;;;;;:::i;:::-;;:::i;14998:30::-;;;;;;;;;;-1:-1:-1;14998:30:0;;;;;;;;24722:142;;;;;;;;;;;;;:::i;16791:105::-;;;;;;;;;;-1:-1:-1;16791:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;16875:18:0;16857:7;16875:18;;;:9;:18;;;;;;;16791:105;12981:65;;;;;;;;;;-1:-1:-1;12981:65:0;;;;-1:-1:-1;;;;;12981:65:0;;;;;;-1:-1:-1;;;;;5425:32:1;;;5407:51;;5395:2;5380:18;12981:65:0;5261:203:1;13448:51:0;;;;;;;;;;;;;;;;13512:49;;;;;;;;;;;;;;;;16626:78;;;;;;;;;;-1:-1:-1;16678:7:0;16696:5;-1:-1:-1;;;;;16696:5:0;16626:78;;26811:91;;;;;;;;;;-1:-1:-1;26811:91:0;;;;;:::i;:::-;;:::i;28425:136::-;;;;;;;;;;-1:-1:-1;28425:136:0;;;;;:::i;:::-;;:::i;27643:228::-;;;;;;;;;;-1:-1:-1;27643:228:0;;;;;:::i;:::-;;:::i;14916:33::-;;;;;;;;;;-1:-1:-1;14916:33:0;;;;-1:-1:-1;;;;;14916:33:0;;;14324:19;;;;;;;;;;-1:-1:-1;14324:19:0;;;;-1:-1:-1;;;;;14324:19:0;;;17392:156;;;;;;;;;;-1:-1:-1;17392:156:0;;;;;:::i;:::-;;:::i;23923:105::-;;;;;;;;;;;;;:::i;4272:94::-;;;;;;;;;;-1:-1:-1;4272:94:0;;;;;:::i;:::-;;:::i;14352:25::-;;;;;;;;;;;;;;;;14384:34;;;;;;;;;;;;;;;;14079:36;;;;;;;;;;-1:-1:-1;14079:36:0;;;;-1:-1:-1;;;;;14079:36:0;;;28719:167;;;;;;;;;;-1:-1:-1;28719:167:0;;;;;:::i;:::-;;:::i;20302:691::-;;;;;;;;;;-1:-1:-1;20977:8:0;;20302:691;;16902:133;;;;;;;;;;-1:-1:-1;16902:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;17004:19:0;;;16986:7;17004:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;16902:133;27879:156;;;;;;;;;;-1:-1:-1;27879:156:0;;;;;:::i;:::-;;:::i;12862:48::-;;;;;;;;;;-1:-1:-1;12862:48:0;12893:17;12862:48;;14122:78;;;;;;;;;;-1:-1:-1;14122:78:0;;;;-1:-1:-1;;;;;14122:78:0;;;4442:97;;;;;;;;;;-1:-1:-1;4442:97:0;;;;;:::i;:::-;;:::i;20090:204::-;;;;;;;;;;-1:-1:-1;20090:204:0;;;;;:::i;:::-;;:::i;4999:173::-;;;;;;;;;;-1:-1:-1;4999:173:0;;;;;:::i;:::-;;:::i;23599:316::-;;;;;;;;;;-1:-1:-1;23599:316:0;;;;;:::i;:::-;;:::i;26188:347::-;;;;;;;;;;-1:-1:-1;26188:347:0;;;;;:::i;:::-;;:::i;26671:128::-;;;;;;;;;;-1:-1:-1;26671:128:0;;;;;:::i;:::-;;:::i;14293:24::-;;;;;;;;;;-1:-1:-1;14293:24:0;;;;-1:-1:-1;;;;;14293:24:0;;;4773:107;;;;;;;;;;-1:-1:-1;4773:107:0;;;;;:::i;:::-;;:::i;25689:187::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;;;;;;;;;25744:10:::1;::::0;:15;25736:48:::1;;;::::0;-1:-1:-1;;;25736:48:0;;9304:2:1;25736:48:0::1;::::0;::::1;9286:21:1::0;9343:2;9323:18;;;9316:30;-1:-1:-1;;;9362:18:1;;;9355:50;9422:18;;25736:48:0::1;9102:344:1::0;25736:48:0::1;25808:12;25795:10;:25:::0;25853:15:::1;25831:19;:37:::0;25689:187::o;24874:359::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;25000:18:::1;:29:::0;;-1:-1:-1;;25000:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;25040:14:::1;:21:::0;;;;-1:-1:-1;25072:22:0::1;:26:::0;25109:17:::1;:27:::0;25147:22:::1;:32:::0;25213:12:::1;25190:20;:35:::0;24874:359::o;27139:496::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;27303:12:::1;:28:::0;;;27342:10:::1;:24:::0;;;27377:13:::1;:30:::0;;;27418:12:::1;:28:::0;;;27468:69:::1;27433:13:::0;27468:50:::1;27393:14:::0;27468:50;27318:13;27355:11;27468:17:::1;:30::i;:::-;:34:::0;::::1;:50::i;:69::-;27457:8;:80:::0;27548:14:::1;:32:::0;;;27610:16:::1;27625:1;27565:15:::0;27610:16:::1;:::i;:::-;27599:8;;:27;27591:36;;;::::0;::::1;;27139:496:::0;;;;;:::o;27020:111::-;27085:4;4689:5;;-1:-1:-1;;;;;4689:5:0;3996:10;4678:16;3980:38;;;;-1:-1:-1;;;3980:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;27108:15:0;::::1;;::::0;;;:7:::1;:15;::::0;;;;;::::1;;4020:1;27020:111:::0;;;:::o;17043:216::-;17147:10;17118:4;17135:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;17135:32:0;;;;;;;;;;:41;;;17192:37;17118:4;;17135:32;;17192:37;;;;17170:6;10271:25:1;;10259:2;10244:18;;10125:177;17192:37:0;;;;;;;;-1:-1:-1;17247:4:0;17043:216;;;;:::o;28894:150::-;28974:4;29030:6;28998:29;29018:8;28998:19;:29::i;:::-;:38;;28894:150;-1:-1:-1;;;28894:150:0:o;28043:183::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;28141:15:::1;:25:::0;;;;28177:26:::1;:41:::0;28043:183::o;25241:342::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;25401:1:::1;25374:23;25386:11:::0;25374:9;:23:::1;:::i;:::-;:28;;:55;;;;;25418:11;25406:9;:23;25374:55;25366:64;;;::::0;::::1;;25441:26;:38:::0;;;;25490:28:::1;:42:::0;25543:23:::1;:32:::0;25241:342::o;17556:365::-;17711:12;;-1:-1:-1;;;;;17676:19:0;;17656:4;17676:19;;;:11;:19;;;;;;;;17696:10;17676:31;;;;;;;;17656:4;;17676:47;17673:181;;17773:69;;;;;;;;;;;-1:-1:-1;;;17773:69:0;;;;;;;;-1:-1:-1;;;;;17773:19:0;;-1:-1:-1;17773:19:0;;;:11;:19;;;;;17793:10;17773:31;;;;;;;;;;:69;;17809:6;;17773:35;:69::i;:::-;-1:-1:-1;;;;;17739:19:0;;;;;;:11;:19;;;;;;;;17759:10;17739:31;;;;;;;:103;17673:181;17873:40;17887:6;17895:9;17906:6;17873:13;:40::i;:::-;17866:47;;17556:365;;;;;;:::o;28569:142::-;28697:4;;-1:-1:-1;;;;;28697:4:0;28622:7;16875:18;;;:9;:18;;;;;;28649:54;;28676:4;;-1:-1:-1;;;;;28676:4:0;16857:7;16875:18;;;:9;:18;;;;;;28649:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;28642:61;;28569:142;:::o;28234:183::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;28344:11:::1;::::0;:65:::1;::::0;-1:-1:-1;;;28344:65:0;;::::1;::::0;::::1;11068:25:1::0;;;11109:18;;;11102:34;;;-1:-1:-1;;;;;28344:11:0;;::::1;::::0;:35:::1;::::0;11041:18:1;;28344:65:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;28234:183:::0;;:::o;26914:94::-;4654:4;4689:5;-1:-1:-1;;;;;4689:5:0;3996:10;4678:16;3980:38;;;;-1:-1:-1;;;3980:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26977:15:0::1;26995:5;26977:15:::0;;;:7:::1;:15;::::0;;;;:23;;-1:-1:-1;;26977:23:0::1;::::0;;26914:94::o;17267:117::-;17322:4;17346:30;17354:7;17363:12;;17346:7;:30::i;:::-;17339:37;17267:117;-1:-1:-1;;17267:117:0:o;26035:145::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;26135:4:::1;26120:12;;:19;;;;:::i;:::-;26110:6;:29;;26102:38;;;::::0;::::1;;26151:12;:21:::0;26035:145::o;25882:::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;25984:4:::1;25969:12;;:19;;;;:::i;:::-;25959:6;:29;;25951:38;;;::::0;::::1;;26000:10;:19:::0;25882:145::o;26543:120::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26627:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;26627:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26543:120::o;24722:142::-;4654:4;4689:5;-1:-1:-1;;;;;4689:5:0;3996:10;4678:16;3980:38;;;;-1:-1:-1;;;3980:38:0;;;;;;;:::i;:::-;24819:37:::1;::::0;24787:21:::1;::::0;24827:10:::1;::::0;24819:37;::::1;;;::::0;24787:21;;24769:15:::1;24819:37:::0;24769:15;24819:37;24787:21;24827:10;24819:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;24758:106;24722:142::o:0;26811:91::-;4654:4;4689:5;-1:-1:-1;;;;;4689:5:0;3996:10;4678:16;3980:38;;;;-1:-1:-1;;;3980:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26872:15:0::1;;::::0;;;:7:::1;:15;::::0;;;;:22;;-1:-1:-1;;26872:22:0::1;26890:4;26872:22;::::0;;26811:91::o;28425:136::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;28515:6:::1;28509:3;:12;28501:21;;;::::0;::::1;;28533:14;:20:::0;28425:136::o;27643:228::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;27762:21:::1;:46:::0;;-1:-1:-1;;;;;27762:46:0;;::::1;-1:-1:-1::0;;;;;;27762:46:0;;::::1;;::::0;;;27819:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;27643:228::o;17392:156::-;17472:4;17496:44;17510:10;17522:9;17533:6;17496:13;:44::i;23923:105::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;24019:1:::1;23988:28;:32:::0;23923:105::o;4272:94::-;4654:4;4689:5;-1:-1:-1;;;;;4689:5:0;3996:10;4678:16;3980:38;;;;-1:-1:-1;;;3980:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4332:19:0::1;;::::0;;;4354:4:::1;4332:19;::::0;;;;;;;:26;;-1:-1:-1;;4332:26:0::1;::::0;;::::1;::::0;;4272:94::o;28719:167::-;28787:7;28814:64;28855:22;:20;:22::i;:::-;28837:4;;-1:-1:-1;;;;;28837:4:0;16857:7;16875:18;;;:9;:18;;;;;;28814:36;;28827:22;;28847:1;28827:19;:22::i;:::-;28814:8;;:12;:36::i;:::-;:40;;:64::i;27879:156::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;27971:11:::1;:22:::0;;-1:-1:-1;;27971:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;28004:13:::1;:23:::0;27879:156::o;4442:97::-;4654:4;4689:5;-1:-1:-1;;;;;4689:5:0;3996:10;4678:16;3980:38;;;;-1:-1:-1;;;3980:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4504:19:0::1;4526:5;4504:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;4504:27:0::1;::::0;;4442:97::o;20090:204::-;20146:7;20187:12;20169:10;;20182:1;20169:14;;;;:::i;:::-;:30;20166:54;;-1:-1:-1;;20209:8:0;;;20090:204::o;20166:54::-;20233:7;20230:31;;;-1:-1:-1;;20250:8:0;;;20090:204::o;20230:31::-;-1:-1:-1;;20278:8:0;;;20090:204::o;4999:173::-;4654:4;4689:5;-1:-1:-1;;;;;4689:5:0;3996:10;4678:16;3980:38;;;;-1:-1:-1;;;3980:38:0;;;;;;;:::i;:::-;5075:5:::1;:11:::0;;-1:-1:-1;;;;;;5075:11:0::1;-1:-1:-1::0;;;;;5075:11:0;::::1;::::0;;::::1;::::0;;5097:19;;;-1:-1:-1;5097:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;5097:26:0::1;::::0;;::::1;::::0;;;5139:25;;5407:51:1;;;5139:25:0::1;::::0;5380:18:1;5139:25:0::1;;;;;;;4999:173:::0;:::o;23599:316::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;23723:4:::1;::::0;23705:23:::1;::::0;23715:6;;-1:-1:-1;;;;;23723:4:0::1;23705:9;:23::i;:::-;23742:24;23739:169;;;23813:15;23782:28;:46:::0;;;23872:23:::1;::::0;23848:48:::1;::::0;10271:25:1;;;23848:48:0::1;::::0;10244:18:1;23848:48:0::1;;;;;;;23599:316:::0;;:::o;26188:347::-;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26285:23:0;::::1;26303:4;26285:23;::::0;::::1;::::0;:41:::1;;-1:-1:-1::0;26322:4:0::1;::::0;-1:-1:-1;;;;;26312:14:0;;::::1;26322:4:::0;::::1;26312:14;;26285:41;26277:50;;;::::0;::::1;;-1:-1:-1::0;;;;;26338:24:0;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;26338:33:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;26382:146:::1;;26407:11;::::0;:31:::1;::::0;-1:-1:-1;;;26407:31:0;;-1:-1:-1;;;;;5885:32:1;;;26407:31:0::1;::::0;::::1;5867:51:1::0;26407:11:0::1;5934:18:1::0;;;5927:34;26407:11:0;;::::1;::::0;:20:::1;::::0;5840:18:1;;26407:31:0::1;5685:282:1::0;26382:146:0::1;26469:11;::::0;-1:-1:-1;;;;;26498:17:0;;::::1;26469:11;26498:17:::0;;;:9:::1;:17;::::0;;;;;;;26469:47;;-1:-1:-1;;;26469:47:0;;::::1;::::0;::::1;5867:51:1::0;;;;5934:18;;;5927:34;26469:11:0;::::1;::::0;:20:::1;::::0;5840:18:1;;26469:47:0::1;5685:282:1::0;26671:128:0;4157:24;4170:10;4157:12;:24::i;:::-;4149:48;;;;-1:-1:-1;;;4149:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26759:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;26759:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26671:128::o;4773:107::-;-1:-1:-1;;;;;4853:19:0;4829:4;4853:19;;;:14;:19;;;;;;;;;4773:107::o;1874:98::-;1932:7;1959:5;1963:1;1959;:5;:::i;1556:98::-;1614:7;1641:5;1645:1;1641;:5;:::i;2086:206::-;2172:7;2233:12;2225:6;;;;2217:29;;;;-1:-1:-1;;;2217:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2268:5:0;;;2086:206::o;17929:1513::-;18041:6;;18021:4;;18041:6;;18038:63;;;18057:41;18072:6;18080:9;18091:6;18057:14;:41::i;:::-;18050:48;;;;18038:63;18221:4;;18154:42;;18130:21;;-1:-1:-1;;;;;18212:13:0;;;18221:4;;18212:13;;:39;;;18238:13;-1:-1:-1;;;;;18228:23:0;:6;-1:-1:-1;;;;;18228:23:0;;18212:39;18286:4;;18201:50;;-1:-1:-1;18262:11:0;;-1:-1:-1;;;;;18274:16:0;;;18286:4;;18274:16;;:45;;;18306:13;-1:-1:-1;;;;;18293:26:0;:9;-1:-1:-1;;;;;18293:26:0;;18274:45;18262:57;;18328:28;18341:6;18349;18328:12;:28::i;:::-;18419:6;18418:7;:30;;;;-1:-1:-1;;;;;;18430:18:0;;;;;;:7;:18;;;;;;;;18429:19;18418:30;18414:133;;;18497:10;;-1:-1:-1;;;;;18464:20:0;;;;;;:9;:20;;;;;;:29;;18487:6;;18464:29;:::i;:::-;18463:44;18455:86;;;;-1:-1:-1;;;18455:86:0;;8946:2:1;18455:86:0;;;8928:21:1;8985:2;8965:18;;;8958:30;9024:31;9004:18;;;8997:59;9073:18;;18455:86:0;8744:353:1;18455:86:0;18591:6;18587:111;;;18608:16;:14;:16::i;:::-;18605:35;;;18627:10;:8;:10::i;:::-;18648:19;:17;:19::i;:::-;18645:48;;;18670:20;:18;:20::i;:::-;18831:53;;;;;;;;;;;-1:-1:-1;;;18831:53:0;;;;;;;;-1:-1:-1;;;;;18831:17:0;;-1:-1:-1;18831:17:0;;;:9;:17;;;;;;;;:53;;18853:6;;18831:21;:53::i;:::-;-1:-1:-1;;;;;18811:17:0;;;;;;:9;:17;;;;;;;;:73;;;;20055:11;:19;;;;;;;;20054:20;18922:67;;18983:6;18922:67;;;18946:34;18954:6;18962:9;18973:6;18946:7;:34::i;:::-;-1:-1:-1;;;;;19025:20:0;;;;;;:9;:20;;;;;;18897:92;;-1:-1:-1;19025:40:0;;18897:92;19025:24;:40::i;:::-;-1:-1:-1;;;;;19002:20:0;;;;;;;:9;:20;;;;;;;;:63;;;;19082:24;;;;;:16;:24;;;;;;;19078:96;;19113:11;;-1:-1:-1;;;;;19142:17:0;;;19113:11;19142:17;;;:9;:17;;;;;;;;19113:47;;-1:-1:-1;;;19113:47:0;;;;;5867:51:1;;;;5934:18;;;5927:34;19113:11:0;;;:20;;5840:18:1;;19113:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19109:63;;-1:-1:-1;;;;;19188:27:0;;;;;;:16;:27;;;;;;;;19184:105;;19222:11;;-1:-1:-1;;;;;19254:20:0;;;19222:11;19254:20;;;:9;:20;;;;;;;;19222:53;;-1:-1:-1;;;19222:53:0;;;;;5867:51:1;;;;5934:18;;;5927:34;19222:11:0;;;:20;;5840:18:1;;19222:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19218:69;;19305:11;;19325:14;;19305:35;;-1:-1:-1;;;;;;19305:35:0;;-1:-1:-1;;;;;19305:11:0;;;;:19;;:35;;;;10271:25:1;;;10259:2;10244:18;;10125:177;19305:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19301:51;19386:9;-1:-1:-1;;;;;19369:43:0;19378:6;-1:-1:-1;;;;;19369:43:0;;19397:14;19369:43;;;;10271:25:1;;10259:2;10244:18;;10125:177;19369:43:0;;;;;;;;-1:-1:-1;19430:4:0;;17929:1513;-1:-1:-1;;;;;;;17929:1513:0:o;1662:98::-;1720:7;1747:5;1751:1;1747;:5;:::i;1768:98::-;1826:7;1853:5;1857:1;1853;:5;:::i;24347:363::-;15142:6;:13;;-1:-1:-1;;15142:13:0;15151:4;15142:13;;;24447:16:::1;::::0;;24461:1:::1;24447:16:::0;;;;;::::1;::::0;;-1:-1:-1;;24447:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;24484:5:0::1;::::0;24474:7;;;;-1:-1:-1;;;;;;24484:5:0::1;::::0;24474:7;;-1:-1:-1;24484:5:0::1;::::0;24474:7:::1;;;;:::i;:::-;;;;;;:15;-1:-1:-1::0;;;;;24474:15:0::1;;;-1:-1:-1::0;;;;;24474:15:0::1;;;::::0;::::1;24518:4;24500;24505:1;24500:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24500:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;24536:6:::1;::::0;:166:::1;::::0;-1:-1:-1;;;24536:166:0;;:6;::::1;::::0;:58:::1;::::0;24602:6;;24536:166:::1;::::0;:6:::1;::::0;24640:4;;24659:2;;24676:15:::1;::::0;24536:166:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15160:6:0;:14;;-1:-1:-1;;15160:14:0;;;-1:-1:-1;;;;;;24347:363:0:o;19450:332::-;19580:53;;;;;;;;;;;-1:-1:-1;;;19580:53:0;;;;;;;;-1:-1:-1;;;;;19580:17:0;;19543:4;19580:17;;;:9;:17;;;;;;;:53;;19602:6;;19580:21;:53::i;:::-;-1:-1:-1;;;;;19560:17:0;;;;;;;:9;:17;;;;;;:73;;;;19667:20;;;;;;;:32;;19692:6;19667:24;:32::i;:::-;-1:-1:-1;;;;;19644:20:0;;;;;;:9;:20;;;;;:55;-1:-1:-1;19770:4:0;19450:332;;;;;:::o;19794:166::-;19891:12;;19881:6;:22;;:49;;;-1:-1:-1;;;;;;19907:23:0;;;;;;:15;:23;;;;;;;;19881:49;19873:79;;;;-1:-1:-1;;;19873:79:0;;8600:2:1;19873:79:0;;;8582:21:1;8639:2;8619:18;;;8612:30;-1:-1:-1;;;8658:18:1;;;8651:47;8715:18;;19873:79:0;8398:341:1;21381:197:0;21468:4;;21430;;-1:-1:-1;;;;;21468:4:0;21454:10;:18;;;;:38;;-1:-1:-1;21486:6:0;;;;21485:7;21454:38;:62;;;;-1:-1:-1;21505:11:0;;;;21454:62;:116;;;;-1:-1:-1;;21557:13:0;;21547:4;21529:24;;;;:9;:24;;;;;;:41;;;21381:197::o;21586:1679::-;15142:6;:13;;-1:-1:-1;;15142:13:0;15151:4;15142:13;;;21681:15:::1;::::0;21698:26:::1;::::0;15142:6;;21665:60:::1;::::0;:15:::1;:60::i;:::-;:79;;21732:12;;21665:79;;;21728:1;21665:79;21635:109;;21755:23;21781:59;21838:1;21781:52;21824:8;;21781:38;21799:19;21781:13;;:17;;:38;;;;:::i;:59::-;21755:85;;21851:20;21874:34;21892:15;21874:13;;:17;;:34;;;;:::i;:::-;21945:16;::::0;;21959:1:::1;21945:16:::0;;;;;::::1;::::0;;21851:57;;-1:-1:-1;21921:21:0::1;::::0;21945:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;21945:16:0::1;21921:40;;21990:4;21972;21977:1;21972:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21972:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;22016:5:::1;::::0;22006:7;;22016:5;::::1;::::0;22006:4;;22016:5;;22006:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;22006:15:0;;::::1;:7;::::0;;::::1;::::0;;;;;:15;22090:6:::1;::::0;:189:::1;::::0;-1:-1:-1;;;22090:189:0;;22056:21:::1;::::0;22090:6;;;::::1;::::0;:58:::1;::::0;:189:::1;::::0;22163:12;;22032:21:::1;::::0;22206:4;;22233::::1;::::0;22253:15:::1;::::0;22090:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22292:18;22313:40;22339:13;22313:21;:25;;:40;;;;:::i;:::-;22292:61:::0;-1:-1:-1;22366:20:0::1;22389:40;22402:26;:19:::0;22426:1:::1;22402:23;:26::i;:::-;22389:8;::::0;;:12:::1;:40::i;:::-;22366:63:::0;-1:-1:-1;22442:27:0::1;22472:60;22530:1;22472:53;22366:63:::0;22472:53;:10;22487:19;22472:14:::1;:35::i;:60::-;22442:90;;22543:28;22574:47;22608:12;22574:29;22589:13;;22574:10;:14;;:29;;;;:::i;:47::-;22543:78;;22632:27;22662:46;22695:12;22662:28;22677:12;;22662:10;:14;;:28;;;;:::i;:46::-;22632:76;;22725:11;;;;;;;;;-1:-1:-1::0;;;;;22725:11:0::1;-1:-1:-1::0;;;;;22725:19:0::1;;22752:20;22725:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;22721:66:::0;22805:20:::1;::::0;22797:59:::1;::::0;-1:-1:-1;;;;;22805:20:0;;::::1;::::0;22797:59;::::1;;;::::0;22836:19;;22805:20:::1;22797:59:::0;22805:20;22797:59;22836:19;22805:20;22797:59;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;22896:19:0;;22893:365:::1;;22931:6;::::0;23107:21:::1;::::0;22931:246:::1;::::0;-1:-1:-1;;;22931:246:0;;23009:4:::1;22931:246;::::0;::::1;6592:34:1::0;6642:18;;;6635:34;;;22931:6:0::1;6685:18:1::0;;;6678:34;;;6728:18;;;6721:34;-1:-1:-1;;;;;23107:21:0;;::::1;6771:19:1::0;;;6764:44;23147:15:0::1;6824:19:1::0;;;6817:35;22931:6:0;::::1;::::0;:23:::1;::::0;22962:19;;6526::1;;22931:246:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;23197:49:0::1;::::0;;11068:25:1;;;11124:2;11109:18;;11102:34;;;23197:49:0::1;::::0;-1:-1:-1;11041:18:1;23197:49:0::1;;;;;;;22893:365;-1:-1:-1::0;;15160:6:0;:14;;-1:-1:-1;;15160:14:0;;;-1:-1:-1;;;;;;;;21586:1679:0:o;23273:318::-;23363:4;;23325;;-1:-1:-1;;;;;23363:4:0;23349:10;:18;;;;:38;;-1:-1:-1;23381:6:0;;;;23380:7;23349:38;:69;;;;-1:-1:-1;23400:18:0;;;;23349:69;:143;;;;;23480:12;23454:22;;23431:20;;:45;;;;:::i;:::-;:61;;23349:143;:234;;;;-1:-1:-1;;23566:17:0;;23541:21;:42;;;23273:318::o;24036:303::-;24096:17;;24115:4;;24086:34;;24096:17;-1:-1:-1;;;;;24115:4:0;24086:9;:34::i;:::-;24154:12;24131:20;:35;24229:17;;24202:22;;:45;;:26;:45::i;:::-;24177:22;:70;;;24286:14;;-1:-1:-1;24258:74:0;;;24303:18;:26;;-1:-1:-1;;24303:26:0;;;24258:74;24036:303::o;21001:372::-;21172:14;;21161:4;;21086:7;;;;21126:61;;21172:14;21126:41;;21137:29;;-1:-1:-1;;;;;21149:16:0;;;21161:4;;21149:16;21137:11;:29::i;:::-;21126:6;;:10;:41::i;:61::-;21245:4;21227:24;;;;:9;:24;;;;;;21106:81;;-1:-1:-1;21227:39:0;;21106:81;21227:28;:39::i;:::-;21218:4;21200:24;;;;:9;:24;;;;;;;:66;;;;21282:42;;-1:-1:-1;;;;;21282:42:0;;;;;;;21314:9;10271:25:1;;10259:2;10244:18;;10125:177;21282:42:0;;;;;;;;21344:21;:6;21355:9;21344:10;:21::i;:::-;21337:28;21001:372;-1:-1:-1;;;;;21001:372:0:o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;179:247;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;691:388::-;759:6;767;820:2;808:9;799:7;795:23;791:32;788:52;;;836:1;833;826:12;788:52;875:9;862:23;894:31;919:5;894:31;:::i;:::-;944:5;-1:-1:-1;1001:2:1;986:18;;973:32;1014:33;973:32;1014:33;:::i;:::-;1066:7;1056:17;;;691:388;;;;;:::o;1084:456::-;1161:6;1169;1177;1230:2;1218:9;1209:7;1205:23;1201:32;1198:52;;;1246:1;1243;1236:12;1198:52;1285:9;1272:23;1304:31;1329:5;1304:31;:::i;:::-;1354:5;-1:-1:-1;1411:2:1;1396:18;;1383:32;1424:33;1383:32;1424:33;:::i;:::-;1084:456;;1476:7;;-1:-1:-1;;;1530:2:1;1515:18;;;;1502:32;;1084:456::o;1545:315::-;1610:6;1618;1671:2;1659:9;1650:7;1646:23;1642:32;1639:52;;;1687:1;1684;1677:12;1639:52;1726:9;1713:23;1745:31;1770:5;1745:31;:::i;:::-;1795:5;-1:-1:-1;1819:35:1;1850:2;1835:18;;1819:35;:::i;:::-;1809:45;;1545:315;;;;;:::o;1865:::-;1933:6;1941;1994:2;1982:9;1973:7;1969:23;1965:32;1962:52;;;2010:1;2007;2000:12;1962:52;2049:9;2036:23;2068:31;2093:5;2068:31;:::i;:::-;2118:5;2170:2;2155:18;;;;2142:32;;-1:-1:-1;;;1865:315:1:o;2185:180::-;2241:6;2294:2;2282:9;2273:7;2269:23;2265:32;2262:52;;;2310:1;2307;2300:12;2262:52;2333:26;2349:9;2333:26;:::i;2370:248::-;2435:6;2443;2496:2;2484:9;2475:7;2471:23;2467:32;2464:52;;;2512:1;2509;2502:12;2464:52;2535:26;2551:9;2535:26;:::i;2623:385::-;2706:6;2714;2722;2730;2783:3;2771:9;2762:7;2758:23;2754:33;2751:53;;;2800:1;2797;2790:12;2751:53;2823:26;2839:9;2823:26;:::i;:::-;2813:36;2896:2;2881:18;;2868:32;;-1:-1:-1;2947:2:1;2932:18;;2919:32;;2998:2;2983:18;2970:32;;-1:-1:-1;2623:385:1;-1:-1:-1;;;2623:385:1:o;3013:180::-;3072:6;3125:2;3113:9;3104:7;3100:23;3096:32;3093:52;;;3141:1;3138;3131:12;3093:52;-1:-1:-1;3164:23:1;;3013:180;-1:-1:-1;3013:180:1:o;3198:248::-;3263:6;3271;3324:2;3312:9;3303:7;3299:23;3295:32;3292:52;;;3340:1;3337;3330:12;3292:52;3376:9;3363:23;3353:33;;3405:35;3436:2;3425:9;3421:18;3405:35;:::i;3451:248::-;3519:6;3527;3580:2;3568:9;3559:7;3555:23;3551:32;3548:52;;;3596:1;3593;3586:12;3548:52;-1:-1:-1;;3619:23:1;;;3689:2;3674:18;;;3661:32;;-1:-1:-1;3451:248:1:o;3704:316::-;3781:6;3789;3797;3850:2;3838:9;3829:7;3825:23;3821:32;3818:52;;;3866:1;3863;3856:12;3818:52;-1:-1:-1;;3889:23:1;;;3959:2;3944:18;;3931:32;;-1:-1:-1;4010:2:1;3995:18;;;3982:32;;3704:316;-1:-1:-1;3704:316:1:o;4025:306::-;4113:6;4121;4129;4182:2;4170:9;4161:7;4157:23;4153:32;4150:52;;;4198:1;4195;4188:12;4150:52;4227:9;4221:16;4211:26;;4277:2;4266:9;4262:18;4256:25;4246:35;;4321:2;4310:9;4306:18;4300:25;4290:35;;4025:306;;;;;:::o;4336:454::-;4431:6;4439;4447;4455;4463;4516:3;4504:9;4495:7;4491:23;4487:33;4484:53;;;4533:1;4530;4523:12;4484:53;-1:-1:-1;;4556:23:1;;;4626:2;4611:18;;4598:32;;-1:-1:-1;4677:2:1;4662:18;;4649:32;;4728:2;4713:18;;4700:32;;-1:-1:-1;4779:3:1;4764:19;4751:33;;-1:-1:-1;4336:454:1;-1:-1:-1;4336:454:1:o;4795:461::-;4848:3;4886:5;4880:12;4913:6;4908:3;4901:19;4939:4;4968:2;4963:3;4959:12;4952:19;;5005:2;4998:5;4994:14;5026:1;5036:195;5050:6;5047:1;5044:13;5036:195;;;5115:13;;-1:-1:-1;;;;;5111:39:1;5099:52;;5171:12;;;;5206:15;;;;5147:1;5065:9;5036:195;;;-1:-1:-1;5247:3:1;;4795:461;-1:-1:-1;;;;;4795:461:1:o;7281:510::-;7552:6;7541:9;7534:25;7595:3;7590:2;7579:9;7575:18;7568:31;7515:4;7616:57;7668:3;7657:9;7653:19;7645:6;7616:57;:::i;:::-;-1:-1:-1;;;;;7709:32:1;;;;7704:2;7689:18;;7682:60;-1:-1:-1;7773:2:1;7758:18;7751:34;7608:65;7281:510;-1:-1:-1;;7281:510:1:o;7796:597::-;7908:4;7937:2;7966;7955:9;7948:21;7998:6;7992:13;8041:6;8036:2;8025:9;8021:18;8014:34;8066:1;8076:140;8090:6;8087:1;8084:13;8076:140;;;8185:14;;;8181:23;;8175:30;8151:17;;;8170:2;8147:26;8140:66;8105:10;;8076:140;;;8234:6;8231:1;8228:13;8225:91;;;8304:1;8299:2;8290:6;8279:9;8275:22;8271:31;8264:42;8225:91;-1:-1:-1;8377:2:1;8356:15;-1:-1:-1;;8352:29:1;8337:45;;;;8384:2;8333:54;;7796:597;-1:-1:-1;;;7796:597:1:o;9451:329::-;9653:2;9635:21;;;9692:1;9672:18;;;9665:29;-1:-1:-1;;;9725:2:1;9710:18;;9703:36;9771:2;9756:18;;9451:329::o;9785:335::-;9987:2;9969:21;;;10026:2;10006:18;;;9999:30;-1:-1:-1;;;10060:2:1;10045:18;;10038:41;10111:2;10096:18;;9785:335::o;10307:582::-;10606:6;10595:9;10588:25;10649:6;10644:2;10633:9;10629:18;10622:34;10692:3;10687:2;10676:9;10672:18;10665:31;10569:4;10713:57;10765:3;10754:9;10750:19;10742:6;10713:57;:::i;:::-;-1:-1:-1;;;;;10806:32:1;;;;10801:2;10786:18;;10779:60;-1:-1:-1;10870:3:1;10855:19;10848:35;10705:65;10307:582;-1:-1:-1;;;10307:582:1:o;11336:128::-;11376:3;11407:1;11403:6;11400:1;11397:13;11394:39;;;11413:18;;:::i;:::-;-1:-1:-1;11449:9:1;;11336:128::o;11469:217::-;11509:1;11535;11525:132;;11579:10;11574:3;11570:20;11567:1;11560:31;11614:4;11611:1;11604:15;11642:4;11639:1;11632:15;11525:132;-1:-1:-1;11671:9:1;;11469:217::o;11691:168::-;11731:7;11797:1;11793;11789:6;11785:14;11782:1;11779:21;11774:1;11767:9;11760:17;11756:45;11753:71;;;11804:18;;:::i;:::-;-1:-1:-1;11844:9:1;;11691:168::o;11864:125::-;11904:4;11932:1;11929;11926:8;11923:34;;;11937:18;;:::i;:::-;-1:-1:-1;11974:9:1;;11864:125::o;11994:127::-;12055:10;12050:3;12046:20;12043:1;12036:31;12086:4;12083:1;12076:15;12110:4;12107:1;12100:15;12126:127;12187:10;12182:3;12178:20;12175:1;12168:31;12218:4;12215:1;12208:15;12242:4;12239:1;12232:15;12390:131;-1:-1:-1;;;;;12465:31:1;;12455:42;;12445:70;;12511:1;12508;12501:12;12445:70;12390:131;:::o

Swarm Source

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