ETH Price: $3,418.75 (-0.63%)
Gas: 3 Gwei

Token

Invader (INVDR)
 

Overview

Max Total Supply

656,402.738356481481481279 INVDR

Holders

248

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
duckingwhimsical.eth
Balance
1,592.573761574074074073 INVDR

Value
$0.00
0xC1c0e9750fAB87ac871eA40D005063F3750fe143
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

The Ethereans are an NFT project created by The Chaos Duo. The Invader Token is an ERC20 token that can be earned via the Etherean Empire dapp. Users can earn and exchange INVDR token for exclusive NFT content, in-game items, metaverse tickets, and more.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
InvaderToken

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-18
*/

pragma solidity ^0.8.0;


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

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

interface IERC20Metadata is IERC20 {
    
    function name() external view returns (string memory);

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

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

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

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

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;

    
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

    
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

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

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

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

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

    
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

abstract contract Ownable is Context {
    address private _owner;

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

    
    constructor() {
        _setOwner(_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 {
        _setOwner(address(0));
    }

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

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

contract InvaderToken is ERC20("Invader", "INVDR"), Ownable {

  address public ETHEREAN_EMPIRE_CONTRACT_ADDRESS;

  event RewardClaimed(address indexed claimer, uint amount);

  function setEthereanEmpireContractAddress(address _contractAddress) external onlyOwner(){
    ETHEREAN_EMPIRE_CONTRACT_ADDRESS = _contractAddress;
  }

  function claimReward(address _claimer, uint _amount) external {
    
    require(_msgSender() == address(ETHEREAN_EMPIRE_CONTRACT_ADDRESS));
    _mint(_claimer, _amount);
    emit RewardClaimed(_claimer, _amount);
  }

  function burnFrom(address _from, uint _amount) external {
    uint256 currentAllowance = allowance(_from, _msgSender());
    require(currentAllowance >= _amount, "ERC20: burn amount exceeds allowance");
    unchecked {
        _approve(_from, _msgSender(), currentAllowance - _amount);
    }
    _burn(_from, _amount);
  }
}

Contract Security Audit

Contract ABI

[{"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":"claimer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardClaimed","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":"ETHEREAN_EMPIRE_CONTRACT_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_claimer","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"claimReward","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":"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":"_contractAddress","type":"address"}],"name":"setEthereanEmpireContractAddress","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"}]

60806040523480156200001157600080fd5b506040518060400160405280600781526020017f496e7661646572000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f494e564452000000000000000000000000000000000000000000000000000000815250816003908051906020019062000096929190620001a6565b508060049080519060200190620000af929190620001a6565b505050620000d2620000c6620000d860201b60201c565b620000e060201b60201c565b620002bb565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001b49062000285565b90600052602060002090601f016020900481019282620001d8576000855562000224565b82601f10620001f357805160ff191683800117855562000224565b8280016001018555821562000224579182015b828111156200022357825182559160200191906001019062000206565b5b50905062000233919062000237565b5090565b5b808211156200025257600081600090555060010162000238565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200029e57607f821691505b60208210811415620002b557620002b462000256565b5b50919050565b61201080620002cb6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063715018a6116100a25780639e0d896b116100715780639e0d896b146102d1578063a457c2d7146102ed578063a9059cbb1461031d578063dd62ed3e1461034d578063f2fde38b1461037d57610116565b8063715018a61461026f57806379cc6790146102795780638da5cb5b1461029557806395d89b41146102b357610116565b806323b872dd116100e957806323b872dd146101a35780632416c90e146101d3578063313ce567146101f1578063395093511461020f57806370a082311461023f57610116565b806306fdde031461011b578063095ea7b314610139578063174e31c41461016957806318160ddd14610185575b600080fd5b610123610399565b6040516101309190611526565b60405180910390f35b610153600480360381019061014e91906115e1565b61042b565b604051610160919061163c565b60405180910390f35b610183600480360381019061017e91906115e1565b610449565b005b61018d610506565b60405161019a9190611666565b60405180910390f35b6101bd60048036038101906101b89190611681565b610510565b6040516101ca919061163c565b60405180910390f35b6101db610608565b6040516101e891906116e3565b60405180910390f35b6101f961062e565b604051610206919061171a565b60405180910390f35b610229600480360381019061022491906115e1565b610637565b604051610236919061163c565b60405180910390f35b61025960048036038101906102549190611735565b6106e3565b6040516102669190611666565b60405180910390f35b61027761072b565b005b610293600480360381019061028e91906115e1565b6107b3565b005b61029d61082e565b6040516102aa91906116e3565b60405180910390f35b6102bb610858565b6040516102c89190611526565b60405180910390f35b6102eb60048036038101906102e69190611735565b6108ea565b005b610307600480360381019061030291906115e1565b6109aa565b604051610314919061163c565b60405180910390f35b610337600480360381019061033291906115e1565b610a95565b604051610344919061163c565b60405180910390f35b61036760048036038101906103629190611762565b610ab3565b6040516103749190611666565b60405180910390f35b61039760048036038101906103929190611735565b610b3a565b005b6060600380546103a8906117d1565b80601f01602080910402602001604051908101604052809291908181526020018280546103d4906117d1565b80156104215780601f106103f657610100808354040283529160200191610421565b820191906000526020600020905b81548152906001019060200180831161040457829003601f168201915b5050505050905090565b600061043f610438610c32565b8484610c3a565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661048a610c32565b73ffffffffffffffffffffffffffffffffffffffff16146104aa57600080fd5b6104b48282610e05565b8173ffffffffffffffffffffffffffffffffffffffff167f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f7241826040516104fa9190611666565b60405180910390a25050565b6000600254905090565b600061051d848484610f65565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610568610c32565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105df90611875565b60405180910390fd5b6105fc856105f4610c32565b858403610c3a565b60019150509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b60006106d9610644610c32565b848460016000610652610c32565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106d491906118c4565b610c3a565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610733610c32565b73ffffffffffffffffffffffffffffffffffffffff1661075161082e565b73ffffffffffffffffffffffffffffffffffffffff16146107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079e90611966565b60405180910390fd5b6107b160006111e6565b565b60006107c6836107c1610c32565b610ab3565b90508181101561080b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610802906119f8565b60405180910390fd5b61081f83610817610c32565b848403610c3a565b61082983836112ac565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610867906117d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610893906117d1565b80156108e05780601f106108b5576101008083540402835291602001916108e0565b820191906000526020600020905b8154815290600101906020018083116108c357829003601f168201915b5050505050905090565b6108f2610c32565b73ffffffffffffffffffffffffffffffffffffffff1661091061082e565b73ffffffffffffffffffffffffffffffffffffffff1614610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095d90611966565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600160006109b9610c32565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6d90611a8a565b60405180910390fd5b610a8a610a81610c32565b85858403610c3a565b600191505092915050565b6000610aa9610aa2610c32565b8484610f65565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b42610c32565b73ffffffffffffffffffffffffffffffffffffffff16610b6061082e565b73ffffffffffffffffffffffffffffffffffffffff1614610bb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bad90611966565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1d90611b1c565b60405180910390fd5b610c2f816111e6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190611bae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1190611c40565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610df89190611666565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6c90611cac565b60405180910390fd5b610e8160008383611483565b8060026000828254610e9391906118c4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ee891906118c4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f4d9190611666565b60405180910390a3610f6160008383611488565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc90611d3e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c90611dd0565b60405180910390fd5b611050838383611483565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd90611e62565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461116991906118c4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111cd9190611666565b60405180910390a36111e0848484611488565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131390611ef4565b60405180910390fd5b61132882600083611483565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590611f86565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546114059190611fa6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161146a9190611666565b60405180910390a361147e83600084611488565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114c75780820151818401526020810190506114ac565b838111156114d6576000848401525b50505050565b6000601f19601f8301169050919050565b60006114f88261148d565b6115028185611498565b93506115128185602086016114a9565b61151b816114dc565b840191505092915050565b6000602082019050818103600083015261154081846114ed565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115788261154d565b9050919050565b6115888161156d565b811461159357600080fd5b50565b6000813590506115a58161157f565b92915050565b6000819050919050565b6115be816115ab565b81146115c957600080fd5b50565b6000813590506115db816115b5565b92915050565b600080604083850312156115f8576115f7611548565b5b600061160685828601611596565b9250506020611617858286016115cc565b9150509250929050565b60008115159050919050565b61163681611621565b82525050565b6000602082019050611651600083018461162d565b92915050565b611660816115ab565b82525050565b600060208201905061167b6000830184611657565b92915050565b60008060006060848603121561169a57611699611548565b5b60006116a886828701611596565b93505060206116b986828701611596565b92505060406116ca868287016115cc565b9150509250925092565b6116dd8161156d565b82525050565b60006020820190506116f860008301846116d4565b92915050565b600060ff82169050919050565b611714816116fe565b82525050565b600060208201905061172f600083018461170b565b92915050565b60006020828403121561174b5761174a611548565b5b600061175984828501611596565b91505092915050565b6000806040838503121561177957611778611548565b5b600061178785828601611596565b925050602061179885828601611596565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806117e957607f821691505b602082108114156117fd576117fc6117a2565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061185f602883611498565b915061186a82611803565b604082019050919050565b6000602082019050818103600083015261188e81611852565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118cf826115ab565b91506118da836115ab565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561190f5761190e611895565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611950602083611498565b915061195b8261191a565b602082019050919050565b6000602082019050818103600083015261197f81611943565b9050919050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b60006119e2602483611498565b91506119ed82611986565b604082019050919050565b60006020820190508181036000830152611a11816119d5565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611a74602583611498565b9150611a7f82611a18565b604082019050919050565b60006020820190508181036000830152611aa381611a67565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b06602683611498565b9150611b1182611aaa565b604082019050919050565b60006020820190508181036000830152611b3581611af9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611b98602483611498565b9150611ba382611b3c565b604082019050919050565b60006020820190508181036000830152611bc781611b8b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c2a602283611498565b9150611c3582611bce565b604082019050919050565b60006020820190508181036000830152611c5981611c1d565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611c96601f83611498565b9150611ca182611c60565b602082019050919050565b60006020820190508181036000830152611cc581611c89565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d28602583611498565b9150611d3382611ccc565b604082019050919050565b60006020820190508181036000830152611d5781611d1b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dba602383611498565b9150611dc582611d5e565b604082019050919050565b60006020820190508181036000830152611de981611dad565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611e4c602683611498565b9150611e5782611df0565b604082019050919050565b60006020820190508181036000830152611e7b81611e3f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ede602183611498565b9150611ee982611e82565b604082019050919050565b60006020820190508181036000830152611f0d81611ed1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f70602283611498565b9150611f7b82611f14565b604082019050919050565b60006020820190508181036000830152611f9f81611f63565b9050919050565b6000611fb1826115ab565b9150611fbc836115ab565b925082821015611fcf57611fce611895565b5b82820390509291505056fea26469706673582212209f8b1f85e4038ecd788a64840bd5d3e3d99b6afb705a39e1ae256dc0dadabda264736f6c63430008090033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063715018a6116100a25780639e0d896b116100715780639e0d896b146102d1578063a457c2d7146102ed578063a9059cbb1461031d578063dd62ed3e1461034d578063f2fde38b1461037d57610116565b8063715018a61461026f57806379cc6790146102795780638da5cb5b1461029557806395d89b41146102b357610116565b806323b872dd116100e957806323b872dd146101a35780632416c90e146101d3578063313ce567146101f1578063395093511461020f57806370a082311461023f57610116565b806306fdde031461011b578063095ea7b314610139578063174e31c41461016957806318160ddd14610185575b600080fd5b610123610399565b6040516101309190611526565b60405180910390f35b610153600480360381019061014e91906115e1565b61042b565b604051610160919061163c565b60405180910390f35b610183600480360381019061017e91906115e1565b610449565b005b61018d610506565b60405161019a9190611666565b60405180910390f35b6101bd60048036038101906101b89190611681565b610510565b6040516101ca919061163c565b60405180910390f35b6101db610608565b6040516101e891906116e3565b60405180910390f35b6101f961062e565b604051610206919061171a565b60405180910390f35b610229600480360381019061022491906115e1565b610637565b604051610236919061163c565b60405180910390f35b61025960048036038101906102549190611735565b6106e3565b6040516102669190611666565b60405180910390f35b61027761072b565b005b610293600480360381019061028e91906115e1565b6107b3565b005b61029d61082e565b6040516102aa91906116e3565b60405180910390f35b6102bb610858565b6040516102c89190611526565b60405180910390f35b6102eb60048036038101906102e69190611735565b6108ea565b005b610307600480360381019061030291906115e1565b6109aa565b604051610314919061163c565b60405180910390f35b610337600480360381019061033291906115e1565b610a95565b604051610344919061163c565b60405180910390f35b61036760048036038101906103629190611762565b610ab3565b6040516103749190611666565b60405180910390f35b61039760048036038101906103929190611735565b610b3a565b005b6060600380546103a8906117d1565b80601f01602080910402602001604051908101604052809291908181526020018280546103d4906117d1565b80156104215780601f106103f657610100808354040283529160200191610421565b820191906000526020600020905b81548152906001019060200180831161040457829003601f168201915b5050505050905090565b600061043f610438610c32565b8484610c3a565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661048a610c32565b73ffffffffffffffffffffffffffffffffffffffff16146104aa57600080fd5b6104b48282610e05565b8173ffffffffffffffffffffffffffffffffffffffff167f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f7241826040516104fa9190611666565b60405180910390a25050565b6000600254905090565b600061051d848484610f65565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610568610c32565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105df90611875565b60405180910390fd5b6105fc856105f4610c32565b858403610c3a565b60019150509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b60006106d9610644610c32565b848460016000610652610c32565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106d491906118c4565b610c3a565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610733610c32565b73ffffffffffffffffffffffffffffffffffffffff1661075161082e565b73ffffffffffffffffffffffffffffffffffffffff16146107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079e90611966565b60405180910390fd5b6107b160006111e6565b565b60006107c6836107c1610c32565b610ab3565b90508181101561080b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610802906119f8565b60405180910390fd5b61081f83610817610c32565b848403610c3a565b61082983836112ac565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610867906117d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610893906117d1565b80156108e05780601f106108b5576101008083540402835291602001916108e0565b820191906000526020600020905b8154815290600101906020018083116108c357829003601f168201915b5050505050905090565b6108f2610c32565b73ffffffffffffffffffffffffffffffffffffffff1661091061082e565b73ffffffffffffffffffffffffffffffffffffffff1614610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095d90611966565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600160006109b9610c32565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6d90611a8a565b60405180910390fd5b610a8a610a81610c32565b85858403610c3a565b600191505092915050565b6000610aa9610aa2610c32565b8484610f65565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b42610c32565b73ffffffffffffffffffffffffffffffffffffffff16610b6061082e565b73ffffffffffffffffffffffffffffffffffffffff1614610bb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bad90611966565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1d90611b1c565b60405180910390fd5b610c2f816111e6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190611bae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1190611c40565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610df89190611666565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6c90611cac565b60405180910390fd5b610e8160008383611483565b8060026000828254610e9391906118c4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ee891906118c4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f4d9190611666565b60405180910390a3610f6160008383611488565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc90611d3e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c90611dd0565b60405180910390fd5b611050838383611483565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd90611e62565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461116991906118c4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111cd9190611666565b60405180910390a36111e0848484611488565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131390611ef4565b60405180910390fd5b61132882600083611483565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590611f86565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546114059190611fa6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161146a9190611666565b60405180910390a361147e83600084611488565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114c75780820151818401526020810190506114ac565b838111156114d6576000848401525b50505050565b6000601f19601f8301169050919050565b60006114f88261148d565b6115028185611498565b93506115128185602086016114a9565b61151b816114dc565b840191505092915050565b6000602082019050818103600083015261154081846114ed565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115788261154d565b9050919050565b6115888161156d565b811461159357600080fd5b50565b6000813590506115a58161157f565b92915050565b6000819050919050565b6115be816115ab565b81146115c957600080fd5b50565b6000813590506115db816115b5565b92915050565b600080604083850312156115f8576115f7611548565b5b600061160685828601611596565b9250506020611617858286016115cc565b9150509250929050565b60008115159050919050565b61163681611621565b82525050565b6000602082019050611651600083018461162d565b92915050565b611660816115ab565b82525050565b600060208201905061167b6000830184611657565b92915050565b60008060006060848603121561169a57611699611548565b5b60006116a886828701611596565b93505060206116b986828701611596565b92505060406116ca868287016115cc565b9150509250925092565b6116dd8161156d565b82525050565b60006020820190506116f860008301846116d4565b92915050565b600060ff82169050919050565b611714816116fe565b82525050565b600060208201905061172f600083018461170b565b92915050565b60006020828403121561174b5761174a611548565b5b600061175984828501611596565b91505092915050565b6000806040838503121561177957611778611548565b5b600061178785828601611596565b925050602061179885828601611596565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806117e957607f821691505b602082108114156117fd576117fc6117a2565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061185f602883611498565b915061186a82611803565b604082019050919050565b6000602082019050818103600083015261188e81611852565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118cf826115ab565b91506118da836115ab565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561190f5761190e611895565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611950602083611498565b915061195b8261191a565b602082019050919050565b6000602082019050818103600083015261197f81611943565b9050919050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b60006119e2602483611498565b91506119ed82611986565b604082019050919050565b60006020820190508181036000830152611a11816119d5565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611a74602583611498565b9150611a7f82611a18565b604082019050919050565b60006020820190508181036000830152611aa381611a67565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b06602683611498565b9150611b1182611aaa565b604082019050919050565b60006020820190508181036000830152611b3581611af9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611b98602483611498565b9150611ba382611b3c565b604082019050919050565b60006020820190508181036000830152611bc781611b8b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c2a602283611498565b9150611c3582611bce565b604082019050919050565b60006020820190508181036000830152611c5981611c1d565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611c96601f83611498565b9150611ca182611c60565b602082019050919050565b60006020820190508181036000830152611cc581611c89565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d28602583611498565b9150611d3382611ccc565b604082019050919050565b60006020820190508181036000830152611d5781611d1b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dba602383611498565b9150611dc582611d5e565b604082019050919050565b60006020820190508181036000830152611de981611dad565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611e4c602683611498565b9150611e5782611df0565b604082019050919050565b60006020820190508181036000830152611e7b81611e3f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ede602183611498565b9150611ee982611e82565b604082019050919050565b60006020820190508181036000830152611f0d81611ed1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f70602283611498565b9150611f7b82611f14565b604082019050919050565b60006020820190508181036000830152611f9f81611f63565b9050919050565b6000611fb1826115ab565b9150611fbc836115ab565b925082821015611fcf57611fce611895565b5b82820390509291505056fea26469706673582212209f8b1f85e4038ecd788a64840bd5d3e3d99b6afb705a39e1ae256dc0dadabda264736f6c63430008090033

Deployed Bytecode Sourcemap

7406:903:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2666:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7749:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2049:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2849:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7473:47;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1942:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3355:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2171:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6918:94;;;:::i;:::-;;7977:329;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6683:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1824:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7591:152;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3584:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2312:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2501:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7026:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1710:100;1764:13;1797:5;1790:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:100;:::o;2666:169::-;2749:4;2766:39;2775:12;:10;:12::i;:::-;2789:7;2798:6;2766:8;:39::i;:::-;2823:4;2816:11;;2666:169;;;;:::o;7749:222::-;7856:32;;;;;;;;;;;7832:57;;:12;:10;:12::i;:::-;:57;;;7824:66;;;;;;7897:24;7903:8;7913:7;7897:5;:24::i;:::-;7947:8;7933:32;;;7957:7;7933:32;;;;;;:::i;:::-;;;;;;;;7749:222;;:::o;2049:108::-;2110:7;2137:12;;2130:19;;2049:108;:::o;2849:492::-;2989:4;3006:36;3016:6;3024:9;3035:6;3006:9;:36::i;:::-;3055:24;3082:11;:19;3094:6;3082:19;;;;;;;;;;;;;;;:33;3102:12;:10;:12::i;:::-;3082:33;;;;;;;;;;;;;;;;3055:60;;3154:6;3134:16;:26;;3126:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;3241:57;3250:6;3258:12;:10;:12::i;:::-;3291:6;3272:16;:25;3241:8;:57::i;:::-;3329:4;3322:11;;;2849:492;;;;;:::o;7473:47::-;;;;;;;;;;;;;:::o;1942:93::-;2000:5;2025:2;2018:9;;1942:93;:::o;3355:215::-;3443:4;3460:80;3469:12;:10;:12::i;:::-;3483:7;3529:10;3492:11;:25;3504:12;:10;:12::i;:::-;3492:25;;;;;;;;;;;;;;;:34;3518:7;3492:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;3460:8;:80::i;:::-;3558:4;3551:11;;3355:215;;;;:::o;2171:127::-;2245:7;2272:9;:18;2282:7;2272:18;;;;;;;;;;;;;;;;2265:25;;2171:127;;;:::o;6918:94::-;6835:12;:10;:12::i;:::-;6824:23;;:7;:5;:7::i;:::-;:23;;;6816:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6983:21:::1;7001:1;6983:9;:21::i;:::-;6918:94::o:0;7977:329::-;8040:24;8067:30;8077:5;8084:12;:10;:12::i;:::-;8067:9;:30::i;:::-;8040:57;;8132:7;8112:16;:27;;8104:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;8208:57;8217:5;8224:12;:10;:12::i;:::-;8257:7;8238:16;:26;8208:8;:57::i;:::-;8279:21;8285:5;8292:7;8279:5;:21::i;:::-;8033:273;7977:329;;:::o;6683:87::-;6729:7;6756:6;;;;;;;;;;;6749:13;;6683:87;:::o;1824:104::-;1880:13;1913:7;1906:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1824:104;:::o;7591:152::-;6835:12;:10;:12::i;:::-;6824:23;;:7;:5;:7::i;:::-;:23;;;6816:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7721:16:::1;7686:32;;:51;;;;;;;;;;;;;;;;;;7591:152:::0;:::o;3584:413::-;3677:4;3694:24;3721:11;:25;3733:12;:10;:12::i;:::-;3721:25;;;;;;;;;;;;;;;:34;3747:7;3721:34;;;;;;;;;;;;;;;;3694:61;;3794:15;3774:16;:35;;3766:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3887:67;3896:12;:10;:12::i;:::-;3910:7;3938:15;3919:16;:34;3887:8;:67::i;:::-;3985:4;3978:11;;;3584:413;;;;:::o;2312:175::-;2398:4;2415:42;2425:12;:10;:12::i;:::-;2439:9;2450:6;2415:9;:42::i;:::-;2475:4;2468:11;;2312:175;;;;:::o;2501:151::-;2590:7;2617:11;:18;2629:5;2617:18;;;;;;;;;;;;;;;:27;2636:7;2617:27;;;;;;;;;;;;;;;;2610:34;;2501:151;;;;:::o;7026:192::-;6835:12;:10;:12::i;:::-;6824:23;;:7;:5;:7::i;:::-;:23;;;6816:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7135:1:::1;7115:22;;:8;:22;;;;7107:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7191:19;7201:8;7191:9;:19::i;:::-;7026:192:::0;:::o;1078:98::-;1131:7;1158:10;1151:17;;1078:98;:::o;5776:380::-;5929:1;5912:19;;:5;:19;;;;5904:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6010:1;5991:21;;:7;:21;;;;5983:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6094:6;6064:11;:18;6076:5;6064:18;;;;;;;;;;;;;;;:27;6083:7;6064:27;;;;;;;;;;;;;;;:36;;;;6132:7;6116:32;;6125:5;6116:32;;;6141:6;6116:32;;;;;;:::i;:::-;;;;;;;;5776:380;;;:::o;4758:399::-;4861:1;4842:21;;:7;:21;;;;4834:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4912:49;4941:1;4945:7;4954:6;4912:20;:49::i;:::-;4990:6;4974:12;;:22;;;;;;;:::i;:::-;;;;;;;;5029:6;5007:9;:18;5017:7;5007:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;5072:7;5051:37;;5068:1;5051:37;;;5081:6;5051:37;;;;;;:::i;:::-;;;;;;;;5101:48;5129:1;5133:7;5142:6;5101:19;:48::i;:::-;4758:399;;:::o;4011:733::-;4169:1;4151:20;;:6;:20;;;;4143:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4253:1;4232:23;;:9;:23;;;;4224:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4308:47;4329:6;4337:9;4348:6;4308:20;:47::i;:::-;4368:21;4392:9;:17;4402:6;4392:17;;;;;;;;;;;;;;;;4368:41;;4445:6;4428:13;:23;;4420:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4566:6;4550:13;:22;4530:9;:17;4540:6;4530:17;;;;;;;;;;;;;;;:42;;;;4618:6;4594:9;:20;4604:9;4594:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4659:9;4642:35;;4651:6;4642:35;;;4670:6;4642:35;;;;;;:::i;:::-;;;;;;;;4690:46;4710:6;4718:9;4729:6;4690:19;:46::i;:::-;4132:612;4011:733;;;:::o;7226:173::-;7282:16;7301:6;;;;;;;;;;;7282:25;;7327:8;7318:6;;:17;;;;;;;;;;;;;;;;;;7382:8;7351:40;;7372:8;7351:40;;;;;;;;;;;;7271:128;7226:173;:::o;5171:591::-;5274:1;5255:21;;:7;:21;;;;5247:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5327:49;5348:7;5365:1;5369:6;5327:20;:49::i;:::-;5389:22;5414:9;:18;5424:7;5414:18;;;;;;;;;;;;;;;;5389:43;;5469:6;5451:14;:24;;5443:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5588:6;5571:14;:23;5550:9;:18;5560:7;5550:18;;;;;;;;;;;;;;;:44;;;;5632:6;5616:12;;:22;;;;;;;:::i;:::-;;;;;;;;5682:1;5656:37;;5665:7;5656:37;;;5686:6;5656:37;;;;;;:::i;:::-;;;;;;;;5706:48;5726:7;5743:1;5747:6;5706:19;:48::i;:::-;5236:526;5171:591;;:::o;6170:125::-;;;;:::o;6309: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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:118::-;4558:24;4576:5;4558:24;:::i;:::-;4553:3;4546:37;4471:118;;:::o;4595:222::-;4688:4;4726:2;4715:9;4711:18;4703:26;;4739:71;4807:1;4796:9;4792:17;4783:6;4739:71;:::i;:::-;4595:222;;;;:::o;4823:86::-;4858:7;4898:4;4891:5;4887:16;4876:27;;4823:86;;;:::o;4915:112::-;4998:22;5014:5;4998:22;:::i;:::-;4993:3;4986:35;4915:112;;:::o;5033:214::-;5122:4;5160:2;5149:9;5145:18;5137:26;;5173:67;5237:1;5226:9;5222:17;5213:6;5173:67;:::i;:::-;5033:214;;;;:::o;5253:329::-;5312:6;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5253:329;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:180::-;6116:77;6113:1;6106:88;6213:4;6210:1;6203:15;6237:4;6234:1;6227:15;6254:320;6298:6;6335:1;6329:4;6325:12;6315:22;;6382:1;6376:4;6372:12;6403:18;6393:81;;6459:4;6451:6;6447:17;6437:27;;6393:81;6521:2;6513:6;6510:14;6490:18;6487:38;6484:84;;;6540:18;;:::i;:::-;6484:84;6305:269;6254:320;;;:::o;6580:227::-;6720:34;6716:1;6708:6;6704:14;6697:58;6789:10;6784:2;6776:6;6772:15;6765:35;6580:227;:::o;6813:366::-;6955:3;6976:67;7040:2;7035:3;6976:67;:::i;:::-;6969:74;;7052:93;7141:3;7052:93;:::i;:::-;7170:2;7165:3;7161:12;7154:19;;6813:366;;;:::o;7185:419::-;7351:4;7389:2;7378:9;7374:18;7366:26;;7438:9;7432:4;7428:20;7424:1;7413:9;7409:17;7402:47;7466:131;7592:4;7466:131;:::i;:::-;7458:139;;7185:419;;;:::o;7610:180::-;7658:77;7655:1;7648:88;7755:4;7752:1;7745:15;7779:4;7776:1;7769:15;7796:305;7836:3;7855:20;7873:1;7855:20;:::i;:::-;7850:25;;7889:20;7907:1;7889:20;:::i;:::-;7884:25;;8043:1;7975:66;7971:74;7968:1;7965:81;7962:107;;;8049:18;;:::i;:::-;7962:107;8093:1;8090;8086:9;8079:16;;7796:305;;;;:::o;8107:182::-;8247:34;8243:1;8235:6;8231:14;8224:58;8107:182;:::o;8295:366::-;8437:3;8458:67;8522:2;8517:3;8458:67;:::i;:::-;8451:74;;8534:93;8623:3;8534:93;:::i;:::-;8652:2;8647:3;8643:12;8636:19;;8295:366;;;:::o;8667:419::-;8833:4;8871:2;8860:9;8856:18;8848:26;;8920:9;8914:4;8910:20;8906:1;8895:9;8891:17;8884:47;8948:131;9074:4;8948:131;:::i;:::-;8940:139;;8667:419;;;:::o;9092:223::-;9232:34;9228:1;9220:6;9216:14;9209:58;9301:6;9296:2;9288:6;9284:15;9277:31;9092:223;:::o;9321:366::-;9463:3;9484:67;9548:2;9543:3;9484:67;:::i;:::-;9477:74;;9560:93;9649:3;9560:93;:::i;:::-;9678:2;9673:3;9669:12;9662:19;;9321:366;;;:::o;9693:419::-;9859:4;9897:2;9886:9;9882:18;9874:26;;9946:9;9940:4;9936:20;9932:1;9921:9;9917:17;9910:47;9974:131;10100:4;9974:131;:::i;:::-;9966:139;;9693:419;;;:::o;10118:224::-;10258:34;10254:1;10246:6;10242:14;10235:58;10327:7;10322:2;10314:6;10310:15;10303:32;10118:224;:::o;10348:366::-;10490:3;10511:67;10575:2;10570:3;10511:67;:::i;:::-;10504:74;;10587:93;10676:3;10587:93;:::i;:::-;10705:2;10700:3;10696:12;10689:19;;10348:366;;;:::o;10720:419::-;10886:4;10924:2;10913:9;10909:18;10901:26;;10973:9;10967:4;10963:20;10959:1;10948:9;10944:17;10937:47;11001:131;11127:4;11001:131;:::i;:::-;10993:139;;10720:419;;;:::o;11145:225::-;11285:34;11281:1;11273:6;11269:14;11262:58;11354:8;11349:2;11341:6;11337:15;11330:33;11145:225;:::o;11376:366::-;11518:3;11539:67;11603:2;11598:3;11539:67;:::i;:::-;11532:74;;11615:93;11704:3;11615:93;:::i;:::-;11733:2;11728:3;11724:12;11717:19;;11376:366;;;:::o;11748:419::-;11914:4;11952:2;11941:9;11937:18;11929:26;;12001:9;11995:4;11991:20;11987:1;11976:9;11972:17;11965:47;12029:131;12155:4;12029:131;:::i;:::-;12021:139;;11748:419;;;:::o;12173:223::-;12313:34;12309:1;12301:6;12297:14;12290:58;12382:6;12377:2;12369:6;12365:15;12358:31;12173:223;:::o;12402:366::-;12544:3;12565:67;12629:2;12624:3;12565:67;:::i;:::-;12558:74;;12641:93;12730:3;12641:93;:::i;:::-;12759:2;12754:3;12750:12;12743:19;;12402:366;;;:::o;12774:419::-;12940:4;12978:2;12967:9;12963:18;12955:26;;13027:9;13021:4;13017:20;13013:1;13002:9;12998:17;12991:47;13055:131;13181:4;13055:131;:::i;:::-;13047:139;;12774:419;;;:::o;13199:221::-;13339:34;13335:1;13327:6;13323:14;13316:58;13408:4;13403:2;13395:6;13391:15;13384:29;13199:221;:::o;13426:366::-;13568:3;13589:67;13653:2;13648:3;13589:67;:::i;:::-;13582:74;;13665:93;13754:3;13665:93;:::i;:::-;13783:2;13778:3;13774:12;13767:19;;13426:366;;;:::o;13798:419::-;13964:4;14002:2;13991:9;13987:18;13979:26;;14051:9;14045:4;14041:20;14037:1;14026:9;14022:17;14015:47;14079:131;14205:4;14079:131;:::i;:::-;14071:139;;13798:419;;;:::o;14223:181::-;14363:33;14359:1;14351:6;14347:14;14340:57;14223:181;:::o;14410:366::-;14552:3;14573:67;14637:2;14632:3;14573:67;:::i;:::-;14566:74;;14649:93;14738:3;14649:93;:::i;:::-;14767:2;14762:3;14758:12;14751:19;;14410:366;;;:::o;14782:419::-;14948:4;14986:2;14975:9;14971:18;14963:26;;15035:9;15029:4;15025:20;15021:1;15010:9;15006:17;14999:47;15063:131;15189:4;15063:131;:::i;:::-;15055:139;;14782:419;;;:::o;15207:224::-;15347:34;15343:1;15335:6;15331:14;15324:58;15416:7;15411:2;15403:6;15399:15;15392:32;15207:224;:::o;15437:366::-;15579:3;15600:67;15664:2;15659:3;15600:67;:::i;:::-;15593:74;;15676:93;15765:3;15676:93;:::i;:::-;15794:2;15789:3;15785:12;15778:19;;15437:366;;;:::o;15809:419::-;15975:4;16013:2;16002:9;15998:18;15990:26;;16062:9;16056:4;16052:20;16048:1;16037:9;16033:17;16026:47;16090:131;16216:4;16090:131;:::i;:::-;16082:139;;15809:419;;;:::o;16234:222::-;16374:34;16370:1;16362:6;16358:14;16351:58;16443:5;16438:2;16430:6;16426:15;16419:30;16234:222;:::o;16462:366::-;16604:3;16625:67;16689:2;16684:3;16625:67;:::i;:::-;16618:74;;16701:93;16790:3;16701:93;:::i;:::-;16819:2;16814:3;16810:12;16803:19;;16462:366;;;:::o;16834:419::-;17000:4;17038:2;17027:9;17023:18;17015:26;;17087:9;17081:4;17077:20;17073:1;17062:9;17058:17;17051:47;17115:131;17241:4;17115:131;:::i;:::-;17107:139;;16834:419;;;:::o;17259:225::-;17399:34;17395:1;17387:6;17383:14;17376:58;17468:8;17463:2;17455:6;17451:15;17444:33;17259:225;:::o;17490:366::-;17632:3;17653:67;17717:2;17712:3;17653:67;:::i;:::-;17646:74;;17729:93;17818:3;17729:93;:::i;:::-;17847:2;17842:3;17838:12;17831:19;;17490:366;;;:::o;17862:419::-;18028:4;18066:2;18055:9;18051:18;18043:26;;18115:9;18109:4;18105:20;18101:1;18090:9;18086:17;18079:47;18143:131;18269:4;18143:131;:::i;:::-;18135:139;;17862:419;;;:::o;18287:220::-;18427:34;18423:1;18415:6;18411:14;18404:58;18496:3;18491:2;18483:6;18479:15;18472:28;18287:220;:::o;18513:366::-;18655:3;18676:67;18740:2;18735:3;18676:67;:::i;:::-;18669:74;;18752:93;18841:3;18752:93;:::i;:::-;18870:2;18865:3;18861:12;18854:19;;18513:366;;;:::o;18885:419::-;19051:4;19089:2;19078:9;19074:18;19066:26;;19138:9;19132:4;19128:20;19124:1;19113:9;19109:17;19102:47;19166:131;19292:4;19166:131;:::i;:::-;19158:139;;18885:419;;;:::o;19310:221::-;19450:34;19446:1;19438:6;19434:14;19427:58;19519:4;19514:2;19506:6;19502:15;19495:29;19310:221;:::o;19537:366::-;19679:3;19700:67;19764:2;19759:3;19700:67;:::i;:::-;19693:74;;19776:93;19865:3;19776:93;:::i;:::-;19894:2;19889:3;19885:12;19878:19;;19537:366;;;:::o;19909:419::-;20075:4;20113:2;20102:9;20098:18;20090:26;;20162:9;20156:4;20152:20;20148:1;20137:9;20133:17;20126:47;20190:131;20316:4;20190:131;:::i;:::-;20182:139;;19909:419;;;:::o;20334:191::-;20374:4;20394:20;20412:1;20394:20;:::i;:::-;20389:25;;20428:20;20446:1;20428:20;:::i;:::-;20423:25;;20467:1;20464;20461:8;20458:34;;;20472:18;;:::i;:::-;20458:34;20517:1;20514;20510:9;20502:17;;20334:191;;;;:::o

Swarm Source

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