Contract 0xdF96bDE075d59e9143b325C75aF38e208c986E6F 1

 
Txn Hash
Method
Block
From
To
Value
0xe0e853eed63f5b074889aff782d7325caa0c1ba375e7707c25cca6661e714a74Approve153166002022-08-10 20:57:343 hrs 41 mins ago0xa18896d64486927a18194d11ccd3739e98d9ec56 IN  YetiCoin: YETIC Token0 Ether0.00101401 21.7477395
0xc6df2c0e3cfebb9632017354828762abc0a5e83f9ee531d48c80e6aafb5f14a8Approve153165692022-08-10 20:50:353 hrs 48 mins ago0xd320d7c777941e0deaf7012b7d9632c125e36767 IN  YetiCoin: YETIC Token0 Ether0.00156327 33.52797766
0x8d37c2030b82f01db5faf7700cba2ccd1d0ca4c65ba6e36b4c1527b3ad07ecfbApprove153103642022-08-09 21:22:571 day 3 hrs ago0x436f5ab72c1a7dfc463f394f88efc47ea5dc539d IN  YetiCoin: YETIC Token0 Ether0.00055711 11.9485923
0x62351a71b0169f95cffc6a049e612880622688169ae7fb864feffce959b39d49Approve153076842022-08-09 11:18:521 day 13 hrs ago0xac2a6c0778fe3e11e94eb73b0b261e3e7831e4b8 IN  YetiCoin: YETIC Token0 Ether0.00068076 14.60053624
0x518512977000cd46699770dd9f25eb54bc644e6882fd4877c2d164e10c796590Approve153068852022-08-09 8:17:301 day 16 hrs ago0x40a09cbb36ad6ff850d70161c683f2d3bc5d3b08 IN  YetiCoin: YETIC Token0 Ether0.00046802 10.03788451
0x0be241f8aaf9e998c426400aa06d150837d74547490b48ec05f53c5d652adcd9Approve153054442022-08-09 2:51:391 day 21 hrs ago0xe709ab7755d4b69404806f82d57be557710f2761 IN  YetiCoin: YETIC Token0 Ether0.00043256 9.2774229
0xf2ef533cd99d0c0f90a8064002ddc9d3fbf308c84c8eb41690810861c1af552cApprove153021782022-08-08 14:46:212 days 9 hrs ago0x0c3eae4636ac8a2ec13bbc5ea3c39079691f8bae IN  YetiCoin: YETIC Token0 Ether0.00072106 15.46483859
0xfe45b554fcdd3fc4b56d9f0e65a0a86d4e86fb986879c11f5cec523602eb94a9Transfer153018132022-08-08 13:24:242 days 11 hrs ago0xdc800b85bd23227fc8a1f4eb0b1d71be82602a94 IN  YetiCoin: YETIC Token0 Ether0.00140827 14.47697774
0xca0aa06d735bca383667d815c408e2de71ae1b2c4eaee78f04ae4880da8730ebApprove153006502022-08-08 9:05:592 days 15 hrs ago0xa240b82e54088fe6fe98a1a0a7eed75e38ae193e IN  YetiCoin: YETIC Token0 Ether0.00042663 9.15011264
0xce4e395bb663800bfedb7f0053a560b6e9bf8b8d2f681928699deb7f27dfe5cbApprove152978362022-08-07 22:20:393 days 2 hrs ago0x0a6198ebee867217276876966c527f47f16f8323 IN  YetiCoin: YETIC Token0 Ether0.00087235 18.70972051
0x52530e0741b784699e768366bb68072736d5e79e3fceabc813f1b705db12fa42Approve152967302022-08-07 18:09:533 days 6 hrs ago0x2f29d301e838adb5c1c222e56488aab81a9399fd IN  YetiCoin: YETIC Token0 Ether0.00060613 13
0x9ac705d07f08e5c3b04e0902bc53618d4fdc72e8e264b8ba407a6cdee8d66146Transfer152962582022-08-07 16:22:113 days 8 hrs ago0x89d05964171d1a5242136fff13d9e8330605243b IN  YetiCoin: YETIC Token0 Ether0.00247603 25.45344892
0x3fe743ca91f8be69ee57cbeb5925cb9dbed6edeeb618f84b356146cf5128fb5eApprove152920352022-08-07 0:37:324 days 1 min ago0x9d7368e75bc0a4ceafd0beffbd6bc8697bc554ce IN  YetiCoin: YETIC Token0 Ether0.00027522 5.90284128
0xe116f5c96f7bf52f7583558d3c3f6865b6ce88fb2810282820ea0b63bd9c10ccTransfer152892452022-08-06 14:22:214 days 10 hrs agoHotbit 3 IN  YetiCoin: YETIC Token0 Ether0.0016424920.4889
0xc4de8a0aa795142649a15a180b62100676fe99fb08686122ced7422fd04c520aApprove152882382022-08-06 10:42:524 days 13 hrs ago0xaf9555da135f083b535915f32916e4b5df387b5d IN  YetiCoin: YETIC Token0 Ether0.0001865 4
0x2356eeed299efb8b3962a64fef2cb1ae9039933cb73d9eabd365aa48a1144a52Approve152870752022-08-06 6:13:584 days 18 hrs ago0xbc34ce73c8fe6478a393b4ebeb9326db00bfbe36 IN  YetiCoin: YETIC Token0 Ether0.00043105 9.24493792
0x661745a38cd268469952660109ed21c4762f8b60374dab853f2da90fd00cd6b8Approve152870142022-08-06 5:57:034 days 18 hrs ago0x9747b460938f9285cfb80fc681fcd183dc970f6c IN  YetiCoin: YETIC Token0 Ether0.00030577 6.55804729
0x89c3f0663a6e712c34e8f7c99fa3cce5b35803ce618c96e95f90a09cfc24cbf5Transfer152869962022-08-06 5:53:134 days 18 hrs ago0x3462a4d31e8293b06a12a45b2af4d0a743dd1606 IN  YetiCoin: YETIC Token0 Ether0.00055436 5.69885854
0xcc0cf30f708efe45eecb133252ff49802e25c82cd505ca18bf5c7e91fce345dbTransfer*152847432022-08-05 21:32:285 days 3 hrs ago0xaf9555da135f083b535915f32916e4b5df387b5d IN  YetiCoin: YETIC Token0 Ether0.00033237 15.77774853
0x3b3748395e773abeb99035a2163744ca4c8c610f54723743c9f38962ce8f81bbTransfer152846412022-08-05 21:09:185 days 3 hrs ago0x25b7703c16150404a5730ea1d3f6021f877029e1 IN  YetiCoin: YETIC Token0 Ether0.0020851 21.432061
0x8c309e03462aa4d957bc05befa22846f3378688a0959a6dec42000b02106a707Approve152839772022-08-05 18:36:445 days 6 hrs ago0x98223dd33e1d77612ac833976ad304df0cf9630e IN  YetiCoin: YETIC Token0 Ether0.00055778 11.96297168
0xd7a46104362cc770a70d0f760e99296b885baff069ab30da85eedc6c29174d6dApprove152776032022-08-04 18:57:116 days 5 hrs ago0x978fa6950ecd85139b65523e30517abf0ac28974 IN  YetiCoin: YETIC Token0 Ether0.00050163 10.75879142
0xd001e37cd5eec8bf4158e1a2174f7d74d16c8049def2c3dae68d9247300622d6Approve152772562022-08-04 17:41:296 days 6 hrs ago0x66c3868be517196b5929817ef7d411e79a289894 IN  YetiCoin: YETIC Token0 Ether0.00155745 33.4031196
0xcdb5f0b190b527762fe5f0b08853460d528f7b0bb0750dd758e4d2b9075ed539Manual Swap And ...152762892022-08-04 14:00:016 days 10 hrs agoYetiCoin: Deployer IN  YetiCoin: YETIC Token0 Ether0.0032543616.40322327
0x820db75bfea663236aa4764f3aab02ba920f581c8378e8bfac2008d6b41ba26bApprove152712892022-08-03 19:24:447 days 5 hrs ago0x5cd7851a04854a3b8be99b87d5978488679bf405 IN  YetiCoin: YETIC Token0 Ether0.00087352 18.73474973
[ Download CSV Export 

OVERVIEW

YetiCoin is bringing Fitness and Wellness into the Crypto space.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xcdb5f0b190b527762fe5f0b08853460d528f7b0bb0750dd758e4d2b9075ed539152762892022-08-04 14:00:016 days 10 hrs ago YetiCoin: YETIC Token0x1fd8e0d94dba807393c7d05c61b6d3f796bec0650.08750239 Ether
0xcdb5f0b190b527762fe5f0b08853460d528f7b0bb0750dd758e4d2b9075ed539152762892022-08-04 14:00:016 days 10 hrs ago YetiCoin: YETIC Token0xe83dad9699ddee458868c12cc62956a27f7a01080.35000958 Ether
0xcdb5f0b190b527762fe5f0b08853460d528f7b0bb0750dd758e4d2b9075ed539152762892022-08-04 14:00:016 days 10 hrs ago Uniswap V2: Router 2 YetiCoin: YETIC Token0.43751198 Ether
0x243e8b04f53035463c0c095fdd30f537e41ea9a1b58890526faba8ae6ed1272f152458142022-07-30 20:00:1711 days 4 hrs ago YetiCoin: YETIC Token0x1fd8e0d94dba807393c7d05c61b6d3f796bec0650.18096572 Ether
0x243e8b04f53035463c0c095fdd30f537e41ea9a1b58890526faba8ae6ed1272f152458142022-07-30 20:00:1711 days 4 hrs ago YetiCoin: YETIC Token0xe83dad9699ddee458868c12cc62956a27f7a01080.72386288 Ether
0x243e8b04f53035463c0c095fdd30f537e41ea9a1b58890526faba8ae6ed1272f152458142022-07-30 20:00:1711 days 4 hrs ago Uniswap V2: Router 2 YetiCoin: YETIC Token0.90482861 Ether
0xf3224002f6ac21ceba79ba09b9373ca5959a2303dff58b1cf141cbde016be80b152353622022-07-29 4:49:4912 days 19 hrs ago YetiCoin: YETIC Token0x1fd8e0d94dba807393c7d05c61b6d3f796bec0650.07633942 Ether
0xf3224002f6ac21ceba79ba09b9373ca5959a2303dff58b1cf141cbde016be80b152353622022-07-29 4:49:4912 days 19 hrs ago YetiCoin: YETIC Token0xe83dad9699ddee458868c12cc62956a27f7a01080.30535771 Ether
0xf3224002f6ac21ceba79ba09b9373ca5959a2303dff58b1cf141cbde016be80b152353622022-07-29 4:49:4912 days 19 hrs ago Uniswap V2: Router 2 YetiCoin: YETIC Token0.38169714 Ether
0xce412f775f5fede0d34b97fce4db703d73ef6782842c7a9f38410ad4d340b435151753352022-07-19 20:49:5222 days 3 hrs ago YetiCoin: YETIC Token0x1fd8e0d94dba807393c7d05c61b6d3f796bec0650.08360876 Ether
0xce412f775f5fede0d34b97fce4db703d73ef6782842c7a9f38410ad4d340b435151753352022-07-19 20:49:5222 days 3 hrs ago YetiCoin: YETIC Token0xe83dad9699ddee458868c12cc62956a27f7a01080.33443506 Ether
0xce412f775f5fede0d34b97fce4db703d73ef6782842c7a9f38410ad4d340b435151753352022-07-19 20:49:5222 days 3 hrs ago Uniswap V2: Router 2 YetiCoin: YETIC Token0.41804383 Ether
0xa6ebbef031b208941f2c57ab58ddac29bb888f82e44d44168868c239c5767c60150927492022-07-07 2:30:0634 days 22 hrs ago YetiCoin: YETIC Token0x1fd8e0d94dba807393c7d05c61b6d3f796bec0650.11523052 Ether
0xa6ebbef031b208941f2c57ab58ddac29bb888f82e44d44168868c239c5767c60150927492022-07-07 2:30:0634 days 22 hrs ago YetiCoin: YETIC Token0xe83dad9699ddee458868c12cc62956a27f7a01080.46092211 Ether
0xa6ebbef031b208941f2c57ab58ddac29bb888f82e44d44168868c239c5767c60150927492022-07-07 2:30:0634 days 22 hrs ago Uniswap V2: Router 2 YetiCoin: YETIC Token0.57615264 Ether
0xb58390a1fc6d3d0ded05b0a566dae63415ef6a8edb366df5700a31a5dbc2240a150500252022-06-30 11:01:1041 days 13 hrs ago YetiCoin: YETIC Token0x1fd8e0d94dba807393c7d05c61b6d3f796bec0650.09216993 Ether
0xb58390a1fc6d3d0ded05b0a566dae63415ef6a8edb366df5700a31a5dbc2240a150500252022-06-30 11:01:1041 days 13 hrs ago YetiCoin: YETIC Token0xe83dad9699ddee458868c12cc62956a27f7a01080.36867975 Ether
0xb58390a1fc6d3d0ded05b0a566dae63415ef6a8edb366df5700a31a5dbc2240a150500252022-06-30 11:01:1041 days 13 hrs ago Uniswap V2: Router 2 YetiCoin: YETIC Token0.46084968 Ether
0xa75ac1821f6a9c93a6298c8b763f01889dd4162f3d3944e13e8e95d9b89297db150168362022-06-24 6:00:4247 days 18 hrs ago YetiCoin: YETIC Token0x1fd8e0d94dba807393c7d05c61b6d3f796bec0650.07930573 Ether
0xa75ac1821f6a9c93a6298c8b763f01889dd4162f3d3944e13e8e95d9b89297db150168362022-06-24 6:00:4247 days 18 hrs ago YetiCoin: YETIC Token0xe83dad9699ddee458868c12cc62956a27f7a01080.31722295 Ether
0xa75ac1821f6a9c93a6298c8b763f01889dd4162f3d3944e13e8e95d9b89297db150168362022-06-24 6:00:4247 days 18 hrs ago Uniswap V2: Router 2 YetiCoin: YETIC Token0.39652869 Ether
0x34986bbd0233596870bdea0bb356dc3c2d6b023fb5794cfb582fd68ad51088cb150047182022-06-21 23:19:5550 days 1 hr ago YetiCoin: YETIC Token0x1fd8e0d94dba807393c7d05c61b6d3f796bec0650.09566267 Ether
0x34986bbd0233596870bdea0bb356dc3c2d6b023fb5794cfb582fd68ad51088cb150047182022-06-21 23:19:5550 days 1 hr ago YetiCoin: YETIC Token0xe83dad9699ddee458868c12cc62956a27f7a01080.3826507 Ether
0x34986bbd0233596870bdea0bb356dc3c2d6b023fb5794cfb582fd68ad51088cb150047182022-06-21 23:19:5550 days 1 hr ago Uniswap V2: Router 2 YetiCoin: YETIC Token0.47831338 Ether
0x21f08d34a46f1ce2b58ad9c6ee3ab1351d8cbd6a3abc067f43290a6da2c8a2d4149880072022-06-19 0:49:4052 days 23 hrs ago YetiCoin: YETIC Token0x1fd8e0d94dba807393c7d05c61b6d3f796bec0650.17544202 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
YetiCoin

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-16
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.6.12;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}


/**
 * @dev Collection of functions related to the address type
 */
library Address {

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

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

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 YetiCoin {
    using SafeMath for uint256;
    using Address for address payable;

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

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

    address public _owner;
    address payable public marketing;
    address payable public development;

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

    string private _name = "YetiCoin";
    string private _symbol = "YETIC";
    uint8 private _decimals = 9;

    uint256 public __reflectFee = 1;
    uint256 public __marketingFee = 4;
    uint256 public __developmentFee = 1;
    uint256 public __liquidityFee = 1;
    uint256 public __prev_liquidityFee = 1;

    uint256 public immutable contract_deployed;

    uint256 public _pendingLiquidityFees = 0;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    uint256 public _maxWalletHolding = 25 * 10**12 * 10**9;
    uint256 private numTokensSellToAddToLiquidity = 9 * 10**12 * 10**9;

    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiquidity
    );

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

    modifier onlyOwner() {
       require(_owner == msg.sender, "Caller is not the owner");
       _;
   }

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor (address payable _marketing, address payable _development) public {
      _owner = msg.sender;
      marketing = _marketing;
      development = _development;
      contract_deployed = block.timestamp;
      _rOwned[msg.sender] = _rTotal;
      IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
      uniswapV2Router = _uniswapV2Router;
      uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
      _isExcludedFromFee[msg.sender] = true;
      _isExcludedFromFee[address(this)] = true;
      emit Transfer(address(0), msg.sender, _tTotal);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: 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, "ERC20: decreased allowance below zero"));
        return true;
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function renounceOwnership() public onlyOwner {
        _owner = address(0);
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,,,) = _getValues(tAmount);
            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);
    }

    //this can be called externally by deployer to immediately process accumulated fees accordingly (distribute to treasury & liquidity)
    function manualSwapAndLiquify() public onlyOwner() {
        uint256 contractTokenBalance = balanceOf(address(this));
        swapAndLiquify(contractTokenBalance);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

     //to receive ETH from uniswapV2Router when swaping
    receive() external payable {}

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256) {
        uint256[4] memory tValues = _getTValuesArray(tAmount);
        uint256[3] memory rValues = _getRValuesArray(tAmount, tValues[1], tValues[2], tValues[3]);
        return (rValues[0], rValues[1], rValues[2], tValues[0], tValues[1], tValues[2], tValues[3]);
    }

    function _getTValuesArray(uint256 tAmount) private view returns (uint256[4] memory val) {
        uint256 tFee = calculateTaxFee(tAmount);
        uint256 tLiquidity = calculateLiquidityFee(tAmount);
        uint256 tOperations = calculateOperationsFee(tAmount);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tLiquidity).sub(tOperations);
        return [tTransferAmount, tFee, tLiquidity, tOperations];
    }

    function _getRValuesArray(uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 tOperations) private view returns (uint256[3] memory val) {
        uint256 currentRate = _getRate();
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(tLiquidity.mul(currentRate)).sub(tOperations.mul(currentRate));
        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;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _takeLiquidity(uint256 tLiquidity) private {
        uint256 currentRate =  _getRate();
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity);
        _pendingLiquidityFees = _pendingLiquidityFees.add(tLiquidity);
    }

    function _takeOperations(uint256 tOperations) private {
        uint256 currentRate =  _getRate();
        uint256 rOperations = tOperations.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rOperations);
    }

    function calculateTaxFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(__reflectFee).div(
            10**2
        );
    }

    function calculateLiquidityFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(__liquidityFee).div(
            10**2
        );
    }

    function calculateOperationsFee(uint256 _amount) private view returns (uint256) {
        uint256 operations_fee = __marketingFee.add(__developmentFee);
        return _amount.mul(operations_fee).div(
            10**2
        );
    }

    function removeAllFee() private {
        __prev_liquidityFee = __liquidityFee;

        __reflectFee = 0;
        __liquidityFee = 0;
        __marketingFee = 0;
        __developmentFee = 0;
    }

    function restoreAllFee() private {
        __reflectFee = 1;
        __liquidityFee = __prev_liquidityFee;
        __marketingFee = 4;
        __developmentFee = 1;
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if ((contract_deployed + 30 days) < block.timestamp) {
          __liquidityFee = 0;
          __prev_liquidityFee = 0;
        }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity;
        if (
            overMinTokenBalance &&
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled
        ) {
            swapAndLiquify(contractTokenBalance);
        }

        //indicates if fee should be deducted from transfer
        bool takeFee = true;

        //if any account belongs to _isExcludedFromFee account then remove the fee
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }

        bool isTransferBuy = from == uniswapV2Pair;
        bool isTransferSell = to == uniswapV2Pair;
        if (!isTransferBuy && !isTransferSell) takeFee = false;

        _tokenTransfer(from,to,amount,takeFee);

        restoreAllFee();
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        uint256 liquidityPart = 0;
        if (_pendingLiquidityFees < contractTokenBalance) liquidityPart = _pendingLiquidityFees;
        uint256 distributionPart = contractTokenBalance.sub(liquidityPart);
        uint256 liquidityHalfPart = liquidityPart.div(2);
        uint256 liquidityHalfTokenPart = liquidityPart.sub(liquidityHalfPart);

        //now swapping half of the liquidity part + all of the distribution part into ETH
        uint256 totalETHSwap = liquidityHalfPart.add(distributionPart);

        uint256 initialBalance = address(this).balance;

        // swap tokens for ETH
        swapTokensForEth(totalETHSwap);

        uint256 newBalance = address(this).balance.sub(initialBalance);
        uint256 liquidityBalance = liquidityHalfPart.mul(newBalance).div(totalETHSwap);

        // add liquidity to uniswap
        if (liquidityHalfTokenPart > 0 && liquidityBalance > 0) addLiquidity(liquidityHalfTokenPart, liquidityBalance);
        emit SwapAndLiquify(liquidityHalfPart, liquidityBalance, liquidityHalfPart);

        newBalance = address(this).balance;
        payDistribution(newBalance);
        _pendingLiquidityFees = 0;
    }

    function swapTokensForEth(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 ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            marketing,
            block.timestamp
        );
    }

    function payDistribution(uint256 distrib) private {
      uint256 marketingPart = distrib.mul(__marketingFee).div(__marketingFee.add(__developmentFee));
      marketing.sendValue(marketingPart);
      development.sendValue(distrib.sub(marketingPart));
    }

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
        if(!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!_isExcludedFromFee[recipient] && (recipient != uniswapV2Pair)) require(balanceOf(recipient) < _maxWalletHolding, "Max Wallet holding limit exceeded");
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tOperations) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeLiquidity(tLiquidity);
        _takeOperations(tOperations);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_marketing","type":"address"},{"internalType":"address payable","name":"_development","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"__developmentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"__prev_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"__reflectFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletHolding","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pendingLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contract_deployed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"development","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","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":[],"name":"manualSwapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"},{"stateMutability":"payable","type":"receive"}]

60e060405269d3c21bcecceda1000000600755600754600019816200002057fe5b06600019036008556040518060400160405280600881526020017f59657469436f696e000000000000000000000000000000000000000000000000815250600a90805190602001906200007592919062000605565b506040518060400160405280600581526020017f5945544943000000000000000000000000000000000000000000000000000000815250600b9080519060200190620000c392919062000605565b506009600c60006101000a81548160ff021916908360ff1602179055506001600d556004600e556001600f556001601055600160115560006012556001601360016101000a81548160ff02191690831515021790555069054b40b1f852bda000006014556901e7e4171bf4d3a000006015553480156200014257600080fd5b506040516200383338038062003833833981810160405260408110156200016857600080fd5b81019080805190602001909291908051906020019092919050505033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042608081815250506008546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032a57600080fd5b505afa1580156200033f573d6000803e3d6000fd5b505050506040513d60208110156200035657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ca57600080fd5b505afa158015620003df573d6000803e3d6000fd5b505050506040513d6020811015620003f657600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200047157600080fd5b505af115801562000486573d6000803e3d6000fd5b505050506040513d60208110156200049d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040518082815260200191505060405180910390a3505050620006ab565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200064857805160ff191683800117855562000679565b8280016001018555821562000679579182015b82811115620006785782518255916020019190600101906200065b565b5b5090506200068891906200068c565b5090565b5b80821115620006a75760008160009055506001016200068d565b5090565b60805160a05160601c60c05160601c6131236200071060003980610f1c528061197d5280611aa85280611afb5280612024525080610be852806124575280612543528061256a52806126fb52806127225250806114e6528061190c52506131236000f3fe6080604052600436106101e75760003560e01c8063715018a611610102578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e14610a16578063ebdb05f914610a9b578063ee3922cc14610ac6578063f499133514610af1576101ee565b8063a9059cbb146108fc578063b2bdfa7b1461096d578063c49b9a80146109ae578063dac8bf5b146109eb576101ee565b8063866435c5116100d1578063866435c5146107a557806395d89b41146107d05780639c2c61e514610860578063a457c2d71461088b576101ee565b8063715018a61461070b578063733b864f146107225780637b929c271461073957806384ccb5751461077a576101ee565b8063313ce5671161017a5780634a74bb02116101495780634a74bb02146105e75780635342acb41461061457806359c041251461067b57806370a08231146106a6576101ee565b8063313ce567146104ac57806339509351146104da5780634549b0391461054b57806349bd5a5e146105a6576101ee565b806318160ddd116101b657806318160ddd1461036057806323b872dd1461038b5780632d3e474a1461041c5780632d8381191461045d576101ee565b806306fdde03146101f3578063095ea7b31461028357806313114a9d146102f45780631694505e1461031f576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610b1c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024857808201518184015260208101905061022d565b50505050905090810190601f1680156102755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028f57600080fd5b506102dc600480360360408110156102a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bbe565b60405180821515815260200191505060405180910390f35b34801561030057600080fd5b50610309610bdc565b6040518082815260200191505060405180910390f35b34801561032b57600080fd5b50610334610be6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036c57600080fd5b50610375610c0a565b6040518082815260200191505060405180910390f35b34801561039757600080fd5b50610404600480360360608110156103ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c14565b60405180821515815260200191505060405180910390f35b34801561042857600080fd5b50610431610ced565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046957600080fd5b506104966004803603602081101561048057600080fd5b8101908080359060200190929190505050610d13565b6040518082815260200191505060405180910390f35b3480156104b857600080fd5b506104c1610d97565b604051808260ff16815260200191505060405180910390f35b3480156104e657600080fd5b50610533600480360360408110156104fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dae565b60405180821515815260200191505060405180910390f35b34801561055757600080fd5b506105906004803603604081101561056e57600080fd5b8101908080359060200190929190803515159060200190929190505050610e61565b6040518082815260200191505060405180910390f35b3480156105b257600080fd5b506105bb610f1a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105f357600080fd5b506105fc610f3e565b60405180821515815260200191505060405180910390f35b34801561062057600080fd5b506106636004803603602081101561063757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f51565b60405180821515815260200191505060405180910390f35b34801561068757600080fd5b50610690610fa7565b6040518082815260200191505060405180910390f35b3480156106b257600080fd5b506106f5600480360360208110156106c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fad565b6040518082815260200191505060405180910390f35b34801561071757600080fd5b50610720610ffd565b005b34801561072e57600080fd5b50610737611104565b005b34801561074557600080fd5b5061074e6111e0565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561078657600080fd5b5061078f611206565b6040518082815260200191505060405180910390f35b3480156107b157600080fd5b506107ba61120c565b6040518082815260200191505060405180910390f35b3480156107dc57600080fd5b506107e5611212565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561082557808201518184015260208101905061080a565b50505050905090810190601f1680156108525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561086c57600080fd5b506108756112b4565b6040518082815260200191505060405180910390f35b34801561089757600080fd5b506108e4600480360360408110156108ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112ba565b60405180821515815260200191505060405180910390f35b34801561090857600080fd5b506109556004803603604081101561091f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611387565b60405180821515815260200191505060405180910390f35b34801561097957600080fd5b506109826113a5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109ba57600080fd5b506109e9600480360360208110156109d157600080fd5b810190808035151590602001909291905050506113cb565b005b3480156109f757600080fd5b50610a006114e4565b6040518082815260200191505060405180910390f35b348015610a2257600080fd5b50610a8560048036036040811015610a3957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611508565b6040518082815260200191505060405180910390f35b348015610aa757600080fd5b50610ab061158f565b6040518082815260200191505060405180910390f35b348015610ad257600080fd5b50610adb611595565b6040518082815260200191505060405180910390f35b348015610afd57600080fd5b50610b0661159b565b6040518082815260200191505060405180910390f35b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bb45780601f10610b8957610100808354040283529160200191610bb4565b820191906000526020600020905b815481529060010190602001808311610b9757829003601f168201915b5050505050905090565b6000610bd2610bcb6115a1565b84846115a9565b6001905092915050565b6000600954905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600754905090565b6000610c218484846117a0565b610ce284610c2d6115a1565b610cdd8560405180606001604052806028815260200161300e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c936115a1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7e9092919063ffffffff16565b6115a9565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600854821115610d70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612f67602a913960400191505060405180910390fd5b6000610d7a611c3e565b9050610d8f8184611c6990919063ffffffff16565b915050919050565b6000600c60009054906101000a900460ff16905090565b6000610e57610dbb6115a1565b84610e528560026000610dcc6115a1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb390919063ffffffff16565b6115a9565b6001905092915050565b6000600754831115610edb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610efc576000610eeb84611d3b565b505050505050905080915050610f14565b6000610f0784611d3b565b5050505050915050809150505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b601360019054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600e5481565b6000610ff66000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d13565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b60006111d230610fad565b90506111dd81611e3b565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60125481565b6060600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112aa5780601f1061127f576101008083540402835291602001916112aa565b820191906000526020600020905b81548152906001019060200180831161128d57829003601f168201915b5050505050905090565b600f5481565b600061137d6112c76115a1565b84611378856040518060600160405280602581526020016130a860259139600260006112f16115a1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7e9092919063ffffffff16565b6115a9565b6001905092915050565b600061139b6113946115a1565b84846117a0565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461148e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b80601360016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405180821515815260200191505060405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d5481565b60105481565b60145481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561162f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806130846024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116b5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f916022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061305f6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612f446023913960400191505060405180910390fd5b60008111611905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806130366029913960400191505060405180910390fd5b4262278d007f000000000000000000000000000000000000000000000000000000000000000001101561194357600060108190555060006011819055505b600061194e30610fad565b9050600060155482101590508080156119745750601360009054906101000a900460ff16155b80156119cc57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119e45750601360019054906101000a900460ff165b156119f3576119f282611e3b565b5b600060019050600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a9a5750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611aa457600090505b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614905081158015611b56575080155b15611b6057600092505b611b6c88888886611fb4565b611b746120e1565b5050505050505050565b6000838311158290611c2b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bf0578082015181840152602081019050611bd5565b50505050905090810190601f168015611c1d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000806000611c4b612104565b91509150611c628183611c6990919063ffffffff16565b9250505090565b6000611cab83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612151565b905092915050565b600080828401905083811015611d31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000806000806000806000611d4e612eff565b611d5789612217565b9050611d61612f21565b611da08a83600160048110611d7257fe5b602002015184600260048110611d8457fe5b602002015185600360048110611d9657fe5b60200201516122ad565b905080600060038110611daf57fe5b602002015181600160038110611dc157fe5b602002015182600260038110611dd357fe5b602002015184600060048110611de557fe5b602002015185600160048110611df757fe5b602002015186600260048110611e0957fe5b602002015187600360048110611e1b57fe5b602002015198509850985098509850985098505050919395979092949650565b6001601360006101000a81548160ff0219169083151502179055506000816012541015611e685760125490505b6000611e7d828461237790919063ffffffff16565b90506000611e95600284611c6990919063ffffffff16565b90506000611eac828561237790919063ffffffff16565b90506000611ec38484611cb390919063ffffffff16565b90506000479050611ed3826123c1565b6000611ee8824761237790919063ffffffff16565b90506000611f1184611f03848961266f90919063ffffffff16565b611c6990919063ffffffff16565b9050600085118015611f235750600081115b15611f3357611f3285826126f5565b5b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56186828860405180848152602001838152602001828152602001935050505060405180910390a1479150611f8682612861565b600060128190555050505050505050506000601360006101000a81548160ff02191690831515021790555050565b80611fc257611fc161294e565b5b611fcd848484612979565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561207357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120db5760145461208484610fad565b106120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806130cd6021913960400191505060405180910390fd5b5b50505050565b6001600d819055506011546010819055506004600e819055506001600f81905550565b600080600060085490506000600754905061212c600754600854611c6990919063ffffffff16565b8210156121445760085460075493509350505061214d565b81819350935050505b9091565b600080831182906121fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156121c25780820151818401526020810190506121a7565b50505050905090810190601f1680156121ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161220957fe5b049050809150509392505050565b61221f612eff565b600061222a83612b4e565b9050600061223784612b7f565b9050600061224485612bb0565b9050600061227f8261227185612263888b61237790919063ffffffff16565b61237790919063ffffffff16565b61237790919063ffffffff16565b9050604051806080016040528082815260200185815260200184815260200183815250945050505050919050565b6122b5612f21565b60006122bf611c3e565b905060006122d6828861266f90919063ffffffff16565b905060006122ed838861266f90919063ffffffff16565b9050600061234c612307858861266f90919063ffffffff16565b61233e61231d878b61266f90919063ffffffff16565b612330868861237790919063ffffffff16565b61237790919063ffffffff16565b61237790919063ffffffff16565b9050604051806060016040528084815260200182815260200183815250945050505050949350505050565b60006123b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b7e565b905092915050565b6060600267ffffffffffffffff811180156123db57600080fd5b5060405190808252806020026020018201604052801561240a5781602001602082028036833780820191505090505b509050308160008151811061241b57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156124bb57600080fd5b505afa1580156124cf573d6000803e3d6000fd5b505050506040513d60208110156124e557600080fd5b81019080805190602001909291905050508160018151811061250357fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612568307f0000000000000000000000000000000000000000000000000000000000000000846115a9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561262a57808201518184015260208101905061260f565b505050509050019650505050505050600060405180830381600087803b15801561265357600080fd5b505af1158015612667573d6000803e3d6000fd5b505050505050565b60008083141561268257600090506126ef565b600082840290508284828161269357fe5b04146126ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fed6021913960400191505060405180910390fd5b809150505b92915050565b612720307f0000000000000000000000000000000000000000000000000000000000000000846115a9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561280a57600080fd5b505af115801561281e573d6000803e3d6000fd5b50505050506040513d606081101561283557600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050505050565b60006128a061287d600f54600e54611cb390919063ffffffff16565b612892600e548561266f90919063ffffffff16565b611c6990919063ffffffff16565b90506128ed81600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612bfa90919063ffffffff16565b61294a612903828461237790919063ffffffff16565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612bfa90919063ffffffff16565b5050565b6010546011819055506000600d8190555060006010819055506000600e819055506000600f81905550565b600080600080600080600061298d88611d3b565b96509650965096509650965096506129ec876000808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237790919063ffffffff16565b6000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a7f866000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb390919063ffffffff16565b6000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612aca82612d34565b612ad381612e0a565b612add8584612ec5565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a350505050505050505050565b6000612b786064612b6a600d548561266f90919063ffffffff16565b611c6990919063ffffffff16565b9050919050565b6000612ba96064612b9b6010548561266f90919063ffffffff16565b611c6990919063ffffffff16565b9050919050565b600080612bca600f54600e54611cb390919063ffffffff16565b9050612bf26064612be4838661266f90919063ffffffff16565b611c6990919063ffffffff16565b915050919050565b80471015612c70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a20696e73756666696369656e742062616c616e636500000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612cd0576040519150601f19603f3d011682016040523d82523d6000602084013e612cd5565b606091505b5050905080612d2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612fb3603a913960400191505060405180910390fd5b505050565b6000612d3e611c3e565b90506000612d55828461266f90919063ffffffff16565b9050612da8816000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb390919063ffffffff16565b6000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dff83601254611cb390919063ffffffff16565b601281905550505050565b6000612e14611c3e565b90506000612e2b828461266f90919063ffffffff16565b9050612e7e816000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb390919063ffffffff16565b6000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612eda8260085461237790919063ffffffff16565b600881905550612ef581600954611cb390919063ffffffff16565b6009819055505050565b6040518060800160405280600490602082028036833780820191505090505090565b604051806060016040528060039060208202803683378082019150509050509056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4d61782057616c6c657420686f6c64696e67206c696d6974206578636565646564a26469706673582212205d888afb004192d6a567fd1282f89e9cb4199e45c379b0da3b816697632fef0564736f6c634300060c0033000000000000000000000000e83dad9699ddee458868c12cc62956a27f7a01080000000000000000000000001fd8e0d94dba807393c7d05c61b6d3f796bec065

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

000000000000000000000000e83dad9699ddee458868c12cc62956a27f7a01080000000000000000000000001fd8e0d94dba807393c7d05c61b6d3f796bec065

-----Decoded View---------------
Arg [0] : _marketing (address): 0xe83dad9699ddee458868c12cc62956a27f7a0108
Arg [1] : _development (address): 0x1fd8e0d94dba807393c7d05c61b6d3f796bec065

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000e83dad9699ddee458868c12cc62956a27f7a0108
Arg [1] : 0000000000000000000000001fd8e0d94dba807393c7d05c61b6d3f796bec065


Deployed ByteCode Sourcemap

10861:15129:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13696:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14512:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15487:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12081:51;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13973:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14672:304;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11386:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16120:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13882:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14984:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15674:438;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12139:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12214:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20425:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11812:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14067:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15582:84;;;;;;;;;;;;;:::i;:::-;;16519:172;;;;;;;;;;;;;:::i;:::-;;11425:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11934:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12032:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13787:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11852:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15210:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14204:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11358:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16699:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11981:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14370:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11774:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11894:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12263:54;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13696:83;13733:13;13766:5;13759:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13696:83;:::o;14512:152::-;14578:4;14595:39;14604:12;:10;:12::i;:::-;14618:7;14627:6;14595:8;:39::i;:::-;14652:4;14645:11;;14512:152;;;;:::o;15487:87::-;15529:7;15556:10;;15549:17;;15487:87;:::o;12081:51::-;;;:::o;13973:86::-;14017:7;14044;;14037:14;;13973:86;:::o;14672:304::-;14761:4;14778:36;14788:6;14796:9;14807:6;14778:9;:36::i;:::-;14825:121;14834:6;14842:12;:10;:12::i;:::-;14856:89;14894:6;14856:89;;;;;;;;;;;;;;;;;:11;:19;14868:6;14856:19;;;;;;;;;;;;;;;:33;14876:12;:10;:12::i;:::-;14856:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14825:8;:121::i;:::-;14964:4;14957:11;;14672:304;;;;;:::o;11386:32::-;;;;;;;;;;;;;:::o;16120:253::-;16186:7;16225;;16214;:18;;16206:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16290:19;16313:10;:8;:10::i;:::-;16290:33;;16341:24;16353:11;16341:7;:11;;:24;;;;:::i;:::-;16334:31;;;16120:253;;;:::o;13882:83::-;13923:5;13948:9;;;;;;;;;;;13941:16;;13882:83;:::o;14984:218::-;15072:4;15089:83;15098:12;:10;:12::i;:::-;15112:7;15121:50;15160:10;15121:11;:25;15133:12;:10;:12::i;:::-;15121:25;;;;;;;;;;;;;;;:34;15147:7;15121:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;15089:8;:83::i;:::-;15190:4;15183:11;;14984:218;;;;:::o;15674:438::-;15764:7;15803;;15792;:18;;15784:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15862:17;15857:248;;15897:15;15922:19;15933:7;15922:10;:19::i;:::-;15896:45;;;;;;;;15963:7;15956:14;;;;;15857:248;16005:23;16037:19;16048:7;16037:10;:19::i;:::-;16003:53;;;;;;;;16078:15;16071:22;;;15674:438;;;;;:::o;12139:38::-;;;:::o;12214:40::-;;;;;;;;;;;;;:::o;20425:123::-;20489:4;20513:18;:27;20532:7;20513:27;;;;;;;;;;;;;;;;;;;;;;;;;20506:34;;20425:123;;;:::o;11812:33::-;;;;:::o;14067:129::-;14124:7;14151:37;14171:7;:16;14179:7;14171:16;;;;;;;;;;;;;;;;14151:19;:37::i;:::-;14144:44;;14067:129;;;:::o;15582:84::-;12821:10;12811:20;;:6;;;;;;;;;;;:20;;;12803:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15656:1:::1;15639:6;;:19;;;;;;;;;;;;;;;;;;15582:84::o:0;16519:172::-;12821:10;12811:20;;:6;;;;;;;;;;;:20;;;12803:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16581:28:::1;16612:24;16630:4;16612:9;:24::i;:::-;16581:55;;16647:36;16662:20;16647:14;:36::i;:::-;12869:1;16519:172::o:0;11425:34::-;;;;;;;;;;;;;:::o;11934:38::-;;;;:::o;12032:40::-;;;;:::o;13787:87::-;13826:13;13859:7;13852:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13787:87;:::o;11852:35::-;;;;:::o;15210:269::-;15303:4;15320:129;15329:12;:10;:12::i;:::-;15343:7;15352:96;15391:15;15352:96;;;;;;;;;;;;;;;;;:11;:25;15364:12;:10;:12::i;:::-;15352:25;;;;;;;;;;;;;;;:34;15378:7;15352:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;15320:8;:129::i;:::-;15467:4;15460:11;;15210:269;;;;:::o;14204:158::-;14273:4;14290:42;14300:12;:10;:12::i;:::-;14314:9;14325:6;14290:9;:42::i;:::-;14350:4;14343:11;;14204:158;;;;:::o;11358:21::-;;;;;;;;;;;;;:::o;16699:171::-;12821:10;12811:20;;:6;;;;;;;;;;;:20;;;12803:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16800:8:::1;16776:21;;:32;;;;;;;;;;;;;;;;;;16824:38;16853:8;16824:38;;;;;;;;;;;;;;;;;;;;16699:171:::0;:::o;11981:42::-;;;:::o;14370:134::-;14442:7;14469:11;:18;14481:5;14469:18;;;;;;;;;;;;;;;:27;14488:7;14469:27;;;;;;;;;;;;;;;;14462:34;;14370:134;;;;:::o;11774:31::-;;;;:::o;11894:33::-;;;;:::o;12263:54::-;;;;:::o;12658:106::-;12711:15;12745:10;12738:17;;12658:106;:::o;20556:337::-;20666:1;20649:19;;:5;:19;;;;20641:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20747:1;20728:21;;:7;:21;;;;20720:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20831:6;20801:11;:18;20813:5;20801:18;;;;;;;;;;;;;;;:27;20820:7;20801:27;;;;;;;;;;;;;;;:36;;;;20869:7;20853:32;;20862:5;20853:32;;;20878:6;20853:32;;;;;;;;;;;;;;;;;;20556:337;;;:::o;20901:1411::-;21039:1;21023:18;;:4;:18;;;;21015:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21116:1;21102:16;;:2;:16;;;;21094:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21186:1;21177:6;:10;21169:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21280:15;21269:7;21249:17;:27;21248:47;21244:132;;;21327:1;21310:14;:18;;;;21363:1;21341:19;:23;;;;21244:132;21388:28;21419:24;21437:4;21419:9;:24::i;:::-;21388:55;;21456:24;21507:29;;21483:20;:53;;21456:80;;21565:19;:53;;;;;21602:16;;;;;;;;;;;21601:17;21565:53;:91;;;;;21643:13;21635:21;;:4;:21;;;;21565:91;:129;;;;;21673:21;;;;;;;;;;;21565:129;21547:222;;;21721:36;21736:20;21721:14;:36::i;:::-;21547:222;21842:12;21857:4;21842:19;;21961:18;:24;21980:4;21961:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;21989:18;:22;22008:2;21989:22;;;;;;;;;;;;;;;;;;;;;;;;;21961:50;21958:96;;;22037:5;22027:15;;21958:96;22066:18;22095:13;22087:21;;:4;:21;;;22066:42;;22119:19;22147:13;22141:19;;:2;:19;;;22119:41;;22176:13;22175:14;:33;;;;;22194:14;22193:15;22175:33;22171:54;;;22220:5;22210:15;;22171:54;22238:38;22253:4;22258:2;22261:6;22268:7;22238:14;:38::i;:::-;22289:15;:13;:15::i;:::-;20901:1411;;;;;;;;:::o;1813:192::-;1899:7;1932:1;1927;:6;;1935:12;1919:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1959:9;1975:1;1971;:5;1959:17;;1996:1;1989:8;;;1813:192;;;;;:::o;18437:163::-;18478:7;18499:15;18516;18535:19;:17;:19::i;:::-;18498:56;;;;18572:20;18584:7;18572;:11;;:20;;;;:::i;:::-;18565:27;;;;18437:163;:::o;3211:132::-;3269:7;3296:39;3300:1;3303;3296:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3289:46;;3211:132;;;;:::o;910:181::-;968:7;988:9;1004:1;1000;:5;988:17;;1029:1;1024;:6;;1016:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1082:1;1075:8;;;910:181;;;;:::o;17127:396::-;17186:7;17195;17204;17213;17222;17231;17240;17260:25;;:::i;:::-;17288;17305:7;17288:16;:25::i;:::-;17260:53;;17324:25;;:::i;:::-;17352:61;17369:7;17378;17386:1;17378:10;;;;;;;;;;;17390:7;17398:1;17390:10;;;;;;;;;;;17402:7;17410:1;17402:10;;;;;;;;;;;17352:16;:61::i;:::-;17324:89;;17432:7;17440:1;17432:10;;;;;;;;;;;17444:7;17452:1;17444:10;;;;;;;;;;;17456:7;17464:1;17456:10;;;;;;;;;;;17468:7;17476:1;17468:10;;;;;;;;;;;17480:7;17488:1;17480:10;;;;;;;;;;;17492:7;17500:1;17492:10;;;;;;;;;;;17504:7;17512:1;17504:10;;;;;;;;;;;17424:91;;;;;;;;;;;;;;;;17127:396;;;;;;;;;:::o;22320:1263::-;12936:4;12917:16;;:23;;;;;;;;;;;;;;;;;;22405:21:::1;22469:20;22445:21;;:44;22441:87;;;22507:21;;22491:37;;22441:87;22539:24;22566:39;22591:13;22566:20;:24;;:39;;;;:::i;:::-;22539:66;;22616:25;22644:20;22662:1;22644:13;:17;;:20;;;;:::i;:::-;22616:48;;22675:30;22708:36;22726:17;22708:13;:17;;:36;;;;:::i;:::-;22675:69;;22848:20;22871:39;22893:16;22871:17;:21;;:39;;;;:::i;:::-;22848:62;;22923:22;22948:21;22923:46;;23014:30;23031:12;23014:16;:30::i;:::-;23057:18;23078:41;23104:14;23078:21;:25;;:41;;;;:::i;:::-;23057:62;;23130:24;23157:51;23195:12;23157:33;23179:10;23157:17;:21;;:33;;;;:::i;:::-;:37;;:51;;;;:::i;:::-;23130:78;;23287:1;23262:22;:26;:50;;;;;23311:1;23292:16;:20;23262:50;23258:110;;;23314:54;23327:22;23351:16;23314:12;:54::i;:::-;23258:110;23384:70;23399:17;23418:16;23436:17;23384:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23480:21;23467:34;;23512:27;23528:10;23512:15;:27::i;:::-;23574:1;23550:21;:25;;;;12951:1;;;;;;;;12982:5:::0;12963:16;;:24;;;;;;;;;;;;;;;;;;22320:1263;:::o;25053:362::-;25164:7;25160:27;;25173:14;:12;:14::i;:::-;25160:27;25198:44;25216:6;25224:9;25235:6;25198:17;:44::i;:::-;25258:18;:29;25277:9;25258:29;;;;;;;;;;;;;;;;;;;;;;;;;25257:30;:62;;;;;25305:13;25292:26;;:9;:26;;;;25257:62;25253:154;;;25352:17;;25329:20;25339:9;25329;:20::i;:::-;:40;25321:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25253:154;25053:362;;;;:::o;20242:175::-;20301:1;20286:12;:16;;;;20330:19;;20313:14;:36;;;;20377:1;20360:14;:18;;;;20408:1;20389:16;:20;;;;20242:175::o;18608:256::-;18658:7;18667;18687:15;18705:7;;18687:25;;18723:15;18741:7;;18723:25;;18773:20;18785:7;;18773;;:11;;:20;;;;:::i;:::-;18763:7;:30;18759:61;;;18803:7;;18812;;18795:25;;;;;;;;18759:61;18839:7;18848;18831:25;;;;;;18608:256;;;:::o;3839:278::-;3925:7;3957:1;3953;:5;3960:12;3945:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3984:9;4000:1;3996;:5;;;;;;3984:17;;4108:1;4101:8;;;3839:278;;;;;:::o;17531:425::-;17596:21;;:::i;:::-;17630:12;17645:24;17661:7;17645:15;:24::i;:::-;17630:39;;17680:18;17701:30;17723:7;17701:21;:30::i;:::-;17680:51;;17742:19;17764:31;17787:7;17764:22;:31::i;:::-;17742:53;;17806:23;17832:50;17870:11;17832:33;17854:10;17832:17;17844:4;17832:7;:11;;:17;;;;:::i;:::-;:21;;:33;;;;:::i;:::-;:37;;:50;;;;:::i;:::-;17806:76;;17893:55;;;;;;;;17901:15;17893:55;;;;17918:4;17893:55;;;;17924:10;17893:55;;;;17936:11;17893:55;;;;;;;;;17531:425;;;:::o;17964:465::-;18084:21;;:::i;:::-;18118:19;18140:10;:8;:10::i;:::-;18118:32;;18161:15;18179:24;18191:11;18179:7;:11;;:24;;;;:::i;:::-;18161:42;;18214:12;18229:21;18238:11;18229:4;:8;;:21;;;;:::i;:::-;18214:36;;18261:23;18287:84;18342:28;18358:11;18342;:15;;:28;;;;:::i;:::-;18287:50;18309:27;18324:11;18309:10;:14;;:27;;;;:::i;:::-;18287:17;18299:4;18287:7;:11;;:17;;;;:::i;:::-;:21;;:50;;;;:::i;:::-;:54;;:84;;;;:::i;:::-;18261:110;;18382:39;;;;;;;;18390:7;18382:39;;;;18399:15;18382:39;;;;18416:4;18382:39;;;;;;;;;17964:465;;;;;;:::o;1374:136::-;1432:7;1459:43;1463:1;1466;1459:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1452:50;;1374:136;;;;:::o;23591:589::-;23717:21;23755:1;23741:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23717:40;;23786:4;23768;23773:1;23768:7;;;;;;;;;;;;;:23;;;;;;;;;;;23812:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23802:4;23807:1;23802:7;;;;;;;;;;;;;:32;;;;;;;;;;;23847:62;23864:4;23879:15;23897:11;23847:8;:62::i;:::-;23948:15;:66;;;24029:11;24055:1;24099:4;24126;24146:15;23948:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23591:589;;:::o;2264:471::-;2322:7;2572:1;2567;:6;2563:47;;;2597:1;2590:8;;;;2563:47;2622:9;2638:1;2634;:5;2622:17;;2667:1;2662;2658;:5;;;;;;:10;2650:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:1;2719:8;;;2264:471;;;;;:::o;24188:515::-;24336:62;24353:4;24368:15;24386:11;24336:8;:62::i;:::-;24441:15;:31;;;24480:9;24513:4;24533:11;24559:1;24602;24645:9;;;;;;;;;;;24669:15;24441:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24188:515;;:::o;24711:261::-;24770:21;24794:69;24826:36;24845:16;;24826:14;;:18;;:36;;;;:::i;:::-;24794:27;24806:14;;24794:7;:11;;:27;;;;:::i;:::-;:31;;:69;;;;:::i;:::-;24770:93;;24872:34;24892:13;24872:9;;;;;;;;;;;:19;;;;:34;;;;:::i;:::-;24915:49;24937:26;24949:13;24937:7;:11;;:26;;;;:::i;:::-;24915:11;;;;;;;;;;;:21;;;;:49;;;;:::i;:::-;24711:261;;:::o;20029:205::-;20094:14;;20072:19;:36;;;;20136:1;20121:12;:16;;;;20165:1;20148:14;:18;;;;20194:1;20177:14;:18;;;;20225:1;20206:16;:20;;;;20029:205::o;25423:562::-;25522:15;25539:23;25564:12;25578:23;25603:12;25617:18;25637:19;25660;25671:7;25660:10;:19::i;:::-;25521:158;;;;;;;;;;;;;;25708:28;25728:7;25708;:15;25716:6;25708:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25690:7;:15;25698:6;25690:15;;;;;;;;;;;;;;;:46;;;;25768:39;25791:15;25768:7;:18;25776:9;25768:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25747:7;:18;25755:9;25747:18;;;;;;;;;;;;;;;:60;;;;25818:26;25833:10;25818:14;:26::i;:::-;25855:28;25871:11;25855:15;:28::i;:::-;25894:23;25906:4;25912;25894:11;:23::i;:::-;25950:9;25933:44;;25942:6;25933:44;;;25961:15;25933:44;;;;;;;;;;;;;;;;;;25423:562;;;;;;;;;;:::o;19439:159::-;19503:7;19530:60;19574:5;19530:25;19542:12;;19530:7;:11;;:25;;;;:::i;:::-;:29;;:60;;;;:::i;:::-;19523:67;;19439:159;;;:::o;19606:167::-;19676:7;19703:62;19749:5;19703:27;19715:14;;19703:7;:11;;:27;;;;:::i;:::-;:31;;:62;;;;:::i;:::-;19696:69;;19606:167;;;:::o;19781:240::-;19852:7;19872:22;19897:36;19916:16;;19897:14;;:18;;:36;;;;:::i;:::-;19872:61;;19951:62;19997:5;19951:27;19963:14;19951:7;:11;;:27;;;;:::i;:::-;:31;;:62;;;;:::i;:::-;19944:69;;;19781:240;;;:::o;5468:397::-;5583:6;5558:21;:31;;5550:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5715:12;5733:9;:14;;5756:6;5733:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5714:54;;;5787:7;5779:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5468:397;;;:::o;18872:309::-;18935:19;18958:10;:8;:10::i;:::-;18935:33;;18979:18;19000:27;19015:11;19000:10;:14;;:27;;;;:::i;:::-;18979:48;;19063:38;19090:10;19063:7;:22;19079:4;19063:22;;;;;;;;;;;;;;;;:26;;:38;;;;:::i;:::-;19038:7;:22;19054:4;19038:22;;;;;;;;;;;;;;;:63;;;;19136:37;19162:10;19136:21;;:25;;:37;;;;:::i;:::-;19112:21;:61;;;;18872:309;;;:::o;19189:242::-;19254:19;19277:10;:8;:10::i;:::-;19254:33;;19298:19;19320:28;19336:11;19320;:15;;:28;;;;:::i;:::-;19298:50;;19384:39;19411:11;19384:7;:22;19400:4;19384:22;;;;;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;19359:7;:22;19375:4;19359:22;;;;;;;;;;;;;;;:64;;;;19189:242;;;:::o;16972:147::-;17050:17;17062:4;17050:7;;:11;;:17;;;;:::i;:::-;17040:7;:27;;;;17091:20;17106:4;17091:10;;:14;;:20;;;;:::i;:::-;17078:10;:33;;;;16972:147;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://5d888afb004192d6a567fd1282f89e9cb4199e45c379b0da3b816697632fef05
Block Transaction Difficulty Gas Used Reward
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.

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.