Contract 0xce666d0e507c5f2afe0671ee29a99cfa97954c48 2

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x51d79d77b5a53f3150de9a5c17146d60a381084bbffaac607bd963c53eb1d1d7Transfer110806592021-09-20 13:53:231 hr 1 min ago0x60a0588b2945f2ef076a3e78f7dc77cc51824bc0 IN  Addax: ADX Token0 BNB0.00225875
0x547b95fb6c2f9b59f7cb4b8449bc6164aac36e73f3805320e78d3ddea0c25dcfApprove110542762021-09-19 15:51:5623 hrs 3 mins ago0xec3a292c0f768150f358d802a677616463229ff2 IN  Addax: ADX Token0 BNB0.00022263
0xea30ff9df43e0b68913184fe1a4a73fe9959ba62a36ffefe43edc4827f2b8006Approve110514292021-09-19 13:29:331 day 1 hr ago0x14ee42e5bc119cf05565b01f552fd91cf40b4415 IN  Addax: ADX Token0 BNB0.000072855
0xbf28f6269f2a41bdd16773b90a7831de3efe783737e343a2b2d136d50fe24718Approve110473832021-09-19 9:53:401 day 5 hrs ago0x78bbdedd45c31f0ae0071ff0e0b6742c2e45b39b IN  Addax: ADX Token0 BNB0.00022263
0x9bb146678a321372b1b840c51416a1ce41097fbb20c40a76263f6f6487aad9ffApprove110463452021-09-19 9:01:461 day 5 hrs ago0xb12595ca2e42a507bffe5c4521c50a907ebba329 IN  Addax: ADX Token0 BNB0.000072855
0xb5550a1e161e4385a0f049fc09126b4a8b712e52d84f152161589492bc9c0f23Approve110463192021-09-19 9:00:281 day 5 hrs ago0x4a3d9d284c2675a65e2f2fcd9b4ae2b4a804a3f5 IN  Addax: ADX Token0 BNB0.000072855
0x1d62112f7f82bb43d121f5eab4a7bd0351c170fa301745a1fdf7d41a1e5f08aeApprove110381352021-09-19 2:10:541 day 12 hrs ago0x0f460d1eec991d7ae160f69cba7f87f41cd4902e IN  Addax: ADX Token0 BNB0.000267156
0x8df565dac7b9e8c581e8841f97b4486188f31326bd6b131d6675052075d37b9bApprove110354412021-09-18 23:55:311 day 14 hrs ago0x81a4ba453d3af940b617e4c8c7c3d72d515cdfeb IN  Addax: ADX Token0 BNB0.00022263
0x4735540e24c9d4507f55df0fa4f1e20177ef48881443074bc690dc66980de35cApprove110346952021-09-18 23:18:131 day 15 hrs ago0x1669510d0662c15226bf09a21e0f2f8417948265 IN  Addax: ADX Token0 BNB0.00022263
0x4b12d8bb9e83749b542a32a8de1421b95b053c91c5a1e995f0c9952040583b55Approve110269242021-09-18 16:48:461 day 22 hrs ago0x079970ed9921e078b550654a664788c0d920650a IN  Addax: ADX Token0 BNB0.00022263
0x7febe97fbde0448e4f26a6b36a673b332557cd1fae08cf60bd07a6b18c2cad43Approve110208122021-09-18 11:41:222 days 3 hrs ago0xf9215346dfb0e3497b7bd40306b55b9da67717ba IN  Addax: ADX Token0 BNB0.00022263
0x917563b338e274b16bdf07bce4f5381cf1ed520dbb936a42cf9f58635de4d872Approve110153092021-09-18 7:05:522 days 7 hrs ago0x341002ebf7193e4e094e6031643bc782a9f02ed4 IN  Addax: ADX Token0 BNB0.00022263
0x8a5828a08c7f792b10107ea170065da84cd745f37a7be8f440ef94a2a24f4c1bTransfer110138012021-09-18 5:50:282 days 9 hrs ago0x0c2fe615f85aae315a79f40dd6ee54d8b02f1726 IN  Addax: ADX Token0 BNB0.000863046
0x0dc7be0a2ac7f2522e39063a8b1092a09d021242299b50074332cf4f9c261973Approve110078602021-09-18 0:52:132 days 14 hrs ago0x67f74507124773b9d9d3fcf3666fbe8dcd171c7a IN  Addax: ADX Token0 BNB0.00022263
0x8abf6199d24fe0b78868c0f096f27374dcfddbb2a9670d8d3c6cca8896757ea8Approve109840382021-09-17 4:59:453 days 9 hrs ago0x956160108061d5918e40f34770386519fe9659ea IN  Addax: ADX Token0 BNB0.00022263
0x0ac94c4f319d8e983ace3e9521f8bfcf2d2ec7616e088c0ad0effada30a91d66Approve109830322021-09-17 4:09:273 days 10 hrs ago0x021b03bf92957324d026159a60739baa954b908b IN  Addax: ADX Token0 BNB0.000072855
0xd55bb2d2fcfd9075a669a803fb305d33ae992441eddb760580dc0fe3241a7838Transfer109736372021-09-16 20:19:383 days 18 hrs ago0xdffc18f77fd1c3c0d8fd9e9e0ad8dae1dbffeb20 IN  Addax: ADX Token0 BNB0.000740145
0x7a2374f1e2d687c08e236f1893804528b32317e6a38511e3e860ab851cb0026bApprove109711852021-09-16 18:17:023 days 20 hrs ago0x4d2d638454e465229ab104116b74596bd993a636 IN  Addax: ADX Token0 BNB0.000072855
0x2f21303c1d7786a63ce77a821d0520218a262a38f30e5177a76c1294fbaaf7fcApprove109645702021-09-16 12:45:074 days 2 hrs ago0xe7a375c25ac4af0e2373efc41aeefd9daa34ab35 IN  Addax: ADX Token0 BNB0.00022263
0x12a5cb4a25d9a42c8636ae074fd7f59509fe63b66e91ad4c772238ca1b0e0775Approve109607732021-09-16 9:34:074 days 5 hrs ago0x08f095546281ee50ed33a2d2db85c6d8516dd470 IN  Addax: ADX Token0 BNB0.0000743121
0xb35e061aad5e27be860bd26dce79e28f95d9e3f3e4709c466a54aefd05d275e1Approve109606582021-09-16 9:28:224 days 5 hrs ago0x1cc190a4b268aba68c6676fac162111f21155d5d IN  Addax: ADX Token0 BNB0.000267156
0xb9b0d1911d65ab7fadebd681d5bdbe461597f08d81f0b206f5a30d098b9d8c25Approve109570772021-09-16 6:28:354 days 8 hrs ago0x4c1bb416a0179deeffc9304e951530c185e85798 IN  Addax: ADX Token0 BNB0.00022263
0x52a68b4ee66003cb1e81b82a93802edcd4addd766fffbe014a74318d9a11d9aeApprove109455802021-09-15 20:53:354 days 18 hrs ago0xbfb7ce2451c384347d3a6a5dd48f55d5075fd7a8 IN  Addax: ADX Token0 BNB0.00022263
0x7bd0f1769b48e8a046f8f4e1637ce30016a7a39042fd7f65c545db657c4793e6Approve109180502021-09-14 21:50:205 days 17 hrs ago0xe6d5e84eec0276106608c5d2ffc1a88103110d0a IN  Addax: ADX Token0 BNB0.00022263
0x2a0d988d69b3a2e720eb4bd36d3bb109a00555fe07b7d630d41a7c4bbbc2906eTransfer109083152021-09-14 13:41:416 days 1 hr ago0xf423fc40b6b43726b38cbdb680dcc54baba8f312 IN  Addax: ADX Token0 BNB0.00072
[ Download CSV Export 

OVERVIEW

Addax is a crypto currency with a purpose to tackle real world problems such as climate change, famine, public healthcare, poverty, children in need, education, gender inequality, marine conservation and wildlife conservation through every transaction.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x8ec9959237ebf688bc20daacd3a9eaecab95054bba7b98a60ecb5793a1eb5da1110817352021-09-20 14:47:237 mins ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.126685745375936324 BNB
0x8ec9959237ebf688bc20daacd3a9eaecab95054bba7b98a60ecb5793a1eb5da1110817352021-09-20 14:47:237 mins ago PancakeSwap: Router v2 Addax: ADX Token0.126685745375936324 BNB
0x51d79d77b5a53f3150de9a5c17146d60a381084bbffaac607bd963c53eb1d1d7110806592021-09-20 13:53:231 hr 1 min ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.12677511257079027 BNB
0x51d79d77b5a53f3150de9a5c17146d60a381084bbffaac607bd963c53eb1d1d7110806592021-09-20 13:53:231 hr 1 min ago PancakeSwap: Router v2 Addax: ADX Token0.12677511257079027 BNB
0xef095f3effbfde30d55ce3972ec4c3609c397683863a78db8fc2abd801018702110354542021-09-18 23:56:101 day 14 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.13231652592597752 BNB
0xef095f3effbfde30d55ce3972ec4c3609c397683863a78db8fc2abd801018702110354542021-09-18 23:56:101 day 14 hrs ago PancakeSwap: Router v2 Addax: ADX Token0.13231652592597752 BNB
0x569aea65a657e7199fb98dcda5dd12cfc94b769538298556d23f79ff479dea9a109609882021-09-16 9:44:524 days 5 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.13441205955244953 BNB
0x569aea65a657e7199fb98dcda5dd12cfc94b769538298556d23f79ff479dea9a109609882021-09-16 9:44:524 days 5 hrs ago PancakeSwap: Router v2 Addax: ADX Token0.13441205955244953 BNB
0x0729c95c0904e85bdf8201dee2f4080b85233584d4c0eb151d489a41f3d1af2f108886492021-09-13 21:17:086 days 17 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.135276304096753819 BNB
0x0729c95c0904e85bdf8201dee2f4080b85233584d4c0eb151d489a41f3d1af2f108886492021-09-13 21:17:086 days 17 hrs ago PancakeSwap: Router v2 Addax: ADX Token0.135276304096753819 BNB
0xc6aae1b3d3360de149d18685ed085351c39f024ef74fb34773731f755ef3883c108463682021-09-12 9:58:568 days 4 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.137513952925240329 BNB
0xc6aae1b3d3360de149d18685ed085351c39f024ef74fb34773731f755ef3883c108463682021-09-12 9:58:568 days 4 hrs ago PancakeSwap: Router v2 Addax: ADX Token0.137513952925240329 BNB
0xf8e1ab95ea9635446a0032d8c92161c8fc58e959b6b14f910e16617e412f43a6108113402021-09-11 4:37:259 days 10 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.139818553728445071 BNB
0xf8e1ab95ea9635446a0032d8c92161c8fc58e959b6b14f910e16617e412f43a6108113402021-09-11 4:37:259 days 10 hrs ago PancakeSwap: Router v2 Addax: ADX Token0.139818553728445071 BNB
0xf9a82a7010f04625a0cfaf95327260bebe47a157e435993e5450c71e7cf218b9107836902021-09-10 5:14:0610 days 9 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.141348091854540459 BNB
0xf9a82a7010f04625a0cfaf95327260bebe47a157e435993e5450c71e7cf218b9107836902021-09-10 5:14:0610 days 9 hrs ago PancakeSwap: Router v2 Addax: ADX Token0.141348091854540459 BNB
0x82ac4d4631db67147ca16e2afd0d14fa577c5ecd4e5afa101e571e7677ac8e42107647512021-09-09 13:18:4811 days 1 hr ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.141888211998844314 BNB
0x82ac4d4631db67147ca16e2afd0d14fa577c5ecd4e5afa101e571e7677ac8e42107647512021-09-09 13:18:4811 days 1 hr ago PancakeSwap: Router v2 Addax: ADX Token0.141888211998844314 BNB
0x810be60ca15a3fe775278b5b54787bffa9c79a277b811892d6577dd2eb615d57107449912021-09-08 20:41:3511 days 18 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.14140305661467963 BNB
0x810be60ca15a3fe775278b5b54787bffa9c79a277b811892d6577dd2eb615d57107449912021-09-08 20:41:3511 days 18 hrs ago PancakeSwap: Router v2 Addax: ADX Token0.14140305661467963 BNB
0x6cb6e0e12c78674dec7594cc82dbf8868e78a73c55ab6bf1cac56db4261392a9107354782021-09-08 12:39:1412 days 2 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.141481794867356477 BNB
0x6cb6e0e12c78674dec7594cc82dbf8868e78a73c55ab6bf1cac56db4261392a9107354782021-09-08 12:39:1412 days 2 hrs ago PancakeSwap: Router v2 Addax: ADX Token0.141481794867356477 BNB
0x1066f685ea0587cef5d4a29c6de12eab56503fab2e48a59349741c61f920f7a5106981662021-09-07 4:59:2213 days 9 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.14314812415147539 BNB
0x1066f685ea0587cef5d4a29c6de12eab56503fab2e48a59349741c61f920f7a5106981662021-09-07 4:59:2213 days 9 hrs ago PancakeSwap: Router v2 Addax: ADX Token0.14314812415147539 BNB
0xa0758867da7aa864575c22b100e2b6a600d2bfcea486021ccfbbb329e4cbe619106934692021-09-07 1:00:5013 days 13 hrs ago Addax: ADX Token0x90be519068d68e07849d691635d19962acd4335f0.144657158313436121 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Addax

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: addax.sol
/*

░█████╗░██████╗░██████╗░░█████╗░██╗░░██╗
██╔══██╗██╔══██╗██╔══██╗██╔══██╗╚██╗██╔╝
███████║██║░░██║██║░░██║███████║░╚███╔╝░
██╔══██║██║░░██║██║░░██║██╔══██║░██╔██╗░
██║░░██║██████╔╝██████╔╝██║░░██║██╔╝╚██╗
╚═╝░░╚═╝╚═════╝░╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝
Addax Token is a charity token
3% of every transaction is converted to BNB and sent to the selected Charities
2% of every transaction is converted to BNB and used for Marketing and for the Team
2% of every transaction is redistributed between holders of the token
2% of every transaction is burned
    
Telegram: https://t.me/AddaxToken
Twitter: https://twitter.com/AddaxToken
Website: https://addaxtoken.com/
Discord: https://discord.gg/5VzEEqsvS4
Reddit: https://www.reddit.com/r/AddaxToken
Twitch: https://www.twitch.tv/addaxtoken
Github: https://github.com/AddaxToken

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

import "./util.sol";

contract Addax is Context, IBEP20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => bool)    private _isExcludedFromFee;
    mapping (address => bool)    private _isExcluded;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromSwapAndLiquify;

    address[] private _excluded;
    address public _charityWallet;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 500000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    uint256 private _tFeeTotal;
    uint256 private _tBurnTotal;

    string private constant _name     = "Addax";
    string private constant _symbol   = "ADX";
    uint8  private constant _decimals = 9;
    
    uint256 public _taxFee       = 200; // 2% of every transaction is redistributed to holders
    uint256 public _liquidityFee = 500; // 5% of every transaction will be converted into BNB. Within that 5%, 3% will go towards charitable donations and 2% will go towards marketing and the team
    uint256 public _burnFee      = 200; // 2% of every transaction is burned

    uint256 public _maxTxAmount                   = 250000000 * 10**9;
    uint256 public _numTokensSellToAddToLiquidity = 100000 * 10**9;
    
    // liquidity
    bool public  _swapAndLiquifyEnabled = true;
    bool private _inSwapAndLiquify;
    IUniswapV2Router02 public _uniswapV2Router;
    address            public _uniswapV2Pair;
    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event CharitySent(
        address to,
        uint256 bnbSent
    );
    
    modifier lockTheSwap {
        _inSwapAndLiquify = true;
        _;
        _inSwapAndLiquify = false;
    }
    
    constructor (address cOwner, address charityWallet) Ownable(cOwner) {
        _charityWallet = charityWallet;

        _rOwned[cOwner] = _rTotal;
        
        // Create a uniswap pair for this new token
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _uniswapV2Router = uniswapV2Router;

        // exclude system addresses from fee
        _isExcludedFromFee[owner()]        = true;
        _isExcludedFromFee[address(this)]  = true;
        _isExcludedFromFee[_charityWallet] = true;

        _isExcludedFromSwapAndLiquify[_uniswapV2Pair]            = true;
        _isExcludedFromSwapAndLiquify[address(_uniswapV2Router)] = true;
        
        emit Transfer(address(0), cOwner, _tTotal);
    }

    receive() external payable {}

    // BEP20
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance"));
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "BEP20: decreased allowance below zero"));
        return true;
    }

    // REFLECTION
    function deliver(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");

        (, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount,,) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal         = _rTotal.sub(rAmount);
        _tFeeTotal      = _tFeeTotal.add(tAmount);
    }
    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");

        if (!deductTransferFee) {
            (, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
            uint256 currentRate = _getRate();
            (uint256 rAmount,,) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);

            return rAmount;

        } else {
            (, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
            uint256 currentRate = _getRate();
            (, uint256 rTransferAmount,) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);

            return rTransferAmount;
        }
    }
    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");

        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
    function excludeFromReward(address account) public onlyOwner {
        require(!_isExcluded[account], "Account is already excluded");

        if (_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }
    function includeInReward(address account) external onlyOwner {
        require(_isExcluded[account], "Account is already excluded");

        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }
    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }
    function totalBurn() public view returns (uint256) {
        return _tBurnTotal;
    }
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    function setTaxFeePercent(uint256 taxFee) external onlyOwner {
        _taxFee = taxFee;
    }
    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner {
        _liquidityFee = liquidityFee;
    }
    function setBurnFeePercent(uint256 burnFee) external onlyOwner {
        _burnFee = burnFee;
    }
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner {
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(100);
    }
    function setMinLiquidityPercent(uint256 minLiquidityPercent) external onlyOwner {
        _numTokensSellToAddToLiquidity = _tTotal.mul(minLiquidityPercent).div(100);
    }
    function setSwapAndLiquifyEnabled(bool enabled) public onlyOwner {
        _swapAndLiquifyEnabled = enabled;
        emit SwapAndLiquifyEnabledUpdated(enabled);
    }
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }
    function setIsExcludedFromSwapAndLiquify(address a, bool b) external onlyOwner {
        _isExcludedFromSwapAndLiquify[a] = b;
    }
    function setUniswapRouter(address r) external onlyOwner {
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(r);
        _uniswapV2Router = uniswapV2Router;
    }
    function setUniswapPair(address p) external onlyOwner {
        _uniswapV2Pair = p;
    }

    // TRANSFER
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "BEP20: transfer from the zero address");
        require(to != address(0), "BEP20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        }

        /*
            - swapAndLiquify will be initiated when token balance of this contract
            has accumulated enough over the minimum number of tokens required.
            - don't get caught in a circular liquidity event.
            - don't swapAndLiquify if sender is uniswap pair.
        */

        uint256 contractTokenBalance = balanceOf(address(this));
        
        if (contractTokenBalance >= _maxTxAmount) {
            contractTokenBalance = _maxTxAmount;
        }
        
        bool isOverMinTokenBalance = contractTokenBalance >= _numTokensSellToAddToLiquidity;
        if (
            isOverMinTokenBalance &&
            !_inSwapAndLiquify &&
            !_isExcludedFromSwapAndLiquify[from] &&
            _swapAndLiquifyEnabled
        ) {
            swapAndLiquify(_numTokensSellToAddToLiquidity);
        }
        
        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
    }
    function swapAndLiquify(uint256 tokenAmount) private lockTheSwap {
        swapTokensForBnb(tokenAmount);
        if (address(this).balance > 0) {
            emit CharitySent(_charityWallet, address(this).balance);
            payable(_charityWallet).transfer(address(this).balance);
        }
    }
    function swapTokensForBnb(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        uint256 previousTaxFee       = _taxFee;
        uint256 previousLiquidityFee = _liquidityFee;
        uint256 previousBurnFee      = _burnFee;

        if (!takeFee) {
            _taxFee       = 0;
            _liquidityFee = 0;
            _burnFee      = 0;
        }
        
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);

        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);

        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);

        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);

        } else {
            _transferStandard(sender, recipient, amount);
        }
        
        if (!takeFee) {
            _taxFee       = previousTaxFee;
            _liquidityFee = previousLiquidityFee;
            _burnFee      = previousBurnFee;
        }
    }
    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);
        uint256 rBurn = tBurn.mul(currentRate);

        _rOwned[sender]    = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);
        uint256 rBurn = tBurn.mul(currentRate);

        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);
        uint256 rBurn = tBurn.mul(currentRate);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tBurn, currentRate);
        uint256 rBurn = tBurn.mul(currentRate);

        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _reflectFee(uint256 rFee, uint256 rBurn, uint256 tFee, uint256 tBurn) private {
        _rTotal     = _rTotal.sub(rFee).sub(rBurn);
        _tFeeTotal  = _tFeeTotal.add(tFee);
        _tBurnTotal = _tBurnTotal.add(tBurn);
        _tTotal     = _tTotal.sub(tBurn);
    }
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256) {
        uint256 tFee       = tAmount.mul(_taxFee).div(10000);
        uint256 tLiquidity = tAmount.mul(_liquidityFee).div(10000);
        uint256 tBurn      = tAmount.mul(_burnFee).div(10000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        tTransferAmount = tTransferAmount.sub(tLiquidity);
        tTransferAmount = tTransferAmount.sub(tBurn);
        return (tTransferAmount, tFee, tLiquidity, tBurn);
    }
    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 tBurn, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount     = tAmount.mul(currentRate);
        uint256 rFee        = tFee.mul(currentRate);
        uint256 rLiquidity  = tLiquidity.mul(currentRate);
        uint256 rBurn       = tBurn.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        rTransferAmount = rTransferAmount.sub(rLiquidity);
        rTransferAmount = rTransferAmount.sub(rBurn);
        return (rAmount, rTransferAmount, rFee);
    }
    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    function takeTransactionFee(address to, uint256 tAmount, uint256 currentRate) private {
        if (tAmount <= 0) { return; }

        uint256 rAmount = tAmount.mul(currentRate);
        _rOwned[to] = _rOwned[to].add(rAmount);
        if (_isExcluded[to]) {
            _tOwned[to] = _tOwned[to].add(tAmount);
        }
    }
}

File 2 of 2: util.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IBEP20 {
    function totalSupply() external view returns (uint256);
    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);
}

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    uint256 private _lockTime;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor (address initialOwner) {
        _owner = initialOwner;
        emit OwnershipTransferred(address(0), initialOwner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function getUnlockTime() public view returns (uint256) {
        return _lockTime;
    }

    function lock(uint256 time) public virtual onlyOwner {
        _previousOwner = _owner;
        _owner = address(0);
        _lockTime = block.timestamp + time;
        emit OwnershipTransferred(_owner, address(0));
    }
    
    function unlock() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission to unlock");
        require(block.timestamp > _lockTime , "Contract is still locked");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    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 removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"cOwner","type":"address"},{"internalType":"address","name":"charityWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"bnbSent","type":"uint256"}],"name":"CharitySent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"_burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_charityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"burnFee","type":"uint256"}],"name":"setBurnFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bool","name":"b","type":"bool"}],"name":"setIsExcludedFromSwapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minLiquidityPercent","type":"uint256"}],"name":"setMinLiquidityPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"p","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"r","type":"address"}],"name":"setUniswapRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526706f05b59d3b20000600b81905562000020906000196200042e565b6200002e906000196200040a565b600c5560c8600f8190556101f46010556011556703782dace9d90000601255655af3107a40006013556014805460ff191660011790553480156200007157600080fd5b5060405162002e8538038062002e858339810160408190526200009491620003d3565b600080546001600160a01b0319166001600160a01b03841690811782556040518492907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a80546001600160a01b0319166001600160a01b0383811691909117909155600c5490831660009081526003602090815260409182902092909255805163c45a015560e01b815290517310ed43c718714eb63d5aa57b78b54704e256024e92839263c45a01559260048083019392829003018186803b1580156200016157600080fd5b505afa15801562000176573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019c9190620003af565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e557600080fd5b505afa158015620001fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002209190620003af565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026957600080fd5b505af11580156200027e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a49190620003af565b601580546001600160a01b0319166001600160a01b039283161781556014805462010000600160b01b0319166201000085851681029190911782556000805485168152600560209081526040808320805460ff1990811660019081179092553085528285208054821683179055600a54891685528285208054821683179055965488168452600883528184208054881682179055945493909304861682528282208054909516909317909355600b5481519081529051938716937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050506200044f565b80516001600160a01b0381168114620003aa57600080fd5b919050565b600060208284031215620003c1578081fd5b620003cc8262000392565b9392505050565b60008060408385031215620003e6578081fd5b620003f18362000392565b9150620004016020840162000392565b90509250929050565b6000828210156200042957634e487b7160e01b81526011600452602481fd5b500390565b6000826200044a57634e487b7160e01b81526012600452602481fd5b500690565b612a26806200045f6000396000f3fe60806040526004361061028c5760003560e01c806370a082311161015a578063b3f22ce3116100c1578063d543dbeb1161007a578063d543dbeb146107e0578063d5aed6bf14610800578063dd46706414610820578063dd62ed3e14610840578063ea2f0b3714610886578063f2fde38b146108a657600080fd5b8063b3f22ce31461073a578063bea9849e14610750578063c0b0fda214610770578063c49b9a8014610786578063cbecede0146107a6578063cea26958146107c057600080fd5b80638ee88c53116101135780638ee88c531461067957806395d89b41146106995780639c74daf0146106c5578063a457c2d7146106e5578063a69df4b514610705578063a9059cbb1461071a57600080fd5b806370a08231146105a7578063715018a6146105c75780637d1db4a5146105dc5780638268a343146105f257806388f82020146106225780638da5cb5b1461065b57600080fd5b80633b124fe7116101fe5780634549b039116101b75780634549b039146104dd57806352390c02146104fd5780635342acb41461051d578063583e056814610556578063602bc62b1461057c5780636bc87c3a1461059157600080fd5b80633b124fe71461041a5780633bd5d173146104305780633c9f861d146104505780634092795214610465578063437823ec1461048557806343a18909146104a557600080fd5b806323b872dd1161025057806323b872dd1461035e5780632a9319cb1461037e5780632d8381191461039e578063313ce567146103be5780633685d419146103da57806339509351146103fa57600080fd5b8063061c82d01461029857806306fdde03146102ba578063095ea7b3146102fa57806313114a9d1461032a57806318160ddd1461034957600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102b86102b336600461279a565b6108c6565b005b3480156102c657600080fd5b50604080518082019091526005815264082c8c8c2f60db1b60208201525b6040516102f191906127d4565b60405180910390f35b34801561030657600080fd5b5061031a610315366004612755565b6108fe565b60405190151581526020016102f1565b34801561033657600080fd5b50600d545b6040519081526020016102f1565b34801561035557600080fd5b50600b5461033b565b34801561036a57600080fd5b5061031a6103793660046126e1565b610915565b34801561038a57600080fd5b506102b861039936600461279a565b61097e565b3480156103aa57600080fd5b5061033b6103b936600461279a565b6109ce565b3480156103ca57600080fd5b50604051600981526020016102f1565b3480156103e657600080fd5b506102b86103f5366004612671565b610a52565b34801561040657600080fd5b5061031a610415366004612755565b610c41565b34801561042657600080fd5b5061033b600f5481565b34801561043c57600080fd5b506102b861044b36600461279a565b610c77565b34801561045c57600080fd5b50600e5461033b565b34801561047157600080fd5b506102b8610480366004612721565b610d86565b34801561049157600080fd5b506102b86104a0366004612671565b610ddb565b3480156104b157600080fd5b50600a546104c5906001600160a01b031681565b6040516001600160a01b0390911681526020016102f1565b3480156104e957600080fd5b5061033b6104f83660046127b2565b610e29565b34801561050957600080fd5b506102b8610518366004612671565b610f01565b34801561052957600080fd5b5061031a610538366004612671565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561056257600080fd5b506014546104c5906201000090046001600160a01b031681565b34801561058857600080fd5b5060025461033b565b34801561059d57600080fd5b5061033b60105481565b3480156105b357600080fd5b5061033b6105c2366004612671565b611054565b3480156105d357600080fd5b506102b86110b3565b3480156105e857600080fd5b5061033b60125481565b3480156105fe57600080fd5b5061031a61060d366004612671565b60086020526000908152604090205460ff1681565b34801561062e57600080fd5b5061031a61063d366004612671565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561066757600080fd5b506000546001600160a01b03166104c5565b34801561068557600080fd5b506102b861069436600461279a565b611115565b3480156106a557600080fd5b5060408051808201909152600381526208288b60eb1b60208201526102e4565b3480156106d157600080fd5b506015546104c5906001600160a01b031681565b3480156106f157600080fd5b5061031a610700366004612755565b611144565b34801561071157600080fd5b506102b8611193565b34801561072657600080fd5b5061031a610735366004612755565b611299565b34801561074657600080fd5b5061033b60135481565b34801561075c57600080fd5b506102b861076b366004612671565b6112a6565b34801561077c57600080fd5b5061033b60115481565b34801561079257600080fd5b506102b86107a1366004612780565b6112fa565b3480156107b257600080fd5b5060145461031a9060ff1681565b3480156107cc57600080fd5b506102b86107db36600461279a565b61136b565b3480156107ec57600080fd5b506102b86107fb36600461279a565b61139a565b34801561080c57600080fd5b506102b861081b366004612671565b6113e4565b34801561082c57600080fd5b506102b861083b36600461279a565b611430565b34801561084c57600080fd5b5061033b61085b3660046126a9565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561089257600080fd5b506102b86108a1366004612671565b6114b5565b3480156108b257600080fd5b506102b86108c1366004612671565b611500565b6000546001600160a01b031633146108f95760405162461bcd60e51b81526004016108f090612827565b60405180910390fd5b600f55565b600061090b3384846115d8565b5060015b92915050565b60006109228484846116fc565b610974843361096f85604051806060016040528060288152602001612984602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190611991565b6115d8565b5060019392505050565b6000546001600160a01b031633146109a85760405162461bcd60e51b81526004016108f090612827565b6109c860646109c283600b546119cb90919063ffffffff16565b90611a4a565b60135550565b6000600c54821115610a355760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016108f0565b6000610a3f611a8c565b9050610a4b8382611a4a565b9392505050565b6000546001600160a01b03163314610a7c5760405162461bcd60e51b81526004016108f090612827565b6001600160a01b03811660009081526006602052604090205460ff16610ae45760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016108f0565b60005b600954811015610c3d57816001600160a01b031660098281548110610b1c57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610c2b5760098054610b4790600190612923565b81548110610b6557634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600980546001600160a01b039092169183908110610b9f57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600690925220805460ff191690556009805480610c0557634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610c358161293a565b915050610ae7565b5050565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161090b91859061096f9086611aaf565b3360008181526006602052604090205460ff1615610cec5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084016108f0565b6000806000610cfa85611b0e565b935093509350506000610d0b611a8c565b90506000610d1c8786868686611ba5565b50506001600160a01b038716600090815260036020526040902054909150610d449082611c19565b6001600160a01b038716600090815260036020526040902055600c54610d6a9082611c19565b600c55600d54610d7a9088611aaf565b600d5550505050505050565b6000546001600160a01b03163314610db05760405162461bcd60e51b81526004016108f090612827565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e055760405162461bcd60e51b81526004016108f090612827565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000600b54831115610e7d5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016108f0565b81610ec2576000806000610e9086611b0e565b935093509350506000610ea1611a8c565b90506000610eb28886868686611ba5565b5090965061090f95505050505050565b6000806000610ed086611b0e565b935093509350506000610ee1611a8c565b90506000610ef28886868686611ba5565b50965061090f95505050505050565b6000546001600160a01b03163314610f2b5760405162461bcd60e51b81526004016108f090612827565b6001600160a01b03811660009081526006602052604090205460ff1615610f945760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016108f0565b6001600160a01b03811660009081526003602052604090205415610fee576001600160a01b038116600090815260036020526040902054610fd4906109ce565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600660205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319169091179055565b6001600160a01b03811660009081526006602052604081205460ff161561109157506001600160a01b031660009081526004602052604090205490565b6001600160a01b03821660009081526003602052604090205461090f906109ce565b6000546001600160a01b031633146110dd5760405162461bcd60e51b81526004016108f090612827565b600080546040516001600160a01b03909116906000805160206129ac833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461113f5760405162461bcd60e51b81526004016108f090612827565b601055565b600061090b338461096f856040518060600160405280602581526020016129cc602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190611991565b6001546001600160a01b031633146111f95760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b60648201526084016108f0565b600254421161124a5760405162461bcd60e51b815260206004820152601860248201527f436f6e7472616374206973207374696c6c206c6f636b6564000000000000000060448201526064016108f0565b600154600080546040516001600160a01b0393841693909116916000805160206129ac83398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b600061090b3384846116fc565b6000546001600160a01b031633146112d05760405162461bcd60e51b81526004016108f090612827565b601480546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6000546001600160a01b031633146113245760405162461bcd60e51b81526004016108f090612827565b6014805460ff19168215159081179091556040519081527f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599060200160405180910390a150565b6000546001600160a01b031633146113955760405162461bcd60e51b81526004016108f090612827565b601155565b6000546001600160a01b031633146113c45760405162461bcd60e51b81526004016108f090612827565b6113de60646109c283600b546119cb90919063ffffffff16565b60125550565b6000546001600160a01b0316331461140e5760405162461bcd60e51b81526004016108f090612827565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461145a5760405162461bcd60e51b81526004016108f090612827565b60008054600180546001600160a01b03199081166001600160a01b0384161790915516905561148981426128cc565b600255600080546040516001600160a01b03909116906000805160206129ac833981519152908390a350565b6000546001600160a01b031633146114df5760405162461bcd60e51b81526004016108f090612827565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b0316331461152a5760405162461bcd60e51b81526004016108f090612827565b6001600160a01b03811661158f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108f0565b600080546040516001600160a01b03808516939216916000805160206129ac83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661163a5760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108f0565b6001600160a01b03821661169b5760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108f0565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166117605760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108f0565b6001600160a01b0382166117c25760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108f0565b600081116118245760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108f0565b6000546001600160a01b0384811691161480159061185057506000546001600160a01b03838116911614155b156118b8576012548111156118b85760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016108f0565b60006118c330611054565b905060125481106118d357506012545b601354811080159081906118ef5750601454610100900460ff16155b801561191457506001600160a01b03851660009081526008602052604090205460ff16155b8015611922575060145460ff165b1561193257611932601354611c5b565b6001600160a01b03851660009081526005602052604090205460019060ff168061197457506001600160a01b03851660009081526005602052604090205460ff165b1561197d575060005b61198986868684611d06565b505050505050565b600081848411156119b55760405162461bcd60e51b81526004016108f091906127d4565b5060006119c28486612923565b95945050505050565b6000826119da5750600061090f565b60006119e68385612904565b9050826119f385836128e4565b14610a4b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108f0565b6000610a4b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e96565b6000806000611a99611ec4565b9092509050611aa88282611a4a565b9250505090565b600080611abc83856128cc565b905083811015610a4b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108f0565b6000806000806000611b316127106109c2600f54896119cb90919063ffffffff16565b90506000611b506127106109c26010548a6119cb90919063ffffffff16565b90506000611b6f6127106109c26011548b6119cb90919063ffffffff16565b90506000611b7d8985611c19565b9050611b898184611c19565b9050611b958183611c19565b9993985091965094509092505050565b6000808080611bb489866119cb565b90506000611bc289876119cb565b90506000611bd089886119cb565b90506000611bde89896119cb565b90506000611bec8585611c19565b9050611bf88184611c19565b9050611c048183611c19565b949d949c50929a509298505050505050505050565b6000610a4b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611991565b6014805461ff001916610100179055611c738161207e565b4715611cf857600a54604080516001600160a01b0390921682524760208301527ed5888abd48df22072b354a454d4c2ee6a04aba2ccc348895e26a024e2c20ba910160405180910390a1600a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611cf6573d6000803e3d6000fd5b505b506014805461ff0019169055565b600f5460105460115483611d24576000600f81905560108190556011555b6001600160a01b03871660009081526006602052604090205460ff168015611d6557506001600160a01b03861660009081526006602052604090205460ff16155b15611d7a57611d75878787612220565b611e78565b6001600160a01b03871660009081526006602052604090205460ff16158015611dbb57506001600160a01b03861660009081526006602052604090205460ff165b15611dcb57611d75878787612377565b6001600160a01b03871660009081526006602052604090205460ff16158015611e0d57506001600160a01b03861660009081526006602052604090205460ff16155b15611e1d57611d7587878761244a565b6001600160a01b03871660009081526006602052604090205460ff168015611e5d57506001600160a01b03861660009081526006602052604090205460ff165b15611e6d57611d758787876124b8565b611e7887878761244a565b83611e8d57600f839055601082905560118190555b50505050505050565b60008183611eb75760405162461bcd60e51b81526004016108f091906127d4565b5060006119c284866128e4565b600c54600b546000918291825b60095481101561204e57826003600060098481548110611f0157634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611f7a5750816004600060098481548110611f5357634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611f9057600c54600b54945094505050509091565b611fe46003600060098481548110611fb857634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611c19565b925061203a600460006009848154811061200e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611c19565b9150806120468161293a565b915050611ed1565b50600b54600c5461205e91611a4a565b82101561207557600c54600b549350935050509091565b90939092509050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106120c157634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050601460029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561212f57600080fd5b505afa158015612143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612167919061268d565b8160018151811061218857634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526014546121b491309162010000900416846115d8565b60145460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac947906121f290859060009086903090429060040161285c565b600060405180830381600087803b15801561220c57600080fd5b505af1158015611989573d6000803e3d6000fd5b60008060008061222f85611b0e565b93509350935093506000612241611a8c565b905060008060006122558988888888611ba5565b91945092509050600061226886866119cb565b6001600160a01b038d1660009081526004602052604090205490915061228e908b611c19565b6001600160a01b038d166000908152600460209081526040808320939093556003905220546122bd9085611c19565b6001600160a01b03808e1660009081526003602052604080822093909355908d16815220546122ec9084611aaf565b6001600160a01b038c16600090815260036020526040902055612310308887612555565b61231c82828a89612604565b8a6001600160a01b03168c6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8b60405161236191815260200190565b60405180910390a3505050505050505050505050565b60008060008061238685611b0e565b93509350935093506000612398611a8c565b905060008060006123ac8988888888611ba5565b9194509250905060006123bf86866119cb565b6001600160a01b038d166000908152600360205260409020549091506123e59085611c19565b6001600160a01b03808e16600090815260036020908152604080832094909455918e1681526004909152205461241b908a611aaf565b6001600160a01b038c166000908152600460209081526040808320939093556003905220546122ec9084611aaf565b60008060008061245985611b0e565b9350935093509350600061246b611a8c565b9050600080600061247f8988888888611ba5565b91945092509050600061249286866119cb565b6001600160a01b038d166000908152600360205260409020549091506122bd9085611c19565b6000806000806124c785611b0e565b935093509350935060006124d9611a8c565b905060008060006124ed8988888888611ba5565b91945092509050600061250086866119cb565b6001600160a01b038d16600090815260046020526040902054909150612526908b611c19565b6001600160a01b038d166000908152600460209081526040808320939093556003905220546123e59085611c19565b6000821161256257505050565b600061256e83836119cb565b6001600160a01b0385166000908152600360205260409020549091506125949082611aaf565b6001600160a01b03851660009081526003602090815260408083209390935560069052205460ff16156125fe576001600160a01b0384166000908152600460205260409020546125e49084611aaf565b6001600160a01b0385166000908152600460205260409020555b50505050565b6126238361261d86600c54611c1990919063ffffffff16565b90611c19565b600c55600d546126339083611aaf565b600d55600e546126439082611aaf565b600e55600b546126539082611c19565b600b5550505050565b8035801515811461266c57600080fd5b919050565b600060208284031215612682578081fd5b8135610a4b8161296b565b60006020828403121561269e578081fd5b8151610a4b8161296b565b600080604083850312156126bb578081fd5b82356126c68161296b565b915060208301356126d68161296b565b809150509250929050565b6000806000606084860312156126f5578081fd5b83356127008161296b565b925060208401356127108161296b565b929592945050506040919091013590565b60008060408385031215612733578182fd5b823561273e8161296b565b915061274c6020840161265c565b90509250929050565b60008060408385031215612767578182fd5b82356127728161296b565b946020939093013593505050565b600060208284031215612791578081fd5b610a4b8261265c565b6000602082840312156127ab578081fd5b5035919050565b600080604083850312156127c4578182fd5b8235915061274c6020840161265c565b6000602080835283518082850152825b81811015612800578581018301518582016040015282016127e4565b818111156128115783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156128ab5784516001600160a01b031683529383019391830191600101612886565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156128df576128df612955565b500190565b6000826128ff57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561291e5761291e612955565b500290565b60008282101561293557612935612955565b500390565b600060001982141561294e5761294e612955565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461298057600080fd5b5056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e042455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220bce7661c696ed49b46d4a20651bd5d5fac138dc52f929816124561e23132f04764736f6c634300080400330000000000000000000000006aacda0733c7e405489d3544f8eaa4d0f8a6b92e00000000000000000000000090be519068d68e07849d691635d19962acd4335f

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

0000000000000000000000006aacda0733c7e405489d3544f8eaa4d0f8a6b92e00000000000000000000000090be519068d68e07849d691635d19962acd4335f

-----Decoded View---------------
Arg [0] : cOwner (address): 0x6aacda0733c7e405489d3544f8eaa4d0f8a6b92e
Arg [1] : charityWallet (address): 0x90be519068d68e07849d691635d19962acd4335f

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000006aacda0733c7e405489d3544f8eaa4d0f8a6b92e
Arg [1] : 00000000000000000000000090be519068d68e07849d691635d19962acd4335f


Deployed ByteCode Sourcemap

1387:18438:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9229:94;;;;;;;;;;-1:-1:-1;9229:94:0;;;;;:::i;:::-;;:::i;:::-;;4237:81;;;;;;;;;;-1:-1:-1;4306:5:0;;;;;;;;;;;;-1:-1:-1;;;4306:5:0;;;;4237:81;;;;;;;:::i;:::-;;;;;;;;5112:158;;;;;;;;;;-1:-1:-1;5112:158:0;;;;;:::i;:::-;;:::i;:::-;;;3546:14:2;;3539:22;3521:41;;3509:2;3494:18;5112:158:0;3476:92:2;8821:85:0;;;;;;;;;;-1:-1:-1;8889:10:0;;8821:85;;;10822:25:2;;;10810:2;10795:18;8821:85:0;10777:76:2;4499:93:0;;;;;;;;;;-1:-1:-1;4578:7:0;;4499:93;;5611:309;;;;;;;;;;-1:-1:-1;5611:309:0;;;;;:::i;:::-;;:::i;9691:171::-;;;;;;;;;;-1:-1:-1;9691:171:0;;;;;:::i;:::-;;:::i;7764:249::-;;;;;;;;;;-1:-1:-1;7764:249:0;;;;;:::i;:::-;;:::i;4413:81::-;;;;;;;;;;-1:-1:-1;4413:81:0;;2251:1;11988:36:2;;11976:2;11961:18;4413:81:0;11943:87:2;8349:467:0;;;;;;;;;;-1:-1:-1;8349:467:0;;;;;:::i;:::-;;:::i;5925:215::-;;;;;;;;;;-1:-1:-1;5925:215:0;;;;;:::i;:::-;;:::i;2263:34::-;;;;;;;;;;;;;;;;6435:547;;;;;;;;;;-1:-1:-1;6435:547:0;;;;;:::i;:::-;;:::i;8911:86::-;;;;;;;;;;-1:-1:-1;8979:11:0;;8911:86;;10287:132;;;;;;;;;;-1:-1:-1;10287:132:0;;;;;:::i;:::-;;:::i;9002:109::-;;;;;;;;;;-1:-1:-1;9002:109:0;;;;;:::i;:::-;;:::i;1861:29::-;;;;;;;;;;-1:-1:-1;1861:29:0;;;;-1:-1:-1;;;;;1861:29:0;;;;;;-1:-1:-1;;;;;3058:32:2;;;3040:51;;3028:2;3013:18;1861:29:0;2995:102:2;6987:772:0;;;;;;;;;;-1:-1:-1;6987:772:0;;;;;:::i;:::-;;:::i;8018:326::-;;;;;;;;;;-1:-1:-1;8018:326:0;;;;;:::i;:::-;;:::i;10038:121::-;;;;;;;;;;-1:-1:-1;10038:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;10125:27:0;10102:4;10125:27;;;:18;:27;;;;;;;;;10038:121;2878:42;;;;;;;;;;-1:-1:-1;2878:42:0;;;;;;;-1:-1:-1;;;;;2878:42:0;;;3632:88:1;;;;;;;;;;-1:-1:-1;3704:9:1;;3632:88;;2358:34:0;;;;;;;;;;;;;;;;4597:195;;;;;;;;;;-1:-1:-1;4597:195:0;;;;;:::i;:::-;;:::i;3235:145:1:-;;;;;;;;;;;;;:::i;2633:65:0:-;;;;;;;;;;;;;;;;1759:62;;;;;;;;;;-1:-1:-1;1759:62:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10164:118;;;;;;;;;;-1:-1:-1;10164:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;10255:20:0;10232:4;10255:20;;;:11;:20;;;;;;;;;10164:118;3030:77:1;;;;;;;;;;-1:-1:-1;3068:7:1;3094:6;-1:-1:-1;;;;;3094:6:1;3030:77;;9328:118:0;;;;;;;;;;-1:-1:-1;9328:118:0;;;;;:::i;:::-;;:::i;4323:85::-;;;;;;;;;;-1:-1:-1;4394:7:0;;;;;;;;;;;;-1:-1:-1;;;4394:7:0;;;;4323:85;;2926:40;;;;;;;;;;-1:-1:-1;2926:40:0;;;;-1:-1:-1;;;;;2926:40:0;;;6145:266;;;;;;;;;;-1:-1:-1;6145:266:0;;;;;:::i;:::-;;:::i;3957:293:1:-;;;;;;;;;;;;;:::i;4797:164:0:-;;;;;;;;;;-1:-1:-1;4797:164:0;;;;;:::i;:::-;;:::i;2704:62::-;;;;;;;;;;;;;;;;10424:175;;;;;;;;;;-1:-1:-1;10424:175:0;;;;;:::i;:::-;;:::i;2555:34::-;;;;;;;;;;;;;;;;9867:166;;;;;;;;;;-1:-1:-1;9867:166:0;;;;;:::i;:::-;;:::i;2794:42::-;;;;;;;;;;-1:-1:-1;2794:42:0;;;;;;;;9451:98;;;;;;;;;;-1:-1:-1;9451:98:0;;;;;:::i;:::-;;:::i;9554:132::-;;;;;;;;;;-1:-1:-1;9554:132:0;;;;;:::i;:::-;;:::i;10604:89::-;;;;;;;;;;-1:-1:-1;10604:89:0;;;;;:::i;:::-;;:::i;3726:221:1:-;;;;;;;;;;-1:-1:-1;3726:221:1;;;;;:::i;:::-;;:::i;4966:141:0:-;;;;;;;;;;-1:-1:-1;4966:141:0;;;;;:::i;:::-;-1:-1:-1;;;;;5073:18:0;;;5047:7;5073:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4966:141;9116:108;;;;;;;;;;-1:-1:-1;9116:108:0;;;;;:::i;:::-;;:::i;3386:240:1:-;;;;;;;;;;-1:-1:-1;3386:240:1;;;;;:::i;:::-;;:::i;9229:94:0:-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;;;;;;;;;9300:7:0::1;:16:::0;9229:94::o;5112:158::-;5187:4;5203:39;169:10:1;5226:7:0;5235:6;5203:8;:39::i;:::-;-1:-1:-1;5259:4:0;5112:158;;;;;:::o;5611:309::-;5709:4;5725:36;5735:6;5743:9;5754:6;5725:9;:36::i;:::-;5771:121;5780:6;169:10:1;5802:89:0;5840:6;5802:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5802:19:0;;;;;;:11;:19;;;;;;;;169:10:1;5802:33:0;;;;;;;;;;:37;:89::i;:::-;5771:8;:121::i;:::-;-1:-1:-1;5909:4:0;5611:309;;;;;:::o;9691:171::-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;9814:41:0::1;9851:3;9814:32;9826:19;9814:7;;:11;;:32;;;;:::i;:::-;:36:::0;::::1;:41::i;:::-;9781:30;:74:::0;-1:-1:-1;9691:171:0:o;7764:249::-;7830:7;7868;;7857;:18;;7849:73;;;;-1:-1:-1;;;7849:73:0;;5782:2:2;7849:73:0;;;5764:21:2;5821:2;5801:18;;;5794:30;5860:34;5840:18;;;5833:62;-1:-1:-1;;;5911:18:2;;;5904:40;5961:19;;7849:73:0;5754:232:2;7849:73:0;7933:19;7955:10;:8;:10::i;:::-;7933:32;-1:-1:-1;7982:24:0;:7;7933:32;7982:11;:24::i;:::-;7975:31;7764:249;-1:-1:-1;;;7764:249:0:o;8349:467::-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;8428:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;8420:60;;;::::0;-1:-1:-1;;;8420:60:0;;6956:2:2;8420:60:0::1;::::0;::::1;6938:21:2::0;6995:2;6975:18;;;6968:30;7034:29;7014:18;;;7007:57;7081:18;;8420:60:0::1;6928:177:2::0;8420:60:0::1;8496:9;8491:319;8515:9;:16:::0;8511:20;::::1;8491:319;;;8572:7;-1:-1:-1::0;;;;;8556:23:0::1;:9;8566:1;8556:12;;;;;;-1:-1:-1::0;;;8556:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;8556:12:0::1;:23;8552:248;;;8614:9;8624:16:::0;;:20:::1;::::0;8643:1:::1;::::0;8624:20:::1;:::i;:::-;8614:31;;;;;;-1:-1:-1::0;;;8614:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;8599:9:::1;:12:::0;;-1:-1:-1;;;;;8614:31:0;;::::1;::::0;8609:1;;8599:12;::::1;;;-1:-1:-1::0;;;8599:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;8599:46:0::1;-1:-1:-1::0;;;;;8599:46:0;;::::1;;::::0;;8663:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;8701:11:::1;:20:::0;;;;:28;;-1:-1:-1;;8701:28:0::1;::::0;;8747:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;8747:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;8747:15:0;;;;;-1:-1:-1;;;;;;8747:15:0::1;::::0;;;;;8491:319:::1;8349:467:::0;:::o;8552:248::-:1;8533:3:::0;::::1;::::0;::::1;:::i;:::-;;;;8491:319;;;;8349:467:::0;:::o;5925:215::-;169:10:1;6013:4:0;6061:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6061:34:0;;;;;;;;;;6013:4;;6029:83;;6052:7;;6061:50;;6100:10;6061:38;:50::i;6435:547::-;169:10:1;6486:14:0;6534:19;;;:11;:19;;;;;;;;6533:20;6525:77;;;;-1:-1:-1;;;6525:77:0;;9658:2:2;6525:77:0;;;9640:21:2;9697:2;9677:18;;;9670:30;9736:34;9716:18;;;9709:62;-1:-1:-1;;;9787:18:2;;;9780:42;9839:19;;6525:77:0;9630:234:2;6525:77:0;6616:12;6630:18;6650:13;6667:20;6679:7;6667:11;:20::i;:::-;6613:74;;;;;;;6697:19;6719:10;:8;:10::i;:::-;6697:32;;6740:15;6761:58;6773:7;6782:4;6788:10;6800:5;6807:11;6761;:58::i;:::-;-1:-1:-1;;;;;;;6848:15:0;;;;;;:7;:15;;;;;;6739:80;;-1:-1:-1;6848:28:0;;6739:80;6848:19;:28::i;:::-;-1:-1:-1;;;;;6830:15:0;;;;;;:7;:15;;;;;:46;6904:7;;:20;;6916:7;6904:11;:20::i;:::-;6886:7;:38;6952:10;;:23;;6967:7;6952:14;:23::i;:::-;6934:10;:41;-1:-1:-1;;;;;;;6435:547:0:o;10287:132::-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;10376:32:0;;;::::1;;::::0;;;:29:::1;:32;::::0;;;;:36;;-1:-1:-1;;10376:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10287:132::o;9002:109::-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9070:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;9070:34:0::1;9100:4;9070:34;::::0;;9002:109::o;6987:772::-;7077:7;7115;;7104;:18;;7096:62;;;;-1:-1:-1;;;7096:62:0;;7312:2:2;7096:62:0;;;7294:21:2;7351:2;7331:18;;;7324:30;7390:33;7370:18;;;7363:61;7441:18;;7096:62:0;7284:181:2;7096:62:0;7174:17;7169:584;;7210:12;7224:18;7244:13;7261:20;7273:7;7261:11;:20::i;:::-;7207:74;;;;;;;7295:19;7317:10;:8;:10::i;:::-;7295:32;;7342:15;7363:58;7375:7;7384:4;7390:10;7402:5;7409:11;7363;:58::i;:::-;-1:-1:-1;7341:80:0;;-1:-1:-1;7436:14:0;;-1:-1:-1;;;;;;7436:14:0;7169:584;7485:12;7499:18;7519:13;7536:20;7548:7;7536:11;:20::i;:::-;7482:74;;;;;;;7570:19;7592:10;:8;:10::i;:::-;7570:32;;7619:23;7647:58;7659:7;7668:4;7674:10;7686:5;7693:11;7647;:58::i;:::-;-1:-1:-1;7616:89:0;-1:-1:-1;7720:22:0;;-1:-1:-1;;;;;;7720:22:0;8018:326;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;8098:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;8097:21;8089:61;;;::::0;-1:-1:-1;;;8089:61:0;;6956:2:2;8089:61:0::1;::::0;::::1;6938:21:2::0;6995:2;6975:18;;;6968:30;7034:29;7014:18;;;7007:57;7081:18;;8089:61:0::1;6928:177:2::0;8089:61:0::1;-1:-1:-1::0;;;;;8165:16:0;::::1;8184:1;8165:16:::0;;;:7:::1;:16;::::0;;;;;:20;8161:107:::1;;-1:-1:-1::0;;;;;8240:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;8220:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;8201:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;8161:107:::1;-1:-1:-1::0;;;;;8277:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;8277:27:0::1;8300:4;8277:27:::0;;::::1;::::0;;;8314:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;8314:23:0::1;::::0;;::::1;::::0;;8018:326::o;4597:195::-;-1:-1:-1;;;;;4686:20:0;;4663:7;4686:20;;;:11;:20;;;;;;;;4682:49;;;-1:-1:-1;;;;;;4715:16:0;;;;;:7;:16;;;;;;;4597:195::o;4682:49::-;-1:-1:-1;;;;;4768:16:0;;;;;;:7;:16;;;;;;4748:37;;:19;:37::i;3235:145:1:-;3152:6;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;3341:1:::1;3325:6:::0;;3304:40:::1;::::0;-1:-1:-1;;;;;3325:6:1;;::::1;::::0;-1:-1:-1;;;;;;;;;;;3304:40:1;3341:1;;3304:40:::1;3371:1;3354:19:::0;;-1:-1:-1;;;;;;3354:19:1::1;::::0;;3235:145::o;9328:118:0:-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;9411:13:0::1;:28:::0;9328:118::o;6145:266::-;6238:4;6254:129;169:10:1;6277:7:0;6286:96;6325:15;6286:96;;;;;;;;;;;;;;;;;169:10:1;6286:25:0;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6286:34:0;;;;;;;;;;;;:38;:96::i;3957:293:1:-;4008:14;;-1:-1:-1;;;;;4008:14:1;4026:10;4008:28;4000:76;;;;-1:-1:-1;;;4000:76:1;;10474:2:2;4000:76:1;;;10456:21:2;10513:2;10493:18;;;10486:30;10552:34;10532:18;;;10525:62;-1:-1:-1;;;10603:18:2;;;10596:33;10646:19;;4000:76:1;10446:225:2;4000:76:1;4112:9;;4094:15;:27;4086:65;;;;-1:-1:-1;;;4086:65:1;;5024:2:2;4086:65:1;;;5006:21:2;5063:2;5043:18;;;5036:30;5102:26;5082:18;;;5075:54;5146:18;;4086:65:1;4996:174:2;4086:65:1;4195:14;;;4187:6;;4166:44;;-1:-1:-1;;;;;4195:14:1;;;;4187:6;;;;-1:-1:-1;;;;;;;;;;;4166:44:1;;4229:14;;;4220:23;;-1:-1:-1;;;;;;4220:23:1;-1:-1:-1;;;;;4229:14:1;;;4220:23;;;;;;3957:293::o;4797:164:0:-;4875:4;4891:42;169:10:1;4915:9:0;4926:6;4891:9;:42::i;10424:175::-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;10558:16:0::1;:34:::0;;-1:-1:-1;;;;;10558:34:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;10558:34:0;;::::1;::::0;;;::::1;::::0;;10424:175::o;9867:166::-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;9942:22:0::1;:32:::0;;-1:-1:-1;;9942:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;9989:37:::1;::::0;3521:41:2;;;9989:37:0::1;::::0;3509:2:2;3494:18;9989:37:0::1;;;;;;;9867:166:::0;:::o;9451:98::-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;9524:8:0::1;:18:::0;9451:98::o;9554:132::-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;9645:34:0::1;9675:3;9645:25;9657:12;9645:7;;:11;;:25;;;;:::i;:34::-;9630:12;:49:::0;-1:-1:-1;9554:132:0:o;10604:89::-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;10668:14:0::1;:18:::0;;-1:-1:-1;;;;;;10668:18:0::1;-1:-1:-1::0;;;;;10668:18:0;;;::::1;::::0;;;::::1;::::0;;10604:89::o;3726:221:1:-;3152:6;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;3806:6:::1;::::0;;;3789:23;;-1:-1:-1;;;;;;3789:23:1;;::::1;-1:-1:-1::0;;;;;3806:6:1;::::1;3789:23;::::0;;;3822:19:::1;::::0;;3863:22:::1;3881:4:::0;3863:15:::1;:22;:::i;:::-;3851:9;:34:::0;3937:1:::1;3921:6:::0;;3900:40:::1;::::0;-1:-1:-1;;;;;3921:6:1;;::::1;::::0;-1:-1:-1;;;;;;;;;;;3900:40:1;3937:1;;3900:40:::1;3726:221:::0;:::o;9116:108:0:-;3152:6:1;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9182:27:0::1;9212:5;9182:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;9182:35:0::1;::::0;;9116:108::o;3386:240:1:-;3152:6;;-1:-1:-1;;;;;3152:6:1;169:10;3152:22;3144:67;;;;-1:-1:-1;;;3144:67:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;3474:22:1;::::1;3466:73;;;::::0;-1:-1:-1;;;3466:73:1;;6193:2:2;3466:73:1::1;::::0;::::1;6175:21:2::0;6232:2;6212:18;;;6205:30;6271:34;6251:18;;;6244:62;-1:-1:-1;;;6322:18:2;;;6315:36;6368:19;;3466:73:1::1;6165:228:2::0;3466:73:1::1;3575:6;::::0;;3554:38:::1;::::0;-1:-1:-1;;;;;3554:38:1;;::::1;::::0;3575:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;3554:38:1;::::1;3602:6;:17:::0;;-1:-1:-1;;;;;;3602:17:1::1;-1:-1:-1::0;;;;;3602:17:1;;;::::1;::::0;;;::::1;::::0;;3386:240::o;5275:331:0:-;-1:-1:-1;;;;;5367:19:0;;5359:68;;;;-1:-1:-1;;;5359:68:0;;5377:2:2;5359:68:0;;;:21:2;5416:2;5396:18;;;5389:30;5455:34;5435:18;;;5428:62;-1:-1:-1;;;5506:18:2;;;5499:34;5550:19;;5359:68:0;5349:226:2;5359:68:0;-1:-1:-1;;;;;5445:21:0;;5437:68;;;;-1:-1:-1;;;5437:68:0;;10071:2:2;5437:68:0;;;10053:21:2;10110:2;10090:18;;;10083:30;10149:34;10129:18;;;10122:62;-1:-1:-1;;;10200:18:2;;;10193:32;10242:19;;5437:68:0;10043:224:2;5437:68:0;-1:-1:-1;;;;;5516:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5567:32;;10822:25:2;;;5567:32:0;;10795:18:2;5567:32:0;;;;;;;5275:331;;;:::o;10715:1524::-;-1:-1:-1;;;;;10832:18:0;;10824:68;;;;-1:-1:-1;;;10824:68:0;;4618:2:2;10824:68:0;;;4600:21:2;4657:2;4637:18;;;4630:30;4696:34;4676:18;;;4669:62;-1:-1:-1;;;4747:18:2;;;4740:35;4792:19;;10824:68:0;4590:227:2;10824:68:0;-1:-1:-1;;;;;10910:16:0;;10902:64;;;;-1:-1:-1;;;10902:64:0;;9254:2:2;10902:64:0;;;9236:21:2;9293:2;9273:18;;;9266:30;9332:34;9312:18;;;9305:62;-1:-1:-1;;;9383:18:2;;;9376:33;9426:19;;10902:64:0;9226:225:2;10902:64:0;10993:1;10984:6;:10;10976:64;;;;-1:-1:-1;;;10976:64:0;;8844:2:2;10976:64:0;;;8826:21:2;8883:2;8863:18;;;8856:30;8922:34;8902:18;;;8895:62;-1:-1:-1;;;8973:18:2;;;8966:39;9022:19;;10976:64:0;8816:231:2;10976:64:0;3068:7:1;3094:6;-1:-1:-1;;;;;11055:15:0;;;3094:6:1;;11055:15:0;;;;:32;;-1:-1:-1;3068:7:1;3094:6;-1:-1:-1;;;;;11074:13:0;;;3094:6:1;;11074:13:0;;11055:32;11051:138;;;11121:12;;11111:6;:22;;11103:75;;;;-1:-1:-1;;;11103:75:0;;7672:2:2;11103:75:0;;;7654:21:2;7711:2;7691:18;;;7684:30;7750:34;7730:18;;;7723:62;-1:-1:-1;;;7801:18:2;;;7794:38;7849:19;;11103:75:0;7644:230:2;11103:75:0;11508:28;11539:24;11557:4;11539:9;:24::i;:::-;11508:55;;11610:12;;11586:20;:36;11582:102;;-1:-1:-1;11661:12:0;;11582:102;11755:30;;11731:54;;;;;;;11812:55;;-1:-1:-1;11850:17:0;;;;;;;11849:18;11812:55;:107;;;;-1:-1:-1;;;;;;11884:35:0;;;;;;:29;:35;;;;;;;;11883:36;11812:107;:145;;;;-1:-1:-1;11935:22:0;;;;11812:145;11795:244;;;11982:46;11997:30;;11982:14;:46::i;:::-;-1:-1:-1;;;;;12090:24:0;;12057:12;12090:24;;;:18;:24;;;;;;12072:4;;12090:24;;;:50;;-1:-1:-1;;;;;;12118:22:0;;;;;;:18;:22;;;;;;;;12090:50;12086:96;;;-1:-1:-1;12166:5:0;12086:96;12191:41;12206:4;12212:2;12216:6;12224:7;12191:14;:41::i;:::-;10715:1524;;;;;;:::o;1439:187:1:-;1525:7;1560:12;1552:6;;;;1544:29;;;;-1:-1:-1;;;1544:29:1;;;;;;;;:::i;:::-;-1:-1:-1;1583:9:1;1595:5;1599:1;1595;:5;:::i;:::-;1583:17;1439:187;-1:-1:-1;;;;;1439:187:1:o;1632:221::-;1690:7;1713:6;1709:25;;-1:-1:-1;1730:1:1;1723:8;;1709:25;1744:9;1756:5;1760:1;1756;:5;:::i;:::-;1744:17;-1:-1:-1;1788:1:1;1779:5;1783:1;1744:17;1779:5;:::i;:::-;:10;1771:56;;;;-1:-1:-1;;;1771:56:1;;8081:2:2;1771:56:1;;;8063:21:2;8120:2;8100:18;;;8093:30;8159:34;8139:18;;;8132:62;-1:-1:-1;;;8210:18:2;;;8203:31;8251:19;;1771:56:1;8053:223:2;1859:130:1;1917:7;1943:39;1947:1;1950;1943:39;;;;;;;;;;;;;;;;;:3;:39::i;18777:160:0:-;18818:7;18838:15;18855;18874:19;:17;:19::i;:::-;18837:56;;-1:-1:-1;18837:56:0;-1:-1:-1;18910:20:0;18837:56;;18910:11;:20::i;:::-;18903:27;;;;18777:160;:::o;1117:176:1:-;1175:7;;1206:5;1210:1;1206;:5;:::i;:::-;1194:17;;1234:1;1229;:6;;1221:46;;;;-1:-1:-1;;;1221:46:1;;6600:2:2;1221:46:1;;;6582:21:2;6639:2;6619:18;;;6612:30;6678:29;6658:18;;;6651:57;6725:18;;1221:46:1;6572:177:2;17645:521:0;17705:7;17714;17723;17732;17751:12;17772:31;17797:5;17772:20;17784:7;;17772;:11;;:20;;;;:::i;:31::-;17751:52;;17813:18;17834:37;17865:5;17834:26;17846:13;;17834:7;:11;;:26;;;;:::i;:37::-;17813:58;;17881:13;17902:32;17928:5;17902:21;17914:8;;17902:7;:11;;:21;;;;:::i;:32::-;17881:53;-1:-1:-1;17944:23:0;17970:17;:7;17982:4;17970:11;:17::i;:::-;17944:43;-1:-1:-1;18015:31:0;17944:43;18035:10;18015:19;:31::i;:::-;17997:49;-1:-1:-1;18074:26:0;17997:49;18094:5;18074:19;:26::i;:::-;18056:44;18135:4;;-1:-1:-1;18141:10:0;;-1:-1:-1;18141:10:0;-1:-1:-1;17645:521:0;;-1:-1:-1;;;17645:521:0:o;18171:601::-;18301:7;;;;18360:24;:7;18372:11;18360;:24::i;:::-;18338:46;-1:-1:-1;18394:12:0;18416:21;:4;18425:11;18416:8;:21::i;:::-;18394:43;-1:-1:-1;18447:18:0;18469:27;:10;18484:11;18469:14;:27::i;:::-;18447:49;-1:-1:-1;18506:13:0;18528:22;:5;18538:11;18528:9;:22::i;:::-;18506:44;-1:-1:-1;18560:23:0;18586:17;:7;18598:4;18586:11;:17::i;:::-;18560:43;-1:-1:-1;18631:31:0;18560:43;18651:10;18631:19;:31::i;:::-;18613:49;-1:-1:-1;18690:26:0;18613:49;18710:5;18690:19;:26::i;:::-;18734:7;;;;-1:-1:-1;18760:4:0;;-1:-1:-1;18171:601:0;;-1:-1:-1;;;;;;;;;18171:601:0:o;1299:134:1:-;1357:7;1383:43;1387:1;1390;1383:43;;;;;;;;;;;;;;;;;:3;:43::i;12244:300:0:-;3203:17;:24;;-1:-1:-1;;3203:24:0;;;;;12319:29:::1;12336:11:::0;12319:16:::1;:29::i;:::-;12362:21;:25:::0;12358:180:::1;;12420:14;::::0;12408:50:::1;::::0;;-1:-1:-1;;;;;12420:14:0;;::::1;3276:51:2::0;;12436:21:0::1;3358:2:2::0;3343:18;;3336:34;12408:50:0::1;::::0;3249:18:2;12408:50:0::1;;;;;;;12480:14;::::0;12472:55:::1;::::0;-1:-1:-1;;;;;12480:14:0;;::::1;::::0;12505:21:::1;12472:55:::0;::::1;;;::::0;12480:14:::1;12472:55:::0;12480:14;12472:55;12505:21;12480:14;12472:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12358:180;-1:-1:-1::0;3248:17:0;:25;;-1:-1:-1;;3248:25:0;;;12244:300::o;13018:1174::-;13156:7;;13204:13;;13258:8;;13282:7;13277:118;;13321:1;13305:7;:17;;;13336:13;:17;;;13367:8;:17;13277:118;-1:-1:-1;;;;;13417:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;13441:22:0;;;;;;:11;:22;;;;;;;;13440:23;13417:46;13413:591;;;13479:48;13501:6;13509:9;13520:6;13479:21;:48::i;:::-;13413:591;;;-1:-1:-1;;;;;13550:19:0;;;;;;:11;:19;;;;;;;;13549:20;:46;;;;-1:-1:-1;;;;;;13573:22:0;;;;;;:11;:22;;;;;;;;13549:46;13545:459;;;13611:46;13631:6;13639:9;13650:6;13611:19;:46::i;13545:459::-;-1:-1:-1;;;;;13680:19:0;;;;;;:11;:19;;;;;;;;13679:20;:47;;;;-1:-1:-1;;;;;;13704:22:0;;;;;;:11;:22;;;;;;;;13703:23;13679:47;13675:329;;;13742:44;13760:6;13768:9;13779:6;13742:17;:44::i;13675:329::-;-1:-1:-1;;;;;13808:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;13831:22:0;;;;;;:11;:22;;;;;;;;13808:45;13804:200;;;13869:48;13891:6;13899:9;13910:6;13869:21;:48::i;13804:200::-;13949:44;13967:6;13975:9;13986:6;13949:17;:44::i;:::-;14027:7;14022:164;;14050:7;:30;;;14094:13;:36;;;14144:8;:31;;;14022:164;13018:1174;;;;;;;:::o;1995:272:1:-;2081:7;2115:12;2108:5;2100:28;;;;-1:-1:-1;;;2100:28:1;;;;;;;;:::i;:::-;-1:-1:-1;2138:9:1;2150:5;2154:1;2150;:5;:::i;18942:551:0:-;19038:7;;19073;;18992;;;;;19096:285;19120:9;:16;19116:20;;19096:285;;;19185:7;19161;:21;19169:9;19179:1;19169:12;;;;;;-1:-1:-1;;;19169:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19169:12:0;19161:21;;;;;;;;;;;;;:31;;:66;;;19220:7;19196;:21;19204:9;19214:1;19204:12;;;;;;-1:-1:-1;;;19204:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19204:12:0;19196:21;;;;;;;;;;;;;:31;19161:66;19157:97;;;19237:7;;19246;;19229:25;;;;;;;18942:551;;:::o;19157:97::-;19278:34;19290:7;:21;19298:9;19308:1;19298:12;;;;;;-1:-1:-1;;;19298:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19298:12:0;19290:21;;;;;;;;;;;;;19278:7;;:11;:34::i;:::-;19268:44;;19336:34;19348:7;:21;19356:9;19366:1;19356:12;;;;;;-1:-1:-1;;;19356:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19356:12:0;19348:21;;;;;;;;;;;;;19336:7;;:11;:34::i;:::-;19326:44;-1:-1:-1;19138:3:0;;;;:::i;:::-;;;;19096:285;;;-1:-1:-1;19416:7:0;;19404;;:20;;:11;:20::i;:::-;19394:7;:30;19390:61;;;19434:7;;19443;;19426:25;;;;;;18942:551;;:::o;19390:61::-;19469:7;;19478;;-1:-1:-1;18942:551:0;-1:-1:-1;18942:551:0:o;12549:463::-;12638:16;;;12652:1;12638:16;;;;;;;;12614:21;;12638:16;;;;;;;;;;-1:-1:-1;12638:16:0;12614:40;;12682:4;12664;12669:1;12664:7;;;;;;-1:-1:-1;;;12664:7:0;;;;;;;;;;;;;;:23;-1:-1:-1;;;;;12664:23:0;;;-1:-1:-1;;;;;12664:23:0;;;;;12707:16;;;;;;;;;-1:-1:-1;;;;;12707:16:0;-1:-1:-1;;;;;12707:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12697:4;12702:1;12697:7;;;;;;-1:-1:-1;;;12697:7:0;;;;;;;;;-1:-1:-1;;;;;12697:33:0;;;:7;;;;;;;;;:33;12773:16;;12741:63;;12758:4;;12773:16;;;;12792:11;12741:8;:63::i;:::-;12814:16;;:191;;-1:-1:-1;;;12814:191:0;;:16;;;;-1:-1:-1;;;;;12814:16:0;;:67;;:191;;12895:11;;12920:1;;12935:4;;12961;;12980:15;;12814:191;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16577:780;16679:23;16704:12;16718:18;16738:13;16755:20;16767:7;16755:11;:20::i;:::-;16678:97;;;;;;;;16785:19;16807:10;:8;:10::i;:::-;16785:32;;16828:15;16845:23;16870:12;16886:58;16898:7;16907:4;16913:10;16925:5;16932:11;16886;:58::i;:::-;16827:117;;-1:-1:-1;16827:117:0;-1:-1:-1;16827:117:0;-1:-1:-1;16954:13:0;16970:22;:5;16980:11;16970:9;:22::i;:::-;-1:-1:-1;;;;;17021:15:0;;;;;;:7;:15;;;;;;16954:38;;-1:-1:-1;17021:28:0;;17041:7;17021:19;:28::i;:::-;-1:-1:-1;;;;;17003:15:0;;;;;;:7;:15;;;;;;;;:46;;;;17077:7;:15;;;;:28;;17097:7;17077:19;:28::i;:::-;-1:-1:-1;;;;;17059:15:0;;;;;;;:7;:15;;;;;;:46;;;;17136:18;;;;;;;:39;;17159:15;17136:22;:39::i;:::-;-1:-1:-1;;;;;17115:18:0;;;;;;:7;:18;;;;;:60;17186:58;17213:4;17220:10;17232:11;17186:18;:58::i;:::-;17254:37;17266:4;17272:5;17279:4;17285:5;17254:11;:37::i;:::-;17323:9;-1:-1:-1;;;;;17306:44:0;17315:6;-1:-1:-1;;;;;17306:44:0;;17334:15;17306:44;;;;10822:25:2;;10810:2;10795:18;;10777:76;17306:44:0;;;;;;;;16577:780;;;;;;;;;;;;:::o;15780:792::-;15880:23;15905:12;15919:18;15939:13;15956:20;15968:7;15956:11;:20::i;:::-;15879:97;;;;;;;;15986:19;16008:10;:8;:10::i;:::-;15986:32;;16029:15;16046:23;16071:12;16087:58;16099:7;16108:4;16114:10;16126:5;16133:11;16087;:58::i;:::-;16028:117;;-1:-1:-1;16028:117:0;-1:-1:-1;16028:117:0;-1:-1:-1;16155:13:0;16171:22;:5;16181:11;16171:9;:22::i;:::-;-1:-1:-1;;;;;16222:15:0;;;;;;:7;:15;;;;;;16155:38;;-1:-1:-1;16222:28:0;;16242:7;16222:19;:28::i;:::-;-1:-1:-1;;;;;16204:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;16281:18;;;;;:7;:18;;;;;:39;;16304:15;16281:22;:39::i;:::-;-1:-1:-1;;;;;16260:18:0;;;;;;:7;:18;;;;;;;;:60;;;;16351:7;:18;;;;:39;;16374:15;16351:22;:39::i;14197:723::-;14295:23;14320:12;14334:18;14354:13;14371:20;14383:7;14371:11;:20::i;:::-;14294:97;;;;;;;;14401:19;14423:10;:8;:10::i;:::-;14401:32;;14444:15;14461:23;14486:12;14502:58;14514:7;14523:4;14529:10;14541:5;14548:11;14502;:58::i;:::-;14443:117;;-1:-1:-1;14443:117:0;-1:-1:-1;14443:117:0;-1:-1:-1;14570:13:0;14586:22;:5;14596:11;14586:9;:22::i;:::-;-1:-1:-1;;;;;14640:15:0;;;;;;:7;:15;;;;;;14570:38;;-1:-1:-1;14640:28:0;;14660:7;14640:19;:28::i;14925:850::-;15027:23;15052:12;15066:18;15086:13;15103:20;15115:7;15103:11;:20::i;:::-;15026:97;;;;;;;;15133:19;15155:10;:8;:10::i;:::-;15133:32;;15176:15;15193:23;15218:12;15234:58;15246:7;15255:4;15261:10;15273:5;15280:11;15234;:58::i;:::-;15175:117;;-1:-1:-1;15175:117:0;-1:-1:-1;15175:117:0;-1:-1:-1;15302:13:0;15318:22;:5;15328:11;15318:9;:22::i;:::-;-1:-1:-1;;;;;15369:15:0;;;;;;:7;:15;;;;;;15302:38;;-1:-1:-1;15369:28:0;;15389:7;15369:19;:28::i;:::-;-1:-1:-1;;;;;15351:15:0;;;;;;:7;:15;;;;;;;;:46;;;;15425:7;:15;;;;:28;;15445:7;15425:19;:28::i;19498:325::-;19609:1;19598:7;:12;19594:29;;19498:325;;;:::o;19594:29::-;19633:15;19651:24;:7;19663:11;19651;:24::i;:::-;-1:-1:-1;;;;;19699:11:0;;;;;;:7;:11;;;;;;19633:42;;-1:-1:-1;19699:24:0;;19633:42;19699:15;:24::i;:::-;-1:-1:-1;;;;;19685:11:0;;;;;;:7;:11;;;;;;;;:38;;;;19737:11;:15;;;;;;19733:84;;;-1:-1:-1;;;;;19782:11:0;;;;;;:7;:11;;;;;;:24;;19798:7;19782:15;:24::i;:::-;-1:-1:-1;;;;;19768:11:0;;;;;;:7;:11;;;;;:38;19733:84;19498:325;;;;:::o;17362:278::-;17473:28;17495:5;17473:17;17485:4;17473:7;;:11;;:17;;;;:::i;:::-;:21;;:28::i;:::-;17459:7;:42;17525:10;;:20;;17540:4;17525:14;:20::i;:::-;17511:10;:34;17569:11;;:22;;17585:5;17569:15;:22::i;:::-;17555:11;:36;17615:7;;:18;;17627:5;17615:11;:18::i;:::-;17601:7;:32;-1:-1:-1;;;;17362:278:0:o;14:160:2:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:257::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;441:261::-;511:6;564:2;552:9;543:7;539:23;535:32;532:2;;;585:6;577;570:22;532:2;622:9;616:16;641:31;666:5;641:31;:::i;707:398::-;775:6;783;836:2;824:9;815:7;811:23;807:32;804:2;;;857:6;849;842:22;804:2;901:9;888:23;920:31;945:5;920:31;:::i;:::-;970:5;-1:-1:-1;1027:2:2;1012:18;;999:32;1040:33;999:32;1040:33;:::i;:::-;1092:7;1082:17;;;794:311;;;;;:::o;1110:466::-;1187:6;1195;1203;1256:2;1244:9;1235:7;1231:23;1227:32;1224:2;;;1277:6;1269;1262:22;1224:2;1321:9;1308:23;1340:31;1365:5;1340:31;:::i;:::-;1390:5;-1:-1:-1;1447:2:2;1432:18;;1419:32;1460:33;1419:32;1460:33;:::i;:::-;1214:362;;1512:7;;-1:-1:-1;;;1566:2:2;1551:18;;;;1538:32;;1214:362::o;1581:325::-;1646:6;1654;1707:2;1695:9;1686:7;1682:23;1678:32;1675:2;;;1728:6;1720;1713:22;1675:2;1772:9;1759:23;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1865:35:2;1896:2;1881:18;;1865:35;:::i;:::-;1855:45;;1665:241;;;;;:::o;1911:325::-;1979:6;1987;2040:2;2028:9;2019:7;2015:23;2011:32;2008:2;;;2061:6;2053;2046:22;2008:2;2105:9;2092:23;2124:31;2149:5;2124:31;:::i;:::-;2174:5;2226:2;2211:18;;;;2198:32;;-1:-1:-1;;;1998:238:2:o;2241:190::-;2297:6;2350:2;2338:9;2329:7;2325:23;2321:32;2318:2;;;2371:6;2363;2356:22;2318:2;2399:26;2415:9;2399:26;:::i;2436:190::-;2495:6;2548:2;2536:9;2527:7;2523:23;2519:32;2516:2;;;2569:6;2561;2554:22;2516:2;-1:-1:-1;2597:23:2;;2506:120;-1:-1:-1;2506:120:2:o;2631:258::-;2696:6;2704;2757:2;2745:9;2736:7;2732:23;2728:32;2725:2;;;2778:6;2770;2763:22;2725:2;2819:9;2806:23;2796:33;;2848:35;2879:2;2868:9;2864:18;2848:35;:::i;3808:603::-;3920:4;3949:2;3978;3967:9;3960:21;4010:6;4004:13;4053:6;4048:2;4037:9;4033:18;4026:34;4078:4;4091:140;4105:6;4102:1;4099:13;4091:140;;;4200:14;;;4196:23;;4190:30;4166:17;;;4185:2;4162:26;4155:66;4120:10;;4091:140;;;4249:6;4246:1;4243:13;4240:2;;;4319:4;4314:2;4305:6;4294:9;4290:22;4286:31;4279:45;4240:2;-1:-1:-1;4395:2:2;4374:15;-1:-1:-1;;4370:29:2;4355:45;;;;4402:2;4351:54;;3929:482;-1:-1:-1;;;3929:482:2:o;8281:356::-;8483:2;8465:21;;;8502:18;;;8495:30;8561:34;8556:2;8541:18;;8534:62;8628:2;8613:18;;8455:182::o;10858:983::-;11120:4;11168:3;11157:9;11153:19;11199:6;11188:9;11181:25;11225:2;11263:6;11258:2;11247:9;11243:18;11236:34;11306:3;11301:2;11290:9;11286:18;11279:31;11330:6;11365;11359:13;11396:6;11388;11381:22;11434:3;11423:9;11419:19;11412:26;;11473:2;11465:6;11461:15;11447:29;;11494:4;11507:195;11521:6;11518:1;11515:13;11507:195;;;11586:13;;-1:-1:-1;;;;;11582:39:2;11570:52;;11677:15;;;;11642:12;;;;11618:1;11536:9;11507:195;;;-1:-1:-1;;;;;;;11758:32:2;;;;11753:2;11738:18;;11731:60;-1:-1:-1;;;11822:3:2;11807:19;11800:35;11719:3;11129:712;-1:-1:-1;;;11129:712:2:o;12035:128::-;12075:3;12106:1;12102:6;12099:1;12096:13;12093:2;;;12112:18;;:::i;:::-;-1:-1:-1;12148:9:2;;12083:80::o;12168:217::-;12208:1;12234;12224:2;;-1:-1:-1;;;12259:31:2;;12313:4;12310:1;12303:15;12341:4;12266:1;12331:15;12224:2;-1:-1:-1;12370:9:2;;12214:171::o;12390:168::-;12430:7;12496:1;12492;12488:6;12484:14;12481:1;12478:21;12473:1;12466:9;12459:17;12455:45;12452:2;;;12503:18;;:::i;:::-;-1:-1:-1;12543:9:2;;12442:116::o;12563:125::-;12603:4;12631:1;12628;12625:8;12622:2;;;12636:18;;:::i;:::-;-1:-1:-1;12673:9:2;;12612:76::o;12693:135::-;12732:3;-1:-1:-1;;12753:17:2;;12750:2;;;12773:18;;:::i;:::-;-1:-1:-1;12820:1:2;12809:13;;12740:88::o;12833:127::-;12894:10;12889:3;12885:20;12882:1;12875:31;12925:4;12922:1;12915:15;12949:4;12946:1;12939:15;12965:131;-1:-1:-1;;;;;13040:31:2;;13030:42;;13020:2;;13086:1;13083;13076:12;13020:2;13010:86;:::o

Swarm Source

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