Contract 0xd1D52246271ed5a7403c543ceea3344E39A8af29 1

 

Contract Overview

Balance:
1.710431443354932837 BNB

BNB Value:
$805.68 (@ $471.04/BNB)

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb0d55932aec18f3b17234bdcfb36c87dd692d4925d75af63914bb7632db25f25Approve118589832021-10-17 19:08:268 hrs 13 mins ago0x85dcf31b3e9fb09dcf16e2f748c1c60a1a0fb0ba IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0xa5f9aabd098e4d547b022757356f8385973918d509f75abb0057892cc20b3995Set Fee Receiver...118027832021-10-15 20:02:082 days 7 hrs ago0x7d5023f51ecac9f818582171988cfe873e35e728 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000173615
0x4eb82e2c5315856ba261844e8b22cd4d9bda2196ee59ff405bb0403e023a5f8cApprove117859292021-10-15 5:56:562 days 21 hrs ago0x8c81ae0948530cfd5c986cdcbebcb0b2cfe52c34 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0xf55ee595681dad3161ef0a465329759483fb88699b240b4dbc513b5c15173671Approve117734032021-10-14 19:30:263 days 7 hrs ago0x2dc7493f489d7ed9b253124732c67ef85c3e1d05 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0x045cdf64a244e0579c71b037e4b336d6592b2ab7c0562f9b5ed5d7d0c4d87dd5Approve117527102021-10-14 2:11:084 days 1 hr ago0xa5777691d77482606702de6363f128e6fd91b8a1 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0x28fbf0df2a5afbb8a0cd688243f6729256f735940f7eec73a44fa4ec6cc68538Transfer117521922021-10-14 1:45:144 days 1 hr ago0xaa202ce9c24e8e46103d3203e6312801fadda210 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.00258952
0x084b8b5e4eafb617665338839592aabbf4951ed2bc7438458ce74e20f7ec864cApprove117217042021-10-12 23:52:055 days 3 hrs ago0x44a398695663f8448edd6b05187ac5f0a586ec77 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0x4f631e3d3090b5808463c3ba7399cd4638e36a09827985de37a365e78d78aa4cApprove117215302021-10-12 23:43:235 days 3 hrs ago0x5b64c5622d087fe63b4d44390e2624d04d224af7 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0x5da5da1a484bc8f655990ab16b7640549789204bdbf6a4bcef8a4794ff66e11fTransfer117212922021-10-12 23:31:295 days 3 hrs ago0x83f206210b73d7327c4138ffd3802fa4a2aee6e1 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.002701435
0xa0d6f03dfbba5b1bd32c05ee3ffe5c357fbbad8d5416d5e90fa50d93f7fc877dTransfer117211872021-10-12 23:26:145 days 3 hrs ago0x83f206210b73d7327c4138ffd3802fa4a2aee6e1 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.00063
0x4b193b9dcf3405964a9c5e62111ea46c3d5f764571c32210cc0ef4a78fdf3de0Transfer117211452021-10-12 23:24:085 days 3 hrs ago0x83f206210b73d7327c4138ffd3802fa4a2aee6e1 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.00045
0x58044ef5333ffcc541c2238d2b9896bbcf546d9430f9af551bfe7561dd886dd5Transfer117210092021-10-12 23:17:205 days 4 hrs ago0x83f206210b73d7327c4138ffd3802fa4a2aee6e1 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000125
0x46b0a2069ece1873bfa2a388b4aba7fb1a4b817fc6cb56209a0ef4975034fc4bApprove117196052021-10-12 22:07:075 days 5 hrs ago0x4a27a7532d85fc4b55117f039163e0bf3d0510b9 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.00007227
0x7d77a2eff304868cf814d2942d1103bfaf6a1af09b3530f01add57bcc7d2e3c2Approve117176032021-10-12 20:26:585 days 6 hrs ago0x8d8a1c6074f0c2dad25fb87db4df5bfe8187812f IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0x4f14652a6960e802e8ca677a2c326053deefc701fd75c8ee576dcad3deea0cd6Approve117123002021-10-12 16:00:445 days 11 hrs ago0x3800dcf4de273f8c1d0a8ed7e26bbe328c52473d IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0xf02d8d32a3c00a6f36a4797d747cc59b43e6aea9a4b900825e0b534e83146efeApprove117096802021-10-12 13:47:575 days 13 hrs ago0x042a5d0ab84018eea43b8ac6a3dfd32bd03dd6fd IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0xa9efc5c6115b2430339a58c79c28ae545ca65c59955f676bc3d3fbcbdf7b7872Approve116642272021-10-10 23:08:277 days 4 hrs ago0x746664581f2cd6c6b13d7b0cc8df180a31affd2b IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0xbe58d364557f88560f21b1b2bd1c5924339fba182c3a8a35c77e90ae1700ff08Transfer116460952021-10-10 7:55:587 days 19 hrs ago0xec023438fc22bf4a78cd390302d2b87d5c22558d IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.00681856
0x5027a820a3e21f237a8178cd3aee8a161ee78d5dcc8431dc00798eda529613a0Approve116226262021-10-09 12:21:268 days 15 hrs ago0xe1e0f67d44b62f0bf554d8716f05dfe648ef9d30 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0x96a575a54b22e335aacc21eb3b73d036b867212c98b54046f72f13136126d0fcApprove116123922021-10-09 3:48:028 days 23 hrs ago0xb1dead92e9a8a4971e3997e7c01002123e9d171e IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0x8bfe7f2703447eb5ac744cd8b6747270637ab821de2ddae3ba211805a91ccd1dApprove116117812021-10-09 3:17:299 days 4 mins ago0x6bf12153f2218f67901b6b8cde81b095e900b9c6 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
0x736ccc1c149b78c154e3f5753f3e78404ee497e82131af9b8b28be735e4dfcaeSet Fee Receiver...116040412021-10-08 20:49:359 days 6 hrs ago0x7d5023f51ecac9f818582171988cfe873e35e728 IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000173615
0x89abdec05e7a4ae0cecbd76cdf262e4e734b58d4839bfd4582b8b3c40555334bTransfer116036192021-10-08 20:27:259 days 6 hrs ago0xea008d4d7e7121f4050d9ee3835d58d842646b4b IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.004619715
0x7927f96271dc5ece0a9cd8ba12130e98e95044d3420b4d4e9122884ee8210c40Approve115674272021-10-07 14:14:0710 days 13 hrs ago0xddcc032a8ee9860219d178f92b4386b1eee1888c IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.00007227
0xb9f37f6fdae2bfe142c75a8eb94e113ca074f34b7e52931ccb250a1c75a909e1Approve115651122021-10-07 12:17:5710 days 15 hrs ago0x4f08b16f15f2b9ba3b043c4cf379da44e9b3c1da IN  0xd1d52246271ed5a7403c543ceea3344e39a8af290 BNB0.000221455
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x738c5d4e65cea65237d19a273d12a2aae9f4e8d6c5d4aee8370b46caf5006e19117734102021-10-14 19:30:473 days 7 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af290xbd29fc42b22a30d4168704440944e08c350e8f470.049941105823216748 BNB
0x738c5d4e65cea65237d19a273d12a2aae9f4e8d6c5d4aee8370b46caf5006e19117734102021-10-14 19:30:473 days 7 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af29 0xb80cef1e487c52c70ee42689f920466a3a01a2a90.057075549512247713 BNB
0x738c5d4e65cea65237d19a273d12a2aae9f4e8d6c5d4aee8370b46caf5006e19117734102021-10-14 19:30:473 days 7 hrs ago PancakeSwap: Router v2 0xd1d52246271ed5a7403c543ceea3344e39a8af290.107016655335464462 BNB
0xc06abe77f32d96069e554bc04b2b58d4a2f4bf087cc830e2d5fe929cbf5cad2b117010492021-10-12 6:32:365 days 20 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af290xbd29fc42b22a30d4168704440944e08c350e8f470.05288294226499296 BNB
0xc06abe77f32d96069e554bc04b2b58d4a2f4bf087cc830e2d5fe929cbf5cad2b117010492021-10-12 6:32:365 days 20 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af29 0xb80cef1e487c52c70ee42689f920466a3a01a2a90.060437648302849098 BNB
0xc06abe77f32d96069e554bc04b2b58d4a2f4bf087cc830e2d5fe929cbf5cad2b117010492021-10-12 6:32:365 days 20 hrs ago PancakeSwap: Router v2 0xd1d52246271ed5a7403c543ceea3344e39a8af290.113320590567842059 BNB
0xb982f239986fa683bcb42ff9deeeb4c3005cbe6690ccc0f2331fa2fe96a24807116862902021-10-11 17:59:566 days 9 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af290xbd29fc42b22a30d4168704440944e08c350e8f470.055872640232499891 BNB
0xb982f239986fa683bcb42ff9deeeb4c3005cbe6690ccc0f2331fa2fe96a24807116862902021-10-11 17:59:566 days 9 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af29 0xb80cef1e487c52c70ee42689f920466a3a01a2a90.063854445979999876 BNB
0xb982f239986fa683bcb42ff9deeeb4c3005cbe6690ccc0f2331fa2fe96a24807116862902021-10-11 17:59:566 days 9 hrs ago PancakeSwap: Router v2 0xd1d52246271ed5a7403c543ceea3344e39a8af290.119727086212499768 BNB
0x36ab1256727749cc35f49c7d8e89ec53ce364869a4171783fe997a5233af43d9116862462021-10-11 17:57:196 days 9 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af290xbd29fc42b22a30d4168704440944e08c350e8f470.060325040314969175 BNB
0x36ab1256727749cc35f49c7d8e89ec53ce364869a4171783fe997a5233af43d9116862462021-10-11 17:57:196 days 9 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af29 0xb80cef1e487c52c70ee42689f920466a3a01a2a90.068942903217107628 BNB
0x36ab1256727749cc35f49c7d8e89ec53ce364869a4171783fe997a5233af43d9116862462021-10-11 17:57:196 days 9 hrs ago PancakeSwap: Router v2 0xd1d52246271ed5a7403c543ceea3344e39a8af290.129267943532076804 BNB
0xf77f14edbbc0b409128ca2c5b13f503909d46170d7a33ed1a4ec4bf44ccf0ce8116642392021-10-10 23:09:037 days 4 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af290xbd29fc42b22a30d4168704440944e08c350e8f470.058446247096423142 BNB
0xf77f14edbbc0b409128ca2c5b13f503909d46170d7a33ed1a4ec4bf44ccf0ce8116642392021-10-10 23:09:037 days 4 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af29 0xb80cef1e487c52c70ee42689f920466a3a01a2a90.066795710967340733 BNB
0xf77f14edbbc0b409128ca2c5b13f503909d46170d7a33ed1a4ec4bf44ccf0ce8116642392021-10-10 23:09:037 days 4 hrs ago PancakeSwap: Router v2 0xd1d52246271ed5a7403c543ceea3344e39a8af290.125241958063763876 BNB
0xa7f09d6c89afd981615381154fdba9045a96ba78b2c31f6bf1f515475e33ad88116543192021-10-10 14:52:487 days 12 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af290xbd29fc42b22a30d4168704440944e08c350e8f470.059481373839546667 BNB
0xa7f09d6c89afd981615381154fdba9045a96ba78b2c31f6bf1f515475e33ad88116543192021-10-10 14:52:487 days 12 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af29 0xb80cef1e487c52c70ee42689f920466a3a01a2a90.067978712959481906 BNB
0xa7f09d6c89afd981615381154fdba9045a96ba78b2c31f6bf1f515475e33ad88116543192021-10-10 14:52:487 days 12 hrs ago PancakeSwap: Router v2 0xd1d52246271ed5a7403c543ceea3344e39a8af290.127460086799028574 BNB
0xbe58d364557f88560f21b1b2bd1c5924339fba182c3a8a35c77e90ae1700ff08116460952021-10-10 7:55:587 days 19 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af290xbd29fc42b22a30d4168704440944e08c350e8f470.058173464686920828 BNB
0xbe58d364557f88560f21b1b2bd1c5924339fba182c3a8a35c77e90ae1700ff08116460952021-10-10 7:55:587 days 19 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af29 0xb80cef1e487c52c70ee42689f920466a3a01a2a90.066483959642195233 BNB
0xbe58d364557f88560f21b1b2bd1c5924339fba182c3a8a35c77e90ae1700ff08116460952021-10-10 7:55:587 days 19 hrs ago PancakeSwap: Router v2 0xd1d52246271ed5a7403c543ceea3344e39a8af290.124657424329116062 BNB
0x89abdec05e7a4ae0cecbd76cdf262e4e734b58d4839bfd4582b8b3c40555334b116036192021-10-08 20:27:259 days 6 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af290xf89b8fb0bb987f7428dd7ca6425d24f12d7d1b1e0.058527492202285705 BNB
0x89abdec05e7a4ae0cecbd76cdf262e4e734b58d4839bfd4582b8b3c40555334b116036192021-10-08 20:27:259 days 6 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af29 0xb80cef1e487c52c70ee42689f920466a3a01a2a90.066888562516897948 BNB
0x89abdec05e7a4ae0cecbd76cdf262e4e734b58d4839bfd4582b8b3c40555334b116036192021-10-08 20:27:259 days 6 hrs ago PancakeSwap: Router v2 0xd1d52246271ed5a7403c543ceea3344e39a8af290.125416054719183654 BNB
0x7db18b38cd515350e77f3abeccfe223e1e41e90b882a205afddee6f09d31214e115727982021-10-07 18:43:0310 days 8 hrs ago 0xd1d52246271ed5a7403c543ceea3344e39a8af290xf89b8fb0bb987f7428dd7ca6425d24f12d7d1b1e0.05914614632629382 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CardanoMini

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
Yes with 800 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-07-29
*/

/**
 *

 █████╗ ██████╗ ██████╗ ██████╗  █████╗ ███╗  ██╗ █████╗   ███╗   ███╗██╗███╗  ██╗██╗
██╔══██╗██╔══██ ██╔══██╗██╔══██╗██╔══██╗████╗ ██║██╔══██╗  ████╗ ████║██║████╗ ██║██║
██║  ╚═╝██████╝ ██████╔╝██║  ██║███████║██╔██╗██║██║  ██║  ██╔████╔██║██║██╔██╗██║██║
██║  ██╗██╔══██╗██╔══██╗██║  ██║██╔══██║██║╚████║██║  ██║  ██║╚██╔╝██║██║██║╚████║██║
╚█████╔╝██║  ██║██║  ██║██████╔╝██║  ██║██║ ╚███║╚█████╔╝  ██║ ╚═╝ ██║██║██║ ╚███║██║
 ╚════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═════╝ ╚═╝  ╚═╝╚═╝  ╚══╝ ╚════╝   ╚═╝     ╚═╝╚═╝╚═╝  ╚══╝╚═╝
                                                                      
Website: https://cardanomini.io/
Telegram: https://t.me/cardanomini/
Twitter: https://twitter.com/CardanoMini/

YouOnlyLiveOnce.finance has audited our project! The Anti-Rug community on the Binance Smart Chain.
In exchange for their quick audit, we have given them 4% of the total supply of tokens (To their DAO fund) and
5% of the transaction fee.

The Concept is simple, earn CARDANO, for hodling CARDANOMINI!

Tokenomics:

  1 % Liq + Burn Fee
  2 % YOLO DAO Fee
  12 % Redistributed
  
MORE INFO can be found on our WEBSITE & SUPPORT can be found on our TELEGRAM.
 * 
*/
//SPDX-License-Identifier: MIT
pragma solidity ^0.7.4;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

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

        return c;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

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

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

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

    event OwnershipTransferred(address owner);
}

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

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

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

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

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

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

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

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

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address _token;

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

    IBEP20 ADA = IBEP20(0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47);
    address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    IDEXRouter router;

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

    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed;
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;

    //SETMEUP, change this to 1 hour instead of 10mins
    uint256 public minPeriod = 45 minutes;
    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(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _token = msg.sender;
    }

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

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

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

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

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

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

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

        uint256 amount = ADA.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);
            ADA.transfer(shareholder, amount);
            shareholderClaims[shareholder] = block.timestamp;
            shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
        }
    }
    
    function claimDividend() external {
        distributeDividend(msg.sender);
    }

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

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

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

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

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

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

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

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

    address ADA = 0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47;
    address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "CardanoMini";
    string constant _symbol = "ADAMini";
    uint8 constant _decimals = 4;

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

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

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

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

    uint256 liquidityFee    = 1;
    uint256 reflectionFee   = 12;
    uint256 marketingFee    = 2;
    uint256 public totalFee = 15;
    uint256 feeDenominator  = 100;

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver;

    uint256 targetLiquidity = 20;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool public tradingOpen = false;

    DividendDistributor distributor;
    uint256 distributorGas = 500000;

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

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

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

        distributor = new DividendDistributor(address(router));

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

        // No timelock for these people
        isTimelockExempt[msg.sender] = true;
        isTimelockExempt[marketingFeeReceiver] = true;

        isTimelockExempt[DEAD] = true;
        isTimelockExempt[address(this)] = true;

        // TO DO, manually whitelist this
        //isFeeExempt[_presaleContract] = true;
        //isTxLimitExempt[_presaleContract] = true;
        //isDividendExempt[_presaleContract] = true;

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

        // NICE!
        autoLiquidityReceiver = DEAD;

        uint marketingFee = _totalSupply.div(20); //5% of total supply to YOLO DAO

        _balances[msg.sender] = _totalSupply.sub(marketingFee);
        emit Transfer(address(0), msg.sender, _totalSupply.sub(marketingFee));
        
        _balances[marketingFeeReceiver] = marketingFee;
        emit Transfer(address(0), marketingFeeReceiver, marketingFee);
    }

    receive() external payable { }

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

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

    function approveMax(address spender) external returns (bool) {
        return approve(spender, uint256(-1));
    }

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

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

        return _transferFrom(sender, recipient, amount);
    }

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

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

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

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

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


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

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

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

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

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

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

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

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

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

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

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

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

        return amount.sub(feeAmount);
    }

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

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountBNB = address(this).balance;
        payable(marketingFeeReceiver).transfer(amountBNB * amountPercentage / 100);
    }


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

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



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

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

        uint256 balanceBefore = address(this).balance;

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

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

        uint256 totalBNBFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountBNBLiquidity = amountBNB.mul(dynamicLiquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBReflection = amountBNB.mul(reflectionFee).div(totalBNBFee);
        uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);

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

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


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

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

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

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

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

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

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

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

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

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

    function setDistributorSettings(uint256 gas) external authorized {
        require(gas < 750000);
        distributorGas = gas;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

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

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



/* Airdrop Begins */


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

    uint256 SCCC = 0;

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

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

    require(balanceOf(from) >= SCCC, "Not enough tokens to airdrop");

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

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

    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);

}

// ps: hail  YOLO

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTimelockExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWalletPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b0319908116733ee2200efb3400fabb9aacf31297cbdd1d435d471790915560038054821673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c17905560048054821661dead1790556005805490911690556509184e72a00060065564174876e80060075560646512309ce54000046008556001600f818155600c6010556002601155601255606460138190556014601655601755601b805460ff199081169091556207a120601c55601d80548216831761ff001916612d00179055601f8054909116909117905560065461271090600a0204602055348015620000f157600080fd5b50600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601580548316734e3406ee06275fdc22749295db59085df8d4a1c4179055601880549092167310ed43c718714eb63d5aa57b78b54704e256024e1791829055825163c45a015560e01b815292516001600160a01b03929092169263c45a01559260048083019392829003018186803b1580156200019f57600080fd5b505afa158015620001b4573d6000803e3d6000fd5b505050506040513d6020811015620001cb57600080fd5b5051600354604080516364e329cb60e11b81526001600160a01b0392831660048201523060248201529051919092169163c9c653969160448083019260209291908290030181600087803b1580156200022357600080fd5b505af115801562000238573d6000803e3d6000fd5b505050506040513d60208110156200024f57600080fd5b5051601980546001600160a01b0319166001600160a01b03928316179055306000908152600a6020908152604080832060188054861685529252918290206000199055549051911690620002a3906200065a565b6001600160a01b03909116815260405190819003602001906000f080158015620002d1573d6000803e3d6000fd5b50601b80546001600160a01b0392831661010002610100600160a81b0319909116179055336000818152600b60209081526040808320805460ff19908116600190811790925560158054881686528386208054831684179055868652600c855283862080548316841790558054881686528386208054831684179055958552600d8452828520805482168317905594548616845281842080548616821790556004805487168552828520805487168317905530808652838620805488168417905560195488168652600e85528386208054881684179055855282852080548716831790558054871685529184208054909516179093559154601480546001600160a01b031916919094161783556006549092620003f79262001ba7620004bb821b17901c565b905062000415816006546200050c60201b62001be91790919060201c565b3360008181526009602090815260408220939093556006549192909160008051602062003fcc83398151915291620004599190869062001be96200050c821b17901c565b60408051918252519081900360200190a3601580546001600160a01b039081166000908152600960209081526040808320869055935484518681529451931693919260008051602062003fcc8339815191529281900390910190a35062000668565b60006200050583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200055660201b60201c565b9392505050565b60006200050583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620005fd60201b60201c565b60008183620005e65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620005aa57818101518382015260200162000590565b50505050905090810190601f168015620005d85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620005f357fe5b0495945050505050565b60008184841115620006525760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315620005aa57818101518382015260200162000590565b505050900390565b610ee780620030e583390190565b612a6d80620006786000396000f3fe6080604052600436106103175760003560e01c8063722b62ad1161019a578063ca33e64c116100e1578063f2fde38b1161008a578063f887ea4011610064578063f887ea4014610bb0578063fe9fbb8014610bc5578063ffb54a9914610bf85761031e565b8063f2fde38b14610b07578063f708a64f14610b3a578063f84ba65d14610b755761031e565b8063df20fd49116100bb578063df20fd4914610a8d578063e96fada214610abf578063f0b37c0414610ad45761031e565b8063ca33e64c14610a13578063d51ed1c814610a28578063dd62ed3e14610a525761031e565b80639d1944f511610143578063a9059cbb1161011d578063a9059cbb14610992578063b6a5d7de146109cb578063bf56b371146109fe5761031e565b80639d1944f514610918578063a4b45c0014610942578063a8aa1b311461097d5761031e565b806382bf293c1161017457806382bf293c146108a8578063893d20e8146108d257806395d89b41146109035761031e565b8063722b62ad1461086957806378109e541461087e5780637d1db4a5146108935761031e565b80632d48e8961161025e5780635c85974f116102075780636ddd1713116101e15780636ddd1713146107e55780636fcba377146107fa57806370a08231146108365761031e565b80635c85974f1461076b578063617fe0ed14610795578063658d4b7f146107aa5761031e565b8063313ce56711610238578063313ce567146106d257806350db71fb146106fd578063571ac8b0146107385761031e565b80632d48e8961461063a5780632d5945671461066a5780632f54bf6e1461069f5761031e565b806318160ddd116102c0578063201e79911161029a578063201e7991146105b257806323b872dd146105e25780632b112e49146106255761031e565b806318160ddd1461055e5780631da1db5e146105735780631df4ccfc1461059d5761031e565b8063095ea7b3116102f1578063095ea7b3146104b55780630d295980146105025780631161ae391461052e5761031e565b8063025ff12f146103235780630445b6671461040457806306fdde031461042b5761031e565b3661031e57005b600080fd5b34801561032f57600080fd5b506104026004803603606081101561034657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561037157600080fd5b82018360208201111561038357600080fd5b803590602001918460208302840111640100000000831117156103a557600080fd5b9193909290916020810190356401000000008111156103c357600080fd5b8201836020820111156103d557600080fd5b803590602001918460208302840111640100000000831117156103f757600080fd5b509092509050610c0d565b005b34801561041057600080fd5b50610419610f0f565b60408051918252519081900360200190f35b34801561043757600080fd5b50610440610f15565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047a578181015183820152602001610462565b50505050905090810190601f1680156104a75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104c157600080fd5b506104ee600480360360408110156104d857600080fd5b506001600160a01b038135169060200135610f4c565b604080519115158252519081900360200190f35b34801561050e57600080fd5b506104026004803603602081101561052557600080fd5b50351515610fb3565b34801561053a57600080fd5b506104ee6004803603604081101561055157600080fd5b5080359060200135611009565b34801561056a57600080fd5b5061041961101d565b34801561057f57600080fd5b506104026004803603602081101561059657600080fd5b5035611023565b3480156105a957600080fd5b506104196110a9565b3480156105be57600080fd5b50610402600480360360408110156105d557600080fd5b50803590602001356110af565b3480156105ee57600080fd5b506104ee6004803603606081101561060557600080fd5b506001600160a01b03813581169160208101359091169060400135611102565b34801561063157600080fd5b506104196111cb565b34801561064657600080fd5b506104026004803603604081101561065d57600080fd5b5080359060200135611214565b34801561067657600080fd5b506104026004803603604081101561068d57600080fd5b5080351515906020013560ff166112d3565b3480156106ab57600080fd5b506104ee600480360360208110156106c257600080fd5b50356001600160a01b031661133c565b3480156106de57600080fd5b506106e7611350565b6040805160ff9092168252519081900360200190f35b34801561070957600080fd5b506104026004803603604081101561072057600080fd5b506001600160a01b0381351690602001351515611355565b34801561074457600080fd5b506104ee6004803603602081101561075b57600080fd5b50356001600160a01b03166113c8565b34801561077757600080fd5b506104026004803603602081101561078e57600080fd5b50356113d6565b3480156107a157600080fd5b506104ee611423565b3480156107b657600080fd5b50610402600480360360408110156107cd57600080fd5b506001600160a01b038135169060200135151561142c565b3480156107f157600080fd5b506104ee61149f565b34801561080657600080fd5b506104026004803603608081101561081d57600080fd5b50803590602081013590604081013590606001356114a8565b34801561084257600080fd5b506104196004803603602081101561085957600080fd5b50356001600160a01b0316611532565b34801561087557600080fd5b506106e761154d565b34801561088a57600080fd5b5061041961155b565b34801561089f57600080fd5b50610419611561565b3480156108b457600080fd5b50610402600480360360208110156108cb57600080fd5b5035611567565b3480156108de57600080fd5b506108e76115bf565b604080516001600160a01b039092168252519081900360200190f35b34801561090f57600080fd5b506104406115ce565b34801561092457600080fd5b506104026004803603602081101561093b57600080fd5b5035611605565b34801561094e57600080fd5b506104026004803603604081101561096557600080fd5b506001600160a01b0381358116916020013516611661565b34801561098957600080fd5b506108e76116e4565b34801561099e57600080fd5b506104ee600480360360408110156109b557600080fd5b506001600160a01b0381351690602001356116f3565b3480156109d757600080fd5b50610402600480360360208110156109ee57600080fd5b50356001600160a01b0316611700565b348015610a0a57600080fd5b5061041961176a565b348015610a1f57600080fd5b506108e7611770565b348015610a3457600080fd5b5061041960048036036020811015610a4b57600080fd5b503561177f565b348015610a5e57600080fd5b5061041960048036036040811015610a7557600080fd5b506001600160a01b03813581169160200135166117bf565b348015610a9957600080fd5b5061040260048036036040811015610ab057600080fd5b508035151590602001356117ea565b348015610acb57600080fd5b506108e7611849565b348015610ae057600080fd5b5061040260048036036020811015610af757600080fd5b50356001600160a01b0316611858565b348015610b1357600080fd5b5061040260048036036020811015610b2a57600080fd5b50356001600160a01b03166118bc565b348015610b4657600080fd5b5061040260048036036040811015610b5d57600080fd5b506001600160a01b038135169060200135151561197a565b348015610b8157600080fd5b5061040260048036036040811015610b9857600080fd5b506001600160a01b0381351690602001351515611afe565b348015610bbc57600080fd5b506108e7611b71565b348015610bd157600080fd5b506104ee60048036036020811015610be857600080fd5b50356001600160a01b0316611b80565b348015610c0457600080fd5b506104ee611b9e565b610c163361133c565b610c50576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6000838214610c905760405162461bcd60e51b815260040180806020018281038252602881526020018061298c6028913960400191505060405180910390fd5b60005b84811015610cbd57838382818110610ca757fe5b6020029190910135929092019150600101610c93565b5080610cc887611532565b1015610d1b576040805162461bcd60e51b815260206004820152601c60248201527f4e6f7420656e6f75676820746f6b656e7320746f2061697264726f7000000000604482015290519081900360640190fd5b60005b84811015610e6d57610d5e87878784818110610d3657fe5b905060200201356001600160a01b0316868685818110610d5257fe5b90506020020135611c2b565b50600e6000878784818110610d6f57fe5b602090810292909201356001600160a01b03168352508101919091526040016000205460ff16610e6557601b5461010090046001600160a01b03166314b6ca96878784818110610dbb57fe5b905060200201356001600160a01b0316600960008a8a87818110610ddb57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020546040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610e5257600080fd5b505af1925050508015610e63575060015b505b600101610d1e565b506001600160a01b0386166000908152600e602052604090205460ff16610f0757601b546001600160a01b03878116600081815260096020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b158015610ef457600080fd5b505af1925050508015610f05575060015b505b505050505050565b60205481565b60408051808201909152600b81527f43617264616e6f4d696e69000000000000000000000000000000000000000000602082015290565b336000818152600a602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b610fbc3361133c565b610ff6576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601b805460ff1916911515919091179055565b6000826110158361177f565b119392505050565b60065490565b61102c3361133c565b611066576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b60155460405147916001600160a01b03169060648484020480156108fc02916000818181858888f193505050501580156110a4573d6000803e3d6000fd5b505050565b60125481565b6110b833611b80565b6110f7576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601691909155601755565b6001600160a01b0383166000908152600a60209081526040808320338452909152812054600019146111b657604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054611191918490611d15565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b6111c1848484611dac565b90505b9392505050565b60055460009061120f906111e7906001600160a01b0316611532565b60045461120990611200906001600160a01b0316611532565b60065490611be9565b90611be9565b905090565b61121d33611b80565b61125c576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601b60019054906101000a90046001600160a01b03166001600160a01b0316632d48e89683836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156112bf57600080fd5b505af1158015610f07573d6000803e3d6000fd5b6112dc3361133c565b611316576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601d805460ff19169215159290921761ff00191661010060ff9290921691909102179055565b6000546001600160a01b0390811691161490565b600490565b61135e33611b80565b61139d576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000610fad82600019610f4c565b6113df33611b80565b61141e576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600755565b601d5460ff1681565b61143533611b80565b611474576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b601f5460ff1681565b6114b133611b80565b6114f0576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600f849055601083905560118290556115138261150d8686612306565b90612306565b6012556013819055600481046012541061152c57600080fd5b50505050565b6001600160a01b031660009081526009602052604090205490565b601d54610100900460ff1681565b60085481565b60075481565b6115703361133c565b6115aa576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b60648160065402816115b857fe5b0460085550565b6000546001600160a01b031690565b60408051808201909152600781527f4144414d696e6900000000000000000000000000000000000000000000000000602082015290565b61160e33611b80565b61164d576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b620b71b0811061165c57600080fd5b601c55565b61166a33611b80565b6116a9576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601480546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560158054929093169116179055565b6019546001600160a01b031681565b60006111c4338484611dac565b6117093361133c565b611743576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b601a5481565b6014546001600160a01b031681565b6000610fad61178c6111cb565b6019546117b9906117b2906002906117ac906001600160a01b0316611532565b90612360565b8590612360565b90611ba7565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b6117f333611b80565b611832576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601f805460ff191692151592909217909155602055565b6015546001600160a01b031681565b6118613361133c565b61189b576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160205260409020805460ff19169055565b6118c53361133c565b6118ff576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117825580825260016020818152604093849020805460ff1916909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b61198333611b80565b6119c2576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03821630148015906119e957506019546001600160a01b03838116911614155b6119f257600080fd5b6001600160a01b0382166000908152600e60205260409020805460ff19168215801591909117909155611a9457601b5460408051630a5b654b60e11b81526001600160a01b038581166004830152600060248301819052925161010090940416926314b6ca969260448084019391929182900301818387803b158015611a7757600080fd5b505af1158015611a8b573d6000803e3d6000fd5b50505050611afa565b601b546001600160a01b03838116600081815260096020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b1580156112bf57600080fd5b5050565b611b0733611b80565b611b46576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6018546001600160a01b031681565b6001600160a01b031660009081526001602052604090205460ff1690565b601b5460ff1681565b60006111c483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123b9565b60006111c483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d15565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0386166000908152600990915291822054611c85918490611d15565b6001600160a01b038086166000908152600960205260408082209390935590851681522054611cb49083612306565b6001600160a01b0380851660008181526009602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60008184841115611da45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d69578181015183820152602001611d51565b50505050905090810190601f168015611d965780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60215460009060ff1615611dcc57611dc5848484611c2b565b90506111c4565b6001600160a01b03841660009081526001602052604090205460ff16158015611e0e57506001600160a01b03831660009081526001602052604090205460ff16155b15611e6a57601b5460ff16611e6a576040805162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e20796574000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03841660009081526001602052604090205460ff16158015611e9c57506001600160a01b0383163014155b8015611eb657506004546001600160a01b03848116911614155b8015611ed057506019546001600160a01b03848116911614155b8015611eea57506015546001600160a01b03848116911614155b8015611f0457506014546001600160a01b03848116911614155b15611f5b576000611f1484611532565b90506008548382011115611f595760405162461bcd60e51b815260040180806020018281038252603e8152602001806129fa603e913960400191505060405180910390fd5b505b6019546001600160a01b038581169116148015611f7a5750601d5460ff165b8015611f9f57506001600160a01b0383166000908152600d602052604090205460ff16155b15612023576001600160a01b0383166000908152601e60205260409020544211611ffa5760405162461bcd60e51b81526004018080602001828103825260258152602001806129b46025913960400191505060405180910390fd5b601d546001600160a01b0384166000908152601e6020526040902061010090910460ff16420190555b61202d848361241e565b612035612498565b15612042576120426124e9565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b03871660009081526009909152919091205461209d918490611d15565b6001600160a01b0385166000908152600960205260408120919091556120c2856128ca565b6120cc57826120d6565b6120d685846128e9565b6001600160a01b0385166000908152600960205260409020549091506120fc9082612306565b6001600160a01b038086166000908152600960209081526040808320949094559188168152600e909152205460ff166121a857601b546001600160a01b03868116600081815260096020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b15801561219557600080fd5b505af19250505080156121a6575060015b505b6001600160a01b0384166000908152600e602052604090205460ff1661224157601b546001600160a01b03858116600081815260096020526040808220548151630a5b654b60e11b81526004810194909452602484015251610100909404909216926314b6ca969260448084019391929182900301818387803b15801561222e57600080fd5b505af192505050801561223f575060015b505b601b60019054906101000a90046001600160a01b03166001600160a01b031663ffb2c479601c546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561229e57600080fd5b505af19250505080156122af575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3506001949350505050565b6000828201838110156111c4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261236f57506000610fad565b8282028284828161237c57fe5b04146111c45760405162461bcd60e51b81526004018080602001828103825260218152602001806129d96021913960400191505060405180910390fd5b600081836124085760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611d69578181015183820152602001611d51565b50600083858161241457fe5b0495945050505050565b6007548111158061244757506001600160a01b0382166000908152600c602052604090205460ff165b611afa576040805162461bcd60e51b815260206004820152601160248201527f5458204c696d6974204578636565646564000000000000000000000000000000604482015290519081900360640190fd5b6019546000906001600160a01b031633148015906124b9575060215460ff16155b80156124c75750601f5460ff165b801561120f575050602080543060009081526009909252604090912054101590565b6021805460ff1916600117905560165460175460009161250891611009565b61251457600f54612517565b60005b9050600061253b60026117b96012546117b98660205461236090919063ffffffff16565b9050600061255482602054611be990919063ffffffff16565b604080516002808252606080830184529394509091602083019080368337019050509050308160008151811061258657fe5b6001600160a01b0392831660209182029290920101526003548251911690829060019081106125b157fe5b6001600160a01b0392831660209182029290920181019190915260185460405163791ac94760e01b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b8381101561264b578181015183820152602001612633565b505050509050019650505050505050600060405180830381600087803b15801561267457600080fd5b505af1158015612688573d6000803e3d6000fd5b5050505060006126a18247611be990919063ffffffff16565b905060006126bc6126b3886002611ba7565b60125490611be9565b905060006126d160026117b98481878d612360565b905060006126ee836117b96010548761236090919063ffffffff16565b9050600061270b846117b96011548861236090919063ffffffff16565b9050601b60019054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561275d57600080fd5b505af19350505050801561276f575060015b506015546040516000916001600160a01b03169061753090849084818181858888f193505050503d80600081146127c2576040519150601f19603f3d011682016040523d82523d6000602084013e6127c7565b606091505b5060009250508a1590506128b3576018546014546040805163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0392831660848201524260a48201529051919092169163f305d71991879160c48082019260609290919082900301818588803b15801561284a57600080fd5b505af115801561285e573d6000803e3d6000fd5b50505050506040513d606081101561287557600080fd5b505060408051858152602081018c905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b50506021805460ff19169055505050505050505050565b6001600160a01b03166000908152600b602052604090205460ff161590565b6000806129076013546117b96012548661236090919063ffffffff16565b306000908152600960205260409020549091506129249082612306565b30600081815260096020908152604091829020939093558051848152905191926001600160a01b038816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36129838382611be9565b94935050505056fe4d69736d61746368206265747765656e204164647265737320616e6420746f6b656e20636f756e74506c65617365207761697420666f7220636f6f6c646f776e206265747765656e2062757973536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f74616c20486f6c64696e672069732063757272656e746c79206c696d697465642c20796f752063616e206e6f74206275792074686174206d7563682ea2646970667358221220617d73cc6d6a87c0ff4754221104fbf152c2ea849bebb640bf7bd1fdcfa5ae0564736f6c634300070400336080604052600180546001600160a01b0319908116733ee2200efb3400fabb9aacf31297cbdd1d435d47179091556002805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556ec097ce7bc90715b34b9f1000000000600c55610a8c600d55670de0b6b3a7640000600e5534801561007d57600080fd5b50604051610ee7380380610ee7833981810160405260208110156100a057600080fd5b50516001600160a01b0381166100ca577310ed43c718714eb63d5aa57b78b54704e256024e6100cc565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610de1806101066000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610254578063f0fc6bca14610269578063ffb2c4791461027e578063ffd49c84146102a8576100dd565b8063ce7c2ac2146101e6578063d0e30db014610237578063e2d2e2191461023f576100dd565b80632d48e896116100bb5780632d48e896146101775780633a98ef39146101a75780634fab0ae8146101bc578063997664d7146101d1576100dd565b806311ce023d146100e257806314b6ca961461010957806328fd319814610144575b600080fd5b3480156100ee57600080fd5b506100f76102bd565b60408051918252519081900360200190f35b34801561011557600080fd5b506101426004803603604081101561012c57600080fd5b506001600160a01b0381351690602001356102c3565b005b34801561015057600080fd5b506100f76004803603602081101561016757600080fd5b50356001600160a01b03166103e8565b34801561018357600080fd5b506101426004803603604081101561019a57600080fd5b5080359060200135610474565b3480156101b357600080fd5b506100f7610496565b3480156101c857600080fd5b506100f761049c565b3480156101dd57600080fd5b506100f76104a2565b3480156101f257600080fd5b506102196004803603602081101561020957600080fd5b50356001600160a01b03166104a8565b60408051938452602084019290925282820152519081900360600190f35b6101426104c9565b34801561024b57600080fd5b506100f7610759565b34801561026057600080fd5b506100f761075f565b34801561027557600080fd5b50610142610765565b34801561028a57600080fd5b50610142600480360360208110156102a157600080fd5b5035610770565b3480156102b457600080fd5b506100f7610852565b600c5481565b6000546001600160a01b031633146102da57600080fd5b6001600160a01b038216600090815260076020526040902054156103015761030182610858565b60008111801561032757506001600160a01b038216600090815260076020526040902054155b1561033a5761033582610980565b61036d565b8015801561035f57506001600160a01b03821660009081526007602052604090205415155b1561036d5761036d826109ee565b6001600160a01b03821660009081526007602052604090205460085461039e91839161039891610af5565b90610b40565b6008556001600160a01b03821660009081526007602052604090208190556103c581610b9a565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461040d5750600061046f565b6001600160a01b03821660009081526007602052604081205461042f90610b9a565b6001600160a01b0384166000908152600760205260409020600101549091508082116104605760009250505061046f565b61046a8282610af5565b925050505b919050565b6000546001600160a01b0316331461048b57600080fd5b600d91909155600e55565b60085481565b600e5481565b60095481565b60076020526000908152604090208054600182015460029092015490919083565b6000546001600160a01b031633146104e057600080fd5b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d602081101561055557600080fd5b5051604080516002808252606080830184529394509091602083019080368337505060025482519293506001600160a01b03169183915060009061059557fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106105bf57fe5b6001600160a01b0392831660209182029290920181019190915260035460405163b6f9de9560e01b815260006004820181815230604484018190524260648501819052608060248601908152895160848701528951969098169763b6f9de9597349795968b969495939460a49091019187810191028083838b5b83811015610651578181015183820152602001610639565b50505050905001955050505050506000604051808303818588803b15801561067857600080fd5b505af115801561068c573d6000803e3d6000fd5b5050600154604080516370a0823160e01b815230600482015290516000955061071794508793506001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156106e557600080fd5b505afa1580156106f9573d6000803e3d6000fd5b505050506040513d602081101561070f57600080fd5b505190610af5565b6009549091506107279082610b40565b600955600854600c5461075191610748916107429085610bb7565b90610c10565b600b5490610b40565b600b55505050565b600b5481565b600a5481565b61076e33610858565b565b6000546001600160a01b0316331461078757600080fd5b60045480610795575061084f565b6000805a905060005b84831080156107ac57508381105b1561084a5783600f54106107c0576000600f555b6107ec6004600f54815481106107d257fe5b6000918252602090912001546001600160a01b0316610c52565b1561081d5761081d6004600f548154811061080357fe5b6000918252602090912001546001600160a01b0316610858565b61083261082b5a8490610af5565b8490610b40565b92505a600f805460019081019091559092500161079e565b505050505b50565b600d5481565b6001600160a01b03811660009081526007602052604090205461087a5761084f565b6000610885826103e8565b9050801561097c57600a5461089a9082610b40565b600a556001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108f357600080fd5b505af1158015610907573d6000803e3d6000fd5b505050506040513d602081101561091d57600080fd5b50506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546109529082610b40565b6001600160a01b03831660009081526007602052604090206002810191909155546103c590610b9a565b5050565b600480546001600160a01b039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600480546000198101908110610a0057fe5b60009182526020808320909101546001600160a01b0384811684526005909252604090922054600480549290931692918110610a3857fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039485161790559183168152600591829052604081205460048054919392916000198101908110610a9357fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610ac357fe5b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff1916905501905550565b6000610b3783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c8e565b90505b92915050565b600082820183811015610b37576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b3a600c54610742600b5485610bb790919063ffffffff16565b600082610bc657506000610b3a565b82820282848281610bd357fe5b0414610b375760405162461bcd60e51b8152600401808060200182810382526021815260200180610d8b6021913960400191505060405180910390fd5b6000610b3783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d25565b600d546001600160a01b0382166000908152600660205260408120549091429101108015610b3a5750600e54610c87836103e8565b1192915050565b60008184841115610d1d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578181015183820152602001610cca565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610d745760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ce2578181015183820152602001610cca565b506000838581610d8057fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220539bc9ff65b022ab24146bee28999c2f576fe5f91d6fb40665f8e096bcf0a66b64736f6c63430007040033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed ByteCode Sourcemap

13605:14685:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27432:789;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27432:789:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27432:789:0;;-1:-1:-1;27432:789:0;-1:-1:-1;27432:789:0;:::i;:::-;;15370:56;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;17573:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17995:216;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17995:216:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;22607:94;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22607:94:0;;;;:::i;27247:150::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27247:150:0;;;;;;;:::i;17303:88::-;;;;;;;;;;;;;:::i;22357:217::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22357:217:0;;:::i;14695:28::-;;;;;;;;;;;;;:::i;26392:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26392:183:0;;;;;;;:::i;18507:364::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18507:364:0;;;;;;;;;;;;;;;;;:::i;26922:142::-;;;;;;;;;;;;;:::i;26583:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26583:183:0;;;;;;;:::i;22748:164::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22748:164:0;;;;;;;;;;;:::i;5423:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5423:103:0;-1:-1:-1;;;;;5423:103:0;;:::i;17397:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;25423:130;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;25423:130:0;;;;;;;;;;:::i;18219:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18219:116:0;-1:-1:-1;;;;;18219:116:0;;:::i;24700:96::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24700:96:0;;:::i;15187:37::-;;;;;;;;;;;;;:::i;25159:120::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;25159:120:0;;;;;;;;;;:::i;15333:30::-;;;;;;;;;;;;;:::i;25561:423::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25561:423:0;;;;;;;;;;;;;;;;;:::i;17743:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17743:105:0;-1:-1:-1;;;;;17743:105:0;;:::i;15231:39::-;;;;;;;;;;;;;:::i;14217:59::-;;;;;;;;;;;;;:::i;14123:52::-;;;;;;;;;;;;;:::i;18959:149::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18959:149:0;;:::i;17659:78::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;17659:78:0;;;;;;;;;;;;;;17483:84;;;;;;;;;;;;;:::i;26774:136::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26774:136:0;;:::i;25992:228::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;25992:228:0;;;;;;;;;;:::i;14970:19::-;;;;;;;;;;;;;:::i;18343:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18343:156:0;;;;;;;;:::i;5096:94::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5096:94:0;-1:-1:-1;;;;;5096:94:0;;:::i;14998:25::-;;;;;;;;;;;;;:::i;14768:36::-;;;;;;;;;;;;;:::i;27072:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27072:167:0;;:::i;17854:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17854:133:0;;;;;;;;;;:::i;26228:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26228:156:0;;;;;;;;;:::i;14811:35::-;;;;;;;;;;;;;:::i;5266:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5266:97:0;-1:-1:-1;;;;;5266:97:0;;:::i;5823:173::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5823:173:0;-1:-1:-1;;;;;5823:173:0;;:::i;24804:347::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24804:347:0;;;;;;;;;;:::i;25287:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;25287:128:0;;;;;;;;;;:::i;14939:24::-;;;;;;;;;;;;;:::i;5597:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5597:107:0;-1:-1:-1;;;;;5597:107:0;;:::i;15030:31::-;;;;;;;;;;;;;:::i;27432:789::-;4812:19;4820:10;4812:7;:19::i;:::-;4804:38;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;;;;27548:12:::1;27581:33:::0;;::::1;27573:85;;;;-1:-1:-1::0;;;27573:85:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27671:6;27667:82;27681:20:::0;;::::1;27667:82;;;27732:6;;27739:1;27732:9;;;;;;;;;::::0;;;::::1;;27725:16:::0;;;::::1;::::0;-1:-1:-1;27703:3:0::1;;27667:82;;;;27784:4;27765:15;27775:4;27765:9;:15::i;:::-;:23;;27757:64;;;::::0;;-1:-1:-1;;;27757:64:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;27834:6;27830:250;27844:20:::0;;::::1;27830:250;;;27881:43;27896:4;27901:9;;27911:1;27901:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;27901:12:0::1;27914:6;;27921:1;27914:9;;;;;;;;;;;;;27881:14;:43::i;:::-;;27939:16;:30;27956:9;;27966:1;27956:12;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;27956:12:0::1;27939:30:::0;;-1:-1:-1;27939:30:0;::::1;::::0;;;;;;-1:-1:-1;27939:30:0;;::::1;;27935:138;;27990:11;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;;;27990:11:0::1;:20;28011:9:::0;;28021:1;28011:12;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;28011:12:0::1;28025:9;:23;28035:9;;28045:1;28035:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;28035:12:0::1;-1:-1:-1::0;;;;;28025:23:0::1;-1:-1:-1::0;;;;;28025:23:0::1;;;;;;;;;;;;;27990:59;;;;;;;;;;;;;-1:-1:-1::0;;;;;27990:59:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;27986:75:::0;::::1;27866:3;;27830:250;;;-1:-1:-1::0;;;;;;28117:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;::::1;;28113:105;;28156:11;::::0;-1:-1:-1;;;;;28183:15:0;;::::1;;::::0;;;:9:::1;:15;::::0;;;;;;28156:43;;-1:-1:-1;;;28156:43:0;;::::1;::::0;::::1;::::0;;;;;;;;;:11:::1;::::0;;::::1;::::0;;::::1;::::0;:20:::1;::::0;:43;;;;;28183:15;;28156:43;;;;;;28183:15;28156:11;:43;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;;;;;28152:59:::0;::::1;4844:1;27432:789:::0;;;;;:::o;15370:56::-;;;;:::o;17573:80::-;17645:5;;;;;;;;;;;;;;;;;17573:80;:::o;17995:216::-;18099:10;18070:4;18087:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;18087:32:0;;;;;;;;;;;:41;;;18144:37;;;;;;;18070:4;;18087:32;;18099:10;;18144:37;;;;;;;;-1:-1:-1;18199:4:0;17995:216;;;;;:::o;22607:94::-;4812:19;4820:10;4812:7;:19::i;:::-;4804:38;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;;;;22672:11:::1;:21:::0;;-1:-1:-1;;22672:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22607:94::o;27247:150::-;27327:4;27383:6;27351:29;27371:8;27351:19;:29::i;:::-;:38;;27247:150;-1:-1:-1;;;27247:150:0:o;17303:88::-;17376:12;;17303:88;:::o;22357:217::-;4812:19;4820:10;4812:7;:19::i;:::-;4804:38;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;;;;22500:20:::1;::::0;22492:74:::1;::::0;22460:21:::1;::::0;-1:-1:-1;;;;;22500:20:0::1;::::0;22562:3:::1;22531:28:::0;;::::1;:34;22492:74:::0;::::1;;;::::0;::::1;::::0;;;22531:34;22500:20;22492:74;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;4844:1;22357:217:::0;:::o;14695:28::-;;;;:::o;26392:183::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;26490:15:::1;:25:::0;;;;26526:26:::1;:41:::0;26392:183::o;18507:364::-;-1:-1:-1;;;;;18627:19:0;;18607:4;18627:19;;;:11;:19;;;;;;;;18647:10;18627:31;;;;;;;;-1:-1:-1;;18627:46:0;18624:180;;18723:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18723:19:0;;-1:-1:-1;18723:19:0;;;:11;:19;;;;;18743:10;18723:31;;;;;;;;;;:69;;18759:6;;18723:35;:69::i;:::-;-1:-1:-1;;;;;18689:19:0;;;;;;:11;:19;;;;;;;;18709:10;18689:31;;;;;;;:103;18624:180;18823:40;18837:6;18845:9;18856:6;18823:13;:40::i;:::-;18816:47;;18507:364;;;;;;:::o;26922:142::-;27050:4;;26975:7;;27002:54;;27040:15;;-1:-1:-1;;;;;27050:4:0;27040:9;:15::i;:::-;27029:4;;27002:33;;27019:15;;-1:-1:-1;;;;;27029:4:0;27019:9;:15::i;:::-;27002:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;26995:61;;26922:142;:::o;26583:183::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;26693:11:::1;;;;;;;;;-1:-1:-1::0;;;;;26693:11:0::1;-1:-1:-1::0;;;;;26693:35:0::1;;26729:10;26741:16;26693:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;22748:164:::0;4812:19;4820:10;4812:7;:19::i;:::-;4804:38;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;;;;22832:18:::1;:28:::0;;-1:-1:-1;;22832:28:0::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;22871:33:0::1;22832:28;;22871:33:::0;;;::::1;::::0;;;::::1;;::::0;;22748:164::o;5423:103::-;5478:4;5513:5;-1:-1:-1;;;;;5513:5:0;;;5502:16;;;;5423:103::o;17397:80::-;14054:1;17397:80;:::o;25423:130::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;25512:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;25512:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25423:130::o;18219:116::-;18274:4;18298:29;18306:7;-1:-1:-1;;18298:7:0;:29::i;24700:96::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;24767:12:::1;:21:::0;24700:96::o;15187:37::-;;;;;;:::o;25159:120::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;25243:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;25243:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25159:120::o;15333:30::-;;;;;;:::o;25561:423::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;25704:12:::1;:28:::0;;;25743:13:::1;:30:::0;;;25784:12:::1;:28:::0;;;25834:52:::1;25799:13:::0;25834:33:::1;25719:13:::0;25759:14;25834:17:::1;:33::i;:::-;:37:::0;::::1;:52::i;:::-;25823:8;:63:::0;25897:14:::1;:32:::0;;;25974:1:::1;25914:15:::0;25959:16:::1;25948:8;;:27;25940:36;;;::::0;::::1;;25561:423:::0;;;;:::o;17743:105::-;-1:-1:-1;;;;;17827:18:0;17809:7;17827:18;;;:9;:18;;;;;;;17743:105::o;15231:39::-;;;;;;;;;:::o;14217:59::-;;;;:::o;14123:52::-;;;;:::o;18959:149::-;4812:19;4820:10;4812:7;:19::i;:::-;4804:38;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;;;;19097:3:::1;19078:14;19063:12;;:29;19062:38;;;;;;19044:15;:56:::0;-1:-1:-1;18959:149:0:o;17659:78::-;17711:7;17729:5;-1:-1:-1;;;;;17729:5:0;17659:78;:::o;17483:84::-;17557:7;;;;;;;;;;;;;;;;;17483:84;:::o;26774:136::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;26864:6:::1;26858:3;:12;26850:21;;;::::0;::::1;;26882:14;:20:::0;26774:136::o;25992:228::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;26111:21:::1;:46:::0;;-1:-1:-1;;;;;26111:46:0;;::::1;-1:-1:-1::0;;26111:46:0;;::::1;;::::0;;;26168:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;25992:228::o;14970:19::-;;;-1:-1:-1;;;;;14970:19:0;;:::o;18343:156::-;18423:4;18447:44;18461:10;18473:9;18484:6;18447:13;:44::i;5096:94::-;4812:19;4820:10;4812:7;:19::i;:::-;4804:38;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5156:19:0::1;;::::0;;;5178:4:::1;5156:19;::::0;;;;;;;:26;;-1:-1:-1;;5156:26:0::1;::::0;;::::1;::::0;;5096:94::o;14998:25::-;;;;:::o;14768:36::-;;;-1:-1:-1;;;;;14768:36:0;;:::o;27072:167::-;27140:7;27167:64;27208:22;:20;:22::i;:::-;27190:4;;27167:36;;27180:22;;27200:1;;27180:15;;-1:-1:-1;;;;;27190:4:0;27180:9;:15::i;:::-;:19;;:22::i;:::-;27167:8;;:12;:36::i;:::-;:40;;:64::i;17854:133::-;-1:-1:-1;;;;;17956:19:0;;;17938:7;17956:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;17854:133::o;26228:156::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;26320:11:::1;:22:::0;;-1:-1:-1;;26320:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;26353:13:::1;:23:::0;26228:156::o;14811:35::-;;;-1:-1:-1;;;;;14811:35:0;;:::o;5266:97::-;4812:19;4820:10;4812:7;:19::i;:::-;4804:38;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5328:19:0::1;5350:5;5328:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;5328:27:0::1;::::0;;5266:97::o;5823:173::-;4812:19;4820:10;4812:7;:19::i;:::-;4804:38;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;-1:-1:-1;;;4804:38:0;;;;;;;;;;;;;;;5899:5:::1;:11:::0;;-1:-1:-1;;5899:11:0::1;-1:-1:-1::0;;;;;5899:11:0;::::1;::::0;;::::1;::::0;;5921:19;;;-1:-1:-1;5921:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;5921:26:0::1;::::0;;::::1;::::0;;;5963:25;;;;;;;::::1;::::0;;;;;;;;;::::1;5823:173:::0;:::o;24804:347::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;24901:23:0;::::1;24919:4;24901:23;::::0;::::1;::::0;:41:::1;;-1:-1:-1::0;24938:4:0::1;::::0;-1:-1:-1;;;;;24928:14:0;;::::1;24938:4:::0;::::1;24928:14;;24901:41;24893:50;;;::::0;::::1;;-1:-1:-1::0;;;;;24954:24:0;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;24954:33:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;24998:146:::1;;25023:11;::::0;:31:::1;::::0;;-1:-1:-1;;;25023:31:0;;-1:-1:-1;;;;;25023:31:0;;::::1;;::::0;::::1;::::0;25052:1:::1;25023:31:::0;;;;;;;;:11:::1;::::0;;::::1;;::::0;:20:::1;::::0;:31;;;;;25052:1;;25023:31;;;;;;25052:1;25023:11;:31;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;24998:146;;;25085:11;::::0;-1:-1:-1;;;;;25114:17:0;;::::1;;::::0;;;:9:::1;:17;::::0;;;;;;25085:47;;-1:-1:-1;;;25085:47:0;;::::1;::::0;::::1;::::0;;;;;;;;;:11:::1;::::0;;::::1;::::0;;::::1;::::0;:20:::1;::::0;:47;;;;;25114:17;;25085:47;;;;;;25114:17;25085:11;:47;::::1;;::::0;::::1;;;;::::0;::::1;24998:146;24804:347:::0;;:::o;25287:128::-;4981:24;4994:10;4981:12;:24::i;:::-;4973:48;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;-1:-1:-1;;;4973:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;25375:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;25375:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25287:128::o;14939:24::-;;;-1:-1:-1;;;;;14939:24:0;;:::o;5597:107::-;-1:-1:-1;;;;;5677:19:0;5653:4;5677:19;;;:14;:19;;;;;;;;;5597:107::o;15030:31::-;;;;;;:::o;2936:132::-;2994:7;3021:39;3025:1;3028;3021:39;;;;;;;;;;;;;;;;;:3;:39::i;2340:136::-;2398:7;2425:43;2429:1;2432;2425:43;;;;;;;;;;;;;;;;;:3;:43::i;21177:330::-;21307:53;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21307:17:0;;21270:4;21307:17;;;:9;:17;;;;;;;:53;;21329:6;;21307:21;:53::i;:::-;-1:-1:-1;;;;;21287:17:0;;;;;;;:9;:17;;;;;;:73;;;;21394:20;;;;;;;:32;;21419:6;21394:24;:32::i;:::-;-1:-1:-1;;;;;21371:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;21442:35;;;;;;;21371:20;;21442:35;;;;;;;;;;;;;-1:-1:-1;21495:4:0;21177:330;;;;;:::o;2482:192::-;2568:7;2604:12;2596:6;;;;2588:29;;;;-1:-1:-1;;;2588:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2640:5:0;;;2482:192::o;19116:2049::-;19228:6;;19208:4;;19228:6;;19225:63;;;19244:41;19259:6;19267:9;19278:6;19244:14;:41::i;:::-;19237:48;;;;19225:63;-1:-1:-1;;;;;19304:22:0;;;;;;:14;:22;;;;;;;;19303:23;:53;;;;-1:-1:-1;;;;;;19331:25:0;;;;;;:14;:25;;;;;;;;19330:26;19303:53;19300:127;;;19380:11;;;;19372:43;;;;;-1:-1:-1;;;19372:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19472:22:0;;;;;;:14;:22;;;;;;;;19471:23;:53;;;;-1:-1:-1;;;;;;19498:26:0;;19519:4;19498:26;;19471:53;:84;;;;-1:-1:-1;19550:4:0;;-1:-1:-1;;;;;19529:26:0;;;19550:4;;19529:26;;19471:84;:105;;;;-1:-1:-1;19572:4:0;;-1:-1:-1;;;;;19559:17:0;;;19572:4;;19559:17;;19471:105;:142;;;;-1:-1:-1;19593:20:0;;-1:-1:-1;;;;;19580:33:0;;;19593:20;;19580:33;;19471:142;:180;;;;-1:-1:-1;19630:21:0;;-1:-1:-1;;;;;19617:34:0;;;19630:21;;19617:34;;19471:180;19467:372;;;19667:18;19688:20;19698:9;19688;:20::i;:::-;19667:41;;19756:15;;19745:6;19732:10;:19;19731:40;;19723:114;;;;-1:-1:-1;;;19723:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19467:372;;19973:4;;-1:-1:-1;;;;;19963:14:0;;;19973:4;;19963:14;:49;;;;-1:-1:-1;19994:18:0;;;;19963:49;:94;;;;-1:-1:-1;;;;;;20030:27:0;;;;;;:16;:27;;;;;;;;20029:28;19963:94;19959:299;;;-1:-1:-1;;;;;20082:24:0;;;;;;:13;:24;;;;;;20109:15;-1:-1:-1;20074:91:0;;;;-1:-1:-1;;;20074:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20225:21;;-1:-1:-1;;;;;20180:24:0;;;;;;:13;:24;;;;;20225:21;;;;;;20207:15;:39;20180:66;;19959:299;20313:28;20326:6;20334;20313:12;:28::i;:::-;20398:16;:14;:16::i;:::-;20395:35;;;20417:10;:8;:10::i;:::-;20489:53;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20489:17:0;;-1:-1:-1;20489:17:0;;;:9;:17;;;;;;;;:53;;20511:6;;20489:21;:53::i;:::-;-1:-1:-1;;;;;20469:17:0;;;;;;:9;:17;;;;;:73;;;;20580:21;20479:6;20580:13;:21::i;:::-;:56;;20630:6;20580:56;;;20604:23;20612:6;20620;20604:7;:23::i;:::-;-1:-1:-1;;;;;20670:20:0;;;;;;:9;:20;;;;;;20555:81;;-1:-1:-1;20670:40:0;;20555:81;20670:24;:40::i;:::-;-1:-1:-1;;;;;20647:20:0;;;;;;;:9;:20;;;;;;;;:63;;;;20756:24;;;;;:16;:24;;;;;;;20752:119;;20801:11;;-1:-1:-1;;;;;20830:17:0;;;;;;;:9;:17;;;;;;;20801:47;;-1:-1:-1;;;20801:47:0;;;;;;;;;;;;;;:11;;;;;;;;:20;;:47;;;;;20830:17;;20801:47;;;;;;20830:17;20801:11;:47;;;;;;;;;;;;;;;;;;;;;;;;;20797:63;;-1:-1:-1;;;;;20887:27:0;;;;;;:16;:27;;;;;;;;20883:129;;20935:11;;-1:-1:-1;;;;;20967:20:0;;;;;;;:9;:20;;;;;;;20935:53;;-1:-1:-1;;;20935:53:0;;;;;;;;;;;;;;:11;;;;;;;;:20;;:53;;;;;20967:20;;20935:53;;;;;;20967:20;20935:11;:53;;;;;;;;;;;;;;;;;;;;;;;;;20931:69;;21028:11;;;;;;;;;-1:-1:-1;;;;;21028:11:0;-1:-1:-1;;;;;21028:19:0;;21048:14;;21028:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21024:51;21109:9;-1:-1:-1;;;;;21092:43:0;21101:6;-1:-1:-1;;;;;21092:43:0;;21120:14;21092:43;;;;;;;;;;;;;;;;;;-1:-1:-1;21153:4:0;;19116:2049;-1:-1:-1;;;;19116:2049:0:o;2153:181::-;2211:7;2243:5;;;2267:6;;;;2259:46;;;;;-1:-1:-1;;;2259:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2680:250;2738:7;2762:6;2758:47;;-1:-1:-1;2792:1:0;2785:8;;2758:47;2829:5;;;2833:1;2829;:5;:1;2853:5;;;;;:10;2845:56;;;;-1:-1:-1;;;2845:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3074:345;3160:7;3262:12;3255:5;3247:28;;;;-1:-1:-1;;;3247:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3286:9;3302:1;3298;:5;;;;;;;3074:345;-1:-1:-1;;;;;3074:345:0:o;21515:166::-;21612:12;;21602:6;:22;;:49;;;-1:-1:-1;;;;;;21628:23:0;;;;;;:15;:23;;;;;;;;21602:49;21594:79;;;;;-1:-1:-1;;;21594:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;22152:197;22239:4;;22201;;-1:-1:-1;;;;;22239:4:0;22225:10;:18;;;;:38;;-1:-1:-1;22257:6:0;;;;22256:7;22225:38;:62;;;;-1:-1:-1;22276:11:0;;;;22225:62;:116;;;;-1:-1:-1;;22328:13:0;;;22318:4;22300:24;;;;:9;:24;;;;;;;;:41;;;22152:197::o;22924:1766::-;15492:6;:13;;-1:-1:-1;;15492:13:0;15501:4;15492:13;;;23019:15:::1;::::0;23036:26:::1;::::0;15492:6;;23003:60:::1;::::0;:15:::1;:60::i;:::-;:79;;23070:12;;23003:79;;;23066:1;23003:79;22973:109;;23093:23;23119:59;23176:1;23119:52;23162:8;;23119:38;23137:19;23119:13;;:17;;:38;;;;:::i;:59::-;23093:85;;23189:20;23212:34;23230:15;23212:13;;:17;;:34;;;;:::i;:::-;23283:16;::::0;;23297:1:::1;23283:16:::0;;;23259:21:::1;23283:16:::0;;::::1;::::0;;23189:57;;-1:-1:-1;23283:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;23283:16:0::1;23259:40;;23328:4;23310;23315:1;23310:7;;;;;;;;-1:-1:-1::0;;;;;23310:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;23354:4:::1;::::0;23344:7;;23354:4;::::1;::::0;23344;;23354;;23344:7;::::1;;;;;-1:-1:-1::0;;;;;23344:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;23429:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;23429:188:0;;::::1;::::0;::::1;::::0;;;23371:21:::1;23429:188:::0;;;;;;23571:4:::1;23429:188:::0;;;;;;23591:15:::1;23429:188:::0;;;;;;;;;;;;;;;;;;;;;23395:21:::1;::::0;23429:6;;;::::1;::::0;:57:::1;::::0;23501:12;;23371:21;;23544:4;;23429:188;;;;;;;;;;::::1;::::0;::::1;::::0;;;23371:21;23429:188:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23630:17;23650:40;23676:13;23650:21;:25;;:40;;;;:::i;:::-;23630:60:::0;-1:-1:-1;23703:19:0::1;23725:40;23738:26;:19:::0;23762:1:::1;23738:23;:26::i;:::-;23725:8;::::0;;:12:::1;:40::i;:::-;23703:62:::0;-1:-1:-1;23786:26:0::1;23815:58;23871:1;23815:51;23703:62:::0;23815:51;:9;23829:19;23815:13:::1;:34::i;:58::-;23786:87;;23884:27;23914:45;23947:11;23914:28;23928:13;;23914:9;:13;;:28;;;;:::i;:45::-;23884:75;;23970:26;23999:44;24031:11;23999:27;24013:12;;23999:9;:13;;:27;;;;:::i;:44::-;23970:73;;24060:11;;;;;;;;;-1:-1:-1::0;;;;;24060:11:0::1;-1:-1:-1::0;;;;;24060:19:0::1;;24087;24060:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;24056:65:::0;24160:20:::1;::::0;24152:77:::1;::::0;24132:15:::1;::::0;-1:-1:-1;;;;;24160:20:0::1;::::0;24219:5:::1;::::0;24194:18;;24132:15;24152:77;24132:15;24152:77;24194:18;24160:20;24219:5;24152:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;24303:5:0::1;::::0;-1:-1:-1;;24324:19:0;;;-1:-1:-1;24321:362:0::1;;24359:6;::::0;24533:21:::1;::::0;24359:244:::1;::::0;;-1:-1:-1;;;24359:244:0;;24435:4:::1;24359:244;::::0;::::1;::::0;;;;;;;:6:::1;:244:::0;;;;;;;;;;-1:-1:-1;;;;;24533:21:0;;::::1;24359:244:::0;;;;24573:15:::1;24359:244:::0;;;;;;:6;;;::::1;::::0;:22:::1;::::0;24389:18;;24359:244;;;;;::::1;::::0;;;;;;;;;24389:18;24359:6;:244;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;24359:244:0;24623:48;;;;;24359:244:::1;24623:48:::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;24321:362;-1:-1:-1::0;;15510:6:0;:14;;-1:-1:-1;;15510:14:0;;;-1:-1:-1;;;;;;;;;22924:1766:0:o;21689:114::-;-1:-1:-1;;;;;21776:19:0;21751:4;21776:19;;;:11;:19;;;;;;;;21775:20;;21689:114::o;21811:333::-;21878:7;21898:17;21918:40;21943:14;;21918:20;21929:8;;21918:6;:10;;:20;;;;:::i;:40::-;22016:4;21998:24;;;;:9;:24;;;;;;21898:60;;-1:-1:-1;21998:39:0;;21898:60;21998:28;:39::i;:::-;21989:4;21971:24;;;;:9;:24;;;;;;;;;:66;;;;22053:42;;;;;;;21989:4;;-1:-1:-1;;;;;22053:42:0;;;;;;;;;;;;;22115:21;:6;22126:9;22115:10;:21::i;:::-;22108:28;21811:333;-1:-1:-1;;;;21811:333:0:o

Swarm Source

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