ETH Price: $2,905.79 (-4.11%)
Gas: 1 Gwei

Token

TototroSupermanChopperCinderella (TSLA)
 

Overview

Max Total Supply

1,000,000,000 TSLA

Holders

608

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000048428517 TSLA

Value
$0.00
0x6838754cc064Be16307147F61A0018c17Bf8EC95
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:
TSLA

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-06
*/

// SPDX-License-Identifier: MIT

/**
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |T|o|t|o|t|r|o|S|u|p|e|r|m|a|n|C|h|o|p|p|e|r|C|i|n|d|e|r|e|l|l|a|
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Website: https://cinmantoro.com/
Telegram: https://t.me/cinmantoroportal
Twitter: https://twitter.com/CINMANTORO_ERC

**/

pragma solidity ^0.8.0;

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

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

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

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

  /**
   * @dev Initializes the contract setting the deployer as the initial owner.
   */
  constructor() {
    _transferOwnership(_msgSender());
  }

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

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

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

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

  /**
   * @dev Transfers ownership of the contract to a new account (`newOwner`).
   * Internal function without access restriction.
   */
  function _transferOwnership(address newOwner) internal virtual {
    address oldOwner = _owner;
    _owner = newOwner;
    emit OwnershipTransferred(oldOwner, newOwner);
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

contract TSLA is Ownable, ERC20 {
  address public uniswapV2Pair;
  uint256 public maxHoldingAmount = 7500000 * 10 ** 18;
  bool public limited = true;
  mapping(address => bool) public bots;

  constructor(
    uint256 _totalSupply
  ) ERC20("TototroSupermanChopperCinderella", "TSLA") {
    _mint(msg.sender, _totalSupply);
  }

  function toggleBots(address[] memory _bots) external onlyOwner {
    for (uint i = 0; i < _bots.length; i++) {
      bots[_bots[i]] = !bots[_bots[i]];
    }
  }

  function setPair(address _uniswapV2Pair) external onlyOwner {
    require(uniswapV2Pair == address(0), "The pair is already set up");
    uniswapV2Pair = _uniswapV2Pair;
  }

  function toggleLimit() external onlyOwner {
    limited = !limited;
  }

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

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

    if (limited && from == uniswapV2Pair) {
      require(super.balanceOf(to) + amount <= maxHoldingAmount, "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":[{"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":"","type":"address"}],"name":"bots","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":"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":"address","name":"_uniswapV2Pair","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"toggleBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"toggleLimit","outputs":[],"stateMutability":"nonpayable","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"}]

60806040526a06342fd08f00f637800000600755600160085f6101000a81548160ff02191690831515021790555034801562000039575f80fd5b50604051620032303803806200323083398181016040528101906200005f9190620006ed565b6040518060400160405280602081526020017f546f746f74726f53757065726d616e43686f7070657243696e646572656c6c618152506040518060400160405280600481526020017f54534c4100000000000000000000000000000000000000000000000000000000815250620000eb620000df6200012a60201b60201c565b6200013160201b60201c565b8160049081620000fc919062000978565b5080600590816200010e919062000978565b505050620001233382620001f260201b60201c565b5062000cb7565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000263576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200025a9062000aba565b60405180910390fd5b620002765f83836200036360201b60201c565b8060035f82825462000289919062000b07565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254620002de919062000b07565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000344919062000b52565b60405180910390a36200035f5f83836200063f60201b60201c565b5050565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801562000402575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b62000444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200043b9062000bbb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200056557620004a96200064460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806200051d5750620004ee6200064460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6200055f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005569062000c29565b60405180910390fd5b6200063a565b60085f9054906101000a900460ff168015620005cd575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620006395760075481620005e8846200066b60201b60201c565b620005f4919062000b07565b111562000638576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200062f9062000c97565b60405180910390fd5b5b5b505050565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f80fd5b5f819050919050565b620006c981620006b5565b8114620006d4575f80fd5b50565b5f81519050620006e781620006be565b92915050565b5f60208284031215620007055762000704620006b1565b5b5f6200071484828501620006d7565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200079957607f821691505b602082108103620007af57620007ae62000754565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007d6565b6200081f8683620007d6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620008606200085a6200085484620006b5565b62000837565b620006b5565b9050919050565b5f819050919050565b6200087b8362000840565b620008936200088a8262000867565b848454620007e2565b825550505050565b5f90565b620008a96200089b565b620008b681848462000870565b505050565b5b81811015620008dd57620008d15f826200089f565b600181019050620008bc565b5050565b601f8211156200092c57620008f681620007b5565b6200090184620007c7565b8101602085101562000911578190505b620009296200092085620007c7565b830182620008bb565b50505b505050565b5f82821c905092915050565b5f6200094e5f198460080262000931565b1980831691505092915050565b5f6200096883836200093d565b9150826002028217905092915050565b62000983826200071d565b67ffffffffffffffff8111156200099f576200099e62000727565b5b620009ab825462000781565b620009b8828285620008e1565b5f60209050601f831160018114620009ee575f8415620009d9578287015190505b620009e585826200095b565b86555062000a54565b601f198416620009fe86620007b5565b5f5b8281101562000a275784890151825560018201915060208501945060208101905062000a00565b8683101562000a47578489015162000a43601f8916826200093d565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000aa2601f8362000a5c565b915062000aaf8262000a6c565b602082019050919050565b5f6020820190508181035f83015262000ad38162000a94565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000b1382620006b5565b915062000b2083620006b5565b925082820190508082111562000b3b5762000b3a62000ada565b5b92915050565b62000b4c81620006b5565b82525050565b5f60208201905062000b675f83018462000b41565b92915050565b7f426c6f636b6564210000000000000000000000000000000000000000000000005f82015250565b5f62000ba360088362000a5c565b915062000bb08262000b6d565b602082019050919050565b5f6020820190508181035f83015262000bd48162000b95565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f62000c1160168362000a5c565b915062000c1e8262000bdb565b602082019050919050565b5f6020820190508181035f83015262000c428162000c03565b9050919050565b7f466f7262696400000000000000000000000000000000000000000000000000005f82015250565b5f62000c7f60068362000a5c565b915062000c8c8262000c49565b602082019050919050565b5f6020820190508181035f83015262000cb08162000c71565b9050919050565b61256b8062000cc55f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c80638187f516116100b6578063a457c2d71161007a578063a457c2d714610352578063a9059cbb14610382578063bfd79284146103b2578063dd62ed3e146103e2578063f10f864e14610412578063f2fde38b1461041c57610140565b80638187f516146102be578063860a32ec146102da57806389f9a1d3146102f85780638da5cb5b1461031657806395d89b411461033457610140565b8063313ce56711610108578063313ce567146101fc578063395093511461021a57806342966c681461024a57806349bd5a5e1461026657806370a0823114610284578063715018a6146102b457610140565b806304fbc0411461014457806306fdde0314610160578063095ea7b31461017e57806318160ddd146101ae57806323b872dd146101cc575b5f80fd5b61015e60048036038101906101599190611997565b610438565b005b6101686105a2565b6040516101759190611a58565b60405180910390f35b61019860048036038101906101939190611aab565b610632565b6040516101a59190611b03565b60405180910390f35b6101b661064f565b6040516101c39190611b2b565b60405180910390f35b6101e660048036038101906101e19190611b44565b610658565b6040516101f39190611b03565b60405180910390f35b61020461074a565b6040516102119190611baf565b60405180910390f35b610234600480360381019061022f9190611aab565b610752565b6040516102419190611b03565b60405180910390f35b610264600480360381019061025f9190611bc8565b6107f9565b005b61026e610806565b60405161027b9190611c02565b60405180910390f35b61029e60048036038101906102999190611c1b565b61082b565b6040516102ab9190611b2b565b60405180910390f35b6102bc610871565b005b6102d860048036038101906102d39190611c1b565b6108f8565b005b6102e2610a46565b6040516102ef9190611b03565b60405180910390f35b610300610a58565b60405161030d9190611b2b565b60405180910390f35b61031e610a5e565b60405161032b9190611c02565b60405180910390f35b61033c610a85565b6040516103499190611a58565b60405180910390f35b61036c60048036038101906103679190611aab565b610b15565b6040516103799190611b03565b60405180910390f35b61039c60048036038101906103979190611aab565b610bfb565b6040516103a99190611b03565b60405180910390f35b6103cc60048036038101906103c79190611c1b565b610c18565b6040516103d99190611b03565b60405180910390f35b6103fc60048036038101906103f79190611c46565b610c35565b6040516104099190611b2b565b60405180910390f35b61041a610cb7565b005b61043660048036038101906104319190611c1b565b610d5d565b005b610440610e53565b73ffffffffffffffffffffffffffffffffffffffff1661045e610a5e565b73ffffffffffffffffffffffffffffffffffffffff16146104b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ab90611cce565b60405180910390fd5b5f5b815181101561059e5760095f8383815181106104d5576104d4611cec565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161560095f84848151811061053a57610539611cec565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506104b6565b5050565b6060600480546105b190611d46565b80601f01602080910402602001604051908101604052809291908181526020018280546105dd90611d46565b80156106285780601f106105ff57610100808354040283529160200191610628565b820191905f5260205f20905b81548152906001019060200180831161060b57829003601f168201915b5050505050905090565b5f61064561063e610e53565b8484610e5a565b6001905092915050565b5f600354905090565b5f61066484848461101d565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106ab610e53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561072a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072190611de6565b60405180910390fd5b61073e85610736610e53565b858403610e5a565b60019150509392505050565b5f6012905090565b5f6107ef61075e610e53565b848460025f61076b610e53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546107ea9190611e31565b610e5a565b6001905092915050565b6108033382611295565b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610879610e53565b73ffffffffffffffffffffffffffffffffffffffff16610897610a5e565b73ffffffffffffffffffffffffffffffffffffffff16146108ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e490611cce565b60405180910390fd5b6108f65f611463565b565b610900610e53565b73ffffffffffffffffffffffffffffffffffffffff1661091e610a5e565b73ffffffffffffffffffffffffffffffffffffffff1614610974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096b90611cce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90611eae565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085f9054906101000a900460ff1681565b60075481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610a9490611d46565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090611d46565b8015610b0b5780601f10610ae257610100808354040283529160200191610b0b565b820191905f5260205f20905b815481529060010190602001808311610aee57829003601f168201915b5050505050905090565b5f8060025f610b22610e53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610bdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd390611f3c565b60405180910390fd5b610bf0610be7610e53565b85858403610e5a565b600191505092915050565b5f610c0e610c07610e53565b848461101d565b6001905092915050565b6009602052805f5260405f205f915054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610cbf610e53565b73ffffffffffffffffffffffffffffffffffffffff16610cdd610a5e565b73ffffffffffffffffffffffffffffffffffffffff1614610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2a90611cce565b60405180910390fd5b60085f9054906101000a900460ff161560085f6101000a81548160ff021916908315150217905550565b610d65610e53565b73ffffffffffffffffffffffffffffffffffffffff16610d83610a5e565b73ffffffffffffffffffffffffffffffffffffffff1614610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd090611cce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3e90611fca565b60405180910390fd5b610e5081611463565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebf90612058565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2d906120e6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110109190611b2b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361108b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108290612174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f090612202565b60405180910390fd5b611104838383611524565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611188576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117f90612290565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546112189190611e31565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161127c9190611b2b565b60405180910390a361128f8484846117d7565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa9061231e565b60405180910390fd5b61130e825f83611524565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611392576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611389906123ac565b60405180910390fd5b81810360015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8282546113e791906123ca565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161144b9190611b2b565b60405180910390a361145e835f846117d7565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156115c2575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f890612447565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361170c5761165d610a5e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806116c85750611699610a5e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fe906124af565b60405180910390fd5b6117d2565b60085f9054906101000a900460ff168015611773575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156117d157600754816117858461082b565b61178f9190611e31565b11156117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790612517565b60405180910390fd5b5b5b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611837826117f1565b810181811067ffffffffffffffff8211171561185657611855611801565b5b80604052505050565b5f6118686117dc565b9050611874828261182e565b919050565b5f67ffffffffffffffff82111561189357611892611801565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118d1826118a8565b9050919050565b6118e1816118c7565b81146118eb575f80fd5b50565b5f813590506118fc816118d8565b92915050565b5f61191461190f84611879565b61185f565b90508083825260208201905060208402830185811115611937576119366118a4565b5b835b81811015611960578061194c88826118ee565b845260208401935050602081019050611939565b5050509392505050565b5f82601f83011261197e5761197d6117ed565b5b813561198e848260208601611902565b91505092915050565b5f602082840312156119ac576119ab6117e5565b5b5f82013567ffffffffffffffff8111156119c9576119c86117e9565b5b6119d58482850161196a565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611a155780820151818401526020810190506119fa565b5f8484015250505050565b5f611a2a826119de565b611a3481856119e8565b9350611a448185602086016119f8565b611a4d816117f1565b840191505092915050565b5f6020820190508181035f830152611a708184611a20565b905092915050565b5f819050919050565b611a8a81611a78565b8114611a94575f80fd5b50565b5f81359050611aa581611a81565b92915050565b5f8060408385031215611ac157611ac06117e5565b5b5f611ace858286016118ee565b9250506020611adf85828601611a97565b9150509250929050565b5f8115159050919050565b611afd81611ae9565b82525050565b5f602082019050611b165f830184611af4565b92915050565b611b2581611a78565b82525050565b5f602082019050611b3e5f830184611b1c565b92915050565b5f805f60608486031215611b5b57611b5a6117e5565b5b5f611b68868287016118ee565b9350506020611b79868287016118ee565b9250506040611b8a86828701611a97565b9150509250925092565b5f60ff82169050919050565b611ba981611b94565b82525050565b5f602082019050611bc25f830184611ba0565b92915050565b5f60208284031215611bdd57611bdc6117e5565b5b5f611bea84828501611a97565b91505092915050565b611bfc816118c7565b82525050565b5f602082019050611c155f830184611bf3565b92915050565b5f60208284031215611c3057611c2f6117e5565b5b5f611c3d848285016118ee565b91505092915050565b5f8060408385031215611c5c57611c5b6117e5565b5b5f611c69858286016118ee565b9250506020611c7a858286016118ee565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611cb86020836119e8565b9150611cc382611c84565b602082019050919050565b5f6020820190508181035f830152611ce581611cac565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611d5d57607f821691505b602082108103611d7057611d6f611d19565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611dd06028836119e8565b9150611ddb82611d76565b604082019050919050565b5f6020820190508181035f830152611dfd81611dc4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611e3b82611a78565b9150611e4683611a78565b9250828201905080821115611e5e57611e5d611e04565b5b92915050565b7f546865207061697220697320616c7265616479207365742075700000000000005f82015250565b5f611e98601a836119e8565b9150611ea382611e64565b602082019050919050565b5f6020820190508181035f830152611ec581611e8c565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611f266025836119e8565b9150611f3182611ecc565b604082019050919050565b5f6020820190508181035f830152611f5381611f1a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611fb46026836119e8565b9150611fbf82611f5a565b604082019050919050565b5f6020820190508181035f830152611fe181611fa8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6120426024836119e8565b915061204d82611fe8565b604082019050919050565b5f6020820190508181035f83015261206f81612036565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6120d06022836119e8565b91506120db82612076565b604082019050919050565b5f6020820190508181035f8301526120fd816120c4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61215e6025836119e8565b915061216982612104565b604082019050919050565b5f6020820190508181035f83015261218b81612152565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6121ec6023836119e8565b91506121f782612192565b604082019050919050565b5f6020820190508181035f830152612219816121e0565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61227a6026836119e8565b915061228582612220565b604082019050919050565b5f6020820190508181035f8301526122a78161226e565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6123086021836119e8565b9150612313826122ae565b604082019050919050565b5f6020820190508181035f830152612335816122fc565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6123966022836119e8565b91506123a18261233c565b604082019050919050565b5f6020820190508181035f8301526123c38161238a565b9050919050565b5f6123d482611a78565b91506123df83611a78565b92508282039050818111156123f7576123f6611e04565b5b92915050565b7f426c6f636b6564210000000000000000000000000000000000000000000000005f82015250565b5f6124316008836119e8565b915061243c826123fd565b602082019050919050565b5f6020820190508181035f83015261245e81612425565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f6124996016836119e8565b91506124a482612465565b602082019050919050565b5f6020820190508181035f8301526124c68161248d565b9050919050565b7f466f7262696400000000000000000000000000000000000000000000000000005f82015250565b5f6125016006836119e8565b915061250c826124cd565b602082019050919050565b5f6020820190508181035f83015261252e816124f5565b905091905056fea2646970667358221220fcbf187535494884d54264ad8060fb6a26e75e2c5aa58426ccbd580481419d8664736f6c634300081700330000000000000000000000000000000000000000033b2e3c9fd0803ce8000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610140575f3560e01c80638187f516116100b6578063a457c2d71161007a578063a457c2d714610352578063a9059cbb14610382578063bfd79284146103b2578063dd62ed3e146103e2578063f10f864e14610412578063f2fde38b1461041c57610140565b80638187f516146102be578063860a32ec146102da57806389f9a1d3146102f85780638da5cb5b1461031657806395d89b411461033457610140565b8063313ce56711610108578063313ce567146101fc578063395093511461021a57806342966c681461024a57806349bd5a5e1461026657806370a0823114610284578063715018a6146102b457610140565b806304fbc0411461014457806306fdde0314610160578063095ea7b31461017e57806318160ddd146101ae57806323b872dd146101cc575b5f80fd5b61015e60048036038101906101599190611997565b610438565b005b6101686105a2565b6040516101759190611a58565b60405180910390f35b61019860048036038101906101939190611aab565b610632565b6040516101a59190611b03565b60405180910390f35b6101b661064f565b6040516101c39190611b2b565b60405180910390f35b6101e660048036038101906101e19190611b44565b610658565b6040516101f39190611b03565b60405180910390f35b61020461074a565b6040516102119190611baf565b60405180910390f35b610234600480360381019061022f9190611aab565b610752565b6040516102419190611b03565b60405180910390f35b610264600480360381019061025f9190611bc8565b6107f9565b005b61026e610806565b60405161027b9190611c02565b60405180910390f35b61029e60048036038101906102999190611c1b565b61082b565b6040516102ab9190611b2b565b60405180910390f35b6102bc610871565b005b6102d860048036038101906102d39190611c1b565b6108f8565b005b6102e2610a46565b6040516102ef9190611b03565b60405180910390f35b610300610a58565b60405161030d9190611b2b565b60405180910390f35b61031e610a5e565b60405161032b9190611c02565b60405180910390f35b61033c610a85565b6040516103499190611a58565b60405180910390f35b61036c60048036038101906103679190611aab565b610b15565b6040516103799190611b03565b60405180910390f35b61039c60048036038101906103979190611aab565b610bfb565b6040516103a99190611b03565b60405180910390f35b6103cc60048036038101906103c79190611c1b565b610c18565b6040516103d99190611b03565b60405180910390f35b6103fc60048036038101906103f79190611c46565b610c35565b6040516104099190611b2b565b60405180910390f35b61041a610cb7565b005b61043660048036038101906104319190611c1b565b610d5d565b005b610440610e53565b73ffffffffffffffffffffffffffffffffffffffff1661045e610a5e565b73ffffffffffffffffffffffffffffffffffffffff16146104b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ab90611cce565b60405180910390fd5b5f5b815181101561059e5760095f8383815181106104d5576104d4611cec565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161560095f84848151811061053a57610539611cec565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506104b6565b5050565b6060600480546105b190611d46565b80601f01602080910402602001604051908101604052809291908181526020018280546105dd90611d46565b80156106285780601f106105ff57610100808354040283529160200191610628565b820191905f5260205f20905b81548152906001019060200180831161060b57829003601f168201915b5050505050905090565b5f61064561063e610e53565b8484610e5a565b6001905092915050565b5f600354905090565b5f61066484848461101d565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106ab610e53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561072a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072190611de6565b60405180910390fd5b61073e85610736610e53565b858403610e5a565b60019150509392505050565b5f6012905090565b5f6107ef61075e610e53565b848460025f61076b610e53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546107ea9190611e31565b610e5a565b6001905092915050565b6108033382611295565b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610879610e53565b73ffffffffffffffffffffffffffffffffffffffff16610897610a5e565b73ffffffffffffffffffffffffffffffffffffffff16146108ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e490611cce565b60405180910390fd5b6108f65f611463565b565b610900610e53565b73ffffffffffffffffffffffffffffffffffffffff1661091e610a5e565b73ffffffffffffffffffffffffffffffffffffffff1614610974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096b90611cce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90611eae565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085f9054906101000a900460ff1681565b60075481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610a9490611d46565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090611d46565b8015610b0b5780601f10610ae257610100808354040283529160200191610b0b565b820191905f5260205f20905b815481529060010190602001808311610aee57829003601f168201915b5050505050905090565b5f8060025f610b22610e53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610bdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd390611f3c565b60405180910390fd5b610bf0610be7610e53565b85858403610e5a565b600191505092915050565b5f610c0e610c07610e53565b848461101d565b6001905092915050565b6009602052805f5260405f205f915054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610cbf610e53565b73ffffffffffffffffffffffffffffffffffffffff16610cdd610a5e565b73ffffffffffffffffffffffffffffffffffffffff1614610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2a90611cce565b60405180910390fd5b60085f9054906101000a900460ff161560085f6101000a81548160ff021916908315150217905550565b610d65610e53565b73ffffffffffffffffffffffffffffffffffffffff16610d83610a5e565b73ffffffffffffffffffffffffffffffffffffffff1614610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd090611cce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3e90611fca565b60405180910390fd5b610e5081611463565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebf90612058565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2d906120e6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110109190611b2b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361108b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108290612174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f090612202565b60405180910390fd5b611104838383611524565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611188576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117f90612290565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546112189190611e31565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161127c9190611b2b565b60405180910390a361128f8484846117d7565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa9061231e565b60405180910390fd5b61130e825f83611524565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611392576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611389906123ac565b60405180910390fd5b81810360015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8282546113e791906123ca565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161144b9190611b2b565b60405180910390a361145e835f846117d7565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156115c2575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f890612447565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361170c5761165d610a5e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806116c85750611699610a5e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fe906124af565b60405180910390fd5b6117d2565b60085f9054906101000a900460ff168015611773575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156117d157600754816117858461082b565b61178f9190611e31565b11156117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790612517565b60405180910390fd5b5b5b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611837826117f1565b810181811067ffffffffffffffff8211171561185657611855611801565b5b80604052505050565b5f6118686117dc565b9050611874828261182e565b919050565b5f67ffffffffffffffff82111561189357611892611801565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118d1826118a8565b9050919050565b6118e1816118c7565b81146118eb575f80fd5b50565b5f813590506118fc816118d8565b92915050565b5f61191461190f84611879565b61185f565b90508083825260208201905060208402830185811115611937576119366118a4565b5b835b81811015611960578061194c88826118ee565b845260208401935050602081019050611939565b5050509392505050565b5f82601f83011261197e5761197d6117ed565b5b813561198e848260208601611902565b91505092915050565b5f602082840312156119ac576119ab6117e5565b5b5f82013567ffffffffffffffff8111156119c9576119c86117e9565b5b6119d58482850161196a565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611a155780820151818401526020810190506119fa565b5f8484015250505050565b5f611a2a826119de565b611a3481856119e8565b9350611a448185602086016119f8565b611a4d816117f1565b840191505092915050565b5f6020820190508181035f830152611a708184611a20565b905092915050565b5f819050919050565b611a8a81611a78565b8114611a94575f80fd5b50565b5f81359050611aa581611a81565b92915050565b5f8060408385031215611ac157611ac06117e5565b5b5f611ace858286016118ee565b9250506020611adf85828601611a97565b9150509250929050565b5f8115159050919050565b611afd81611ae9565b82525050565b5f602082019050611b165f830184611af4565b92915050565b611b2581611a78565b82525050565b5f602082019050611b3e5f830184611b1c565b92915050565b5f805f60608486031215611b5b57611b5a6117e5565b5b5f611b68868287016118ee565b9350506020611b79868287016118ee565b9250506040611b8a86828701611a97565b9150509250925092565b5f60ff82169050919050565b611ba981611b94565b82525050565b5f602082019050611bc25f830184611ba0565b92915050565b5f60208284031215611bdd57611bdc6117e5565b5b5f611bea84828501611a97565b91505092915050565b611bfc816118c7565b82525050565b5f602082019050611c155f830184611bf3565b92915050565b5f60208284031215611c3057611c2f6117e5565b5b5f611c3d848285016118ee565b91505092915050565b5f8060408385031215611c5c57611c5b6117e5565b5b5f611c69858286016118ee565b9250506020611c7a858286016118ee565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611cb86020836119e8565b9150611cc382611c84565b602082019050919050565b5f6020820190508181035f830152611ce581611cac565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611d5d57607f821691505b602082108103611d7057611d6f611d19565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611dd06028836119e8565b9150611ddb82611d76565b604082019050919050565b5f6020820190508181035f830152611dfd81611dc4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611e3b82611a78565b9150611e4683611a78565b9250828201905080821115611e5e57611e5d611e04565b5b92915050565b7f546865207061697220697320616c7265616479207365742075700000000000005f82015250565b5f611e98601a836119e8565b9150611ea382611e64565b602082019050919050565b5f6020820190508181035f830152611ec581611e8c565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611f266025836119e8565b9150611f3182611ecc565b604082019050919050565b5f6020820190508181035f830152611f5381611f1a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611fb46026836119e8565b9150611fbf82611f5a565b604082019050919050565b5f6020820190508181035f830152611fe181611fa8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6120426024836119e8565b915061204d82611fe8565b604082019050919050565b5f6020820190508181035f83015261206f81612036565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6120d06022836119e8565b91506120db82612076565b604082019050919050565b5f6020820190508181035f8301526120fd816120c4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61215e6025836119e8565b915061216982612104565b604082019050919050565b5f6020820190508181035f83015261218b81612152565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6121ec6023836119e8565b91506121f782612192565b604082019050919050565b5f6020820190508181035f830152612219816121e0565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61227a6026836119e8565b915061228582612220565b604082019050919050565b5f6020820190508181035f8301526122a78161226e565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6123086021836119e8565b9150612313826122ae565b604082019050919050565b5f6020820190508181035f830152612335816122fc565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6123966022836119e8565b91506123a18261233c565b604082019050919050565b5f6020820190508181035f8301526123c38161238a565b9050919050565b5f6123d482611a78565b91506123df83611a78565b92508282039050818111156123f7576123f6611e04565b5b92915050565b7f426c6f636b6564210000000000000000000000000000000000000000000000005f82015250565b5f6124316008836119e8565b915061243c826123fd565b602082019050919050565b5f6020820190508181035f83015261245e81612425565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f6124996016836119e8565b91506124a482612465565b602082019050919050565b5f6020820190508181035f8301526124c68161248d565b9050919050565b7f466f7262696400000000000000000000000000000000000000000000000000005f82015250565b5f6125016006836119e8565b915061250c826124cd565b602082019050919050565b5f6020820190508181035f83015261252e816124f5565b905091905056fea2646970667358221220fcbf187535494884d54264ad8060fb6a26e75e2c5aa58426ccbd580481419d8664736f6c63430008170033

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

0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000


Deployed Bytecode Sourcemap

17946:1306:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18291:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8504:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10569:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9560:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11197:467;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9416:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12047:248;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19174:75;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17983:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9717:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2659:97;;;:::i;:::-;;18461:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18073:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18016:52;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2048:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8707:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12768:421;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10043:180;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18104:36;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10278:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18643:73;;;:::i;:::-;;2901:191;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18291:164;2261:12;:10;:12::i;:::-;2250:23;;:7;:5;:7::i;:::-;:23;;;2242:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18366:6:::1;18361:89;18382:5;:12;18378:1;:16;18361:89;;;18428:4;:14;18433:5;18439:1;18433:8;;;;;;;;:::i;:::-;;;;;;;;18428:14;;;;;;;;;;;;;;;;;;;;;;;;;18427:15;18410:4;:14;18415:5;18421:1;18415:8;;;;;;;;:::i;:::-;;;;;;;;18410:14;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;18396:3;;;;;;;18361:89;;;;18291:164:::0;:::o;8504:94::-;8558:13;8587:5;8580:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8504:94;:::o;10569:174::-;10667:4;10680:39;10689:12;:10;:12::i;:::-;10703:7;10712:6;10680:8;:39::i;:::-;10733:4;10726:11;;10569:174;;;;:::o;9560:102::-;9621:7;9644:12;;9637:19;;9560:102;:::o;11197:467::-;11323:4;11336:36;11346:6;11354:9;11365:6;11336:9;:36::i;:::-;11381:24;11408:11;:19;11420:6;11408:19;;;;;;;;;;;;;;;:33;11428:12;:10;:12::i;:::-;11408:33;;;;;;;;;;;;;;;;11381:60;;11484:6;11464:16;:26;;11448:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;11574:57;11583:6;11591:12;:10;:12::i;:::-;11624:6;11605:16;:25;11574:8;:57::i;:::-;11654:4;11647:11;;;11197:467;;;;;:::o;9416:87::-;9474:5;9495:2;9488:9;;9416:87;:::o;12047:248::-;12150:4;12163:108;12180:12;:10;:12::i;:::-;12201:7;12254:10;12217:11;:25;12229:12;:10;:12::i;:::-;12217:25;;;;;;;;;;;;;;;:34;12243:7;12217:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12163:8;:108::i;:::-;12285:4;12278:11;;12047:248;;;;:::o;19174:75::-;19219:24;19225:10;19237:5;19219;:24::i;:::-;19174:75;:::o;17983:28::-;;;;;;;;;;;;;:::o;9717:131::-;9801:7;9824:9;:18;9834:7;9824:18;;;;;;;;;;;;;;;;9817:25;;9717:131;;;:::o;2659:97::-;2261:12;:10;:12::i;:::-;2250:23;;:7;:5;:7::i;:::-;:23;;;2242:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2720:30:::1;2747:1;2720:18;:30::i;:::-;2659:97::o:0;18461:176::-;2261:12;:10;:12::i;:::-;2250:23;;:7;:5;:7::i;:::-;:23;;;2242:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18561:1:::1;18536:27;;:13;;;;;;;;;;;:27;;;18528:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;18617:14;18601:13;;:30;;;;;;;;;;;;;;;;;;18461:176:::0;:::o;18073:26::-;;;;;;;;;;;;;:::o;18016:52::-;;;;:::o;2048:81::-;2094:7;2117:6;;;;;;;;;;;2110:13;;2048:81;:::o;8707:98::-;8763:13;8792:7;8785:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8707:98;:::o;12768:421::-;12876:4;12889:24;12916:11;:25;12928:12;:10;:12::i;:::-;12916:25;;;;;;;;;;;;;;;:34;12942:7;12916:34;;;;;;;;;;;;;;;;12889:61;;12993:15;12973:16;:35;;12957:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;13089:67;13098:12;:10;:12::i;:::-;13112:7;13140:15;13121:16;:34;13089:8;:67::i;:::-;13179:4;13172:11;;;12768:421;;;;:::o;10043:180::-;10144:4;10157:42;10167:12;:10;:12::i;:::-;10181:9;10192:6;10157:9;:42::i;:::-;10213:4;10206:11;;10043:180;;;;:::o;18104:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;10278:160::-;10382:7;10405:11;:18;10417:5;10405:18;;;;;;;;;;;;;;;:27;10424:7;10405:27;;;;;;;;;;;;;;;;10398:34;;10278:160;;;;:::o;18643:73::-;2261:12;:10;:12::i;:::-;2250:23;;:7;:5;:7::i;:::-;:23;;;2242:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18703:7:::1;;;;;;;;;;;18702:8;18692:7;;:18;;;;;;;;;;;;;;;;;;18643:73::o:0;2901:191::-;2261:12;:10;:12::i;:::-;2250:23;;:7;:5;:7::i;:::-;:23;;;2242:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3006:1:::1;2986:22;;:8;:22;;::::0;2978:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3058:28;3077:8;3058:18;:28::i;:::-;2901:191:::0;:::o;940:92::-;993:7;1016:10;1009:17;;940:92;:::o;16226:348::-;16361:1;16344:19;;:5;:19;;;16336:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16438:1;16419:21;;:7;:21;;;16411:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16518:6;16488:11;:18;16500:5;16488:18;;;;;;;;;;;;;;;:27;16507:7;16488:27;;;;;;;;;;;;;;;:36;;;;16552:7;16536:32;;16545:5;16536:32;;;16561:6;16536:32;;;;;;:::i;:::-;;;;;;;;16226:348;;;:::o;13649:671::-;13789:1;13771:20;;:6;:20;;;13763:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13869:1;13848:23;;:9;:23;;;13840:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13920:47;13941:6;13949:9;13960:6;13920:20;:47::i;:::-;13976:21;14000:9;:17;14010:6;14000:17;;;;;;;;;;;;;;;;13976:41;;14049:6;14032:13;:23;;14024:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14160:6;14144:13;:22;14124:9;:17;14134:6;14124:17;;;;;;;;;;;;;;;:42;;;;14204:6;14180:9;:20;14190:9;14180:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14241:9;14224:35;;14233:6;14224:35;;;14252:6;14224:35;;;;;;:::i;:::-;;;;;;;;14268:46;14288:6;14296:9;14307:6;14268:19;:46::i;:::-;13756:564;13649:671;;;:::o;15269:547::-;15368:1;15349:21;;:7;:21;;;15341:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15417:49;15438:7;15455:1;15459:6;15417:20;:49::i;:::-;15475:22;15500:9;:18;15510:7;15500:18;;;;;;;;;;;;;;;;15475:43;;15551:6;15533:14;:24;;15525:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15660:6;15643:14;:23;15622:9;:18;15632:7;15622:18;;;;;;;;;;;;;;;:44;;;;15696:6;15680:12;;:22;;;;;;;:::i;:::-;;;;;;;;15742:1;15716:37;;15725:7;15716:37;;;15746:6;15716:37;;;;;;:::i;:::-;;;;;;;;15762:48;15782:7;15799:1;15803:6;15762:19;:48::i;:::-;15334:482;15269:547;;:::o;3242:177::-;3312:16;3331:6;;;;;;;;;;;3312:25;;3353:8;3344:6;;:17;;;;;;;;;;;;;;;;;;3404:8;3373:40;;3394:8;3373:40;;;;;;;;;;;;3305:114;3242:177;:::o;18722:446::-;18856:4;:8;18861:2;18856:8;;;;;;;;;;;;;;;;;;;;;;;;;18855:9;:24;;;;;18869:4;:10;18874:4;18869:10;;;;;;;;;;;;;;;;;;;;;;;;;18868:11;18855:24;18847:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;18930:1;18905:27;;:13;;;;;;;;;;;:27;;;18901:132;;18959:7;:5;:7::i;:::-;18951:15;;:4;:15;;;:32;;;;18976:7;:5;:7::i;:::-;18970:13;;:2;:13;;;18951:32;18943:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19019:7;;18901:132;19045:7;;;;;;;;;;;:32;;;;;19064:13;;;;;;;;;;;19056:21;;:4;:21;;;19045:32;19041:122;;;19128:16;;19118:6;19096:19;19112:2;19096:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;19088:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19041:122;18722:446;;;;:::o;17829:110::-;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:246::-;4152:1;4162:113;4176:6;4173:1;4170:13;4162:113;;;4261:1;4256:3;4252:11;4246:18;4242:1;4237:3;4233:11;4226:39;4198:2;4195:1;4191:10;4186:15;;4162:113;;;4309:1;4300:6;4295:3;4291:16;4284:27;4133:184;4071:246;;;:::o;4323:377::-;4411:3;4439:39;4472:5;4439:39;:::i;:::-;4494:71;4558:6;4553:3;4494:71;:::i;:::-;4487:78;;4574:65;4632:6;4627:3;4620:4;4613:5;4609:16;4574:65;:::i;:::-;4664:29;4686:6;4664:29;:::i;:::-;4659:3;4655:39;4648:46;;4415:285;4323:377;;;;:::o;4706:313::-;4819:4;4857:2;4846:9;4842:18;4834:26;;4906:9;4900:4;4896:20;4892:1;4881:9;4877:17;4870:47;4934:78;5007:4;4998:6;4934:78;:::i;:::-;4926:86;;4706:313;;;;:::o;5025:77::-;5062:7;5091:5;5080:16;;5025:77;;;:::o;5108:122::-;5181:24;5199:5;5181:24;:::i;:::-;5174:5;5171:35;5161:63;;5220:1;5217;5210:12;5161:63;5108:122;:::o;5236:139::-;5282:5;5320:6;5307:20;5298:29;;5336:33;5363:5;5336:33;:::i;:::-;5236:139;;;;:::o;5381:474::-;5449:6;5457;5506:2;5494:9;5485:7;5481:23;5477:32;5474:119;;;5512:79;;:::i;:::-;5474:119;5632:1;5657:53;5702:7;5693:6;5682:9;5678:22;5657:53;:::i;:::-;5647:63;;5603:117;5759:2;5785:53;5830:7;5821:6;5810:9;5806:22;5785:53;:::i;:::-;5775:63;;5730:118;5381:474;;;;;:::o;5861:90::-;5895:7;5938:5;5931:13;5924:21;5913:32;;5861:90;;;:::o;5957:109::-;6038:21;6053:5;6038:21;:::i;:::-;6033:3;6026:34;5957:109;;:::o;6072:210::-;6159:4;6197:2;6186:9;6182:18;6174:26;;6210:65;6272:1;6261:9;6257:17;6248:6;6210:65;:::i;:::-;6072:210;;;;:::o;6288:118::-;6375:24;6393:5;6375:24;:::i;:::-;6370:3;6363:37;6288:118;;:::o;6412:222::-;6505:4;6543:2;6532:9;6528:18;6520:26;;6556:71;6624:1;6613:9;6609:17;6600:6;6556:71;:::i;:::-;6412:222;;;;:::o;6640:619::-;6717:6;6725;6733;6782:2;6770:9;6761:7;6757:23;6753:32;6750:119;;;6788:79;;:::i;:::-;6750:119;6908:1;6933:53;6978:7;6969:6;6958:9;6954:22;6933:53;:::i;:::-;6923:63;;6879:117;7035:2;7061:53;7106:7;7097:6;7086:9;7082:22;7061:53;:::i;:::-;7051:63;;7006:118;7163:2;7189:53;7234:7;7225:6;7214:9;7210:22;7189:53;:::i;:::-;7179:63;;7134:118;6640:619;;;;;:::o;7265:86::-;7300:7;7340:4;7333:5;7329:16;7318:27;;7265:86;;;:::o;7357:112::-;7440:22;7456:5;7440:22;:::i;:::-;7435:3;7428:35;7357:112;;:::o;7475:214::-;7564:4;7602:2;7591:9;7587:18;7579:26;;7615:67;7679:1;7668:9;7664:17;7655:6;7615:67;:::i;:::-;7475:214;;;;:::o;7695:329::-;7754:6;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;7695:329;;;;:::o;8030:118::-;8117:24;8135:5;8117:24;:::i;:::-;8112:3;8105:37;8030:118;;:::o;8154:222::-;8247:4;8285:2;8274:9;8270:18;8262:26;;8298:71;8366:1;8355:9;8351:17;8342:6;8298:71;:::i;:::-;8154:222;;;;:::o;8382:329::-;8441:6;8490:2;8478:9;8469:7;8465:23;8461:32;8458:119;;;8496:79;;:::i;:::-;8458:119;8616:1;8641:53;8686:7;8677:6;8666:9;8662:22;8641:53;:::i;:::-;8631:63;;8587:117;8382:329;;;;:::o;8717:474::-;8785:6;8793;8842:2;8830:9;8821:7;8817:23;8813:32;8810:119;;;8848:79;;:::i;:::-;8810:119;8968:1;8993:53;9038:7;9029:6;9018:9;9014:22;8993:53;:::i;:::-;8983:63;;8939:117;9095:2;9121:53;9166:7;9157:6;9146:9;9142:22;9121:53;:::i;:::-;9111:63;;9066:118;8717:474;;;;;:::o;9197:182::-;9337:34;9333:1;9325:6;9321:14;9314:58;9197:182;:::o;9385:366::-;9527:3;9548:67;9612:2;9607:3;9548:67;:::i;:::-;9541:74;;9624:93;9713:3;9624:93;:::i;:::-;9742:2;9737:3;9733:12;9726:19;;9385:366;;;:::o;9757:419::-;9923:4;9961:2;9950:9;9946:18;9938:26;;10010:9;10004:4;10000:20;9996:1;9985:9;9981:17;9974:47;10038:131;10164:4;10038:131;:::i;:::-;10030:139;;9757:419;;;:::o;10182:180::-;10230:77;10227:1;10220:88;10327:4;10324:1;10317:15;10351:4;10348:1;10341:15;10368:180;10416:77;10413:1;10406:88;10513:4;10510:1;10503:15;10537:4;10534:1;10527:15;10554:320;10598:6;10635:1;10629:4;10625:12;10615:22;;10682:1;10676:4;10672:12;10703:18;10693:81;;10759:4;10751:6;10747:17;10737:27;;10693:81;10821:2;10813:6;10810:14;10790:18;10787:38;10784:84;;10840:18;;:::i;:::-;10784:84;10605:269;10554:320;;;:::o;10880:227::-;11020:34;11016:1;11008:6;11004:14;10997:58;11089:10;11084:2;11076:6;11072:15;11065:35;10880:227;:::o;11113:366::-;11255:3;11276:67;11340:2;11335:3;11276:67;:::i;:::-;11269:74;;11352:93;11441:3;11352:93;:::i;:::-;11470:2;11465:3;11461:12;11454:19;;11113:366;;;:::o;11485:419::-;11651:4;11689:2;11678:9;11674:18;11666:26;;11738:9;11732:4;11728:20;11724:1;11713:9;11709:17;11702:47;11766:131;11892:4;11766:131;:::i;:::-;11758:139;;11485:419;;;:::o;11910:180::-;11958:77;11955:1;11948:88;12055:4;12052:1;12045:15;12079:4;12076:1;12069:15;12096:191;12136:3;12155:20;12173:1;12155:20;:::i;:::-;12150:25;;12189:20;12207:1;12189:20;:::i;:::-;12184:25;;12232:1;12229;12225:9;12218:16;;12253:3;12250:1;12247:10;12244:36;;;12260:18;;:::i;:::-;12244:36;12096:191;;;;:::o;12293:176::-;12433:28;12429:1;12421:6;12417:14;12410:52;12293:176;:::o;12475:366::-;12617:3;12638:67;12702:2;12697:3;12638:67;:::i;:::-;12631:74;;12714:93;12803:3;12714:93;:::i;:::-;12832:2;12827:3;12823:12;12816:19;;12475:366;;;:::o;12847:419::-;13013:4;13051:2;13040:9;13036:18;13028:26;;13100:9;13094:4;13090:20;13086:1;13075:9;13071:17;13064:47;13128:131;13254:4;13128:131;:::i;:::-;13120:139;;12847:419;;;:::o;13272:224::-;13412:34;13408:1;13400:6;13396:14;13389:58;13481:7;13476:2;13468:6;13464:15;13457:32;13272:224;:::o;13502:366::-;13644:3;13665:67;13729:2;13724:3;13665:67;:::i;:::-;13658:74;;13741:93;13830:3;13741:93;:::i;:::-;13859:2;13854:3;13850:12;13843:19;;13502:366;;;:::o;13874:419::-;14040:4;14078:2;14067:9;14063:18;14055:26;;14127:9;14121:4;14117:20;14113:1;14102:9;14098:17;14091:47;14155:131;14281:4;14155:131;:::i;:::-;14147:139;;13874:419;;;:::o;14299:225::-;14439:34;14435:1;14427:6;14423:14;14416:58;14508:8;14503:2;14495:6;14491:15;14484:33;14299:225;:::o;14530:366::-;14672:3;14693:67;14757:2;14752:3;14693:67;:::i;:::-;14686:74;;14769:93;14858:3;14769:93;:::i;:::-;14887:2;14882:3;14878:12;14871:19;;14530:366;;;:::o;14902:419::-;15068:4;15106:2;15095:9;15091:18;15083:26;;15155:9;15149:4;15145:20;15141:1;15130:9;15126:17;15119:47;15183:131;15309:4;15183:131;:::i;:::-;15175:139;;14902:419;;;:::o;15327:223::-;15467:34;15463:1;15455:6;15451:14;15444:58;15536:6;15531:2;15523:6;15519:15;15512:31;15327:223;:::o;15556:366::-;15698:3;15719:67;15783:2;15778:3;15719:67;:::i;:::-;15712:74;;15795:93;15884:3;15795:93;:::i;:::-;15913:2;15908:3;15904:12;15897:19;;15556:366;;;:::o;15928:419::-;16094:4;16132:2;16121:9;16117:18;16109:26;;16181:9;16175:4;16171:20;16167:1;16156:9;16152:17;16145:47;16209:131;16335:4;16209:131;:::i;:::-;16201:139;;15928:419;;;:::o;16353:221::-;16493:34;16489:1;16481:6;16477:14;16470:58;16562:4;16557:2;16549:6;16545:15;16538:29;16353:221;:::o;16580:366::-;16722:3;16743:67;16807:2;16802:3;16743:67;:::i;:::-;16736:74;;16819:93;16908:3;16819:93;:::i;:::-;16937:2;16932:3;16928:12;16921:19;;16580:366;;;:::o;16952:419::-;17118:4;17156:2;17145:9;17141:18;17133:26;;17205:9;17199:4;17195:20;17191:1;17180:9;17176:17;17169:47;17233:131;17359:4;17233:131;:::i;:::-;17225:139;;16952:419;;;:::o;17377:224::-;17517:34;17513:1;17505:6;17501:14;17494:58;17586:7;17581:2;17573:6;17569:15;17562:32;17377:224;:::o;17607:366::-;17749:3;17770:67;17834:2;17829:3;17770:67;:::i;:::-;17763:74;;17846:93;17935:3;17846:93;:::i;:::-;17964:2;17959:3;17955:12;17948:19;;17607:366;;;:::o;17979:419::-;18145:4;18183:2;18172:9;18168:18;18160:26;;18232:9;18226:4;18222:20;18218:1;18207:9;18203:17;18196:47;18260:131;18386:4;18260:131;:::i;:::-;18252:139;;17979:419;;;:::o;18404:222::-;18544:34;18540:1;18532:6;18528:14;18521:58;18613:5;18608:2;18600:6;18596:15;18589:30;18404:222;:::o;18632:366::-;18774:3;18795:67;18859:2;18854:3;18795:67;:::i;:::-;18788:74;;18871:93;18960:3;18871:93;:::i;:::-;18989:2;18984:3;18980:12;18973:19;;18632:366;;;:::o;19004:419::-;19170:4;19208:2;19197:9;19193:18;19185:26;;19257:9;19251:4;19247:20;19243:1;19232:9;19228:17;19221:47;19285:131;19411:4;19285:131;:::i;:::-;19277:139;;19004:419;;;:::o;19429:225::-;19569:34;19565:1;19557:6;19553:14;19546:58;19638:8;19633:2;19625:6;19621:15;19614:33;19429:225;:::o;19660:366::-;19802:3;19823:67;19887:2;19882:3;19823:67;:::i;:::-;19816:74;;19899:93;19988:3;19899:93;:::i;:::-;20017:2;20012:3;20008:12;20001:19;;19660:366;;;:::o;20032:419::-;20198:4;20236:2;20225:9;20221:18;20213:26;;20285:9;20279:4;20275:20;20271:1;20260:9;20256:17;20249:47;20313:131;20439:4;20313:131;:::i;:::-;20305:139;;20032:419;;;:::o;20457:220::-;20597:34;20593:1;20585:6;20581:14;20574:58;20666:3;20661:2;20653:6;20649:15;20642:28;20457:220;:::o;20683:366::-;20825:3;20846:67;20910:2;20905:3;20846:67;:::i;:::-;20839:74;;20922:93;21011:3;20922:93;:::i;:::-;21040:2;21035:3;21031:12;21024:19;;20683:366;;;:::o;21055:419::-;21221:4;21259:2;21248:9;21244:18;21236:26;;21308:9;21302:4;21298:20;21294:1;21283:9;21279:17;21272:47;21336:131;21462:4;21336:131;:::i;:::-;21328:139;;21055:419;;;:::o;21480:221::-;21620:34;21616:1;21608:6;21604:14;21597:58;21689:4;21684:2;21676:6;21672:15;21665:29;21480:221;:::o;21707:366::-;21849:3;21870:67;21934:2;21929:3;21870:67;:::i;:::-;21863:74;;21946:93;22035:3;21946:93;:::i;:::-;22064:2;22059:3;22055:12;22048:19;;21707:366;;;:::o;22079:419::-;22245:4;22283:2;22272:9;22268:18;22260:26;;22332:9;22326:4;22322:20;22318:1;22307:9;22303:17;22296:47;22360:131;22486:4;22360:131;:::i;:::-;22352:139;;22079:419;;;:::o;22504:194::-;22544:4;22564:20;22582:1;22564:20;:::i;:::-;22559:25;;22598:20;22616:1;22598:20;:::i;:::-;22593:25;;22642:1;22639;22635:9;22627:17;;22666:1;22660:4;22657:11;22654:37;;;22671:18;;:::i;:::-;22654:37;22504:194;;;;:::o;22704:158::-;22844:10;22840:1;22832:6;22828:14;22821:34;22704:158;:::o;22868:365::-;23010:3;23031:66;23095:1;23090:3;23031:66;:::i;:::-;23024:73;;23106:93;23195:3;23106:93;:::i;:::-;23224:2;23219:3;23215:12;23208:19;;22868:365;;;:::o;23239:419::-;23405:4;23443:2;23432:9;23428:18;23420:26;;23492:9;23486:4;23482:20;23478:1;23467:9;23463:17;23456:47;23520:131;23646:4;23520:131;:::i;:::-;23512:139;;23239:419;;;:::o;23664:172::-;23804:24;23800:1;23792:6;23788:14;23781:48;23664:172;:::o;23842:366::-;23984:3;24005:67;24069:2;24064:3;24005:67;:::i;:::-;23998:74;;24081:93;24170:3;24081:93;:::i;:::-;24199:2;24194:3;24190:12;24183:19;;23842:366;;;:::o;24214:419::-;24380:4;24418:2;24407:9;24403:18;24395:26;;24467:9;24461:4;24457:20;24453:1;24442:9;24438:17;24431:47;24495:131;24621:4;24495:131;:::i;:::-;24487:139;;24214:419;;;:::o;24639:156::-;24779:8;24775:1;24767:6;24763:14;24756:32;24639:156;:::o;24801:365::-;24943:3;24964:66;25028:1;25023:3;24964:66;:::i;:::-;24957:73;;25039:93;25128:3;25039:93;:::i;:::-;25157:2;25152:3;25148:12;25141:19;;24801:365;;;:::o;25172:419::-;25338:4;25376:2;25365:9;25361:18;25353:26;;25425:9;25419:4;25415:20;25411:1;25400:9;25396:17;25389:47;25453:131;25579:4;25453:131;:::i;:::-;25445:139;;25172:419;;;:::o

Swarm Source

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