Contract 0x96ac1e773677fa02726b5a670ca96a7adf7f8523 1

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x774b3723025b2f9272c757d2152ba82333528c448456672be701d430f6493eb3Approve145598852022-01-21 13:26:039 hrs 19 mins ago0x1af6c1db4acb88ac66b1902815d504702876fb47 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x9a3dccfe867ab46cbd9fe296afc326002981a0af1fc784e1c47d819e9f89b328Approve145373392022-01-20 18:37:181 day 4 hrs ago0xbf3966ca41504a4a9369b9b631366aa15ff48e2a IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x4355a6944e725aa0f308c8a5c6c1515ad9dc52aa4a9e72cae8ce0191170b5ee5Approve145293112022-01-20 11:55:101 day 10 hrs ago0x391a3c020adc69bfe285201b7b03642141d208f4 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.000077770665
0xe272d6de89d908e4da10b84931330a5e756bd998d1b939e41721c76d4f646007Approve145178692022-01-20 2:23:031 day 20 hrs ago0xb44b2271d62717334a60abd2b09f74b01c6f6e5e IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.000072615
0xaae080a34ab7bfc908c5e45c9596fac2f5c34c53bf6c61ce511a804cd21fa225Approve145038132022-01-19 14:38:452 days 8 hrs ago0xfb009e98a7a454f259399715bf686221a2b41d60 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x994219e2f5f5e692498acff8c114c71617ccace20345a25ea2a99f238ee47f3dApprove144784782022-01-18 17:26:063 days 5 hrs ago0x0930229282629a7cd9514406d7de77b76397a1bf IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00013305033
0x5c5ffd312a29fcc5976ce45120fd0ea1cbee71712b87be780960bd8dd124229aApprove144742202022-01-18 13:45:563 days 8 hrs ago0xa1a369a7124e8f09eff75e93d658ca14876dafc7 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0xc696b186650214fbcb5dd9c62f942c5744b65e5eed309b87f0012f467ad1c0ceTransfer144673992022-01-18 7:56:083 days 14 hrs ago0x4abdd89db62251b5ae846b55adbe5fb791b298b3 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.001959055
0x78621f6cf80a83368b166b46b08603de44fdece41a4494570f1433d6cf0820d9Approve144471402022-01-17 14:50:534 days 7 hrs ago0x92faf1b750eac2bc203b510d63e045a7b129cc7e IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00031101
0x7dc6c52922255843234023010dfce0beea6cc44464b54c754bf725a372131b44Approve144262462022-01-16 21:18:285 days 1 hr ago0xdd82f9f47f2af05cc307840ed89d4d88fc9fc45f IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.000072615
0x39d75dad0b199084bd599de40fbbfee5e5d5927e01fe1433ba89fdf0639d8b9dApprove144219752022-01-16 17:44:385 days 5 hrs ago0x0741e8704527317350e160481bbb25ee5ffbf82e IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x14d8f392663871f0c7f58141bc5400ff6764e49e3a8d954722618d51cc24bd70Approve144081612022-01-16 6:10:235 days 16 hrs ago0x203b1206dc6e9c68b638bc988f1b9f0e08ba0716 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x19c2dc1e9f2f6e46906cb2a421beddb8ab8db4b1a43dd0ea0eacdf840799c78aApprove144041892022-01-16 2:51:465 days 19 hrs ago0xe4e183a0e722b327322d1e91d38e18b40ccbdbab IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00012615
0xca588fd6659d0788d9253f9b0bfb49feffd17f53beb790f629235ae95aa3aa51Approve144041842022-01-16 2:51:315 days 19 hrs ago0xe4e183a0e722b327322d1e91d38e18b40ccbdbab IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x260d624f452c2e903a213164e1d2d1efffe2f9cec71a4db369295b11c3d74c67Approve143977672022-01-15 21:28:356 days 1 hr ago0x1074c35fdc67b2aa1011e2e2f7db5d5e289a9f71 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0xa80b90150cd567245efd44d696f5e026494f296917a72d80681d5512c5db557bApprove143649962022-01-14 18:06:467 days 4 hrs ago0xbee4c6f4f0be669eca4b5342c511e77389559c56 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.000072615
0x127cf0aa552ce8400371d568b06621cc5ec4df2214df99a1a8c78f9b6040a3a2Approve143083892022-01-12 18:51:059 days 3 hrs ago0xb034c268f557708bf34f193239a679195c7a4047 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x93486d96176d8dc52dc6f09d4659cff4d1d7f21f792bc01f177604b9deab83f0Approve143005322022-01-12 12:17:039 days 10 hrs ago0x086e860f588334f971a6cee78b53a6869a7cb124 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x0aeacb841276d22524001272819c83b1bdbf5a63903866c0ef7cc6d4545507f8Approve142869232022-01-12 0:54:169 days 21 hrs ago0x711f791feb266e31b1c4abf4330f998229171746 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x282eaebc1fc6e82e6e165a9608d672c196d2d46aef182773b977441c0f6dec46Approve142865912022-01-12 0:37:389 days 22 hrs ago0x55c1fc0b9d1d1de667a70d803e22ad8b4759a4ec IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00031101
0x84a01c247bb50b221f0896b3332a85c4fd168fe99ef3ce5eb980c845ad18a7a4Approve142212982022-01-09 18:06:3012 days 4 hrs ago0x4470da444edfe77268ae16f9b7e69053c7c44474 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0x4b83e67ad497b68fe982162ecec9252c2601684a63bd5cb760d2e3e20af00553Approve142202152022-01-09 17:12:2112 days 5 hrs ago0x15da8a2ecfb6921ff5d8c4376b987621b6d76472 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00012615
0x230a329e8ec7e82549d2f3a1ffc08f3d8aa4549bc60b1bc7bc307638e76776f8Approve142202082022-01-09 17:12:0012 days 5 hrs ago0x15da8a2ecfb6921ff5d8c4376b987621b6d76472 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
0xbc51774e97a620d49682f96424df04e6958ec5e58abd2ca6c69838b169980c4bApprove141865502022-01-08 13:07:0013 days 9 hrs ago0x3545aae1a7b96422c9003c63818975ab846bec03 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.000072615
0x4892ab12d9d7526eea34c594ac94ddfb423049703b85c0b010d0de966c9f1a5fApprove141679822022-01-07 21:37:3214 days 1 hr ago0xbb545b9f4bf0f1c8cdd4615573b49a6e219bf813 IN  0x96ac1e773677fa02726b5a670ca96a7adf7f85230 BNB0.00022215
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x171d7191982a4224411be0e6bbb1663d3ca571a1b0f9cd3fe1d14c4a77847591145694632022-01-21 21:26:141 hr 19 mins ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230xd758448eb86ae84642350428cc5073d88af5d8260.000276476510256902 BNB
0x171d7191982a4224411be0e6bbb1663d3ca571a1b0f9cd3fe1d14c4a77847591145694632022-01-21 21:26:141 hr 19 mins ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230x537354ba2b6596947cb3488c0e4d712f0672d47f0.000276476510256902 BNB
0x171d7191982a4224411be0e6bbb1663d3ca571a1b0f9cd3fe1d14c4a77847591145694632022-01-21 21:26:141 hr 19 mins ago PancakeSwap: Router v2 0x96ac1e773677fa02726b5a670ca96a7adf7f85230.000552953020513804 BNB
0xd175715c2f7cfb876279f5540fb5fe28f73d74c0cf7d4a2a1179ded9d81f26fa145656482022-01-21 18:15:244 hrs 30 mins ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230xd758448eb86ae84642350428cc5073d88af5d8260.000960983387776806 BNB
0xd175715c2f7cfb876279f5540fb5fe28f73d74c0cf7d4a2a1179ded9d81f26fa145656482022-01-21 18:15:244 hrs 30 mins ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230x537354ba2b6596947cb3488c0e4d712f0672d47f0.000960983387776806 BNB
0xd175715c2f7cfb876279f5540fb5fe28f73d74c0cf7d4a2a1179ded9d81f26fa145656482022-01-21 18:15:244 hrs 30 mins ago PancakeSwap: Router v2 0x96ac1e773677fa02726b5a670ca96a7adf7f85230.001921966775553612 BNB
0x5e60d2cfbb080b9c163eb9d456276f775173432c68d8660b050459e4c0f4554a145598942022-01-21 13:26:309 hrs 19 mins ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230xd758448eb86ae84642350428cc5073d88af5d8260.007022289850945141 BNB
0x5e60d2cfbb080b9c163eb9d456276f775173432c68d8660b050459e4c0f4554a145598942022-01-21 13:26:309 hrs 19 mins ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230x537354ba2b6596947cb3488c0e4d712f0672d47f0.007022289850945141 BNB
0x5e60d2cfbb080b9c163eb9d456276f775173432c68d8660b050459e4c0f4554a145598942022-01-21 13:26:309 hrs 19 mins ago PancakeSwap: Router v2 0x96ac1e773677fa02726b5a670ca96a7adf7f85230.014044579701890283 BNB
0x997589a8e8798a534d64debad4529a7f32f2f3a361fdb5a0309253b67a0a6bc5145373472022-01-20 18:37:421 day 4 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230xd758448eb86ae84642350428cc5073d88af5d8260.00022343902630047 BNB
0x997589a8e8798a534d64debad4529a7f32f2f3a361fdb5a0309253b67a0a6bc5145373472022-01-20 18:37:421 day 4 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230x537354ba2b6596947cb3488c0e4d712f0672d47f0.00022343902630047 BNB
0x997589a8e8798a534d64debad4529a7f32f2f3a361fdb5a0309253b67a0a6bc5145373472022-01-20 18:37:421 day 4 hrs ago PancakeSwap: Router v2 0x96ac1e773677fa02726b5a670ca96a7adf7f85230.00044687805260094 BNB
0x17958cdd8cd3496171bf40e0d4bc7277dda7cc6f937bc11c8d8003a054ad0b30144742242022-01-18 13:46:083 days 8 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230xd758448eb86ae84642350428cc5073d88af5d8260.000087420845490062 BNB
0x17958cdd8cd3496171bf40e0d4bc7277dda7cc6f937bc11c8d8003a054ad0b30144742242022-01-18 13:46:083 days 8 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230x537354ba2b6596947cb3488c0e4d712f0672d47f0.000087420845490062 BNB
0x17958cdd8cd3496171bf40e0d4bc7277dda7cc6f937bc11c8d8003a054ad0b30144742242022-01-18 13:46:083 days 8 hrs ago PancakeSwap: Router v2 0x96ac1e773677fa02726b5a670ca96a7adf7f85230.000174841690980124 BNB
0xc696b186650214fbcb5dd9c62f942c5744b65e5eed309b87f0012f467ad1c0ce144673992022-01-18 7:56:083 days 14 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230xd758448eb86ae84642350428cc5073d88af5d8260.002628172050511806 BNB
0xc696b186650214fbcb5dd9c62f942c5744b65e5eed309b87f0012f467ad1c0ce144673992022-01-18 7:56:083 days 14 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230x537354ba2b6596947cb3488c0e4d712f0672d47f0.002628172050511806 BNB
0xc696b186650214fbcb5dd9c62f942c5744b65e5eed309b87f0012f467ad1c0ce144673992022-01-18 7:56:083 days 14 hrs ago PancakeSwap: Router v2 0x96ac1e773677fa02726b5a670ca96a7adf7f85230.005256344101023611 BNB
0x9eee2b15d5c6b655924823f98c06f4f341157b034cfc002ded9c73464b3eeb10144219822022-01-16 17:45:015 days 5 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230xd758448eb86ae84642350428cc5073d88af5d8260.002812691409849781 BNB
0x9eee2b15d5c6b655924823f98c06f4f341157b034cfc002ded9c73464b3eeb10144219822022-01-16 17:45:015 days 5 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230x537354ba2b6596947cb3488c0e4d712f0672d47f0.002812691409849781 BNB
0x9eee2b15d5c6b655924823f98c06f4f341157b034cfc002ded9c73464b3eeb10144219822022-01-16 17:45:015 days 5 hrs ago PancakeSwap: Router v2 0x96ac1e773677fa02726b5a670ca96a7adf7f85230.005625382819699562 BNB
0x73ebc45de8b0b4684e7f1c93119dd7e52db01d3963340ef626904f03ced48e69144081712022-01-16 6:10:535 days 16 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230xd758448eb86ae84642350428cc5073d88af5d8260.00319238839768391 BNB
0x73ebc45de8b0b4684e7f1c93119dd7e52db01d3963340ef626904f03ced48e69144081712022-01-16 6:10:535 days 16 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230x537354ba2b6596947cb3488c0e4d712f0672d47f0.00319238839768391 BNB
0x73ebc45de8b0b4684e7f1c93119dd7e52db01d3963340ef626904f03ced48e69144081712022-01-16 6:10:535 days 16 hrs ago PancakeSwap: Router v2 0x96ac1e773677fa02726b5a670ca96a7adf7f85230.00638477679536782 BNB
0xf5ea45d180d67f4a86b1a1ddee34616289c5f8a88b3c65f0e5364ca10372c1b7144042062022-01-16 2:52:375 days 19 hrs ago 0x96ac1e773677fa02726b5a670ca96a7adf7f85230xd758448eb86ae84642350428cc5073d88af5d8260.002162574163450353 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MiniHollywoodDoge

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// $MOLLYDOGE | Mini Hollywood Doge
 
// Telegram: https://t.me/MiniHollywoodDoge
// Go there for details! 

// 80% Liquidity Locked on DX sale.  Private Allocation same price as Presale and Listing
// Although Mini... MOLLYDOGE gonna be Maxi

// Slippage Recommended: 15% +

/**   MM    MM  OOOOO  LL      LL      YY   YY DDDDD    OOOOO    GGGG  EEEEEEE 
 *    MMM  MMM OO   OO LL      LL      YY   YY DD  DD  OO   OO  GG  GG EE      
 *    MM MM MM OO   OO LL      LL       YYYYY  DD   DD OO   OO GG      EEEEE   
 *    MM    MM OO   OO LL      LL        YYY   DD   DD OO   OO GG   GG EE      
 *    MM    MM  OOOO0  LLLLLLL LLLLLLL   YYY   DDDDDD   OOOO0   GGGGGG EEEEEEE 
 *
*/

// SPDX-License-Identifier: Unlicensed


pragma solidity ^0.6.12;

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

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

    interface IERC20 {
        /**
        * @dev Returns the amount of tokens in existence.
        */
        function totalSupply() external view returns (uint256);

        /**
        * @dev Returns the amount of tokens owned by `account`.
        */
        function balanceOf(address account) external view returns (uint256);

        /**
        * @dev Moves `amount` tokens from the caller's account to `recipient`.
        *
        * Returns a boolean value indicating whether the operation succeeded.
        *
        * Emits a {Transfer} event.
        */
        function transfer(address recipient, uint256 amount) external returns (bool);

        /**
        * @dev Returns the remaining number of tokens that `spender` will be
        * allowed to spend on behalf of `owner` through {transferFrom}. This is
        * zero by default.
        *
        * This value changes when {approve} or {transferFrom} are called.
        */
        function allowance(address owner, address spender) external view returns (uint256);

        /**
        * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
        *
        * Returns a boolean value indicating whether the operation succeeded.
        *
        * IMPORTANT: Beware that changing an allowance with this method brings the risk
        * that someone may use both the old and the new allowance by unfortunate
        * transaction ordering. One possible solution to mitigate this race
        * condition is to first reduce the spender's allowance to 0 and set the
        * desired value afterwards:
        * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        *
        * Emits an {Approval} event.
        */
        function approve(address spender, uint256 amount) external returns (bool);

        /**
        * @dev Moves `amount` tokens from `sender` to `recipient` using the
        * allowance mechanism. `amount` is then deducted from the caller's
        * allowance.
        *
        * Returns a boolean value indicating whether the operation succeeded.
        *
        * Emits a {Transfer} event.
        */
        function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

        /**
        * @dev Emitted when `value` tokens are moved from one account (`from`) to
        * another (`to`).
        *
        * Note that `value` may be zero.
        */
        event Transfer(address indexed from, address indexed to, uint256 value);

        /**
        * @dev Emitted when the allowance of a `spender` for an `owner` is set by
        * a call to {approve}. `value` is the new allowance.
        */
        event Approval(address indexed owner, address indexed spender, uint256 value);
    }

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

    library Address {
        /**
        * @dev Returns true if `account` is a contract.
        *
        * [IMPORTANT]
        * ====
        * It is unsafe to assume that an address for which this function returns
        * false is an externally-owned account (EOA) and not a contract.
        *
        * Among others, `isContract` will return false for the following
        * types of addresses:
        *
        *  - an externally-owned account
        *  - a contract in construction
        *  - an address where a contract will be created
        *  - an address where a contract lived, but was destroyed
        * ====
        */
        function isContract(address account) internal view returns (bool) {
            // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
            // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
            // for accounts without code, i.e. `keccak256('')`
            bytes32 codehash;
            bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
            // solhint-disable-next-line no-inline-assembly
            assembly { codehash := extcodehash(account) }
            return (codehash != accountHash && codehash != 0x0);
        }

        /**
        * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
        * `recipient`, forwarding all available gas and reverting on errors.
        *
        * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
        * of certain opcodes, possibly making contracts go over the 2300 gas limit
        * imposed by `transfer`, making them unable to receive funds via
        * `transfer`. {sendValue} removes this limitation.
        *
        * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
        *
        * IMPORTANT: because control is transferred to `recipient`, care must be
        * taken to not create reentrancy vulnerabilities. Consider using
        * {ReentrancyGuard} or the
        * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
        */
        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");
        }

        /**
        * @dev Performs a Solidity function call using a low level `call`. A
        * plain`call` is an unsafe replacement for a function call: use this
        * function instead.
        *
        * If `target` reverts with a revert reason, it is bubbled up by this
        * function (like regular Solidity function calls).
        *
        * Returns the raw returned data. To convert to the expected return value,
        * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
        *
        * Requirements:
        *
        * - `target` must be a contract.
        * - calling `target` with `data` must not revert.
        *
        * _Available since v3.1._
        */
        function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
        }

        /**
        * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
        * `errorMessage` as a fallback revert reason when `target` reverts.
        *
        * _Available since v3.1._
        */
        function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
            return _functionCallWithValue(target, data, 0, errorMessage);
        }

        /**
        * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
        * but also transferring `value` wei to `target`.
        *
        * Requirements:
        *
        * - the calling contract must have an ETH balance of at least `value`.
        * - the called Solidity function must be `payable`.
        *
        * _Available since v3.1._
        */
        function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
            return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
        }

        /**
        * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
        * with `errorMessage` as a fallback revert reason when `target` reverts.
        *
        * _Available since v3.1._
        */
        function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
            require(address(this).balance >= value, "Address: insufficient balance for call");
            return _functionCallWithValue(target, data, value, errorMessage);
        }

        function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
            require(isContract(target), "Address: call to non-contract");

            // solhint-disable-next-line avoid-low-level-calls
            (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
            if (success) {
                return returndata;
            } else {
                // Look for revert reason and bubble it up if present
                if (returndata.length > 0) {
                    // The easiest way to bubble the revert reason is using memory via assembly

                    // solhint-disable-next-line no-inline-assembly
                    assembly {
                        let returndata_size := mload(returndata)
                        revert(add(32, returndata), returndata_size)
                    }
                } else {
                    revert(errorMessage);
                }
            }
        }
    }

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

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

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

        /**
        * @dev Returns the address of the current owner.
        */
        function owner() public view returns (address) {
            return _owner;
        }

        /**
        * @dev Throws if called by any account other than the owner.
        */
        modifier onlyOwner() {
            require(_owner == _msgSender(), "Ownable: caller is not the owner");
            _;
        }

        /**
        * @dev Leaves the contract without owner. It will not be possible to call
        * `onlyOwner` functions anymore. Can only be called by the current owner.
        *
        * NOTE: Renouncing ownership will leave the contract without an owner,
        * thereby removing any functionality that is only available to the owner.
        */
        function renounceOwnership() public virtual onlyOwner {
            emit OwnershipTransferred(_owner, address(0));
            _owner = address(0);
        }

        /**
        * @dev Transfers ownership of the contract to a new account (`newOwner`).
        * Can only be called by the current owner.
        */
        function transferOwnership(address newOwner) public virtual onlyOwner {
            require(newOwner != address(0), "Ownable: new owner is the zero address");
            emit OwnershipTransferred(_owner, newOwner);
            _owner = newOwner;
        }

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

        //Locks the contract for owner for the amount of time provided
        function lock(uint256 time) public virtual onlyOwner {
            _previousOwner = _owner;
            _owner = address(0);
            _lockTime = now + time;
            emit OwnershipTransferred(_owner, address(0));
        }
        
        //Unlocks the contract for owner when _lockTime is exceeds
        function unlock() public virtual {
            require(_previousOwner == msg.sender, "You don't have permission to unlock");
            require(now > _lockTime , "Contract is locked until 7 days");
            emit OwnershipTransferred(_owner, _previousOwner);
            _owner = _previousOwner;
        }
    }  

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

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

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

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

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

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

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

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

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

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

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

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

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

        function initialize(address, address) external;
    }

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

        function addLiquidity(
            address tokenA,
            address tokenB,
            uint amountADesired,
            uint amountBDesired,
            uint amountAMin,
            uint amountBMin,
            address to,
            uint deadline
        ) external returns (uint amountA, uint amountB, uint liquidity);
        function addLiquidityETH(
            address token,
            uint amountTokenDesired,
            uint amountTokenMin,
            uint amountETHMin,
            address to,
            uint deadline
        ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
        function removeLiquidity(
            address tokenA,
            address tokenB,
            uint liquidity,
            uint amountAMin,
            uint amountBMin,
            address to,
            uint deadline
        ) external returns (uint amountA, uint amountB);
        function removeLiquidityETH(
            address token,
            uint liquidity,
            uint amountTokenMin,
            uint amountETHMin,
            address to,
            uint deadline
        ) external returns (uint amountToken, uint amountETH);
        function removeLiquidityWithPermit(
            address tokenA,
            address tokenB,
            uint liquidity,
            uint amountAMin,
            uint amountBMin,
            address to,
            uint deadline,
            bool approveMax, uint8 v, bytes32 r, bytes32 s
        ) external returns (uint amountA, uint amountB);
        function removeLiquidityETHWithPermit(
            address token,
            uint liquidity,
            uint amountTokenMin,
            uint amountETHMin,
            address to,
            uint deadline,
            bool approveMax, uint8 v, bytes32 r, bytes32 s
        ) external returns (uint amountToken, uint amountETH);
        function swapExactTokensForTokens(
            uint amountIn,
            uint amountOutMin,
            address[] calldata path,
            address to,
            uint deadline
        ) external returns (uint[] memory amounts);
        function swapTokensForExactTokens(
            uint amountOut,
            uint amountInMax,
            address[] calldata path,
            address to,
            uint deadline
        ) external returns (uint[] memory amounts);
        function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
            external
            payable
            returns (uint[] memory amounts);
        function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
            external
            returns (uint[] memory amounts);
        function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
            external
            returns (uint[] memory amounts);
        function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
            external
            payable
            returns (uint[] memory amounts);

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

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

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

    // Contract implementation
    contract MiniHollywoodDoge is Context, IERC20, Ownable {
        using SafeMath for uint256;
        using Address for address;

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

        mapping (address => bool) private _isExcludedFromFee;

        mapping (address => bool) private _isExcluded;
        address[] private _excluded;
    
        uint256 private constant MAX = ~uint256(0);
        uint256 private _tTotal = 1000000000000 * 10**9;
        uint256 private _rTotal = (MAX - (MAX % _tTotal));
        uint256 private _tFeeTotal;

        string private _name = 'Mini Hollywood Doge';
        string private _symbol = 'MOLLYDOGE \xE2\xAD\x90';
        uint8 private _decimals = 9;
        
        // Tax and team fees will start at 0 so we don't have a big impact when deploying to Uniswap
        // Team wallet address is null but the method to set the address is exposed
        uint256 private _taxFee = 5; 
        uint256 private _teamFee = 10;
        uint256 private _previousTaxFee = _taxFee;
        uint256 private _previousTeamFee = _teamFee;

        address payable public _teamWalletAddress;
        address payable public _marketingWalletAddress;
        
        IUniswapV2Router02 public immutable uniswapV2Router;
        address public immutable uniswapV2Pair;

        bool inSwap = false;
        bool public swapEnabled = true;

        uint256 private _maxTxAmount = 100000000000000e9;
        // We will set a minimum amount of tokens to be swaped => 5M
        uint256 private _numOfTokensToExchangeForTeam = 5 * 10**3 * 10**9;

        event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
        event SwapEnabledUpdated(bool enabled);

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

        constructor (address payable teamWalletAddress, address payable marketingWalletAddress) public {
            _teamWalletAddress = teamWalletAddress;
            _marketingWalletAddress = marketingWalletAddress;
            _rOwned[_msgSender()] = _rTotal;

            IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E); // bsc pcs v2
            //IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3); // bsc testnet pcs v2
            // Create a uniswap pair for this new token
            uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
                .createPair(address(this), _uniswapV2Router.WETH());

            // set the rest of the contract variables
            uniswapV2Router = _uniswapV2Router;

            // Exclude owner and this contract from fee
            _isExcludedFromFee[owner()] = true;
            _isExcludedFromFee[address(this)] = true;

            emit Transfer(address(0), _msgSender(), _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 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 transferFrom(address sender, address recipient, uint256 amount) public override 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 isExcluded(address account) public view returns (bool) {
            return _isExcluded[account];
        }

        function setExcludeFromFee(address account, bool excluded) external onlyOwner() {
            _isExcludedFromFee[account] = excluded;
        }

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

        function deliver(uint256 tAmount) public {
            address sender = _msgSender();
            require(!_isExcluded[sender], "Excluded addresses cannot call this function");
            (uint256 rAmount,,,,,) = _getValues(tAmount);
            _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 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);
        }

        function excludeAccount(address account) external onlyOwner() {
            require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not exclude Uniswap router.');
            require(!_isExcluded[account], "Account is already excluded");
            if(_rOwned[account] > 0) {
                _tOwned[account] = tokenFromReflection(_rOwned[account]);
            }
            _isExcluded[account] = true;
            _excluded.push(account);
        }

        function includeAccount(address account) external onlyOwner() {
            require(_isExcluded[account], "Account is already excluded");
            for (uint256 i = 0; i < _excluded.length; i++) {
                if (_excluded[i] == account) {
                    _excluded[i] = _excluded[_excluded.length - 1];
                    _tOwned[account] = 0;
                    _isExcluded[account] = false;
                    _excluded.pop();
                    break;
                }
            }
        }

        function removeAllFee() private {
            if(_taxFee == 0 && _teamFee == 0) return;
            
            _previousTaxFee = _taxFee;
            _previousTeamFee = _teamFee;
            
            _taxFee = 0;
            _teamFee = 0;
        }
    
        function restoreAllFee() private {
            _taxFee = _previousTaxFee;
            _teamFee = _previousTeamFee;
        }
    
        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 sender, address recipient, uint256 amount) private {
            require(sender != address(0), "ERC20: transfer from the zero address");
            require(recipient != address(0), "ERC20: transfer to the zero address");
            require(amount > 0, "Transfer amount must be greater than zero");
            
            if(sender != owner() && recipient != owner())
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");

            // is the token balance of this contract address over the min number of
            // tokens that we need to initiate a swap?
            // also, don't get caught in a circular team event.
            // also, don't swap if sender is uniswap pair.
            uint256 contractTokenBalance = balanceOf(address(this));
            
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
            
            bool overMinTokenBalance = contractTokenBalance >= _numOfTokensToExchangeForTeam;
            if (!inSwap && swapEnabled && overMinTokenBalance && sender != uniswapV2Pair) {
                // We need to swap the current tokens to ETH and send to the team wallet
                swapTokensForEth(contractTokenBalance);
                
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToTeam(address(this).balance);
                }
            }
            
            //indicates if fee should be deducted from transfer
            bool takeFee = true;
            
            //if any account belongs to _isExcludedFromFee account then remove the fee
            if(_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]){
                takeFee = false;
            }
            
            //transfer amount, it will take tax and team fee
            _tokenTransfer(sender,recipient,amount,takeFee);
        }

        function swapTokensForEth(uint256 tokenAmount) private lockTheSwap{
            // 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 sendETHToTeam(uint256 amount) private {
            _teamWalletAddress.transfer(amount.div(2));
            _marketingWalletAddress.transfer(amount.div(2));
        }
        
        // We are exposing these functions to be able to manual swap and send
        // in case the token is highly valued and 5M becomes too much
        function manualSwap() external onlyOwner() {
            uint256 contractBalance = balanceOf(address(this));
            swapTokensForEth(contractBalance);
        }
        
        function manualSend() external onlyOwner() {
            uint256 contractETHBalance = address(this).balance;
            sendETHToTeam(contractETHBalance);
        }

        function setSwapEnabled(bool enabled) external onlyOwner(){
            swapEnabled = enabled;
        }
        
        function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
            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 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
            _rOwned[sender] = _rOwned[sender].sub(rAmount);
            _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
            _takeTeam(tTeam); 
            _reflectFee(rFee, tFee);
            emit Transfer(sender, recipient, tTransferAmount);
        }

        function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
            (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
            _rOwned[sender] = _rOwned[sender].sub(rAmount);
            _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
            _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);    
            _takeTeam(tTeam);           
            _reflectFee(rFee, tFee);
            emit Transfer(sender, recipient, tTransferAmount);
        }

        function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
            (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
            _tOwned[sender] = _tOwned[sender].sub(tAmount);
            _rOwned[sender] = _rOwned[sender].sub(rAmount);
            _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
            _takeTeam(tTeam);   
            _reflectFee(rFee, tFee);
            emit Transfer(sender, recipient, tTransferAmount);
        }

        function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
            (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
            _tOwned[sender] = _tOwned[sender].sub(tAmount);
            _rOwned[sender] = _rOwned[sender].sub(rAmount);
            _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
            _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
            _takeTeam(tTeam);         
            _reflectFee(rFee, tFee);
            emit Transfer(sender, recipient, tTransferAmount);
        }

        function _takeTeam(uint256 tTeam) private {
            uint256 currentRate =  _getRate();
            uint256 rTeam = tTeam.mul(currentRate);
            _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
            if(_isExcluded[address(this)])
                _tOwned[address(this)] = _tOwned[address(this)].add(tTeam);
        }

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

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

        function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
            (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
            uint256 currentRate =  _getRate();
            (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate);
            return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
        }

        function _getTValues(uint256 tAmount, uint256 taxFee, uint256 teamFee) private pure returns (uint256, uint256, uint256) {
            uint256 tFee = tAmount.mul(taxFee).div(100);
            uint256 tTeam = tAmount.mul(teamFee).div(100);
            uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
            return (tTransferAmount, tFee, tTeam);
        }

        function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
            uint256 rAmount = tAmount.mul(currentRate);
            uint256 rFee = tFee.mul(currentRate);
            uint256 rTransferAmount = rAmount.sub(rFee);
            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 _getTaxFee() private view returns(uint256) {
            return _taxFee;
        }

        function _getMaxTxAmount() private view returns(uint256) {
            return _maxTxAmount;
        }

        function _getETHBalance() public view returns(uint256 balance) {
            return address(this).balance;
        }
        
        function _setTaxFee(uint256 taxFee) external onlyOwner() {
            require(taxFee >= 1 && taxFee <= 25, 'taxFee should be in 1 - 25');
            _taxFee = taxFee;
        }

        function _setTeamFee(uint256 teamFee) external onlyOwner() {
            require(teamFee >= 1 && teamFee <= 25, 'teamFee should be in 1 - 25');
            _teamFee = teamFee;
        }
        
        function _setTeamWallet(address payable teamWalletAddress) external onlyOwner() {
            _teamWalletAddress = teamWalletAddress;
        }
        
        function _setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() {
            require(maxTxAmount >= 100000000000000e9 , 'maxTxAmount should be greater than 100000000000000e9');
            _maxTxAmount = maxTxAmount;
        }
    }

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"teamWalletAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","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":"bool","name":"enabled","type":"bool"}],"name":"SwapEnabledUpdated","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":"_getETHBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"_setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"_setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"_setTeamFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"teamWalletAddress","type":"address"}],"name":"_setTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"geUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","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":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","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":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"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"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

683635c9adc5dea000006009556818ce40f6d0219fffff19600a55610100604052601360c08190527f4d696e6920486f6c6c79776f6f6420446f67650000000000000000000000000060e09081526200005c91600c919062000434565b5060408051808201909152600d8082526c04d4f4c4c59444f474520e2ad9609c1b602090920191825262000091918162000434565b50600e805460ff191660091790556005600f819055600a60108190556011919091556012556014805461ffff60a01b1916600160a81b17905569152d02c7e14af680000060155565048c27395000601655348015620000ef57600080fd5b50604051620030e3380380620030e3833981810160405260408110156200011557600080fd5b50805160209091015160006200012a62000421565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601380546001600160a01b038085166001600160a01b0319928316179092556014805492841692909116919091179055600a5460036000620001b562000421565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060007310ed43c718714eb63d5aa57b78b54704e256024e9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022c57600080fd5b505afa15801562000241573d6000803e3d6000fd5b505050506040513d60208110156200025857600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015620002a957600080fd5b505afa158015620002be573d6000803e3d6000fd5b505050506040513d6020811015620002d557600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200032857600080fd5b505af11580156200033d573d6000803e3d6000fd5b505050506040513d60208110156200035457600080fd5b50516001600160601b0319606091821b811660a0529082901b166080526001600660006200038162000425565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526006909252902080549091166001179055620003cb62000421565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040518082815260200191505060405180910390a3505050620004d0565b3390565b6000546001600160a01b031690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200047757805160ff1916838001178555620004a7565b82800160010185558215620004a7579182015b82811115620004a75782518255916020019190600101906200048a565b50620004b5929150620004b9565b5090565b5b80821115620004b55760008155600101620004ba565b60805160601c60a05160601c612bd56200050e60003980610dd75280611c1b52508061098c5280611f2d5280611fe5528061200c5250612bd56000f3fe6080604052600436106102345760003560e01c806370a082311161012e578063cba0e996116100ab578063f2fde38b1161006f578063f2fde38b1461082b578063f42938901461085e578063f815a84214610873578063f84354f114610888578063fd62d675146108bb5761023b565b8063cba0e99614610734578063dd46706414610767578063dd62ed3e14610791578063e01af92c146107cc578063f2cc0c18146107f85761023b565b8063a69df4b5116100f2578063a69df4b514610663578063a9059cbb14610678578063af9549e0146106b1578063b6c52324146106ec578063b80ec98d146107015761023b565b806370a08231146105b8578063715018a6146105eb5780638da5cb5b1461060057806395d89b4114610615578063a457c2d71461062a5761023b565b8063313ce567116101bc57806349bd5a5e1161018057806349bd5a5e1461051c57806351bc3c85146105315780635342acb4146105465780635880b873146105795780636ddd1713146105a35761023b565b8063313ce5671461044757806339509351146104725780633bd5d173146104ab5780634144d9e4146104d55780634549b039146104ea5761023b565b806318160ddd1161020357806318160ddd1461036f5780631bbae6e01461038457806323b872dd146103b057806328667162146103f35780632d8381191461041d5761023b565b806306fdde0314610240578063095ea7b3146102ca57806313114a9d146103175780631694505e1461033e5761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b506102556108d0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028f578181015183820152602001610277565b50505050905090810190601f1680156102bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102d657600080fd5b50610303600480360360408110156102ed57600080fd5b506001600160a01b038135169060200135610966565b604080519115158252519081900360200190f35b34801561032357600080fd5b5061032c610984565b60408051918252519081900360200190f35b34801561034a57600080fd5b5061035361098a565b604080516001600160a01b039092168252519081900360200190f35b34801561037b57600080fd5b5061032c6109ae565b34801561039057600080fd5b506103ae600480360360208110156103a757600080fd5b50356109b4565b005b3480156103bc57600080fd5b50610303600480360360608110156103d357600080fd5b506001600160a01b03813581169160208101359091169060400135610a5a565b3480156103ff57600080fd5b506103ae6004803603602081101561041657600080fd5b5035610ae1565b34801561042957600080fd5b5061032c6004803603602081101561044057600080fd5b5035610ba1565b34801561045357600080fd5b5061045c610c03565b6040805160ff9092168252519081900360200190f35b34801561047e57600080fd5b506103036004803603604081101561049557600080fd5b506001600160a01b038135169060200135610c0c565b3480156104b757600080fd5b506103ae600480360360208110156104ce57600080fd5b5035610c5a565b3480156104e157600080fd5b50610353610d34565b3480156104f657600080fd5b5061032c6004803603604081101561050d57600080fd5b50803590602001351515610d43565b34801561052857600080fd5b50610353610dd5565b34801561053d57600080fd5b506103ae610df9565b34801561055257600080fd5b506103036004803603602081101561056957600080fd5b50356001600160a01b0316610e6a565b34801561058557600080fd5b506103ae6004803603602081101561059c57600080fd5b5035610e88565b3480156105af57600080fd5b50610303610f48565b3480156105c457600080fd5b5061032c600480360360208110156105db57600080fd5b50356001600160a01b0316610f58565b3480156105f757600080fd5b506103ae610fba565b34801561060c57600080fd5b5061035361104a565b34801561062157600080fd5b50610255611059565b34801561063657600080fd5b506103036004803603604081101561064d57600080fd5b506001600160a01b0381351690602001356110ba565b34801561066f57600080fd5b506103ae611122565b34801561068457600080fd5b506103036004803603604081101561069b57600080fd5b506001600160a01b038135169060200135611210565b3480156106bd57600080fd5b506103ae600480360360408110156106d457600080fd5b506001600160a01b0381351690602001351515611224565b3480156106f857600080fd5b5061032c6112a7565b34801561070d57600080fd5b506103ae6004803603602081101561072457600080fd5b50356001600160a01b03166112ad565b34801561074057600080fd5b506103036004803603602081101561075757600080fd5b50356001600160a01b0316611327565b34801561077357600080fd5b506103ae6004803603602081101561078a57600080fd5b5035611345565b34801561079d57600080fd5b5061032c600480360360408110156107b457600080fd5b506001600160a01b03813581169160200135166113e3565b3480156107d857600080fd5b506103ae600480360360208110156107ef57600080fd5b5035151561140e565b34801561080457600080fd5b506103ae6004803603602081101561081b57600080fd5b50356001600160a01b0316611484565b34801561083757600080fd5b506103ae6004803603602081101561084e57600080fd5b50356001600160a01b0316611666565b34801561086a57600080fd5b506103ae61174c565b34801561087f57600080fd5b5061032c6117ae565b34801561089457600080fd5b506103ae600480360360208110156108ab57600080fd5b50356001600160a01b03166117b2565b3480156108c757600080fd5b50610353611973565b600c8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561095c5780601f106109315761010080835404028352916020019161095c565b820191906000526020600020905b81548152906001019060200180831161093f57829003601f168201915b5050505050905090565b600061097a610973611982565b8484611986565b5060015b92915050565b600b5490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60095490565b6109bc611982565b6000546001600160a01b03908116911614610a0c576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b69152d02c7e14af6800000811015610a555760405162461bcd60e51b81526004018080602001828103825260348152602001806129b36034913960400191505060405180910390fd5b601555565b6000610a67848484611a72565b610ad784610a73611982565b610ad285604051806060016040528060288152602001612a30602891396001600160a01b038a16600090815260056020526040812090610ab1611982565b6001600160a01b031681526020810191909152604001600020549190611ccf565b611986565b5060019392505050565b610ae9611982565b6000546001600160a01b03908116911614610b39576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b60018110158015610b4b575060198111155b610b9c576040805162461bcd60e51b815260206004820152601b60248201527f7465616d4665652073686f756c6420626520696e2031202d2032350000000000604482015290519081900360640190fd5b601055565b6000600a54821115610be45760405162461bcd60e51b815260040180806020018281038252602a815260200180612941602a913960400191505060405180910390fd5b6000610bee611d66565b9050610bfa8382611d89565b9150505b919050565b600e5460ff1690565b600061097a610c19611982565b84610ad28560056000610c2a611982565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611dd2565b6000610c64611982565b6001600160a01b03811660009081526007602052604090205490915060ff1615610cbf5760405162461bcd60e51b815260040180806020018281038252602c815260200180612b2c602c913960400191505060405180910390fd5b6000610cca83611e2c565b505050506001600160a01b038416600090815260036020526040902054919250610cf691905082611e88565b6001600160a01b038316600090815260036020526040902055600a54610d1c9082611e88565b600a55600b54610d2c9084611dd2565b600b55505050565b6014546001600160a01b031681565b6000600954831115610d9c576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b81610dbb576000610dac84611e2c565b5093955061097e945050505050565b6000610dc684611e2c565b5092955061097e945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610e01611982565b6000546001600160a01b03908116911614610e51576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b6000610e5c30610f58565b9050610e6781611eca565b50565b6001600160a01b031660009081526006602052604090205460ff1690565b610e90611982565b6000546001600160a01b03908116911614610ee0576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b60018110158015610ef2575060198111155b610f43576040805162461bcd60e51b815260206004820152601a60248201527f7461784665652073686f756c6420626520696e2031202d203235000000000000604482015290519081900360640190fd5b600f55565b601454600160a81b900460ff1681565b6001600160a01b03811660009081526007602052604081205460ff1615610f9857506001600160a01b038116600090815260046020526040902054610bfe565b6001600160a01b03821660009081526003602052604090205461097e90610ba1565b610fc2611982565b6000546001600160a01b03908116911614611012576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b600080546040516001600160a01b0390911690600080516020612a78833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600d8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561095c5780601f106109315761010080835404028352916020019161095c565b600061097a6110c7611982565b84610ad285604051806060016040528060258152602001612b7b60259139600560006110f1611982565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611ccf565b6001546001600160a01b0316331461116b5760405162461bcd60e51b8152600401808060200182810382526023815260200180612b586023913960400191505060405180910390fd5b60025442116111c1576040805162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c2037206461797300604482015290519081900360640190fd5b600154600080546040516001600160a01b039384169390911691600080516020612a7883398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b600061097a61121d611982565b8484611a72565b61122c611982565b6000546001600160a01b0390811691161461127c576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b60025490565b6112b5611982565b6000546001600160a01b03908116911614611305576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526007602052604090205460ff1690565b61134d611982565b6000546001600160a01b0390811691161461139d576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b60008054600180546001600160a01b03199081166001600160a01b038416179091551681554282016002556040518190600080516020612a78833981519152908290a350565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b611416611982565b6000546001600160a01b03908116911614611466576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b60148054911515600160a81b0260ff60a81b19909216919091179055565b61148c611982565b6000546001600160a01b039081169116146114dc576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03821614156115385760405162461bcd60e51b8152600401808060200182810382526022815260200180612b0a6022913960400191505060405180910390fd5b6001600160a01b03811660009081526007602052604090205460ff16156115a6576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526003602052604090205415611600576001600160a01b0381166000908152600360205260409020546115e690610ba1565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b61166e611982565b6000546001600160a01b039081169116146116be576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b6001600160a01b0381166117035760405162461bcd60e51b815260040180806020018281038252602681526020018061296b6026913960400191505060405180910390fd5b600080546040516001600160a01b0380851693921691600080516020612a7883398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b611754611982565b6000546001600160a01b039081169116146117a4576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b47610e6781612101565b4790565b6117ba611982565b6000546001600160a01b0390811691161461180a576040805162461bcd60e51b81526020600482018190526024820152600080516020612a58833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205460ff16611877576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b60085481101561196f57816001600160a01b03166008828154811061189b57fe5b6000918252602090912001546001600160a01b03161415611967576008805460001981019081106118c857fe5b600091825260209091200154600880546001600160a01b0390921691839081106118ee57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff19169055600880548061194057fe5b600082815260209020810160001990810180546001600160a01b031916905501905561196f565b60010161187a565b5050565b6013546001600160a01b031681565b3390565b6001600160a01b0383166119cb5760405162461bcd60e51b8152600401808060200182810382526024815260200180612ae66024913960400191505060405180910390fd5b6001600160a01b038216611a105760405162461bcd60e51b81526004018080602001828103825260228152602001806129916022913960400191505060405180910390fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611ab75760405162461bcd60e51b8152600401808060200182810382526025815260200180612ac16025913960400191505060405180910390fd5b6001600160a01b038216611afc5760405162461bcd60e51b815260040180806020018281038252602381526020018061291e6023913960400191505060405180910390fd5b60008111611b3b5760405162461bcd60e51b8152600401808060200182810382526029815260200180612a986029913960400191505060405180910390fd5b611b4361104a565b6001600160a01b0316836001600160a01b031614158015611b7d5750611b6761104a565b6001600160a01b0316826001600160a01b031614155b15611bc357601554811115611bc35760405162461bcd60e51b81526004018080602001828103825260288152602001806129e76028913960400191505060405180910390fd5b6000611bce30610f58565b90506015548110611bde57506015545b6016546014549082101590600160a01b900460ff16158015611c095750601454600160a81b900460ff165b8015611c125750805b8015611c5057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b15611c7057611c5e82611eca565b478015611c6e57611c6e47612101565b505b6001600160a01b03851660009081526006602052604090205460019060ff1680611cb257506001600160a01b03851660009081526006602052604090205460ff165b15611cbb575060005b611cc786868684612186565b505050505050565b60008184841115611d5e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d23578181015183820152602001611d0b565b50505050905090810190601f168015611d505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000806000611d736122fa565b9092509050611d828282611d89565b9250505090565b6000611dcb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061245d565b9392505050565b600082820183811015611dcb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000806000806000806000806000611e498a600f546010546124c2565b9250925092506000611e59611d66565b90506000806000611e6b8e8786612517565b919e509c509a509598509396509194505050505091939550919395565b6000611dcb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ccf565b6014805460ff60a01b1916600160a01b17905560408051600280825260608083018452926020830190803683370190505090503081600081518110611f0b57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8457600080fd5b505afa158015611f98573d6000803e3d6000fd5b505050506040513d6020811015611fae57600080fd5b5051815182906001908110611fbf57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061200a307f000000000000000000000000000000000000000000000000000000000000000084611986565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663791ac9478360008430426040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156120af578181015183820152602001612097565b505050509050019650505050505050600060405180830381600087803b1580156120d857600080fd5b505af11580156120ec573d6000803e3d6000fd5b50506014805460ff60a01b1916905550505050565b6013546001600160a01b03166108fc61211b836002611d89565b6040518115909202916000818181858888f19350505050158015612143573d6000803e3d6000fd5b506014546001600160a01b03166108fc61215e836002611d89565b6040518115909202916000818181858888f1935050505015801561196f573d6000803e3d6000fd5b8061219357612193612553565b6001600160a01b03841660009081526007602052604090205460ff1680156121d457506001600160a01b03831660009081526007602052604090205460ff16155b156121e9576121e4848484612585565b6122e7565b6001600160a01b03841660009081526007602052604090205460ff1615801561222a57506001600160a01b03831660009081526007602052604090205460ff165b1561223a576121e48484846126a9565b6001600160a01b03841660009081526007602052604090205460ff1615801561227c57506001600160a01b03831660009081526007602052604090205460ff16155b1561228c576121e4848484612752565b6001600160a01b03841660009081526007602052604090205460ff1680156122cc57506001600160a01b03831660009081526007602052604090205460ff165b156122dc576121e4848484612796565b6122e7848484612752565b806122f4576122f4612809565b50505050565b600a546009546000918291825b60085481101561242b5782600360006008848154811061232357fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612388575081600460006008848154811061236157fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561239f57600a5460095494509450505050612459565b6123df60036000600884815481106123b357fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611e88565b925061242160046000600884815481106123f557fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611e88565b9150600101612307565b50600954600a5461243b91611d89565b82101561245357600a54600954935093505050612459565b90925090505b9091565b600081836124ac5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611d23578181015183820152602001611d0b565b5060008385816124b857fe5b0495945050505050565b60008080806124dc60646124d68989612817565b90611d89565b905060006124ef60646124d68a89612817565b90506000612507826125018b86611e88565b90611e88565b9992985090965090945050505050565b60008080806125268786612817565b905060006125348787612817565b905060006125428383611e88565b929992985090965090945050505050565b600f541580156125635750601054155b1561256d57612583565b600f805460115560108054601255600091829055555b565b60008060008060008061259787611e2c565b6001600160a01b038f16600090815260046020526040902054959b509399509197509550935091506125c99088611e88565b6001600160a01b038a166000908152600460209081526040808320939093556003905220546125f89087611e88565b6001600160a01b03808b1660009081526003602052604080822093909355908a16815220546126279086611dd2565b6001600160a01b03891660009081526003602052604090205561264981612870565b61265384836128f9565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000806000806000806126bb87611e2c565b6001600160a01b038f16600090815260036020526040902054959b509399509197509550935091506126ed9087611e88565b6001600160a01b03808b16600090815260036020908152604080832094909455918b168152600490915220546127239084611dd2565b6001600160a01b0389166000908152600460209081526040808320939093556003905220546126279086611dd2565b60008060008060008061276487611e2c565b6001600160a01b038f16600090815260036020526040902054959b509399509197509550935091506125f89087611e88565b6000806000806000806127a887611e2c565b6001600160a01b038f16600090815260046020526040902054959b509399509197509550935091506127da9088611e88565b6001600160a01b038a166000908152600460209081526040808320939093556003905220546126ed9087611e88565b601154600f55601254601055565b6000826128265750600061097e565b8282028284828161283357fe5b0414611dcb5760405162461bcd60e51b8152600401808060200182810382526021815260200180612a0f6021913960400191505060405180910390fd5b600061287a611d66565b905060006128888383612817565b306000908152600360205260409020549091506128a59082611dd2565b3060009081526003602090815260408083209390935560079052205460ff16156128f457306000908152600460205260409020546128e39084611dd2565b306000908152600460205260409020555b505050565b600a546129069083611e88565b600a55600b546129169082611dd2565b600b55505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573736d61785478416d6f756e742073686f756c642062652067726561746572207468616e2031303030303030303030303030303065395472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737357652063616e206e6f74206578636c75646520556e697377617020726f757465722e4578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6f636b45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202d1c7fa81b9cd3a8005d85b1d1c6c9ec99d6eb4f36b809e95d0e40924c79dd1a64736f6c634300060c0033000000000000000000000000b5faf41255f28ca0a6238e29f9f6348b037be2f3000000000000000000000000d758448eb86ae84642350428cc5073d88af5d826

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

000000000000000000000000b5faf41255f28ca0a6238e29f9f6348b037be2f3000000000000000000000000d758448eb86ae84642350428cc5073d88af5d826

-----Decoded View---------------
Arg [0] : teamWalletAddress (address): 0xb5faf41255f28ca0a6238e29f9f6348b037be2f3
Arg [1] : marketingWalletAddress (address): 0xd758448eb86ae84642350428cc5073d88af5d826

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b5faf41255f28ca0a6238e29f9f6348b037be2f3
Arg [1] : 000000000000000000000000d758448eb86ae84642350428cc5073d88af5d826


Deployed ByteCode Sourcemap

27224:19428:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30309:91;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31313:173;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;31313:173:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;32661:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;28588:51;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;28588:51:0;;;;;;;;;;;;;;30622:103;;;;;;;;;;;;;:::i;46412:233::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;46412:233:0;;:::i;:::-;;31498:329;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;31498:329:0;;;;;;;;;;;;;;;;;:::i;46039:188::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;46039:188:0;;:::i;33669:269::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33669:269:0;;:::i;30519:91::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;31839:230;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;31839:230:0;;;;;;;;:::i;32768:405::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32768:405:0;;:::i;28521:46::-;;;;;;;;;;;;;:::i;33185:472::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33185:472:0;;;;;;;;;:::i;28650:38::-;;;;;;;;;;;;;:::i;38992:168::-;;;;;;;;;;;;;:::i;35392:131::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35392:131:0;-1:-1:-1;;;;;35392:131:0;;:::i;45846:181::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;45846:181:0;;:::i;28731:30::-;;;;;;;;;;;;;:::i;30737:210::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30737:210:0;-1:-1:-1;;;;;30737:210:0;;:::i;17059:160::-;;;;;;;;;;;;;:::i;16357:87::-;;;;;;;;;;;;;:::i;30412:95::-;;;;;;;;;;;;;:::i;32081:281::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;32081:281:0;;;;;;;;:::i;18166:313::-;;;;;;;;;;;;;:::i;30959:179::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;30959:179:0;;;;;;;;:::i;32504:145::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;32504:145:0;;;;;;;;;;:::i;17663:97::-;;;;;;;;;;;;;:::i;46247:145::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;46247:145:0;-1:-1:-1;;;;;46247:145:0;;:::i;32374:118::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32374:118:0;-1:-1:-1;;;;;32374:118:0;;:::i;17844:234::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17844:234:0;;:::i;31150:151::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;31150:151:0;;;;;;;;;;:::i;39360:106::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;39360:106:0;;;;:::i;33950:475::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33950:475:0;-1:-1:-1;;;;;33950:475:0;;:::i;17391:260::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17391:260:0;-1:-1:-1;;;;;17391:260:0;;:::i;39180:168::-;;;;;;;;;;;;;:::i;45708:118::-;;;;;;;;;;;;;:::i;34437:522::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34437:522:0;-1:-1:-1;;;;;34437:522:0;;:::i;28469:41::-;;;;;;;;;;;;;:::i;30309:91::-;30383:5;30376:12;;;;;;;;-1:-1:-1;;30376:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30346:13;;30376:12;;30383:5;;30376:12;;30383:5;30376:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30309:91;:::o;31313:173::-;31388:4;31409:39;31418:12;:10;:12::i;:::-;31432:7;31441:6;31409:8;:39::i;:::-;-1:-1:-1;31470:4:0;31313:173;;;;;:::o;32661:95::-;32734:10;;32661:95;:::o;28588:51::-;;;:::o;30622:103::-;30706:7;;30622:103;:::o;46412:233::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;46517:17:::1;46502:11;:32;;46494:98;;;;-1:-1:-1::0;;;46494:98:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46607:12;:26:::0;46412:233::o;31498:329::-;31596:4;31617:36;31627:6;31635:9;31646:6;31617:9;:36::i;:::-;31668:121;31677:6;31685:12;:10;:12::i;:::-;31699:89;31737:6;31699:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;31699:19:0;;;;;;:11;:19;;;;;;31719:12;:10;:12::i;:::-;-1:-1:-1;;;;;31699:33:0;;;;;;;;;;;;-1:-1:-1;31699:33:0;;;:89;:37;:89::i;:::-;31668:8;:121::i;:::-;-1:-1:-1;31811:4:0;31498:329;;;;;:::o;46039:188::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;46132:1:::1;46121:7;:12;;:29;;;;;46148:2;46137:7;:13;;46121:29;46113:69;;;::::0;;-1:-1:-1;;;46113:69:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;46197:8;:18:::0;46039:188::o;33669:269::-;33735:7;33778;;33767;:18;;33759:73;;;;-1:-1:-1;;;33759:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33847:19;33870:10;:8;:10::i;:::-;33847:33;-1:-1:-1;33902:24:0;:7;33847:33;33902:11;:24::i;:::-;33895:31;;;33669:269;;;;:::o;30519:91::-;30589:9;;;;30519:91;:::o;31839:230::-;31927:4;31948:83;31957:12;:10;:12::i;:::-;31971:7;31980:50;32019:10;31980:11;:25;31992:12;:10;:12::i;:::-;-1:-1:-1;;;;;31980:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;31980:25:0;;;:34;;;;;;;;;;;:38;:50::i;32768:405::-;32824:14;32841:12;:10;:12::i;:::-;-1:-1:-1;;;;;32877:19:0;;;;;;:11;:19;;;;;;32824:29;;-1:-1:-1;32877:19:0;;32876:20;32868:77;;;;-1:-1:-1;;;32868:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32961:15;32985:19;32996:7;32985:10;:19::i;:::-;-1:-1:-1;;;;;;;;;33037:15:0;;;;;;:7;:15;;;;;;32960:44;;-1:-1:-1;33037:28:0;;:15;-1:-1:-1;32960:44:0;33037:19;:28::i;:::-;-1:-1:-1;;;;;33019:15:0;;;;;;:7;:15;;;;;:46;33090:7;;:20;;33102:7;33090:11;:20::i;:::-;33080:7;:30;33138:10;;:23;;33153:7;33138:14;:23::i;:::-;33125:10;:36;-1:-1:-1;;;32768:405:0:o;28521:46::-;;;-1:-1:-1;;;;;28521:46:0;;:::o;33185:472::-;33275:7;33318;;33307;:18;;33299:62;;;;;-1:-1:-1;;;33299:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;33381:17;33376:270;;33420:15;33444:19;33455:7;33444:10;:19::i;:::-;-1:-1:-1;33419:44:0;;-1:-1:-1;33482:14:0;;-1:-1:-1;;;;;33482:14:0;33376:270;33539:23;33570:19;33581:7;33570:10;:19::i;:::-;-1:-1:-1;33537:52:0;;-1:-1:-1;33608:22:0;;-1:-1:-1;;;;;33608:22:0;28650:38;;;:::o;38992:168::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;39050:23:::1;39076:24;39094:4;39076:9;:24::i;:::-;39050:50;;39115:33;39132:15;39115:16;:33::i;:::-;16669:1;38992:168::o:0;35392:131::-;-1:-1:-1;;;;;35484:27:0;35456:4;35484:27;;;:18;:27;;;;;;;;;35392:131::o;45846:181::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;45936:1:::1;45926:6;:11;;:27;;;;;45951:2;45941:6;:12;;45926:27;45918:66;;;::::0;;-1:-1:-1;;;45918:66:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;45999:7;:16:::0;45846:181::o;28731:30::-;;;-1:-1:-1;;;28731:30:0;;;;;:::o;30737:210::-;-1:-1:-1;;;;;30831:20:0;;30803:7;30831:20;;;:11;:20;;;;;;;;30827:49;;;-1:-1:-1;;;;;;30860:16:0;;;;;;:7;:16;;;;;;30853:23;;30827:49;-1:-1:-1;;;;;30918:16:0;;;;;;:7;:16;;;;;;30898:37;;:19;:37::i;17059:160::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;17170:1:::1;17154:6:::0;;17133:40:::1;::::0;-1:-1:-1;;;;;17154:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;17133:40:0;17170:1;;17133:40:::1;17205:1;17188:19:::0;;-1:-1:-1;;;;;;17188:19:0::1;::::0;;17059:160::o;16357:87::-;16395:7;16426:6;-1:-1:-1;;;;;16426:6:0;16357:87;:::o;30412:95::-;30488:7;30481:14;;;;;;;;-1:-1:-1;;30481:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30451:13;;30481:14;;30488:7;;30481:14;;30488:7;30481:14;;;;;;;;;;;;;;;;;;;;;;;;32081:281;32174:4;32195:129;32204:12;:10;:12::i;:::-;32218:7;32227:96;32266:15;32227:96;;;;;;;;;;;;;;;;;:11;:25;32239:12;:10;:12::i;:::-;-1:-1:-1;;;;;32227:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;32227:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;18166:313::-;18222:14;;-1:-1:-1;;;;;18222:14:0;18240:10;18222:28;18214:76;;;;-1:-1:-1;;;18214:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18319:9;;18313:3;:15;18305:60;;;;;-1:-1:-1;;;18305:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18414:14;;;18406:6;;18385:44;;-1:-1:-1;;;;;18414:14:0;;;;18406:6;;;;-1:-1:-1;;;;;;;;;;;18385:44:0;;18453:14;;;18444:23;;-1:-1:-1;;;;;;18444:23:0;-1:-1:-1;;;;;18453:14:0;;;18444:23;;;;;;18166:313::o;30959:179::-;31037:4;31058:42;31068:12;:10;:12::i;:::-;31082:9;31093:6;31058:9;:42::i;32504:145::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;32599:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;32599:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;32504:145::o;17663:97::-;17739:9;;17663:97;:::o;46247:145::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;46342:18:::1;:38:::0;;-1:-1:-1;;;;;;46342:38:0::1;-1:-1:-1::0;;;;;46342:38:0;;;::::1;::::0;;;::::1;::::0;;46247:145::o;32374:118::-;-1:-1:-1;;;;;32460:20:0;32432:4;32460:20;;;:11;:20;;;;;;;;;32374:118::o;17844:234::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;17929:6:::1;::::0;;;17912:23;;-1:-1:-1;;;;;;17912:23:0;;::::1;-1:-1:-1::0;;;;;17929:6:0;::::1;17912:23;::::0;;;17950:19:::1;::::0;;17996:3:::1;:10:::0;::::1;17984:9;:22:::0;18026:40:::1;::::0;17929:6;;-1:-1:-1;;;;;;;;;;;18026:40:0;17929:6;;18026:40:::1;17844:234:::0;:::o;31150:151::-;-1:-1:-1;;;;;31262:18:0;;;31231:7;31262:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;31150:151::o;39360:106::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;39433:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;39433:21:0::1;-1:-1:-1::0;;;;39433:21:0;;::::1;::::0;;;::::1;::::0;;39360:106::o;33950:475::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;34046:42:::1;-1:-1:-1::0;;;;;34035:53:0;::::1;;;34027:100;;;;-1:-1:-1::0;;;34027:100:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;34151:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;34150:21;34142:61;;;::::0;;-1:-1:-1;;;34142:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;34221:16:0;::::1;34240:1;34221:16:::0;;;:7:::1;:16;::::0;;;;;:20;34218:116:::1;;-1:-1:-1::0;;;;;34301:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;34281:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;34262:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;34218:116:::1;-1:-1:-1::0;;;;;34348:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;34348:27:0::1;34371:4;34348:27:::0;;::::1;::::0;;;34390:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;34390:23:0::1;::::0;;::::1;::::0;;33950:475::o;17391:260::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;17484:22:0;::::1;17476:73;;;;-1:-1:-1::0;;;17476:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17590:6;::::0;;17569:38:::1;::::0;-1:-1:-1;;;;;17569:38:0;;::::1;::::0;17590:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;17569:38:0;::::1;17622:6;:17:::0;;-1:-1:-1;;;;;;17622:17:0::1;-1:-1:-1::0;;;;;17622:17:0;;;::::1;::::0;;;::::1;::::0;;17391:260::o;39180:168::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;39267:21:::1;39303:33;39267:21:::0;39303:13:::1;:33::i;45708:118::-:0;45793:21;45708:118;:::o;34437:522::-;16605:12;:10;:12::i;:::-;16595:6;;-1:-1:-1;;;;;16595:6:0;;;:22;;;16587:67;;;;;-1:-1:-1;;;16587:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16587:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;34522:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;34514:60;;;::::0;;-1:-1:-1;;;34514:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;34594:9;34589:359;34613:9;:16:::0;34609:20;::::1;34589:359;;;34675:7;-1:-1:-1::0;;;;;34659:23:0::1;:9;34669:1;34659:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;34659:12:0::1;:23;34655:278;;;34722:9;34732:16:::0;;-1:-1:-1;;34732:20:0;;;34722:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;34707:9:::1;:12:::0;;-1:-1:-1;;;;;34722:31:0;;::::1;::::0;34717:1;;34707:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;34707:46:0::1;-1:-1:-1::0;;;;;34707:46:0;;::::1;;::::0;;34776:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;34819:11:::1;:20:::0;;;;:28;;-1:-1:-1;;34819:28:0::1;::::0;;34870:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;34870:15:0;;;;;-1:-1:-1;;;;;;34870:15:0::1;::::0;;;;;34908:5:::1;;34655:278;34631:3;;34589:359;;;;34437:522:::0;:::o;28469:41::-;;;-1:-1:-1;;;;;28469:41:0;;:::o;814:114::-;906:10;814:114;:::o;35535:357::-;-1:-1:-1;;;;;35632:19:0;;35624:68;;;;-1:-1:-1;;;35624:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;35715:21:0;;35707:68;;;;-1:-1:-1;;;35707:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;35792:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;35848:32;;;;;;;;;;;;;;;;;35535:357;;;:::o;35904:2052::-;-1:-1:-1;;;;;36005:20:0;;35997:70;;;;-1:-1:-1;;;35997:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;36090:23:0;;36082:71;;;;-1:-1:-1;;;36082:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36185:1;36176:6;:10;36168:64;;;;-1:-1:-1;;;36168:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36274:7;:5;:7::i;:::-;-1:-1:-1;;;;;36264:17:0;:6;-1:-1:-1;;;;;36264:17:0;;;:41;;;;;36298:7;:5;:7::i;:::-;-1:-1:-1;;;;;36285:20:0;:9;-1:-1:-1;;;;;36285:20:0;;;36264:41;36261:138;;;36342:12;;36332:6;:22;;36324:75;;;;-1:-1:-1;;;36324:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36682:28;36713:24;36731:4;36713:9;:24::i;:::-;36682:55;;36793:12;;36769:20;:36;36766:124;;-1:-1:-1;36862:12:0;;36766:124;36969:29;;37018:6;;36945:53;;;;;-1:-1:-1;;;37018:6:0;;;;37017:7;:22;;;;-1:-1:-1;37028:11:0;;-1:-1:-1;;;37028:11:0;;;;37017:22;:45;;;;;37043:19;37017:45;:72;;;;;37076:13;-1:-1:-1;;;;;37066:23:0;:6;-1:-1:-1;;;;;37066:23:0;;;37017:72;37013:452;;;37200:38;37217:20;37200:16;:38::i;:::-;37304:21;37347:22;;37344:106;;37394:36;37408:21;37394:13;:36::i;:::-;37013:452;;-1:-1:-1;;;;;37697:26:0;;37558:12;37697:26;;;:18;:26;;;;;;37573:4;;37697:26;;;:59;;-1:-1:-1;;;;;;37727:29:0;;;;;;:18;:29;;;;;;;;37697:59;37694:113;;;-1:-1:-1;37786:5:0;37694:113;37897:47;37912:6;37919:9;37929:6;37936:7;37897:14;:47::i;:::-;35904:2052;;;;;;:::o;5341:208::-;5427:7;5467:12;5459:6;;;;5451:29;;;;-1:-1:-1;;;5451:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5507:5:0;;;5341:208::o;44680:175::-;44721:7;44746:15;44763;44782:19;:17;:19::i;:::-;44745:56;;-1:-1:-1;44745:56:0;-1:-1:-1;44823:20:0;44745:56;;44823:11;:20::i;:::-;44816:27;;;;44680:175;:::o;6871:140::-;6929:7;6960:39;6964:1;6967;6960:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6953:46;6871:140;-1:-1:-1;;;6871:140:0:o;4344:197::-;4402:7;4438:5;;;4466:6;;;;4458:46;;;;;-1:-1:-1;;;4458:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;43438:481;43497:7;43506;43515;43524;43533;43542;43567:23;43592:12;43606:13;43623:39;43635:7;43644;;43653:8;;43623:11;:39::i;:::-;43566:96;;;;;;43677:19;43700:10;:8;:10::i;:::-;43677:33;;43726:15;43743:23;43768:12;43784:39;43796:7;43805:4;43811:11;43784;:39::i;:::-;43725:98;;-1:-1:-1;43725:98:0;-1:-1:-1;43725:98:0;-1:-1:-1;43878:15:0;;-1:-1:-1;43895:4:0;;-1:-1:-1;43901:5:0;;-1:-1:-1;;;;;43438:481:0;;;;;;;:::o;4859:144::-;4917:7;4948:43;4952:1;4955;4948:43;;;;;;;;;;;;;;;;;:3;:43::i;37968:656::-;29140:6;:13;;-1:-1:-1;;;;29140:13:0;-1:-1:-1;;;29140:13:0;;;38137:16:::1;::::0;;38151:1:::1;38137:16:::0;;;38113:21:::1;38137:16:::0;;::::1;::::0;;38113:21;38137:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;38137:16:0::1;38113:40;;38186:4;38168;38173:1;38168:7;;;;;;;;;;;;;:23;-1:-1:-1::0;;;;;38168:23:0::1;;;-1:-1:-1::0;;;;;38168:23:0::1;;;::::0;::::1;38216:15;-1:-1:-1::0;;;;;38216:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;38216:22:0;38206:7;;:4;;38211:1:::1;::::0;38206:7;::::1;;;;;;;;;;:32;-1:-1:-1::0;;;;;38206:32:0::1;;;-1:-1:-1::0;;;;;38206:32:0::1;;;::::0;::::1;38255:62;38272:4;38287:15;38305:11;38255:8;:62::i;:::-;38364:15;-1:-1:-1::0;;;;;38364:66:0::1;;38449:11;38479:1;38527:4;38558;38582:15;38364:248;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;38364:248:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;29184:6:0;:14;;-1:-1:-1;;;;29184:14:0;;;-1:-1:-1;;;;37968:656:0:o;38644:178::-;38706:18;;-1:-1:-1;;;;;38706:18:0;:42;38734:13;:6;38745:1;38734:10;:13::i;:::-;38706:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38763:23:0;;-1:-1:-1;;;;;38763:23:0;:47;38796:13;:6;38807:1;38796:10;:13::i;:::-;38763:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39486:883;39602:7;39598:44;;39628:14;:12;:14::i;:::-;-1:-1:-1;;;;;39663:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;39687:22:0;;;;;;:11;:22;;;;;;;;39686:23;39663:46;39659:637;;;39730:48;39752:6;39760:9;39771:6;39730:21;:48::i;:::-;39659:637;;;-1:-1:-1;;;;;39805:19:0;;;;;;:11;:19;;;;;;;;39804:20;:46;;;;-1:-1:-1;;;;;;39828:22:0;;;;;;:11;:22;;;;;;;;39804:46;39800:496;;;39871:46;39891:6;39899:9;39910:6;39871:19;:46::i;39800:496::-;-1:-1:-1;;;;;39944:19:0;;;;;;:11;:19;;;;;;;;39943:20;:47;;;;-1:-1:-1;;;;;;39968:22:0;;;;;;:11;:22;;;;;;;;39967:23;39943:47;39939:357;;;40011:44;40029:6;40037:9;40048:6;40011:17;:44::i;39939:357::-;-1:-1:-1;;;;;40081:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;40104:22:0;;;;;;:11;:22;;;;;;;;40081:45;40077:219;;;40147:48;40169:6;40177:9;40188:6;40147:21;:48::i;40077:219::-;40236:44;40254:6;40262:9;40273:6;40236:17;:44::i;:::-;40316:7;40312:45;;40342:15;:13;:15::i;:::-;39486:883;;;;:::o;44867:601::-;44968:7;;45008;;44917;;;;;45036:305;45060:9;:16;45056:20;;45036:305;;;45130:7;45106;:21;45114:9;45124:1;45114:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45114:12:0;45106:21;;;;;;;;;;;;;:31;;:66;;;45165:7;45141;:21;45149:9;45159:1;45149:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45149:12:0;45141:21;;;;;;;;;;;;;:31;45106:66;45102:97;;;45182:7;;45191;;45174:25;;;;;;;;;45102:97;45228:34;45240:7;:21;45248:9;45258:1;45248:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45248:12:0;45240:21;;;;;;;;;;;;;45228:7;;:11;:34::i;:::-;45218:44;;45291:34;45303:7;:21;45311:9;45321:1;45311:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45311:12:0;45303:21;;;;;;;;;;;;;45291:7;;:11;:34::i;:::-;45281:44;-1:-1:-1;45078:3:0;;45036:305;;;-1:-1:-1;45381:7:0;;45369;;:20;;:11;:20::i;:::-;45359:7;:30;45355:61;;;45399:7;;45408;;45391:25;;;;;;;;45355:61;45439:7;;-1:-1:-1;45448:7:0;-1:-1:-1;44867:601:0;;;:::o;7548:298::-;7634:7;7673:12;7666:5;7658:28;;;;-1:-1:-1;;;7658:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:9;7717:1;7713;:5;;;;;;;7548:298;-1:-1:-1;;;;;7548:298:0:o;43931:371::-;44024:7;;;;44081:28;44105:3;44081:19;:7;44093:6;44081:11;:19::i;:::-;:23;;:28::i;:::-;44066:43;-1:-1:-1;44124:13:0;44140:29;44165:3;44140:20;:7;44152;44140:11;:20::i;:29::-;44124:45;-1:-1:-1;44184:23:0;44210:28;44124:45;44210:17;:7;44222:4;44210:11;:17::i;:::-;:21;;:28::i;:::-;44184:54;44278:4;;-1:-1:-1;44284:5:0;;-1:-1:-1;43931:371:0;;-1:-1:-1;;;;;43931:371:0:o;44314:354::-;44409:7;;;;44469:24;:7;44481:11;44469;:24::i;:::-;44451:42;-1:-1:-1;44508:12:0;44523:21;:4;44532:11;44523:8;:21::i;:::-;44508:36;-1:-1:-1;44559:23:0;44585:17;:7;44508:36;44585:11;:17::i;:::-;44625:7;;;;-1:-1:-1;44651:4:0;;-1:-1:-1;44314:354:0;;-1:-1:-1;;;;;44314:354:0:o;34971:262::-;35021:7;;:12;:29;;;;-1:-1:-1;35037:8:0;;:13;35021:29;35018:41;;;35052:7;;35018:41;35105:7;;;35087:15;:25;35146:8;;;35127:16;:27;-1:-1:-1;35183:11:0;;;;35209:12;34971:262;:::o;41529:584::-;41636:15;41653:23;41678:12;41692:23;41717:12;41731:13;41748:19;41759:7;41748:10;:19::i;:::-;-1:-1:-1;;;;;41800:15:0;;;;;;:7;:15;;;;;;41635:132;;-1:-1:-1;41635:132:0;;-1:-1:-1;41635:132:0;;-1:-1:-1;41635:132:0;-1:-1:-1;41635:132:0;-1:-1:-1;41635:132:0;-1:-1:-1;41800:28:0;;41820:7;41800:19;:28::i;:::-;-1:-1:-1;;;;;41782:15:0;;;;;;:7;:15;;;;;;;;:46;;;;41861:7;:15;;;;:28;;41881:7;41861:19;:28::i;:::-;-1:-1:-1;;;;;41843:15:0;;;;;;;:7;:15;;;;;;:46;;;;41925:18;;;;;;;:39;;41948:15;41925:22;:39::i;:::-;-1:-1:-1;;;;;41904:18:0;;;;;;:7;:18;;;;;:60;41980:16;41990:5;41980:9;:16::i;:::-;42014:23;42026:4;42032;42014:11;:23::i;:::-;42074:9;-1:-1:-1;;;;;42057:44:0;42066:6;-1:-1:-1;;;;;42057:44:0;;42085:15;42057:44;;;;;;;;;;;;;;;;;;41529:584;;;;;;;;;:::o;40910:607::-;41015:15;41032:23;41057:12;41071:23;41096:12;41110:13;41127:19;41138:7;41127:10;:19::i;:::-;-1:-1:-1;;;;;41179:15:0;;;;;;:7;:15;;;;;;41014:132;;-1:-1:-1;41014:132:0;;-1:-1:-1;41014:132:0;;-1:-1:-1;41014:132:0;-1:-1:-1;41014:132:0;-1:-1:-1;41014:132:0;-1:-1:-1;41179:28:0;;41014:132;41179:19;:28::i;:::-;-1:-1:-1;;;;;41161:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;41243:18;;;;;:7;:18;;;;;:39;;41266:15;41243:22;:39::i;:::-;-1:-1:-1;;;;;41222:18:0;;;;;;:7;:18;;;;;;;;:60;;;;41318:7;:18;;;;:39;;41341:15;41318:22;:39::i;40381:517::-;40484:15;40501:23;40526:12;40540:23;40565:12;40579:13;40596:19;40607:7;40596:10;:19::i;:::-;-1:-1:-1;;;;;40648:15:0;;;;;;:7;:15;;;;;;40483:132;;-1:-1:-1;40483:132:0;;-1:-1:-1;40483:132:0;;-1:-1:-1;40483:132:0;-1:-1:-1;40483:132:0;-1:-1:-1;40483:132:0;-1:-1:-1;40648:28:0;;40483:132;40648:19;:28::i;42125:667::-;42232:15;42249:23;42274:12;42288:23;42313:12;42327:13;42344:19;42355:7;42344:10;:19::i;:::-;-1:-1:-1;;;;;42396:15:0;;;;;;:7;:15;;;;;;42231:132;;-1:-1:-1;42231:132:0;;-1:-1:-1;42231:132:0;;-1:-1:-1;42231:132:0;-1:-1:-1;42231:132:0;-1:-1:-1;42231:132:0;-1:-1:-1;42396:28:0;;42416:7;42396:19;:28::i;:::-;-1:-1:-1;;;;;42378:15:0;;;;;;:7;:15;;;;;;;;:46;;;;42457:7;:15;;;;:28;;42477:7;42457:19;:28::i;35249:127::-;35307:15;;35297:7;:25;35348:16;;35337:8;:27;35249:127::o;5843:511::-;5901:7;6162:6;6158:55;;-1:-1:-1;6196:1:0;6189:8;;6158:55;6241:5;;;6245:1;6241;:5;:1;6269:5;;;;;:10;6261:56;;;;-1:-1:-1;;;6261:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42804:349;42861:19;42884:10;:8;:10::i;:::-;42861:33;-1:-1:-1;42909:13:0;42925:22;:5;42861:33;42925:9;:22::i;:::-;43003:4;42987:22;;;;:7;:22;;;;;;42909:38;;-1:-1:-1;42987:33:0;;42909:38;42987:26;:33::i;:::-;42978:4;42962:22;;;;:7;:22;;;;;;;;:58;;;;43038:11;:26;;;;;;43035:106;;;43124:4;43108:22;;;;:7;:22;;;;;;:33;;43135:5;43108:26;:33::i;:::-;43099:4;43083:22;;;;:7;:22;;;;;:58;43035:106;42804:349;;;:::o;43165:159::-;43247:7;;:17;;43259:4;43247:11;:17::i;:::-;43237:7;:27;43292:10;;:20;;43307:4;43292:14;:20::i;:::-;43279:10;:33;-1:-1:-1;;43165:159:0:o

Swarm Source

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