Contract 0x639ad7c49ec616a64e074c21a58608c0d843a8a3 1

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x15e8bbe8cd724a4dae6a07a40c5dea469ca130840e4b9c94008088e0d955012dApprove131968362021-12-04 20:30:029 hrs 8 mins ago0xf1e15ecc89335ec9ff6d1143a6cb40c053625f5f IN  TripCandy: CANDY Token0 BNB0.00022252
0x4d039a01751a945e052cc81829d22cdd8a5bdc168ce97683203e5da11a512577Approve131964972021-12-04 20:13:059 hrs 25 mins ago0x6290803ef658b9d2887f2ede36399325739b4684 IN  TripCandy: CANDY Token0 BNB0.00022252
0x54693be6703cebf74d7772541aae3fcdecf84c968b0eca98ef0c964aae3536faTransfer131927292021-12-04 17:04:0012 hrs 34 mins ago0xfb37d27e96a93eb2b727fcfe0c9709d52523bbf8 IN  TripCandy: CANDY Token0 BNB0.00211299
0x45e0e8ece772b0d1e8b8a6545886ac7dc077504ba7cba5ed5d95c6a5a6f5e235Approve131917202021-12-04 16:13:2813 hrs 25 mins ago0x24e4063b06635e97278847708599c0a224c6b8f5 IN  TripCandy: CANDY Token0 BNB0.00022252
0xc1c8de589d491a6b183688d7139ec059514f38fa3f5a894e0c76c4c8a30d1968Approve131898952021-12-04 14:40:2814 hrs 58 mins ago0x4f47ee465190570e75996c2c38fddd6d597088ad IN  TripCandy: CANDY Token0 BNB0.00022252
0xe07f81f78592f4ce6aea7de6f47e8ea75324915dad805dc1a2d3fcdca901fb7eApprove131868112021-12-04 12:03:0817 hrs 35 mins ago0xea01a4a2bf946367aa73f115dc20bdedb119f8f4 IN  TripCandy: CANDY Token0 BNB0.00022252
0x26d903f035e97a806f77c5320f0fc32e01bd23f345654179540b9dfd3df19210Approve131834392021-12-04 9:09:1920 hrs 29 mins ago0xabda3009c80e203d6ea6fc38f15a91921a642ed4 IN  TripCandy: CANDY Token0 BNB0.00022252
0x4ad6d094718d891a94b8ceef881e70596e18e83848b8daa9cff9bebb155300b5Approve131552852021-12-03 9:20:331 day 20 hrs ago0x5dd06c985aee96f376bf139ba9f19f515199f6f8 IN  TripCandy: CANDY Token0 BNB0.000311528
0x49b20647bcaa84f97b72d09a51d2309e17cb5d0681391c85c3157af955a10e12Approve131538982021-12-03 8:08:331 day 21 hrs ago0xbbdbce338422f355bb6bf02d2306ab1d047b6445 IN  TripCandy: CANDY Token0 BNB0.00022252
0x37fb1ec7ef18f9ed372fe73a1ba56c5bf37690e9960e2f61258228c0df3d12a9Approve131517272021-12-03 6:19:041 day 23 hrs ago0x5a0ab318fece636d3921214a285824ea7a7d0058 IN  TripCandy: CANDY Token0 BNB0.00022252
0xf1a0cdbe0ab0cc52b86d840ac1180b4a4d0b040377c7677f756ab964ff39e69aApprove131504622021-12-03 5:14:022 days 24 mins ago0x176a3fe7e3179e3ad499c3054cd48bded25f743e IN  TripCandy: CANDY Token0 BNB0.00022252
0x8a8eeed1a717fd9c50b5575a7545ba97f5f8bdd02f616c47a252b0f35ea3e398Approve131397932021-12-02 20:18:322 days 9 hrs ago0xb8ddbcfcd48a54bf255dfc33b3f58b08bd7f21b5 IN  TripCandy: CANDY Token0 BNB0.00022252
0x05dcb7bf88b5684090476b3d4fea37a3ecc4b210d34d9d4f3c6e792639e5b972Transfer131382802021-12-02 19:02:402 days 10 hrs ago0xfde68c16a7c2428ffdc57ab52d016bad6a3b3ef2 IN  TripCandy: CANDY Token0 BNB0.002061215
0x97138802faac9c310eb940f96d3691438ca043164fc1e236ef4a3b0587b35f85Transfer131296832021-12-02 11:45:092 days 17 hrs ago0x2c5c596f5cdfccc84082955ee47967ee9221f8ba IN  TripCandy: CANDY Token0 BNB0.00218787
0xd54617b73daf18adae786ede29edcc139b886a8f88b07186164b50fd556b436fApprove131226162021-12-02 5:40:322 days 23 hrs ago0x7072684d0b161683ac7f3d437415d753b4cc45c2 IN  TripCandy: CANDY Token0 BNB0.00022252
0x3da6f8355aede2b5fe89ba7de04e5a68562415b49428216d89ba0fa6abe24d32Approve131208302021-12-02 4:08:343 days 1 hr ago0x65b0c9e35feefb11bb78410e7587d4bd5ef649a8 IN  TripCandy: CANDY Token0 BNB0.000267024
0x86ad5fa5f962c479dd1407dbd181b8c84b0fdf62ca18c9c99303210d549e04feApprove131140312021-12-01 22:02:573 days 7 hrs ago0xb1b9b4bbe8a92d535f5df2368e7fd2ecfb3a1950 IN  TripCandy: CANDY Token0 BNB0.0002212
0x272169a251b63729b67b71ce933a2aad029a0811d0f0e46538dc8318a99af1a8Approve131128862021-12-01 21:05:213 days 8 hrs ago0x7a2615f035a0eba05c4215e90da35610adad43e3 IN  TripCandy: CANDY Token0 BNB0.00022252
0x9c3b8acfab4f546bae6951dff9210c79865dcc5210fc6bb6349ea8837a9f41e9Approve131125032021-12-01 20:46:113 days 8 hrs ago0xdb5c20331c5d069f0efcd406220877a814636881 IN  TripCandy: CANDY Token0 BNB0.00022252
0x02a39e1c8ad0ef936e509dcb08231cc0d381fff1750cb58a71f4a43ede1a2d6fApprove131087162021-12-01 17:31:503 days 12 hrs ago0xa1852e8fdb1b98ce8cefcf3362bb19ecb65ee55b IN  TripCandy: CANDY Token0 BNB0.000267024
0x6d65aab13f43c53927e2f75bf5a0cfaec281c589c47835cad604a63f75080adcApprove131076542021-12-01 16:33:133 days 13 hrs ago0x9fb64ddc45bedf96dc8e275814c409622937dde5 IN  TripCandy: CANDY Token0 BNB0.00022252
0xa53914026355fc3de3a46bfbfc8c9fe4cc7a4d6b11801154e5d2392f17600b1eApprove131029772021-12-01 12:12:253 days 17 hrs ago0xba6571d9282f3d1ecc334e9ce0e77be728c67e4c IN  TripCandy: CANDY Token0 BNB0.00022252
0x4fc6bcecf891f46ea727b16489a498019d99a4fd5fb2ded02d401e28eea0b1b4Approve131023772021-12-01 11:38:343 days 17 hrs ago0x088171e7e30f552b5a1b265dfea93a23b9bf2a28 IN  TripCandy: CANDY Token0 BNB0.0005384984
0xab751762484a01e620c65486535d69a9bbc05826d62f3eda254a6498a03cd154Approve131009812021-12-01 10:13:583 days 19 hrs ago0xba0de86ba9a741551bda63e29c43f7d87f65f7f8 IN  TripCandy: CANDY Token0 BNB0.000311528
0x4c2c3e97ef51602391a6ecb976493970ae9c978905ca173e275b8259fba53aa2Approve130936122021-12-01 3:25:324 days 2 hrs ago0x0fc0858a5b5abefb358b40d7aa426f600ec322dd IN  TripCandy: CANDY Token0 BNB0.000244772
[ Download CSV Export 

OVERVIEW

TripCandy is an accommodations booking platform that brings great discounts via cashback rewards in the form of blockchain tokens, turning bookings into lucrative investments.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xebb5bfaf1fc0f8e728ae1338d299dbc7abb9f3acf49e00e1b62526450ea3447e130760522021-11-30 12:09:144 days 17 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.566724609836763265 BNB
0xebb5bfaf1fc0f8e728ae1338d299dbc7abb9f3acf49e00e1b62526450ea3447e130760522021-11-30 12:09:144 days 17 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.566724609836763265 BNB
0x0f86393b600ba87c66a832303329078f3d60ba0fd9a24970e3230792074e26fe129969822021-11-27 12:43:507 days 16 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.578759133562368105 BNB
0x0f86393b600ba87c66a832303329078f3d60ba0fd9a24970e3230792074e26fe129969822021-11-27 12:43:507 days 16 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.578759133562368105 BNB
0x5688b821a0c13983f8e439ce63c957108267e27be56dcff38877d694abc8d8c9129198162021-11-24 14:34:3410 days 15 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.587899614017696535 BNB
0x5688b821a0c13983f8e439ce63c957108267e27be56dcff38877d694abc8d8c9129198162021-11-24 14:34:3410 days 15 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.587899614017696535 BNB
0xd3a179b80873da28f86437dd34c0eea6a2d839b82735640947c0245a46ce8baa128950772021-11-23 17:00:1511 days 12 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.623407885635221496 BNB
0xd3a179b80873da28f86437dd34c0eea6a2d839b82735640947c0245a46ce8baa128950772021-11-23 17:00:1511 days 12 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.623407885635221496 BNB
0x93415920832593653a21e4056733486753b8324a542405ad5630f1e7c14157e6127958422021-11-20 3:51:4815 days 1 hr ago TripCandy: CANDY Token PancakeSwap: Router v20.596203618908164294 BNB
0x93415920832593653a21e4056733486753b8324a542405ad5630f1e7c14157e6127958422021-11-20 3:51:4815 days 1 hr ago PancakeSwap: Router v2 TripCandy: CANDY Token0.596203618908164294 BNB
0xe86c0eeffafd351c0c3434f356411fea664154a00b8ce8cc12095d5ccc2f0f47127459022021-11-18 8:15:5216 days 21 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.580693514288433971 BNB
0xe86c0eeffafd351c0c3434f356411fea664154a00b8ce8cc12095d5ccc2f0f47127459022021-11-18 8:15:5216 days 21 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.580693514288433971 BNB
0xb6c934213264d754ee48ed7add04353467c850a527255e1d4250f0ae74f41361126932622021-11-16 9:30:1618 days 20 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.526860607621767224 BNB
0xb6c934213264d754ee48ed7add04353467c850a527255e1d4250f0ae74f41361126932622021-11-16 9:30:1618 days 20 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.526860607621767224 BNB
0xa4ba90f7385d1810e8a7516f9c66c7b42848cdfdec4a5e6cc05ae68694e01dc5126686442021-11-15 11:52:1319 days 17 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.542833534553740131 BNB
0xa4ba90f7385d1810e8a7516f9c66c7b42848cdfdec4a5e6cc05ae68694e01dc5126686442021-11-15 11:52:1319 days 17 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.542833534553740131 BNB
0x98d34041fc4563eea178a1e71c9a76d640e45bdf458612e26251a17c522e89f6126679492021-11-15 11:16:1619 days 18 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.542833534553740131 BNB
0x98d34041fc4563eea178a1e71c9a76d640e45bdf458612e26251a17c522e89f6126679492021-11-15 11:16:1619 days 18 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.542833534553740131 BNB
0xdd6b14097a6527df1d7960fde40a084c85ddb706ab4acd73f8e110710f7b0591126116722021-11-13 10:37:3421 days 19 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.539550201759178989 BNB
0xdd6b14097a6527df1d7960fde40a084c85ddb706ab4acd73f8e110710f7b0591126116722021-11-13 10:37:3421 days 19 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.539550201759178989 BNB
0x343ce539c5ea65ef957c8b8f4669cafd244cc1052d9297145e29206890687d69125092632021-11-09 18:23:1725 days 11 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.539172332100059734 BNB
0x343ce539c5ea65ef957c8b8f4669cafd244cc1052d9297145e29206890687d69125092632021-11-09 18:23:1725 days 11 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.539172332100059734 BNB
0x3e032480be65b41e61d1640352cc08d1a33749970ef162dfe84109f4d67bcfb4124825522021-11-08 19:49:3026 days 9 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.525880167881322989 BNB
0x3e032480be65b41e61d1640352cc08d1a33749970ef162dfe84109f4d67bcfb4124825522021-11-08 19:49:3026 days 9 hrs ago PancakeSwap: Router v2 TripCandy: CANDY Token0.525880167881322989 BNB
0x3e032480be65b41e61d1640352cc08d1a33749970ef162dfe84109f4d67bcfb4124825522021-11-08 19:49:3026 days 9 hrs ago TripCandy: CANDY Token PancakeSwap: Router v20.526764869259296367 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TripCandy

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*

████████╗██████╗░██╗██████╗░░█████╗░░█████╗░███╗░░██╗██████╗░██╗░░░██╗
╚══██╔══╝██╔══██╗██║██╔══██╗██╔══██╗██╔══██╗████╗░██║██╔══██╗╚██╗░██╔╝
░░░██║░░░██████╔╝██║██████╔╝██║░░╚═╝███████║██╔██╗██║██║░░██║░╚████╔╝░
░░░██║░░░██╔══██╗██║██╔═══╝░██║░░██╗██╔══██║██║╚████║██║░░██║░░╚██╔╝░░
░░░██║░░░██║░░██║██║██║░░░░░╚█████╔╝██║░░██║██║░╚███║██████╔╝░░░██║░░░
░░░╚═╝░░░╚═╝░░╚═╝╚═╝╚═╝░░░░░░╚════╝░╚═╝░░╚═╝╚═╝░░╚══╝╚═════╝░░░░╚═╝░░░

Website : https://www.tripcandy.io/

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.5;

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

    address[] private _excluded;
    address public _marketingWallet;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 1000000000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string public constant name     = "TripCandy";
    string public constant symbol   = "CANDY";
    uint8  public constant decimals = 18;
    
    // transfer fee
    uint256 public _taxFeeTransfer       = 100;
    uint256 public _liquidityFeeTransfer = 100; 
    uint256 public _marketingFeeTransfer = 100; 

    // buy fee
    uint256 public _taxFeeBuy       = 100; 
    uint256 public _liquidityFeeBuy = 100; 
    uint256 public _marketingFeeBuy = 100; 

    // sell fee
    uint256 public _taxFeeSell       = 100; 
    uint256 public _liquidityFeeSell = 100; 
    uint256 public _marketingFeeSell = 100; 

    uint256 public _sellPercentageOfLiquidityForCashback = 0;

    uint256 public _maxTxAmount     = _tTotal / 2;
    uint256 public _minTokenBalance = _tTotal / 2000;
    
    // liquidity
    bool public  _swapAndLiquifyEnabled = true;
    bool private _inSwapAndLiquify;
    IUniswapV2Router02 public _uniswapV2Router;
    address            public _uniswapV2Pair;
    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 bnbReceived,
        uint256 tokensIntoLiqudity
    );
    
    modifier lockTheSwap {
        _inSwapAndLiquify = true;
        _;
        _inSwapAndLiquify = false;
    }
    
    constructor (address cOwner, address marketingWallet) Ownable(cOwner) {
        _marketingWallet = marketingWallet;

        _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[_marketingWallet] = true;
        
        emit Transfer(address(0), cOwner, _tTotal);
    }

    receive() external payable {}

    // BEP20
    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 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 tMarketing) = _getTValues(tAmount);
            uint256 currentRate = _getRate();
            (uint256 rAmount,,) = _getRValues(tAmount, tFee, tLiquidity, tMarketing, currentRate);

            return rAmount;

        } else {
            (, uint256 tFee, uint256 tLiquidity, uint256 tMarketing) = _getTValues(tAmount);
            uint256 currentRate = _getRate();
            (, uint256 rTransferAmount,) = _getRValues(tAmount, tFee, tLiquidity, tMarketing, 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;
    }

    // STATE
    function setMarketingWallet(address marketingWallet) external onlyOwner {
        _marketingWallet = marketingWallet;
    }
    function setExcludedFromFee(address account, bool e) external onlyOwner {
        _isExcludedFromFee[account] = e;
    }
    function setTransferFee(uint256 taxFee, uint256 liquidityFee, uint256 marketingFee) external onlyOwner {
        _taxFeeTransfer       = taxFee;
        _liquidityFeeTransfer = liquidityFee;
        _marketingFeeTransfer = marketingFee;
    }
    function setBuyFee(uint256 taxFee, uint256 liquidityFee, uint256 marketingFee) external onlyOwner {
        _taxFeeBuy       = taxFee;
        _liquidityFeeBuy = liquidityFee;
        _marketingFeeBuy = marketingFee;
    }
    function setSellFee(uint256 taxFee, uint256 liquidityFee, uint256 marketingFee) external onlyOwner {
        _taxFeeSell       = taxFee;
        _liquidityFeeSell = liquidityFee;
        _marketingFeeSell = marketingFee;
    }
    function setCashbackPercent(uint256 cashbackPercent) external onlyOwner {
        _sellPercentageOfLiquidityForCashback = cashbackPercent;
    }
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner {
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(100);
    }
    function setMinTokenBalance(uint256 minTokenBalance) external onlyOwner {
        _minTokenBalance = minTokenBalance;
    }
    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 setUniswapRouter(address r) external onlyOwner {
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(r);
        _uniswapV2Router = uniswapV2Router;
    }
    function setUniswapPair(address p) external onlyOwner {
        _uniswapV2Pair = p;
    }
    function withdrawBnb(uint256 amount) external onlyOwner {
        payable(owner()).transfer(amount);
    }
    function withdrawToken(address tokenAddress, uint256 amount) external onlyOwner {
        IBEP20(tokenAddress).transfer(owner(), amount);
    }

    // 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 >= _minTokenBalance;
        if (
            isOverMinTokenBalance &&
            !_inSwapAndLiquify &&
            from != _uniswapV2Pair &&
            _swapAndLiquifyEnabled
        ) {
            contractTokenBalance = _minTokenBalance;
            swapAndLiquify(contractTokenBalance);
        }
        
        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
    }
    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        // split contract balance into halves
        uint256 half      = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);

        /*
            capture the contract's current BNB balance.
            this is so that we can capture exactly the amount of BNB that
            the swap creates, and not make the liquidity event include any BNB
            that has been manually sent to the contract.
        */
        uint256 initialBalance = address(this).balance;

        // swap tokens for BNB
        swapTokensForBnb(half);

        // this is the amount of BNB that we just swapped into
        uint256 newBalance = address(this).balance.sub(initialBalance);
        uint256 bnbForCashback = newBalance.mul(_sellPercentageOfLiquidityForCashback).div(100);
        uint256 bnbForLiquidity = newBalance.sub(bnbForCashback);

        // add liquidity to uniswap
        addLiquidity(otherHalf, bnbForLiquidity);
        
        emit SwapAndLiquify(half, bnbForLiquidity, otherHalf);
    }
    function swapTokensForBnb(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _approve(address(this), address(_uniswapV2Router), tokenAmount);

        // make the swap
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of BNB
            path,
            address(this),
            block.timestamp
        );
    }
    function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(_uniswapV2Router), tokenAmount);

        // add the liquidity
        _uniswapV2Router.addLiquidityETH{value: bnbAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        uint256 previousTaxFee       = _taxFeeTransfer;
        uint256 previousLiquidityFee = _liquidityFeeTransfer;
        uint256 previousMarketingFee = _marketingFeeTransfer;

        bool isBuy  = sender == _uniswapV2Pair && recipient != address(_uniswapV2Router);
        bool isSell = recipient == _uniswapV2Pair;

        if (!takeFee) {
            _taxFeeTransfer       = 0;
            _liquidityFeeTransfer = 0;
            _marketingFeeTransfer = 0;

        } else if (isBuy) { 
            _taxFeeTransfer       = _taxFeeBuy;
            _liquidityFeeTransfer = _liquidityFeeBuy;
            _marketingFeeTransfer = _marketingFeeBuy;

        } else if (isSell) { 
            _taxFeeTransfer       = _taxFeeSell;
            _liquidityFeeTransfer = _liquidityFeeSell;
            _marketingFeeTransfer = _marketingFeeSell;
        }
        

        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 || isBuy || isSell) {
            _taxFeeTransfer       = previousTaxFee;
            _liquidityFeeTransfer = previousLiquidityFee;
            _marketingFeeTransfer = previousMarketingFee;
        }
    }
    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tMarketing) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tMarketing, currentRate);

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

        takeTransactionFee(sender, address(this), tLiquidity, currentRate);
        takeTransactionFee(sender, address(_marketingWallet), tMarketing, currentRate);
        reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tMarketing) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tMarketing, 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(sender, address(this), tLiquidity, currentRate);
        takeTransactionFee(sender, address(_marketingWallet), tMarketing, currentRate);
        reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tMarketing) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tMarketing, currentRate);

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

        takeTransactionFee(sender, address(this), tLiquidity, currentRate);
        takeTransactionFee(sender, address(_marketingWallet), tMarketing, currentRate);
        reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tMarketing) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tMarketing, currentRate);

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

        takeTransactionFee(sender, address(this), tLiquidity, currentRate);
        takeTransactionFee(sender, address(_marketingWallet), tMarketing, currentRate);
        reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal    = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256) {
        uint256 tFee       = tAmount.mul(_taxFeeTransfer).div(10000);
        uint256 tLiquidity = tAmount.mul(_liquidityFeeTransfer).div(10000);
        uint256 tMarketing = tAmount.mul(_marketingFeeTransfer).div(10000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        tTransferAmount = tTransferAmount.sub(tLiquidity);
        tTransferAmount = tTransferAmount.sub(tMarketing);
        return (tTransferAmount, tFee, tLiquidity, tMarketing);
    }
    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 tMarketing, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount     = tAmount.mul(currentRate);
        uint256 rFee        = tFee.mul(currentRate);
        uint256 rLiquidity  = tLiquidity.mul(currentRate);
        uint256 rMarketing  = tMarketing.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        rTransferAmount = rTransferAmount.sub(rLiquidity);
        rTransferAmount = rTransferAmount.sub(rMarketing);
        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 from, 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);
        }
        if (to != address(this)) {
            emit Transfer(from, to, tAmount);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"cOwner","type":"address"},{"internalType":"address","name":"marketingWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"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":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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":"_liquidityFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFeeTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFeeTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellPercentageOfLiquidityForCashback","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":"_taxFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeTransfer","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":"view","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":"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":"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":"view","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":"taxFee","type":"uint256"},{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cashbackPercent","type":"uint256"}],"name":"setCashbackPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"e","type":"bool"}],"name":"setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minTokenBalance","type":"uint256"}],"name":"setMinTokenBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"},{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"}],"name":"setSellFee","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"},{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"}],"name":"setTransferFee","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":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","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"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawBnb","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526b033b2e3c9fd0803ce8000000600a819055620000249060001962000453565b62000032906000196200042d565b600b556064600d556064600e556064600f5560646010556064601155606460125560646013556064601455606460155560006016556002600a5462000078919062000416565b6017556107d0600a546200008d919062000416565b6018556019805460ff19166001179055348015620000aa57600080fd5b50604051620031a6380380620031a6833981016040819052620000cd91620003de565b600080546001600160a01b0319166001600160a01b03841690811782556040518492907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600980546001600160a01b0319166001600160a01b0383811691909117909155600b5490831660009081526003602090815260409182902092909255805163c45a015560e01b815290517310ed43c718714eb63d5aa57b78b54704e256024e92839263c45a01559260048083019392829003018186803b1580156200019a57600080fd5b505afa158015620001af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d59190620003b9565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021e57600080fd5b505afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002599190620003b9565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002a257600080fd5b505af1158015620002b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dd9190620003b9565b601a80546001600160a01b0319166001600160a01b039283161790556019805462010000600160b01b03191662010000848416021790556000805482168152600560209081526040808320805460ff19908116600190811790925530855282852080548216831790556009548616855282852080549091169091179055600a5481519081529051938716937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350505062000480565b80516001600160a01b0381168114620003b457600080fd5b919050565b600060208284031215620003cc57600080fd5b620003d7826200039c565b9392505050565b60008060408385031215620003f257600080fd5b620003fd836200039c565b91506200040d602084016200039c565b90509250929050565b6000826200042857620004286200046a565b500490565b6000828210156200044e57634e487b7160e01b600052601160045260246000fd5b500390565b6000826200046557620004656200046a565b500690565b634e487b7160e01b600052601260045260246000fd5b612d1680620004906000396000f3fe60806040526004361061031e5760003560e01c806388f82020116101ab578063bea9849e116100f7578063d8d89bc611610095578063e7c892321161006f578063e7c8923214610972578063eeeb66b614610992578063f2fde38b146109b2578063f7732689146109d257600080fd5b8063d8d89bc6146108f6578063dd4670641461090c578063dd62ed3e1461092c57600080fd5b8063d4c70c8d116100d1578063d4c70c8d1461088a578063d543dbeb146108a0578063d5aed6bf146108c0578063d7d31f5f146108e057600080fd5b8063bea9849e14610830578063c49b9a8014610850578063cbecede01461087057600080fd5b80639c74daf011610164578063a457c2d71161013e578063a457c2d7146107bb578063a69df4b5146107db578063a9059cbb146107f0578063b0ac15711461081057600080fd5b80639c74daf0146107655780639e281a98146107855780639e3a9409146107a557600080fd5b806388f820201461069157806389c6d350146106ca5780638d8bf576146106e05780638da5cb5b146106f657806395d89b4114610714578063962dfc751461074557600080fd5b8063459c979b1161026a578063602bc62b1161022357806370a08231116101fd57806370a0823114610630578063715018a6146106505780637921199f146106655780637d1db4a51461067b57600080fd5b8063602bc62b146105e55780636612e66f146105fa578063706acf1e1461061a57600080fd5b8063459c979b146104f857806352390c02146105185780635342acb414610538578063565836e714610571578063583e0568146105875780635d098b38146105c557600080fd5b806325519cf2116102d75780633685d419116102b15780633685d4191461048257806339509351146104a2578063429f1add146104c25780634549b039146104d857600080fd5b806325519cf21461041b5780632d8381191461043b578063313ce5671461045b57600080fd5b806306fdde031461032a578063095ea7b31461037557806313114a9d146103a557806318160ddd146103c45780631d865c30146103d957806323b872dd146103fb57600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061035f604051806040016040528060098152602001685472697043616e647960b81b81525081565b60405161036c9190612a85565b60405180910390f35b34801561038157600080fd5b50610395610390366004612987565b6109e8565b604051901515815260200161036c565b3480156103b157600080fd5b50600c545b60405190815260200161036c565b3480156103d057600080fd5b50600a546103b6565b3480156103e557600080fd5b506103f96103f4366004612a2b565b6109ff565b005b34801561040757600080fd5b50610395610416366004612918565b610a40565b34801561042757600080fd5b506103f9610436366004612a2b565b610aa9565b34801561044757600080fd5b506103b66104563660046129ed565b610ae1565b34801561046757600080fd5b50610470601281565b60405160ff909116815260200161036c565b34801561048e57600080fd5b506103f961049d3660046128a5565b610b65565b3480156104ae57600080fd5b506103956104bd366004612987565b610d1c565b3480156104ce57600080fd5b506103b660125481565b3480156104e457600080fd5b506103b66104f3366004612a06565b610d52565b34801561050457600080fd5b506103f96105133660046129ed565b610e2a565b34801561052457600080fd5b506103f96105333660046128a5565b610e8d565b34801561054457600080fd5b506103956105533660046128a5565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561057d57600080fd5b506103b660145481565b34801561059357600080fd5b506019546105ad906201000090046001600160a01b031681565b6040516001600160a01b03909116815260200161036c565b3480156105d157600080fd5b506103f96105e03660046128a5565b610fe0565b3480156105f157600080fd5b506002546103b6565b34801561060657600080fd5b506103f9610615366004612959565b61102c565b34801561062657600080fd5b506103b6600f5481565b34801561063c57600080fd5b506103b661064b3660046128a5565b611081565b34801561065c57600080fd5b506103f96110e0565b34801561067157600080fd5b506103b660135481565b34801561068757600080fd5b506103b660175481565b34801561069d57600080fd5b506103956106ac3660046128a5565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156106d657600080fd5b506103b660165481565b3480156106ec57600080fd5b506103b6600d5481565b34801561070257600080fd5b506000546001600160a01b03166105ad565b34801561072057600080fd5b5061035f6040518060400160405280600581526020016443414e445960d81b81525081565b34801561075157600080fd5b506009546105ad906001600160a01b031681565b34801561077157600080fd5b50601a546105ad906001600160a01b031681565b34801561079157600080fd5b506103f96107a0366004612987565b611142565b3480156107b157600080fd5b506103b660115481565b3480156107c757600080fd5b506103956107d6366004612987565b611212565b3480156107e757600080fd5b506103f9611261565b3480156107fc57600080fd5b5061039561080b366004612987565b611367565b34801561081c57600080fd5b506103f961082b3660046129ed565b611374565b34801561083c57600080fd5b506103f961084b3660046128a5565b6113a3565b34801561085c57600080fd5b506103f961086b3660046129b3565b6113f7565b34801561087c57600080fd5b506019546103959060ff1681565b34801561089657600080fd5b506103b660105481565b3480156108ac57600080fd5b506103f96108bb3660046129ed565b611468565b3480156108cc57600080fd5b506103f96108db3660046128a5565b6114b8565b3480156108ec57600080fd5b506103b660155481565b34801561090257600080fd5b506103b660185481565b34801561091857600080fd5b506103f96109273660046129ed565b611504565b34801561093857600080fd5b506103b66109473660046128df565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561097e57600080fd5b506103f961098d366004612a2b565b611589565b34801561099e57600080fd5b506103f96109ad3660046129ed565b6115c1565b3480156109be57600080fd5b506103f96109cd3660046128a5565b6115f0565b3480156109de57600080fd5b506103b6600e5481565b60006109f53384846116c8565b5060015b92915050565b6000546001600160a01b03163314610a325760405162461bcd60e51b8152600401610a2990612ada565b60405180910390fd5b601392909255601455601555565b6000610a4d8484846117ec565b610a9f8433610a9a85604051806060016040528060288152602001612c74602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190611a79565b6116c8565b5060019392505050565b6000546001600160a01b03163314610ad35760405162461bcd60e51b8152600401610a2990612ada565b601092909255601155601255565b6000600b54821115610b485760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610a29565b6000610b52611ab3565b9050610b5e8382611ad6565b9392505050565b6000546001600160a01b03163314610b8f5760405162461bcd60e51b8152600401610a2990612ada565b6001600160a01b03811660009081526006602052604090205460ff16610bf75760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610a29565b60005b600854811015610d1857816001600160a01b031660088281548110610c2157610c21612c37565b6000918252602090912001546001600160a01b03161415610d065760088054610c4c90600190612bd9565b81548110610c5c57610c5c612c37565b600091825260209091200154600880546001600160a01b039092169183908110610c8857610c88612c37565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600690925220805460ff191690556008805480610ce057610ce0612c21565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610d1081612bf0565b915050610bfa565b5050565b3360008181526007602090815260408083206001600160a01b038716845290915281205490916109f5918590610a9a9086611b18565b6000600a54831115610da65760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610a29565b81610deb576000806000610db986611b77565b935093509350506000610dca611ab3565b90506000610ddb8886868686611c0e565b509096506109f995505050505050565b6000806000610df986611b77565b935093509350506000610e0a611ab3565b90506000610e1b8886868686611c0e565b5096506109f995505050505050565b6000546001600160a01b03163314610e545760405162461bcd60e51b8152600401610a2990612ada565b600080546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015610d18573d6000803e3d6000fd5b6000546001600160a01b03163314610eb75760405162461bcd60e51b8152600401610a2990612ada565b6001600160a01b03811660009081526006602052604090205460ff1615610f205760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610a29565b6001600160a01b03811660009081526003602052604090205415610f7a576001600160a01b038116600090815260036020526040902054610f6090610ae1565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600660205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6000546001600160a01b0316331461100a5760405162461bcd60e51b8152600401610a2990612ada565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110565760405162461bcd60e51b8152600401610a2990612ada565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526006602052604081205460ff16156110be57506001600160a01b031660009081526004602052604090205490565b6001600160a01b0382166000908152600360205260409020546109f990610ae1565b6000546001600160a01b0316331461110a5760405162461bcd60e51b8152600401610a2990612ada565b600080546040516001600160a01b0390911690600080516020612c9c833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461116c5760405162461bcd60e51b8152600401610a2990612ada565b816001600160a01b031663a9059cbb61118d6000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b1580156111d557600080fd5b505af11580156111e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120d91906129d0565b505050565b60006109f53384610a9a85604051806060016040528060258152602001612cbc602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190611a79565b6001546001600160a01b031633146112c75760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610a29565b60025442116113185760405162461bcd60e51b815260206004820152601860248201527f436f6e7472616374206973207374696c6c206c6f636b656400000000000000006044820152606401610a29565b600154600080546040516001600160a01b039384169390911691600080516020612c9c83398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b60006109f53384846117ec565b6000546001600160a01b0316331461139e5760405162461bcd60e51b8152600401610a2990612ada565b601855565b6000546001600160a01b031633146113cd5760405162461bcd60e51b8152600401610a2990612ada565b601980546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6000546001600160a01b031633146114215760405162461bcd60e51b8152600401610a2990612ada565b6019805460ff19168215159081179091556040519081527f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599060200160405180910390a150565b6000546001600160a01b031633146114925760405162461bcd60e51b8152600401610a2990612ada565b6114b260646114ac83600a54611c8290919063ffffffff16565b90611ad6565b60175550565b6000546001600160a01b031633146114e25760405162461bcd60e51b8152600401610a2990612ada565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461152e5760405162461bcd60e51b8152600401610a2990612ada565b60008054600180546001600160a01b03199081166001600160a01b0384161790915516905561155d8142612b80565b600255600080546040516001600160a01b0390911690600080516020612c9c833981519152908390a350565b6000546001600160a01b031633146115b35760405162461bcd60e51b8152600401610a2990612ada565b600d92909255600e55600f55565b6000546001600160a01b031633146115eb5760405162461bcd60e51b8152600401610a2990612ada565b601655565b6000546001600160a01b0316331461161a5760405162461bcd60e51b8152600401610a2990612ada565b6001600160a01b03811661167f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a29565b600080546040516001600160a01b0380851693921691600080516020612c9c83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661172a5760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a29565b6001600160a01b03821661178b5760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a29565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166118505760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a29565b6001600160a01b0382166118b25760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a29565b600081116119145760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a29565b6000546001600160a01b0384811691161480159061194057506000546001600160a01b03838116911614155b156119a8576017548111156119a85760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a29565b60006119b330611081565b905060175481106119c357506017545b601854811080159081906119df5750601954610100900460ff16155b80156119f95750601a546001600160a01b03868116911614155b8015611a07575060195460ff165b15611a1a576018549150611a1a82611d01565b6001600160a01b03851660009081526005602052604090205460019060ff1680611a5c57506001600160a01b03851660009081526005602052604090205460ff165b15611a65575060005b611a7186868684611dd0565b505050505050565b60008184841115611a9d5760405162461bcd60e51b8152600401610a299190612a85565b506000611aaa8486612bd9565b95945050505050565b6000806000611ac0611ff6565b9092509050611acf8282611ad6565b9250505090565b6000610b5e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612178565b600080611b258385612b80565b905083811015610b5e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a29565b6000806000806000611b9a6127106114ac600d5489611c8290919063ffffffff16565b90506000611bb96127106114ac600e548a611c8290919063ffffffff16565b90506000611bd86127106114ac600f548b611c8290919063ffffffff16565b90506000611be689856121a6565b9050611bf281846121a6565b9050611bfe81836121a6565b9993985091965094509092505050565b6000808080611c1d8986611c82565b90506000611c2b8987611c82565b90506000611c398988611c82565b90506000611c478989611c82565b90506000611c5585856121a6565b9050611c6181846121a6565b9050611c6d81836121a6565b949d949c50929a509298505050505050505050565b600082611c91575060006109f9565b6000611c9d8385612bba565b905082611caa8583612b98565b14610b5e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a29565b6019805461ff0019166101001790556000611d1d826002611ad6565b90506000611d2b83836121a6565b905047611d37836121e8565b6000611d4347836121a6565b90506000611d6160646114ac60165485611c8290919063ffffffff16565b90506000611d6f83836121a6565b9050611d7b858261236e565b60408051878152602081018390529081018690527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a150506019805461ff00191690555050505050565b600d54600e54600f54601a546000906001600160a01b038981169116148015611e0d57506019546001600160a01b03888116620100009092041614155b601a549091506001600160a01b0388811691161485611e3a576000600d819055600e819055600f55611e70565b8115611e5757601054600d55601154600e55601254600f55611e70565b8015611e7057601354600d55601454600e55601554600f555b6001600160a01b03891660009081526006602052604090205460ff168015611eb157506001600160a01b03881660009081526006602052604090205460ff16155b15611ec657611ec189898961245f565b611fc4565b6001600160a01b03891660009081526006602052604090205460ff16158015611f0757506001600160a01b03881660009081526006602052604090205460ff165b15611f1757611ec18989896125bf565b6001600160a01b03891660009081526006602052604090205460ff16158015611f5957506001600160a01b03881660009081526006602052604090205460ff16155b15611f6957611ec1898989612684565b6001600160a01b03891660009081526006602052604090205460ff168015611fa957506001600160a01b03881660009081526006602052604090205460ff165b15611fb957611ec18989896126e4565b611fc4898989612684565b851580611fce5750815b80611fd65750805b15611feb57600d859055600e849055600f8390555b505050505050505050565b600b54600a546000918291825b6008548110156121485782600360006008848154811061202557612025612c37565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612090575081600460006008848154811061206957612069612c37565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156120a657600b54600a54945094505050509091565b6120ec60036000600884815481106120c0576120c0612c37565b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906121a6565b9250612134600460006008848154811061210857612108612c37565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906121a6565b91508061214081612bf0565b915050612003565b50600a54600b5461215891611ad6565b82101561216f57600b54600a549350935050509091565b90939092509050565b600081836121995760405162461bcd60e51b8152600401610a299190612a85565b506000611aaa8486612b98565b6000610b5e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a79565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061221d5761221d612c37565b60200260200101906001600160a01b031690816001600160a01b031681525050601960029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561228b57600080fd5b505afa15801561229f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c391906128c2565b816001815181106122d6576122d6612c37565b6001600160a01b03928316602091820292909201015260195461230291309162010000900416846116c8565b60195460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790612340908590600090869030904290600401612b0f565b600060405180830381600087803b15801561235a57600080fd5b505af1158015611a71573d6000803e3d6000fd5b60195461238c9030906201000090046001600160a01b0316846116c8565b6019546001600160a01b03620100009091041663f305d7198230856000806123bc6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561241f57600080fd5b505af1158015612433573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124589190612a57565b5050505050565b60008060008061246e85611b77565b93509350935093506000612480611ab3565b905060008060006124948988888888611c0e565b6001600160a01b038e1660009081526004602052604090205492955090935091506124bf908a6121a6565b6001600160a01b038c166000908152600460209081526040808320939093556003905220546124ee90846121a6565b6001600160a01b03808d1660009081526003602052604080822093909355908c168152205461251d9083611b18565b6001600160a01b038b166000908152600360205260409020556125428b308887612773565b60095461255b908c906001600160a01b03168787612773565b6125658188612881565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a6040516125aa91815260200190565b60405180910390a35050505050505050505050565b6000806000806125ce85611b77565b935093509350935060006125e0611ab3565b905060008060006125f48988888888611c0e565b6001600160a01b038e16600090815260036020526040902054929550909350915061261f90846121a6565b6001600160a01b03808d16600090815260036020908152604080832094909455918d168152600490915220546126559089611b18565b6001600160a01b038b1660009081526004602090815260408083209390935560039052205461251d9083611b18565b60008060008061269385611b77565b935093509350935060006126a5611ab3565b905060008060006126b98988888888611c0e565b6001600160a01b038e1660009081526003602052604090205492955090935091506124ee90846121a6565b6000806000806126f385611b77565b93509350935093506000612705611ab3565b905060008060006127198988888888611c0e565b6001600160a01b038e166000908152600460205260409020549295509093509150612744908a6121a6565b6001600160a01b038c1660009081526004602090815260408083209390935560039052205461261f90846121a6565b600082116127805761287b565b600061278c8383611c82565b6001600160a01b0385166000908152600360205260409020549091506127b29082611b18565b6001600160a01b03851660009081526003602090815260408083209390935560069052205460ff161561281c576001600160a01b0384166000908152600460205260409020546128029084611b18565b6001600160a01b0385166000908152600460205260409020555b6001600160a01b038416301461245857836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161287191815260200190565b60405180910390a3505b50505050565b600b5461288e90836121a6565b600b55600c5461289e9082611b18565b600c555050565b6000602082840312156128b757600080fd5b8135610b5e81612c4d565b6000602082840312156128d457600080fd5b8151610b5e81612c4d565b600080604083850312156128f257600080fd5b82356128fd81612c4d565b9150602083013561290d81612c4d565b809150509250929050565b60008060006060848603121561292d57600080fd5b833561293881612c4d565b9250602084013561294881612c4d565b929592945050506040919091013590565b6000806040838503121561296c57600080fd5b823561297781612c4d565b9150602083013561290d81612c65565b6000806040838503121561299a57600080fd5b82356129a581612c4d565b946020939093013593505050565b6000602082840312156129c557600080fd5b8135610b5e81612c65565b6000602082840312156129e257600080fd5b8151610b5e81612c65565b6000602082840312156129ff57600080fd5b5035919050565b60008060408385031215612a1957600080fd5b82359150602083013561290d81612c65565b600080600060608486031215612a4057600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215612a6c57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015612ab257858101830151858201604001528201612a96565b81811115612ac4576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612b5f5784516001600160a01b031683529383019391830191600101612b3a565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612b9357612b93612c0b565b500190565b600082612bb557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612bd457612bd4612c0b565b500290565b600082821015612beb57612beb612c0b565b500390565b6000600019821415612c0457612c04612c0b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114612c6257600080fd5b50565b8015158114612c6257600080fdfe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e042455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fe45a9dba64b996d0642e7b4ca90e1d29714a5b0156dff773b109ddfc151496164736f6c63430008050033000000000000000000000000fde68c16a7c2428ffdc57ab52d016bad6a3b3ef20000000000000000000000005be288ae5b48e6fd1d4c53a36e721eec44742e40

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

000000000000000000000000fde68c16a7c2428ffdc57ab52d016bad6a3b3ef20000000000000000000000005be288ae5b48e6fd1d4c53a36e721eec44742e40

-----Decoded View---------------
Arg [0] : cOwner (address): 0xfde68c16a7c2428ffdc57ab52d016bad6a3b3ef2
Arg [1] : marketingWallet (address): 0x5be288ae5b48e6fd1d4c53a36e721eec44742e40

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000fde68c16a7c2428ffdc57ab52d016bad6a3b3ef2
Arg [1] : 0000000000000000000000005be288ae5b48e6fd1d4c53a36e721eec44742e40


Deployed ByteCode Sourcemap

13671:20896:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14326:45;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14326:45:0;;;;;;;;;;;;:::i;:::-;;;;;;;;17181:161;;;;;;;;;;-1:-1:-1;17181:161:0;;;;;:::i;:::-;;:::i;:::-;;;4974:14:1;;4967:22;4949:41;;4937:2;4922:18;17181:161:0;4904:92:1;20430:87:0;;;;;;;;;;-1:-1:-1;20499:10:0;;20430:87;;;11831:25:1;;;11819:2;11804:18;20430:87:0;11786:76:1;16554:95:0;;;;;;;;;;-1:-1:-1;16634:7:0;;16554:95;;21282:230;;;;;;;;;;-1:-1:-1;21282:230:0;;;;;:::i;:::-;;:::i;:::-;;17691:313;;;;;;;;;;-1:-1:-1;17691:313:0;;;;;:::i;:::-;;:::i;21050:226::-;;;;;;;;;;-1:-1:-1;21050:226:0;;;;;:::i;:::-;;:::i;19345:254::-;;;;;;;;;;-1:-1:-1;19345:254:0;;;;;:::i;:::-;;:::i;14426:36::-;;;;;;;;;;;;14460:2;14426:36;;;;;13348:4:1;13336:17;;;13318:36;;13306:2;13291:18;14426:36:0;13273:87:1;19945:479:0;;;;;;;;;;-1:-1:-1;19945:479:0;;;;;:::i;:::-;;:::i;18010:218::-;;;;;;;;;;-1:-1:-1;18010:218:0;;;;;:::i;:::-;;:::i;14753:37::-;;;;;;;;;;;;;;;;18530:809;;;;;;;;;;-1:-1:-1;18530:809:0;;;;;:::i;:::-;;:::i;22652:108::-;;;;;;;;;;-1:-1:-1;22652:108:0;;;;;:::i;:::-;;:::i;19605:334::-;;;;;;;;;;-1:-1:-1;19605:334:0;;;;;:::i;:::-;;:::i;22116:123::-;;;;;;;;;;-1:-1:-1;22116:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;22204:27:0;22180:4;22204:27;;;:18;:27;;;;;;;;;22116:123;14863:38;;;;;;;;;;;;;;;;15239:42;;;;;;;;;;-1:-1:-1;15239:42:0;;;;;;;-1:-1:-1;;;;;15239:42:0;;;;;;-1:-1:-1;;;;;3874:32:1;;;3856:51;;3844:2;3829:18;15239:42:0;3811:102:1;20539:125:0;;;;;;;;;;-1:-1:-1;20539:125:0;;;;;:::i;:::-;;:::i;5067:90::-;;;;;;;;;;-1:-1:-1;5140:9:0;;5067:90;;20670:122;;;;;;;;;;-1:-1:-1;20670:122:0;;;;;:::i;:::-;;:::i;14595:42::-;;;;;;;;;;;;;;;;16655:198;;;;;;;;;;-1:-1:-1;16655:198:0;;;;;:::i;:::-;;:::i;4659:148::-;;;;;;;;;;;;;:::i;14817:38::-;;;;;;;;;;;;;;;;15022:45;;;;;;;;;;;;;;;;22245:120;;;;;;;;;;-1:-1:-1;22245:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;22337:20:0;22313:4;22337:20;;;:11;:20;;;;;;;;;22245:120;14957:56;;;;;;;;;;;;;;;;14496:42;;;;;;;;;;;;;;;;4445:79;;;;;;;;;;-1:-1:-1;4483:7:0;4510:6;-1:-1:-1;;;;;4510:6:0;4445:79;;14378:41;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14378:41:0;;;;;14091:31;;;;;;;;;;-1:-1:-1;14091:31:0;;;;-1:-1:-1;;;;;14091:31:0;;;15288:40;;;;;;;;;;-1:-1:-1;15288:40:0;;;;-1:-1:-1;;;;;15288:40:0;;;22766:145;;;;;;;;;;-1:-1:-1;22766:145:0;;;;;:::i;:::-;;:::i;14708:37::-;;;;;;;;;;;;;;;;18234:269;;;;;;;;;;-1:-1:-1;18234:269:0;;;;;:::i;:::-;;:::i;5403:298::-;;;;;;;;;;;;;:::i;16859:167::-;;;;;;;;;;-1:-1:-1;16859:167:0;;;;;:::i;:::-;;:::i;21810:125::-;;;;;;;;;;-1:-1:-1;21810:125:0;;;;;:::i;:::-;;:::i;22371:178::-;;;;;;;;;;-1:-1:-1;22371:178:0;;;;;:::i;:::-;;:::i;21941:169::-;;;;;;;;;;-1:-1:-1;21941:169:0;;;;;:::i;:::-;;:::i;15153:42::-;;;;;;;;;;-1:-1:-1;15153:42:0;;;;;;;;14663:37;;;;;;;;;;;;;;;;21670:134;;;;;;;;;;-1:-1:-1;21670:134:0;;;;;:::i;:::-;;:::i;22555:91::-;;;;;;;;;;-1:-1:-1;22555:91:0;;;;;:::i;:::-;;:::i;14909:38::-;;;;;;;;;;;;;;;;15074:48;;;;;;;;;;;;;;;;5165:226;;;;;;;;;;-1:-1:-1;5165:226:0;;;;;:::i;:::-;;:::i;17032:143::-;;;;;;;;;;-1:-1:-1;17032:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17140:18:0;;;17113:7;17140:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17032:143;20798:246;;;;;;;;;;-1:-1:-1;20798:246:0;;;;;:::i;:::-;;:::i;21518:146::-;;;;;;;;;;-1:-1:-1;21518:146:0;;;;;:::i;:::-;;:::i;4815:244::-;;;;;;;;;;-1:-1:-1;4815:244:0;;;;;:::i;:::-;;:::i;14545:42::-;;;;;;;;;;;;;;;;17181:161;17256:4;17273:39;1499:10;17296:7;17305:6;17273:8;:39::i;:::-;-1:-1:-1;17330:4:0;17181:161;;;;;:::o;21282:230::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;;;;;;;;;21392:11:::1;:26:::0;;;;21429:17:::1;:32:::0;21472:17:::1;:32:::0;21282:230::o;17691:313::-;17789:4;17806:36;17816:6;17824:9;17835:6;17806:9;:36::i;:::-;17853:121;17862:6;1499:10;17884:89;17922:6;17884:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17884:19:0;;;;;;:11;:19;;;;;;;;1499:10;17884:33;;;;;;;;;;:37;:89::i;:::-;17853:8;:121::i;:::-;-1:-1:-1;17992:4:0;17691:313;;;;;:::o;21050:226::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;21159:10:::1;:25:::0;;;;21195:16:::1;:31:::0;21237:16:::1;:31:::0;21050:226::o;19345:254::-;19411:7;19450;;19439;:18;;19431:73;;;;-1:-1:-1;;;19431:73:0;;7204:2:1;19431:73:0;;;7186:21:1;7243:2;7223:18;;;7216:30;7282:34;7262:18;;;7255:62;-1:-1:-1;;;7333:18:1;;;7326:40;7383:19;;19431:73:0;7176:232:1;19431:73:0;19517:19;19539:10;:8;:10::i;:::-;19517:32;-1:-1:-1;19567:24:0;:7;19517:32;19567:11;:24::i;:::-;19560:31;19345:254;-1:-1:-1;;;19345:254:0:o;19945:479::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20025:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;20017:60;;;::::0;-1:-1:-1;;;20017:60:0;;8378:2:1;20017:60:0::1;::::0;::::1;8360:21:1::0;8417:2;8397:18;;;8390:30;8456:29;8436:18;;;8429:57;8503:18;;20017:60:0::1;8350:177:1::0;20017:60:0::1;20095:9;20090:327;20114:9;:16:::0;20110:20;::::1;20090:327;;;20172:7;-1:-1:-1::0;;;;;20156:23:0::1;:9;20166:1;20156:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;20156:12:0::1;:23;20152:254;;;20215:9;20225:16:::0;;:20:::1;::::0;20244:1:::1;::::0;20225:20:::1;:::i;:::-;20215:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;20200:9:::1;:12:::0;;-1:-1:-1;;;;;20215:31:0;;::::1;::::0;20210:1;;20200:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;20200:46:0::1;-1:-1:-1::0;;;;;20200:46:0;;::::1;;::::0;;20265:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;20304:11:::1;:20:::0;;;;:28;;-1:-1:-1;;20304:28:0::1;::::0;;20351:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;20351:15:0;;;;;-1:-1:-1;;;;;;20351:15:0::1;::::0;;;;;20090:327:::1;19945:479:::0;:::o;20152:254::-:1;20132:3:::0;::::1;::::0;::::1;:::i;:::-;;;;20090:327;;;;19945:479:::0;:::o;18010:218::-;1499:10;18098:4;18147:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18147:34:0;;;;;;;;;;18098:4;;18115:83;;18138:7;;18147:50;;18186:10;18147:38;:50::i;18530:809::-;18620:7;18659;;18648;:18;;18640:62;;;;-1:-1:-1;;;18640:62:0;;8734:2:1;18640:62:0;;;8716:21:1;8773:2;8753:18;;;8746:30;8812:33;8792:18;;;8785:61;8863:18;;18640:62:0;8706:181:1;18640:62:0;18720:17;18715:617;;18757:12;18771:18;18791;18813:20;18825:7;18813:11;:20::i;:::-;18754:79;;;;;;;18848:19;18870:10;:8;:10::i;:::-;18848:32;;18896:15;18917:63;18929:7;18938:4;18944:10;18956;18968:11;18917;:63::i;:::-;-1:-1:-1;18895:85:0;;-1:-1:-1;18997:14:0;;-1:-1:-1;;;;;;18997:14:0;18715:617;19049:12;19063:18;19083;19105:20;19117:7;19105:11;:20::i;:::-;19046:79;;;;;;;19140:19;19162:10;:8;:10::i;:::-;19140:32;;19190:23;19218:63;19230:7;19239:4;19245:10;19257;19269:11;19218;:63::i;:::-;-1:-1:-1;19187:94:0;-1:-1:-1;19298:22:0;;-1:-1:-1;;;;;;19298:22:0;22652:108;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;4483:7;4510:6;;22719:33:::1;::::0;-1:-1:-1;;;;;4510:6:0;;;;22719:33;::::1;;;::::0;22745:6;;22719:33;4483:7;22719:33;22745:6;4510;22719:33;::::1;;;;;;;;;;;;;::::0;::::1;;;;19605:334:::0;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19686:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;19685:21;19677:61;;;::::0;-1:-1:-1;;;19677:61:0;;8378:2:1;19677:61:0::1;::::0;::::1;8360:21:1::0;8417:2;8397:18;;;8390:30;8456:29;8436:18;;;8429:57;8503:18;;19677:61:0::1;8350:177:1::0;19677:61:0::1;-1:-1:-1::0;;;;;19755:16:0;::::1;19774:1;19755:16:::0;;;:7:::1;:16;::::0;;;;;:20;19751:109:::1;;-1:-1:-1::0;;;;;19831:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;19811:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;19792:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;19751:109:::1;-1:-1:-1::0;;;;;19870:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;19870:27:0::1;19893:4;19870:27:::0;;::::1;::::0;;;19908:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;19908:23:0::1;::::0;;::::1;::::0;;19605:334::o;20539:125::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;20622:16:::1;:34:::0;;-1:-1:-1;;;;;;20622:34:0::1;-1:-1:-1::0;;;;;20622:34:0;;;::::1;::::0;;;::::1;::::0;;20539:125::o;20670:122::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20753:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:31;;-1:-1:-1;;20753:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20670:122::o;16655:198::-;-1:-1:-1;;;;;16745:20:0;;16721:7;16745:20;;;:11;:20;;;;;;;;16741:49;;;-1:-1:-1;;;;;;16774:16:0;;;;;:7;:16;;;;;;;16655:198::o;16741:49::-;-1:-1:-1;;;;;16828:16:0;;;;;;:7;:16;;;;;;16808:37;;:19;:37::i;4659:148::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;4766:1:::1;4750:6:::0;;4729:40:::1;::::0;-1:-1:-1;;;;;4750:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;4729:40:0;4766:1;;4729:40:::1;4797:1;4780:19:::0;;-1:-1:-1;;;;;;4780:19:0::1;::::0;;4659:148::o;22766:145::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;22864:12:::1;-1:-1:-1::0;;;;;22857:29:0::1;;22887:7;4483::::0;4510:6;-1:-1:-1;;;;;4510:6:0;;4445:79;22887:7:::1;22857:46;::::0;-1:-1:-1;;;;;;22857:46:0::1;::::0;;;;;;-1:-1:-1;;;;;4110:32:1;;;22857:46:0::1;::::0;::::1;4092:51:1::0;4159:18;;;4152:34;;;4065:18;;22857:46:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22766:145:::0;;:::o;18234:269::-;18327:4;18344:129;1499:10;18367:7;18376:96;18415:15;18376:96;;;;;;;;;;;;;;;;;1499:10;18376:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18376:34:0;;;;;;;;;;;;:38;:96::i;5403:298::-;5455:14;;-1:-1:-1;;;;;5455:14:0;5473:10;5455:28;5447:76;;;;-1:-1:-1;;;5447:76:0;;11483:2:1;5447:76:0;;;11465:21:1;11522:2;11502:18;;;11495:30;11561:34;11541:18;;;11534:62;-1:-1:-1;;;11612:18:1;;;11605:33;11655:19;;5447:76:0;11455:225:1;5447:76:0;5560:9;;5542:15;:27;5534:65;;;;-1:-1:-1;;;5534:65:0;;6446:2:1;5534:65:0;;;6428:21:1;6485:2;6465:18;;;6458:30;6524:26;6504:18;;;6497:54;6568:18;;5534:65:0;6418:174:1;5534:65:0;5644:14;;;5636:6;;5615:44;;-1:-1:-1;;;;;5644:14:0;;;;5636:6;;;;-1:-1:-1;;;;;;;;;;;5615:44:0;;5679:14;;;5670:23;;-1:-1:-1;;;;;;5670:23:0;-1:-1:-1;;;;;5679:14:0;;;5670:23;;;;;;5403:298::o;16859:167::-;16937:4;16954:42;1499:10;16978:9;16989:6;16954:9;:42::i;21810:125::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;21893:16:::1;:34:::0;21810:125::o;22371:178::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;22507:16:::1;:34:::0;;-1:-1:-1;;;;;22507:34:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;22507:34:0;;::::1;::::0;;;::::1;::::0;;22371:178::o;21941:169::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;22017:22:::1;:32:::0;;-1:-1:-1;;22017:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;22065:37:::1;::::0;4949:41:1;;;22065:37:0::1;::::0;4937:2:1;4922:18;22065:37:0::1;;;;;;;21941:169:::0;:::o;21670:134::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;21762:34:::1;21792:3;21762:25;21774:12;21762:7;;:11;;:25;;;;:::i;:::-;:29:::0;::::1;:34::i;:::-;21747:12;:49:::0;-1:-1:-1;21670:134:0:o;22555:91::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;22620:14:::1;:18:::0;;-1:-1:-1;;;;;;22620:18:0::1;-1:-1:-1::0;;;;;22620:18:0;;;::::1;::::0;;;::::1;::::0;;22555:91::o;5165:226::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;5246:6:::1;::::0;;;5229:23;;-1:-1:-1;;;;;;5229:23:0;;::::1;-1:-1:-1::0;;;;;5246:6:0;::::1;5229:23;::::0;;;5263:19:::1;::::0;;5305:22:::1;5323:4:::0;5305:15:::1;:22;:::i;:::-;5293:9;:34:::0;5380:1:::1;5364:6:::0;;5343:40:::1;::::0;-1:-1:-1;;;;;5364:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;5343:40:0;5380:1;;5343:40:::1;5165:226:::0;:::o;20798:246::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;20912:15:::1;:30:::0;;;;20953:21:::1;:36:::0;21000:21:::1;:36:::0;20798:246::o;21518:146::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;21601:37:::1;:55:::0;21518:146::o;4815:244::-;4572:6;;-1:-1:-1;;;;;4572:6:0;1499:10;4572:22;4564:67;;;;-1:-1:-1;;;4564:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4904:22:0;::::1;4896:73;;;::::0;-1:-1:-1;;;4896:73:0;;7615:2:1;4896:73:0::1;::::0;::::1;7597:21:1::0;7654:2;7634:18;;;7627:30;7693:34;7673:18;;;7666:62;-1:-1:-1;;;7744:18:1;;;7737:36;7790:19;;4896:73:0::1;7587:228:1::0;4896:73:0::1;5006:6;::::0;;4985:38:::1;::::0;-1:-1:-1;;;;;4985:38:0;;::::1;::::0;5006:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;4985:38:0;::::1;5034:6;:17:::0;;-1:-1:-1;;;;;;5034:17:0::1;-1:-1:-1::0;;;;;5034:17:0;;;::::1;::::0;;;::::1;::::0;;4815:244::o;17348:337::-;-1:-1:-1;;;;;17441:19:0;;17433:68;;;;-1:-1:-1;;;17433:68:0;;6799:2:1;17433:68:0;;;6781:21:1;6838:2;6818:18;;;6811:30;6877:34;6857:18;;;6850:62;-1:-1:-1;;;6928:18:1;;;6921:34;6972:19;;17433:68:0;6771:226:1;17433:68:0;-1:-1:-1;;;;;17520:21:0;;17512:68;;;;-1:-1:-1;;;17512:68:0;;11080:2:1;17512:68:0;;;11062:21:1;11119:2;11099:18;;;11092:30;11158:34;11138:18;;;11131:62;-1:-1:-1;;;11209:18:1;;;11202:32;11251:19;;17512:68:0;11052:224:1;17512:68:0;-1:-1:-1;;;;;17593:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17645:32;;11831:25:1;;;17645:32:0;;11804:18:1;17645:32:0;;;;;;;17348:337;;;:::o;22936:1581::-;-1:-1:-1;;;;;23058:18:0;;23050:68;;;;-1:-1:-1;;;23050:68:0;;6040:2:1;23050:68:0;;;6022:21:1;6079:2;6059:18;;;6052:30;6118:34;6098:18;;;6091:62;-1:-1:-1;;;6169:18:1;;;6162:35;6214:19;;23050:68:0;6012:227:1;23050:68:0;-1:-1:-1;;;;;23137:16:0;;23129:64;;;;-1:-1:-1;;;23129:64:0;;10676:2:1;23129:64:0;;;10658:21:1;10715:2;10695:18;;;10688:30;10754:34;10734:18;;;10727:62;-1:-1:-1;;;10805:18:1;;;10798:33;10848:19;;23129:64:0;10648:225:1;23129:64:0;23221:1;23212:6;:10;23204:64;;;;-1:-1:-1;;;23204:64:0;;10266:2:1;23204:64:0;;;10248:21:1;10305:2;10285:18;;;10278:30;10344:34;10324:18;;;10317:62;-1:-1:-1;;;10395:18:1;;;10388:39;10444:19;;23204:64:0;10238:231:1;23204:64:0;4483:7;4510:6;-1:-1:-1;;;;;23285:15:0;;;4510:6;;23285:15;;;;:32;;-1:-1:-1;4483:7:0;4510:6;-1:-1:-1;;;;;23304:13:0;;;4510:6;;23304:13;;23285:32;23281:140;;;23352:12;;23342:6;:22;;23334:75;;;;-1:-1:-1;;;23334:75:0;;9094:2:1;23334:75:0;;;9076:21:1;9133:2;9113:18;;;9106:30;9172:34;9152:18;;;9145:62;-1:-1:-1;;;9223:18:1;;;9216:38;9271:19;;23334:75:0;9066:230:1;23334:75:0;23749:28;23780:24;23798:4;23780:9;:24::i;:::-;23749:55;;23853:12;;23829:20;:36;23825:104;;-1:-1:-1;23905:12:0;;23825:104;24002:16;;23978:40;;;;;;;24047:56;;-1:-1:-1;24086:17:0;;;;;;;24085:18;24047:56;:95;;;;-1:-1:-1;24128:14:0;;-1:-1:-1;;;;;24120:22:0;;;24128:14;;24120:22;;24047:95;:134;;;;-1:-1:-1;24159:22:0;;;;24047:134;24029:281;;;24231:16;;24208:39;;24262:36;24277:20;24262:14;:36::i;:::-;-1:-1:-1;;;;;24364:24:0;;24330:12;24364:24;;;:18;:24;;;;;;24345:4;;24364:24;;;:50;;-1:-1:-1;;;;;;24392:22:0;;;;;;:18;:22;;;;;;;;24364:50;24360:98;;;-1:-1:-1;24441:5:0;24360:98;24468:41;24483:4;24489:2;24493:6;24501:7;24468:14;:41::i;:::-;23039:1478;;;22936:1581;;;:::o;2801:192::-;2887:7;2923:12;2915:6;;;;2907:29;;;;-1:-1:-1;;;2907:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2947:9:0;2959:5;2963:1;2959;:5;:::i;:::-;2947:17;2801:192;-1:-1:-1;;;;;2801:192:0:o;33387:163::-;33428:7;33449:15;33466;33485:19;:17;:19::i;:::-;33448:56;;-1:-1:-1;33448:56:0;-1:-1:-1;33522:20:0;33448:56;;33522:11;:20::i;:::-;33515:27;;;;33387:163;:::o;3237:132::-;3295:7;3322:39;3326:1;3329;3322:39;;;;;;;;;;;;;;;;;:3;:39::i;2468:181::-;2526:7;;2558:5;2562:1;2558;:5;:::i;:::-;2546:17;;2587:1;2582;:6;;2574:46;;;;-1:-1:-1;;;2574:46:0;;8022:2:1;2574:46:0;;;8004:21:1;8061:2;8041:18;;;8034:30;8100:29;8080:18;;;8073:57;8147:18;;2574:46:0;7994:177:1;32182:568:0;32242:7;32251;32260;32269;32289:12;32310:39;32343:5;32310:28;32322:15;;32310:7;:11;;:28;;;;:::i;:39::-;32289:60;;32360:18;32381:45;32420:5;32381:34;32393:21;;32381:7;:11;;:34;;;;:::i;:45::-;32360:66;;32437:18;32458:45;32497:5;32458:34;32470:21;;32458:7;:11;;:34;;;;:::i;:45::-;32437:66;-1:-1:-1;32514:23:0;32540:17;:7;32552:4;32540:11;:17::i;:::-;32514:43;-1:-1:-1;32586:31:0;32514:43;32606:10;32586:19;:31::i;:::-;32568:49;-1:-1:-1;32646:31:0;32568:49;32666:10;32646:19;:31::i;:::-;32628:49;32713:4;;-1:-1:-1;32719:10:0;;-1:-1:-1;32719:10:0;-1:-1:-1;32182:568:0;;-1:-1:-1;;;32182:568:0:o;32756:625::-;32891:7;;;;32951:24;:7;32963:11;32951;:24::i;:::-;32929:46;-1:-1:-1;32986:12:0;33008:21;:4;33017:11;33008:8;:21::i;:::-;32986:43;-1:-1:-1;33040:18:0;33062:27;:10;33077:11;33062:14;:27::i;:::-;33040:49;-1:-1:-1;33100:18:0;33122:27;:10;33137:11;33122:14;:27::i;:::-;33100:49;-1:-1:-1;33160:23:0;33186:17;:7;33198:4;33186:11;:17::i;:::-;33160:43;-1:-1:-1;33232:31:0;33160:43;33252:10;33232:19;:31::i;:::-;33214:49;-1:-1:-1;33292:31:0;33214:49;33312:10;33292:19;:31::i;:::-;33342:7;;;;-1:-1:-1;33368:4:0;;-1:-1:-1;32756:625:0;;-1:-1:-1;;;;;;;;;32756:625:0:o;3001:228::-;3059:7;3083:6;3079:25;;-1:-1:-1;3100:1:0;3093:8;;3079:25;3116:9;3128:5;3132:1;3128;:5;:::i;:::-;3116:17;-1:-1:-1;3161:1:0;3152:5;3156:1;3116:17;3152:5;:::i;:::-;:10;3144:56;;;;-1:-1:-1;;;3144:56:0;;9503:2:1;3144:56:0;;;9485:21:1;9542:2;9522:18;;;9515:30;9581:34;9561:18;;;9554:62;-1:-1:-1;;;9632:18:1;;;9625:31;9673:19;;3144:56:0;9475:223:1;24523:1136:0;15629:17;:24;;-1:-1:-1;;15629:24:0;;;;;;24675:27:::1;:20:::0;24700:1:::1;24675:24;:27::i;:::-;24655:47:::0;-1:-1:-1;24713:17:0::1;24733:30;:20:::0;24655:47;24733:24:::1;:30::i;:::-;24713:50:::0;-1:-1:-1;25095:21:0::1;25161:22;25178:4:::0;25161:16:::1;:22::i;:::-;25260:18;25281:41;:21;25307:14:::0;25281:25:::1;:41::i;:::-;25260:62;;25333:22;25358:62;25416:3;25358:53;25373:37;;25358:10;:14;;:53;;;;:::i;:62::-;25333:87:::0;-1:-1:-1;25431:23:0::1;25457:30;:10:::0;25333:87;25457:14:::1;:30::i;:::-;25431:56;;25537:40;25550:9;25561:15;25537:12;:40::i;:::-;25603:48;::::0;;13054:25:1;;;13110:2;13095:18;;13088:34;;;13138:18;;;13131:34;;;25603:48:0::1;::::0;13042:2:1;13027:18;25603:48:0::1;;;;;;;-1:-1:-1::0;;15676:17:0;:25;;-1:-1:-1;;15676:25:0;;;-1:-1:-1;;;;;24523:1136:0:o;26786:1842::-;26925:15;;26982:21;;27045;;27103:14;;26894:22;;-1:-1:-1;;;;;27093:24:0;;;27103:14;;27093:24;:66;;;;-1:-1:-1;27142:16:0;;-1:-1:-1;;;;;27121:38:0;;;27142:16;;;;;27121:38;;27093:66;27197:14;;27079:80;;-1:-1:-1;;;;;;27184:27:0;;;27197:14;;27184:27;27229:7;27224:532;;27277:1;27253:15;:25;;;27293:21;:25;;;27333:21;:25;27224:532;;;27382:5;27378:378;;;27429:10;;27405:15;:34;27478:16;;27454:21;:40;27533:16;;27509:21;:40;27378:378;;;27573:6;27569:187;;;27621:11;;27597:15;:35;27671:17;;27647:21;:41;27727:17;;27703:21;:41;27569:187;-1:-1:-1;;;;;27782:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;27806:22:0;;;;;;:11;:22;;;;;;;;27805:23;27782:46;27778:605;;;27845:48;27867:6;27875:9;27886:6;27845:21;:48::i;:::-;27778:605;;;-1:-1:-1;;;;;27918:19:0;;;;;;:11;:19;;;;;;;;27917:20;:46;;;;-1:-1:-1;;;;;;27941:22:0;;;;;;:11;:22;;;;;;;;27917:46;27913:470;;;27980:46;28000:6;28008:9;28019:6;27980:19;:46::i;27913:470::-;-1:-1:-1;;;;;28051:19:0;;;;;;:11;:19;;;;;;;;28050:20;:47;;;;-1:-1:-1;;;;;;28075:22:0;;;;;;:11;:22;;;;;;;;28074:23;28050:47;28046:337;;;28114:44;28132:6;28140:9;28151:6;28114:17;:44::i;28046:337::-;-1:-1:-1;;;;;28182:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;28205:22:0;;;;;;:11;:22;;;;;;;;28182:45;28178:205;;;28244:48;28266:6;28274:9;28285:6;28244:21;:48::i;28178:205::-;28327:44;28345:6;28353:9;28364:6;28327:17;:44::i;:::-;28410:7;28409:8;:17;;;;28421:5;28409:17;:27;;;;28430:6;28409:27;28405:216;;;28453:15;:38;;;28506:21;:44;;;28565:21;:44;;;28405:216;26883:1745;;;;;26786:1842;;;;:::o;33556:561::-;33653:7;;33689;;33606;;;;;33713:289;33737:9;:16;33733:20;;33713:289;;;33803:7;33779;:21;33787:9;33797:1;33787:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;33787:12:0;33779:21;;;;;;;;;;;;;:31;;:66;;;33838:7;33814;:21;33822:9;33832:1;33822:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;33822:12:0;33814:21;;;;;;;;;;;;;:31;33779:66;33775:97;;;33855:7;;33864;;33847:25;;;;;;;33556:561;;:::o;33775:97::-;33897:34;33909:7;:21;33917:9;33927:1;33917:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;33917:12:0;33909:21;;;;;;;;;;;;;33897:7;;:11;:34::i;:::-;33887:44;;33956:34;33968:7;:21;33976:9;33986:1;33976:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;33976:12:0;33968:21;;;;;;;;;;;;;33956:7;;:11;:34::i;:::-;33946:44;-1:-1:-1;33755:3:0;;;;:::i;:::-;;;;33713:289;;;-1:-1:-1;34038:7:0;;34026;;:20;;:11;:20::i;:::-;34016:7;:30;34012:61;;;34056:7;;34065;;34048:25;;;;;;33556:561;;:::o;34012:61::-;34092:7;;34101;;-1:-1:-1;33556:561:0;-1:-1:-1;33556:561:0:o;3377:278::-;3463:7;3498:12;3491:5;3483:28;;;;-1:-1:-1;;;3483:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3522:9:0;3534:5;3538:1;3534;:5;:::i;2657:136::-;2715:7;2742:43;2746:1;2749;2742:43;;;;;;;;;;;;;;;;;:3;:43::i;25665:592::-;25815:16;;;25829:1;25815:16;;;;;;;;25791:21;;25815:16;;;;;;;;;;-1:-1:-1;25815:16:0;25791:40;;25860:4;25842;25847:1;25842:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;25842:23:0;;;-1:-1:-1;;;;;25842:23:0;;;;;25886:16;;;;;;;;;-1:-1:-1;;;;;25886:16:0;-1:-1:-1;;;;;25886:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25876:4;25881:1;25876:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25876:33:0;;;:7;;;;;;;;;:33;25954:16;;25922:63;;25939:4;;25954:16;;;;25973:11;25922:8;:63::i;:::-;26024:16;;:225;;-1:-1:-1;;;26024:225:0;;:16;;;;-1:-1:-1;;;;;26024:16:0;;:67;;:225;;26106:11;;26132:1;;26176:4;;26203;;26223:15;;26024:225;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26263:515;26443:16;;26411:63;;26428:4;;26443:16;;;-1:-1:-1;;;;;26443:16:0;26462:11;26411:8;:63::i;:::-;26517:16;;-1:-1:-1;;;;;26517:16:0;;;;;:32;26557:9;26590:4;26610:11;26636:1;;26722:7;4483;4510:6;-1:-1:-1;;;;;4510:6:0;;4445:79;26722:7;26517:253;;;;;;-1:-1:-1;;;;;;26517:253:0;;;-1:-1:-1;;;;;4556:15:1;;;26517:253:0;;;4538:34:1;4588:18;;;4581:34;;;;4631:18;;;4624:34;;;;4674:18;;;4667:34;4738:15;;;4717:19;;;4710:44;26744:15:0;4770:19:1;;;4763:35;4472:19;;26517:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;26263:515;;:::o;31185:836::-;31288:23;31313:12;31327:18;31347;31369:20;31381:7;31369:11;:20::i;:::-;31287:102;;;;;;;;31400:19;31422:10;:8;:10::i;:::-;31400:32;;31444:15;31461:23;31486:12;31502:63;31514:7;31523:4;31529:10;31541;31553:11;31502;:63::i;:::-;-1:-1:-1;;;;;31596:15:0;;;;;;:7;:15;;;;;;31443:122;;-1:-1:-1;31443:122:0;;-1:-1:-1;31443:122:0;-1:-1:-1;31596:28:0;;31616:7;31596:19;:28::i;:::-;-1:-1:-1;;;;;31578:15:0;;;;;;:7;:15;;;;;;;;:46;;;;31653:7;:15;;;;:28;;31673:7;31653:19;:28::i;:::-;-1:-1:-1;;;;;31635:15:0;;;;;;;:7;:15;;;;;;:46;;;;31713:18;;;;;;;:39;;31736:15;31713:22;:39::i;:::-;-1:-1:-1;;;;;31692:18:0;;;;;;:7;:18;;;;;:60;31765:66;31784:6;31800:4;31807:10;31819:11;31765:18;:66::i;:::-;31877:16;;31842:78;;31861:6;;-1:-1:-1;;;;;31877:16:0;31896:10;31908:11;31842:18;:78::i;:::-;31931:22;31942:4;31948;31931:10;:22::i;:::-;31986:9;-1:-1:-1;;;;;31969:44:0;31978:6;-1:-1:-1;;;;;31969:44:0;;31997:15;31969:44;;;;11831:25:1;;11819:2;11804:18;;11786:76;31969:44:0;;;;;;;;31276:745;;;;;;;;31185:836;;;:::o;30331:848::-;30432:23;30457:12;30471:18;30491;30513:20;30525:7;30513:11;:20::i;:::-;30431:102;;;;;;;;30544:19;30566:10;:8;:10::i;:::-;30544:32;;30588:15;30605:23;30630:12;30646:63;30658:7;30667:4;30673:10;30685;30697:11;30646;:63::i;:::-;-1:-1:-1;;;;;30740:15:0;;;;;;:7;:15;;;;;;30587:122;;-1:-1:-1;30587:122:0;;-1:-1:-1;30587:122:0;-1:-1:-1;30740:28:0;;30587:122;30740:19;:28::i;:::-;-1:-1:-1;;;;;30722:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;30800:18;;;;;:7;:18;;;;;:39;;30823:15;30800:22;:39::i;:::-;-1:-1:-1;;;;;30779:18:0;;;;;;:7;:18;;;;;;;;:60;;;;30871:7;:18;;;;:39;;30894:15;30871:22;:39::i;28634:778::-;28733:23;28758:12;28772:18;28792;28814:20;28826:7;28814:11;:20::i;:::-;28732:102;;;;;;;;28845:19;28867:10;:8;:10::i;:::-;28845:32;;28889:15;28906:23;28931:12;28947:63;28959:7;28968:4;28974:10;28986;28998:11;28947;:63::i;:::-;-1:-1:-1;;;;;29044:15:0;;;;;;:7;:15;;;;;;28888:122;;-1:-1:-1;28888:122:0;;-1:-1:-1;28888:122:0;-1:-1:-1;29044:28:0;;28888:122;29044:19;:28::i;29418:907::-;29521:23;29546:12;29560:18;29580;29602:20;29614:7;29602:11;:20::i;:::-;29520:102;;;;;;;;29633:19;29655:10;:8;:10::i;:::-;29633:32;;29677:15;29694:23;29719:12;29735:63;29747:7;29756:4;29762:10;29774;29786:11;29735;:63::i;:::-;-1:-1:-1;;;;;29829:15:0;;;;;;:7;:15;;;;;;29676:122;;-1:-1:-1;29676:122:0;;-1:-1:-1;29676:122:0;-1:-1:-1;29829:28:0;;29849:7;29829:19;:28::i;:::-;-1:-1:-1;;;;;29811:15:0;;;;;;:7;:15;;;;;;;;:46;;;;29886:7;:15;;;;:28;;29906:7;29886:19;:28::i;34123:441::-;34249:1;34238:7;:12;34234:29;;34254:7;;34234:29;34275:15;34293:24;:7;34305:11;34293;:24::i;:::-;-1:-1:-1;;;;;34342:11:0;;;;;;:7;:11;;;;;;34275:42;;-1:-1:-1;34342:24:0;;34275:42;34342:15;:24::i;:::-;-1:-1:-1;;;;;34328:11:0;;;;;;:7;:11;;;;;;;;:38;;;;34381:11;:15;;;;;;34377:86;;;-1:-1:-1;;;;;34427:11:0;;;;;;:7;:11;;;;;;:24;;34443:7;34427:15;:24::i;:::-;-1:-1:-1;;;;;34413:11:0;;;;;;:7;:11;;;;;:38;34377:86;-1:-1:-1;;;;;34477:19:0;;34491:4;34477:19;34473:84;;34533:2;-1:-1:-1;;;;;34518:27:0;34527:4;-1:-1:-1;;;;;34518:27:0;;34537:7;34518:27;;;;11831:25:1;;11819:2;11804:18;;11786:76;34518:27:0;;;;;;;;34223:341;34123:441;;;;;:::o;32027:149::-;32107:7;;:17;;32119:4;32107:11;:17::i;:::-;32094:7;:30;32148:10;;:20;;32163:4;32148:14;:20::i;:::-;32135:10;:33;-1:-1:-1;;32027:149:0:o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:382::-;1441:6;1449;1502:2;1490:9;1481:7;1477:23;1473:32;1470:2;;;1518:1;1515;1508:12;1470:2;1557:9;1544:23;1576:31;1601:5;1576:31;:::i;:::-;1626:5;-1:-1:-1;1683:2:1;1668:18;;1655:32;1696:30;1655:32;1696:30;:::i;1763:315::-;1831:6;1839;1892:2;1880:9;1871:7;1867:23;1863:32;1860:2;;;1908:1;1905;1898:12;1860:2;1947:9;1934:23;1966:31;1991:5;1966:31;:::i;:::-;2016:5;2068:2;2053:18;;;;2040:32;;-1:-1:-1;;;1850:228:1:o;2083:241::-;2139:6;2192:2;2180:9;2171:7;2167:23;2163:32;2160:2;;;2208:1;2205;2198:12;2160:2;2247:9;2234:23;2266:28;2288:5;2266:28;:::i;2329:245::-;2396:6;2449:2;2437:9;2428:7;2424:23;2420:32;2417:2;;;2465:1;2462;2455:12;2417:2;2497:9;2491:16;2516:28;2538:5;2516:28;:::i;2579:180::-;2638:6;2691:2;2679:9;2670:7;2666:23;2662:32;2659:2;;;2707:1;2704;2697:12;2659:2;-1:-1:-1;2730:23:1;;2649:110;-1:-1:-1;2649:110:1:o;2764:309::-;2829:6;2837;2890:2;2878:9;2869:7;2865:23;2861:32;2858:2;;;2906:1;2903;2896:12;2858:2;2942:9;2929:23;2919:33;;3002:2;2991:9;2987:18;2974:32;3015:28;3037:5;3015:28;:::i;3078:316::-;3155:6;3163;3171;3224:2;3212:9;3203:7;3199:23;3195:32;3192:2;;;3240:1;3237;3230:12;3192:2;-1:-1:-1;;3263:23:1;;;3333:2;3318:18;;3305:32;;-1:-1:-1;3384:2:1;3369:18;;;3356:32;;3182:212;-1:-1:-1;3182:212:1:o;3399:306::-;3487:6;3495;3503;3556:2;3544:9;3535:7;3531:23;3527:32;3524:2;;;3572:1;3569;3562:12;3524:2;3601:9;3595:16;3585:26;;3651:2;3640:9;3636:18;3630:25;3620:35;;3695:2;3684:9;3680:18;3674:25;3664:35;;3514:191;;;;;:::o;5236:597::-;5348:4;5377:2;5406;5395:9;5388:21;5438:6;5432:13;5481:6;5476:2;5465:9;5461:18;5454:34;5506:1;5516:140;5530:6;5527:1;5524:13;5516:140;;;5625:14;;;5621:23;;5615:30;5591:17;;;5610:2;5587:26;5580:66;5545:10;;5516:140;;;5674:6;5671:1;5668:13;5665:2;;;5744:1;5739:2;5730:6;5719:9;5715:22;5711:31;5704:42;5665:2;-1:-1:-1;5817:2:1;5796:15;-1:-1:-1;;5792:29:1;5777:45;;;;5824:2;5773:54;;5357:476;-1:-1:-1;;;5357:476:1:o;9703:356::-;9905:2;9887:21;;;9924:18;;;9917:30;9983:34;9978:2;9963:18;;9956:62;10050:2;10035:18;;9877:182::o;11867:980::-;12129:4;12177:3;12166:9;12162:19;12208:6;12197:9;12190:25;12234:2;12272:6;12267:2;12256:9;12252:18;12245:34;12315:3;12310:2;12299:9;12295:18;12288:31;12339:6;12374;12368:13;12405:6;12397;12390:22;12443:3;12432:9;12428:19;12421:26;;12482:2;12474:6;12470:15;12456:29;;12503:1;12513:195;12527:6;12524:1;12521:13;12513:195;;;12592:13;;-1:-1:-1;;;;;12588:39:1;12576:52;;12683:15;;;;12648:12;;;;12624:1;12542:9;12513:195;;;-1:-1:-1;;;;;;;12764:32:1;;;;12759:2;12744:18;;12737:60;-1:-1:-1;;;12828:3:1;12813:19;12806:35;12725:3;12138:709;-1:-1:-1;;;12138:709:1:o;13365:128::-;13405:3;13436:1;13432:6;13429:1;13426:13;13423:2;;;13442:18;;:::i;:::-;-1:-1:-1;13478:9:1;;13413:80::o;13498:217::-;13538:1;13564;13554:2;;13608:10;13603:3;13599:20;13596:1;13589:31;13643:4;13640:1;13633:15;13671:4;13668:1;13661:15;13554:2;-1:-1:-1;13700:9:1;;13544:171::o;13720:168::-;13760:7;13826:1;13822;13818:6;13814:14;13811:1;13808:21;13803:1;13796:9;13789:17;13785:45;13782:2;;;13833:18;;:::i;:::-;-1:-1:-1;13873:9:1;;13772:116::o;13893:125::-;13933:4;13961:1;13958;13955:8;13952:2;;;13966:18;;:::i;:::-;-1:-1:-1;14003:9:1;;13942:76::o;14023:135::-;14062:3;-1:-1:-1;;14083:17:1;;14080:2;;;14103:18;;:::i;:::-;-1:-1:-1;14150:1:1;14139:13;;14070:88::o;14163:127::-;14224:10;14219:3;14215:20;14212:1;14205:31;14255:4;14252:1;14245:15;14279:4;14276:1;14269:15;14295:127;14356:10;14351:3;14347:20;14344:1;14337:31;14387:4;14384:1;14377:15;14411:4;14408:1;14401:15;14427:127;14488:10;14483:3;14479:20;14476:1;14469:31;14519:4;14516:1;14509:15;14543:4;14540:1;14533:15;14691:131;-1:-1:-1;;;;;14766:31:1;;14756:42;;14746:2;;14812:1;14809;14802:12;14746:2;14736:86;:::o;14827:118::-;14913:5;14906:13;14899:21;14892:5;14889:32;14879:2;;14935:1;14932;14925:12

Swarm Source

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