Contract 0xb263bA5D623A533D4c1A5DE262f287998C368f58

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x2c4c0010b820d9cc2abcdd7709875cfe5e93fd05813fd77f17b1c9fd018365c6Approve130067692021-11-27 21:29:155 hrs 36 mins ago0x6bc66ac1d5db87e7a764cbb6fff99993e6e7d88c IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000077984865
0xcb2009bbe704725e418f7742f329da7287bd7bdf9a23f24af33a8f6f226f482fApprove129243002021-11-24 18:31:053 days 8 hrs ago0x68e4d1af872b766169fa872c9556b245ba0ddf50 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.00026706
0xb7382a5ad084d76d2971baddad1728bf95da07d72d8c7a0e17eb875046294acdApprove129007822021-11-23 22:05:314 days 5 hrs ago0x59c4fcab0a6ef25f7ac646876fee72117b037352 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000072815
0x6b38b8171eedcf488eec39d3c345eb25708119070a9cda2d41e6317af364d501Approve127942162021-11-20 2:25:508 days 39 mins ago0x45cd25029f3fa74151d088e5547985720c93cb9d IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000072815
0xd72698d1ca85f63b8d2fdd07aec81bc84881978564ac0e61d37f4250231facf7Approve127507732021-11-18 12:28:569 days 14 hrs ago0x2770043644c20b183a7afcce1fdb12bbac159d9e IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000077984865
0x0379ae6fd96da318287d3cacb33931cd1469bd32bd895b8d3f07967062c74a92Approve127290402021-11-17 17:48:1310 days 9 hrs ago0xed4b12f77ff7111ebe3af690ab2e838081a5140b IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.00026706
0x6ff690b252551d39b2c6d1e67cdc3525f53261af51730496e83b350b9e209b44Approve126597982021-11-15 4:07:3612 days 22 hrs ago0x031f9ca1164d144b7becbc2dec87437e372e9ff1 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000077984865
0x1c4462057f6a853e95e86a5e621d51441eab0f228bf793b28ba020266f09d060Approve126492722021-11-14 18:58:5113 days 8 hrs ago0x942520129e39068f491cff58c7c368b5119c9d8b IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.00012463
0x2d41e65de7a624f3c8f36c58db0734efbe467cb1af1b6e6a07a4792da4036188Approve126492652021-11-14 18:58:3013 days 8 hrs ago0x942520129e39068f491cff58c7c368b5119c9d8b IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000072815
0x0e2ecf014b1d2b2ad3a7ebf816c4a38ea2b219dc93c3e5efec6d18c7b12bf191Approve125463912021-11-11 2:28:3517 days 37 mins ago0xdb7df042d0b1fc88e0c3203b8e8d524561fe43f4 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.00022255
0x1a1a05d670115b48e1544083f3337553e7865c8c6078b48ffdb162354e098208Approve125280252021-11-10 10:26:0317 days 16 hrs ago0xb28bad576fb5733d73c64e19b47233e712b34f87 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.0000742713
0xa85da860d039350500337ac64cda26047b5e6472996f8b0d704af6763fa44d05Transfer124827022021-11-08 19:57:0819 days 7 hrs ago0xc4cb8ef2bf3113d48d2c72fb67885a14a9e1a17a IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.002983265
0x408d802362929938c173fb3cd2a5640cd8963e5a061b197c96a6ae36cefc2f00Approve124779692021-11-08 15:56:0519 days 11 hrs ago0xcaa1acbb5f0b55967dedaa8dee9e9715bde18b50 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.0000742713
0x7feca9736c91d3c3e740074568e7f3b8d5ec74dc9262112de3900c9bab7d97a8Approve124488202021-11-07 15:30:0620 days 11 hrs ago0xecc48965cdd6dfe08f8112953d794322680eace6 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000072815
0xf70e57bfd513c3d34f6602a7efb6f0fb4af62f8d5b36cf5e97a8aa87e2898c9fApprove124452712021-11-07 12:31:4720 days 14 hrs ago0xf113fd95447c3a086d5847e4898e4d7d569b910d IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.00012463
0x3ff2d5d985d201ff5653537327e1f862fa065694aca51c280bb56e06f9a15b3dApprove124451492021-11-07 12:25:4120 days 14 hrs ago0xf113fd95447c3a086d5847e4898e4d7d569b910d IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000072815
0xc04d0062aafacd543c006a814a37bb2c9036d982c203cbb903e7441f528f0173Approve124398402021-11-07 7:58:5620 days 19 hrs ago0x45979437ba5fb7d521ed4a6f05f08a20c7b54780 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.0000742713
0x98eca94b15b94fcee2f3ab4adb68870c395957c4aff78883f6429b5095a6989eApprove124315972021-11-07 1:04:5121 days 2 hrs ago0x23b5fd1d12763a26c8361a58dece027707e61c8b IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000072815
0xbad167e62f0049b65fbad1a18c20b898c103559fa6b7a8a5637eaea37e59e255Approve124241632021-11-06 18:52:5621 days 8 hrs ago0xea950cbd53042c6277ba60caed8770fd9dc12006 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.0000742713
0x8f1945f43c5c64e887b2ca68d4426c77f01a52ccd06b6c0d1d3b3ec2a8d3b7c8Approve124219712021-11-06 17:01:5221 days 10 hrs ago0x3764687e2d66b8693c404767ca1730381e6e10f1 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.000087378
0xee79d83c7589aa903f8bebec0fc2e44513a7bfb46464c3536eaba1ae34215dd7Approve124215342021-11-06 16:38:5521 days 10 hrs ago0x8c3e630faffbe854c282de01c6e864d8c6fcf4d3 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.0000742713
0x29a9fbcd7b3bb65b69084c5eb0c9b342fe1ad128b4fd7f92f44e70c58d6d1f8cApprove123519142021-11-04 5:19:2423 days 21 hrs ago0x97bb6df7aef54b6a5901bd8f04cc245a04acbdb6 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.0000742713
0xd1df74b3c8b40c6b25e02284d5bb1c7ab33ff5ae256bf966bb670172ac9518c6Approve123452272021-11-03 23:41:4624 days 3 hrs ago0xc6ce2fae7aa82427a18a2f96e643ba4296579ef7 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.00022255
0xea1a054739f91e82a9b687697fa62db176ef5001174f9d57cf21a680f059e4beApprove123381882021-11-03 17:42:5524 days 9 hrs ago0x78cfed05c29807f31df2d156a8a1cf3aaf998f84 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.00022255
0x8820f72e2213b1250e439183b8c8f0bef8452f46da1e3b1836fbe91d1dda1435Approve123196842021-11-03 1:19:5025 days 1 hr ago0xf847ffd5d01402284045fa0dffa389481ac14c52 IN  0xb263ba5d623a533d4c1a5de262f287998c368f580 BNB0.0000742713
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BabyDollToken

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.2;


abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(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;
    }
}

/**
 * @dev Interface of the BEP20 standard as defined in the EIP.
 */
interface IBEP20 {
    /**
     * @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);
}

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @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);
            }
        }
    }
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable is Context {
    address public _owner;

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


    /**
     * @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;
    }
}

contract BabyDollToken is Context, IBEP20, 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 _isExcluded;
    mapping (address => bool) private _isCharity;
    address[] private _excluded;
    
    string  private _NAME;
    string  private _SYMBOL;
    uint256   private _DECIMALS;
	address public FeeAddress;
   
    uint256 private _MAX = ~uint256(0);
    uint256 private _DECIMALFACTOR;
    uint256 private _GRANULARITY = 100;
    
    uint256 private _tTotal;
    uint256 private _rTotal;
    
    uint256 private _tFeeTotal;
    uint256 private _tBurnTotal;
    uint256 private _tCharityTotal;
    
    uint256 public     _TAX_FEE;
    uint256 public    _BURN_FEE;
    uint256 public _CHARITY_FEE;

    // Track original fees to bypass fees for charity account
    uint256 private ORIG_TAX_FEE;
    uint256 private ORIG_BURN_FEE;
    uint256 private ORIG_CHARITY_FEE;

    constructor (string memory _name, string memory _symbol, uint256 _decimals, uint256 _supply, uint256 _txFee,uint256 _burnFee,uint256 _charityFee,address _FeeAddress,address tokenOwner) {
		_NAME = _name;
		_SYMBOL = _symbol;
		_DECIMALS = _decimals;
		_DECIMALFACTOR = 10 ** uint256(_DECIMALS);
		_tTotal =_supply * _DECIMALFACTOR;
		_rTotal = (_MAX - (_MAX % _tTotal));
		_TAX_FEE = _txFee* 100; 
        _BURN_FEE = _burnFee * 100;
		_CHARITY_FEE = _charityFee* 100;
		ORIG_TAX_FEE = _TAX_FEE;
		ORIG_BURN_FEE = _BURN_FEE;
		ORIG_CHARITY_FEE = _CHARITY_FEE;
		_isCharity[_FeeAddress] = true;
		FeeAddress = _FeeAddress;
		_owner = tokenOwner;
        _rOwned[tokenOwner] = _rTotal;
		
        emit Transfer(address(0),tokenOwner, _tTotal);
    }

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

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

    function decimals() public view returns (uint256) {
        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, "TOKEN20: 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, "TOKEN20: decreased allowance below zero"));
        return true;
    }

    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }
    
    function isCharity(address account) public view returns (bool) {
        return _isCharity[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }
    
    function totalBurn() public view returns (uint256) {
        return _tBurnTotal;
    }
    
    function totalCharity() public view returns (uint256) {
        return _tCharityTotal;
    }

    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(!_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 setAsCharityAccount(address account) external onlyOwner() {
        require(!_isCharity[account], "Account is already charity account");
        _isCharity[account] = true;
		FeeAddress = account;
    }

	function burn(uint256 _value) public{
		_burn(msg.sender, _value);
	}
	
	function updateFee(uint256 _txFee,uint256 _burnFee,uint256 _charityFee) onlyOwner() public{
        _TAX_FEE = _txFee* 100; 
        _BURN_FEE = _burnFee * 100;
		_CHARITY_FEE = _charityFee* 100;
		ORIG_TAX_FEE = _TAX_FEE;
		ORIG_BURN_FEE = _BURN_FEE;
		ORIG_CHARITY_FEE = _CHARITY_FEE;
	}
	

	function _burn(address _who, uint256 _value) internal {
		require(_value <= _rOwned[_who]);
		_rOwned[_who] = _rOwned[_who].sub(_value);
		_tTotal = _tTotal.sub(_value);
		emit Transfer(_who, address(0), _value);
	}

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "TOKEN20: approve from the zero address");
        require(spender != address(0), "TOKEN20: 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), "TOKEN20: transfer from the zero address");
        require(recipient != address(0), "TOKEN20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        // Remove fees for transfers to and from charity account or to excluded account
        bool takeFee = true;
        if (_isCharity[sender] || _isCharity[recipient] || _isExcluded[recipient]) {
            takeFee = false;
        }

        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 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn, uint256 tCharity) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);
        uint256 rCharity = tCharity.mul(currentRate);     
        _standardTransferContent(sender, recipient, rAmount, rTransferAmount);
        _sendToCharity(tCharity, sender);
        _reflectFee(rFee, rBurn, rCharity, tFee, tBurn, tCharity);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function _standardTransferContent(address sender, address recipient, uint256 rAmount, uint256 rTransferAmount) private {
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
    }
    
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn, uint256 tCharity) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);
        uint256 rCharity = tCharity.mul(currentRate);
        _excludedFromTransferContent(sender, recipient, tTransferAmount, rAmount, rTransferAmount);        
        _sendToCharity(tCharity, sender);
        _reflectFee(rFee, rBurn, rCharity, tFee, tBurn, tCharity);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function _excludedFromTransferContent(address sender, address recipient, uint256 tTransferAmount, uint256 rAmount, uint256 rTransferAmount) private {
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);    
    }
    

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn, uint256 tCharity) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);
        uint256 rCharity = tCharity.mul(currentRate);
        _excludedToTransferContent(sender, recipient, tAmount, rAmount, rTransferAmount);
        _sendToCharity(tCharity, sender);
        _reflectFee(rFee, rBurn, rCharity, tFee, tBurn, tCharity);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function _excludedToTransferContent(address sender, address recipient, uint256 tAmount, uint256 rAmount, uint256 rTransferAmount) private {
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);  
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn, uint256 tCharity) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);
        uint256 rCharity = tCharity.mul(currentRate);    
        _bothTransferContent(sender, recipient, tAmount, rAmount, tTransferAmount, rTransferAmount);  
        _sendToCharity(tCharity, sender);
        _reflectFee(rFee, rBurn, rCharity, tFee, tBurn, tCharity);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function _bothTransferContent(address sender, address recipient, uint256 tAmount, uint256 rAmount, uint256 tTransferAmount, uint256 rTransferAmount) private {
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);  
    }

    function _reflectFee(uint256 rFee, uint256 rBurn, uint256 rCharity, uint256 tFee, uint256 tBurn, uint256 tCharity) private {
        _rTotal = _rTotal.sub(rFee).sub(rBurn).sub(rCharity);
        _tFeeTotal = _tFeeTotal.add(tFee);
        _tBurnTotal = _tBurnTotal.add(tBurn);
        _tCharityTotal = _tCharityTotal.add(tCharity);
        _tTotal = _tTotal.sub(tBurn);
		emit Transfer(address(this), address(0), tBurn);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tFee, uint256 tBurn, uint256 tCharity) = _getTBasics(tAmount, _TAX_FEE, _BURN_FEE, _CHARITY_FEE);
        uint256 tTransferAmount = getTTransferAmount(tAmount, tFee, tBurn, tCharity);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rFee) = _getRBasics(tAmount, tFee, currentRate);
        uint256 rTransferAmount = _getRTransferAmount(rAmount, rFee, tBurn, tCharity, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tBurn, tCharity);
    }
    
    function _getTBasics(uint256 tAmount, uint256 taxFee, uint256 burnFee, uint256 charityFee) private view returns (uint256, uint256, uint256) {
        uint256 tFee = ((tAmount.mul(taxFee)).div(_GRANULARITY)).div(100);
        uint256 tBurn = ((tAmount.mul(burnFee)).div(_GRANULARITY)).div(100);
        uint256 tCharity = ((tAmount.mul(charityFee)).div(_GRANULARITY)).div(100);
        return (tFee, tBurn, tCharity);
    }
    
    function getTTransferAmount(uint256 tAmount, uint256 tFee, uint256 tBurn, uint256 tCharity) private pure returns (uint256) {
        return tAmount.sub(tFee).sub(tBurn).sub(tCharity);
    }
    
    function _getRBasics(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        return (rAmount, rFee);
    }
    
    function _getRTransferAmount(uint256 rAmount, uint256 rFee, uint256 tBurn, uint256 tCharity, uint256 currentRate) private pure returns (uint256) {
        uint256 rBurn = tBurn.mul(currentRate);
        uint256 rCharity = tCharity.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rBurn).sub(rCharity);
        return rTransferAmount;
    }

    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 _sendToCharity(uint256 tCharity, address sender) private {
        uint256 currentRate = _getRate();
        uint256 rCharity = tCharity.mul(currentRate);
        _rOwned[FeeAddress] = _rOwned[FeeAddress].add(rCharity);
        _tOwned[FeeAddress] = _tOwned[FeeAddress].add(tCharity);
        emit Transfer(sender, FeeAddress, tCharity);
    }

    function removeAllFee() private {
        if(_TAX_FEE == 0 && _BURN_FEE == 0 && _CHARITY_FEE == 0) return;
        
        ORIG_TAX_FEE = _TAX_FEE;
        ORIG_BURN_FEE = _BURN_FEE;
        ORIG_CHARITY_FEE = _CHARITY_FEE;
        
        _TAX_FEE = 0;
        _BURN_FEE = 0;
        _CHARITY_FEE = 0;
    }
    
    function restoreAllFee() private {
        _TAX_FEE = ORIG_TAX_FEE;
        _BURN_FEE = ORIG_BURN_FEE;
        _CHARITY_FEE = ORIG_CHARITY_FEE;
    }
    
    function _getTaxFee() private view returns(uint256) {
        return _TAX_FEE;
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_decimals","type":"uint256"},{"internalType":"uint256","name":"_supply","type":"uint256"},{"internalType":"uint256","name":"_txFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_charityFee","type":"uint256"},{"internalType":"address","name":"_FeeAddress","type":"address"},{"internalType":"address","name":"tokenOwner","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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"FeeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_BURN_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CHARITY_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_TAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","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":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"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":"isCharity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}],"name":"setAsCharityAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalCharity","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":[{"internalType":"uint256","name":"_txFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_charityFee","type":"uint256"}],"name":"updateFee","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600019600b556064600d553480156200001c57600080fd5b50604051620027cb380380620027cb8339810160408190526200003f916200030b565b8851620000549060079060208c019062000195565b5087516200006a9060089060208b019062000195565b5060098790556200007d87600a62000415565b600c8190556200008e90876200050a565b600e819055600b54620000a2919062000583565b600b54620000b191906200052c565b600f55620000c18560646200050a565b601355620000d18460646200050a565b601455620000e18360646200050a565b60158190556013546016556014546017556018556001600160a01b038281166000818152600560209081526040808320805460ff19166001908117909155600a80546001600160a01b0319908116909617905583549587169590941685178355600f5485845293825280832093909355600e54925192835290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050505050620005d0565b828054620001a39062000546565b90600052602060002090601f016020900481019282620001c7576000855562000212565b82601f10620001e257805160ff191683800117855562000212565b8280016001018555821562000212579182015b8281111562000212578251825591602001919060010190620001f5565b506200022092915062000224565b5090565b5b8082111562000220576000815560010162000225565b80516001600160a01b03811681146200025357600080fd5b919050565b600082601f83011262000269578081fd5b81516001600160401b0380821115620002865762000286620005ba565b604051601f8301601f19908116603f01168101908282118183101715620002b157620002b1620005ba565b81604052838152602092508683858801011115620002cd578485fd5b8491505b83821015620002f05785820183015181830184015290820190620002d1565b838211156200030157848385830101525b9695505050505050565b60008060008060008060008060006101208a8c0312156200032a578485fd5b89516001600160401b038082111562000341578687fd5b6200034f8d838e0162000258565b9a5060208c015191508082111562000365578687fd5b50620003748c828d0162000258565b98505060408a0151965060608a0151955060808a0151945060a08a0151935060c08a01519250620003a860e08b016200023b565b9150620003b96101008b016200023b565b90509295985092959850929598565b80825b6001808611620003dc57506200040c565b818704821115620003f157620003f1620005a4565b80861615620003ff57918102915b9490941c938002620003cb565b94509492505050565b60006200042660001984846200042d565b9392505050565b6000826200043e5750600162000426565b816200044d5750600062000426565b81600181146200046657600281146200047157620004a5565b600191505062000426565b60ff841115620004855762000485620005a4565b6001841b9150848211156200049e576200049e620005a4565b5062000426565b5060208310610133831016604e8410600b8410161715620004dd575081810a83811115620004d757620004d7620005a4565b62000426565b620004ec8484846001620003c8565b808604821115620005015762000501620005a4565b02949350505050565b6000816000190483118215151615620005275762000527620005a4565b500290565b600082821015620005415762000541620005a4565b500390565b6002810460018216806200055b57607f821691505b602082108114156200057d57634e487b7160e01b600052602260045260246000fd5b50919050565b6000826200059f57634e487b7160e01b81526012600452602481fd5b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6121eb80620005e06000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80637b7e8bac1161010f578063cba0e996116100a2578063f2cc0c1811610071578063f2cc0c1814610433578063f2fde38b14610446578063f84354f114610459578063fc061a4f1461046c576101f0565b8063cba0e9961461039a578063d608b3b2146103c6578063dd62ed3e146103ce578063e81ffbef14610407576101f0565b8063a9059cbb116100de578063a9059cbb14610362578063ae9dd5e014610375578063b2bdfa7b1461037e578063b586242814610391576101f0565b80637b7e8bac1461030b5780638da5cb5b1461033657806395d89b4114610347578063a457c2d71461034f576101f0565b80633bd5d17311610187578063457bdf6c11610156578063457bdf6c146102d457806370a08231146102e7578063715018a6146102fa57806377ef799314610302576101f0565b80633bd5d173146102915780633c9f861d146102a657806342966c68146102ae5780634549b039146102c1576101f0565b806323b872dd116101c357806323b872dd146102505780632d83811914610263578063313ce56714610276578063395093511461027e576101f0565b806306fdde03146101f5578063095ea7b31461021357806313114a9d1461023657806318160ddd14610248575b600080fd5b6101fd61047f565b60405161020a9190611fe2565b60405180910390f35b610226610221366004611f43565b610511565b604051901515815260200161020a565b6010545b60405190815260200161020a565b600e5461023a565b61022661025e366004611f08565b610528565b61023a610271366004611f6c565b610591565b60095461023a565b61022661028c366004611f43565b61061c565b6102a461029f366004611f6c565b610652565b005b60115461023a565b6102a46102bc366004611f6c565b61073e565b61023a6102cf366004611f84565b61074b565b6102a46102e2366004611ebc565b6107da565b61023a6102f5366004611ebc565b6108af565b6102a4610911565b61023a60145481565b600a5461031e906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b6000546001600160a01b031661031e565b6101fd610985565b61022661035d366004611f43565b610994565b610226610370366004611f43565b6109e3565b61023a60155481565b60005461031e906001600160a01b031681565b61023a60135481565b6102266103a8366004611ebc565b6001600160a01b031660009081526004602052604090205460ff1690565b60125461023a565b61023a6103dc366004611ed6565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b610226610415366004611ebc565b6001600160a01b031660009081526005602052604090205460ff1690565b6102a4610441366004611ebc565b6109f0565b6102a4610454366004611ebc565b610b43565b6102a4610467366004611ebc565b610c2d565b6102a461047a366004611fb7565b610e1d565b60606007805461048e906120d8565b80601f01602080910402602001604051908101604052809291908181526020018280546104ba906120d8565b80156105075780601f106104dc57610100808354040283529160200191610507565b820191906000526020600020905b8154815290600101906020018083116104ea57829003601f168201915b5050505050905090565b600061051e338484610e87565b5060015b92915050565b6000610535848484610faf565b6105878433610582856040518060600160405280602a815260200161216c602a91396001600160a01b038a16600090815260036020908152604080832033845290915290205491906112cc565b610e87565b5060019392505050565b6000600f548211156105fd5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084015b60405180910390fd5b6000610607611306565b90506106138382611329565b9150505b919050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161051e9185906105829086611372565b3360008181526004602052604090205460ff16156106c75760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084016105f4565b60006106d2836113d1565b5050506001600160a01b03861660009081526001602052604090205493945061070093925084915050611455565b6001600160a01b038316600090815260016020526040902055600f546107269082611455565b600f556010546107369084611372565b601055505050565b6107483382611497565b50565b6000600e5483111561079f5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016105f4565b816107bf5760006107af846113d1565b5094965061052295505050505050565b60006107ca846113d1565b5093965061052295505050505050565b6000546001600160a01b031633146108045760405162461bcd60e51b81526004016105f490612035565b6001600160a01b03811660009081526005602052604090205460ff16156108785760405162461bcd60e51b815260206004820152602260248201527f4163636f756e7420697320616c72656164792063686172697479206163636f756044820152611b9d60f21b60648201526084016105f4565b6001600160a01b03166000818152600560205260409020805460ff19166001179055600a80546001600160a01b0319169091179055565b6001600160a01b03811660009081526004602052604081205460ff16156108ef57506001600160a01b038116600090815260026020526040902054610617565b6001600160a01b03821660009081526001602052604090205461052290610591565b6000546001600160a01b0316331461093b5760405162461bcd60e51b81526004016105f490612035565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60606008805461048e906120d8565b600061051e338461058285604051806060016040528060278152602001612145602791393360009081526003602090815260408083206001600160a01b038d16845290915290205491906112cc565b600061051e338484610faf565b6000546001600160a01b03163314610a1a5760405162461bcd60e51b81526004016105f490612035565b6001600160a01b03811660009081526004602052604090205460ff1615610a835760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016105f4565b6001600160a01b03811660009081526001602052604090205415610add576001600160a01b038116600090815260016020526040902054610ac390610591565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6000546001600160a01b03163314610b6d5760405162461bcd60e51b81526004016105f490612035565b6001600160a01b038116610bd25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c575760405162461bcd60e51b81526004016105f490612035565b6001600160a01b03811660009081526004602052604090205460ff16610cbf5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016105f4565b60005b600654811015610e1957816001600160a01b031660068281548110610cf757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610e075760068054610d22906001906120c1565b81548110610d4057634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600680546001600160a01b039092169183908110610d7a57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556006805480610de057634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055610e19565b80610e1181612113565b915050610cc2565b5050565b6000546001600160a01b03163314610e475760405162461bcd60e51b81526004016105f490612035565b610e528360646120a2565b601355610e608260646120a2565b601455610e6e8160646120a2565b6015819055601354601655601454601755601855505050565b6001600160a01b038316610eec5760405162461bcd60e51b815260206004820152602660248201527f544f4b454e32303a20617070726f76652066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016105f4565b6001600160a01b038216610f4e5760405162461bcd60e51b8152602060048201526024808201527f544f4b454e32303a20617070726f766520746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105f4565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110155760405162461bcd60e51b815260206004820152602760248201527f544f4b454e32303a207472616e736665722066726f6d20746865207a65726f206044820152666164647265737360c81b60648201526084016105f4565b6001600160a01b0382166110795760405162461bcd60e51b815260206004820152602560248201527f544f4b454e32303a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b60648201526084016105f4565b600081116110db5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105f4565b6001600160a01b03831660009081526005602052604090205460019060ff168061111d57506001600160a01b03831660009081526005602052604090205460ff165b8061114057506001600160a01b03831660009081526004602052604090205460ff165b15611149575060005b806111565761115661153b565b6001600160a01b03841660009081526004602052604090205460ff16801561119757506001600160a01b03831660009081526004602052604090205460ff16155b156111ac576111a7848484611584565b6112aa565b6001600160a01b03841660009081526004602052604090205460ff161580156111ed57506001600160a01b03831660009081526004602052604090205460ff165b156111fd576111a7848484611646565b6001600160a01b03841660009081526004602052604090205460ff1615801561123f57506001600160a01b03831660009081526004602052604090205460ff16155b1561124f576111a78484846116a6565b6001600160a01b03841660009081526004602052604090205460ff16801561128f57506001600160a01b03831660009081526004602052604090205460ff165b1561129f576111a7848484611705565b6112aa8484846116a6565b806112c6576112c6601654601355601754601455601854601555565b50505050565b600081848411156112f05760405162461bcd60e51b81526004016105f49190611fe2565b5060006112fd84866120c1565b95945050505050565b6000806000611313611766565b90925090506113228282611329565b9250505090565b600061136b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611923565b9392505050565b60008061137f838561206a565b90508381101561136b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105f4565b6000806000806000806000806000806113f28b601354601454601554611951565b92509250925060006114068c8585856119d0565b90506000611412611306565b90506000806114228f88856119e8565b9150915060006114358383898988611a12565b929e50919c509a5091985093965091945092505050919395979092949650565b600061136b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112cc565b6001600160a01b0382166000908152600160205260409020548111156114bc57600080fd5b6001600160a01b0382166000908152600160205260409020546114df9082611455565b6001600160a01b038316600090815260016020526040902055600e546115059082611455565b600e556040518181526000906001600160a01b038416906000805160206121968339815191529060200160405180910390a35050565b60135415801561154b5750601454155b80156115575750601554155b1561156157611582565b60138054601655601480546017556015805460185560009283905590829055555b565b600061158e611306565b905060008060008060008060006115a4896113d1565b965096509650965096509650965060006115c78984611a4e90919063ffffffff16565b905060006115d5838b611a4e565b90506115e48d8d8d8c8c611acd565b6115ee838e611b71565b6115fc878383888888611c40565b8b6001600160a01b03168d6001600160a01b03166000805160206121968339815191528860405161162f91815260200190565b60405180910390a350505050505050505050505050565b6000611650611306565b90506000806000806000806000611666896113d1565b965096509650965096509650965060006116898984611a4e90919063ffffffff16565b90506000611697838b611a4e565b90506115e48d8d888c8c611cce565b60006116b0611306565b905060008060008060008060006116c6896113d1565b965096509650965096509650965060006116e98984611a4e90919063ffffffff16565b905060006116f7838b611a4e565b90506115e48d8d8b8b611d56565b600061170f611306565b90506000806000806000806000611725896113d1565b965096509650965096509650965060006117488984611a4e90919063ffffffff16565b90506000611756838b611a4e565b90506115e48d8d8d8c8a8d611dca565b600f54600e546000918291825b6006548110156118f1578260016000600684815481106117a357634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061181c57508160026000600684815481106117f557634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561183357600f54600e549450945050505061191f565b611887600160006006848154811061185b57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611455565b92506118dd60026000600684815481106118b157634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611455565b9150806118e981612113565b915050611773565b50600e54600f5461190191611329565b82101561191957600f54600e5493509350505061191f565b90925090505b9091565b600081836119445760405162461bcd60e51b81526004016105f49190611fe2565b5060006112fd8486612082565b60008060008061197b6064611975600d546119758b8d611a4e90919063ffffffff16565b90611329565b9050600061199d6064611975600d546119758b8e611a4e90919063ffffffff16565b905060006119bf6064611975600d546119758b8f611a4e90919063ffffffff16565b929a91995091975095505050505050565b60006112fd826119e285818989611455565b90611455565b600080806119f68685611a4e565b90506000611a048686611a4e565b919791965090945050505050565b600080611a1f8584611a4e565b90506000611a2d8585611a4e565b90506000611a41826119e285818d8d611455565b9998505050505050505050565b600082611a5d57506000610522565b6000611a6983856120a2565b905082611a768583612082565b1461136b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105f4565b6001600160a01b038516600090815260026020526040902054611af09084611455565b6001600160a01b038616600090815260026020908152604080832093909355600190522054611b1f9083611455565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611b4e9082611372565b6001600160a01b0390941660009081526001602052604090209390935550505050565b6000611b7b611306565b90506000611b898483611a4e565b600a546001600160a01b0316600090815260016020526040902054909150611bb19082611372565b600a80546001600160a01b039081166000908152600160209081526040808320959095559254909116815260029091522054611bed9085611372565b600a80546001600160a01b0390811660009081526002602090815260409182902094909455915491518781529181169290861691600080516020612196833981519152910160405180910390a350505050565b611c5d846119e2876119e28a600f5461145590919063ffffffff16565b600f55601054611c6d9084611372565b601055601154611c7d9083611372565b601155601254611c8d9082611372565b601255600e54611c9d9083611455565b600e5560405182815260009030906000805160206121968339815191529060200160405180910390a3505050505050565b6001600160a01b038516600090815260016020526040902054611cf19083611455565b6001600160a01b03808716600090815260016020908152604080832094909455918716815260029091522054611d279084611372565b6001600160a01b038516600090815260026020908152604080832093909355600190522054611b4e9082611372565b6001600160a01b038416600090815260016020526040902054611d799083611455565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611da89082611372565b6001600160a01b03909316600090815260016020526040902092909255505050565b6001600160a01b038616600090815260026020526040902054611ded9085611455565b6001600160a01b038716600090815260026020908152604080832093909355600190522054611e1c9084611455565b6001600160a01b03808816600090815260016020908152604080832094909455918816815260029091522054611e529083611372565b6001600160a01b038616600090815260026020908152604080832093909355600190522054611e819082611372565b6001600160a01b039095166000908152600160205260409020949094555050505050565b80356001600160a01b038116811461061757600080fd5b600060208284031215611ecd578081fd5b61136b82611ea5565b60008060408385031215611ee8578081fd5b611ef183611ea5565b9150611eff60208401611ea5565b90509250929050565b600080600060608486031215611f1c578081fd5b611f2584611ea5565b9250611f3360208501611ea5565b9150604084013590509250925092565b60008060408385031215611f55578182fd5b611f5e83611ea5565b946020939093013593505050565b600060208284031215611f7d578081fd5b5035919050565b60008060408385031215611f96578182fd5b8235915060208301358015158114611fac578182fd5b809150509250929050565b600080600060608486031215611fcb578283fd5b505081359360208301359350604090920135919050565b6000602080835283518082850152825b8181101561200e57858101830151858201604001528201611ff2565b8181111561201f5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000821982111561207d5761207d61212e565b500190565b60008261209d57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156120bc576120bc61212e565b500290565b6000828210156120d3576120d361212e565b500390565b6002810460018216806120ec57607f821691505b6020821081141561210d57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156121275761212761212e565b5060010190565b634e487b7160e01b600052601160045260246000fdfe544f4b454e32303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f544f4b454e32303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d82e37a7654860bb7b832fbd5e2cd9a4bab9c0df49ff4af9ec5f3987ba0eff3b64736f6c6343000802003300000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000006ba3776afcef7d3dadbba8e793550ce3b17e19fe0000000000000000000000006ba3776afcef7d3dadbba8e793550ce3b17e19fe000000000000000000000000000000000000000000000000000000000000000c42414259444f4c4c204253430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000842414259444f4c4c000000000000000000000000000000000000000000000000

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

00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000006ba3776afcef7d3dadbba8e793550ce3b17e19fe0000000000000000000000006ba3776afcef7d3dadbba8e793550ce3b17e19fe000000000000000000000000000000000000000000000000000000000000000c42414259444f4c4c204253430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000842414259444f4c4c000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): BABYDOLL BSC
Arg [1] : _symbol (string): BABYDOLL
Arg [2] : _decimals (uint256): 12
Arg [3] : _supply (uint256): 10000000000000000
Arg [4] : _txFee (uint256): 5
Arg [5] : _burnFee (uint256): 1
Arg [6] : _charityFee (uint256): 4
Arg [7] : _FeeAddress (address): 0x6ba3776afcef7d3dadbba8e793550ce3b17e19fe
Arg [8] : tokenOwner (address): 0x6ba3776afcef7d3dadbba8e793550ce3b17e19fe

-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [3] : 000000000000000000000000000000000000000000000000002386f26fc10000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 0000000000000000000000006ba3776afcef7d3dadbba8e793550ce3b17e19fe
Arg [8] : 0000000000000000000000006ba3776afcef7d3dadbba8e793550ce3b17e19fe
Arg [9] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [10] : 42414259444f4c4c204253430000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [12] : 42414259444f4c4c000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

16567:17027:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18495:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19409:161;;;;;;:::i;:::-;;:::i;:::-;;;2545:14:1;;2538:22;2520:41;;2508:2;2493:18;19409:161:0;2475:92:1;20644:87:0;20713:10;;20644:87;;;8831:25:1;;;8819:2;8804:18;20644:87:0;8786:76:1;18774:95:0;18854:7;;18774:95;;19578:315;;;;;;:::i;:::-;;:::i;21777:253::-;;;;;;:::i;:::-;;:::i;18681:85::-;18749:9;;18681:85;;19901:218;;;;;;:::i;:::-;;:::i;20945:378::-;;;;;;:::i;:::-;;:::i;:::-;;20743:88;20812:11;;20743:88;;23084:71;;;;;;:::i;:::-;;:::i;21331:438::-;;;;;;:::i;:::-;;:::i;22864:215::-;;;;;;:::i;:::-;;:::i;18877:198::-;;;;;;:::i;:::-;;:::i;16013:148::-;;;:::i;17476:27::-;;;;;;17104:25;;;;;-1:-1:-1;;;;;17104:25:0;;;;;;-1:-1:-1;;;;;2336:32:1;;;2318:51;;2306:2;2291:18;17104:25:0;2273:102:1;15371:79:0;15409:7;15436:6;-1:-1:-1;;;;;15436:6:0;15371:79;;18586:87;;;:::i;20127:271::-;;;;;;:::i;:::-;;:::i;19083:167::-;;;;;;:::i;:::-;;:::i;17510:27::-;;;;;;15174:21;;;;;-1:-1:-1;;;;;15174:21:0;;;17442:27;;;;;;20406:110;;;;;;:::i;:::-;-1:-1:-1;;;;;20488:20:0;20464:4;20488:20;;;:11;:20;;;;;;;;;20406:110;20843:94;20915:14;;20843:94;;19258:143;;;;;;:::i;:::-;-1:-1:-1;;;;;19366:18:0;;;19339:7;19366:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;19258:143;20528:108;;;;;;:::i;:::-;-1:-1:-1;;;;;20609:19:0;20585:4;20609:19;;;:10;:19;;;;;;;;;20528:108;22038:332;;;;;;:::i;:::-;;:::i;16316:244::-;;;;;;:::i;:::-;;:::i;22378:478::-;;;;;;:::i;:::-;;:::i;23161:296::-;;;;;;:::i;:::-;;:::i;18495:83::-;18532:13;18565:5;18558:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18495:83;:::o;19409:161::-;19484:4;19501:39;193:10;19524:7;19533:6;19501:8;:39::i;:::-;-1:-1:-1;19558:4:0;19409:161;;;;;:::o;19578:315::-;19676:4;19693:36;19703:6;19711:9;19722:6;19693:9;:36::i;:::-;19740:123;19749:6;193:10;19771:91;19809:6;19771:91;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19771:19:0;;;;;;:11;:19;;;;;;;;193:10;19771:33;;;;;;;;;;:37;:91::i;:::-;19740:8;:123::i;:::-;-1:-1:-1;19881:4:0;19578:315;;;;;:::o;21777:253::-;21843:7;21882;;21871;:18;;21863:73;;;;-1:-1:-1;;;21863:73:0;;4196:2:1;21863:73:0;;;4178:21:1;4235:2;4215:18;;;4208:30;4274:34;4254:18;;;4247:62;-1:-1:-1;;;4325:18:1;;;4318:40;4375:19;;21863:73:0;;;;;;;;;21947:19;21970:10;:8;:10::i;:::-;21947:33;-1:-1:-1;21998:24:0;:7;21947:33;21998:11;:24::i;:::-;21991:31;;;21777:253;;;;:::o;19901:218::-;193:10;19989:4;20038:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;20038:34:0;;;;;;;;;;19989:4;;20006:83;;20029:7;;20038:50;;20077:10;20038:38;:50::i;20945:378::-;193:10;20997:14;21046:19;;;:11;:19;;;;;;;;21045:20;21037:77;;;;-1:-1:-1;;;21037:77:0;;8474:2:1;21037:77:0;;;8456:21:1;8513:2;8493:18;;;8486:30;8552:34;8532:18;;;8525:62;-1:-1:-1;;;8603:18:1;;;8596:42;8655:19;;21037:77:0;8446:234:1;21037:77:0;21126:15;21151:19;21162:7;21151:10;:19::i;:::-;-1:-1:-1;;;;;;;;21199:15:0;;;;;;:7;:15;;;;;;21125:45;;-1:-1:-1;21199:28:0;;:15;-1:-1:-1;21125:45:0;;-1:-1:-1;;21199:19:0;:28::i;:::-;-1:-1:-1;;;;;21181:15:0;;;;;;:7;:15;;;;;:46;21248:7;;:20;;21260:7;21248:11;:20::i;:::-;21238:7;:30;21292:10;;:23;;21307:7;21292:14;:23::i;:::-;21279:10;:36;-1:-1:-1;;;20945:378:0:o;23084:71::-;23125:25;23131:10;23143:6;23125:5;:25::i;:::-;23084:71;:::o;21331:438::-;21421:7;21460;;21449;:18;;21441:62;;;;-1:-1:-1;;;21441:62:0;;6129:2:1;21441:62:0;;;6111:21:1;6168:2;6148:18;;;6141:30;6207:33;6187:18;;;6180:61;6258:18;;21441:62:0;6101:181:1;21441:62:0;21519:17;21514:248;;21554:15;21579:19;21590:7;21579:10;:19::i;:::-;-1:-1:-1;21553:45:0;;-1:-1:-1;21613:14:0;;-1:-1:-1;;;;;;21613:14:0;21514:248;21662:23;21694:19;21705:7;21694:10;:19::i;:::-;-1:-1:-1;21660:53:0;;-1:-1:-1;21728:22:0;;-1:-1:-1;;;;;;21728:22:0;22864:215;15583:6;;-1:-1:-1;;;;;15583:6:0;193:10;15583:22;15575:67;;;;-1:-1:-1;;;15575:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22951:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;;::::1;;22950:20;22942:67;;;::::0;-1:-1:-1;;;22942:67:0;;5726:2:1;22942:67:0::1;::::0;::::1;5708:21:1::0;5765:2;5745:18;;;5738:30;5804:34;5784:18;;;5777:62;-1:-1:-1;;;5855:18:1;;;5848:32;5897:19;;22942:67:0::1;5698:224:1::0;22942:67:0::1;-1:-1:-1::0;;;;;23020:19:0::1;;::::0;;;:10:::1;:19;::::0;;;;:26;;-1:-1:-1;;23020:26:0::1;23042:4;23020:26;::::0;;23051:10:::1;:20:::0;;-1:-1:-1;;;;;;23051:20:0::1;::::0;;::::1;::::0;;22864:215::o;18877:198::-;-1:-1:-1;;;;;18967:20:0;;18943:7;18967:20;;;:11;:20;;;;;;;;18963:49;;;-1:-1:-1;;;;;;18996:16:0;;;;;;:7;:16;;;;;;18989:23;;18963:49;-1:-1:-1;;;;;19050:16:0;;;;;;:7;:16;;;;;;19030:37;;:19;:37::i;16013:148::-;15583:6;;-1:-1:-1;;;;;15583:6:0;193:10;15583:22;15575:67;;;;-1:-1:-1;;;15575:67:0;;;;;;;:::i;:::-;16120:1:::1;16104:6:::0;;16083:40:::1;::::0;-1:-1:-1;;;;;16104:6:0;;::::1;::::0;16083:40:::1;::::0;16120:1;;16083:40:::1;16151:1;16134:19:::0;;-1:-1:-1;;;;;;16134:19:0::1;::::0;;16013:148::o;18586:87::-;18625:13;18658:7;18651:14;;;;;:::i;20127:271::-;20220:4;20237:131;193:10;20260:7;20269:98;20308:15;20269:98;;;;;;;;;;;;;;;;;193:10;20269:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;20269:34:0;;;;;;;;;;;;:38;:98::i;19083:167::-;19161:4;19178:42;193:10;19202:9;19213:6;19178:9;:42::i;22038:332::-;15583:6;;-1:-1:-1;;;;;15583:6:0;193:10;15583:22;15575:67;;;;-1:-1:-1;;;15575:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22120:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;22119:21;22111:61;;;::::0;-1:-1:-1;;;22111:61:0;;5370:2:1;22111:61:0::1;::::0;::::1;5352:21:1::0;5409:2;5389:18;;;5382:30;5448:29;5428:18;;;5421:57;5495:18;;22111:61:0::1;5342:177:1::0;22111:61:0::1;-1:-1:-1::0;;;;;22186:16:0;::::1;22205:1;22186:16:::0;;;:7:::1;:16;::::0;;;;;:20;22183:108:::1;;-1:-1:-1::0;;;;;22262:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;22242:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;22223:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;22183:108:::1;-1:-1:-1::0;;;;;22301:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;22301:27:0::1;22324:4;22301:27:::0;;::::1;::::0;;;22339:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;22339:23:0::1;::::0;;::::1;::::0;;22038:332::o;16316:244::-;15583:6;;-1:-1:-1;;;;;15583:6:0;193:10;15583:22;15575:67;;;;-1:-1:-1;;;15575:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16405:22:0;::::1;16397:73;;;::::0;-1:-1:-1;;;16397:73:0;;4607:2:1;16397:73:0::1;::::0;::::1;4589:21:1::0;4646:2;4626:18;;;4619:30;4685:34;4665:18;;;4658:62;-1:-1:-1;;;4736:18:1;;;4729:36;4782:19;;16397:73:0::1;4579:228:1::0;16397:73:0::1;16507:6;::::0;;16486:38:::1;::::0;-1:-1:-1;;;;;16486:38:0;;::::1;::::0;16507:6;::::1;::::0;16486:38:::1;::::0;::::1;16535:6;:17:::0;;-1:-1:-1;;;;;;16535:17:0::1;-1:-1:-1::0;;;;;16535:17:0;;;::::1;::::0;;;::::1;::::0;;16316:244::o;22378:478::-;15583:6;;-1:-1:-1;;;;;15583:6:0;193:10;15583:22;15575:67;;;;-1:-1:-1;;;15575:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22459:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;22451:60;;;::::0;-1:-1:-1;;;22451:60:0;;5370:2:1;22451:60:0::1;::::0;::::1;5352:21:1::0;5409:2;5389:18;;;5382:30;5448:29;5428:18;;;5421:57;5495:18;;22451:60:0::1;5342:177:1::0;22451:60:0::1;22527:9;22522:327;22546:9;:16:::0;22542:20;::::1;22522:327;;;22604:7;-1:-1:-1::0;;;;;22588:23:0::1;:9;22598:1;22588:12;;;;;;-1:-1:-1::0;;;22588:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;22588:12:0::1;:23;22584:254;;;22647:9;22657:16:::0;;:20:::1;::::0;22676:1:::1;::::0;22657:20:::1;:::i;:::-;22647:31;;;;;;-1:-1:-1::0;;;22647:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;22632:9:::1;:12:::0;;-1:-1:-1;;;;;22647:31:0;;::::1;::::0;22642:1;;22632:12;::::1;;;-1:-1:-1::0;;;22632:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;22632:46:0::1;-1:-1:-1::0;;;;;22632:46:0;;::::1;;::::0;;22697:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;22736:11:::1;:20:::0;;;;:28;;-1:-1:-1;;22736:28:0::1;::::0;;22783:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;22783:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;22783:15:0;;;;;-1:-1:-1;;;;;;22783:15:0::1;::::0;;;;;22817:5:::1;;22584:254;22564:3:::0;::::1;::::0;::::1;:::i;:::-;;;;22522:327;;;;22378:478:::0;:::o;23161:296::-;15583:6;;-1:-1:-1;;;;;15583:6:0;193:10;15583:22;15575:67;;;;-1:-1:-1;;;15575:67:0;;;;;;;:::i;:::-;23273:11:::1;:6:::0;23281:3:::1;23273:11;:::i;:::-;23262:8;:22:::0;23308:14:::1;:8:::0;23319:3:::1;23308:14;:::i;:::-;23296:9;:26:::0;23342:16:::1;:11:::0;23355:3:::1;23342:16;:::i;:::-;23327:12;:31:::0;;;23378:8:::1;::::0;23363:12:::1;:23:::0;23407:9:::1;::::0;23391:13:::1;:25:::0;23421:16:::1;:31:::0;-1:-1:-1;;;23161:296:0:o;23693:341::-;-1:-1:-1;;;;;23786:19:0;;23778:70;;;;-1:-1:-1;;;23778:70:0;;8067:2:1;23778:70:0;;;8049:21:1;8106:2;8086:18;;;8079:30;8145:34;8125:18;;;8118:62;-1:-1:-1;;;8196:18:1;;;8189:36;8242:19;;23778:70:0;8039:228:1;23778:70:0;-1:-1:-1;;;;;23867:21:0;;23859:70;;;;-1:-1:-1;;;23859:70:0;;7662:2:1;23859:70:0;;;7644:21:1;7701:2;7681:18;;;7674:30;7740:34;7720:18;;;7713:62;-1:-1:-1;;;7791:18:1;;;7784:34;7835:19;;23859:70:0;7634:226:1;23859:70:0;-1:-1:-1;;;;;23942:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;23994:32;;8831:25:1;;;23994:32:0;;8804:18:1;23994:32:0;;;;;;;23693:341;;;:::o;24042:1286::-;-1:-1:-1;;;;;24139:20:0;;24131:72;;;;-1:-1:-1;;;24131:72:0;;3788:2:1;24131:72:0;;;3770:21:1;3827:2;3807:18;;;3800:30;3866:34;3846:18;;;3839:62;-1:-1:-1;;;3917:18:1;;;3910:37;3964:19;;24131:72:0;3760:229:1;24131:72:0;-1:-1:-1;;;;;24222:23:0;;24214:73;;;;-1:-1:-1;;;24214:73:0;;3382:2:1;24214:73:0;;;3364:21:1;3421:2;3401:18;;;3394:30;3460:34;3440:18;;;3433:62;-1:-1:-1;;;3511:18:1;;;3504:35;3556:19;;24214:73:0;3354:227:1;24214:73:0;24315:1;24306:6;:10;24298:64;;;;-1:-1:-1;;;24298:64:0;;7252:2:1;24298:64:0;;;7234:21:1;7291:2;7271:18;;;7264:30;7330:34;7310:18;;;7303:62;-1:-1:-1;;;7381:18:1;;;7374:39;7430:19;;24298:64:0;7224:231:1;24298:64:0;-1:-1:-1;;;;;24498:18:0;;24464:12;24498:18;;;:10;:18;;;;;;24479:4;;24498:18;;;:43;;-1:-1:-1;;;;;;24520:21:0;;;;;;:10;:21;;;;;;;;24498:43;:69;;;-1:-1:-1;;;;;;24545:22:0;;;;;;:11;:22;;;;;;;;24498:69;24494:117;;;-1:-1:-1;24594:5:0;24494:117;24628:7;24623:28;;24637:14;:12;:14::i;:::-;-1:-1:-1;;;;;24686:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;24710:22:0;;;;;;:11;:22;;;;;;;;24709:23;24686:46;24682:597;;;24749:48;24771:6;24779:9;24790:6;24749:21;:48::i;:::-;24682:597;;;-1:-1:-1;;;;;24820:19:0;;;;;;:11;:19;;;;;;;;24819:20;:46;;;;-1:-1:-1;;;;;;24843:22:0;;;;;;:11;:22;;;;;;;;24819:46;24815:464;;;24882:46;24902:6;24910:9;24921:6;24882:19;:46::i;24815:464::-;-1:-1:-1;;;;;24951:19:0;;;;;;:11;:19;;;;;;;;24950:20;:47;;;;-1:-1:-1;;;;;;24975:22:0;;;;;;:11;:22;;;;;;;;24974:23;24950:47;24946:333;;;25014:44;25032:6;25040:9;25051:6;25014:17;:44::i;24946:333::-;-1:-1:-1;;;;;25080:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;25103:22:0;;;;;;:11;:22;;;;;;;;25080:45;25076:203;;;25142:48;25164:6;25172:9;25183:6;25142:21;:48::i;25076:203::-;25223:44;25241:6;25249:9;25260:6;25223:17;:44::i;:::-;25296:7;25291:29;;25305:15;33391:12;;33380:8;:23;33426:13;;33414:9;:25;33465:16;;33450:12;:31;33336:153;25305:15;24042:1286;;;;:::o;4916:192::-;5002:7;5038:12;5030:6;;;;5022:29;;;;-1:-1:-1;;;5022:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5062:9:0;5074:5;5078:1;5074;:5;:::i;:::-;5062:17;4916:192;-1:-1:-1;;;;;4916:192:0:o;31898:163::-;31939:7;31960:15;31977;31996:19;:17;:19::i;:::-;31959:56;;-1:-1:-1;31959:56:0;-1:-1:-1;32033:20:0;31959:56;;32033:11;:20::i;:::-;32026:27;;;;31898:163;:::o;6314:132::-;6372:7;6399:39;6403:1;6406;6399:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6392:46;6314:132;-1:-1:-1;;;6314:132:0:o;4013:181::-;4071:7;;4103:5;4107:1;4103;:5;:::i;:::-;4091:17;;4132:1;4127;:6;;4119:46;;;;-1:-1:-1;;;4119:46:0;;5014:2:1;4119:46:0;;;4996:21:1;5053:2;5033:18;;;5026:30;5092:29;5072:18;;;5065:57;5139:18;;4119:46:0;4986:177:1;29949:652:0;30008:7;30017;30026;30035;30044;30053;30062;30083:12;30097:13;30112:16;30132:55;30144:7;30153:8;;30163:9;;30174:12;;30132:11;:55::i;:::-;30082:105;;;;;;30198:23;30224:50;30243:7;30252:4;30258:5;30265:8;30224:18;:50::i;:::-;30198:76;;30285:19;30308:10;:8;:10::i;:::-;30285:33;;30330:15;30347:12;30363:39;30375:7;30384:4;30390:11;30363;:39::i;:::-;30329:73;;;;30413:23;30439:64;30459:7;30468:4;30474:5;30481:8;30491:11;30439:19;:64::i;:::-;30522:7;;-1:-1:-1;30413:90:0;;-1:-1:-1;30548:4:0;-1:-1:-1;30554:15:0;;-1:-1:-1;30571:4:0;;-1:-1:-1;30577:5:0;;-1:-1:-1;30584:8:0;-1:-1:-1;;;29949:652:0;;;;;;;;;:::o;4477:136::-;4535:7;4562:43;4566:1;4569;4562:43;;;;;;;;;;;;;;;;;:3;:43::i;23465:220::-;-1:-1:-1;;;;;23542:13:0;;;;;;:7;:13;;;;;;23532:23;;;23524:32;;;;;;-1:-1:-1;;;;;23577:13:0;;;;;;:7;:13;;;;;;:25;;23595:6;23577:17;:25::i;:::-;-1:-1:-1;;;;;23561:13:0;;;;;;:7;:13;;;;;:41;23617:7;;:19;;23629:6;23617:11;:19::i;:::-;23607:7;:29;23646:34;;8831:25:1;;;23669:1:0;;-1:-1:-1;;;;;23646:34:0;;;-1:-1:-1;;;;;;;;;;;23646:34:0;8819:2:1;8804:18;23646:34:0;;;;;;;23465:220;;:::o;33004:320::-;33050:8;;:13;:31;;;;-1:-1:-1;33067:9:0;;:14;33050:31;:52;;;;-1:-1:-1;33085:12:0;;:17;33050:52;33047:64;;;33104:7;;33047:64;33146:8;;;33131:12;:23;33181:9;;;33165:13;:25;33220:12;;;33201:16;:31;-1:-1:-1;33253:12:0;;;;33276:13;;;;33300:16;33004:320;:::o;27348:671::-;27450:19;27473:10;:8;:10::i;:::-;27450:33;;27495:15;27512:23;27537:12;27551:23;27576:12;27590:13;27605:16;27625:19;27636:7;27625:10;:19::i;:::-;27494:150;;;;;;;;;;;;;;27655:13;27672:22;27682:11;27672:5;:9;;:22;;;;:::i;:::-;27655:39;-1:-1:-1;27705:16:0;27724:25;:8;27737:11;27724:12;:25::i;:::-;27705:44;;27760:80;27787:6;27795:9;27806:7;27815;27824:15;27760:26;:80::i;:::-;27851:32;27866:8;27876:6;27851:14;:32::i;:::-;27894:57;27906:4;27912:5;27919:8;27929:4;27935:5;27942:8;27894:11;:57::i;:::-;27984:9;-1:-1:-1;;;;;27967:44:0;27976:6;-1:-1:-1;;;;;27967:44:0;-1:-1:-1;;;;;;;;;;;27995:15:0;27967:44;;;;8831:25:1;;8819:2;8804:18;;8786:76;27967:44:0;;;;;;;;27348:671;;;;;;;;;;;;;:::o;26276:687::-;26376:19;26399:10;:8;:10::i;:::-;26376:33;;26421:15;26438:23;26463:12;26477:23;26502:12;26516:13;26531:16;26551:19;26562:7;26551:10;:19::i;:::-;26420:150;;;;;;;;;;;;;;26581:13;26598:22;26608:11;26598:5;:9;;:22;;;;:::i;:::-;26581:39;-1:-1:-1;26631:16:0;26650:25;:8;26663:11;26650:12;:25::i;:::-;26631:44;;26686:90;26715:6;26723:9;26734:15;26751:7;26760:15;26686:28;:90::i;25336:661::-;25434:19;25457:10;:8;:10::i;:::-;25434:33;;25479:15;25496:23;25521:12;25535:23;25560:12;25574:13;25589:16;25609:19;25620:7;25609:10;:19::i;:::-;25478:150;;;;;;;;;;;;;;25639:13;25656:22;25666:11;25656:5;:9;;:22;;;;:::i;:::-;25639:39;-1:-1:-1;25689:16:0;25708:25;:8;25721:11;25708:12;:25::i;:::-;25689:44;;25749:69;25774:6;25782:9;25793:7;25802:15;25749:24;:69::i;28372:688::-;28474:19;28497:10;:8;:10::i;:::-;28474:33;;28519:15;28536:23;28561:12;28575:23;28600:12;28614:13;28629:16;28649:19;28660:7;28649:10;:19::i;:::-;28518:150;;;;;;;;;;;;;;28679:13;28696:22;28706:11;28696:5;:9;;:22;;;;:::i;:::-;28679:39;-1:-1:-1;28729:16:0;28748:25;:8;28761:11;28748:12;:25::i;:::-;28729:44;;28788:91;28809:6;28817:9;28828:7;28837;28846:15;28863;28788:20;:91::i;32069:561::-;32166:7;;32202;;32119;;;;;32226:289;32250:9;:16;32246:20;;32226:289;;;32316:7;32292;:21;32300:9;32310:1;32300:12;;;;;;-1:-1:-1;;;32300:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;32300:12:0;32292:21;;;;;;;;;;;;;:31;;:66;;;32351:7;32327;:21;32335:9;32345:1;32335:12;;;;;;-1:-1:-1;;;32335:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;32335:12:0;32327:21;;;;;;;;;;;;;:31;32292:66;32288:97;;;32368:7;;32377;;32360:25;;;;;;;;;32288:97;32410:34;32422:7;:21;32430:9;32440:1;32430:12;;;;;;-1:-1:-1;;;32430:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;32430:12:0;32422:21;;;;;;;;;;;;;32410:7;;:11;:34::i;:::-;32400:44;;32469:34;32481:7;:21;32489:9;32499:1;32489:12;;;;;;-1:-1:-1;;;32489:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;32489:12:0;32481:21;;;;;;;;;;;;;32469:7;;:11;:34::i;:::-;32459:44;-1:-1:-1;32268:3:0;;;;:::i;:::-;;;;32226:289;;;-1:-1:-1;32551:7:0;;32539;;:20;;:11;:20::i;:::-;32529:7;:30;32525:61;;;32569:7;;32578;;32561:25;;;;;;;;32525:61;32605:7;;-1:-1:-1;32614:7:0;-1:-1:-1;32069:561:0;;;:::o;6942:278::-;7028:7;7063:12;7056:5;7048:28;;;;-1:-1:-1;;;7048:28:0;;;;;;;;:::i;:::-;-1:-1:-1;7087:9:0;7099:5;7103:1;7099;:5;:::i;30613:427::-;30726:7;30735;30744;30764:12;30779:50;30825:3;30780:39;30806:12;;30781:19;30793:6;30781:7;:11;;:19;;;;:::i;:::-;30780:25;;:39::i;30779:50::-;30764:65;;30840:13;30856:51;30903:3;30857:40;30884:12;;30858:20;30870:7;30858;:11;;:20;;;;:::i;30856:51::-;30840:67;;30918:16;30937:54;30987:3;30938:43;30968:12;;30939:23;30951:10;30939:7;:11;;:23;;;;:::i;30937:54::-;31010:4;;31016:5;;-1:-1:-1;31010:4:0;;-1:-1:-1;30613:427:0;-1:-1:-1;;;;;;30613:427:0:o;31052:191::-;31166:7;31193:42;31226:8;31193:28;31215:5;31193:28;:7;31205:4;31193:11;:17::i;:::-;:21;;:28::i;31255:254::-;31350:7;;;31397:24;:7;31409:11;31397;:24::i;:::-;31379:42;-1:-1:-1;31432:12:0;31447:21;:4;31456:11;31447:8;:21::i;:::-;31487:7;;;;-1:-1:-1;31255:254:0;;-1:-1:-1;;;;;31255:254:0:o;31521:369::-;31657:7;;31693:22;:5;31703:11;31693:9;:22::i;:::-;31677:38;-1:-1:-1;31726:16:0;31745:25;:8;31758:11;31745:12;:25::i;:::-;31726:44;-1:-1:-1;31781:23:0;31807:42;31726:44;31807:28;31829:5;31807:28;:7;31819:4;31807:11;:17::i;:42::-;31781:68;31521:369;-1:-1:-1;;;;;;;;;31521:369:0:o;5367:471::-;5425:7;5670:6;5666:47;;-1:-1:-1;5700:1:0;5693:8;;5666:47;5725:9;5737:5;5741:1;5737;:5;:::i;:::-;5725:17;-1:-1:-1;5770:1:0;5761:5;5765:1;5725:17;5761:5;:::i;:::-;:10;5753:56;;;;-1:-1:-1;;;5753:56:0;;6489:2:1;5753:56:0;;;6471:21:1;6528:2;6508:18;;;6501:30;6567:34;6547:18;;;6540:62;-1:-1:-1;;;6618:18:1;;;6611:31;6659:19;;5753:56:0;6461:223:1;28031:333:0;-1:-1:-1;;;;;28198:15:0;;;;;;:7;:15;;;;;;:28;;28218:7;28198:19;:28::i;:::-;-1:-1:-1;;;;;28180:15:0;;;;;;:7;:15;;;;;;;;:46;;;;28255:7;:15;;;;:28;;28275:7;28255:19;:28::i;:::-;-1:-1:-1;;;;;28237:15:0;;;;;;;:7;:15;;;;;;:46;;;;28315:18;;;;;;;:39;;28338:15;28315:22;:39::i;:::-;-1:-1:-1;;;;;28294:18:0;;;;;;;:7;:18;;;;;:60;;;;-1:-1:-1;;;;28031:333:0:o;32638:358::-;32715:19;32737:10;:8;:10::i;:::-;32715:32;-1:-1:-1;32758:16:0;32777:25;:8;32715:32;32777:12;:25::i;:::-;32843:10;;-1:-1:-1;;;;;32843:10:0;32835:19;;;;:7;:19;;;;;;32758:44;;-1:-1:-1;32835:33:0;;32758:44;32835:23;:33::i;:::-;32821:10;;;-1:-1:-1;;;;;32821:10:0;;;32813:19;;;;:7;:19;;;;;;;;:55;;;;32909:10;;;;;32901:19;;:7;:19;;;;;:33;;32925:8;32901:23;:33::i;:::-;32887:10;;;-1:-1:-1;;;;;32887:10:0;;;32879:19;;;;:7;:19;;;;;;;;;:55;;;;32967:10;;32950:38;;8831:25:1;;;32967:10:0;;;;32950:38;;;;-1:-1:-1;;;;;;;;;;;32950:38:0;8804:18:1;32950:38:0;;;;;;;32638:358;;;;:::o;29503:432::-;29647:42;29680:8;29647:28;29669:5;29647:17;29659:4;29647:7;;:11;;:17;;;;:::i;:42::-;29637:7;:52;29713:10;;:20;;29728:4;29713:14;:20::i;:::-;29700:10;:33;29758:11;;:22;;29774:5;29758:15;:22::i;:::-;29744:11;:36;29808:14;;:28;;29827:8;29808:18;:28::i;:::-;29791:14;:45;29857:7;;:18;;29869:5;29857:11;:18::i;:::-;29847:7;:28;29885:42;;8831:25:1;;;29917:1:0;;29902:4;;-1:-1:-1;;;;;;;;;;;29885:42:0;8819:2:1;8804:18;29885:42:0;;;;;;;29503:432;;;;;;:::o;26975:359::-;-1:-1:-1;;;;;27152:15:0;;;;;;:7;:15;;;;;;:28;;27172:7;27152:19;:28::i;:::-;-1:-1:-1;;;;;27134:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;27212:18;;;;;:7;:18;;;;;:39;;27235:15;27212:22;:39::i;:::-;-1:-1:-1;;;;;27191:18:0;;;;;;:7;:18;;;;;;;;:60;;;;27283:7;:18;;;;:39;;27306:15;27283:22;:39::i;26009:255::-;-1:-1:-1;;;;;26157:15:0;;;;;;:7;:15;;;;;;:28;;26177:7;26157:19;:28::i;:::-;-1:-1:-1;;;;;26139:15:0;;;;;;;:7;:15;;;;;;:46;;;;26217:18;;;;;;;:39;;26240:15;26217:22;:39::i;:::-;-1:-1:-1;;;;;26196:18:0;;;;;;;:7;:18;;;;;:60;;;;-1:-1:-1;;;26009:255:0:o;29072:423::-;-1:-1:-1;;;;;29258:15:0;;;;;;:7;:15;;;;;;:28;;29278:7;29258:19;:28::i;:::-;-1:-1:-1;;;;;29240:15:0;;;;;;:7;:15;;;;;;;;:46;;;;29315:7;:15;;;;:28;;29335:7;29315:19;:28::i;:::-;-1:-1:-1;;;;;29297:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;29375:18;;;;;:7;:18;;;;;:39;;29398:15;29375:22;:39::i;:::-;-1:-1:-1;;;;;29354:18:0;;;;;;:7;:18;;;;;;;;:60;;;;29446:7;:18;;;;:39;;29469:15;29446:22;:39::i;:::-;-1:-1:-1;;;;;29425:18:0;;;;;;;:7;:18;;;;;:60;;;;-1:-1:-1;;;;;29072:423:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;192:196;;304:2;292:9;283:7;279:23;275:32;272:2;;;325:6;317;310:22;272:2;353:29;372:9;353:29;:::i;393:270::-;;;522:2;510:9;501:7;497:23;493:32;490:2;;;543:6;535;528:22;490:2;571:29;590:9;571:29;:::i;:::-;561:39;;619:38;653:2;642:9;638:18;619:38;:::i;:::-;609:48;;480:183;;;;;:::o;668:338::-;;;;814:2;802:9;793:7;789:23;785:32;782:2;;;835:6;827;820:22;782:2;863:29;882:9;863:29;:::i;:::-;853:39;;911:38;945:2;934:9;930:18;911:38;:::i;:::-;901:48;;996:2;985:9;981:18;968:32;958:42;;772:234;;;;;:::o;1011:264::-;;;1140:2;1128:9;1119:7;1115:23;1111:32;1108:2;;;1161:6;1153;1146:22;1108:2;1189:29;1208:9;1189:29;:::i;:::-;1179:39;1265:2;1250:18;;;;1237:32;;-1:-1:-1;;;1098:177:1:o;1280:190::-;;1392:2;1380:9;1371:7;1367:23;1363:32;1360:2;;;1413:6;1405;1398:22;1360:2;-1:-1:-1;1441:23:1;;1350:120;-1:-1:-1;1350:120:1:o;1475:361::-;;;1601:2;1589:9;1580:7;1576:23;1572:32;1569:2;;;1622:6;1614;1607:22;1569:2;1663:9;1650:23;1640:33;;1723:2;1712:9;1708:18;1695:32;1770:5;1763:13;1756:21;1749:5;1746:32;1736:2;;1797:6;1789;1782:22;1736:2;1825:5;1815:15;;;1559:277;;;;;:::o;1841:326::-;;;;1987:2;1975:9;1966:7;1962:23;1958:32;1955:2;;;2008:6;2000;1993:22;1955:2;-1:-1:-1;;2036:23:1;;;2106:2;2091:18;;2078:32;;-1:-1:-1;2157:2:1;2142:18;;;2129:32;;1945:222;-1:-1:-1;1945:222:1:o;2572:603::-;;2713:2;2742;2731:9;2724:21;2774:6;2768:13;2817:6;2812:2;2801:9;2797:18;2790:34;2842:4;2855:140;2869:6;2866:1;2863:13;2855:140;;;2964:14;;;2960:23;;2954:30;2930:17;;;2949:2;2926:26;2919:66;2884:10;;2855:140;;;3013:6;3010:1;3007:13;3004:2;;;3083:4;3078:2;3069:6;3058:9;3054:22;3050:31;3043:45;3004:2;-1:-1:-1;3159:2:1;3138:15;-1:-1:-1;;3134:29:1;3119:45;;;;3166:2;3115:54;;2693:482;-1:-1:-1;;;2693:482:1:o;6689:356::-;6891:2;6873:21;;;6910:18;;;6903:30;6969:34;6964:2;6949:18;;6942:62;7036:2;7021:18;;6863:182::o;8867:128::-;;8938:1;8934:6;8931:1;8928:13;8925:2;;;8944:18;;:::i;:::-;-1:-1:-1;8980:9:1;;8915:80::o;9000:217::-;;9066:1;9056:2;;-1:-1:-1;;;9091:31:1;;9145:4;9142:1;9135:15;9173:4;9098:1;9163:15;9056:2;-1:-1:-1;9202:9:1;;9046:171::o;9222:168::-;;9328:1;9324;9320:6;9316:14;9313:1;9310:21;9305:1;9298:9;9291:17;9287:45;9284:2;;;9335:18;;:::i;:::-;-1:-1:-1;9375:9:1;;9274:116::o;9395:125::-;;9463:1;9460;9457:8;9454:2;;;9468:18;;:::i;:::-;-1:-1:-1;9505:9:1;;9444:76::o;9525:380::-;9610:1;9600:12;;9657:1;9647:12;;;9668:2;;9722:4;9714:6;9710:17;9700:27;;9668:2;9775;9767:6;9764:14;9744:18;9741:38;9738:2;;;9821:10;9816:3;9812:20;9809:1;9802:31;9856:4;9853:1;9846:15;9884:4;9881:1;9874:15;9738:2;;9580:325;;;:::o;9910:135::-;;-1:-1:-1;;9970:17:1;;9967:2;;;9990:18;;:::i;:::-;-1:-1:-1;10037:1:1;10026:13;;9957:88::o;10050:127::-;10111:10;10106:3;10102:20;10099:1;10092:31;10142:4;10139:1;10132:15;10166:4;10163:1;10156:15

Swarm Source

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