Contract 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f

 

Contract Overview

Balance:
0.380732068423777339 BNB

BNB Value:
$219.50 (@ $576.51/BNB)

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x2414b1933529ef71c983b10fb184fe78ccccac9487c5f09b13d3e0d79f4b9677Approve130347992021-11-28 22:32:437 days 22 hrs ago0xdae1991cb57a530a837000d133c1d1af022c9040 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225805
0x5934c86fbdbb155535f83cccf0dd3295586b7bb744df56619b398d56fdc1d1e9Approve130301222021-11-28 18:19:578 days 2 hrs ago0x64136e3b99aaf7769223d6b03c51b9fdba87df25 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000074445
0xf6364bd5ee0f67665621c9cbad1e94f152b60580f9d2aa81a3c34ccc60a93d22Approve126859532021-11-16 3:10:1020 days 18 hrs ago0xec7c03c5b7177af7bd6258b02d797ebc961101f6 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000074445
0xc011cdcf4e1bbddc7f6746c81e18ff16425ba2902f99538f023f10fc99946db6Approve126594092021-11-15 3:47:4621 days 17 hrs ago0xf70517a960cc2b24510b1d892462660a13e36ba6 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225805
0x713fc4dd9023b2d2b9e3a25c8bd7ee85e763b679d3bd209ba112835275982e56Approve126494572021-11-14 19:08:0622 days 2 hrs ago0x8099a6506171a71f404b8edf46ddfdbb1e7a64c5 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000270966
0x775753d7713bca40ef23a52462cfc2f794c7a51a8562e1a97bc7bdc76939576aTransfer125211292021-11-10 4:19:0026 days 16 hrs ago0xf055c08a02380b013e37ee37e7b54f9fb4afba38 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.00270198
0x3814f030ffe5b834067ff26c3883da05191d78dc7825237c1e344d8c7d3a8508Approve123677882021-11-04 19:16:5032 days 2 hrs ago0x0363b1bc04365087ef6e1360e35872b60187a013 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225745
0xc64d162c2c06774df2a31f3dab57d94cc666b25bade3a3a54b74643009522a99Approve122550802021-10-31 18:03:3236 days 3 hrs ago0x97b4d4bd0b175f78a8361e965e131f42e0f1a173 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000074445
0x91c62776ff4c4fb41d18f029701fcfd1e397ecb3d9f0a4a6f93ac33aeaf56b2dApprove121920652021-10-29 12:22:4538 days 8 hrs ago0x8cd4617bbd20b8c85a28d5dd7c1c395fc8b5c935 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225805
0x45e614730d1f61057f23f19e99425ffca1301b72870ecf6466124229c99bc619Approve121893452021-10-29 10:05:3438 days 11 hrs ago0x038c2f2cb273e929e471fc0d2011c8a8be776d1f IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000316127
0x03f4f546f0bd9abed0635ac2276b84bee416d49e0bbd099e5c04314b16216c3fApprove121840802021-10-29 5:41:5638 days 15 hrs ago0xc69a9f0f1bca0592027b7d3bfa762dd50e4be97d IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000074445
0x8625489df61d1954cd6b13344293e87b54921f6e7f1c97fa21e17d5041d32db7Approve121088932021-10-26 14:06:5141 days 7 hrs ago0x1cb35b2574ef55eadb8d0b7c52e391d3326c12be IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225805
0x4cf34386e5b29efcfc621392f6af3cbec515d7f4767010b180ae1cbb784569e8Approve120724342021-10-25 7:34:1642 days 13 hrs ago0xf055c08a02380b013e37ee37e7b54f9fb4afba38 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225805
0x6bfafdabce7b014d51b4832a25cb1dc841114d90b93adef1ed9395c0d561a24aTransfer120353232021-10-24 0:14:0443 days 21 hrs ago0x935c5abea1fda315712fe5ad63efbbe822238305 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000606765
0xbbfc34a9c132ea715e4861101574fd576609d06c8a36b2b2cf56ea0221bf3ee6Approve120168142021-10-23 8:43:4444 days 12 hrs ago0xac80b30aad11333af1ce642d3a05ad6d482a2d18 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000270966
0xd7534827fea832a1599416b8dcf646bdcc1d41a122eabe11eef08975a1e274b4Approve119399862021-10-20 15:28:4947 days 5 hrs ago0x67e84bbf92cbeeb3f461c566eacdeff90d746c1b IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000074445
0x9351cde866190cf5f22e293d27b38f6554ce6237487cc197698dad7fedabb38fApprove118995262021-10-19 5:06:4448 days 16 hrs ago0x7f8068abdeea5cbbe38696d90cbe55043d32a44f IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225805
0x87f283baf456413615db5317cf10c4eae2276e47a8639745f152bd7e74181c37Approve118520872021-10-17 13:20:5350 days 7 hrs ago0x365f34a3236c00823c7844885ac6bf7a15430ed2 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225805
0xfcbcc2b24168ed11148f60edb32be6c36da1b02444ad9e3350011e8f7cd2e11aApprove118478482021-10-17 9:45:4250 days 11 hrs ago0x411fe7956ce1d13c31a90cfd1cbbd04b70d51d9b IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225805
0xef6470b7f52b1114da47ac971247bd6b9ef1e95dff35f30b2686aa16d02464baApprove117729212021-10-14 19:06:2053 days 2 hrs ago0xe78f0611234f918238d7674288f56c593ef97eb3 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000225805
0x83faf9579a7fcb182ed41b687bb6d3976aa7a72541cadd40089f3cb1b8ff1ba5Approve117564812021-10-14 5:20:5253 days 15 hrs ago0x3ebdf247aab1401d074d4aab497ba1b4a57f012d IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000074445
0x7ddd625b512bf1c2bb1e072bdf05b063fc89dcd4500ef4ef7943ed3660fb622dApprove117306042021-10-13 7:21:2754 days 13 hrs ago0xbd02e115995714c63bc764bcd36774e6cebb157a IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.0000759339
0xe109d06c53ef6abeac04f4c2c645895a1970cfda2d1d27cccc81e516cf80b408Approve117112142021-10-12 15:05:3155 days 6 hrs ago0xd3b726dfafa83c47f125c9333aa726ef0c7f87f9 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000316127
0x7318d1c1583a73390d6e52bba065f49af3a27ad68b2d5bad3c0b13c08c55322cApprove117011002021-10-12 6:35:0955 days 14 hrs ago0xe3f62792a74d09bdb63385719feb9711b086d2a2 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000127885
0x6bce14c9ddfdd939e1fc7cbfffed09bdcce30a9f68e42fbfbc629873afa6cc4dApprove117010872021-10-12 6:34:3055 days 14 hrs ago0xe3f62792a74d09bdb63385719feb9711b086d2a2 IN  0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0 BNB0.000074445
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x775753d7713bca40ef23a52462cfc2f794c7a51a8562e1a97bc7bdc76939576a125211292021-11-10 4:19:0026 days 16 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.000244415625705512 BNB
0x775753d7713bca40ef23a52462cfc2f794c7a51a8562e1a97bc7bdc76939576a125211292021-11-10 4:19:0026 days 16 hrs ago 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f PancakeSwap: Router v20.00712448670028204 BNB
0x775753d7713bca40ef23a52462cfc2f794c7a51a8562e1a97bc7bdc76939576a125211292021-11-10 4:19:0026 days 16 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.00712448670028204 BNB
0x5782e5da6d3025172091f9e7f7e91e6e9c622dd2b100381109f52cf305a62a90116478502021-10-10 9:23:4757 days 11 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.003628066610283155 BNB
0x5782e5da6d3025172091f9e7f7e91e6e9c622dd2b100381109f52cf305a62a90116478502021-10-10 9:23:4757 days 11 hrs ago 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f PancakeSwap: Router v20.118617885094252902 BNB
0x5782e5da6d3025172091f9e7f7e91e6e9c622dd2b100381109f52cf305a62a90116478502021-10-10 9:23:4757 days 11 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.118617885094252902 BNB
0xea783571ae76bc6fe7fac8d8fdd0c88349d50ee7a57d1fd8d077f74dc1c135a2116434042021-10-10 5:41:2157 days 15 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.004261277442805154 BNB
0xea783571ae76bc6fe7fac8d8fdd0c88349d50ee7a57d1fd8d077f74dc1c135a2116434042021-10-10 5:41:2157 days 15 hrs ago 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f PancakeSwap: Router v20.12751185929952642 BNB
0xea783571ae76bc6fe7fac8d8fdd0c88349d50ee7a57d1fd8d077f74dc1c135a2116434042021-10-10 5:41:2157 days 15 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.12751185929952642 BNB
0x329b374b2338f885ea81fc366140bd51b465ec44b6f56df2b08af4f05baed0dd116422022021-10-10 4:41:1557 days 16 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.004885789869459721 BNB
0x329b374b2338f885ea81fc366140bd51b465ec44b6f56df2b08af4f05baed0dd116422022021-10-10 4:41:1557 days 16 hrs ago 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f PancakeSwap: Router v20.137093954536065561 BNB
0x329b374b2338f885ea81fc366140bd51b465ec44b6f56df2b08af4f05baed0dd116422022021-10-10 4:41:1557 days 16 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.137093954536065561 BNB
0xbe8cac64eb8a25fdd1f171f5721e7676470b3f6b109c0e1cc1f5f28698b1f8e4116390582021-10-10 2:04:0257 days 19 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.004742247401294411 BNB
0xbe8cac64eb8a25fdd1f171f5721e7676470b3f6b109c0e1cc1f5f28698b1f8e4116390582021-10-10 2:04:0257 days 19 hrs ago 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f PancakeSwap: Router v20.130960940810183966 BNB
0xbe8cac64eb8a25fdd1f171f5721e7676470b3f6b109c0e1cc1f5f28698b1f8e4116390582021-10-10 2:04:0257 days 19 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.130960940810183966 BNB
0x3d9877849b4e34c865c6a42fe8c07156fd20628edfe11d8da00e4cc7012680e8116388372021-10-10 1:52:5957 days 19 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.005608451388659302 BNB
0x3d9877849b4e34c865c6a42fe8c07156fd20628edfe11d8da00e4cc7012680e8116388372021-10-10 1:52:5957 days 19 hrs ago 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f PancakeSwap: Router v20.142158591468229809 BNB
0x3d9877849b4e34c865c6a42fe8c07156fd20628edfe11d8da00e4cc7012680e8116388372021-10-10 1:52:5957 days 19 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.142158591468229809 BNB
0x442918fc47584ffec3fb5db0d11b34163e7ed401d1282c1738b0e18f7905f214116381922021-10-10 1:20:4457 days 19 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.006728821516891514 BNB
0x442918fc47584ffec3fb5db0d11b34163e7ed401d1282c1738b0e18f7905f214116381922021-10-10 1:20:4457 days 19 hrs ago 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f PancakeSwap: Router v20.155453424967270153 BNB
0x442918fc47584ffec3fb5db0d11b34163e7ed401d1282c1738b0e18f7905f214116381922021-10-10 1:20:4457 days 19 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.155453424967270153 BNB
0xdee9467157405eba471c5c6aceec91c48c398d31145904b95f37d8e435f6e856116358222021-10-09 23:22:1157 days 21 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.008212772847387214 BNB
0xdee9467157405eba471c5c6aceec91c48c398d31145904b95f37d8e435f6e856116358222021-10-09 23:22:1157 days 21 hrs ago 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f PancakeSwap: Router v20.171496297137173255 BNB
0xdee9467157405eba471c5c6aceec91c48c398d31145904b95f37d8e435f6e856116358222021-10-09 23:22:1157 days 21 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.171496297137173255 BNB
0xfe5749d7917aa4e1a04a375b8afa4e6c663d695fedff01d31e8d16ecff8d1fe6116353892021-10-09 23:00:3257 days 22 hrs ago PancakeSwap: Router v2 0xb7e75493bc3e7d3b70acb9ef74ed82d8f468493f0.010243461752822872 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GotDefi

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: GotDefi.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

import "./Ownable.sol";
import "./SafeMath.sol";

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

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 GotDefi 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 => bool) public _isBlacklisted;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromAutoLiquidity;
    mapping (address => bool) public _isExcludedToAutoLiquidity;

    address[] private _excluded;
    address public _marketingWallet;

    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 1000000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string private constant _name     = "GOT-DeFi";
    string private constant _symbol   = "G-DEFI";
    uint8  private constant _decimals = 9;

    uint256 public _taxFee       = 5;
    uint256 public _liquidityFee = 5;
    uint256 public _marketingFee = 2;

    uint256 private _previousTaxFee       = _taxFee;
    uint256 private _previousLiquidityFee = _liquidityFee;
    uint256 private _previousMarketingFee = _marketingFee;

    uint256 public _maxTxAmount                   = 5000000000000 * 10**9;
    uint256 public _numTokensSellToAddToLiquidity = 500000000000 * 10**9;

    // liquidity
    bool public  _swapAndLiquifyEnabled = true;
    bool private _inSwapAndLiquify;
    IUniswapV2Router02 public _uniswapV2Router;
    address            public _uniswapV2Pair;
    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event 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;

        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),uniswapV2Router.WETH());
        _uniswapV2Router = uniswapV2Router;

        _isExcludedFromFee[owner()]          = true;
        _isExcludedFromFee[address(this)]    = true;
        _isExcludedFromFee[_marketingWallet] = true;

        _isExcludedFromAutoLiquidity[_uniswapV2Pair]            = true;
        _isExcludedFromAutoLiquidity[address(_uniswapV2Router)] = true;

        emit Transfer(address(0), cOwner, _tTotal);
    }

    receive() external payable {}

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

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

    //Remove from Blacklist
    function removeFromBlacklist(address account) external onlyOwner {
        _isBlacklisted[account] = false;
    }

    //adding multiple addresses to the blacklist - Used to manually block known bots and scammers
    function addToBlackList(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = true;
      }
    }

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

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

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

        if (!deductTransferFee) {
            (, uint256 tFee, uint256 tLiquidity, uint256 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 excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    
    function setTaxFeePercent(uint256 taxFee) external onlyOwner {
        _taxFee = taxFee;
        _previousTaxFee = taxFee;
    }
    
    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner {
        _liquidityFee = liquidityFee;
        _previousLiquidityFee = liquidityFee;
    }
    
    function setMarketingFeePercent(uint256 marketingFee) external onlyOwner {
        _marketingFee = marketingFee;
        _previousMarketingFee = marketingFee;
    }
    
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner {
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(100);
    }
    
    function setSwapAndLiquifyEnabled(bool enabled) public onlyOwner {
        _swapAndLiquifyEnabled = enabled;
        emit SwapAndLiquifyEnabledUpdated(enabled);
    }
    
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
    
    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }
    
    function setExcludedFromAutoLiquidity(address a, bool b) external onlyOwner {
        _isExcludedFromAutoLiquidity[a] = b;
    }
    
    function setExcludedToAutoLiquidity(address a, bool b) external onlyOwner {
        _isExcludedToAutoLiquidity[a] = b;
    }
    
    function setUniswapRouter(address r) external onlyOwner {
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(r);
        _uniswapV2Router = uniswapV2Router;
    }
    
    function setUniswapPair(address p) external onlyOwner {
        _uniswapV2Pair = p;
    }

    // transfer function
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(!_isBlacklisted[from] && !_isBlacklisted[to], "This address is blacklisted");
        require(from != address(0), "BEP20: transfer from the zero address");
        require(to != address(0), "BEP20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

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

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

        uint256 contractTokenBalance = balanceOf(address(this));

        if (contractTokenBalance >= _maxTxAmount) {
            contractTokenBalance = _maxTxAmount;
        }

        bool isOverMinTokenBalance = contractTokenBalance >= _numTokensSellToAddToLiquidity;
        if (
            isOverMinTokenBalance &&
            !_inSwapAndLiquify &&
            !_isExcludedFromAutoLiquidity[from] &&
            !_isExcludedToAutoLiquidity[to] &&
            _swapAndLiquifyEnabled
        ) {
            contractTokenBalance = _numTokensSellToAddToLiquidity;
            swapAndLiquify(contractTokenBalance);
        }

        bool takeFee = true;
        // if sender or recipient is excluded from fees, remove fees
        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);

        // add liquidity to uniswap
        addLiquidity(otherHalf, newBalance);

        emit SwapAndLiquify(half, newBalance, 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 {
		require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "To/from address is blacklisted!");
        if (!takeFee) {
            removeAllFee();
        }

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

		require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "To/from address is blacklisted!");

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

        takeTransactionFee(address(this), tLiquidity, currentRate);
        takeTransactionFee(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(address(this), tLiquidity, currentRate);
        takeTransactionFee(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);

		require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "To/from address is blacklisted!");

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

        takeTransactionFee(address(this), tLiquidity, currentRate);
        takeTransactionFee(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);

		require(!_isBlacklisted[sender] && !_isBlacklisted[recipient], "To/from address is blacklisted!");
		
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        takeTransactionFee(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 removeAllFee() private {
        if (_taxFee == 0 && _liquidityFee == 0 && _marketingFee == 0) return;

        _previousMarketingFee = _marketingFee;
        _previousTaxFee       = _taxFee;
        _previousLiquidityFee = _liquidityFee;

        _taxFee       = 0;
        _liquidityFee = 0;
        _marketingFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee       = _previousTaxFee;
        _liquidityFee = _previousLiquidityFee;
        _marketingFee = _previousMarketingFee;
    }
    
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256) {
        uint256 tFee       = tAmount.mul(_taxFee).div(100);
        uint256 tLiquidity = tAmount.mul(_liquidityFee).div(100);
        uint256 tMarketing = tAmount.mul(_marketingFee).div(100);
        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 to, uint256 tAmount, uint256 currentRate) private {
        if (tAmount <= 0) { return; }

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

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

pragma solidity ^0.8.4;

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

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

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

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

    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: Cannot be 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 are not owner");
        require(block.timestamp > _lockTime , "Contract is still locked");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
}

File 3 of 3: SafeMath.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

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

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

        return c;
    }

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

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

        return c;
    }

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

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

        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 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":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromAutoLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedToAutoLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFee","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":"_numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"addToBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bool","name":"b","type":"bool"}],"name":"setExcludedFromAutoLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bool","name":"b","type":"bool"}],"name":"setExcludedToAutoLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee","type":"uint256"}],"name":"setMarketingFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"p","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"r","type":"address"}],"name":"setUniswapRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405269d3c21bcecceda1000000600d55600d5460001962000024919062000845565b600019620000339190620007cc565b600e5560056010556005601155600260125560105460135560115460145560125460155569010f0cf064dd59200000601655681b1ae4d6e2ef5000006017556001601860006101000a81548160ff0219169083151502179055503480156200009a57600080fd5b50604051620067a9380380620067a98339818101604052810190620000c091906200071f565b81806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e54600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060007310ed43c718714eb63d5aa57b78b54704e256024e90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024457600080fd5b505afa15801562000259573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027f9190620006f3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002e257600080fd5b505afa158015620002f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031d9190620006f3565b6040518363ffffffff1660e01b81526004016200033c92919062000782565b602060405180830381600087803b1580156200035757600080fd5b505af11580156200036c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003929190620006f3565b601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016005600062000429620006b360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051620006a29190620007af565b60405180910390a3505050620008f5565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620006ed81620008db565b92915050565b6000602082840312156200070657600080fd5b60006200071684828501620006dc565b91505092915050565b600080604083850312156200073357600080fd5b60006200074385828601620006dc565b92505060206200075685828601620006dc565b9150509250929050565b6200076b8162000807565b82525050565b6200077c816200083b565b82525050565b600060408201905062000799600083018562000760565b620007a8602083018462000760565b9392505050565b6000602082019050620007c6600083018462000771565b92915050565b6000620007d9826200083b565b9150620007e6836200083b565b925082821015620007fc57620007fb6200087d565b5b828203905092915050565b600062000814826200081b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000852826200083b565b91506200085f836200083b565b925082620008725762000871620008ac565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620008e68162000807565b8114620008f257600080fd5b50565b615ea480620009056000396000f3fe60806040526004361061028c5760003560e01c80637d1db4a51161015a578063baa04398116100c1578063d5aed6bf1161007a578063d5aed6bf14610a27578063dd46706414610a50578063dd62ed3e14610a79578063ea2f0b3714610ab6578063f2fde38b14610adf578063ff89757014610b0857610293565b8063baa043981461091b578063bc612bc814610958578063bea9849e14610981578063c49b9a80146109aa578063cbecede0146109d3578063d543dbeb146109fe57610293565b80639c74daf0116101135780639c74daf0146107f7578063a457c2d714610822578063a69df4b51461085f578063a9059cbb14610876578063aebcdedc146108b3578063b3f22ce3146108f057610293565b80637d1db4a5146106e557806388f82020146107105780638da5cb5b1461074d5780638ee88c531461077857806395d89b41146107a1578063962dfc75146107cc57610293565b80633bd5d173116101fe578063583e0568116101b7578063583e0568146105e75780635d83b45414610612578063602bc62b1461063b5780636bc87c3a1461066657806370a0823114610691578063715018a6146106ce57610293565b80633bd5d173146104c9578063437823ec146104f25780634549b0391461051b578063457c194c146105585780635342acb414610581578063537df3b6146105be57610293565b806322976e0d1161025057806322976e0d1461039157806323b872dd146103bc5780632d838119146103f9578063313ce5671461043657806339509351146104615780633b124fe71461049e57610293565b8063061c82d01461029857806306fdde03146102c1578063095ea7b3146102ec57806318160ddd146103295780631cdd3be31461035457610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102bf60048036038101906102ba9190614f14565b610b31565b005b3480156102cd57600080fd5b506102d6610bd7565b6040516102e391906153e5565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e9190614e6a565b610c14565b60405161032091906153af565b60405180910390f35b34801561033557600080fd5b5061033e610c32565b60405161034b9190615627565b60405180910390f35b34801561036057600080fd5b5061037b60048036038101906103769190614d51565b610c3c565b60405161038891906153af565b60405180910390f35b34801561039d57600080fd5b506103a6610c5c565b6040516103b39190615627565b60405180910390f35b3480156103c857600080fd5b506103e360048036038101906103de9190614ddf565b610c62565b6040516103f091906153af565b60405180910390f35b34801561040557600080fd5b50610420600480360381019061041b9190614f14565b610d3b565b60405161042d9190615627565b60405180910390f35b34801561044257600080fd5b5061044b610da9565b60405161045891906156d3565b60405180910390f35b34801561046d57600080fd5b5061048860048036038101906104839190614e6a565b610db2565b60405161049591906153af565b60405180910390f35b3480156104aa57600080fd5b506104b3610e65565b6040516104c09190615627565b60405180910390f35b3480156104d557600080fd5b506104f060048036038101906104eb9190614f14565b610e6b565b005b3480156104fe57600080fd5b5061051960048036038101906105149190614d51565b61100c565b005b34801561052757600080fd5b50610542600480360381019061053d9190614f3d565b6110fc565b60405161054f9190615627565b60405180910390f35b34801561056457600080fd5b5061057f600480360381019061057a9190614f14565b6111cc565b005b34801561058d57600080fd5b506105a860048036038101906105a39190614d51565b611272565b6040516105b591906153af565b60405180910390f35b3480156105ca57600080fd5b506105e560048036038101906105e09190614d51565b6112c8565b005b3480156105f357600080fd5b506105fc6113b8565b60405161060991906153ca565b60405180910390f35b34801561061e57600080fd5b5061063960048036038101906106349190614e2e565b6113de565b005b34801561064757600080fd5b506106506114ce565b60405161065d9190615627565b60405180910390f35b34801561067257600080fd5b5061067b6114d8565b6040516106889190615627565b60405180910390f35b34801561069d57600080fd5b506106b860048036038101906106b39190614d51565b6114de565b6040516106c59190615627565b60405180910390f35b3480156106da57600080fd5b506106e36115c9565b005b3480156106f157600080fd5b506106fa61171c565b6040516107079190615627565b60405180910390f35b34801561071c57600080fd5b5061073760048036038101906107329190614d51565b611722565b60405161074491906153af565b60405180910390f35b34801561075957600080fd5b50610762611778565b60405161076f9190615333565b60405180910390f35b34801561078457600080fd5b5061079f600480360381019061079a9190614f14565b6117a1565b005b3480156107ad57600080fd5b506107b6611847565b6040516107c391906153e5565b60405180910390f35b3480156107d857600080fd5b506107e1611884565b6040516107ee9190615333565b60405180910390f35b34801561080357600080fd5b5061080c6118aa565b6040516108199190615333565b60405180910390f35b34801561082e57600080fd5b5061084960048036038101906108449190614e6a565b6118d0565b60405161085691906153af565b60405180910390f35b34801561086b57600080fd5b5061087461199d565b005b34801561088257600080fd5b5061089d60048036038101906108989190614e6a565b611b71565b6040516108aa91906153af565b60405180910390f35b3480156108bf57600080fd5b506108da60048036038101906108d59190614d51565b611b8f565b6040516108e791906153af565b60405180910390f35b3480156108fc57600080fd5b50610905611baf565b6040516109129190615627565b60405180910390f35b34801561092757600080fd5b50610942600480360381019061093d9190614d51565b611bb5565b60405161094f91906153af565b60405180910390f35b34801561096457600080fd5b5061097f600480360381019061097a9190614e2e565b611bd5565b005b34801561098d57600080fd5b506109a860048036038101906109a39190614d51565b611cc5565b005b3480156109b657600080fd5b506109d160048036038101906109cc9190614eeb565b611da4565b005b3480156109df57600080fd5b506109e8611e8d565b6040516109f591906153af565b60405180910390f35b348015610a0a57600080fd5b50610a256004803603810190610a209190614f14565b611ea0565b005b348015610a3357600080fd5b50610a4e6004803603810190610a499190614d51565b611f66565b005b348015610a5c57600080fd5b50610a776004803603810190610a729190614f14565b61203f565b005b348015610a8557600080fd5b50610aa06004803603810190610a9b9190614da3565b612206565b604051610aad9190615627565b60405180910390f35b348015610ac257600080fd5b50610add6004803603810190610ad89190614d51565b61228d565b005b348015610aeb57600080fd5b50610b066004803603810190610b019190614d51565b61237d565b005b348015610b1457600080fd5b50610b2f6004803603810190610b2a9190614ea6565b61253f565b005b610b3961269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd90615547565b60405180910390fd5b806010819055508060138190555050565b60606040518060400160405280600881526020017f474f542d44654669000000000000000000000000000000000000000000000000815250905090565b6000610c28610c2161269d565b84846126a5565b6001905092915050565b6000600d54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60125481565b6000610c6f848484612870565b610d3084610c7b61269d565b610d2b85604051806060016040528060288152602001615e4760289139600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ce161269d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d149092919063ffffffff16565b6126a5565b600190509392505050565b6000600e54821115610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7990615467565b60405180910390fd5b6000610d8c612d78565b9050610da18184612da390919063ffffffff16565b915050919050565b60006009905090565b6000610e5b610dbf61269d565b84610e568560086000610dd061269d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ded90919063ffffffff16565b6126a5565b6001905092915050565b60105481565b6000610e7561269d565b9050600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efb906155c7565b60405180910390fd5b6000806000610f1285612e4b565b935093509350506000610f23612d78565b90506000610f348786868686612f2d565b50509050610f8a81600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe790919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fe281600e54612fe790919063ffffffff16565b600e81905550610ffd87600f54612ded90919063ffffffff16565b600f8190555050505050505050565b61101461269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109890615547565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600d54831115611143576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113a906154e7565b60405180910390fd5b8161118957600080600061115686612e4b565b935093509350506000611167612d78565b905060006111788886868686612f2d565b5050905080955050505050506111c6565b600080600061119786612e4b565b9350935093505060006111a8612d78565b905060006111b98886868686612f2d565b5091505080955050505050505b92915050565b6111d461269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125890615547565b60405180910390fd5b806012819055508060158190555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6112d061269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461135d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135490615547565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113e661269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611473576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146a90615547565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600254905090565b60115481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561157957600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506115c4565b6115c1600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3b565b90505b919050565b6115d161269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461165e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165590615547565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60165481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6117a961269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182d90615547565b60405180910390fd5b806011819055508060148190555050565b60606040518060400160405280600681526020017f472d444546490000000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006119936118dd61269d565b8461198e85604051806060016040528060248152602001615e23602491396008600061190761269d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d149092919063ffffffff16565b6126a5565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490615607565b60405180910390fd5b6002544211611a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6890615427565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000611b85611b7e61269d565b8484612870565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60175481565b60096020528060005260406000206000915054906101000a900460ff1681565b611bdd61269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6190615547565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611ccd61269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5190615547565b60405180910390fd5b600081905080601860026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611dac61269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3090615547565b60405180910390fd5b80601860006101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611e8291906153af565b60405180910390a150565b601860009054906101000a900460ff1681565b611ea861269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2c90615547565b60405180910390fd5b611f5d6064611f4f83600d5461303190919063ffffffff16565b612da390919063ffffffff16565b60168190555050565b611f6e61269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff290615547565b60405180910390fd5b80601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61204761269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb90615547565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080426121829190615743565b600281905550600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61229561269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612322576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231990615547565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61238561269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612412576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240990615547565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612482576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612479906155a7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61254761269d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125cb90615547565b60405180910390fd5b60005b8282905081101561269857600160076000858585818110612621577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906126369190614d51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508061269190615916565b90506125d7565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270c90615447565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277c906155e7565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516128639190615627565b60405180910390a3505050565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129145750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294a906154c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ba90615407565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2a90615587565b60405180910390fd5b60008111612a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6d90615567565b60405180910390fd5b612a7e611778565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612aec5750612abc611778565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612b3757601654811115612b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2d90615507565b60405180910390fd5b5b6000612b42306114de565b90506016548110612b535760165490505b60006017548210159050808015612b775750601860019054906101000a900460ff16155b8015612bcd5750600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c235750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c3b5750601860009054906101000a900460ff165b15612c4f576017549150612c4e826130ac565b5b600060019050600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612cf65750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612d0057600090505b612d0c86868684613182565b505050505050565b6000838311158290612d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5391906153e5565b60405180910390fd5b5060008385612d6b9190615824565b9050809150509392505050565b6000806000612d85613576565b91509150612d9c8183612da390919063ffffffff16565b9250505090565b6000612de583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506138c1565b905092915050565b6000808284612dfc9190615743565b905083811015612e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e3890615487565b60405180910390fd5b8091505092915050565b6000806000806000612e7b6064612e6d6010548961303190919063ffffffff16565b612da390919063ffffffff16565b90506000612ea76064612e996011548a61303190919063ffffffff16565b612da390919063ffffffff16565b90506000612ed36064612ec56012548b61303190919063ffffffff16565b612da390919063ffffffff16565b90506000612eea848a612fe790919063ffffffff16565b9050612eff8382612fe790919063ffffffff16565b9050612f148282612fe790919063ffffffff16565b9050808484849750975097509750505050509193509193565b600080600080612f46858a61303190919063ffffffff16565b90506000612f5d868a61303190919063ffffffff16565b90506000612f74878a61303190919063ffffffff16565b90506000612f8b888a61303190919063ffffffff16565b90506000612fa28486612fe790919063ffffffff16565b9050612fb78382612fe790919063ffffffff16565b9050612fcc8282612fe790919063ffffffff16565b90508481859750975097505050505050955095509592505050565b600061302983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612d14565b905092915050565b60008083141561304457600090506130a6565b6000828461305291906157ca565b90508284826130619190615799565b146130a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309890615527565b60405180910390fd5b809150505b92915050565b6001601860016101000a81548160ff02191690831515021790555060006130dd600283612da390919063ffffffff16565b905060006130f48284612fe790919063ffffffff16565b9050600047905061310483613924565b60006131198247612fe790919063ffffffff16565b90506131258382613be8565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516131589392919061569c565b60405180910390a1505050506000601860016101000a81548160ff02191690831515021790555050565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156132265750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b613265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325c906154a7565b60405180910390fd5b8061327357613272613cdc565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156133165750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561332b57613326848484613d3e565b613562565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156133ce5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156133e3576133de8484846140cf565b613561565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156134875750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561349c57613497848484614460565b613560565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561353e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156135535761354e84848461475c565b61355f565b61355e848484614460565b5b5b5b5b806135705761356f614a9f565b5b50505050565b6000806000600e5490506000600d54905060005b600b80549050811015613884578260036000600b84815481106135d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806136ea57508160046000600b8481548110613682577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561370157600e54600d54945094505050506138bd565b6137b760036000600b8481548110613742577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612fe790919063ffffffff16565b925061386f60046000600b84815481106137fa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612fe790919063ffffffff16565b9150808061387c90615916565b91505061358a565b5061389c600d54600e54612da390919063ffffffff16565b8210156138b457600e54600d549350935050506138bd565b81819350935050505b9091565b60008083118290613908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138ff91906153e5565b60405180910390fd5b50600083856139179190615799565b9050809150509392505050565b6000600267ffffffffffffffff811115613967577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156139955781602001602082028036833780820191505090505b50905030816000815181106139d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015613a7557600080fd5b505afa158015613a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aad9190614d7a565b81600181518110613ae7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613b4e30601860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846126a5565b601860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613bb2959493929190615642565b600060405180830381600087803b158015613bcc57600080fd5b505af1158015613be0573d6000803e3d6000fd5b505050505050565b613c1530601860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846126a5565b601860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613c61611778565b426040518863ffffffff1660e01b8152600401613c839695949392919061534e565b6060604051808303818588803b158015613c9c57600080fd5b505af1158015613cb0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613cd59190614f79565b5050505050565b6000601054148015613cf057506000601154145b8015613cfe57506000601254145b15613d0857613d3c565b6012546015819055506010546013819055506011546014819055506000601081905550600060118190555060006012819055505b565b600080600080613d4d85612e4b565b93509350935093506000613d5f612d78565b90506000806000613d738988888888612f2d565b925092509250600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015613e1d5750600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b613e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e53906154a7565b60405180910390fd5b613eae89600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe790919063ffffffff16565b600460008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613f4383600360008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe790919063ffffffff16565b600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fd882600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ded90919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614026308786614abc565b614053600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168686614abc565b61405d8188614c64565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a6040516140ba9190615627565b60405180910390a35050505050505050505050565b6000806000806140de85612e4b565b935093509350935060006140f0612d78565b905060008060006141048988888888612f2d565b925092509250600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156141ae5750600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6141ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141e4906154a7565b60405180910390fd5b61423f83600360008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe790919063ffffffff16565b600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506142d488600460008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ded90919063ffffffff16565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061436982600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ded90919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506143b7308786614abc565b6143e4600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168686614abc565b6143ee8188614c64565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a60405161444b9190615627565b60405180910390a35050505050505050505050565b60008060008061446f85612e4b565b93509350935093506000614481612d78565b905060008060006144958988888888612f2d565b925092509250600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561453f5750600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61457e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614575906154a7565b60405180910390fd5b6145d083600360008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe790919063ffffffff16565b600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061466582600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ded90919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506146b3308786614abc565b6146e0600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168686614abc565b6146ea8188614c64565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a6040516147479190615627565b60405180910390a35050505050505050505050565b60008060008061476b85612e4b565b9350935093509350600061477d612d78565b905060008060006147918988888888612f2d565b9250925092506147e989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe790919063ffffffff16565b600460008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061487e83600360008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fe790919063ffffffff16565b600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061491388600460008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ded90919063ffffffff16565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506149a882600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ded90919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506149f6308786614abc565b614a23600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168686614abc565b614a2d8188614c64565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a604051614a8a9190615627565b60405180910390a35050505050505050505050565b601354601081905550601454601181905550601554601281905550565b60008211614ac957614c5f565b6000614ade828461303190919063ffffffff16565b9050614b3281600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ded90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615614c5d57614c1983600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ded90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b505050565b614c7982600e54612fe790919063ffffffff16565b600e81905550614c9481600f54612ded90919063ffffffff16565b600f819055505050565b600081359050614cad81615ddd565b92915050565b600081519050614cc281615ddd565b92915050565b60008083601f840112614cda57600080fd5b8235905067ffffffffffffffff811115614cf357600080fd5b602083019150836020820283011115614d0b57600080fd5b9250929050565b600081359050614d2181615df4565b92915050565b600081359050614d3681615e0b565b92915050565b600081519050614d4b81615e0b565b92915050565b600060208284031215614d6357600080fd5b6000614d7184828501614c9e565b91505092915050565b600060208284031215614d8c57600080fd5b6000614d9a84828501614cb3565b91505092915050565b60008060408385031215614db657600080fd5b6000614dc485828601614c9e565b9250506020614dd585828601614c9e565b9150509250929050565b600080600060608486031215614df457600080fd5b6000614e0286828701614c9e565b9350506020614e1386828701614c9e565b9250506040614e2486828701614d27565b9150509250925092565b60008060408385031215614e4157600080fd5b6000614e4f85828601614c9e565b9250506020614e6085828601614d12565b9150509250929050565b60008060408385031215614e7d57600080fd5b6000614e8b85828601614c9e565b9250506020614e9c85828601614d27565b9150509250929050565b60008060208385031215614eb957600080fd5b600083013567ffffffffffffffff811115614ed357600080fd5b614edf85828601614cc8565b92509250509250929050565b600060208284031215614efd57600080fd5b6000614f0b84828501614d12565b91505092915050565b600060208284031215614f2657600080fd5b6000614f3484828501614d27565b91505092915050565b60008060408385031215614f5057600080fd5b6000614f5e85828601614d27565b9250506020614f6f85828601614d12565b9150509250929050565b600080600060608486031215614f8e57600080fd5b6000614f9c86828701614d3c565b9350506020614fad86828701614d3c565b9250506040614fbe86828701614d3c565b9150509250925092565b6000614fd48383614fe0565b60208301905092915050565b614fe981615858565b82525050565b614ff881615858565b82525050565b6000615009826156fe565b6150138185615721565b935061501e836156ee565b8060005b8381101561504f5781516150368882614fc8565b975061504183615714565b925050600181019050615022565b5085935050505092915050565b6150658161586a565b82525050565b615074816158ad565b82525050565b615083816158d1565b82525050565b600061509482615709565b61509e8185615732565b93506150ae8185602086016158e3565b6150b7816159bd565b840191505092915050565b60006150cf602583615732565b91506150da826159ce565b604082019050919050565b60006150f2601883615732565b91506150fd82615a1d565b602082019050919050565b6000615115602483615732565b915061512082615a46565b604082019050919050565b6000615138602a83615732565b915061514382615a95565b604082019050919050565b600061515b601b83615732565b915061516682615ae4565b602082019050919050565b600061517e601f83615732565b915061518982615b0d565b602082019050919050565b60006151a1601b83615732565b91506151ac82615b36565b602082019050919050565b60006151c4601f83615732565b91506151cf82615b5f565b602082019050919050565b60006151e7602883615732565b91506151f282615b88565b604082019050919050565b600061520a602183615732565b915061521582615bd7565b604082019050919050565b600061522d602083615732565b915061523882615c26565b602082019050919050565b6000615250602983615732565b915061525b82615c4f565b604082019050919050565b6000615273602383615732565b915061527e82615c9e565b604082019050919050565b6000615296601f83615732565b91506152a182615ced565b602082019050919050565b60006152b9602c83615732565b91506152c482615d16565b604082019050919050565b60006152dc602283615732565b91506152e782615d65565b604082019050919050565b60006152ff601183615732565b915061530a82615db4565b602082019050919050565b61531e81615896565b82525050565b61532d816158a0565b82525050565b60006020820190506153486000830184614fef565b92915050565b600060c0820190506153636000830189614fef565b6153706020830188615315565b61537d604083018761507a565b61538a606083018661507a565b6153976080830185614fef565b6153a460a0830184615315565b979650505050505050565b60006020820190506153c4600083018461505c565b92915050565b60006020820190506153df600083018461506b565b92915050565b600060208201905081810360008301526153ff8184615089565b905092915050565b60006020820190508181036000830152615420816150c2565b9050919050565b60006020820190508181036000830152615440816150e5565b9050919050565b6000602082019050818103600083015261546081615108565b9050919050565b600060208201905081810360008301526154808161512b565b9050919050565b600060208201905081810360008301526154a08161514e565b9050919050565b600060208201905081810360008301526154c081615171565b9050919050565b600060208201905081810360008301526154e081615194565b9050919050565b60006020820190508181036000830152615500816151b7565b9050919050565b60006020820190508181036000830152615520816151da565b9050919050565b60006020820190508181036000830152615540816151fd565b9050919050565b6000602082019050818103600083015261556081615220565b9050919050565b6000602082019050818103600083015261558081615243565b9050919050565b600060208201905081810360008301526155a081615266565b9050919050565b600060208201905081810360008301526155c081615289565b9050919050565b600060208201905081810360008301526155e0816152ac565b9050919050565b60006020820190508181036000830152615600816152cf565b9050919050565b60006020820190508181036000830152615620816152f2565b9050919050565b600060208201905061563c6000830184615315565b92915050565b600060a0820190506156576000830188615315565b615664602083018761507a565b81810360408301526156768186614ffe565b90506156856060830185614fef565b6156926080830184615315565b9695505050505050565b60006060820190506156b16000830186615315565b6156be6020830185615315565b6156cb6040830184615315565b949350505050565b60006020820190506156e86000830184615324565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061574e82615896565b915061575983615896565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561578e5761578d61595f565b5b828201905092915050565b60006157a482615896565b91506157af83615896565b9250826157bf576157be61598e565b5b828204905092915050565b60006157d582615896565b91506157e083615896565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156158195761581861595f565b5b828202905092915050565b600061582f82615896565b915061583a83615896565b92508282101561584d5761584c61595f565b5b828203905092915050565b600061586382615876565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006158b8826158bf565b9050919050565b60006158ca82615876565b9050919050565b60006158dc82615896565b9050919050565b60005b838110156159015780820151818401526020810190506158e6565b83811115615910576000848401525b50505050565b600061592182615896565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156159545761595361595f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f436f6e7472616374206973207374696c6c206c6f636b65640000000000000000600082015250565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100600082015250565b7f54686973206164647265737320697320626c61636b6c69737465640000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2043616e6e6f74206265207a65726f206164647265737300600082015250565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f7520617265206e6f74206f776e6572000000000000000000000000000000600082015250565b615de681615858565b8114615df157600080fd5b50565b615dfd8161586a565b8114615e0857600080fd5b50565b615e1481615896565b8114615e1f57600080fd5b5056fe42455032303a64656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a7dbac798d48b302f8c448bc3c41e65f4456829854b6cdd516eb2dcc7c9efb9d64736f6c63430008040033000000000000000000000000d8212b686bc7da714a3921cccd6a4bf9f17883d400000000000000000000000085ae6cb79d1d783116bc8a238bcf56fdb7bd9a34

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

000000000000000000000000d8212b686bc7da714a3921cccd6a4bf9f17883d400000000000000000000000085ae6cb79d1d783116bc8a238bcf56fdb7bd9a34

-----Decoded View---------------
Arg [0] : cOwner (address): 0xd8212b686bc7da714a3921cccd6a4bf9f17883d4
Arg [1] : marketingWallet (address): 0x85ae6cb79d1d783116bc8a238bcf56fdb7bd9a34

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000d8212b686bc7da714a3921cccd6a4bf9f17883d4
Arg [1] : 00000000000000000000000085ae6cb79d1d783116bc8a238bcf56fdb7bd9a34


Deployed ByteCode Sourcemap

8535:20235:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15872:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11340:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12250:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11617:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8831:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9577:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12759:308;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15376:249;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11526:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13077:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9501:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14008:556;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15635:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14574:792;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16184:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16676:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13601:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10039:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16935:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1393:88:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9539:32:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11720:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1003:145:1;;;;;;;;;;;;;:::i;:::-;;9788:69:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16807:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;798:77:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16010:164:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11431:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9125:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10087:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13302:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1714:275:1;;;;;;;;;;;;;:::i;:::-;;11925:164:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9026:59;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9863:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8959:61;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17073:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17207:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16500:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9955:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16358:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17392:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1487:221:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12099:141:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15754:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1154:233:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13818:184:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15872:128;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15953:6:0::1;15943:7;:16;;;;15987:6;15969:15;:24;;;;15872:128:::0;:::o;11340:81::-;11377:13;11409:5;;;;;;;;;;;;;;;;;11402:12;;11340:81;:::o;12250:158::-;12325:4;12341:39;12350:12;:10;:12::i;:::-;12364:7;12373:6;12341:8;:39::i;:::-;12397:4;12390:11;;12250:158;;;;:::o;11617:93::-;11670:7;11696;;11689:14;;11617:93;:::o;8831:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;9577:32::-;;;;:::o;12759:308::-;12857:4;12873:36;12883:6;12891:9;12902:6;12873:9;:36::i;:::-;12919:120;12928:6;12936:12;:10;:12::i;:::-;12949:89;12987:6;12949:89;;;;;;;;;;;;;;;;;:11;:19;12961:6;12949:19;;;;;;;;;;;;;;;:33;12969:12;:10;:12::i;:::-;12949:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;12919:8;:120::i;:::-;13056:4;13049:11;;12759:308;;;;;:::o;15376:249::-;15442:7;15480;;15469;:18;;15461:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;15545:19;15567:10;:8;:10::i;:::-;15545:32;;15594:24;15606:11;15594:7;:11;;:24;;;;:::i;:::-;15587:31;;;15376:249;;;:::o;11526:81::-;11567:5;9493:1;11584:16;;11526:81;:::o;13077:215::-;13165:4;13181:83;13190:12;:10;:12::i;:::-;13204:7;13213:50;13252:10;13213:11;:25;13225:12;:10;:12::i;:::-;13213:25;;;;;;;;;;;;;;;:34;13239:7;13213:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;13181:8;:83::i;:::-;13281:4;13274:11;;13077:215;;;;:::o;9501:32::-;;;;:::o;14008:556::-;14059:14;14076:12;:10;:12::i;:::-;14059:29;;14107:11;:19;14119:6;14107:19;;;;;;;;;;;;;;;;;;;;;;;;;14106:20;14098:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;14188:12;14202:18;14222;14244:20;14256:7;14244:11;:20::i;:::-;14186:78;;;;;;;14274:19;14296:10;:8;:10::i;:::-;14274:32;;14317:15;14338:63;14350:7;14359:4;14365:10;14377;14389:11;14338;:63::i;:::-;14316:85;;;;14430:28;14450:7;14430;:15;14438:6;14430:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14412:7;:15;14420:6;14412:15;;;;;;;;;;;;;;;:46;;;;14486:20;14498:7;14486;;:11;;:20;;;;:::i;:::-;14468:7;:38;;;;14534:23;14549:7;14534:10;;:14;;:23;;;;:::i;:::-;14516:10;:41;;;;14008:556;;;;;;;:::o;15635:109::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15733:4:0::1;15703:18;:27;15722:7;15703:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;15635:109:::0;:::o;14574:792::-;14664:7;14702;;14691;:18;;14683:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;14761:17;14756:604;;14797:12;14811:18;14831;14853:20;14865:7;14853:11;:20::i;:::-;14794:79;;;;;;;14887:19;14909:10;:8;:10::i;:::-;14887:32;;14934:15;14955:63;14967:7;14976:4;14982:10;14994;15006:11;14955;:63::i;:::-;14933:85;;;;15040:7;15033:14;;;;;;;;;14756:604;15082:12;15096:18;15116;15138:20;15150:7;15138:11;:20::i;:::-;15079:79;;;;;;;15172:19;15194:10;:8;:10::i;:::-;15172:32;;15221:23;15249:63;15261:7;15270:4;15276:10;15288;15300:11;15249;:63::i;:::-;15218:94;;;;15334:15;15327:22;;;;;;;14574:792;;;;;:::o;16184:164::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16283:12:0::1;16267:13;:28;;;;16329:12;16305:21;:36;;;;16184:164:::0;:::o;16676:121::-;16740:4;16763:18;:27;16782:7;16763:27;;;;;;;;;;;;;;;;;;;;;;;;;16756:34;;16676:121;;;:::o;13601:113::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13702:5:0::1;13676:14;:23;13691:7;13676:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;13601:113:::0;:::o;10039:42::-;;;;;;;;;;;;;:::o;16935:128::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17055:1:0::1;17021:28;:31;17050:1;17021:31;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;16935:128:::0;;:::o;1393:88:1:-;1439:7;1465:9;;1458:16;;1393:88;:::o;9539:32:0:-;;;;:::o;11720:195::-;11786:7;11809:11;:20;11821:7;11809:20;;;;;;;;;;;;;;;;;;;;;;;;;11805:49;;;11838:7;:16;11846:7;11838:16;;;;;;;;;;;;;;;;11831:23;;;;11805:49;11871:37;11891:7;:16;11899:7;11891:16;;;;;;;;;;;;;;;;11871:19;:37::i;:::-;11864:44;;11720:195;;;;:::o;1003:145:1:-;930:12;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1109:1:::1;1072:40;;1093:6;::::0;::::1;;;;;;;;1072:40;;;;;;;;;;;;1139:1;1122:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1003:145::o:0;9788:69:0:-;;;;:::o;16807:118::-;16875:4;16898:11;:20;16910:7;16898:20;;;;;;;;;;;;;;;;;;;;;;;;;16891:27;;16807:118;;;:::o;798:77:1:-;836:7;862:6;;;;;;;;;;;855:13;;798:77;:::o;16010:164:0:-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16109:12:0::1;16093:13;:28;;;;16155:12;16131:21;:36;;;;16010:164:::0;:::o;11431:85::-;11470:13;11502:7;;;;;;;;;;;;;;;;;11495:14;;11431:85;:::o;9125:31::-;;;;;;;;;;;;;:::o;10087:40::-;;;;;;;;;;;;;:::o;13302:265::-;13395:4;13411:128;13420:12;:10;:12::i;:::-;13434:7;13443:95;13482:15;13443:95;;;;;;;;;;;;;;;;;:11;:25;13455:12;:10;:12::i;:::-;13443:25;;;;;;;;;;;;;;;:34;13469:7;13443:34;;;;;;;;;;;;;;;;:38;;:95;;;;;:::i;:::-;13411:8;:128::i;:::-;13556:4;13549:11;;13302:265;;;;:::o;1714:275:1:-;1783:10;1765:28;;:14;;;;;;;;;;;:28;;;1757:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1851:9;;1833:15;:27;1825:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1934:14;;;;;;;;;;;1905:44;;1926:6;;;;;;;;;;1905:44;;;;;;;;;;;;1968:14;;;;;;;;;;;1959:6;;:23;;;;;;;;;;;;;;;;;;1714:275::o;11925:164:0:-;12003:4;12019:42;12029:12;:10;:12::i;:::-;12043:9;12054:6;12019:9;:42::i;:::-;12078:4;12071:11;;11925:164;;;;:::o;9026:59::-;;;;;;;;;;;;;;;;;;;;;;:::o;9863:68::-;;;;:::o;8959:61::-;;;;;;;;;;;;;;;;;;;;;;:::o;17073:124::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17189:1:0::1;17157:26;:29;17184:1;17157:29;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;17073:124:::0;;:::o;17207:175::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17273:34:0::1;17329:1;17273:58;;17360:15;17341:16;;:34;;;;;;;;;;;;;;;;;;989:1:1;17207:175:0::0;:::o;16500:166::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16600:7:0::1;16575:22;;:32;;;;;;;;;;;;;;;;;;16622:37;16651:7;16622:37;;;;;;:::i;:::-;;;;;;;;16500:166:::0;:::o;9955:42::-;;;;;;;;;;;;;:::o;16358:132::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16449:34:0::1;16479:3;16449:25;16461:12;16449:7;;:11;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;16434:12;:49;;;;16358:132:::0;:::o;17392:89::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17473:1:0::1;17456:14;;:18;;;;;;;;;;;;;;;;;;17392:89:::0;:::o;1487:221:1:-;930:12;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1567:6:::1;::::0;::::1;;;;;;;;1550:14;;:23;;;;;;;;;;;;;;;;;;1600:1;1583:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1642:4;1624:15;:22;;;;:::i;:::-;1612:9;:34;;;;1698:1;1661:40;;1682:6;::::0;::::1;;;;;;;;1661:40;;;;;;;;;;;;1487:221:::0;:::o;12099:141:0:-;12180:7;12206:11;:18;12218:5;12206:18;;;;;;;;;;;;;;;:27;12225:7;12206:27;;;;;;;;;;;;;;;;12199:34;;12099:141;;;;:::o;15754:108::-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15850:5:0::1;15820:18;:27;15839:7;15820:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;15754:108:::0;:::o;1154:233:1:-;930:12;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1262:1:::1;1242:22;;:8;:22;;;;1234:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1344:8;1315:38;;1336:6;::::0;::::1;;;;;;;;1315:38;;;;;;;;;;;;1372:8;1363:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1154:233:::0;:::o;13818:184:0:-;930:12:1;:10;:12::i;:::-;920:22;;:6;;;;;;;;;;:22;;;912:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13904:9:0::1;13899:97;13919:9;;:16;;13915:1;:20;13899:97;;;13983:4;13952:14;:28;13967:9;;13977:1;13967:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13952:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;13937:3;;;;:::i;:::-;;;13899:97;;;;13818:184:::0;;:::o;90:96:1:-;143:7;169:10;162:17;;90:96;:::o;12418:331:0:-;12527:1;12510:19;;:5;:19;;;;12502:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12607:1;12588:21;;:7;:21;;;;12580:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12689:6;12659:11;:18;12671:5;12659:18;;;;;;;;;;;;;;;:27;12678:7;12659:27;;;;;;;;;;;;;;;:36;;;;12726:7;12710:32;;12719:5;12710:32;;;12735:6;12710:32;;;;;;:::i;:::-;;;;;;;;12418:331;;;:::o;17512:1767::-;17630:14;:20;17645:4;17630:20;;;;;;;;;;;;;;;;;;;;;;;;;17629:21;:44;;;;;17655:14;:18;17670:2;17655:18;;;;;;;;;;;;;;;;;;;;;;;;;17654:19;17629:44;17621:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;17739:1;17723:18;;:4;:18;;;;17715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17815:1;17801:16;;:2;:16;;;;17793:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;17884:1;17875:6;:10;17867:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;17954:7;:5;:7::i;:::-;17946:15;;:4;:15;;;;:32;;;;;17971:7;:5;:7::i;:::-;17965:13;;:2;:13;;;;17946:32;17942:138;;;18012:12;;18002:6;:22;;17994:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;17942:138;18399:28;18430:24;18448:4;18430:9;:24::i;:::-;18399:55;;18493:12;;18469:20;:36;18465:102;;18544:12;;18521:35;;18465:102;18577:26;18630:30;;18606:20;:54;;18577:83;;18687:21;:55;;;;;18725:17;;;;;;;;;;;18724:18;18687:55;:106;;;;;18759:28;:34;18788:4;18759:34;;;;;;;;;;;;;;;;;;;;;;;;;18758:35;18687:106;:153;;;;;18810:26;:30;18837:2;18810:30;;;;;;;;;;;;;;;;;;;;;;;;;18809:31;18687:153;:191;;;;;18856:22;;;;;;;;;;;18687:191;18670:347;;;18926:30;;18903:53;;18970:36;18985:20;18970:14;:36::i;:::-;18670:347;19027:12;19042:4;19027:19;;19129:18;:24;19148:4;19129:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;19157:18;:22;19176:2;19157:22;;;;;;;;;;;;;;;;;;;;;;;;;19129:50;19125:96;;;19205:5;19195:15;;19125:96;19231:41;19246:4;19252:2;19256:6;19264:7;19231:14;:41::i;:::-;17512:1767;;;;;;:::o;403:187:2:-;489:7;521:1;516;:6;;524:12;508:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;547:9;563:1;559;:5;;;;:::i;:::-;547:17;;582:1;575:8;;;403:187;;;;;:::o;27718:160:0:-;27759:7;27779:15;27796;27815:19;:17;:19::i;:::-;27778:56;;;;27851:20;27863:7;27851;:11;;:20;;;;:::i;:::-;27844:27;;;;27718:160;:::o;823:130:2:-;881:7;907:39;911:1;914;907:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;900:46;;823:130;;;;:::o;81:176::-;139:7;158:9;174:1;170;:5;;;;:::i;:::-;158:17;;198:1;193;:6;;185:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;249:1;242:8;;;81:176;;;;:::o;26552:530:0:-;26612:7;26621;26630;26639;26658:12;26679:29;26704:3;26679:20;26691:7;;26679;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;26658:50;;26718:18;26739:35;26770:3;26739:26;26751:13;;26739:7;:11;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;26718:56;;26784:18;26805:35;26836:3;26805:26;26817:13;;26805:7;:11;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;26784:56;;26850:23;26876:17;26888:4;26876:7;:11;;:17;;;;:::i;:::-;26850:43;;26921:31;26941:10;26921:15;:19;;:31;;;;:::i;:::-;26903:49;;26980:31;27000:10;26980:15;:19;;:31;;;;:::i;:::-;26962:49;;27029:15;27046:4;27052:10;27064;27021:54;;;;;;;;;;;;26552:530;;;;;:::o;27092:616::-;27227:7;27236;27245;27264:15;27286:24;27298:11;27286:7;:11;;:24;;;;:::i;:::-;27264:46;;27320:12;27342:21;27351:11;27342:4;:8;;:21;;;;:::i;:::-;27320:43;;27373:18;27395:27;27410:11;27395:10;:14;;:27;;;;:::i;:::-;27373:49;;27432:18;27454:27;27469:11;27454:10;:14;;:27;;;;:::i;:::-;27432:49;;27491:23;27517:17;27529:4;27517:7;:11;;:17;;;;:::i;:::-;27491:43;;27562:31;27582:10;27562:15;:19;;:31;;;;:::i;:::-;27544:49;;27621:31;27641:10;27621:15;:19;;:31;;;;:::i;:::-;27603:49;;27670:7;27679:15;27696:4;27662:39;;;;;;;;;;;27092:616;;;;;;;;;:::o;263:134:2:-;321:7;347:43;351:1;354;347:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;340:50;;263:134;;;;:::o;596:221::-;654:7;682:1;677;:6;673:25;;;694:1;687:8;;;;673:25;708:9;724:1;720;:5;;;;:::i;:::-;708:17;;752:1;747;743;:5;;;;:::i;:::-;:10;735:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;809:1;802:8;;;596:221;;;;;:::o;19289:930:0:-;10434:4;10414:17;;:24;;;;;;;;;;;;;;;;;;19419:12:::1;19439:27;19464:1;19439:20;:24;;:27;;;;:::i;:::-;19419:47;;19476:17;19496:30;19521:4;19496:20;:24;;:30;;;;:::i;:::-;19476:50;;19825:22;19850:21;19825:46;;19913:22;19930:4;19913:16;:22::i;:::-;20009:18;20030:41;20056:14;20030:21;:25;;:41;;;;:::i;:::-;20009:62;;20118:35;20131:9;20142:10;20118:12;:35::i;:::-;20169:43;20184:4;20190:10;20202:9;20169:43;;;;;;;;:::i;:::-;;;;;;;;10448:1;;;;10479:5:::0;10459:17;;:25;;;;;;;;;;;;;;;;;;19289:930;:::o;21323:932::-;21433:14;:22;21448:6;21433:22;;;;;;;;;;;;;;;;;;;;;;;;;21432:23;:53;;;;;21460:14;:25;21475:9;21460:25;;;;;;;;;;;;;;;;;;;;;;;;;21459:26;21432:53;21424:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;21536:7;21531:53;;21559:14;:12;:14::i;:::-;21531:53;21598:11;:19;21610:6;21598:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;21622:11;:22;21634:9;21622:22;;;;;;;;;;;;;;;;;;;;;;;;;21621:23;21598:46;21594:591;;;21660:48;21682:6;21690:9;21701:6;21660:21;:48::i;:::-;21594:591;;;21731:11;:19;21743:6;21731:19;;;;;;;;;;;;;;;;;;;;;;;;;21730:20;:46;;;;;21754:11;:22;21766:9;21754:22;;;;;;;;;;;;;;;;;;;;;;;;;21730:46;21726:459;;;21792:46;21812:6;21820:9;21831:6;21792:19;:46::i;:::-;21726:459;;;21861:11;:19;21873:6;21861:19;;;;;;;;;;;;;;;;;;;;;;;;;21860:20;:47;;;;;21885:11;:22;21897:9;21885:22;;;;;;;;;;;;;;;;;;;;;;;;;21884:23;21860:47;21856:329;;;21923:44;21941:6;21949:9;21960:6;21923:17;:44::i;:::-;21856:329;;;21989:11;:19;22001:6;21989:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;22012:11;:22;22024:9;22012:22;;;;;;;;;;;;;;;;;;;;;;;;;21989:45;21985:200;;;22050:48;22072:6;22080:9;22091:6;22050:21;:48::i;:::-;21985:200;;;22130:44;22148:6;22156:9;22167:6;22130:17;:44::i;:::-;21985:200;21856:329;21726:459;21594:591;22200:7;22195:54;;22223:15;:13;:15::i;:::-;22195:54;21323:932;;;;:::o;27888:545::-;27938:7;27947;27966:15;27984:7;;27966:25;;28001:15;28019:7;;28001:25;;28041:9;28036:285;28060:9;:16;;;;28056:1;:20;28036:285;;;28125:7;28101;:21;28109:9;28119:1;28109:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28101:21;;;;;;;;;;;;;;;;:31;:66;;;;28160:7;28136;:21;28144:9;28154:1;28144:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28136:21;;;;;;;;;;;;;;;;:31;28101:66;28097:97;;;28177:7;;28186;;28169:25;;;;;;;;;28097:97;28218:34;28230:7;:21;28238:9;28248:1;28238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28230:21;;;;;;;;;;;;;;;;28218:7;:11;;:34;;;;:::i;:::-;28208:44;;28276:34;28288:7;:21;28296:9;28306:1;28296:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28288:21;;;;;;;;;;;;;;;;28276:7;:11;;:34;;;;:::i;:::-;28266:44;;28078:3;;;;;:::i;:::-;;;;28036:285;;;;28344:20;28356:7;;28344;;:11;;:20;;;;:::i;:::-;28334:7;:30;28330:61;;;28374:7;;28383;;28366:25;;;;;;;;28330:61;28409:7;28418;28401:25;;;;;;27888:545;;;:::o;959:186:2:-;1045:7;1076:1;1072;:5;1079:12;1064:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1102:9;1118:1;1114;:5;;;;:::i;:::-;1102:17;;1137:1;1130:8;;;959:186;;;;;:::o;20229:576:0:-;20353:21;20391:1;20377:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20353:40;;20421:4;20403;20408:1;20403:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;20446:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20436:4;20441:1;20436:7;;;;;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;20480:63;20497:4;20512:16;;;;;;;;;;;20531:11;20480:8;:63::i;:::-;20579:16;;;;;;;;;;;:67;;;20660:11;20685:1;20728:4;20754;20773:15;20579:219;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20229:576;;:::o;20815:502::-;20961:63;20978:4;20993:16;;;;;;;;;;;21012:11;20961:8;:63::i;:::-;21064:16;;;;;;;;;;;:32;;;21104:9;21136:4;21155:11;21180:1;21222;21264:7;:5;:7::i;:::-;21285:15;21064:246;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20815:502;;:::o;26022:335::-;26079:1;26068:7;;:12;:34;;;;;26101:1;26084:13;;:18;26068:34;:56;;;;;26123:1;26106:13;;:18;26068:56;26064:69;;;26126:7;;26064:69;26167:13;;26143:21;:37;;;;26214:7;;26190:15;:31;;;;26255:13;;26231:21;:37;;;;26295:1;26279:7;:17;;;;26322:1;26306:13;:17;;;;26349:1;26333:13;:17;;;;26022:335;:::o;24945:911::-;25047:23;25072:12;25086:18;25106;25128:20;25140:7;25128:11;:20::i;:::-;25046:102;;;;;;;;25158:19;25180:10;:8;:10::i;:::-;25158:32;;25201:15;25218:23;25243:12;25259:63;25271:7;25280:4;25286:10;25298;25310:11;25259;:63::i;:::-;25200:122;;;;;;25336:14;:22;25351:6;25336:22;;;;;;;;;;;;;;;;;;;;;;;;;25335:23;:53;;;;;25363:14;:25;25378:9;25363:25;;;;;;;;;;;;;;;;;;;;;;;;;25362:26;25335:53;25327:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;25455:28;25475:7;25455;:15;25463:6;25455:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25437:7;:15;25445:6;25437:15;;;;;;;;;;;;;;;:46;;;;25511:28;25531:7;25511;:15;25519:6;25511:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25493:7;:15;25501:6;25493:15;;;;;;;;;;;;;;;:46;;;;25570:39;25593:15;25570:7;:18;25578:9;25570:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25549:7;:18;25557:9;25549:18;;;;;;;;;;;;;;;:60;;;;25620:58;25647:4;25654:10;25666:11;25620:18;:58::i;:::-;25688:70;25715:16;;;;;;;;;;;25734:10;25746:11;25688:18;:70::i;:::-;25768:22;25779:4;25785;25768:10;:22::i;:::-;25822:9;25805:44;;25814:6;25805:44;;;25833:15;25805:44;;;;;;:::i;:::-;;;;;;;;24945:911;;;;;;;;;;;:::o;24014:921::-;24114:23;24139:12;24153:18;24173;24195:20;24207:7;24195:11;:20::i;:::-;24113:102;;;;;;;;24225:19;24247:10;:8;:10::i;:::-;24225:32;;24268:15;24285:23;24310:12;24326:63;24338:7;24347:4;24353:10;24365;24377:11;24326;:63::i;:::-;24267:122;;;;;;24403:14;:22;24418:6;24403:22;;;;;;;;;;;;;;;;;;;;;;;;;24402:23;:53;;;;;24430:14;:25;24445:9;24430:25;;;;;;;;;;;;;;;;;;;;;;;;;24429:26;24402:53;24394:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;24520:28;24540:7;24520;:15;24528:6;24520:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24502:7;:15;24510:6;24502:15;;;;;;;;;;;;;;;:46;;;;24579:39;24602:15;24579:7;:18;24587:9;24579:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24558:7;:18;24566:9;24558:18;;;;;;;;;;;;;;;:60;;;;24649:39;24672:15;24649:7;:18;24657:9;24649:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24628:7;:18;24636:9;24628:18;;;;;;;;;;;;;;;:60;;;;24699:58;24726:4;24733:10;24745:11;24699:18;:58::i;:::-;24767:70;24794:16;;;;;;;;;;;24813:10;24825:11;24767:18;:70::i;:::-;24847:22;24858:4;24864;24847:10;:22::i;:::-;24901:9;24884:44;;24893:6;24884:44;;;24912:15;24884:44;;;;;;:::i;:::-;;;;;;;;24014:921;;;;;;;;;;;:::o;22265:852::-;22363:23;22388:12;22402:18;22422;22444:20;22456:7;22444:11;:20::i;:::-;22362:102;;;;;;;;22474:19;22496:10;:8;:10::i;:::-;22474:32;;22517:15;22534:23;22559:12;22575:63;22587:7;22596:4;22602:10;22614;22626:11;22575;:63::i;:::-;22516:122;;;;;;22652:14;:22;22667:6;22652:22;;;;;;;;;;;;;;;;;;;;;;;;;22651:23;:53;;;;;22679:14;:25;22694:9;22679:25;;;;;;;;;;;;;;;;;;;;;;;;;22678:26;22651:53;22643:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;22772:28;22792:7;22772;:15;22780:6;22772:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;22751:7;:15;22759:6;22751:15;;;;;;;;;;;;;;;:49;;;;22831:39;22854:15;22831:7;:18;22839:9;22831:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;22810:7;:18;22818:9;22810:18;;;;;;;;;;;;;;;:60;;;;22881:58;22908:4;22915:10;22927:11;22881:18;:58::i;:::-;22949:70;22976:16;;;;;;;;;;;22995:10;23007:11;22949:18;:70::i;:::-;23029:22;23040:4;23046;23029:10;:22::i;:::-;23083:9;23066:44;;23075:6;23066:44;;;23094:15;23066:44;;;;;;:::i;:::-;;;;;;;;22265:852;;;;;;;;;;;:::o;23127:877::-;23229:23;23254:12;23268:18;23288;23310:20;23322:7;23310:11;:20::i;:::-;23228:102;;;;;;;;23340:19;23362:10;:8;:10::i;:::-;23340:32;;23383:15;23400:23;23425:12;23441:63;23453:7;23462:4;23468:10;23480;23492:11;23441;:63::i;:::-;23382:122;;;;;;23533:28;23553:7;23533;:15;23541:6;23533:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23515:7;:15;23523:6;23515:15;;;;;;;;;;;;;;;:46;;;;23589:28;23609:7;23589;:15;23597:6;23589:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23571:7;:15;23579:6;23571:15;;;;;;;;;;;;;;;:46;;;;23648:39;23671:15;23648:7;:18;23656:9;23648:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23627:7;:18;23635:9;23627:18;;;;;;;;;;;;;;;:60;;;;23718:39;23741:15;23718:7;:18;23726:9;23718:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23697:7;:18;23705:9;23697:18;;;;;;;;;;;;;;;:60;;;;23768:58;23795:4;23802:10;23814:11;23768:18;:58::i;:::-;23836:70;23863:16;;;;;;;;;;;23882:10;23894:11;23836:18;:70::i;:::-;23916:22;23927:4;23933;23916:10;:22::i;:::-;23970:9;23953:44;;23962:6;23953:44;;;23981:15;23953:44;;;;;;:::i;:::-;;;;;;;;23127:877;;;;;;;;;;;:::o;26367:175::-;26426:15;;26410:7;:31;;;;26467:21;;26451:13;:37;;;;26514:21;;26498:13;:37;;;;26367:175::o;28443:325::-;28554:1;28543:7;:12;28539:29;;28559:7;;28539:29;28578:15;28596:24;28608:11;28596:7;:11;;:24;;;;:::i;:::-;28578:42;;28644:24;28660:7;28644;:11;28652:2;28644:11;;;;;;;;;;;;;;;;:15;;:24;;;;:::i;:::-;28630:7;:11;28638:2;28630:11;;;;;;;;;;;;;;;:38;;;;28682:11;:15;28694:2;28682:15;;;;;;;;;;;;;;;;;;;;;;;;;28678:84;;;28727:24;28743:7;28727;:11;28735:2;28727:11;;;;;;;;;;;;;;;;:15;;:24;;;;:::i;:::-;28713:7;:11;28721:2;28713:11;;;;;;;;;;;;;;;:38;;;;28678:84;28443:325;;;;;:::o;25866:146::-;25945:17;25957:4;25945:7;;:11;;:17;;;;:::i;:::-;25932:7;:30;;;;25985:20;26000:4;25985:10;;:14;;:20;;;;:::i;:::-;25972:10;:33;;;;25866:146;;:::o;7:139:3:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;318:367::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:2;;469:1;466;459:12;418:2;505:6;492:20;482:30;;535:18;527:6;524:30;521:2;;;567:1;564;557:12;521:2;604:4;596:6;592:17;580:29;;658:3;650:4;642:6;638:17;628:8;624:32;621:41;618:2;;;675:1;672;665:12;618:2;408:277;;;;;:::o;691:133::-;734:5;772:6;759:20;750:29;;788:30;812:5;788:30;:::i;:::-;740:84;;;;:::o;830:139::-;876:5;914:6;901:20;892:29;;930:33;957:5;930:33;:::i;:::-;882:87;;;;:::o;975:143::-;1032:5;1063:6;1057:13;1048:22;;1079:33;1106:5;1079:33;:::i;:::-;1038:80;;;;:::o;1124:262::-;1183:6;1232:2;1220:9;1211:7;1207:23;1203:32;1200:2;;;1248:1;1245;1238:12;1200:2;1291:1;1316:53;1361:7;1352:6;1341:9;1337:22;1316:53;:::i;:::-;1306:63;;1262:117;1190:196;;;;:::o;1392:284::-;1462:6;1511:2;1499:9;1490:7;1486:23;1482:32;1479:2;;;1527:1;1524;1517:12;1479:2;1570:1;1595:64;1651:7;1642:6;1631:9;1627:22;1595:64;:::i;:::-;1585:74;;1541:128;1469:207;;;;:::o;1682:407::-;1750:6;1758;1807:2;1795:9;1786:7;1782:23;1778:32;1775:2;;;1823:1;1820;1813:12;1775:2;1866:1;1891:53;1936:7;1927:6;1916:9;1912:22;1891:53;:::i;:::-;1881:63;;1837:117;1993:2;2019:53;2064:7;2055:6;2044:9;2040:22;2019:53;:::i;:::-;2009:63;;1964:118;1765:324;;;;;:::o;2095:552::-;2172:6;2180;2188;2237:2;2225:9;2216:7;2212:23;2208:32;2205:2;;;2253:1;2250;2243:12;2205:2;2296:1;2321:53;2366:7;2357:6;2346:9;2342:22;2321:53;:::i;:::-;2311:63;;2267:117;2423:2;2449:53;2494:7;2485:6;2474:9;2470:22;2449:53;:::i;:::-;2439:63;;2394:118;2551:2;2577:53;2622:7;2613:6;2602:9;2598:22;2577:53;:::i;:::-;2567:63;;2522:118;2195:452;;;;;:::o;2653:401::-;2718:6;2726;2775:2;2763:9;2754:7;2750:23;2746:32;2743:2;;;2791:1;2788;2781:12;2743:2;2834:1;2859:53;2904:7;2895:6;2884:9;2880:22;2859:53;:::i;:::-;2849:63;;2805:117;2961:2;2987:50;3029:7;3020:6;3009:9;3005:22;2987:50;:::i;:::-;2977:60;;2932:115;2733:321;;;;;:::o;3060:407::-;3128:6;3136;3185:2;3173:9;3164:7;3160:23;3156:32;3153:2;;;3201:1;3198;3191:12;3153:2;3244:1;3269:53;3314:7;3305:6;3294:9;3290:22;3269:53;:::i;:::-;3259:63;;3215:117;3371:2;3397:53;3442:7;3433:6;3422:9;3418:22;3397:53;:::i;:::-;3387:63;;3342:118;3143:324;;;;;:::o;3473:425::-;3559:6;3567;3616:2;3604:9;3595:7;3591:23;3587:32;3584:2;;;3632:1;3629;3622:12;3584:2;3703:1;3692:9;3688:17;3675:31;3733:18;3725:6;3722:30;3719:2;;;3765:1;3762;3755:12;3719:2;3801:80;3873:7;3864:6;3853:9;3849:22;3801:80;:::i;:::-;3783:98;;;;3646:245;3574:324;;;;;:::o;3904:256::-;3960:6;4009:2;3997:9;3988:7;3984:23;3980:32;3977:2;;;4025:1;4022;4015:12;3977:2;4068:1;4093:50;4135:7;4126:6;4115:9;4111:22;4093:50;:::i;:::-;4083:60;;4039:114;3967:193;;;;:::o;4166:262::-;4225:6;4274:2;4262:9;4253:7;4249:23;4245:32;4242:2;;;4290:1;4287;4280:12;4242:2;4333:1;4358:53;4403:7;4394:6;4383:9;4379:22;4358:53;:::i;:::-;4348:63;;4304:117;4232:196;;;;:::o;4434:401::-;4499:6;4507;4556:2;4544:9;4535:7;4531:23;4527:32;4524:2;;;4572:1;4569;4562:12;4524:2;4615:1;4640:53;4685:7;4676:6;4665:9;4661:22;4640:53;:::i;:::-;4630:63;;4586:117;4742:2;4768:50;4810:7;4801:6;4790:9;4786:22;4768:50;:::i;:::-;4758:60;;4713:115;4514:321;;;;;:::o;4841:596::-;4929:6;4937;4945;4994:2;4982:9;4973:7;4969:23;4965:32;4962:2;;;5010:1;5007;5000:12;4962:2;5053:1;5078:64;5134:7;5125:6;5114:9;5110:22;5078:64;:::i;:::-;5068:74;;5024:128;5191:2;5217:64;5273:7;5264:6;5253:9;5249:22;5217:64;:::i;:::-;5207:74;;5162:129;5330:2;5356:64;5412:7;5403:6;5392:9;5388:22;5356:64;:::i;:::-;5346:74;;5301:129;4952:485;;;;;:::o;5443:179::-;5512:10;5533:46;5575:3;5567:6;5533:46;:::i;:::-;5611:4;5606:3;5602:14;5588:28;;5523:99;;;;:::o;5628:108::-;5705:24;5723:5;5705:24;:::i;:::-;5700:3;5693:37;5683:53;;:::o;5742:118::-;5829:24;5847:5;5829:24;:::i;:::-;5824:3;5817:37;5807:53;;:::o;5896:732::-;6015:3;6044:54;6092:5;6044:54;:::i;:::-;6114:86;6193:6;6188:3;6114:86;:::i;:::-;6107:93;;6224:56;6274:5;6224:56;:::i;:::-;6303:7;6334:1;6319:284;6344:6;6341:1;6338:13;6319:284;;;6420:6;6414:13;6447:63;6506:3;6491:13;6447:63;:::i;:::-;6440:70;;6533:60;6586:6;6533:60;:::i;:::-;6523:70;;6379:224;6366:1;6363;6359:9;6354:14;;6319:284;;;6323:14;6619:3;6612:10;;6020:608;;;;;;;:::o;6634:109::-;6715:21;6730:5;6715:21;:::i;:::-;6710:3;6703:34;6693:50;;:::o;6749:183::-;6862:63;6919:5;6862:63;:::i;:::-;6857:3;6850:76;6840:92;;:::o;6938:147::-;7033:45;7072:5;7033:45;:::i;:::-;7028:3;7021:58;7011:74;;:::o;7091:364::-;7179:3;7207:39;7240:5;7207:39;:::i;:::-;7262:71;7326:6;7321:3;7262:71;:::i;:::-;7255:78;;7342:52;7387:6;7382:3;7375:4;7368:5;7364:16;7342:52;:::i;:::-;7419:29;7441:6;7419:29;:::i;:::-;7414:3;7410:39;7403:46;;7183:272;;;;;:::o;7461:366::-;7603:3;7624:67;7688:2;7683:3;7624:67;:::i;:::-;7617:74;;7700:93;7789:3;7700:93;:::i;:::-;7818:2;7813:3;7809:12;7802:19;;7607:220;;;:::o;7833:366::-;7975:3;7996:67;8060:2;8055:3;7996:67;:::i;:::-;7989:74;;8072:93;8161:3;8072:93;:::i;:::-;8190:2;8185:3;8181:12;8174:19;;7979:220;;;:::o;8205:366::-;8347:3;8368:67;8432:2;8427:3;8368:67;:::i;:::-;8361:74;;8444:93;8533:3;8444:93;:::i;:::-;8562:2;8557:3;8553:12;8546:19;;8351:220;;;:::o;8577:366::-;8719:3;8740:67;8804:2;8799:3;8740:67;:::i;:::-;8733:74;;8816:93;8905:3;8816:93;:::i;:::-;8934:2;8929:3;8925:12;8918:19;;8723:220;;;:::o;8949:366::-;9091:3;9112:67;9176:2;9171:3;9112:67;:::i;:::-;9105:74;;9188:93;9277:3;9188:93;:::i;:::-;9306:2;9301:3;9297:12;9290:19;;9095:220;;;:::o;9321:366::-;9463:3;9484:67;9548:2;9543:3;9484:67;:::i;:::-;9477:74;;9560:93;9649:3;9560:93;:::i;:::-;9678:2;9673:3;9669:12;9662:19;;9467:220;;;:::o;9693:366::-;9835:3;9856:67;9920:2;9915:3;9856:67;:::i;:::-;9849:74;;9932:93;10021:3;9932:93;:::i;:::-;10050:2;10045:3;10041:12;10034:19;;9839:220;;;:::o;10065:366::-;10207:3;10228:67;10292:2;10287:3;10228:67;:::i;:::-;10221:74;;10304:93;10393:3;10304:93;:::i;:::-;10422:2;10417:3;10413:12;10406:19;;10211:220;;;:::o;10437:366::-;10579:3;10600:67;10664:2;10659:3;10600:67;:::i;:::-;10593:74;;10676:93;10765:3;10676:93;:::i;:::-;10794:2;10789:3;10785:12;10778:19;;10583:220;;;:::o;10809:366::-;10951:3;10972:67;11036:2;11031:3;10972:67;:::i;:::-;10965:74;;11048:93;11137:3;11048:93;:::i;:::-;11166:2;11161:3;11157:12;11150:19;;10955:220;;;:::o;11181:366::-;11323:3;11344:67;11408:2;11403:3;11344:67;:::i;:::-;11337:74;;11420:93;11509:3;11420:93;:::i;:::-;11538:2;11533:3;11529:12;11522:19;;11327:220;;;:::o;11553:366::-;11695:3;11716:67;11780:2;11775:3;11716:67;:::i;:::-;11709:74;;11792:93;11881:3;11792:93;:::i;:::-;11910:2;11905:3;11901:12;11894:19;;11699:220;;;:::o;11925:366::-;12067:3;12088:67;12152:2;12147:3;12088:67;:::i;:::-;12081:74;;12164:93;12253:3;12164:93;:::i;:::-;12282:2;12277:3;12273:12;12266:19;;12071:220;;;:::o;12297:366::-;12439:3;12460:67;12524:2;12519:3;12460:67;:::i;:::-;12453:74;;12536:93;12625:3;12536:93;:::i;:::-;12654:2;12649:3;12645:12;12638:19;;12443:220;;;:::o;12669:366::-;12811:3;12832:67;12896:2;12891:3;12832:67;:::i;:::-;12825:74;;12908:93;12997:3;12908:93;:::i;:::-;13026:2;13021:3;13017:12;13010:19;;12815:220;;;:::o;13041:366::-;13183:3;13204:67;13268:2;13263:3;13204:67;:::i;:::-;13197:74;;13280:93;13369:3;13280:93;:::i;:::-;13398:2;13393:3;13389:12;13382:19;;13187:220;;;:::o;13413:366::-;13555:3;13576:67;13640:2;13635:3;13576:67;:::i;:::-;13569:74;;13652:93;13741:3;13652:93;:::i;:::-;13770:2;13765:3;13761:12;13754:19;;13559:220;;;:::o;13785:118::-;13872:24;13890:5;13872:24;:::i;:::-;13867:3;13860:37;13850:53;;:::o;13909:112::-;13992:22;14008:5;13992:22;:::i;:::-;13987:3;13980:35;13970:51;;:::o;14027:222::-;14120:4;14158:2;14147:9;14143:18;14135:26;;14171:71;14239:1;14228:9;14224:17;14215:6;14171:71;:::i;:::-;14125:124;;;;:::o;14255:807::-;14504:4;14542:3;14531:9;14527:19;14519:27;;14556:71;14624:1;14613:9;14609:17;14600:6;14556:71;:::i;:::-;14637:72;14705:2;14694:9;14690:18;14681:6;14637:72;:::i;:::-;14719:80;14795:2;14784:9;14780:18;14771:6;14719:80;:::i;:::-;14809;14885:2;14874:9;14870:18;14861:6;14809:80;:::i;:::-;14899:73;14967:3;14956:9;14952:19;14943:6;14899:73;:::i;:::-;14982;15050:3;15039:9;15035:19;15026:6;14982:73;:::i;:::-;14509:553;;;;;;;;;:::o;15068:210::-;15155:4;15193:2;15182:9;15178:18;15170:26;;15206:65;15268:1;15257:9;15253:17;15244:6;15206:65;:::i;:::-;15160:118;;;;:::o;15284:274::-;15403:4;15441:2;15430:9;15426:18;15418:26;;15454:97;15548:1;15537:9;15533:17;15524:6;15454:97;:::i;:::-;15408:150;;;;:::o;15564:313::-;15677:4;15715:2;15704:9;15700:18;15692:26;;15764:9;15758:4;15754:20;15750:1;15739:9;15735:17;15728:47;15792:78;15865:4;15856:6;15792:78;:::i;:::-;15784:86;;15682:195;;;;:::o;15883:419::-;16049:4;16087:2;16076:9;16072:18;16064:26;;16136:9;16130:4;16126:20;16122:1;16111:9;16107:17;16100:47;16164:131;16290:4;16164:131;:::i;:::-;16156:139;;16054:248;;;:::o;16308:419::-;16474:4;16512:2;16501:9;16497:18;16489:26;;16561:9;16555:4;16551:20;16547:1;16536:9;16532:17;16525:47;16589:131;16715:4;16589:131;:::i;:::-;16581:139;;16479:248;;;:::o;16733:419::-;16899:4;16937:2;16926:9;16922:18;16914:26;;16986:9;16980:4;16976:20;16972:1;16961:9;16957:17;16950:47;17014:131;17140:4;17014:131;:::i;:::-;17006:139;;16904:248;;;:::o;17158:419::-;17324:4;17362:2;17351:9;17347:18;17339:26;;17411:9;17405:4;17401:20;17397:1;17386:9;17382:17;17375:47;17439:131;17565:4;17439:131;:::i;:::-;17431:139;;17329:248;;;:::o;17583:419::-;17749:4;17787:2;17776:9;17772:18;17764:26;;17836:9;17830:4;17826:20;17822:1;17811:9;17807:17;17800:47;17864:131;17990:4;17864:131;:::i;:::-;17856:139;;17754:248;;;:::o;18008:419::-;18174:4;18212:2;18201:9;18197:18;18189:26;;18261:9;18255:4;18251:20;18247:1;18236:9;18232:17;18225:47;18289:131;18415:4;18289:131;:::i;:::-;18281:139;;18179:248;;;:::o;18433:419::-;18599:4;18637:2;18626:9;18622:18;18614:26;;18686:9;18680:4;18676:20;18672:1;18661:9;18657:17;18650:47;18714:131;18840:4;18714:131;:::i;:::-;18706:139;;18604:248;;;:::o;18858:419::-;19024:4;19062:2;19051:9;19047:18;19039:26;;19111:9;19105:4;19101:20;19097:1;19086:9;19082:17;19075:47;19139:131;19265:4;19139:131;:::i;:::-;19131:139;;19029:248;;;:::o;19283:419::-;19449:4;19487:2;19476:9;19472:18;19464:26;;19536:9;19530:4;19526:20;19522:1;19511:9;19507:17;19500:47;19564:131;19690:4;19564:131;:::i;:::-;19556:139;;19454:248;;;:::o;19708:419::-;19874:4;19912:2;19901:9;19897:18;19889:26;;19961:9;19955:4;19951:20;19947:1;19936:9;19932:17;19925:47;19989:131;20115:4;19989:131;:::i;:::-;19981:139;;19879:248;;;:::o;20133:419::-;20299:4;20337:2;20326:9;20322:18;20314:26;;20386:9;20380:4;20376:20;20372:1;20361:9;20357:17;20350:47;20414:131;20540:4;20414:131;:::i;:::-;20406:139;;20304:248;;;:::o;20558:419::-;20724:4;20762:2;20751:9;20747:18;20739:26;;20811:9;20805:4;20801:20;20797:1;20786:9;20782:17;20775:47;20839:131;20965:4;20839:131;:::i;:::-;20831:139;;20729:248;;;:::o;20983:419::-;21149:4;21187:2;21176:9;21172:18;21164:26;;21236:9;21230:4;21226:20;21222:1;21211:9;21207:17;21200:47;21264:131;21390:4;21264:131;:::i;:::-;21256:139;;21154:248;;;:::o;21408:419::-;21574:4;21612:2;21601:9;21597:18;21589:26;;21661:9;21655:4;21651:20;21647:1;21636:9;21632:17;21625:47;21689:131;21815:4;21689:131;:::i;:::-;21681:139;;21579:248;;;:::o;21833:419::-;21999:4;22037:2;22026:9;22022:18;22014:26;;22086:9;22080:4;22076:20;22072:1;22061:9;22057:17;22050:47;22114:131;22240:4;22114:131;:::i;:::-;22106:139;;22004:248;;;:::o;22258:419::-;22424:4;22462:2;22451:9;22447:18;22439:26;;22511:9;22505:4;22501:20;22497:1;22486:9;22482:17;22475:47;22539:131;22665:4;22539:131;:::i;:::-;22531:139;;22429:248;;;:::o;22683:419::-;22849:4;22887:2;22876:9;22872:18;22864:26;;22936:9;22930:4;22926:20;22922:1;22911:9;22907:17;22900:47;22964:131;23090:4;22964:131;:::i;:::-;22956:139;;22854:248;;;:::o;23108:222::-;23201:4;23239:2;23228:9;23224:18;23216:26;;23252:71;23320:1;23309:9;23305:17;23296:6;23252:71;:::i;:::-;23206:124;;;;:::o;23336:831::-;23599:4;23637:3;23626:9;23622:19;23614:27;;23651:71;23719:1;23708:9;23704:17;23695:6;23651:71;:::i;:::-;23732:80;23808:2;23797:9;23793:18;23784:6;23732:80;:::i;:::-;23859:9;23853:4;23849:20;23844:2;23833:9;23829:18;23822:48;23887:108;23990:4;23981:6;23887:108;:::i;:::-;23879:116;;24005:72;24073:2;24062:9;24058:18;24049:6;24005:72;:::i;:::-;24087:73;24155:3;24144:9;24140:19;24131:6;24087:73;:::i;:::-;23604:563;;;;;;;;:::o;24173:442::-;24322:4;24360:2;24349:9;24345:18;24337:26;;24373:71;24441:1;24430:9;24426:17;24417:6;24373:71;:::i;:::-;24454:72;24522:2;24511:9;24507:18;24498:6;24454:72;:::i;:::-;24536;24604:2;24593:9;24589:18;24580:6;24536:72;:::i;:::-;24327:288;;;;;;:::o;24621:214::-;24710:4;24748:2;24737:9;24733:18;24725:26;;24761:67;24825:1;24814:9;24810:17;24801:6;24761:67;:::i;:::-;24715:120;;;;:::o;24841:132::-;24908:4;24931:3;24923:11;;24961:4;24956:3;24952:14;24944:22;;24913:60;;;:::o;24979:114::-;25046:6;25080:5;25074:12;25064:22;;25053:40;;;:::o;25099:99::-;25151:6;25185:5;25179:12;25169:22;;25158:40;;;:::o;25204:113::-;25274:4;25306;25301:3;25297:14;25289:22;;25279:38;;;:::o;25323:184::-;25422:11;25456:6;25451:3;25444:19;25496:4;25491:3;25487:14;25472:29;;25434:73;;;;:::o;25513:169::-;25597:11;25631:6;25626:3;25619:19;25671:4;25666:3;25662:14;25647:29;;25609:73;;;;:::o;25688:305::-;25728:3;25747:20;25765:1;25747:20;:::i;:::-;25742:25;;25781:20;25799:1;25781:20;:::i;:::-;25776:25;;25935:1;25867:66;25863:74;25860:1;25857:81;25854:2;;;25941:18;;:::i;:::-;25854:2;25985:1;25982;25978:9;25971:16;;25732:261;;;;:::o;25999:185::-;26039:1;26056:20;26074:1;26056:20;:::i;:::-;26051:25;;26090:20;26108:1;26090:20;:::i;:::-;26085:25;;26129:1;26119:2;;26134:18;;:::i;:::-;26119:2;26176:1;26173;26169:9;26164:14;;26041:143;;;;:::o;26190:348::-;26230:7;26253:20;26271:1;26253:20;:::i;:::-;26248:25;;26287:20;26305:1;26287:20;:::i;:::-;26282:25;;26475:1;26407:66;26403:74;26400:1;26397:81;26392:1;26385:9;26378:17;26374:105;26371:2;;;26482:18;;:::i;:::-;26371:2;26530:1;26527;26523:9;26512:20;;26238:300;;;;:::o;26544:191::-;26584:4;26604:20;26622:1;26604:20;:::i;:::-;26599:25;;26638:20;26656:1;26638:20;:::i;:::-;26633:25;;26677:1;26674;26671:8;26668:2;;;26682:18;;:::i;:::-;26668:2;26727:1;26724;26720:9;26712:17;;26589:146;;;;:::o;26741:96::-;26778:7;26807:24;26825:5;26807:24;:::i;:::-;26796:35;;26786:51;;;:::o;26843:90::-;26877:7;26920:5;26913:13;26906:21;26895:32;;26885:48;;;:::o;26939:126::-;26976:7;27016:42;27009:5;27005:54;26994:65;;26984:81;;;:::o;27071:77::-;27108:7;27137:5;27126:16;;27116:32;;;:::o;27154:86::-;27189:7;27229:4;27222:5;27218:16;27207:27;;27197:43;;;:::o;27246:178::-;27322:9;27355:63;27412:5;27355:63;:::i;:::-;27342:76;;27332:92;;;:::o;27430:139::-;27506:9;27539:24;27557:5;27539:24;:::i;:::-;27526:37;;27516:53;;;:::o;27575:121::-;27633:9;27666:24;27684:5;27666:24;:::i;:::-;27653:37;;27643:53;;;:::o;27702:307::-;27770:1;27780:113;27794:6;27791:1;27788:13;27780:113;;;27879:1;27874:3;27870:11;27864:18;27860:1;27855:3;27851:11;27844:39;27816:2;27813:1;27809:10;27804:15;;27780:113;;;27911:6;27908:1;27905:13;27902:2;;;27991:1;27982:6;27977:3;27973:16;27966:27;27902:2;27751:258;;;;:::o;28015:233::-;28054:3;28077:24;28095:5;28077:24;:::i;:::-;28068:33;;28123:66;28116:5;28113:77;28110:2;;;28193:18;;:::i;:::-;28110:2;28240:1;28233:5;28229:13;28222:20;;28058:190;;;:::o;28254:180::-;28302:77;28299:1;28292:88;28399:4;28396:1;28389:15;28423:4;28420:1;28413:15;28440:180;28488:77;28485:1;28478:88;28585:4;28582:1;28575:15;28609:4;28606:1;28599:15;28626:102;28667:6;28718:2;28714:7;28709:2;28702:5;28698:14;28694:28;28684:38;;28674:54;;;:::o;28734:224::-;28874:34;28870:1;28862:6;28858:14;28851:58;28943:7;28938:2;28930:6;28926:15;28919:32;28840:118;:::o;28964:174::-;29104:26;29100:1;29092:6;29088:14;29081:50;29070:68;:::o;29144:223::-;29284:34;29280:1;29272:6;29268:14;29261:58;29353:6;29348:2;29340:6;29336:15;29329:31;29250:117;:::o;29373:229::-;29513:34;29509:1;29501:6;29497:14;29490:58;29582:12;29577:2;29569:6;29565:15;29558:37;29479:123;:::o;29608:177::-;29748:29;29744:1;29736:6;29732:14;29725:53;29714:71;:::o;29791:181::-;29931:33;29927:1;29919:6;29915:14;29908:57;29897:75;:::o;29978:177::-;30118:29;30114:1;30106:6;30102:14;30095:53;30084:71;:::o;30161:181::-;30301:33;30297:1;30289:6;30285:14;30278:57;30267:75;:::o;30348:227::-;30488:34;30484:1;30476:6;30472:14;30465:58;30557:10;30552:2;30544:6;30540:15;30533:35;30454:121;:::o;30581:220::-;30721:34;30717:1;30709:6;30705:14;30698:58;30790:3;30785:2;30777:6;30773:15;30766:28;30687:114;:::o;30807:182::-;30947:34;30943:1;30935:6;30931:14;30924:58;30913:76;:::o;30995:228::-;31135:34;31131:1;31123:6;31119:14;31112:58;31204:11;31199:2;31191:6;31187:15;31180:36;31101:122;:::o;31229:222::-;31369:34;31365:1;31357:6;31353:14;31346:58;31438:5;31433:2;31425:6;31421:15;31414:30;31335:116;:::o;31457:181::-;31597:33;31593:1;31585:6;31581:14;31574:57;31563:75;:::o;31644:231::-;31784:34;31780:1;31772:6;31768:14;31761:58;31853:14;31848:2;31840:6;31836:15;31829:39;31750:125;:::o;31881:221::-;32021:34;32017:1;32009:6;32005:14;31998:58;32090:4;32085:2;32077:6;32073:15;32066:29;31987:115;:::o;32108:167::-;32248:19;32244:1;32236:6;32232:14;32225:43;32214:61;:::o;32281:122::-;32354:24;32372:5;32354:24;:::i;:::-;32347:5;32344:35;32334:2;;32393:1;32390;32383:12;32334:2;32324:79;:::o;32409:116::-;32479:21;32494:5;32479:21;:::i;:::-;32472:5;32469:32;32459:2;;32515:1;32512;32505:12;32459:2;32449:76;:::o;32531:122::-;32604:24;32622:5;32604:24;:::i;:::-;32597:5;32594:35;32584:2;;32643:1;32640;32633:12;32584:2;32574:79;:::o

Swarm Source

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