ETH Price: $3,313.71 (-3.50%)
Gas: 21 Gwei

Token

IGLOO (IGLOO)
 

Overview

Max Total Supply

1,524,733,696 IGLOO

Holders

187

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
39,663.172027136101701827 IGLOO

Value
$0.00
0xe0e65514fbb8ddbaaa802bce2b521e65b42f98e1
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:
IGLOO

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-18
*/

/**
Twitter: https://twitter.com/Penguin_MPG
Telegram: https://t.me/MurderPenguin
Website: https://icebox.ski
All IGLOO and MPG holders will be cordially invited to the Automatic presale!
*/

/**
 *Submitted for verification at Etherscan.io on 2023-01-18
*/

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.13;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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 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 `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, 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 `from` to `to` 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IIGLOO {
    function mint(address _to, uint256 _amount) external;
}

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

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

interface IRouter {
    function factory() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
}

/**
 * @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 Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        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);
    }
}

interface IxIGLOO {
    function deposit() external payable;
}

interface IFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

contract IGLOO is IERC20, IIGLOO, Ownable {
    string public constant _name = "IGLOO";
    string public constant _symbol = "IGLOO";
    uint8 public constant _decimals = 18;

    uint256 public _totalSupply;
    mapping (address => uint256) public _balances;
    mapping (address => mapping (address => uint256)) public _allowances;

    mapping (address => uint256) public _lastFreeze;
    address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    mapping (address => bool) public noTax;
    address public treasury;
    address public dexPair;
    uint256 public sellFee = 1500;
    uint256 private _tokens = 0;
    IRouter public router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public icebox;
    bool private _swapping;
    IxIGLOO staking;

    modifier swapping() {
        _swapping = true;
        _;
        _swapping = false;
    }

    constructor (address _treasury) {
        treasury = _treasury;
        dexPair = IFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        noTax[msg.sender] = true;

        approve(address(router), type(uint256).max);
        approve(address(dexPair), type(uint256).max);

        _totalSupply = 10000000 * (10 ** 18);
        _balances[msg.sender] = 10000000 * (10 ** 18);
        emit Transfer(address(0), msg.sender, 10000000 * (10 ** 18));
    }

    function mint(address _to, uint256 _amount) external {
        require(msg.sender == icebox);
        if ((_totalSupply + _amount) > _totalSupply) {
            _totalSupply = _totalSupply + _amount;
            _balances[_to] = _balances[_to] + _amount;
            _lastFreeze[_to] = block.timestamp;
            emit Transfer(address(0), _to, _amount);
        }
    }

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

    function decimals() external pure returns (uint8) {
        return _decimals;
    }

    function symbol() external pure returns (string memory) {
        return _symbol;
    }

    function name() external pure returns (string memory) {
        return _name;
    }

    function getOwner() external view returns (address) {
        return owner();
    }

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

    function allowance(address holder, address spender) external view override returns (uint256) {
        return _allowances[holder][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, _totalSupply);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != _totalSupply) {
            require(_allowances[sender][msg.sender] >= amount, "Insufficient allowance");
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) private returns (bool) {
        if (_swapping) return _basicTransfer(sender, recipient, amount);

        bool _sell = recipient == dexPair || recipient == address(router);

        if (_sell) {
            if (msg.sender != dexPair && !_swapping && _tokens > 0) _payTreasury();
        }

        require(_balances[sender] >= amount, "Insufficient balance");
        _balances[sender] = _balances[sender] - amount;

        uint256 amountReceived = (((sender == dexPair || sender == address(router)) || (recipient == dexPair || recipient == address(router))) ? !noTax[sender] && !noTax[recipient] : false) ? _calcAmount(sender, recipient, amount) : amount;

        _balances[recipient] = _balances[recipient] + amountReceived;

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(_balances[sender] >= amount, "Insufficient balance");
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;

        return true;
    }

    function _calcAmount(address sender, address receiver, uint256 amount) private returns (uint256) {
        bool _sell = receiver == dexPair || receiver == address(router);
        uint256 _sellFee = sellFee;
        if (_sell) {
            _sellFee = reqSellTax(sender);
        }
        uint256 _fee = _sell ? _sellFee : 0;
        uint256 _tax = amount * _fee / 10000;
        if (_fee > 0) {
            _tokens += _tax;
            _balances[address(this)] = _balances[address(this)] + _tax;
            emit Transfer(sender, address(this), _tax);
        }
        return amount - _tax;
    }

    function _payTreasury() private swapping {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;
        uint256 _preview = address(this).balance;
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(balanceOf(address(this)), 0, path, address(this), block.timestamp);
        uint256 _net = address(this).balance - _preview;
        if (_net > 0) {
            payable(treasury).call{value: _net * 7000 / 10000}("");
            staking.deposit{value: _net * 3000 / 10000}();
        }
        _tokens = 0;
    }

    function setTreasury(address _treasury) external onlyOwner {
        treasury = _treasury;
    }

    function setStaking(address _xigloo) external onlyOwner {
        staking = IxIGLOO(_xigloo);
    }

    function setIcebox(address _icebox) external onlyOwner {
        icebox = _icebox;
    }

    function setNoTax(address _wallet, bool _value) external onlyOwner {
        noTax[_wallet] = _value;
    }

    function reqNoTax(address _wallet) external view returns (bool) {
        return noTax[_wallet];
    }

    function reqSellTax(address _wallet) public view returns (uint256) {
        uint256 _sellFee = sellFee;
        if (_lastFreeze[_wallet] > 0) {
            _sellFee = 9000 - (100 * ((block.timestamp - _lastFreeze[_wallet]) / 86400));
            if (_sellFee < 1500) {
                _sellFee = 1500;
            }
        }
        return _sellFee;
    }

    function reqLastFreeze(address _wallet) external view returns (uint256) {
        return _lastFreeze[_wallet];
    }

    function reqDexPair() external view returns (address) {
        return dexPair;
    }

    function reqTreasury() external view returns (address) {
        return treasury;
    }

    function transferETH() external onlyOwner {
        payable(msg.sender).call{value: address(this).balance}("");
    }

    function transferERC(address token) external onlyOwner {
        IERC20 Token = IERC20(token);
        Token.transfer(msg.sender, Token.balanceOf(address(this)));
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_lastFreeze","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":"_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":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"icebox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"noTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reqDexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"reqLastFreeze","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"reqNoTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"reqSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reqTreasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_icebox","type":"address"}],"name":"setIcebox","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setNoTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xigloo","type":"address"}],"name":"setStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"token","type":"address"}],"name":"transferERC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferETH","outputs":[],"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":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526105dc6008556000600955600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790553480156200004257600080fd5b5060405162001a9038038062001a90833981016040819052620000659162000322565b620000703362000265565b600680546001600160a01b0319166001600160a01b0383811691909117909155600a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620000d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f9919062000322565b6040516364e329cb60e11b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260048201523060248201526001600160a01b03919091169063c9c65396906044016020604051808303816000875af11580156200015c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000182919062000322565b600780546001600160a01b0319166001600160a01b03928316179055306000908152600360209081526040808320600a8054861685529083528184206000199081905533855260059093529220805460ff191660011790559054620001e9921690620002b5565b5060075462000204906001600160a01b0316600019620002b5565b506a084595161401484a000000600181905533600081815260026020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000354565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620003119086815260200190565b60405180910390a350600192915050565b6000602082840312156200033557600080fd5b81516001600160a01b03811681146200034d57600080fd5b9392505050565b61172c80620003646000396000f3fe60806040526004361061023f5760003560e01c80636ebcf6071161012e578063d28d8852116100ab578063f2fde38b1161006f578063f2fde38b14610706578063f865a59f14610726578063f887ea4014610746578063fd142ce314610766578063fe412e6a1461079f57600080fd5b8063d28d88521461063a578063dd62ed3e1461066b578063e28d717b146106b1578063f0f44260146106c6578063f242ab41146106e657600080fd5b80638ff39099116100f25780638ff39099146105d257806395d89b41146102b8578063a9059cbb146105f2578063ad5c464814610612578063b09f12661461063a57600080fd5b80636ebcf6071461053c57806370a0823114610569578063715018a61461059f578063893d20e8146105b45780638da5cb5b146105b457600080fd5b806323b872dd116101bc5780633eaaf86b116101805780633eaaf86b146104a657806340c10f19146104bc578063571ac8b0146104dc57806361d027b3146104fc5780636aa654ba1461051c57600080fd5b806323b872dd146104195780632b14ca56146104395780632f507df71461044f578063313ce5671461046f57806332424aa31461049157600080fd5b8063105ff1ad11610203578063105ff1ad14610351578063151ebae61461037e57806318160ddd146103ae5780631cf2a3d5146103c35780631f630291146103f957600080fd5b8063024c2ddd1461024b578063045a12b51461029657806306fdde03146102b8578063095ea7b3146102ef5780630dd1c0c81461031f57600080fd5b3661024657005b600080fd5b34801561025757600080fd5b50610283610266366004611465565b600360209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156102a257600080fd5b506102b66102b1366004611498565b6107bd565b005b3480156102c457600080fd5b5060408051808201909152600581526449474c4f4f60d81b60208201525b60405161028d91906114b3565b3480156102fb57600080fd5b5061030f61030a366004611508565b6107e7565b604051901515815260200161028d565b34801561032b57600080fd5b506006546001600160a01b03165b6040516001600160a01b03909116815260200161028d565b34801561035d57600080fd5b5061028361036c366004611498565b60046020526000908152604090205481565b34801561038a57600080fd5b5061030f610399366004611498565b60056020526000908152604090205460ff1681565b3480156103ba57600080fd5b50600154610283565b3480156103cf57600080fd5b506102836103de366004611498565b6001600160a01b031660009081526004602052604090205490565b34801561040557600080fd5b50610283610414366004611498565b610853565b34801561042557600080fd5b5061030f610434366004611532565b6108d7565b34801561044557600080fd5b5061028360085481565b34801561045b57600080fd5b506102b661046a36600461157c565b6109df565b34801561047b57600080fd5b5060125b60405160ff909116815260200161028d565b34801561049d57600080fd5b5061047f601281565b3480156104b257600080fd5b5061028360015481565b3480156104c857600080fd5b506102b66104d7366004611508565b610a12565b3480156104e857600080fd5b5061030f6104f7366004611498565b610ad3565b34801561050857600080fd5b50600654610339906001600160a01b031681565b34801561052857600080fd5b506102b6610537366004611498565b610ae1565b34801561054857600080fd5b50610283610557366004611498565b60026020526000908152604090205481565b34801561057557600080fd5b50610283610584366004611498565b6001600160a01b031660009081526002602052604090205490565b3480156105ab57600080fd5b506102b6610bd1565b3480156105c057600080fd5b506000546001600160a01b0316610339565b3480156105de57600080fd5b506102b66105ed366004611498565b610be5565b3480156105fe57600080fd5b5061030f61060d366004611508565b610c0f565b34801561061e57600080fd5b5061033973c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b34801561064657600080fd5b506102e26040518060400160405280600581526020016449474c4f4f60d81b81525081565b34801561067757600080fd5b50610283610686366004611465565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156106bd57600080fd5b506102b6610c1c565b3480156106d257600080fd5b506102b66106e1366004611498565b610c64565b3480156106f257600080fd5b50600754610339906001600160a01b031681565b34801561071257600080fd5b506102b6610721366004611498565b610c8e565b34801561073257600080fd5b50600b54610339906001600160a01b031681565b34801561075257600080fd5b50600a54610339906001600160a01b031681565b34801561077257600080fd5b5061030f610781366004611498565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156107ab57600080fd5b506007546001600160a01b0316610339565b6107c5610d07565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108429086815260200190565b60405180910390a350600192915050565b6008546001600160a01b038216600090815260046020526040812054909190156108d1576001600160a01b038316600090815260046020526040902054620151809061089f90426115c9565b6108a991906115e0565b6108b4906064611602565b6108c0906123286115c9565b90506105dc8110156108d157506105dc5b92915050565b6001546001600160a01b03841660009081526003602090815260408083203384529091528120549091146109ca576001600160a01b03841660009081526003602090815260408083203384529091529020548211156109765760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b60448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602090815260408083203384529091529020546109a59083906115c9565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6109d5848484610d61565b90505b9392505050565b6109e7610d07565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b600b546001600160a01b03163314610a2957600080fd5b600154610a368282611621565b1115610acf5780600154610a4a9190611621565b6001556001600160a01b038216600090815260026020526040902054610a71908290611621565b6001600160a01b038316600081815260026020908152604080832094909455600481528382204290559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b5050565b60006108d1826001546107e7565b610ae9610d07565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5d9190611639565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc9190611652565b505050565b610bd9610d07565b610be36000610fdb565b565b610bed610d07565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b60006109d8338484610d61565b610c24610d07565b60405133904790600081818185875af1925050503d8060008114610bcc576040519150601f19603f3d011682016040523d82523d6000602084013e505050565b610c6c610d07565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b610c96610d07565b6001600160a01b038116610cfb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161096d565b610d0481610fdb565b50565b6000546001600160a01b03163314610be35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161096d565b600b54600090600160a01b900460ff1615610d8857610d8184848461102b565b90506109d8565b6007546000906001600160a01b0385811691161480610db45750600a546001600160a01b038581169116145b90508015610dfc576007546001600160a01b03163314801590610de15750600b54600160a01b900460ff16155b8015610def57506000600954115b15610dfc57610dfc611101565b6001600160a01b038516600090815260026020526040902054831115610e5b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161096d565b6001600160a01b038516600090815260026020526040902054610e7f9084906115c9565b6001600160a01b038087166000818152600260205260408120939093556007549091161480610ebb5750600a546001600160a01b038781169116145b80610eea57506007546001600160a01b0386811691161480610eea5750600a546001600160a01b038681169116145b610ef5576000610f37565b6001600160a01b03861660009081526005602052604090205460ff16158015610f3757506001600160a01b03851660009081526005602052604090205460ff16155b610f415783610f4c565b610f4c86868661132e565b6001600160a01b038616600090815260026020526040902054909150610f73908290611621565b6001600160a01b0380871660008181526002602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc79085815260200190565b60405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831660009081526002602052604081205482111561108a5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161096d565b6001600160a01b0384166000908152600260205260409020546110ae9083906115c9565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546110de908390611621565b6001600160a01b0384166000908152600260205260409020555060019392505050565b600b805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111495761114961166f565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106111915761119161166f565b6001600160a01b039283166020918202929092010152600a5447911663791ac9476111d1306001600160a01b031660009081526002602052604090205490565b60008530426040518663ffffffff1660e01b81526004016111f6959493929190611685565b600060405180830381600087803b15801561121057600080fd5b505af1158015611224573d6000803e3d6000fd5b505050506000814761123691906115c9565b90508015611317576006546001600160a01b031661271061125983611b58611602565b61126391906115e0565b604051600081818185875af1925050503d806000811461129f576040519150601f19603f3d011682016040523d82523d6000602084013e6112a4565b606091505b5050600c546001600160a01b0316905063d0e30db06127106112c884610bb8611602565b6112d291906115e0565b6040518263ffffffff1660e01b81526004016000604051808303818588803b1580156112fd57600080fd5b505af1158015611311573d6000803e3d6000fd5b50505050505b5050600060095550600b805460ff60a01b19169055565b60075460009081906001600160a01b038581169116148061135c5750600a546001600160a01b038581169116145b60085490915081156113745761137186610853565b90505b600082611382576000611384565b815b905060006127106113958388611602565b61139f91906115e0565b905081156114335780600960008282546113b99190611621565b9091555050306000908152600260205260409020546113d9908290611621565b30600081815260026020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061142a9085815260200190565b60405180910390a35b61143d81876115c9565b98975050505050505050565b80356001600160a01b038116811461146057600080fd5b919050565b6000806040838503121561147857600080fd5b61148183611449565b915061148f60208401611449565b90509250929050565b6000602082840312156114aa57600080fd5b6109d882611449565b600060208083528351808285015260005b818110156114e0578581018301518582016040015282016114c4565b818111156114f2576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561151b57600080fd5b61152483611449565b946020939093013593505050565b60008060006060848603121561154757600080fd5b61155084611449565b925061155e60208501611449565b9150604084013590509250925092565b8015158114610d0457600080fd5b6000806040838503121561158f57600080fd5b61159883611449565b915060208301356115a88161156e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000828210156115db576115db6115b3565b500390565b6000826115fd57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561161c5761161c6115b3565b500290565b60008219821115611634576116346115b3565b500190565b60006020828403121561164b57600080fd5b5051919050565b60006020828403121561166457600080fd5b81516109d88161156e565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116d55784516001600160a01b0316835293830193918301916001016116b0565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205a13734818e2cff3b337d9dcf6ce235e1a2f5292c30468533f4ed136e5c719c464736f6c634300080d00330000000000000000000000008f44172df47a3635772b3c0954c84e899869139d

Deployed Bytecode

0x60806040526004361061023f5760003560e01c80636ebcf6071161012e578063d28d8852116100ab578063f2fde38b1161006f578063f2fde38b14610706578063f865a59f14610726578063f887ea4014610746578063fd142ce314610766578063fe412e6a1461079f57600080fd5b8063d28d88521461063a578063dd62ed3e1461066b578063e28d717b146106b1578063f0f44260146106c6578063f242ab41146106e657600080fd5b80638ff39099116100f25780638ff39099146105d257806395d89b41146102b8578063a9059cbb146105f2578063ad5c464814610612578063b09f12661461063a57600080fd5b80636ebcf6071461053c57806370a0823114610569578063715018a61461059f578063893d20e8146105b45780638da5cb5b146105b457600080fd5b806323b872dd116101bc5780633eaaf86b116101805780633eaaf86b146104a657806340c10f19146104bc578063571ac8b0146104dc57806361d027b3146104fc5780636aa654ba1461051c57600080fd5b806323b872dd146104195780632b14ca56146104395780632f507df71461044f578063313ce5671461046f57806332424aa31461049157600080fd5b8063105ff1ad11610203578063105ff1ad14610351578063151ebae61461037e57806318160ddd146103ae5780631cf2a3d5146103c35780631f630291146103f957600080fd5b8063024c2ddd1461024b578063045a12b51461029657806306fdde03146102b8578063095ea7b3146102ef5780630dd1c0c81461031f57600080fd5b3661024657005b600080fd5b34801561025757600080fd5b50610283610266366004611465565b600360209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156102a257600080fd5b506102b66102b1366004611498565b6107bd565b005b3480156102c457600080fd5b5060408051808201909152600581526449474c4f4f60d81b60208201525b60405161028d91906114b3565b3480156102fb57600080fd5b5061030f61030a366004611508565b6107e7565b604051901515815260200161028d565b34801561032b57600080fd5b506006546001600160a01b03165b6040516001600160a01b03909116815260200161028d565b34801561035d57600080fd5b5061028361036c366004611498565b60046020526000908152604090205481565b34801561038a57600080fd5b5061030f610399366004611498565b60056020526000908152604090205460ff1681565b3480156103ba57600080fd5b50600154610283565b3480156103cf57600080fd5b506102836103de366004611498565b6001600160a01b031660009081526004602052604090205490565b34801561040557600080fd5b50610283610414366004611498565b610853565b34801561042557600080fd5b5061030f610434366004611532565b6108d7565b34801561044557600080fd5b5061028360085481565b34801561045b57600080fd5b506102b661046a36600461157c565b6109df565b34801561047b57600080fd5b5060125b60405160ff909116815260200161028d565b34801561049d57600080fd5b5061047f601281565b3480156104b257600080fd5b5061028360015481565b3480156104c857600080fd5b506102b66104d7366004611508565b610a12565b3480156104e857600080fd5b5061030f6104f7366004611498565b610ad3565b34801561050857600080fd5b50600654610339906001600160a01b031681565b34801561052857600080fd5b506102b6610537366004611498565b610ae1565b34801561054857600080fd5b50610283610557366004611498565b60026020526000908152604090205481565b34801561057557600080fd5b50610283610584366004611498565b6001600160a01b031660009081526002602052604090205490565b3480156105ab57600080fd5b506102b6610bd1565b3480156105c057600080fd5b506000546001600160a01b0316610339565b3480156105de57600080fd5b506102b66105ed366004611498565b610be5565b3480156105fe57600080fd5b5061030f61060d366004611508565b610c0f565b34801561061e57600080fd5b5061033973c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b34801561064657600080fd5b506102e26040518060400160405280600581526020016449474c4f4f60d81b81525081565b34801561067757600080fd5b50610283610686366004611465565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156106bd57600080fd5b506102b6610c1c565b3480156106d257600080fd5b506102b66106e1366004611498565b610c64565b3480156106f257600080fd5b50600754610339906001600160a01b031681565b34801561071257600080fd5b506102b6610721366004611498565b610c8e565b34801561073257600080fd5b50600b54610339906001600160a01b031681565b34801561075257600080fd5b50600a54610339906001600160a01b031681565b34801561077257600080fd5b5061030f610781366004611498565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156107ab57600080fd5b506007546001600160a01b0316610339565b6107c5610d07565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108429086815260200190565b60405180910390a350600192915050565b6008546001600160a01b038216600090815260046020526040812054909190156108d1576001600160a01b038316600090815260046020526040902054620151809061089f90426115c9565b6108a991906115e0565b6108b4906064611602565b6108c0906123286115c9565b90506105dc8110156108d157506105dc5b92915050565b6001546001600160a01b03841660009081526003602090815260408083203384529091528120549091146109ca576001600160a01b03841660009081526003602090815260408083203384529091529020548211156109765760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b60448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602090815260408083203384529091529020546109a59083906115c9565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6109d5848484610d61565b90505b9392505050565b6109e7610d07565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b600b546001600160a01b03163314610a2957600080fd5b600154610a368282611621565b1115610acf5780600154610a4a9190611621565b6001556001600160a01b038216600090815260026020526040902054610a71908290611621565b6001600160a01b038316600081815260026020908152604080832094909455600481528382204290559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b5050565b60006108d1826001546107e7565b610ae9610d07565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5d9190611639565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc9190611652565b505050565b610bd9610d07565b610be36000610fdb565b565b610bed610d07565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b60006109d8338484610d61565b610c24610d07565b60405133904790600081818185875af1925050503d8060008114610bcc576040519150601f19603f3d011682016040523d82523d6000602084013e505050565b610c6c610d07565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b610c96610d07565b6001600160a01b038116610cfb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161096d565b610d0481610fdb565b50565b6000546001600160a01b03163314610be35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161096d565b600b54600090600160a01b900460ff1615610d8857610d8184848461102b565b90506109d8565b6007546000906001600160a01b0385811691161480610db45750600a546001600160a01b038581169116145b90508015610dfc576007546001600160a01b03163314801590610de15750600b54600160a01b900460ff16155b8015610def57506000600954115b15610dfc57610dfc611101565b6001600160a01b038516600090815260026020526040902054831115610e5b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161096d565b6001600160a01b038516600090815260026020526040902054610e7f9084906115c9565b6001600160a01b038087166000818152600260205260408120939093556007549091161480610ebb5750600a546001600160a01b038781169116145b80610eea57506007546001600160a01b0386811691161480610eea5750600a546001600160a01b038681169116145b610ef5576000610f37565b6001600160a01b03861660009081526005602052604090205460ff16158015610f3757506001600160a01b03851660009081526005602052604090205460ff16155b610f415783610f4c565b610f4c86868661132e565b6001600160a01b038616600090815260026020526040902054909150610f73908290611621565b6001600160a01b0380871660008181526002602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc79085815260200190565b60405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831660009081526002602052604081205482111561108a5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161096d565b6001600160a01b0384166000908152600260205260409020546110ae9083906115c9565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546110de908390611621565b6001600160a01b0384166000908152600260205260409020555060019392505050565b600b805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111495761114961166f565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106111915761119161166f565b6001600160a01b039283166020918202929092010152600a5447911663791ac9476111d1306001600160a01b031660009081526002602052604090205490565b60008530426040518663ffffffff1660e01b81526004016111f6959493929190611685565b600060405180830381600087803b15801561121057600080fd5b505af1158015611224573d6000803e3d6000fd5b505050506000814761123691906115c9565b90508015611317576006546001600160a01b031661271061125983611b58611602565b61126391906115e0565b604051600081818185875af1925050503d806000811461129f576040519150601f19603f3d011682016040523d82523d6000602084013e6112a4565b606091505b5050600c546001600160a01b0316905063d0e30db06127106112c884610bb8611602565b6112d291906115e0565b6040518263ffffffff1660e01b81526004016000604051808303818588803b1580156112fd57600080fd5b505af1158015611311573d6000803e3d6000fd5b50505050505b5050600060095550600b805460ff60a01b19169055565b60075460009081906001600160a01b038581169116148061135c5750600a546001600160a01b038581169116145b60085490915081156113745761137186610853565b90505b600082611382576000611384565b815b905060006127106113958388611602565b61139f91906115e0565b905081156114335780600960008282546113b99190611621565b9091555050306000908152600260205260409020546113d9908290611621565b30600081815260026020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061142a9085815260200190565b60405180910390a35b61143d81876115c9565b98975050505050505050565b80356001600160a01b038116811461146057600080fd5b919050565b6000806040838503121561147857600080fd5b61148183611449565b915061148f60208401611449565b90509250929050565b6000602082840312156114aa57600080fd5b6109d882611449565b600060208083528351808285015260005b818110156114e0578581018301518582016040015282016114c4565b818111156114f2576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561151b57600080fd5b61152483611449565b946020939093013593505050565b60008060006060848603121561154757600080fd5b61155084611449565b925061155e60208501611449565b9150604084013590509250925092565b8015158114610d0457600080fd5b6000806040838503121561158f57600080fd5b61159883611449565b915060208301356115a88161156e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000828210156115db576115db6115b3565b500390565b6000826115fd57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561161c5761161c6115b3565b500290565b60008219821115611634576116346115b3565b500190565b60006020828403121561164b57600080fd5b5051919050565b60006020828403121561166457600080fd5b81516109d88161156e565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116d55784516001600160a01b0316835293830193918301916001016116b0565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205a13734818e2cff3b337d9dcf6ce235e1a2f5292c30468533f4ed136e5c719c464736f6c634300080d0033

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

0000000000000000000000008f44172df47a3635772b3c0954c84e899869139d

-----Decoded View---------------
Arg [0] : _treasury (address): 0x8F44172Df47A3635772B3C0954c84E899869139D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008f44172df47a3635772b3c0954c84e899869139d


Deployed Bytecode Sourcemap

6516:7619:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6788:68;;;;;;;;;;-1:-1:-1;6788:68:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;603:25:1;;;591:2;576:18;6788:68:0;;;;;;;;12778:90;;;;;;;;;;-1:-1:-1;12778:90:0;;;;;:::i;:::-;;:::i;:::-;;8682:85;;;;;;;;;;-1:-1:-1;8754:5:0;;;;;;;;;;;;-1:-1:-1;;;8754:5:0;;;;8682:85;;;;;;;:::i;9150:216::-;;;;;;;;;;-1:-1:-1;9150:216:0;;;;;:::i;:::-;;:::i;:::-;;;1856:14:1;;1849:22;1831:41;;1819:2;1804:18;9150:216:0;1691:187:1;13700:89:0;;;;;;;;;;-1:-1:-1;13773:8:0;;-1:-1:-1;;;;;13773:8:0;13700:89;;;-1:-1:-1;;;;;2047:32:1;;;2029:51;;2017:2;2002:18;13700:89:0;1883:203:1;6865:47:0;;;;;;;;;;-1:-1:-1;6865:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;6999:38;;;;;;;;;;-1:-1:-1;6999:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8382:102;;;;;;;;;;-1:-1:-1;8464:12:0;;8382:102;;13479:118;;;;;;;;;;-1:-1:-1;13479:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;13569:20:0;13542:7;13569:20;;;:11;:20;;;;;;;13479:118;13105:366;;;;;;;;;;-1:-1:-1;13105:366:0;;;;;:::i;:::-;;:::i;9663:429::-;;;;;;;;;;-1:-1:-1;9663:429:0;;;;;:::i;:::-;;:::i;7103:29::-;;;;;;;;;;;;;;;;12876:109;;;;;;;;;;-1:-1:-1;12876:109:0;;;;;:::i;:::-;;:::i;8492:85::-;;;;;;;;;;-1:-1:-1;6691:2:0;8492:85;;;3039:4:1;3027:17;;;3009:36;;2997:2;2982:18;8492:85:0;2867:184:1;6657:36:0;;;;;;;;;;;;6691:2;6657:36;;6702:27;;;;;;;;;;;;;;;;7995:379;;;;;;;;;;-1:-1:-1;7995:379:0;;;;;:::i;:::-;;:::i;9374:117::-;;;;;;;;;;-1:-1:-1;9374:117:0;;;;;:::i;:::-;;:::i;7044:23::-;;;;;;;;;;-1:-1:-1;7044:23:0;;;;-1:-1:-1;;;;;7044:23:0;;;13924:171;;;;;;;;;;-1:-1:-1;13924:171:0;;;;;:::i;:::-;;:::i;6736:45::-;;;;;;;;;;-1:-1:-1;6736:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;8868:119;;;;;;;;;;-1:-1:-1;8868:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8961:18:0;8934:7;8961:18;;;:9;:18;;;;;;;8868:119;5422:103;;;;;;;;;;;;;:::i;8775:85::-;;;;;;;;;;-1:-1:-1;8818:7:0;4847:6;-1:-1:-1;;;;;4847:6:0;8775:85;;12669:101;;;;;;;;;;-1:-1:-1;12669:101:0;;;;;:::i;:::-;;:::i;9499:156::-;;;;;;;;;;-1:-1:-1;9499:156:0;;;;;:::i;:::-;;:::i;6919:73::-;;;;;;;;;;;;6950:42;6919:73;;6610:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6610:40:0;;;;;8995:147;;;;;;;;;;-1:-1:-1;8995:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;9106:19:0;;;9079:7;9106:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8995:147;13797:119;;;;;;;;;;;;;:::i;12563:98::-;;;;;;;;;;-1:-1:-1;12563:98:0;;;;;:::i;:::-;;:::i;7074:22::-;;;;;;;;;;-1:-1:-1;7074:22:0;;;;-1:-1:-1;;;;;7074:22:0;;;5680:201;;;;;;;;;;-1:-1:-1;5680:201:0;;;;;:::i;:::-;;:::i;7255:21::-;;;;;;;;;;-1:-1:-1;7255:21:0;;;;-1:-1:-1;;;;;7255:21:0;;;7173:75;;;;;;;;;;-1:-1:-1;7173:75:0;;;;-1:-1:-1;;;;;7173:75:0;;;12993:104;;;;;;;;;;-1:-1:-1;12993:104:0;;;;;:::i;:::-;-1:-1:-1;;;;;13075:14:0;13051:4;13075:14;;;:5;:14;;;;;;;;;12993:104;13605:87;;;;;;;;;;-1:-1:-1;13677:7:0;;-1:-1:-1;;;;;13677:7:0;13605:87;;12778:90;4660:13;:11;:13::i;:::-;12844:6:::1;:16:::0;;-1:-1:-1;;;;;;12844:16:0::1;-1:-1:-1::0;;;;;12844:16:0;;;::::1;::::0;;;::::1;::::0;;12778:90::o;9150:216::-;9254:10;9225:4;9242:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9242:32:0;;;;;;;;;;:41;;;9299:37;9225:4;;9242:32;;9299:37;;;;9277:6;603:25:1;;591:2;576:18;;457:177;9299:37:0;;;;;;;;-1:-1:-1;9354:4:0;9150:216;;;;:::o;13105:366::-;13202:7;;-1:-1:-1;;;;;13224:20:0;;13163:7;13224:20;;;:11;:20;;;;;;13163:7;;13202;13224:24;13220:218;;-1:-1:-1;;;;;13310:20:0;;;;;;:11;:20;;;;;;13334:5;;13292:38;;:15;:38;:::i;:::-;13291:48;;;;:::i;:::-;13284:56;;:3;:56;:::i;:::-;13276:65;;:4;:65;:::i;:::-;13265:76;;13371:4;13360:8;:15;13356:71;;;-1:-1:-1;13407:4:0;13356:71;13455:8;13105:366;-1:-1:-1;;13105:366:0:o;9663:429::-;9819:12;;-1:-1:-1;;;;;9784:19:0;;9763:4;9784:19;;;:11;:19;;;;;;;;9804:10;9784:31;;;;;;;;9763:4;;9784:47;9780:245;;-1:-1:-1;;;;;9856:19:0;;;;;;:11;:19;;;;;;;;9876:10;9856:31;;;;;;;;:41;-1:-1:-1;9856:41:0;9848:76;;;;-1:-1:-1;;;9848:76:0;;4138:2:1;9848:76:0;;;4120:21:1;4177:2;4157:18;;;4150:30;-1:-1:-1;;;4196:18:1;;;4189:52;4258:18;;9848:76:0;;;;;;;;;-1:-1:-1;;;;;9973:19:0;;;;;;:11;:19;;;;;;;;9993:10;9973:31;;;;;;;;:40;;10007:6;;9973:40;:::i;:::-;-1:-1:-1;;;;;9939:19:0;;;;;;:11;:19;;;;;;;;9959:10;9939:31;;;;;;;:74;9780:245;10044:40;10058:6;10066:9;10077:6;10044:13;:40::i;:::-;10037:47;;9663:429;;;;;;:::o;12876:109::-;4660:13;:11;:13::i;:::-;-1:-1:-1;;;;;12954:14:0;;;::::1;;::::0;;;:5:::1;:14;::::0;;;;:23;;-1:-1:-1;;12954:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12876:109::o;7995:379::-;8081:6;;-1:-1:-1;;;;;8081:6:0;8067:10;:20;8059:29;;;;;;8130:12;;8104:22;8119:7;8130:12;8104:22;:::i;:::-;8103:39;8099:268;;;8189:7;8174:12;;:22;;;;:::i;:::-;8159:12;:37;-1:-1:-1;;;;;8228:14:0;;;;;;:9;:14;;;;;;:24;;8245:7;;8228:24;:::i;:::-;-1:-1:-1;;;;;8211:14:0;;;;;;:9;:14;;;;;;;;:41;;;;8267:11;:16;;;;;8286:15;8267:34;;8321;;603:25:1;;;8211:14:0;;;;8321:34;;576:18:1;8321:34:0;;;;;;;8099:268;7995:379;;:::o;9374:117::-;9429:4;9453:30;9461:7;9470:12;;9453:7;:30::i;13924:171::-;4660:13;:11;:13::i;:::-;14056:30:::1;::::0;-1:-1:-1;;;14056:30:0;;14080:4:::1;14056:30;::::0;::::1;2029:51:1::0;14012:5:0;;-1:-1:-1;;;;;14029:14:0;::::1;::::0;::::1;::::0;14044:10:::1;::::0;14029:14;;14056:15:::1;::::0;2002:18:1;;14056:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14029:58;::::0;-1:-1:-1;;;;;;14029:58:0::1;::::0;;;;;;-1:-1:-1;;;;;4801:32:1;;;14029:58:0::1;::::0;::::1;4783:51:1::0;4850:18;;;4843:34;4756:18;;14029:58:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13979:116;13924:171:::0;:::o;5422:103::-;4660:13;:11;:13::i;:::-;5487:30:::1;5514:1;5487:18;:30::i;:::-;5422:103::o:0;12669:101::-;4660:13;:11;:13::i;:::-;12736:7:::1;:26:::0;;-1:-1:-1;;;;;;12736:26:0::1;-1:-1:-1::0;;;;;12736:26:0;;;::::1;::::0;;;::::1;::::0;;12669:101::o;9499:156::-;9579:4;9603:44;9617:10;9629:9;9640:6;9603:13;:44::i;13797:119::-;4660:13;:11;:13::i;:::-;13850:58:::1;::::0;13858:10:::1;::::0;13882:21:::1;::::0;13850:58:::1;::::0;;;13882:21;13858:10;13850:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14029;13979:116;13924:171:::0;:::o;12563:98::-;4660:13;:11;:13::i;:::-;12633:8:::1;:20:::0;;-1:-1:-1;;;;;;12633:20:0::1;-1:-1:-1::0;;;;;12633:20:0;;;::::1;::::0;;;::::1;::::0;;12563:98::o;5680:201::-;4660:13;:11;:13::i;:::-;-1:-1:-1;;;;;5769:22:0;::::1;5761:73;;;::::0;-1:-1:-1;;;5761:73:0;;5550:2:1;5761:73:0::1;::::0;::::1;5532:21:1::0;5589:2;5569:18;;;5562:30;5628:34;5608:18;;;5601:62;-1:-1:-1;;;5679:18:1;;;5672:36;5725:19;;5761:73:0::1;5348:402:1::0;5761:73:0::1;5845:28;5864:8;5845:18;:28::i;:::-;5680:201:::0;:::o;4939:132::-;4820:7;4847:6;-1:-1:-1;;;;;4847:6:0;3319:10;5003:23;4995:68;;;;-1:-1:-1;;;4995:68:0;;5957:2:1;4995:68:0;;;5939:21:1;;;5976:18;;;5969:30;6035:34;6015:18;;;6008:62;6087:18;;4995:68:0;5755:356:1;10100:907:0;10212:9;;10191:4;;-1:-1:-1;;;10212:9:0;;;;10208:63;;;10230:41;10245:6;10253:9;10264:6;10230:14;:41::i;:::-;10223:48;;;;10208:63;10310:7;;10284:10;;-1:-1:-1;;;;;10297:20:0;;;10310:7;;10297:20;;:52;;-1:-1:-1;10342:6:0;;-1:-1:-1;;;;;10321:28:0;;;10342:6;;10321:28;10297:52;10284:65;;10366:5;10362:108;;;10406:7;;-1:-1:-1;;;;;10406:7:0;10392:10;:21;;;;:35;;-1:-1:-1;10418:9:0;;-1:-1:-1;;;10418:9:0;;;;10417:10;10392:35;:50;;;;;10441:1;10431:7;;:11;10392:50;10388:70;;;10444:14;:12;:14::i;:::-;-1:-1:-1;;;;;10490:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;10490:27:0;10482:60;;;;-1:-1:-1;;;10482:60:0;;6318:2:1;10482:60:0;;;6300:21:1;6357:2;6337:18;;;6330:30;-1:-1:-1;;;6376:18:1;;;6369:50;6436:18;;10482:60:0;6116:344:1;10482:60:0;-1:-1:-1;;;;;10573:17:0;;;;;;:9;:17;;;;;;:26;;10593:6;;10573:26;:::i;:::-;-1:-1:-1;;;;;10553:17:0;;;;;;;:9;:17;;;;;:46;;;;10650:7;;;;;10640:17;;:46;;-1:-1:-1;10679:6:0;;-1:-1:-1;;;;;10661:25:0;;;10679:6;;10661:25;10640:46;10639:106;;;-1:-1:-1;10705:7:0;;-1:-1:-1;;;;;10692:20:0;;;10705:7;;10692:20;;:52;;-1:-1:-1;10737:6:0;;-1:-1:-1;;;;;10716:28:0;;;10737:6;;10716:28;10692:52;10638:154;;10787:5;10638:154;;;-1:-1:-1;;;;;10750:13:0;;;;;;:5;:13;;;;;;;;10749:14;:35;;;;-1:-1:-1;;;;;;10768:16:0;;;;;;:5;:16;;;;;;;;10767:17;10749:35;10637:206;;10837:6;10637:206;;;10796:38;10808:6;10816:9;10827:6;10796:11;:38::i;:::-;-1:-1:-1;;;;;10879:20:0;;;;;;:9;:20;;;;;;10612:231;;-1:-1:-1;10879:37:0;;10612:231;;10879:37;:::i;:::-;-1:-1:-1;;;;;10856:20:0;;;;;;;:9;:20;;;;;;;:60;;;;10934:43;;;;;;;;;;10962:14;603:25:1;;591:2;576:18;;457:177;10934:43:0;;;;;;;;-1:-1:-1;10995:4:0;;10100:907;-1:-1:-1;;;;;10100:907:0:o;6041:191::-;6115:16;6134:6;;-1:-1:-1;;;;;6151:17:0;;;-1:-1:-1;;;;;;6151:17:0;;;;;;6184:40;;6134:6;;;;;;;6184:40;;6115:16;6184:40;6104:128;6041:191;:::o;11015:321::-;-1:-1:-1;;;;;11132:17:0;;11107:4;11132:17;;;:9;:17;;;;;;:27;-1:-1:-1;11132:27:0;11124:60;;;;-1:-1:-1;;;11124:60:0;;6318:2:1;11124:60:0;;;6300:21:1;6357:2;6337:18;;;6330:30;-1:-1:-1;;;6376:18:1;;;6369:50;6436:18;;11124:60:0;6116:344:1;11124:60:0;-1:-1:-1;;;;;11215:17:0;;;;;;:9;:17;;;;;;:26;;11235:6;;11215:26;:::i;:::-;-1:-1:-1;;;;;11195:17:0;;;;;;;:9;:17;;;;;;:46;;;;11275:20;;;;;;;:29;;11298:6;;11275:29;:::i;:::-;-1:-1:-1;;;;;11252:20:0;;;;;;:9;:20;;;;;:52;-1:-1:-1;11324:4:0;11015:321;;;;;:::o;11965:590::-;7367:9;:16;;-1:-1:-1;;;;7367:16:0;-1:-1:-1;;;7367:16:0;;;12041::::1;::::0;;12055:1:::1;12041:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12041:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12041:16:0::1;12017:40;;12086:4;12068;12073:1;12068:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;12068:23:0::1;;;-1:-1:-1::0;;;;;12068:23:0::1;;;::::0;::::1;6950:42;12102:4;12107:1;12102:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12102:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;12178:6:::1;::::0;12146:21:::1;::::0;12178:6:::1;:57;12236:24;12254:4;-1:-1:-1::0;;;;;8961:18:0;8934:7;8961:18;;;:9;:18;;;;;;;8868:119;12236:24:::1;12262:1;12265:4;12279;12286:15;12178:124;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12313:12;12352:8;12328:21;:32;;;;:::i;:::-;12313:47:::0;-1:-1:-1;12375:8:0;;12371:155:::1;;12408:8;::::0;-1:-1:-1;;;;;12408:8:0::1;12444:5;12430:11;:4:::0;12437::::1;12430:11;:::i;:::-;:19;;;;:::i;:::-;12400:54;::::0;::::1;::::0;;;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;12469:7:0::1;::::0;-1:-1:-1;;;;;12469:7:0::1;::::0;-1:-1:-1;12469:15:0::1;12506:5;12492:11;:4:::0;12499::::1;12492:11;:::i;:::-;:19;;;;:::i;:::-;12469:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;12371:155;-1:-1:-1::0;;12546:1:0::1;12536:7;:11:::0;-1:-1:-1;7406:9:0;:17;;-1:-1:-1;;;;7406:17:0;;;11965:590::o;11344:613::-;11477:7;;11432;;;;-1:-1:-1;;;;;11465:19:0;;;11477:7;;11465:19;;:50;;-1:-1:-1;11508:6:0;;-1:-1:-1;;;;;11488:27:0;;;11508:6;;11488:27;11465:50;11545:7;;11452:63;;-1:-1:-1;11563:67:0;;;;11600:18;11611:6;11600:10;:18::i;:::-;11589:29;;11563:67;11640:12;11655:5;:20;;11674:1;11655:20;;;11663:8;11655:20;11640:35;-1:-1:-1;11686:12:0;11717:5;11701:13;11640:35;11701:6;:13;:::i;:::-;:21;;;;:::i;:::-;11686:36;-1:-1:-1;11737:8:0;;11733:186;;11773:4;11762:7;;:15;;;;;;;:::i;:::-;;;;-1:-1:-1;;11837:4:0;11819:24;;;;:9;:24;;;;;;:31;;11846:4;;11819:31;:::i;:::-;11810:4;11792:24;;;;:9;:24;;;;;;;:58;;;;11870:37;;-1:-1:-1;;;;;11870:37:0;;;;;;;11902:4;603:25:1;;591:2;576:18;;457:177;11870:37:0;;;;;;;;11733:186;11936:13;11945:4;11936:6;:13;:::i;:::-;11929:20;11344:613;-1:-1:-1;;;;;;;;11344:613:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:260::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;;408:38;442:2;431:9;427:18;408:38;:::i;:::-;398:48;;192:260;;;;;:::o;639:186::-;698:6;751:2;739:9;730:7;726:23;722:32;719:52;;;767:1;764;757:12;719:52;790:29;809:9;790:29;:::i;830:597::-;942:4;971:2;1000;989:9;982:21;1032:6;1026:13;1075:6;1070:2;1059:9;1055:18;1048:34;1100:1;1110:140;1124:6;1121:1;1118:13;1110:140;;;1219:14;;;1215:23;;1209:30;1185:17;;;1204:2;1181:26;1174:66;1139:10;;1110:140;;;1268:6;1265:1;1262:13;1259:91;;;1338:1;1333:2;1324:6;1313:9;1309:22;1305:31;1298:42;1259:91;-1:-1:-1;1411:2:1;1390:15;-1:-1:-1;;1386:29:1;1371:45;;;;1418:2;1367:54;;830:597;-1:-1:-1;;;830:597:1:o;1432:254::-;1500:6;1508;1561:2;1549:9;1540:7;1536:23;1532:32;1529:52;;;1577:1;1574;1567:12;1529:52;1600:29;1619:9;1600:29;:::i;:::-;1590:39;1676:2;1661:18;;;;1648:32;;-1:-1:-1;;;1432:254:1:o;2091:328::-;2168:6;2176;2184;2237:2;2225:9;2216:7;2212:23;2208:32;2205:52;;;2253:1;2250;2243:12;2205:52;2276:29;2295:9;2276:29;:::i;:::-;2266:39;;2324:38;2358:2;2347:9;2343:18;2324:38;:::i;:::-;2314:48;;2409:2;2398:9;2394:18;2381:32;2371:42;;2091:328;;;;;:::o;2424:118::-;2510:5;2503:13;2496:21;2489:5;2486:32;2476:60;;2532:1;2529;2522:12;2547:315;2612:6;2620;2673:2;2661:9;2652:7;2648:23;2644:32;2641:52;;;2689:1;2686;2679:12;2641:52;2712:29;2731:9;2712:29;:::i;:::-;2702:39;;2791:2;2780:9;2776:18;2763:32;2804:28;2826:5;2804:28;:::i;:::-;2851:5;2841:15;;;2547:315;;;;;:::o;3279:127::-;3340:10;3335:3;3331:20;3328:1;3321:31;3371:4;3368:1;3361:15;3395:4;3392:1;3385:15;3411:125;3451:4;3479:1;3476;3473:8;3470:34;;;3484:18;;:::i;:::-;-1:-1:-1;3521:9:1;;3411:125::o;3541:217::-;3581:1;3607;3597:132;;3651:10;3646:3;3642:20;3639:1;3632:31;3686:4;3683:1;3676:15;3714:4;3711:1;3704:15;3597:132;-1:-1:-1;3743:9:1;;3541:217::o;3763:168::-;3803:7;3869:1;3865;3861:6;3857:14;3854:1;3851:21;3846:1;3839:9;3832:17;3828:45;3825:71;;;3876:18;;:::i;:::-;-1:-1:-1;3916:9:1;;3763:168::o;4287:128::-;4327:3;4358:1;4354:6;4351:1;4348:13;4345:39;;;4364:18;;:::i;:::-;-1:-1:-1;4400:9:1;;4287:128::o;4420:184::-;4490:6;4543:2;4531:9;4522:7;4518:23;4514:32;4511:52;;;4559:1;4556;4549:12;4511:52;-1:-1:-1;4582:16:1;;4420:184;-1:-1:-1;4420:184:1:o;4888:245::-;4955:6;5008:2;4996:9;4987:7;4983:23;4979:32;4976:52;;;5024:1;5021;5014:12;4976:52;5056:9;5050:16;5075:28;5097:5;5075:28;:::i;6597:127::-;6658:10;6653:3;6649:20;6646:1;6639:31;6689:4;6686:1;6679:15;6713:4;6710:1;6703:15;6729:980;6991:4;7039:3;7028:9;7024:19;7070:6;7059:9;7052:25;7096:2;7134:6;7129:2;7118:9;7114:18;7107:34;7177:3;7172:2;7161:9;7157:18;7150:31;7201:6;7236;7230:13;7267:6;7259;7252:22;7305:3;7294:9;7290:19;7283:26;;7344:2;7336:6;7332:15;7318:29;;7365:1;7375:195;7389:6;7386:1;7383:13;7375:195;;;7454:13;;-1:-1:-1;;;;;7450:39:1;7438:52;;7545:15;;;;7510:12;;;;7486:1;7404:9;7375:195;;;-1:-1:-1;;;;;;;7626:32:1;;;;7621:2;7606:18;;7599:60;-1:-1:-1;;;7690:3:1;7675:19;7668:35;7587:3;6729:980;-1:-1:-1;;;6729:980:1:o

Swarm Source

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