ETH Price: $3,124.41 (+1.93%)

Token

GoMining Token (GMT)
 

Overview

Max Total Supply

351,649,513.747844213152972286 GMT

Holders

11,932 ( 0.017%)

Market

Price

$0.40 @ 0.000129 ETH (+4.54%)

Onchain Market Cap

$141,716,512.29

Circulating Supply Market Cap

$167,329,690.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000000004617 GMT

Value
$0.00 ( ~0 Eth) [0.0000%]
0xFb934B2ca1735EE6dd4d2F45D2b5aC328ED70663
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Gomining is a liquid Bitcoin hash rate (LBH) protocol. It allows users to own a BTC hash rate without maintaining mining infrastructure. LBH tokens are yield-bearing assets that can be used in Defi.

Market

Volume (24H):$11,625,950.00
Market Capitalization:$167,329,690.00
Circulating Supply:415,005,960.00 GMT
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
1
HTX
GOMINING-USDT$0.4036
0.0001291 Eth
$5,864,625.00
14,689,643.383 GOMINING
50.3341%
2
Bitget
GOMINING-USDT$0.4041
0.0001293 Eth
$1,832,934.00
4,594,485.230 GOMINING
15.7430%
3
BingX
GOMINING-USDT$0.4029
0.0001289 Eth
$1,184,838.00
2,974,934.850 GOMINING
10.1936%
4
MEXC
GOMINING-USDT$0.4036
0.0001291 Eth
$1,168,703.00
2,895,941.320 GOMINING
9.9230%
5
Gate.io
GOMINING-USDT$0.4033
0.0001290 Eth
$962,342.00
2,407,583.390 GOMINING
8.2496%
6
XT.COM
GOMINING-USDT$0.4029
0.0001291 Eth
$350,211.00
876,133.410 GOMINING
3.0021%
7
LBank
GOMINING-USDT$0.3975
0.0001274 Eth
$156,087.00
392,635.480 GOMINING
1.3454%
8
Ourbit
GOMINING-USDT$0.4028
0.0001291 Eth
$109,523.00
273,564.390 GOMINING
0.9374%
9
PancakeSwap V3 (BSC)
0X7DDC52C4DE30E94BE3A6A0A2B259B2850F421989-0X55D398326F99059FF775485246999027B3197955$0.4031
0.0001292 Eth
$65,069.00
162,662.925 0X7DDC52C4DE30E94BE3A6A0A2B259B2850F421989
0.5574%
10
PancakeSwap V3 (BSC)
0X7DDC52C4DE30E94BE3A6A0A2B259B2850F421989-0X55D398326F99059FF775485246999027B3197955$0.4032
0.0001292 Eth
$56,852.00
141,821.134 0X7DDC52C4DE30E94BE3A6A0A2B259B2850F421989
0.4860%
11
BitMart
GOMINING-USDT$0.4029
0.0001291 Eth
$54,923.00
136,335.120 GOMINING
0.4672%
12
DODO (Ethereum)
0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2-0X7DDC52C4DE30E94BE3A6A0A2B259B2850F421989$0.40
0.0001280 Eth
$36,477.00
10.112 0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2
0.0000%
13
DeDust
EQD0LAIK0FGHV8ANFRHEBI8GDG2RPDYKGXEM0MBFYA_EW1-8-EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9C$0.3992
0.0001279 Eth
$19,456.74
48,583.376 EQD0LAIK0FGHV8ANFRHEBI8GDG2RPDYKGXEM0MBFYA_EW1-8
0.1665%
14
Uniswap V3 (Ethereum)
0X7DDC52C4DE30E94BE3A6A0A2B259B2850F421989-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$0.4047
0.0001296 Eth
$8,345.61
20,950.129 0X7DDC52C4DE30E94BE3A6A0A2B259B2850F421989
0.0718%
15
CoinEx
GOMINING-USDT$0.4041
0.0001295 Eth
$3,919.67
9,852.490 GOMINING
0.0338%
16
PancakeSwap (v2)
0X7DDC52C4DE30E94BE3A6A0A2B259B2850F421989-0X55D398326F99059FF775485246999027B3197955$0.4011
0.0001285 Eth
$98.02
244.031 0X7DDC52C4DE30E94BE3A6A0A2B259B2850F421989
0.0008%
17
Bitfinex
GOMINING-USD$0.3993
0.0001278 Eth
$41.32
103.485 GOMINING
0.0004%
18
Bitfinex
GOMINING-USDT$0.3887
0.0001244 Eth
$30.12
77.480 GOMINING
0.0003%
19
GoPax
GMT-KRW$0.1161
0.0000372 Eth
$3.49
30.075 GMT
0.0001%

Contract Source Code Verified (Exact Match)

Contract Name:
GoMiningToken

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 2 of 7: GoMiningToken.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./IERC20Metadata.sol";
import "./Ownable.sol";
import "./Pausable.sol";
import "./SafeMath.sol";

contract GoMiningToken is Ownable, Pausable, IERC20, IERC20Metadata {
    using SafeMath for uint256;


    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name = "GoMining Token";
    string private _symbol = "GMT";
    uint8 private _decimals = 18;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (uint256 total) {
        uint256 supply = total.mul(10**_decimals);
	    _mint(_msgSender(), supply);
    }

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

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override 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
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override 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(_msgSender(), 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(_msgSender(), 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);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance.sub(subtractedValue));

        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(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance.sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function mint(address account, uint256 amount) public virtual onlyOwner {
        _mint(account, amount);
    }
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function burn(address account, uint256 amount) public virtual onlyOwner {
        _burn(account, amount);
    }
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance.sub(amount);
        _totalSupply = _totalSupply.sub(amount);

        emit Transfer(account, address(0), 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);
    }


    function pause() public virtual onlyOwner returns (bool) {
        _pause();
        return true;
    }
    function unpause() public virtual onlyOwner returns (bool) {
        _unpause();
        return true;
    }
    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { 
        require(!paused(), "ERC20Pausable: token transfer while paused");
    }
}

File 1 of 7: Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

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

pragma solidity ^0.8.0;

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

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

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

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

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

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

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

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

File 4 of 7: IERC20Metadata.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./IERC20.sol";

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

File 5 of 7: Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./Context.sol";
/**
 * @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.
 */
abstract contract Ownable is Context {
    address private _owner;

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

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

    /**
     * @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() == _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;
    }
}

File 6 of 7: Pausable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./Context.sol";

/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor () {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

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

pragma solidity ^0.8.0;

// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler
 * now has built in overflow checking.
 */
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;
    }

    /**
     * @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 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 Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    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. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * 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.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * 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) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"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":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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":"account","type":"address"}],"name":"Unpaused","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"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"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[],"name":"unpause","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600e81526020017f476f4d696e696e6720546f6b656e000000000000000000000000000000000000815250600490805190602001906200005192919062000474565b506040518060400160405280600381526020017f474d540000000000000000000000000000000000000000000000000000000000815250600590805190602001906200009f92919062000474565b506012600660006101000a81548160ff021916908360ff160217905550348015620000c957600080fd5b5060405162002e7f38038062002e7f8339818101604052810190620000ef91906200053b565b6000620001016200021d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060008060146101000a81548160ff0219169083151502179055506000620001f2600660009054906101000a900460ff16600a620001dd9190620006f0565b836200022560201b62000e141790919060201c565b905062000215620002086200021d60201b60201c565b826200023d60201b60201c565b5050620009d8565b600033905090565b600081836200023591906200082d565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002a790620005c6565b60405180910390fd5b620002c460008383620003ee60201b60201c565b620002e0816003546200044660201b62000e2a1790919060201c565b6003819055506200033f81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200044660201b62000e2a1790919060201c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003e291906200060a565b60405180910390a35050565b620003fe6200045e60201b60201c565b1562000441576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200043890620005e8565b60405180910390fd5b505050565b6000818362000456919062000638565b905092915050565b60008060149054906101000a900460ff16905090565b8280546200048290620008a5565b90600052602060002090601f016020900481019282620004a65760008555620004f2565b82601f10620004c157805160ff1916838001178555620004f2565b82800160010185558215620004f2579182015b82811115620004f1578251825591602001919060010190620004d4565b5b50905062000501919062000505565b5090565b5b808211156200052057600081600090555060010162000506565b5090565b6000815190506200053581620009be565b92915050565b6000602082840312156200054e57600080fd5b60006200055e8482850162000524565b91505092915050565b600062000576601f8362000627565b9150620005838262000946565b602082019050919050565b60006200059d602a8362000627565b9150620005aa826200096f565b604082019050919050565b620005c0816200088e565b82525050565b60006020820190508181036000830152620005e18162000567565b9050919050565b6000602082019050818103600083015262000603816200058e565b9050919050565b6000602082019050620006216000830184620005b5565b92915050565b600082825260208201905092915050565b600062000645826200088e565b915062000652836200088e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200068a5762000689620008db565b5b828201905092915050565b6000808291508390505b6001851115620006e757808604811115620006bf57620006be620008db565b5b6001851615620006cf5780820291505b8081029050620006df8562000939565b94506200069f565b94509492505050565b6000620006fd826200088e565b91506200070a8362000898565b9250620007397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000741565b905092915050565b60008262000753576001905062000826565b8162000763576000905062000826565b81600181146200077c57600281146200078757620007bd565b600191505062000826565b60ff8411156200079c576200079b620008db565b5b8360020a915084821115620007b657620007b5620008db565b5b5062000826565b5060208310610133831016604e8410600b8410161715620007f75782820a905083811115620007f157620007f0620008db565b5b62000826565b62000806848484600162000695565b9250905081840481111562000820576200081f620008db565b5b81810290505b9392505050565b60006200083a826200088e565b915062000847836200088e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008835762000882620008db565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620008be57607f821691505b60208210811415620008d557620008d46200090a565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b620009c9816200088e565b8114620009d557600080fd5b50565b61249780620009e86000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad5780639dc29fac116100715780639dc29fac146102fc578063a457c2d714610318578063a9059cbb14610348578063dd62ed3e14610378578063f2fde38b146103a857610121565b806370a0823114610268578063715018a6146102985780638456cb59146102a25780638da5cb5b146102c057806395d89b41146102de57610121565b8063313ce567116100f4578063313ce567146101c257806339509351146101e05780633f4ba83a1461021057806340c10f191461022e5780635c975abb1461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103c4565b60405161013b9190611bc9565b60405180910390f35b61015e600480360381019061015991906118d5565b610456565b60405161016b9190611bae565b60405180910390f35b61017c610474565b6040516101899190611dcb565b60405180910390f35b6101ac60048036038101906101a79190611886565b61047e565b6040516101b99190611bae565b60405180910390f35b6101ca61057f565b6040516101d79190611de6565b60405180910390f35b6101fa60048036038101906101f591906118d5565b610596565b6040516102079190611bae565b60405180910390f35b610218610649565b6040516102259190611bae565b60405180910390f35b610248600480360381019061024391906118d5565b6106d6565b005b610252610760565b60405161025f9190611bae565b60405180910390f35b610282600480360381019061027d9190611821565b610776565b60405161028f9190611dcb565b60405180910390f35b6102a06107bf565b005b6102aa6108f9565b6040516102b79190611bae565b60405180910390f35b6102c8610986565b6040516102d59190611b93565b60405180910390f35b6102e66109af565b6040516102f39190611bc9565b60405180910390f35b610316600480360381019061031191906118d5565b610a41565b005b610332600480360381019061032d91906118d5565b610acb565b60405161033f9190611bae565b60405180910390f35b610362600480360381019061035d91906118d5565b610bc6565b60405161036f9190611bae565b60405180910390f35b610392600480360381019061038d919061184a565b610be4565b60405161039f9190611dcb565b60405180910390f35b6103c260048036038101906103bd9190611821565b610c6b565b005b6060600480546103d390611f89565b80601f01602080910402602001604051908101604052809291908181526020018280546103ff90611f89565b801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b5050505050905090565b600061046a610463610e40565b8484610e48565b6001905092915050565b6000600354905090565b600061048b848484611013565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d6610e40565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054d90611ccb565b60405180910390fd5b61057385610562610e40565b858461056e9190611ecd565b610e48565b60019150509392505050565b6000600660009054906101000a900460ff16905090565b600061063f6105a3610e40565b8461063a85600260006105b4610e40565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e2a90919063ffffffff16565b610e48565b6001905092915050565b6000610653610e40565b73ffffffffffffffffffffffffffffffffffffffff16610671610986565b73ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be90611ceb565b60405180910390fd5b6106cf6112db565b6001905090565b6106de610e40565b73ffffffffffffffffffffffffffffffffffffffff166106fc610986565b73ffffffffffffffffffffffffffffffffffffffff1614610752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074990611ceb565b60405180910390fd5b61075c828261137c565b5050565b60008060149054906101000a900460ff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107c7610e40565b73ffffffffffffffffffffffffffffffffffffffff166107e5610986565b73ffffffffffffffffffffffffffffffffffffffff161461083b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083290611ceb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610903610e40565b73ffffffffffffffffffffffffffffffffffffffff16610921610986565b73ffffffffffffffffffffffffffffffffffffffff1614610977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096e90611ceb565b60405180910390fd5b61097f611512565b6001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546109be90611f89565b80601f01602080910402602001604051908101604052809291908181526020018280546109ea90611f89565b8015610a375780601f10610a0c57610100808354040283529160200191610a37565b820191906000526020600020905b815481529060010190602001808311610a1a57829003601f168201915b5050505050905090565b610a49610e40565b73ffffffffffffffffffffffffffffffffffffffff16610a67610986565b73ffffffffffffffffffffffffffffffffffffffff1614610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab490611ceb565b60405180910390fd5b610ac782826115b5565b5050565b60008060026000610ada610e40565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8e90611d6b565b60405180910390fd5b610bbb610ba2610e40565b85610bb6868561179490919063ffffffff16565b610e48565b600191505092915050565b6000610bda610bd3610e40565b8484611013565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c73610e40565b73ffffffffffffffffffffffffffffffffffffffff16610c91610986565b73ffffffffffffffffffffffffffffffffffffffff1614610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde90611ceb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e90611c4b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008183610e229190611e73565b905092915050565b60008183610e389190611e1d565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaf90611d4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1f90611c6b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110069190611dcb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a90611d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ea90611beb565b60405180910390fd5b6110fe8383836117aa565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90611c8b565b60405180910390fd5b611198828261179490919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061122d82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e2a90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112cd9190611dcb565b60405180910390a350505050565b6112e3610760565b611322576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131990611c0b565b60405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611365610e40565b6040516113729190611b93565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390611d8b565b60405180910390fd5b6113f8600083836117aa565b61140d81600354610e2a90919063ffffffff16565b60038190555061146581600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e2a90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115069190611dcb565b60405180910390a35050565b61151a610760565b1561155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190611cab565b60405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861159e610e40565b6040516115ab9190611b93565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90611d0b565b60405180910390fd5b611631826000836117aa565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90611c2b565b60405180910390fd5b6116cb828261179490919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117238260035461179490919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117879190611dcb565b60405180910390a3505050565b600081836117a29190611ecd565b905092915050565b6117b2610760565b156117f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e990611dab565b60405180910390fd5b505050565b60008135905061180681612433565b92915050565b60008135905061181b8161244a565b92915050565b60006020828403121561183357600080fd5b6000611841848285016117f7565b91505092915050565b6000806040838503121561185d57600080fd5b600061186b858286016117f7565b925050602061187c858286016117f7565b9150509250929050565b60008060006060848603121561189b57600080fd5b60006118a9868287016117f7565b93505060206118ba868287016117f7565b92505060406118cb8682870161180c565b9150509250925092565b600080604083850312156118e857600080fd5b60006118f6858286016117f7565b92505060206119078582860161180c565b9150509250929050565b61191a81611f01565b82525050565b61192981611f13565b82525050565b600061193a82611e01565b6119448185611e0c565b9350611954818560208601611f56565b61195d81612019565b840191505092915050565b6000611975602383611e0c565b91506119808261202a565b604082019050919050565b6000611998601483611e0c565b91506119a382612079565b602082019050919050565b60006119bb602283611e0c565b91506119c6826120a2565b604082019050919050565b60006119de602683611e0c565b91506119e9826120f1565b604082019050919050565b6000611a01602283611e0c565b9150611a0c82612140565b604082019050919050565b6000611a24602683611e0c565b9150611a2f8261218f565b604082019050919050565b6000611a47601083611e0c565b9150611a52826121de565b602082019050919050565b6000611a6a602883611e0c565b9150611a7582612207565b604082019050919050565b6000611a8d602083611e0c565b9150611a9882612256565b602082019050919050565b6000611ab0602183611e0c565b9150611abb8261227f565b604082019050919050565b6000611ad3602583611e0c565b9150611ade826122ce565b604082019050919050565b6000611af6602483611e0c565b9150611b018261231d565b604082019050919050565b6000611b19602583611e0c565b9150611b248261236c565b604082019050919050565b6000611b3c601f83611e0c565b9150611b47826123bb565b602082019050919050565b6000611b5f602a83611e0c565b9150611b6a826123e4565b604082019050919050565b611b7e81611f3f565b82525050565b611b8d81611f49565b82525050565b6000602082019050611ba86000830184611911565b92915050565b6000602082019050611bc36000830184611920565b92915050565b60006020820190508181036000830152611be3818461192f565b905092915050565b60006020820190508181036000830152611c0481611968565b9050919050565b60006020820190508181036000830152611c248161198b565b9050919050565b60006020820190508181036000830152611c44816119ae565b9050919050565b60006020820190508181036000830152611c64816119d1565b9050919050565b60006020820190508181036000830152611c84816119f4565b9050919050565b60006020820190508181036000830152611ca481611a17565b9050919050565b60006020820190508181036000830152611cc481611a3a565b9050919050565b60006020820190508181036000830152611ce481611a5d565b9050919050565b60006020820190508181036000830152611d0481611a80565b9050919050565b60006020820190508181036000830152611d2481611aa3565b9050919050565b60006020820190508181036000830152611d4481611ac6565b9050919050565b60006020820190508181036000830152611d6481611ae9565b9050919050565b60006020820190508181036000830152611d8481611b0c565b9050919050565b60006020820190508181036000830152611da481611b2f565b9050919050565b60006020820190508181036000830152611dc481611b52565b9050919050565b6000602082019050611de06000830184611b75565b92915050565b6000602082019050611dfb6000830184611b84565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611e2882611f3f565b9150611e3383611f3f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611e6857611e67611fbb565b5b828201905092915050565b6000611e7e82611f3f565b9150611e8983611f3f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611ec257611ec1611fbb565b5b828202905092915050565b6000611ed882611f3f565b9150611ee383611f3f565b925082821015611ef657611ef5611fbb565b5b828203905092915050565b6000611f0c82611f1f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611f74578082015181840152602081019050611f59565b83811115611f83576000848401525b50505050565b60006002820490506001821680611fa157607f821691505b60208210811415611fb557611fb4611fea565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b61243c81611f01565b811461244757600080fd5b50565b61245381611f3f565b811461245e57600080fd5b5056fea2646970667358221220119f26b69a573e3d326c0506900cca230896dfca48ef305d2a74f1c342f3450e64736f6c6343000801003300000000000000000000000000000000000000000000000000000000000186a0

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad5780639dc29fac116100715780639dc29fac146102fc578063a457c2d714610318578063a9059cbb14610348578063dd62ed3e14610378578063f2fde38b146103a857610121565b806370a0823114610268578063715018a6146102985780638456cb59146102a25780638da5cb5b146102c057806395d89b41146102de57610121565b8063313ce567116100f4578063313ce567146101c257806339509351146101e05780633f4ba83a1461021057806340c10f191461022e5780635c975abb1461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103c4565b60405161013b9190611bc9565b60405180910390f35b61015e600480360381019061015991906118d5565b610456565b60405161016b9190611bae565b60405180910390f35b61017c610474565b6040516101899190611dcb565b60405180910390f35b6101ac60048036038101906101a79190611886565b61047e565b6040516101b99190611bae565b60405180910390f35b6101ca61057f565b6040516101d79190611de6565b60405180910390f35b6101fa60048036038101906101f591906118d5565b610596565b6040516102079190611bae565b60405180910390f35b610218610649565b6040516102259190611bae565b60405180910390f35b610248600480360381019061024391906118d5565b6106d6565b005b610252610760565b60405161025f9190611bae565b60405180910390f35b610282600480360381019061027d9190611821565b610776565b60405161028f9190611dcb565b60405180910390f35b6102a06107bf565b005b6102aa6108f9565b6040516102b79190611bae565b60405180910390f35b6102c8610986565b6040516102d59190611b93565b60405180910390f35b6102e66109af565b6040516102f39190611bc9565b60405180910390f35b610316600480360381019061031191906118d5565b610a41565b005b610332600480360381019061032d91906118d5565b610acb565b60405161033f9190611bae565b60405180910390f35b610362600480360381019061035d91906118d5565b610bc6565b60405161036f9190611bae565b60405180910390f35b610392600480360381019061038d919061184a565b610be4565b60405161039f9190611dcb565b60405180910390f35b6103c260048036038101906103bd9190611821565b610c6b565b005b6060600480546103d390611f89565b80601f01602080910402602001604051908101604052809291908181526020018280546103ff90611f89565b801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b5050505050905090565b600061046a610463610e40565b8484610e48565b6001905092915050565b6000600354905090565b600061048b848484611013565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d6610e40565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054d90611ccb565b60405180910390fd5b61057385610562610e40565b858461056e9190611ecd565b610e48565b60019150509392505050565b6000600660009054906101000a900460ff16905090565b600061063f6105a3610e40565b8461063a85600260006105b4610e40565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e2a90919063ffffffff16565b610e48565b6001905092915050565b6000610653610e40565b73ffffffffffffffffffffffffffffffffffffffff16610671610986565b73ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be90611ceb565b60405180910390fd5b6106cf6112db565b6001905090565b6106de610e40565b73ffffffffffffffffffffffffffffffffffffffff166106fc610986565b73ffffffffffffffffffffffffffffffffffffffff1614610752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074990611ceb565b60405180910390fd5b61075c828261137c565b5050565b60008060149054906101000a900460ff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107c7610e40565b73ffffffffffffffffffffffffffffffffffffffff166107e5610986565b73ffffffffffffffffffffffffffffffffffffffff161461083b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083290611ceb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610903610e40565b73ffffffffffffffffffffffffffffffffffffffff16610921610986565b73ffffffffffffffffffffffffffffffffffffffff1614610977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096e90611ceb565b60405180910390fd5b61097f611512565b6001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546109be90611f89565b80601f01602080910402602001604051908101604052809291908181526020018280546109ea90611f89565b8015610a375780601f10610a0c57610100808354040283529160200191610a37565b820191906000526020600020905b815481529060010190602001808311610a1a57829003601f168201915b5050505050905090565b610a49610e40565b73ffffffffffffffffffffffffffffffffffffffff16610a67610986565b73ffffffffffffffffffffffffffffffffffffffff1614610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab490611ceb565b60405180910390fd5b610ac782826115b5565b5050565b60008060026000610ada610e40565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8e90611d6b565b60405180910390fd5b610bbb610ba2610e40565b85610bb6868561179490919063ffffffff16565b610e48565b600191505092915050565b6000610bda610bd3610e40565b8484611013565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c73610e40565b73ffffffffffffffffffffffffffffffffffffffff16610c91610986565b73ffffffffffffffffffffffffffffffffffffffff1614610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde90611ceb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e90611c4b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008183610e229190611e73565b905092915050565b60008183610e389190611e1d565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaf90611d4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1f90611c6b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110069190611dcb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a90611d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ea90611beb565b60405180910390fd5b6110fe8383836117aa565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90611c8b565b60405180910390fd5b611198828261179490919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061122d82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e2a90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112cd9190611dcb565b60405180910390a350505050565b6112e3610760565b611322576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131990611c0b565b60405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611365610e40565b6040516113729190611b93565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390611d8b565b60405180910390fd5b6113f8600083836117aa565b61140d81600354610e2a90919063ffffffff16565b60038190555061146581600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e2a90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115069190611dcb565b60405180910390a35050565b61151a610760565b1561155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190611cab565b60405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861159e610e40565b6040516115ab9190611b93565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90611d0b565b60405180910390fd5b611631826000836117aa565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90611c2b565b60405180910390fd5b6116cb828261179490919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117238260035461179490919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117879190611dcb565b60405180910390a3505050565b600081836117a29190611ecd565b905092915050565b6117b2610760565b156117f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e990611dab565b60405180910390fd5b505050565b60008135905061180681612433565b92915050565b60008135905061181b8161244a565b92915050565b60006020828403121561183357600080fd5b6000611841848285016117f7565b91505092915050565b6000806040838503121561185d57600080fd5b600061186b858286016117f7565b925050602061187c858286016117f7565b9150509250929050565b60008060006060848603121561189b57600080fd5b60006118a9868287016117f7565b93505060206118ba868287016117f7565b92505060406118cb8682870161180c565b9150509250925092565b600080604083850312156118e857600080fd5b60006118f6858286016117f7565b92505060206119078582860161180c565b9150509250929050565b61191a81611f01565b82525050565b61192981611f13565b82525050565b600061193a82611e01565b6119448185611e0c565b9350611954818560208601611f56565b61195d81612019565b840191505092915050565b6000611975602383611e0c565b91506119808261202a565b604082019050919050565b6000611998601483611e0c565b91506119a382612079565b602082019050919050565b60006119bb602283611e0c565b91506119c6826120a2565b604082019050919050565b60006119de602683611e0c565b91506119e9826120f1565b604082019050919050565b6000611a01602283611e0c565b9150611a0c82612140565b604082019050919050565b6000611a24602683611e0c565b9150611a2f8261218f565b604082019050919050565b6000611a47601083611e0c565b9150611a52826121de565b602082019050919050565b6000611a6a602883611e0c565b9150611a7582612207565b604082019050919050565b6000611a8d602083611e0c565b9150611a9882612256565b602082019050919050565b6000611ab0602183611e0c565b9150611abb8261227f565b604082019050919050565b6000611ad3602583611e0c565b9150611ade826122ce565b604082019050919050565b6000611af6602483611e0c565b9150611b018261231d565b604082019050919050565b6000611b19602583611e0c565b9150611b248261236c565b604082019050919050565b6000611b3c601f83611e0c565b9150611b47826123bb565b602082019050919050565b6000611b5f602a83611e0c565b9150611b6a826123e4565b604082019050919050565b611b7e81611f3f565b82525050565b611b8d81611f49565b82525050565b6000602082019050611ba86000830184611911565b92915050565b6000602082019050611bc36000830184611920565b92915050565b60006020820190508181036000830152611be3818461192f565b905092915050565b60006020820190508181036000830152611c0481611968565b9050919050565b60006020820190508181036000830152611c248161198b565b9050919050565b60006020820190508181036000830152611c44816119ae565b9050919050565b60006020820190508181036000830152611c64816119d1565b9050919050565b60006020820190508181036000830152611c84816119f4565b9050919050565b60006020820190508181036000830152611ca481611a17565b9050919050565b60006020820190508181036000830152611cc481611a3a565b9050919050565b60006020820190508181036000830152611ce481611a5d565b9050919050565b60006020820190508181036000830152611d0481611a80565b9050919050565b60006020820190508181036000830152611d2481611aa3565b9050919050565b60006020820190508181036000830152611d4481611ac6565b9050919050565b60006020820190508181036000830152611d6481611ae9565b9050919050565b60006020820190508181036000830152611d8481611b0c565b9050919050565b60006020820190508181036000830152611da481611b2f565b9050919050565b60006020820190508181036000830152611dc481611b52565b9050919050565b6000602082019050611de06000830184611b75565b92915050565b6000602082019050611dfb6000830184611b84565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611e2882611f3f565b9150611e3383611f3f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611e6857611e67611fbb565b5b828201905092915050565b6000611e7e82611f3f565b9150611e8983611f3f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611ec257611ec1611fbb565b5b828202905092915050565b6000611ed882611f3f565b9150611ee383611f3f565b925082821015611ef657611ef5611fbb565b5b828203905092915050565b6000611f0c82611f1f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611f74578082015181840152602081019050611f59565b83811115611f83576000848401525b50505050565b60006002820490506001821680611fa157607f821691505b60208210811415611fb557611fb4611fea565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b61243c81611f01565b811461244757600080fd5b50565b61245381611f3f565b811461245e57600080fd5b5056fea2646970667358221220119f26b69a573e3d326c0506900cca230896dfca48ef305d2a74f1c342f3450e64736f6c63430008010033

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

00000000000000000000000000000000000000000000000000000000000186a0

-----Decoded View---------------
Arg [0] : total (uint256): 100000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000186a0


Deployed Bytecode Sourcemap

187:10031:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1062:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3166:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2157:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3799:414;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1999:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4608:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9352:107;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7049:111;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1035:84:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2321:125:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1693:145:4;;;:::i;:::-;;9244:103:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1061:85:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1273:102:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7855:111;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5310:374;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2649:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2879:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1987:240:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1062:98:1;1116:13;1148:5;1141:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1062:98;:::o;3166:166::-;3249:4;3265:39;3274:12;:10;:12::i;:::-;3288:7;3297:6;3265:8;:39::i;:::-;3321:4;3314:11;;3166:166;;;;:::o;2157:106::-;2218:7;2244:12;;2237:19;;2157:106;:::o;3799:414::-;3905:4;3921:36;3931:6;3939:9;3950:6;3921:9;:36::i;:::-;3968:24;3995:11;:19;4007:6;3995:19;;;;;;;;;;;;;;;:33;4015:12;:10;:12::i;:::-;3995:33;;;;;;;;;;;;;;;;3968:60;;4066:6;4046:16;:26;;4038:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4127:57;4136:6;4144:12;:10;:12::i;:::-;4177:6;4158:16;:25;;;;:::i;:::-;4127:8;:57::i;:::-;4202:4;4195:11;;;3799:414;;;;;:::o;1999:98::-;2057:5;2081:9;;;;;;;;;;;2074:16;;1999:98;:::o;4608:215::-;4696:4;4712:83;4721:12;:10;:12::i;:::-;4735:7;4744:50;4783:10;4744:11;:25;4756:12;:10;:12::i;:::-;4744:25;;;;;;;;;;;;;;;:34;4770:7;4744:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;4712:8;:83::i;:::-;4812:4;4805:11;;4608:215;;;;:::o;9352:107::-;9405:4;1284:12:4;:10;:12::i;:::-;1273:23;;:7;:5;:7::i;:::-;:23;;;1265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9421:10:1::1;:8;:10::i;:::-;9448:4;9441:11;;9352:107:::0;:::o;7049:111::-;1284:12:4;:10;:12::i;:::-;1273:23;;:7;:5;:7::i;:::-;:23;;;1265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7131:22:1::1;7137:7;7146:6;7131:5;:22::i;:::-;7049:111:::0;;:::o;1035:84:5:-;1082:4;1105:7;;;;;;;;;;;1098:14;;1035:84;:::o;2321:125:1:-;2395:7;2421:9;:18;2431:7;2421:18;;;;;;;;;;;;;;;;2414:25;;2321:125;;;:::o;1693:145:4:-;1284:12;:10;:12::i;:::-;1273:23;;:7;:5;:7::i;:::-;:23;;;1265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1799:1:::1;1762:40;;1783:6;::::0;::::1;;;;;;;;1762:40;;;;;;;;;;;;1829:1;1812:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1693:145::o:0;9244:103:1:-;9295:4;1284:12:4;:10;:12::i;:::-;1273:23;;:7;:5;:7::i;:::-;:23;;;1265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9311:8:1::1;:6;:8::i;:::-;9336:4;9329:11;;9244:103:::0;:::o;1061:85:4:-;1107:7;1133:6;;;;;;;;;;;1126:13;;1061:85;:::o;1273:102:1:-;1329:13;1361:7;1354:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1273:102;:::o;7855:111::-;1284:12:4;:10;:12::i;:::-;1273:23;;:7;:5;:7::i;:::-;:23;;;1265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7937:22:1::1;7943:7;7952:6;7937:5;:22::i;:::-;7855:111:::0;;:::o;5310:374::-;5403:4;5419:24;5446:11;:25;5458:12;:10;:12::i;:::-;5446:25;;;;;;;;;;;;;;;:34;5472:7;5446:34;;;;;;;;;;;;;;;;5419:61;;5518:15;5498:16;:35;;5490:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;5585:70;5594:12;:10;:12::i;:::-;5608:7;5617:37;5638:15;5617:16;:20;;:37;;;;:::i;:::-;5585:8;:70::i;:::-;5673:4;5666:11;;;5310:374;;;;:::o;2649:172::-;2735:4;2751:42;2761:12;:10;:12::i;:::-;2775:9;2786:6;2751:9;:42::i;:::-;2810:4;2803:11;;2649:172;;;;:::o;2879:149::-;2968:7;2994:11;:18;3006:5;2994:18;;;;;;;;;;;;;;;:27;3013:7;2994:27;;;;;;;;;;;;;;;;2987:34;;2879:149;;;;:::o;1987:240:4:-;1284:12;:10;:12::i;:::-;1273:23;;:7;:5;:7::i;:::-;:23;;;1265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2095:1:::1;2075:22;;:8;:22;;;;2067:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2184:8;2155:38;;2176:6;::::0;::::1;;;;;;;;2155:38;;;;;;;;;;;;2212:8;2203:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1987:240:::0;:::o;3382:96:6:-;3440:7;3470:1;3466;:5;;;;:::i;:::-;3459:12;;3382:96;;;;:::o;2672:::-;2730:7;2760:1;2756;:5;;;;:::i;:::-;2749:12;;2672:96;;;;:::o;586::0:-;639:7;665:10;658:17;;586:96;:::o;8897:340:1:-;9015:1;8998:19;;:5;:19;;;;8990:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9095:1;9076:21;;:7;:21;;;;9068:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9177:6;9147:11;:18;9159:5;9147:18;;;;;;;;;;;;;;;:27;9166:7;9147:27;;;;;;;;;;;;;;;:36;;;;9214:7;9198:32;;9207:5;9198:32;;;9223:6;9198:32;;;;;;:::i;:::-;;;;;;;;8897:340;;;:::o;6158:620::-;6281:1;6263:20;;:6;:20;;;;6255:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6364:1;6343:23;;:9;:23;;;;6335:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6417:47;6438:6;6446:9;6457:6;6417:20;:47::i;:::-;6475:21;6499:9;:17;6509:6;6499:17;;;;;;;;;;;;;;;;6475:41;;6551:6;6534:13;:23;;6526:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6630:25;6648:6;6630:13;:17;;:25;;;;:::i;:::-;6610:9;:17;6620:6;6610:17;;;;;;;;;;;;;;;:45;;;;6688:32;6713:6;6688:9;:20;6698:9;6688:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6665:9;:20;6675:9;6665:20;;;;;;;;;;;;;;;:55;;;;6753:9;6736:35;;6745:6;6736:35;;;6764:6;6736:35;;;;;;:::i;:::-;;;;;;;;6158:620;;;;:::o;2047:117:5:-;1614:8;:6;:8::i;:::-;1606:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2115:5:::1;2105:7:::0;::::1;:15;;;;;;;;;;;;;;;;;;2135:22;2144:12;:10;:12::i;:::-;2135:22;;;;;;:::i;:::-;;;;;;;;2047:117::o:0;7165:370:1:-;7267:1;7248:21;;:7;:21;;;;7240:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;7316:49;7345:1;7349:7;7358:6;7316:20;:49::i;:::-;7391:24;7408:6;7391:12;;:16;;:24;;;;:::i;:::-;7376:12;:39;;;;7446:30;7469:6;7446:9;:18;7456:7;7446:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;7425:9;:18;7435:7;7425:18;;;;;;;;;;;;;;;:51;;;;7512:7;7491:37;;7508:1;7491:37;;;7521:6;7491:37;;;;;;:::i;:::-;;;;;;;;7165:370;;:::o;1800:115:5:-;1349:8;:6;:8::i;:::-;1348:9;1340:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1869:4:::1;1859:7;;:14;;;;;;;;;;;;;;;;;;1888:20;1895:12;:10;:12::i;:::-;1888:20;;;;;;:::i;:::-;;;;;;;;1800:115::o:0;7971:503:1:-;8073:1;8054:21;;:7;:21;;;;8046:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8124:49;8145:7;8162:1;8166:6;8124:20;:49::i;:::-;8184:22;8209:9;:18;8219:7;8209:18;;;;;;;;;;;;;;;;8184:43;;8263:6;8245:14;:24;;8237:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8339:26;8358:6;8339:14;:18;;:26;;;;:::i;:::-;8318:9;:18;8328:7;8318:18;;;;;;;;;;;;;;;:47;;;;8390:24;8407:6;8390:12;;:16;;:24;;;;:::i;:::-;8375:12;:39;;;;8456:1;8430:37;;8439:7;8430:37;;;8460:6;8430:37;;;;;;:::i;:::-;;;;;;;;7971:503;;;:::o;3039:96:6:-;3097:7;3127:1;3123;:5;;;;:::i;:::-;3116:12;;3039:96;;;;:::o;10045:171:1:-;10154:8;:6;:8::i;:::-;10153:9;10145:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10045:171;;;:::o;7:139:7:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:118::-;2036:24;2054:5;2036:24;:::i;:::-;2031:3;2024:37;2014:53;;:::o;2073:109::-;2154:21;2169:5;2154:21;:::i;:::-;2149:3;2142:34;2132:50;;:::o;2188:364::-;;2304:39;2337:5;2304:39;:::i;:::-;2359:71;2423:6;2418:3;2359:71;:::i;:::-;2352:78;;2439:52;2484:6;2479:3;2472:4;2465:5;2461:16;2439:52;:::i;:::-;2516:29;2538:6;2516:29;:::i;:::-;2511:3;2507:39;2500:46;;2280:272;;;;;:::o;2558:366::-;;2721:67;2785:2;2780:3;2721:67;:::i;:::-;2714:74;;2797:93;2886:3;2797:93;:::i;:::-;2915:2;2910:3;2906:12;2899:19;;2704:220;;;:::o;2930:366::-;;3093:67;3157:2;3152:3;3093:67;:::i;:::-;3086:74;;3169:93;3258:3;3169:93;:::i;:::-;3287:2;3282:3;3278:12;3271:19;;3076:220;;;:::o;3302:366::-;;3465:67;3529:2;3524:3;3465:67;:::i;:::-;3458:74;;3541:93;3630:3;3541:93;:::i;:::-;3659:2;3654:3;3650:12;3643:19;;3448:220;;;:::o;3674:366::-;;3837:67;3901:2;3896:3;3837:67;:::i;:::-;3830:74;;3913:93;4002:3;3913:93;:::i;:::-;4031:2;4026:3;4022:12;4015:19;;3820:220;;;:::o;4046:366::-;;4209:67;4273:2;4268:3;4209:67;:::i;:::-;4202:74;;4285:93;4374:3;4285:93;:::i;:::-;4403:2;4398:3;4394:12;4387:19;;4192:220;;;:::o;4418:366::-;;4581:67;4645:2;4640:3;4581:67;:::i;:::-;4574:74;;4657:93;4746:3;4657:93;:::i;:::-;4775:2;4770:3;4766:12;4759:19;;4564:220;;;:::o;4790:366::-;;4953:67;5017:2;5012:3;4953:67;:::i;:::-;4946:74;;5029:93;5118:3;5029:93;:::i;:::-;5147:2;5142:3;5138:12;5131:19;;4936:220;;;:::o;5162:366::-;;5325:67;5389:2;5384:3;5325:67;:::i;:::-;5318:74;;5401:93;5490:3;5401:93;:::i;:::-;5519:2;5514:3;5510:12;5503:19;;5308:220;;;:::o;5534:366::-;;5697:67;5761:2;5756:3;5697:67;:::i;:::-;5690:74;;5773:93;5862:3;5773:93;:::i;:::-;5891:2;5886:3;5882:12;5875:19;;5680:220;;;:::o;5906:366::-;;6069:67;6133:2;6128:3;6069:67;:::i;:::-;6062:74;;6145:93;6234:3;6145:93;:::i;:::-;6263:2;6258:3;6254:12;6247:19;;6052:220;;;:::o;6278:366::-;;6441:67;6505:2;6500:3;6441:67;:::i;:::-;6434:74;;6517:93;6606:3;6517:93;:::i;:::-;6635:2;6630:3;6626:12;6619:19;;6424:220;;;:::o;6650:366::-;;6813:67;6877:2;6872:3;6813:67;:::i;:::-;6806:74;;6889:93;6978:3;6889:93;:::i;:::-;7007:2;7002:3;6998:12;6991:19;;6796:220;;;:::o;7022:366::-;;7185:67;7249:2;7244:3;7185:67;:::i;:::-;7178:74;;7261:93;7350:3;7261:93;:::i;:::-;7379:2;7374:3;7370:12;7363:19;;7168:220;;;:::o;7394:366::-;;7557:67;7621:2;7616:3;7557:67;:::i;:::-;7550:74;;7633:93;7722:3;7633:93;:::i;:::-;7751:2;7746:3;7742:12;7735:19;;7540:220;;;:::o;7766:366::-;;7929:67;7993:2;7988:3;7929:67;:::i;:::-;7922:74;;8005:93;8094:3;8005:93;:::i;:::-;8123:2;8118:3;8114:12;8107:19;;7912:220;;;:::o;8138:118::-;8225:24;8243:5;8225:24;:::i;:::-;8220:3;8213:37;8203:53;;:::o;8262:112::-;8345:22;8361:5;8345:22;:::i;:::-;8340:3;8333:35;8323:51;;:::o;8380:222::-;;8511:2;8500:9;8496:18;8488:26;;8524:71;8592:1;8581:9;8577:17;8568:6;8524:71;:::i;:::-;8478:124;;;;:::o;8608:210::-;;8733:2;8722:9;8718:18;8710:26;;8746:65;8808:1;8797:9;8793:17;8784:6;8746:65;:::i;:::-;8700:118;;;;:::o;8824:313::-;;8975:2;8964:9;8960:18;8952:26;;9024:9;9018:4;9014:20;9010:1;8999:9;8995:17;8988:47;9052:78;9125:4;9116:6;9052:78;:::i;:::-;9044:86;;8942:195;;;;:::o;9143:419::-;;9347:2;9336:9;9332:18;9324:26;;9396:9;9390:4;9386:20;9382:1;9371:9;9367:17;9360:47;9424:131;9550:4;9424:131;:::i;:::-;9416:139;;9314:248;;;:::o;9568:419::-;;9772:2;9761:9;9757:18;9749:26;;9821:9;9815:4;9811:20;9807:1;9796:9;9792:17;9785:47;9849:131;9975:4;9849:131;:::i;:::-;9841:139;;9739:248;;;:::o;9993:419::-;;10197:2;10186:9;10182:18;10174:26;;10246:9;10240:4;10236:20;10232:1;10221:9;10217:17;10210:47;10274:131;10400:4;10274:131;:::i;:::-;10266:139;;10164:248;;;:::o;10418:419::-;;10622:2;10611:9;10607:18;10599:26;;10671:9;10665:4;10661:20;10657:1;10646:9;10642:17;10635:47;10699:131;10825:4;10699:131;:::i;:::-;10691:139;;10589:248;;;:::o;10843:419::-;;11047:2;11036:9;11032:18;11024:26;;11096:9;11090:4;11086:20;11082:1;11071:9;11067:17;11060:47;11124:131;11250:4;11124:131;:::i;:::-;11116:139;;11014:248;;;:::o;11268:419::-;;11472:2;11461:9;11457:18;11449:26;;11521:9;11515:4;11511:20;11507:1;11496:9;11492:17;11485:47;11549:131;11675:4;11549:131;:::i;:::-;11541:139;;11439:248;;;:::o;11693:419::-;;11897:2;11886:9;11882:18;11874:26;;11946:9;11940:4;11936:20;11932:1;11921:9;11917:17;11910:47;11974:131;12100:4;11974:131;:::i;:::-;11966:139;;11864:248;;;:::o;12118:419::-;;12322:2;12311:9;12307:18;12299:26;;12371:9;12365:4;12361:20;12357:1;12346:9;12342:17;12335:47;12399:131;12525:4;12399:131;:::i;:::-;12391:139;;12289:248;;;:::o;12543:419::-;;12747:2;12736:9;12732:18;12724:26;;12796:9;12790:4;12786:20;12782:1;12771:9;12767:17;12760:47;12824:131;12950:4;12824:131;:::i;:::-;12816:139;;12714:248;;;:::o;12968:419::-;;13172:2;13161:9;13157:18;13149:26;;13221:9;13215:4;13211:20;13207:1;13196:9;13192:17;13185:47;13249:131;13375:4;13249:131;:::i;:::-;13241:139;;13139:248;;;:::o;13393:419::-;;13597:2;13586:9;13582:18;13574:26;;13646:9;13640:4;13636:20;13632:1;13621:9;13617:17;13610:47;13674:131;13800:4;13674:131;:::i;:::-;13666:139;;13564:248;;;:::o;13818:419::-;;14022:2;14011:9;14007:18;13999:26;;14071:9;14065:4;14061:20;14057:1;14046:9;14042:17;14035:47;14099:131;14225:4;14099:131;:::i;:::-;14091:139;;13989:248;;;:::o;14243:419::-;;14447:2;14436:9;14432:18;14424:26;;14496:9;14490:4;14486:20;14482:1;14471:9;14467:17;14460:47;14524:131;14650:4;14524:131;:::i;:::-;14516:139;;14414:248;;;:::o;14668:419::-;;14872:2;14861:9;14857:18;14849:26;;14921:9;14915:4;14911:20;14907:1;14896:9;14892:17;14885:47;14949:131;15075:4;14949:131;:::i;:::-;14941:139;;14839:248;;;:::o;15093:419::-;;15297:2;15286:9;15282:18;15274:26;;15346:9;15340:4;15336:20;15332:1;15321:9;15317:17;15310:47;15374:131;15500:4;15374:131;:::i;:::-;15366:139;;15264:248;;;:::o;15518:222::-;;15649:2;15638:9;15634:18;15626:26;;15662:71;15730:1;15719:9;15715:17;15706:6;15662:71;:::i;:::-;15616:124;;;;:::o;15746:214::-;;15873:2;15862:9;15858:18;15850:26;;15886:67;15950:1;15939:9;15935:17;15926:6;15886:67;:::i;:::-;15840:120;;;;:::o;15966:99::-;;16052:5;16046:12;16036:22;;16025:40;;;:::o;16071:169::-;;16189:6;16184:3;16177:19;16229:4;16224:3;16220:14;16205:29;;16167:73;;;;:::o;16246:305::-;;16305:20;16323:1;16305:20;:::i;:::-;16300:25;;16339:20;16357:1;16339:20;:::i;:::-;16334:25;;16493:1;16425:66;16421:74;16418:1;16415:81;16412:2;;;16499:18;;:::i;:::-;16412:2;16543:1;16540;16536:9;16529:16;;16290:261;;;;:::o;16557:348::-;;16620:20;16638:1;16620:20;:::i;:::-;16615:25;;16654:20;16672:1;16654:20;:::i;:::-;16649:25;;16842:1;16774:66;16770:74;16767:1;16764:81;16759:1;16752:9;16745:17;16741:105;16738:2;;;16849:18;;:::i;:::-;16738:2;16897:1;16894;16890:9;16879:20;;16605:300;;;;:::o;16911:191::-;;16971:20;16989:1;16971:20;:::i;:::-;16966:25;;17005:20;17023:1;17005:20;:::i;:::-;17000:25;;17044:1;17041;17038:8;17035:2;;;17049:18;;:::i;:::-;17035:2;17094:1;17091;17087:9;17079:17;;16956:146;;;;:::o;17108:96::-;;17174:24;17192:5;17174:24;:::i;:::-;17163:35;;17153:51;;;:::o;17210:90::-;;17287:5;17280:13;17273:21;17262:32;;17252:48;;;:::o;17306:126::-;;17383:42;17376:5;17372:54;17361:65;;17351:81;;;:::o;17438:77::-;;17504:5;17493:16;;17483:32;;;:::o;17521:86::-;;17596:4;17589:5;17585:16;17574:27;;17564:43;;;:::o;17613:307::-;17681:1;17691:113;17705:6;17702:1;17699:13;17691:113;;;17790:1;17785:3;17781:11;17775:18;17771:1;17766:3;17762:11;17755:39;17727:2;17724:1;17720:10;17715:15;;17691:113;;;17822:6;17819:1;17816:13;17813:2;;;17902:1;17893:6;17888:3;17884:16;17877:27;17813:2;17662:258;;;;:::o;17926:320::-;;18007:1;18001:4;17997:12;17987:22;;18054:1;18048:4;18044:12;18075:18;18065:2;;18131:4;18123:6;18119:17;18109:27;;18065:2;18193;18185:6;18182:14;18162:18;18159:38;18156:2;;;18212:18;;:::i;:::-;18156:2;17977:269;;;;:::o;18252:180::-;18300:77;18297:1;18290:88;18397:4;18394:1;18387:15;18421:4;18418:1;18411:15;18438:180;18486:77;18483:1;18476:88;18583:4;18580:1;18573:15;18607:4;18604:1;18597:15;18624:102;;18716:2;18712:7;18707:2;18700:5;18696:14;18692:28;18682:38;;18672:54;;;:::o;18732:222::-;18872:34;18868:1;18860:6;18856:14;18849:58;18941:5;18936:2;18928:6;18924:15;18917:30;18838:116;:::o;18960:170::-;19100:22;19096:1;19088:6;19084:14;19077:46;19066:64;:::o;19136:221::-;19276:34;19272:1;19264:6;19260:14;19253:58;19345:4;19340:2;19332:6;19328:15;19321:29;19242:115;:::o;19363:225::-;19503:34;19499:1;19491:6;19487:14;19480:58;19572:8;19567:2;19559:6;19555:15;19548:33;19469:119;:::o;19594:221::-;19734:34;19730:1;19722:6;19718:14;19711:58;19803:4;19798:2;19790:6;19786:15;19779:29;19700:115;:::o;19821:225::-;19961:34;19957:1;19949:6;19945:14;19938:58;20030:8;20025:2;20017:6;20013:15;20006:33;19927:119;:::o;20052:166::-;20192:18;20188:1;20180:6;20176:14;20169:42;20158:60;:::o;20224:227::-;20364:34;20360:1;20352:6;20348:14;20341:58;20433:10;20428:2;20420:6;20416:15;20409:35;20330:121;:::o;20457:182::-;20597:34;20593:1;20585:6;20581:14;20574:58;20563:76;:::o;20645:220::-;20785:34;20781:1;20773:6;20769:14;20762:58;20854:3;20849:2;20841:6;20837:15;20830:28;20751:114;:::o;20871:224::-;21011:34;21007:1;20999:6;20995:14;20988:58;21080:7;21075:2;21067:6;21063:15;21056:32;20977:118;:::o;21101:223::-;21241:34;21237:1;21229:6;21225:14;21218:58;21310:6;21305:2;21297:6;21293:15;21286:31;21207:117;:::o;21330:224::-;21470:34;21466:1;21458:6;21454:14;21447:58;21539:7;21534:2;21526:6;21522:15;21515:32;21436:118;:::o;21560:181::-;21700:33;21696:1;21688:6;21684:14;21677:57;21666:75;:::o;21747:229::-;21887:34;21883:1;21875:6;21871:14;21864:58;21956:12;21951:2;21943:6;21939:15;21932:37;21853:123;:::o;21982:122::-;22055:24;22073:5;22055:24;:::i;:::-;22048:5;22045:35;22035:2;;22094:1;22091;22084:12;22035:2;22025:79;:::o;22110:122::-;22183:24;22201:5;22183:24;:::i;:::-;22176:5;22173:35;22163:2;;22222:1;22219;22212:12;22163:2;22153:79;:::o

Swarm Source

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