ETH Price: $2,524.47 (+0.23%)

Token

Meme Fight (MFIGHTS)
 

Overview

Max Total Supply

10,000,000,000,000 MFIGHTS

Holders

127

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
11,018,383,384.122178659540132287 MFIGHTS

Value
$0.00
0x3d34162d6b6ce15d2f85e96ff586d33d5bc5ad9e
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
MFightsToken

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-21
*/

// SPDX-License-Identifier: MIT

/* * * * * * * * * * * * * * *

MFights

Telegram
https://t.me/mfights

Twitter
https://twitter.com/letsmemefight

Website
https://memefight.vip

* * * * * * * * * * * * * * */

// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)

pragma solidity ^0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}


// File @openzeppelin/contracts/access/[email protected]


// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)

pragma solidity ^0.8.0;

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

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

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

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


    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}


// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;



/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default 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(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

    /**
     * @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");
        unchecked {
            _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] + 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");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This 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");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(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:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

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

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(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) 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");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(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);
    }

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

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been 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 _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}


// File contracts/MFight.sol



pragma solidity ^0.8.0;


contract MFightsToken is Ownable, ERC20 {
    bool public limited = true;
    uint8 public _decimals = 18;
    uint256 public maxHoldingAmount = 210000000000 * 10**_decimals;
    uint256 public minHoldingAmount = 0;
    address public uniswapV2Pair;
    mapping(address => bool) public blacklists;

    constructor(uint256 _totalSupply) ERC20("Meme Fight", "MFIGHTS") {
        _mint(msg.sender, _totalSupply);
    }

    function blacklist(address _address, bool _isBlacklisting) external onlyOwner {
        blacklists[_address] = _isBlacklisting;
    }

    function setLimits(bool _limited, address _uniswapV2Pair, uint256 _maxHoldingAmount, uint256 _minHoldingAmount) external onlyOwner {
        limited = _limited;
        uniswapV2Pair = _uniswapV2Pair;
        maxHoldingAmount = _maxHoldingAmount;
        minHoldingAmount = _minHoldingAmount;
    }

    function setMaxLimits(bool _limited, address _uniswapV2Pair) external onlyOwner {
        limited = _limited;
        uniswapV2Pair = _uniswapV2Pair;
        maxHoldingAmount = 10000000000000 * 10**_decimals;
        minHoldingAmount = 0;
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) override internal virtual {
        require(!blacklists[to] && !blacklists[from], "Blacklisted");

        if (uniswapV2Pair == address(0)) {
            require(from == owner() || to == owner(), "trading is not started");
            return;
        }

        if (limited && from == uniswapV2Pair) {
            require(super.balanceOf(to) + amount <= maxHoldingAmount && super.balanceOf(to) + amount >= minHoldingAmount, "Forbid");
        }
    }

    function burn(uint256 value) external {
        _burn(msg.sender, value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_totalSupply","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","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":[],"name":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"address","name":"_uniswapV2Pair","type":"address"}],"name":"setMaxLimits","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040526001600660006101000a81548160ff0219169083151502179055506012600660016101000a81548160ff021916908360ff160217905550600660019054906101000a900460ff16600a620000599190620008e3565b6430e4f9b4006200006b919062000934565b60075560006008553480156200008057600080fd5b5060405162003675380380620036758339818101604052810190620000a69190620009b5565b6040518060400160405280600a81526020017f4d656d65204669676874000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f4d4649474854530000000000000000000000000000000000000000000000000081525062000132620001266200017160201b60201c565b6200017960201b60201c565b816004908162000143919062000c57565b50806005908162000155919062000c57565b5050506200016a33826200023d60201b60201c565b5062000f80565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002af576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002a69062000d9f565b60405180910390fd5b620002c360008383620003b660201b60201c565b8060036000828254620002d7919062000dc1565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200032f919062000dc1565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000396919062000e0d565b60405180910390a3620003b260008383620006d260201b60201c565b5050565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156200045b5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6200049d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004949062000e7a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603620005c05762000504620006d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148062000578575062000549620006d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b620005ba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005b19062000eec565b60405180910390fd5b620006cd565b600660009054906101000a900460ff1680156200062a5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620006cc57600754816200064a846200070060201b620008491760201c565b62000656919062000dc1565b11158015620006895750600854816200067a846200070060201b620008491760201c565b62000686919062000dc1565b10155b620006cb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006c29062000f5e565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007d757808604811115620007af57620007ae62000749565b5b6001851615620007bf5780820291505b8081029050620007cf8562000778565b94506200078f565b94509492505050565b600082620007f25760019050620008c5565b81620008025760009050620008c5565b81600181146200081b576002811462000826576200085c565b6001915050620008c5565b60ff8411156200083b576200083a62000749565b5b8360020a91508482111562000855576200085462000749565b5b50620008c5565b5060208310610133831016604e8410600b8410161715620008965782820a90508381111562000890576200088f62000749565b5b620008c5565b620008a5848484600162000785565b92509050818404811115620008bf57620008be62000749565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008f082620008cc565b9150620008fd83620008d6565b92506200092c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007e0565b905092915050565b60006200094182620008cc565b91506200094e83620008cc565b92508282026200095e81620008cc565b9150828204841483151762000978576200097762000749565b5b5092915050565b600080fd5b6200098f81620008cc565b81146200099b57600080fd5b50565b600081519050620009af8162000984565b92915050565b600060208284031215620009ce57620009cd6200097f565b5b6000620009de848285016200099e565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a6957607f821691505b60208210810362000a7f5762000a7e62000a21565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000ae97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000aaa565b62000af5868362000aaa565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000b3862000b3262000b2c84620008cc565b62000b0d565b620008cc565b9050919050565b6000819050919050565b62000b548362000b17565b62000b6c62000b638262000b3f565b84845462000ab7565b825550505050565b600090565b62000b8362000b74565b62000b9081848462000b49565b505050565b5b8181101562000bb85762000bac60008262000b79565b60018101905062000b96565b5050565b601f82111562000c075762000bd18162000a85565b62000bdc8462000a9a565b8101602085101562000bec578190505b62000c0462000bfb8562000a9a565b83018262000b95565b50505b505050565b600082821c905092915050565b600062000c2c6000198460080262000c0c565b1980831691505092915050565b600062000c47838362000c19565b9150826002028217905092915050565b62000c6282620009e7565b67ffffffffffffffff81111562000c7e5762000c7d620009f2565b5b62000c8a825462000a50565b62000c9782828562000bbc565b600060209050601f83116001811462000ccf576000841562000cba578287015190505b62000cc6858262000c39565b86555062000d36565b601f19841662000cdf8662000a85565b60005b8281101562000d095784890151825560018201915060208501945060208101905062000ce2565b8683101562000d29578489015162000d25601f89168262000c19565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000d87601f8362000d3e565b915062000d948262000d4f565b602082019050919050565b6000602082019050818103600083015262000dba8162000d78565b9050919050565b600062000dce82620008cc565b915062000ddb83620008cc565b925082820190508082111562000df65762000df562000749565b5b92915050565b62000e0781620008cc565b82525050565b600060208201905062000e24600083018462000dfc565b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600062000e62600b8362000d3e565b915062000e6f8262000e2a565b602082019050919050565b6000602082019050818103600083015262000e958162000e53565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000ed460168362000d3e565b915062000ee18262000e9c565b602082019050919050565b6000602082019050818103600083015262000f078162000ec5565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600062000f4660068362000d3e565b915062000f538262000f0e565b602082019050919050565b6000602082019050818103600083015262000f798162000f37565b9050919050565b6126e58062000f906000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d7146103bb578063a9059cbb146103eb578063c97bf7341461041b578063dd62ed3e14610437578063ebd3795914610467578063f2fde38b1461048357610158565b806370a0823114610309578063715018a614610339578063860a32ec1461034357806389f9a1d3146103615780638da5cb5b1461037f57806395d89b411461039d57610158565b8063313ce56711610115578063313ce5671461024757806332424aa3146102655780633950935114610283578063404e5129146102b357806342966c68146102cf57806349bd5a5e146102eb57610158565b806306fdde031461015d578063095ea7b31461017b57806316c02129146101ab57806318160ddd146101db5780631ab99e12146101f957806323b872dd14610217575b600080fd5b61016561049f565b60405161017291906118d8565b60405180910390f35b61019560048036038101906101909190611993565b610531565b6040516101a291906119ee565b60405180910390f35b6101c560048036038101906101c09190611a09565b61054f565b6040516101d291906119ee565b60405180910390f35b6101e361056f565b6040516101f09190611a45565b60405180910390f35b610201610579565b60405161020e9190611a45565b60405180910390f35b610231600480360381019061022c9190611a60565b61057f565b60405161023e91906119ee565b60405180910390f35b61024f610677565b60405161025c9190611acf565b60405180910390f35b61026d610680565b60405161027a9190611acf565b60405180910390f35b61029d60048036038101906102989190611993565b610693565b6040516102aa91906119ee565b60405180910390f35b6102cd60048036038101906102c89190611b16565b61073f565b005b6102e960048036038101906102e49190611b56565b610816565b005b6102f3610823565b6040516103009190611b92565b60405180910390f35b610323600480360381019061031e9190611a09565b610849565b6040516103309190611a45565b60405180910390f35b610341610892565b005b61034b61091a565b60405161035891906119ee565b60405180910390f35b61036961092d565b6040516103769190611a45565b60405180910390f35b610387610933565b6040516103949190611b92565b60405180910390f35b6103a561095c565b6040516103b291906118d8565b60405180910390f35b6103d560048036038101906103d09190611993565b6109ee565b6040516103e291906119ee565b60405180910390f35b61040560048036038101906104009190611993565b610ad9565b60405161041291906119ee565b60405180910390f35b61043560048036038101906104309190611bad565b610af7565b005b610451600480360381019061044c9190611c14565b610be2565b60405161045e9190611a45565b60405180910390f35b610481600480360381019061047c9190611c54565b610c69565b005b61049d60048036038101906104989190611a09565b610d7f565b005b6060600480546104ae90611cc3565b80601f01602080910402602001604051908101604052809291908181526020018280546104da90611cc3565b80156105275780601f106104fc57610100808354040283529160200191610527565b820191906000526020600020905b81548152906001019060200180831161050a57829003601f168201915b5050505050905090565b600061054561053e610e76565b8484610e7e565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b60085481565b600061058c848484611047565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d7610e76565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611d66565b60405180910390fd5b61066b85610663610e76565b858403610e7e565b60019150509392505050565b60006012905090565b600660019054906101000a900460ff1681565b60006107356106a0610e76565b8484600260006106ae610e76565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107309190611db5565b610e7e565b6001905092915050565b610747610e76565b73ffffffffffffffffffffffffffffffffffffffff16610765610933565b73ffffffffffffffffffffffffffffffffffffffff16146107bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b290611e35565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61082033826112c9565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61089a610e76565b73ffffffffffffffffffffffffffffffffffffffff166108b8610933565b73ffffffffffffffffffffffffffffffffffffffff161461090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090590611e35565b60405180910390fd5b61091860006114a1565b565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461096b90611cc3565b80601f016020809104026020016040519081016040528092919081815260200182805461099790611cc3565b80156109e45780601f106109b9576101008083540402835291602001916109e4565b820191906000526020600020905b8154815290600101906020018083116109c757829003601f168201915b5050505050905090565b600080600260006109fd610e76565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611ec7565b60405180910390fd5b610ace610ac5610e76565b85858403610e7e565b600191505092915050565b6000610aed610ae6610e76565b8484611047565b6001905092915050565b610aff610e76565b73ffffffffffffffffffffffffffffffffffffffff16610b1d610933565b73ffffffffffffffffffffffffffffffffffffffff1614610b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6a90611e35565b60405180910390fd5b83600660006101000a81548160ff02191690831515021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007819055508060088190555050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c71610e76565b73ffffffffffffffffffffffffffffffffffffffff16610c8f610933565b73ffffffffffffffffffffffffffffffffffffffff1614610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90611e35565b60405180910390fd5b81600660006101000a81548160ff02191690831515021790555080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660019054906101000a900460ff16600a610d5c919061201a565b6509184e72a000610d6d9190612065565b60078190555060006008819055505050565b610d87610e76565b73ffffffffffffffffffffffffffffffffffffffff16610da5610933565b73ffffffffffffffffffffffffffffffffffffffff1614610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290611e35565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6190612119565b60405180910390fd5b610e73816114a1565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee4906121ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f539061223d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103a9190611a45565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ad906122cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90612361565b60405180910390fd5b611130838383611565565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae906123f3565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461124c9190611db5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112b09190611a45565b60405180910390a36112c3848484611843565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132f90612485565b60405180910390fd5b61134482600083611565565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c290612517565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546114239190612537565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114889190611a45565b60405180910390a361149c83600084611843565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116095750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163f906125b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611755576116a6610933565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061171157506116e2610933565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612623565b60405180910390fd5b61183e565b600660009054906101000a900460ff1680156117be5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561183d57600754816117d084610849565b6117da9190611db5565b111580156117fd5750600854816117f084610849565b6117fa9190611db5565b10155b61183c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118339061268f565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611882578082015181840152602081019050611867565b60008484015250505050565b6000601f19601f8301169050919050565b60006118aa82611848565b6118b48185611853565b93506118c4818560208601611864565b6118cd8161188e565b840191505092915050565b600060208201905081810360008301526118f2818461189f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061192a826118ff565b9050919050565b61193a8161191f565b811461194557600080fd5b50565b60008135905061195781611931565b92915050565b6000819050919050565b6119708161195d565b811461197b57600080fd5b50565b60008135905061198d81611967565b92915050565b600080604083850312156119aa576119a96118fa565b5b60006119b885828601611948565b92505060206119c98582860161197e565b9150509250929050565b60008115159050919050565b6119e8816119d3565b82525050565b6000602082019050611a0360008301846119df565b92915050565b600060208284031215611a1f57611a1e6118fa565b5b6000611a2d84828501611948565b91505092915050565b611a3f8161195d565b82525050565b6000602082019050611a5a6000830184611a36565b92915050565b600080600060608486031215611a7957611a786118fa565b5b6000611a8786828701611948565b9350506020611a9886828701611948565b9250506040611aa98682870161197e565b9150509250925092565b600060ff82169050919050565b611ac981611ab3565b82525050565b6000602082019050611ae46000830184611ac0565b92915050565b611af3816119d3565b8114611afe57600080fd5b50565b600081359050611b1081611aea565b92915050565b60008060408385031215611b2d57611b2c6118fa565b5b6000611b3b85828601611948565b9250506020611b4c85828601611b01565b9150509250929050565b600060208284031215611b6c57611b6b6118fa565b5b6000611b7a8482850161197e565b91505092915050565b611b8c8161191f565b82525050565b6000602082019050611ba76000830184611b83565b92915050565b60008060008060808587031215611bc757611bc66118fa565b5b6000611bd587828801611b01565b9450506020611be687828801611948565b9350506040611bf78782880161197e565b9250506060611c088782880161197e565b91505092959194509250565b60008060408385031215611c2b57611c2a6118fa565b5b6000611c3985828601611948565b9250506020611c4a85828601611948565b9150509250929050565b60008060408385031215611c6b57611c6a6118fa565b5b6000611c7985828601611b01565b9250506020611c8a85828601611948565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611cdb57607f821691505b602082108103611cee57611ced611c94565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611d50602883611853565b9150611d5b82611cf4565b604082019050919050565b60006020820190508181036000830152611d7f81611d43565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611dc08261195d565b9150611dcb8361195d565b9250828201905080821115611de357611de2611d86565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e1f602083611853565b9150611e2a82611de9565b602082019050919050565b60006020820190508181036000830152611e4e81611e12565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611eb1602583611853565b9150611ebc82611e55565b604082019050919050565b60006020820190508181036000830152611ee081611ea4565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115611f3e57808604811115611f1a57611f19611d86565b5b6001851615611f295780820291505b8081029050611f3785611ee7565b9450611efe565b94509492505050565b600082611f575760019050612013565b81611f655760009050612013565b8160018114611f7b5760028114611f8557611fb4565b6001915050612013565b60ff841115611f9757611f96611d86565b5b8360020a915084821115611fae57611fad611d86565b5b50612013565b5060208310610133831016604e8410600b8410161715611fe95782820a905083811115611fe457611fe3611d86565b5b612013565b611ff68484846001611ef4565b9250905081840481111561200d5761200c611d86565b5b81810290505b9392505050565b60006120258261195d565b915061203083611ab3565b925061205d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f47565b905092915050565b60006120708261195d565b915061207b8361195d565b92508282026120898161195d565b915082820484148315176120a05761209f611d86565b5b5092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612103602683611853565b915061210e826120a7565b604082019050919050565b60006020820190508181036000830152612132816120f6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612195602483611853565b91506121a082612139565b604082019050919050565b600060208201905081810360008301526121c481612188565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612227602283611853565b9150612232826121cb565b604082019050919050565b600060208201905081810360008301526122568161221a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122b9602583611853565b91506122c48261225d565b604082019050919050565b600060208201905081810360008301526122e8816122ac565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061234b602383611853565b9150612356826122ef565b604082019050919050565b6000602082019050818103600083015261237a8161233e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006123dd602683611853565b91506123e882612381565b604082019050919050565b6000602082019050818103600083015261240c816123d0565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061246f602183611853565b915061247a82612413565b604082019050919050565b6000602082019050818103600083015261249e81612462565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612501602283611853565b915061250c826124a5565b604082019050919050565b60006020820190508181036000830152612530816124f4565b9050919050565b60006125428261195d565b915061254d8361195d565b925082820390508181111561256557612564611d86565b5b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b60006125a1600b83611853565b91506125ac8261256b565b602082019050919050565b600060208201905081810360008301526125d081612594565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600061260d601683611853565b9150612618826125d7565b602082019050919050565b6000602082019050818103600083015261263c81612600565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b6000612679600683611853565b915061268482612643565b602082019050919050565b600060208201905081810360008301526126a88161266c565b905091905056fea2646970667358221220ab8e7c37bc69981dbc72a4e6a0d6fed295c95c53f2f3ba7e6accf812f60a1fbb64736f6c63430008120033000000000000000000000000000000000000007e37be2022c0914b2680000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d7146103bb578063a9059cbb146103eb578063c97bf7341461041b578063dd62ed3e14610437578063ebd3795914610467578063f2fde38b1461048357610158565b806370a0823114610309578063715018a614610339578063860a32ec1461034357806389f9a1d3146103615780638da5cb5b1461037f57806395d89b411461039d57610158565b8063313ce56711610115578063313ce5671461024757806332424aa3146102655780633950935114610283578063404e5129146102b357806342966c68146102cf57806349bd5a5e146102eb57610158565b806306fdde031461015d578063095ea7b31461017b57806316c02129146101ab57806318160ddd146101db5780631ab99e12146101f957806323b872dd14610217575b600080fd5b61016561049f565b60405161017291906118d8565b60405180910390f35b61019560048036038101906101909190611993565b610531565b6040516101a291906119ee565b60405180910390f35b6101c560048036038101906101c09190611a09565b61054f565b6040516101d291906119ee565b60405180910390f35b6101e361056f565b6040516101f09190611a45565b60405180910390f35b610201610579565b60405161020e9190611a45565b60405180910390f35b610231600480360381019061022c9190611a60565b61057f565b60405161023e91906119ee565b60405180910390f35b61024f610677565b60405161025c9190611acf565b60405180910390f35b61026d610680565b60405161027a9190611acf565b60405180910390f35b61029d60048036038101906102989190611993565b610693565b6040516102aa91906119ee565b60405180910390f35b6102cd60048036038101906102c89190611b16565b61073f565b005b6102e960048036038101906102e49190611b56565b610816565b005b6102f3610823565b6040516103009190611b92565b60405180910390f35b610323600480360381019061031e9190611a09565b610849565b6040516103309190611a45565b60405180910390f35b610341610892565b005b61034b61091a565b60405161035891906119ee565b60405180910390f35b61036961092d565b6040516103769190611a45565b60405180910390f35b610387610933565b6040516103949190611b92565b60405180910390f35b6103a561095c565b6040516103b291906118d8565b60405180910390f35b6103d560048036038101906103d09190611993565b6109ee565b6040516103e291906119ee565b60405180910390f35b61040560048036038101906104009190611993565b610ad9565b60405161041291906119ee565b60405180910390f35b61043560048036038101906104309190611bad565b610af7565b005b610451600480360381019061044c9190611c14565b610be2565b60405161045e9190611a45565b60405180910390f35b610481600480360381019061047c9190611c54565b610c69565b005b61049d60048036038101906104989190611a09565b610d7f565b005b6060600480546104ae90611cc3565b80601f01602080910402602001604051908101604052809291908181526020018280546104da90611cc3565b80156105275780601f106104fc57610100808354040283529160200191610527565b820191906000526020600020905b81548152906001019060200180831161050a57829003601f168201915b5050505050905090565b600061054561053e610e76565b8484610e7e565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b60085481565b600061058c848484611047565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d7610e76565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611d66565b60405180910390fd5b61066b85610663610e76565b858403610e7e565b60019150509392505050565b60006012905090565b600660019054906101000a900460ff1681565b60006107356106a0610e76565b8484600260006106ae610e76565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107309190611db5565b610e7e565b6001905092915050565b610747610e76565b73ffffffffffffffffffffffffffffffffffffffff16610765610933565b73ffffffffffffffffffffffffffffffffffffffff16146107bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b290611e35565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61082033826112c9565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61089a610e76565b73ffffffffffffffffffffffffffffffffffffffff166108b8610933565b73ffffffffffffffffffffffffffffffffffffffff161461090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090590611e35565b60405180910390fd5b61091860006114a1565b565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461096b90611cc3565b80601f016020809104026020016040519081016040528092919081815260200182805461099790611cc3565b80156109e45780601f106109b9576101008083540402835291602001916109e4565b820191906000526020600020905b8154815290600101906020018083116109c757829003601f168201915b5050505050905090565b600080600260006109fd610e76565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611ec7565b60405180910390fd5b610ace610ac5610e76565b85858403610e7e565b600191505092915050565b6000610aed610ae6610e76565b8484611047565b6001905092915050565b610aff610e76565b73ffffffffffffffffffffffffffffffffffffffff16610b1d610933565b73ffffffffffffffffffffffffffffffffffffffff1614610b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6a90611e35565b60405180910390fd5b83600660006101000a81548160ff02191690831515021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007819055508060088190555050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c71610e76565b73ffffffffffffffffffffffffffffffffffffffff16610c8f610933565b73ffffffffffffffffffffffffffffffffffffffff1614610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90611e35565b60405180910390fd5b81600660006101000a81548160ff02191690831515021790555080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660019054906101000a900460ff16600a610d5c919061201a565b6509184e72a000610d6d9190612065565b60078190555060006008819055505050565b610d87610e76565b73ffffffffffffffffffffffffffffffffffffffff16610da5610933565b73ffffffffffffffffffffffffffffffffffffffff1614610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290611e35565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6190612119565b60405180910390fd5b610e73816114a1565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee4906121ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f539061223d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103a9190611a45565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ad906122cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90612361565b60405180910390fd5b611130838383611565565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae906123f3565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461124c9190611db5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112b09190611a45565b60405180910390a36112c3848484611843565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132f90612485565b60405180910390fd5b61134482600083611565565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c290612517565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546114239190612537565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114889190611a45565b60405180910390a361149c83600084611843565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116095750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163f906125b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611755576116a6610933565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061171157506116e2610933565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612623565b60405180910390fd5b61183e565b600660009054906101000a900460ff1680156117be5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561183d57600754816117d084610849565b6117da9190611db5565b111580156117fd5750600854816117f084610849565b6117fa9190611db5565b10155b61183c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118339061268f565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611882578082015181840152602081019050611867565b60008484015250505050565b6000601f19601f8301169050919050565b60006118aa82611848565b6118b48185611853565b93506118c4818560208601611864565b6118cd8161188e565b840191505092915050565b600060208201905081810360008301526118f2818461189f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061192a826118ff565b9050919050565b61193a8161191f565b811461194557600080fd5b50565b60008135905061195781611931565b92915050565b6000819050919050565b6119708161195d565b811461197b57600080fd5b50565b60008135905061198d81611967565b92915050565b600080604083850312156119aa576119a96118fa565b5b60006119b885828601611948565b92505060206119c98582860161197e565b9150509250929050565b60008115159050919050565b6119e8816119d3565b82525050565b6000602082019050611a0360008301846119df565b92915050565b600060208284031215611a1f57611a1e6118fa565b5b6000611a2d84828501611948565b91505092915050565b611a3f8161195d565b82525050565b6000602082019050611a5a6000830184611a36565b92915050565b600080600060608486031215611a7957611a786118fa565b5b6000611a8786828701611948565b9350506020611a9886828701611948565b9250506040611aa98682870161197e565b9150509250925092565b600060ff82169050919050565b611ac981611ab3565b82525050565b6000602082019050611ae46000830184611ac0565b92915050565b611af3816119d3565b8114611afe57600080fd5b50565b600081359050611b1081611aea565b92915050565b60008060408385031215611b2d57611b2c6118fa565b5b6000611b3b85828601611948565b9250506020611b4c85828601611b01565b9150509250929050565b600060208284031215611b6c57611b6b6118fa565b5b6000611b7a8482850161197e565b91505092915050565b611b8c8161191f565b82525050565b6000602082019050611ba76000830184611b83565b92915050565b60008060008060808587031215611bc757611bc66118fa565b5b6000611bd587828801611b01565b9450506020611be687828801611948565b9350506040611bf78782880161197e565b9250506060611c088782880161197e565b91505092959194509250565b60008060408385031215611c2b57611c2a6118fa565b5b6000611c3985828601611948565b9250506020611c4a85828601611948565b9150509250929050565b60008060408385031215611c6b57611c6a6118fa565b5b6000611c7985828601611b01565b9250506020611c8a85828601611948565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611cdb57607f821691505b602082108103611cee57611ced611c94565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611d50602883611853565b9150611d5b82611cf4565b604082019050919050565b60006020820190508181036000830152611d7f81611d43565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611dc08261195d565b9150611dcb8361195d565b9250828201905080821115611de357611de2611d86565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e1f602083611853565b9150611e2a82611de9565b602082019050919050565b60006020820190508181036000830152611e4e81611e12565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611eb1602583611853565b9150611ebc82611e55565b604082019050919050565b60006020820190508181036000830152611ee081611ea4565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115611f3e57808604811115611f1a57611f19611d86565b5b6001851615611f295780820291505b8081029050611f3785611ee7565b9450611efe565b94509492505050565b600082611f575760019050612013565b81611f655760009050612013565b8160018114611f7b5760028114611f8557611fb4565b6001915050612013565b60ff841115611f9757611f96611d86565b5b8360020a915084821115611fae57611fad611d86565b5b50612013565b5060208310610133831016604e8410600b8410161715611fe95782820a905083811115611fe457611fe3611d86565b5b612013565b611ff68484846001611ef4565b9250905081840481111561200d5761200c611d86565b5b81810290505b9392505050565b60006120258261195d565b915061203083611ab3565b925061205d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f47565b905092915050565b60006120708261195d565b915061207b8361195d565b92508282026120898161195d565b915082820484148315176120a05761209f611d86565b5b5092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612103602683611853565b915061210e826120a7565b604082019050919050565b60006020820190508181036000830152612132816120f6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612195602483611853565b91506121a082612139565b604082019050919050565b600060208201905081810360008301526121c481612188565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612227602283611853565b9150612232826121cb565b604082019050919050565b600060208201905081810360008301526122568161221a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122b9602583611853565b91506122c48261225d565b604082019050919050565b600060208201905081810360008301526122e8816122ac565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061234b602383611853565b9150612356826122ef565b604082019050919050565b6000602082019050818103600083015261237a8161233e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006123dd602683611853565b91506123e882612381565b604082019050919050565b6000602082019050818103600083015261240c816123d0565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061246f602183611853565b915061247a82612413565b604082019050919050565b6000602082019050818103600083015261249e81612462565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612501602283611853565b915061250c826124a5565b604082019050919050565b60006020820190508181036000830152612530816124f4565b9050919050565b60006125428261195d565b915061254d8361195d565b925082820390508181111561256557612564611d86565b5b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b60006125a1600b83611853565b91506125ac8261256b565b602082019050919050565b600060208201905081810360008301526125d081612594565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600061260d601683611853565b9150612618826125d7565b602082019050919050565b6000602082019050818103600083015261263c81612600565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b6000612679600683611853565b915061268482612643565b602082019050919050565b600060208201905081810360008301526126a88161266c565b905091905056fea2646970667358221220ab8e7c37bc69981dbc72a4e6a0d6fed295c95c53f2f3ba7e6accf812f60a1fbb64736f6c63430008120033

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

000000000000000000000000000000000000007e37be2022c0914b2680000000

-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 10000000000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000007e37be2022c0914b2680000000


Deployed Bytecode Sourcemap

15663:1804:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5635:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7802:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15923:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6755:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15846:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8453:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6597:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15743:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9354:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16097:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17383:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15888:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6926:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1170:103;;;:::i;:::-;;15710:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15777:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;947:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5854:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10072:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7266:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16240:303;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7504:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16551:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1281:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5635:100;5689:13;5722:5;5715:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5635:100;:::o;7802:169::-;7885:4;7902:39;7911:12;:10;:12::i;:::-;7925:7;7934:6;7902:8;:39::i;:::-;7959:4;7952:11;;7802:169;;;;:::o;15923:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;6755:108::-;6816:7;6843:12;;6836:19;;6755:108;:::o;15846:35::-;;;;:::o;8453:492::-;8593:4;8610:36;8620:6;8628:9;8639:6;8610:9;:36::i;:::-;8659:24;8686:11;:19;8698:6;8686:19;;;;;;;;;;;;;;;:33;8706:12;:10;:12::i;:::-;8686:33;;;;;;;;;;;;;;;;8659:60;;8758:6;8738:16;:26;;8730:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8845:57;8854:6;8862:12;:10;:12::i;:::-;8895:6;8876:16;:25;8845:8;:57::i;:::-;8933:4;8926:11;;;8453:492;;;;;:::o;6597:93::-;6655:5;6680:2;6673:9;;6597:93;:::o;15743:27::-;;;;;;;;;;;;;:::o;9354:215::-;9442:4;9459:80;9468:12;:10;:12::i;:::-;9482:7;9528:10;9491:11;:25;9503:12;:10;:12::i;:::-;9491:25;;;;;;;;;;;;;;;:34;9517:7;9491:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;9459:8;:80::i;:::-;9557:4;9550:11;;9354:215;;;;:::o;16097:135::-;1093:12;:10;:12::i;:::-;1082:23;;:7;:5;:7::i;:::-;:23;;;1074:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16209:15:::1;16186:10;:20;16197:8;16186:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;16097:135:::0;;:::o;17383:81::-;17432:24;17438:10;17450:5;17432;:24::i;:::-;17383:81;:::o;15888:28::-;;;;;;;;;;;;;:::o;6926:127::-;7000:7;7027:9;:18;7037:7;7027:18;;;;;;;;;;;;;;;;7020:25;;6926:127;;;:::o;1170:103::-;1093:12;:10;:12::i;:::-;1082:23;;:7;:5;:7::i;:::-;:23;;;1074:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1235:30:::1;1262:1;1235:18;:30::i;:::-;1170:103::o:0;15710:26::-;;;;;;;;;;;;;:::o;15777:62::-;;;;:::o;947:87::-;993:7;1020:6;;;;;;;;;;;1013:13;;947:87;:::o;5854:104::-;5910:13;5943:7;5936:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5854:104;:::o;10072:413::-;10165:4;10182:24;10209:11;:25;10221:12;:10;:12::i;:::-;10209:25;;;;;;;;;;;;;;;:34;10235:7;10209:34;;;;;;;;;;;;;;;;10182:61;;10282:15;10262:16;:35;;10254:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10375:67;10384:12;:10;:12::i;:::-;10398:7;10426:15;10407:16;:34;10375:8;:67::i;:::-;10473:4;10466:11;;;10072:413;;;;:::o;7266:175::-;7352:4;7369:42;7379:12;:10;:12::i;:::-;7393:9;7404:6;7369:9;:42::i;:::-;7429:4;7422:11;;7266:175;;;;:::o;16240:303::-;1093:12;:10;:12::i;:::-;1082:23;;:7;:5;:7::i;:::-;:23;;;1074:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16392:8:::1;16382:7;;:18;;;;;;;;;;;;;;;;;;16427:14;16411:13;;:30;;;;;;;;;;;;;;;;;;16471:17;16452:16;:36;;;;16518:17;16499:16;:36;;;;16240:303:::0;;;;:::o;7504:151::-;7593:7;7620:11;:18;7632:5;7620:18;;;;;;;;;;;;;;;:27;7639:7;7620:27;;;;;;;;;;;;;;;;7613:34;;7504:151;;;;:::o;16551:249::-;1093:12;:10;:12::i;:::-;1082:23;;:7;:5;:7::i;:::-;:23;;;1074:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16652:8:::1;16642:7;;:18;;;;;;;;;;;;;;;;;;16687:14;16671:13;;:30;;;;;;;;;;;;;;;;;;16752:9;;;;;;;;;;;16748:2;:13;;;;:::i;:::-;16731:14;:30;;;;:::i;:::-;16712:16;:49;;;;16791:1;16772:16;:20;;;;16551:249:::0;;:::o;1281:201::-;1093:12;:10;:12::i;:::-;1082:23;;:7;:5;:7::i;:::-;:23;;;1074:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1390:1:::1;1370:22;;:8;:22;;::::0;1362:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1446:28;1465:8;1446:18;:28::i;:::-;1281:201:::0;:::o;344:98::-;397:7;424:10;417:17;;344:98;:::o;13756:380::-;13909:1;13892:19;;:5;:19;;;13884:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13990:1;13971:21;;:7;:21;;;13963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14074:6;14044:11;:18;14056:5;14044:18;;;;;;;;;;;;;;;:27;14063:7;14044:27;;;;;;;;;;;;;;;:36;;;;14112:7;14096:32;;14105:5;14096:32;;;14121:6;14096:32;;;;;;:::i;:::-;;;;;;;;13756:380;;;:::o;10975:733::-;11133:1;11115:20;;:6;:20;;;11107:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11217:1;11196:23;;:9;:23;;;11188:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11272:47;11293:6;11301:9;11312:6;11272:20;:47::i;:::-;11332:21;11356:9;:17;11366:6;11356:17;;;;;;;;;;;;;;;;11332:41;;11409:6;11392:13;:23;;11384:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11530:6;11514:13;:22;11494:9;:17;11504:6;11494:17;;;;;;;;;;;;;;;:42;;;;11582:6;11558:9;:20;11568:9;11558:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;11623:9;11606:35;;11615:6;11606:35;;;11634:6;11606:35;;;;;;:::i;:::-;;;;;;;;11654:46;11674:6;11682:9;11693:6;11654:19;:46::i;:::-;11096:612;10975:733;;;:::o;12727:591::-;12830:1;12811:21;;:7;:21;;;12803:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12883:49;12904:7;12921:1;12925:6;12883:20;:49::i;:::-;12945:22;12970:9;:18;12980:7;12970:18;;;;;;;;;;;;;;;;12945:43;;13025:6;13007:14;:24;;12999:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13144:6;13127:14;:23;13106:9;:18;13116:7;13106:18;;;;;;;;;;;;;;;:44;;;;13188:6;13172:12;;:22;;;;;;;:::i;:::-;;;;;;;;13238:1;13212:37;;13221:7;13212:37;;;13242:6;13212:37;;;;;;:::i;:::-;;;;;;;;13262:48;13282:7;13299:1;13303:6;13262:19;:48::i;:::-;12792:526;12727:591;;:::o;1490:191::-;1564:16;1583:6;;;;;;;;;;;1564:25;;1609:8;1600:6;;:17;;;;;;;;;;;;;;;;;;1664:8;1633:40;;1654:8;1633:40;;;;;;;;;;;;1553:128;1490:191;:::o;16808:567::-;16960:10;:14;16971:2;16960:14;;;;;;;;;;;;;;;;;;;;;;;;;16959:15;:36;;;;;16979:10;:16;16990:4;16979:16;;;;;;;;;;;;;;;;;;;;;;;;;16978:17;16959:36;16951:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;17053:1;17028:27;;:13;;;;;;;;;;;:27;;;17024:148;;17088:7;:5;:7::i;:::-;17080:15;;:4;:15;;;:32;;;;17105:7;:5;:7::i;:::-;17099:13;;:2;:13;;;17080:32;17072:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17154:7;;17024:148;17188:7;;;;;;;;;;;:32;;;;;17207:13;;;;;;;;;;;17199:21;;:4;:21;;;17188:32;17184:184;;;17277:16;;17267:6;17245:19;17261:2;17245:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;:100;;;;;17329:16;;17319:6;17297:19;17313:2;17297:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;17245:100;17237:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;17184:184;16808:567;;;;:::o;15465:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:116::-;5258:21;5273:5;5258:21;:::i;:::-;5251:5;5248:32;5238:60;;5294:1;5291;5284:12;5238:60;5188:116;:::o;5310:133::-;5353:5;5391:6;5378:20;5369:29;;5407:30;5431:5;5407:30;:::i;:::-;5310:133;;;;:::o;5449:468::-;5514:6;5522;5571:2;5559:9;5550:7;5546:23;5542:32;5539:119;;;5577:79;;:::i;:::-;5539:119;5697:1;5722:53;5767:7;5758:6;5747:9;5743:22;5722:53;:::i;:::-;5712:63;;5668:117;5824:2;5850:50;5892:7;5883:6;5872:9;5868:22;5850:50;:::i;:::-;5840:60;;5795:115;5449:468;;;;;:::o;5923:329::-;5982:6;6031:2;6019:9;6010:7;6006:23;6002:32;5999:119;;;6037:79;;:::i;:::-;5999:119;6157:1;6182:53;6227:7;6218:6;6207:9;6203:22;6182:53;:::i;:::-;6172:63;;6128:117;5923:329;;;;:::o;6258:118::-;6345:24;6363:5;6345:24;:::i;:::-;6340:3;6333:37;6258:118;;:::o;6382:222::-;6475:4;6513:2;6502:9;6498:18;6490:26;;6526:71;6594:1;6583:9;6579:17;6570:6;6526:71;:::i;:::-;6382:222;;;;:::o;6610:759::-;6693:6;6701;6709;6717;6766:3;6754:9;6745:7;6741:23;6737:33;6734:120;;;6773:79;;:::i;:::-;6734:120;6893:1;6918:50;6960:7;6951:6;6940:9;6936:22;6918:50;:::i;:::-;6908:60;;6864:114;7017:2;7043:53;7088:7;7079:6;7068:9;7064:22;7043:53;:::i;:::-;7033:63;;6988:118;7145:2;7171:53;7216:7;7207:6;7196:9;7192:22;7171:53;:::i;:::-;7161:63;;7116:118;7273:2;7299:53;7344:7;7335:6;7324:9;7320:22;7299:53;:::i;:::-;7289:63;;7244:118;6610:759;;;;;;;:::o;7375:474::-;7443:6;7451;7500:2;7488:9;7479:7;7475:23;7471:32;7468:119;;;7506:79;;:::i;:::-;7468:119;7626:1;7651:53;7696:7;7687:6;7676:9;7672:22;7651:53;:::i;:::-;7641:63;;7597:117;7753:2;7779:53;7824:7;7815:6;7804:9;7800:22;7779:53;:::i;:::-;7769:63;;7724:118;7375:474;;;;;:::o;7855:468::-;7920:6;7928;7977:2;7965:9;7956:7;7952:23;7948:32;7945:119;;;7983:79;;:::i;:::-;7945:119;8103:1;8128:50;8170:7;8161:6;8150:9;8146:22;8128:50;:::i;:::-;8118:60;;8074:114;8227:2;8253:53;8298:7;8289:6;8278:9;8274:22;8253:53;:::i;:::-;8243:63;;8198:118;7855:468;;;;;:::o;8329:180::-;8377:77;8374:1;8367:88;8474:4;8471:1;8464:15;8498:4;8495:1;8488:15;8515:320;8559:6;8596:1;8590:4;8586:12;8576:22;;8643:1;8637:4;8633:12;8664:18;8654:81;;8720:4;8712:6;8708:17;8698:27;;8654:81;8782:2;8774:6;8771:14;8751:18;8748:38;8745:84;;8801:18;;:::i;:::-;8745:84;8566:269;8515:320;;;:::o;8841:227::-;8981:34;8977:1;8969:6;8965:14;8958:58;9050:10;9045:2;9037:6;9033:15;9026:35;8841:227;:::o;9074:366::-;9216:3;9237:67;9301:2;9296:3;9237:67;:::i;:::-;9230:74;;9313:93;9402:3;9313:93;:::i;:::-;9431:2;9426:3;9422:12;9415:19;;9074:366;;;:::o;9446:419::-;9612:4;9650:2;9639:9;9635:18;9627:26;;9699:9;9693:4;9689:20;9685:1;9674:9;9670:17;9663:47;9727:131;9853:4;9727:131;:::i;:::-;9719:139;;9446:419;;;:::o;9871:180::-;9919:77;9916:1;9909:88;10016:4;10013:1;10006:15;10040:4;10037:1;10030:15;10057:191;10097:3;10116:20;10134:1;10116:20;:::i;:::-;10111:25;;10150:20;10168:1;10150:20;:::i;:::-;10145:25;;10193:1;10190;10186:9;10179:16;;10214:3;10211:1;10208:10;10205:36;;;10221:18;;:::i;:::-;10205:36;10057:191;;;;:::o;10254:182::-;10394:34;10390:1;10382:6;10378:14;10371:58;10254:182;:::o;10442:366::-;10584:3;10605:67;10669:2;10664:3;10605:67;:::i;:::-;10598:74;;10681:93;10770:3;10681:93;:::i;:::-;10799:2;10794:3;10790:12;10783:19;;10442:366;;;:::o;10814:419::-;10980:4;11018:2;11007:9;11003:18;10995:26;;11067:9;11061:4;11057:20;11053:1;11042:9;11038:17;11031:47;11095:131;11221:4;11095:131;:::i;:::-;11087:139;;10814:419;;;:::o;11239:224::-;11379:34;11375:1;11367:6;11363:14;11356:58;11448:7;11443:2;11435:6;11431:15;11424:32;11239:224;:::o;11469:366::-;11611:3;11632:67;11696:2;11691:3;11632:67;:::i;:::-;11625:74;;11708:93;11797:3;11708:93;:::i;:::-;11826:2;11821:3;11817:12;11810:19;;11469:366;;;:::o;11841:419::-;12007:4;12045:2;12034:9;12030:18;12022:26;;12094:9;12088:4;12084:20;12080:1;12069:9;12065:17;12058:47;12122:131;12248:4;12122:131;:::i;:::-;12114:139;;11841:419;;;:::o;12266:102::-;12308:8;12355:5;12352:1;12348:13;12327:34;;12266:102;;;:::o;12374:848::-;12435:5;12442:4;12466:6;12457:15;;12490:5;12481:14;;12504:712;12525:1;12515:8;12512:15;12504:712;;;12620:4;12615:3;12611:14;12605:4;12602:24;12599:50;;;12629:18;;:::i;:::-;12599:50;12679:1;12669:8;12665:16;12662:451;;;13094:4;13087:5;13083:16;13074:25;;12662:451;13144:4;13138;13134:15;13126:23;;13174:32;13197:8;13174:32;:::i;:::-;13162:44;;12504:712;;;12374:848;;;;;;;:::o;13228:1073::-;13282:5;13473:8;13463:40;;13494:1;13485:10;;13496:5;;13463:40;13522:4;13512:36;;13539:1;13530:10;;13541:5;;13512:36;13608:4;13656:1;13651:27;;;;13692:1;13687:191;;;;13601:277;;13651:27;13669:1;13660:10;;13671:5;;;13687:191;13732:3;13722:8;13719:17;13716:43;;;13739:18;;:::i;:::-;13716:43;13788:8;13785:1;13781:16;13772:25;;13823:3;13816:5;13813:14;13810:40;;;13830:18;;:::i;:::-;13810:40;13863:5;;;13601:277;;13987:2;13977:8;13974:16;13968:3;13962:4;13959:13;13955:36;13937:2;13927:8;13924:16;13919:2;13913:4;13910:12;13906:35;13890:111;13887:246;;;14043:8;14037:4;14033:19;14024:28;;14078:3;14071:5;14068:14;14065:40;;;14085:18;;:::i;:::-;14065:40;14118:5;;13887:246;14158:42;14196:3;14186:8;14180:4;14177:1;14158:42;:::i;:::-;14143:57;;;;14232:4;14227:3;14223:14;14216:5;14213:25;14210:51;;;14241:18;;:::i;:::-;14210:51;14290:4;14283:5;14279:16;14270:25;;13228:1073;;;;;;:::o;14307:281::-;14365:5;14389:23;14407:4;14389:23;:::i;:::-;14381:31;;14433:25;14449:8;14433:25;:::i;:::-;14421:37;;14477:104;14514:66;14504:8;14498:4;14477:104;:::i;:::-;14468:113;;14307:281;;;;:::o;14594:410::-;14634:7;14657:20;14675:1;14657:20;:::i;:::-;14652:25;;14691:20;14709:1;14691:20;:::i;:::-;14686:25;;14746:1;14743;14739:9;14768:30;14786:11;14768:30;:::i;:::-;14757:41;;14947:1;14938:7;14934:15;14931:1;14928:22;14908:1;14901:9;14881:83;14858:139;;14977:18;;:::i;:::-;14858:139;14642:362;14594:410;;;;:::o;15010:225::-;15150:34;15146:1;15138:6;15134:14;15127:58;15219:8;15214:2;15206:6;15202:15;15195:33;15010:225;:::o;15241:366::-;15383:3;15404:67;15468:2;15463:3;15404:67;:::i;:::-;15397:74;;15480:93;15569:3;15480:93;:::i;:::-;15598:2;15593:3;15589:12;15582:19;;15241:366;;;:::o;15613:419::-;15779:4;15817:2;15806:9;15802:18;15794:26;;15866:9;15860:4;15856:20;15852:1;15841:9;15837:17;15830:47;15894:131;16020:4;15894:131;:::i;:::-;15886:139;;15613:419;;;:::o;16038:223::-;16178:34;16174:1;16166:6;16162:14;16155:58;16247:6;16242:2;16234:6;16230:15;16223:31;16038:223;:::o;16267:366::-;16409:3;16430:67;16494:2;16489:3;16430:67;:::i;:::-;16423:74;;16506:93;16595:3;16506:93;:::i;:::-;16624:2;16619:3;16615:12;16608:19;;16267:366;;;:::o;16639:419::-;16805:4;16843:2;16832:9;16828:18;16820:26;;16892:9;16886:4;16882:20;16878:1;16867:9;16863:17;16856:47;16920:131;17046:4;16920:131;:::i;:::-;16912:139;;16639:419;;;:::o;17064:221::-;17204:34;17200:1;17192:6;17188:14;17181:58;17273:4;17268:2;17260:6;17256:15;17249:29;17064:221;:::o;17291:366::-;17433:3;17454:67;17518:2;17513:3;17454:67;:::i;:::-;17447:74;;17530:93;17619:3;17530:93;:::i;:::-;17648:2;17643:3;17639:12;17632:19;;17291:366;;;:::o;17663:419::-;17829:4;17867:2;17856:9;17852:18;17844:26;;17916:9;17910:4;17906:20;17902:1;17891:9;17887:17;17880:47;17944:131;18070:4;17944:131;:::i;:::-;17936:139;;17663:419;;;:::o;18088:224::-;18228:34;18224:1;18216:6;18212:14;18205:58;18297:7;18292:2;18284:6;18280:15;18273:32;18088:224;:::o;18318:366::-;18460:3;18481:67;18545:2;18540:3;18481:67;:::i;:::-;18474:74;;18557:93;18646:3;18557:93;:::i;:::-;18675:2;18670:3;18666:12;18659:19;;18318:366;;;:::o;18690:419::-;18856:4;18894:2;18883:9;18879:18;18871:26;;18943:9;18937:4;18933:20;18929:1;18918:9;18914:17;18907:47;18971:131;19097:4;18971:131;:::i;:::-;18963:139;;18690:419;;;:::o;19115:222::-;19255:34;19251:1;19243:6;19239:14;19232:58;19324:5;19319:2;19311:6;19307:15;19300:30;19115:222;:::o;19343:366::-;19485:3;19506:67;19570:2;19565:3;19506:67;:::i;:::-;19499:74;;19582:93;19671:3;19582:93;:::i;:::-;19700:2;19695:3;19691:12;19684:19;;19343:366;;;:::o;19715:419::-;19881:4;19919:2;19908:9;19904:18;19896:26;;19968:9;19962:4;19958:20;19954:1;19943:9;19939:17;19932:47;19996:131;20122:4;19996:131;:::i;:::-;19988:139;;19715:419;;;:::o;20140:225::-;20280:34;20276:1;20268:6;20264:14;20257:58;20349:8;20344:2;20336:6;20332:15;20325:33;20140:225;:::o;20371:366::-;20513:3;20534:67;20598:2;20593:3;20534:67;:::i;:::-;20527:74;;20610:93;20699:3;20610:93;:::i;:::-;20728:2;20723:3;20719:12;20712:19;;20371:366;;;:::o;20743:419::-;20909:4;20947:2;20936:9;20932:18;20924:26;;20996:9;20990:4;20986:20;20982:1;20971:9;20967:17;20960:47;21024:131;21150:4;21024:131;:::i;:::-;21016:139;;20743:419;;;:::o;21168:220::-;21308:34;21304:1;21296:6;21292:14;21285:58;21377:3;21372:2;21364:6;21360:15;21353:28;21168:220;:::o;21394:366::-;21536:3;21557:67;21621:2;21616:3;21557:67;:::i;:::-;21550:74;;21633:93;21722:3;21633:93;:::i;:::-;21751:2;21746:3;21742:12;21735:19;;21394:366;;;:::o;21766:419::-;21932:4;21970:2;21959:9;21955:18;21947:26;;22019:9;22013:4;22009:20;22005:1;21994:9;21990:17;21983:47;22047:131;22173:4;22047:131;:::i;:::-;22039:139;;21766:419;;;:::o;22191:221::-;22331:34;22327:1;22319:6;22315:14;22308:58;22400:4;22395:2;22387:6;22383:15;22376:29;22191:221;:::o;22418:366::-;22560:3;22581:67;22645:2;22640:3;22581:67;:::i;:::-;22574:74;;22657:93;22746:3;22657:93;:::i;:::-;22775:2;22770:3;22766:12;22759:19;;22418:366;;;:::o;22790:419::-;22956:4;22994:2;22983:9;22979:18;22971:26;;23043:9;23037:4;23033:20;23029:1;23018:9;23014:17;23007:47;23071:131;23197:4;23071:131;:::i;:::-;23063:139;;22790:419;;;:::o;23215:194::-;23255:4;23275:20;23293:1;23275:20;:::i;:::-;23270:25;;23309:20;23327:1;23309:20;:::i;:::-;23304:25;;23353:1;23350;23346:9;23338:17;;23377:1;23371:4;23368:11;23365:37;;;23382:18;;:::i;:::-;23365:37;23215:194;;;;:::o;23415:161::-;23555:13;23551:1;23543:6;23539:14;23532:37;23415:161;:::o;23582:366::-;23724:3;23745:67;23809:2;23804:3;23745:67;:::i;:::-;23738:74;;23821:93;23910:3;23821:93;:::i;:::-;23939:2;23934:3;23930:12;23923:19;;23582:366;;;:::o;23954:419::-;24120:4;24158:2;24147:9;24143:18;24135:26;;24207:9;24201:4;24197:20;24193:1;24182:9;24178:17;24171:47;24235:131;24361:4;24235:131;:::i;:::-;24227:139;;23954:419;;;:::o;24379:172::-;24519:24;24515:1;24507:6;24503:14;24496:48;24379:172;:::o;24557:366::-;24699:3;24720:67;24784:2;24779:3;24720:67;:::i;:::-;24713:74;;24796:93;24885:3;24796:93;:::i;:::-;24914:2;24909:3;24905:12;24898:19;;24557:366;;;:::o;24929:419::-;25095:4;25133:2;25122:9;25118:18;25110:26;;25182:9;25176:4;25172:20;25168:1;25157:9;25153:17;25146:47;25210:131;25336:4;25210:131;:::i;:::-;25202:139;;24929:419;;;:::o;25354:156::-;25494:8;25490:1;25482:6;25478:14;25471:32;25354:156;:::o;25516:365::-;25658:3;25679:66;25743:1;25738:3;25679:66;:::i;:::-;25672:73;;25754:93;25843:3;25754:93;:::i;:::-;25872:2;25867:3;25863:12;25856:19;;25516:365;;;:::o;25887:419::-;26053:4;26091:2;26080:9;26076:18;26068:26;;26140:9;26134:4;26130:20;26126:1;26115:9;26111:17;26104:47;26168:131;26294:4;26168:131;:::i;:::-;26160:139;;25887:419;;;:::o

Swarm Source

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