ETH Price: $3,109.12 (+3.22%)
Gas: 10 Gwei

Token

Talken (TALK)
 

Overview

Max Total Supply

500,000,000 TALK

Holders

986 (0.00%)

Total Transfers

-

Market

Price

$0.12 @ 0.000040 ETH (+2.25%)

Onchain Market Cap

$62,018,500.00

Circulating Supply Market Cap

$25,334,004.00

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Talken is a multi-chain interoperable wallet which eliminates users' pain and the complexity of navigating different blockchains and wallets to access different DeFi and NFT services.

Market

Volume (24H):$159,332.00
Market Capitalization:$25,334,004.00
Circulating Supply:203,144,787.00 TALK
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Talken

Compiler Version
v0.7.1+commit.f4a555be

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-04-27
*/

// File: contracts\library\SafeMath.sol

pragma solidity 0.7.1;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     *
     * _Available since v2.4.0._
     */
    function sub(uint256 a, uint256 b, string memory errorMessage)
        internal
        pure
        returns (uint256)
    {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function div(uint256 a, uint256 b, string memory errorMessage)
        internal
        pure
        returns (uint256)
    {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function mod(uint256 a, uint256 b, string memory errorMessage)
        internal
        pure
        returns (uint256)
    {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// File: contracts\erc20\ERC20.sol

pragma solidity 0.7.1;


abstract contract ERC20 {
    using SafeMath for uint256;

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

    event Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 amount
    );

    /*
   * Internal Functions for ERC20 standard logics
   */

    function _transfer(address from, address to, uint256 amount)
        internal
        returns (bool success)
    {
        _balances[from] = _balances[from].sub(
            amount,
            "ERC20/transfer : cannot transfer more than token owner balance"
        );
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
        success = true;
    }

    function _approve(address owner, address spender, uint256 amount)
        internal
        returns (bool success)
    {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
        success = true;
    }

    function _mint(address recipient, uint256 amount)
        internal
        returns (bool success)
    {
        _totalSupply = _totalSupply.add(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(address(0), recipient, amount);
        success = true;
    }

    function _burn(address burned, uint256 amount)
        internal
        returns (bool success)
    {
        _balances[burned] = _balances[burned].sub(
            amount,
            "ERC20Burnable/burn : Cannot burn more than user's balance"
        );
        _totalSupply = _totalSupply.sub(
            amount,
            "ERC20Burnable/burn : Cannot burn more than totalSupply"
        );
        emit Transfer(burned, address(0), amount);
        success = true;
    }

    /*
   * public view functions to view common data
   */

    function totalSupply() external view returns (uint256 total) {
        total = _totalSupply;
    }
    function balanceOf(address owner) external view returns (uint256 balance) {
        balance = _balances[owner];
    }

    function allowance(address owner, address spender)
        external
        view
        returns (uint256 remaining)
    {
        remaining = _allowances[owner][spender];
    }

    /*
   * External view Function Interface to implement on final contract
   */
    function name() virtual external view returns (string memory tokenName);
    function symbol() virtual external view returns (string memory tokenSymbol);
    function decimals() virtual external view returns (uint8 tokenDecimals);

    /*
   * External Function Interface to implement on final contract
   */
    function transfer(address to, uint256 amount)
        virtual
        external
        returns (bool success);
    function transferFrom(address from, address to, uint256 amount)
        virtual
        external
        returns (bool success);
    function approve(address spender, uint256 amount)
        virtual
        external
        returns (bool success);
}

// File: contracts\library\Ownable.sol

pragma solidity 0.7.1;

abstract contract Ownable {
    address internal _owner;

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

    constructor() {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

    modifier onlyOwner() {
        require(
            msg.sender == _owner,
            "Ownable : Function called by unauthorized user."
        );
        _;
    }

    function owner() external view returns (address ownerAddress) {
        ownerAddress = _owner;
    }

    function transferOwnership(address newOwner)
        public
        onlyOwner
        returns (bool success)
    {
        require(newOwner != address(0), "Ownable/transferOwnership : cannot transfer ownership to zero address");
        success = _transferOwnership(newOwner);
    }

    function renounceOwnership() external onlyOwner returns (bool success) {
        success = _transferOwnership(address(0));
    }

    function _transferOwnership(address newOwner) internal returns (bool success) {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
        success = true;
    }
}

// File: contracts\erc20\ERC20Lockable.sol

pragma solidity 0.7.1;



abstract contract ERC20Lockable is ERC20, Ownable {
    using SafeMath for uint256;

    struct LockInfo {
        uint256 amount;
        uint256 due;
    }

    mapping(address => LockInfo[]) internal _locks;
    mapping(address => uint256) internal _totalLocked;

    event Lock(address indexed from, uint256 amount, uint256 due);
    event Unlock(address indexed from, uint256 amount);

    modifier checkLock(address from, uint256 amount) {
        require(_balances[from] >= _totalLocked[from].add(amount), "ERC20Lockable/Cannot send more than unlocked amount");
        _;
    }

    function _lock(address from, uint256 amount, uint256 due)
    internal
    returns (bool success)
    {
        require(due > block.timestamp, "ERC20Lockable/lock : Cannot set due to past");
        require(
            _balances[from] >= amount.add(_totalLocked[from]),
            "ERC20Lockable/lock : locked total should be smaller than balance"
        );
        _totalLocked[from] = _totalLocked[from].add(amount);
        _locks[from].push(LockInfo(amount, due));
        emit Lock(from, amount, due);
        success = true;
    }

    function _unlock(address from, uint256 index) internal returns (bool success) {
        LockInfo storage lock = _locks[from][index];
        _totalLocked[from] = _totalLocked[from].sub(lock.amount);
        emit Unlock(from, lock.amount);
        _locks[from][index] = _locks[from][_locks[from].length - 1];
        _locks[from].pop();
        success = true;
    }

    function unlock(address from, uint256 idx) external returns(bool success){
        require(_locks[from][idx].due < block.timestamp,"ERC20Lockable/unlock: cannot unlock before due");
        _unlock(from, idx);
    }

    function unlockAll(address from) external returns (bool success) {
        for(uint256 i = 0; i < _locks[from].length; i++){
            if(_locks[from][i].due < block.timestamp){
                if(_unlock(from, i)){
                    i--;
                }
            }
        }
        success = true;
    }

    function releaseLock(address from)
    external
    onlyOwner
    returns (bool success)
    {
        for(uint256 i = 0; i < _locks[from].length; i++){
            if(_unlock(from, i)){
                i--;
            }
        }
        success = true;
    }

    function transferWithLockUp(address recipient, uint256 amount, uint256 due)
    external
    onlyOwner
    returns (bool success)
    {
        require(
            recipient != address(0),
            "ERC20Lockable/transferWithLockUp : Cannot send to zero address"
        );
        _transfer(msg.sender, recipient, amount);
        _lock(recipient, amount, due);
        success = true;
    }

    function lockInfo(address locked, uint256 index)
    external
    view
    returns (uint256 amount, uint256 due)
    {
        LockInfo memory lock = _locks[locked][index];
        amount = lock.amount;
        due = lock.due;
    }

    function totalLocked(address locked) external view returns(uint256 amount, uint256 length){
        amount = _totalLocked[locked];
        length = _locks[locked].length;
    }
}

// File: contracts\library\Pausable.sol

pragma solidity 0.7.1;


contract Pausable is Ownable {
    bool internal _paused;

    event Paused();
    event Unpaused();

    modifier whenPaused() {
        require(_paused, "Paused : This function can only be called when paused");
        _;
    }

    modifier whenNotPaused() {
        require(!_paused, "Paused : This function can only be called when not paused");
        _;
    }

    function pause() external onlyOwner whenNotPaused returns (bool success) {
        _paused = true;
        emit Paused();
        success = true;
    }

    function unPause() external onlyOwner whenPaused returns (bool success) {
        _paused = false;
        emit Unpaused();
        success = true;
    }

    function paused() external view returns (bool) {
        return _paused;
    }
}

// File: contracts\erc20\ERC20Burnable.sol

pragma solidity 0.7.1;



abstract contract ERC20Burnable is ERC20, Pausable {
    using SafeMath for uint256;

    event Burn(address indexed burned, uint256 amount);

    function burn(uint256 amount)
        external
        whenNotPaused
        returns (bool success)
    {
        success = _burn(msg.sender, amount);
        emit Burn(msg.sender, amount);
        success = true;
    }

    function burnFrom(address burned, uint256 amount)
        external
        whenNotPaused
        returns (bool success)
    {
        _burn(burned, amount);
        emit Burn(burned, amount);
        success = _approve(
            burned,
            msg.sender,
            _allowances[burned][msg.sender].sub(
                amount,
                "ERC20Burnable/burnFrom : Cannot burn more than allowance"
            )
        );
    }
}

// File: contracts\erc20\ERC20Mintable.sol

pragma solidity 0.7.1;



abstract contract ERC20Mintable is ERC20, Pausable {
    event Mint(address indexed receiver, uint256 amount);
    event MintFinished();

    bool internal _mintingFinished;
    ///@notice mint token
    ///@dev only owner can call this function
    function mint(address receiver, uint256 amount)
        virtual
        external
        returns (bool success);

    ///@notice finish minting, cannot mint after calling this function
    ///@dev only owner can call this function
    function finishMint()
        external
        onlyOwner
        returns (bool success)
    {
        require(
            !_mintingFinished,
            "ERC20Mintable/finishMinting : Already finished"
        );
        _mintingFinished = true;
        emit MintFinished();
        return true;
    }

    function isFinished() external view returns(bool finished) {
        finished = _mintingFinished;
    }
}

// File: contracts\library\Freezable.sol

pragma solidity 0.7.1;


contract Freezable is Ownable {
    mapping(address => bool) private _frozen;

    event Freeze(address indexed target);
    event Unfreeze(address indexed target);

    modifier whenNotFrozen(address target) {
        require(!_frozen[target], "Freezable : target is frozen");
        _;
    }

    function freeze(address target) external onlyOwner returns (bool success) {
        _frozen[target] = true;
        emit Freeze(target);
        success = true;
    }

    function unFreeze(address target)
        external
        onlyOwner
        returns (bool success)
    {
        _frozen[target] = false;
        emit Unfreeze(target);
        success = true;
    }

    function isFrozen(address target)
        external
        view
        returns (bool frozen)
    {
        return _frozen[target];
    }
}

// File: contracts\Talken.sol

pragma solidity 0.7.1;






contract Talken is
    ERC20Lockable,
    ERC20Burnable,
    ERC20Mintable,
    Freezable
{
    using SafeMath for uint256;
    string constant private _name = "Talken";
    string constant private _symbol = "TALK";
    uint8 constant private _decimals = 18;
    uint256 constant private _initial_supply = 0;

    constructor() Ownable() {
    }

    function mint(address receiver, uint256 amount)
        override
        external
        onlyOwner
        whenNotPaused
        returns (bool success)
    {
        require(
            receiver != address(0),
            "ERC20Mintable/mint : Should not mint to zero address"
        );
        require(
            !_mintingFinished,
            "ERC20Mintable/mint : Cannot mint after finished"
        );
        require(
            _totalSupply.add(amount) <= (500_000_000 * (10 ** uint256(18))),
            "ERC20Mintable/mint  : Cannot mint more than cap" 
        );
        _mint(receiver, amount);
        emit Mint(receiver, amount);
        success = true;
    }

    function transfer(address to, uint256 amount)
        override
        external
        whenNotFrozen(msg.sender)
        whenNotPaused
        checkLock(msg.sender, amount)
        returns (bool success) {
           require(
            to != address(0),
            "TALK/transfer : Should not send to zero address"
        );
        _transfer(msg.sender, to, amount);
        success = true;
    }

    function transferFrom(address from, address to, uint256 amount)
        override
        external
        whenNotFrozen(from)
        whenNotPaused
        checkLock(from, amount)
        returns (bool success)
    {
        require(
            to != address(0),
            "TALK/transferFrom : Should not send to zero address"
        );
        _transfer(from, to, amount);
        _approve(
            from,
            msg.sender,
            _allowances[from][msg.sender].sub(
                amount,
                "TALK/transferFrom : Cannot send more than allowance"
            )
        );
        success = true;
    }

    function approve(address spender, uint256 amount)
        override
        external
        returns (bool success)
    {
        require(
            spender != address(0),
            "SAM/approve : Should not approve zero address"
        );
        _approve(msg.sender, spender, amount);
        success = true;
    }

    function name() override external pure returns (string memory tokenName) {
        tokenName = _name;
    }

    function symbol() override external pure returns (string memory tokenSymbol) {
        tokenSymbol = _symbol;
    }

    function decimals() override external pure returns (uint8 tokenDecimals) {
        tokenDecimals = _decimals;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burned","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"due","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"currentOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"}],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","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":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"burned","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"tokenDecimals","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"finishMint","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"freeze","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isFinished","outputs":[{"internalType":"bool","name":"finished","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"isFrozen","outputs":[{"internalType":"bool","name":"frozen","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"locked","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"lockInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"due","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"tokenName","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"ownerAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"releaseLock","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"tokenSymbol","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"locked","type":"address"}],"name":"totalLocked","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"due","type":"uint256"}],"name":"transferWithLockUp","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"unFreeze","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unPause","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"unlock","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"unlockAll","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3612108806100606000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806383cfab4211610104578063c4f3a853116100a2578063e4cc18be11610071578063e4cc18be146105a1578063e5839836146105a9578063f2fde38b146105cf578063f7b188a5146105f5576101cf565b8063c4f3a85314610501578063d1c4691614610527578063d8fb93371461054d578063dd62ed3e14610573576101cf565b80638da5cb5b116100de5780638da5cb5b1461046457806395d89b4114610488578063a9059cbb14610490578063b2520a7c146104bc576101cf565b806383cfab42146104105780638456cb59146104365780638d1fdf2f1461043e576101cf565b806342966c6811610171578063715018a61161014b578063715018a6146103a857806379cc6790146103b05780637b352962146103dc5780637eee288d146103e4576101cf565b806342966c681461035d5780635c975abb1461037a57806370a0823114610382576101cf565b806323b872dd116101ad57806323b872dd146102ab578063313ce567146102e157806338b82092146102ff57806340c10f1914610331576101cf565b806306fdde03146101d4578063095ea7b31461025157806318160ddd14610291575b600080fd5b6101dc6105fd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b03813516906020013561061d565b604080519115158252519081900360200190f35b610299610679565b60408051918252519081900360200190f35b61027d600480360360608110156102c157600080fd5b506001600160a01b0381358116916020810135909116906040013561067f565b6102e961085f565b6040805160ff9092168252519081900360200190f35b61027d6004803603606081101561031557600080fd5b506001600160a01b038135169060208101359060400135610864565b61027d6004803603604081101561034757600080fd5b506001600160a01b038135169060200135610917565b61027d6004803603602081101561037357600080fd5b5035610adc565b61027d610b6b565b6102996004803603602081101561039857600080fd5b50356001600160a01b0316610b74565b61027d610b8f565b61027d600480360360408110156103c657600080fd5b506001600160a01b038135169060200135610bea565b61027d610ccd565b61027d600480360360408110156103fa57600080fd5b506001600160a01b038135169060200135610cdb565b61027d6004803603602081101561042657600080fd5b50356001600160a01b0316610d61565b61027d610dfb565b61027d6004803603602081101561045457600080fd5b50356001600160a01b0316610ec5565b61046c610f62565b604080516001600160a01b039092168252519081900360200190f35b6101dc610f71565b61027d600480360360408110156104a657600080fd5b506001600160a01b038135169060200135610f8f565b6104e8600480360360408110156104d257600080fd5b506001600160a01b038135169060200135611108565b6040805192835260208301919091528051918290030190f35b61027d6004803603602081101561051757600080fd5b50356001600160a01b0316611170565b61027d6004803603602081101561053d57600080fd5b50356001600160a01b03166111f8565b6104e86004803603602081101561056357600080fd5b50356001600160a01b0316611283565b6102996004803603604081101561058957600080fd5b506001600160a01b03813581169160200135166112ab565b61027d6112d6565b61027d600480360360208110156105bf57600080fd5b50356001600160a01b03166113a7565b61027d600480360360208110156105e557600080fd5b50356001600160a01b03166113c5565b61027d611465565b6040805180820190915260068152652a30b635b2b760d11b602082015290565b60006001600160a01b0383166106645760405162461bcd60e51b815260040180806020018281038252602d815260200180611ffd602d913960400191505060405180910390fd5b61066f33848461152b565b5060019392505050565b60005490565b6001600160a01b038316600090815260076020526040812054849060ff16156106ef576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff16156107315760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6001600160a01b038516600090815260056020526040902054859084906107589082611596565b6001600160a01b03831660009081526001602052604090205410156107ae5760405162461bcd60e51b8152600401808060200182810382526033815260200180611fca6033913960400191505060405180910390fd5b6001600160a01b0386166107f35760405162461bcd60e51b8152600401808060200182810382526033815260200180611c806033913960400191505060405180910390fd5b6107fe8787876115f0565b50610851873361084c88604051806060016040528060338152602001611f97603391396001600160a01b038d16600090815260026020908152604080832033845290915290205491906116bf565b61152b565b506001979650505050505050565b601290565b6003546000906001600160a01b031633146108b05760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b0384166108f55760405162461bcd60e51b815260040180806020018281038252603e815260200180611cb3603e913960400191505060405180910390fd5b6109003385856115f0565b5061090c848484611756565b506001949350505050565b6003546000906001600160a01b031633146109635760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff16156109a55760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6001600160a01b0383166109ea5760405162461bcd60e51b8152600401808060200182810382526034815260200180611df06034913960400191505060405180910390fd5b600654610100900460ff1615610a315760405162461bcd60e51b815260040180806020018281038252602f815260200180611e9b602f913960400191505060405180910390fd5b6000546b019d971e4fe8401e7400000090610a4c9084611596565b1115610a895760405162461bcd60e51b815260040180806020018281038252602f81526020018061202a602f913960400191505060405180910390fd5b610a9383836118cf565b506040805183815290516001600160a01b038516917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a250600192915050565b60065460009060ff1615610b215760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b610b2b338361195f565b60408051848152905191925033917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59181900360200190a2506001919050565b60065460ff1690565b6001600160a01b031660009081526001602052604090205490565b6003546000906001600160a01b03163314610bdb5760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b610be56000611a3b565b905090565b60065460009060ff1615610c2f5760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b610c39838361195f565b506040805183815290516001600160a01b038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2610cc6833361084c85604051806060016040528060388152602001611db8603891396001600160a01b038916600090815260026020908152604080832033845290915290205491906116bf565b9392505050565b600654610100900460ff1690565b6001600160a01b0382166000908152600460205260408120805442919084908110610d0257fe5b90600052602060002090600202016001015410610d505760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8a602e913960400191505060405180910390fd5b610d5a8383611a9e565b5092915050565b6003546000906001600160a01b03163314610dad5760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6003546000906001600160a01b03163314610e475760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff1615610e895760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6006805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a150600190565b6003546000906001600160a01b03163314610f115760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b6003546001600160a01b031690565b60408051808201909152600481526354414c4b60e01b602082015290565b3360008181526007602052604081205490919060ff1615610ff7576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff16156110395760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b3360008181526005602052604090205484906110559082611596565b6001600160a01b03831660009081526001602052604090205410156110ab5760405162461bcd60e51b8152600401808060200182810382526033815260200180611fca6033913960400191505060405180910390fd5b6001600160a01b0386166110f05760405162461bcd60e51b815260040180806020018281038252602f815260200180611ef9602f913960400191505060405180910390fd5b6110fb3387876115f0565b5060019695505050505050565b600080611113611c65565b6001600160a01b038516600090815260046020526040902080548590811061113757fe5b60009182526020918290206040805180820190915260029092020180548083526001909101549190920181905290969095509350505050565b6000805b6001600160a01b0383166000908152600460205260409020548110156111ef576001600160a01b03831660009081526004602052604090208054429190839081106111bb57fe5b90600052602060002090600202016001015410156111e7576111dd8382611a9e565b156111e757600019015b600101611174565b50600192915050565b6003546000906001600160a01b031633146112445760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60005b6001600160a01b0383166000908152600460205260409020548110156111ef576112718382611a9e565b1561127b57600019015b600101611247565b6001600160a01b03166000908152600560209081526040808320546004909252909120549091565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146113225760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b600654610100900460ff16156113695760405162461bcd60e51b815260040180806020018281038252602e815260200180611cf1602e913960400191505060405180910390fd5b6006805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b6001600160a01b031660009081526007602052604090205460ff1690565b6003546000906001600160a01b031633146114115760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b0382166114565760405162461bcd60e51b815260040180806020018281038252604581526020018061208e6045913960600191505060405180910390fd5b61145f82611a3b565b92915050565b6003546000906001600160a01b031633146114b15760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff166114f25760405162461bcd60e51b81526004018080602001828103825260358152602001806120596035913960400191505060405180910390fd5b6006805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a150600190565b6001600160a01b03808416600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600082820183811015610cc6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061162f826040518060600160405280603e8152602001611e5d603e91396001600160a01b03871660009081526001602052604090205491906116bf565b6001600160a01b03808616600090815260016020526040808220939093559085168152205461165e9083611596565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b6000818484111561174e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156117135781810151838201526020016116fb565b50505050905090810190601f1680156117405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60004282116117965760405162461bcd60e51b815260040180806020018281038252602b815260200180611d5f602b913960400191505060405180910390fd5b6001600160a01b0384166000908152600560205260409020546117ba908490611596565b6001600160a01b03851660009081526001602052604090205410156118105760405162461bcd60e51b8152600401808060200182810382526040815260200180611d1f6040913960400191505060405180910390fd5b6001600160a01b0384166000908152600560205260409020546118339084611596565b6001600160a01b03851660008181526005602090815260408083209490945560048152838220845180860186528881528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251868152908101859052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a25060019392505050565b600080546118dd9083611596565b60009081556001600160a01b0384168152600160205260409020546119029083611596565b6001600160a01b03841660008181526001602090815260408083209490945583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600061199e82604051806060016040528060398152602001611f28603991396001600160a01b03861660009081526001602052604090205491906116bf565b60016000856001600160a01b03166001600160a01b03168152602001908152602001600020819055506119ee82604051806060016040528060368152602001611f616036913960005491906116bf565b60009081556040805184815290516001600160a01b038616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a350600192915050565b6003546040516000916001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908490a350600380546001600160a01b0319166001600160a01b0392909216919091179055600190565b6001600160a01b0382166000908152600460205260408120805482919084908110611ac557fe5b60009182526020808320600290920290910180546001600160a01b03881684526005909252604090922054919250611afd9190611c23565b6001600160a01b0385166000818152600560209081526040918290209390935583548151908152905191927f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f192918290030190a26001600160a01b038416600090815260046020526040902080546000198101908110611b7957fe5b906000526020600020906002020160046000866001600160a01b03166001600160a01b031681526020019081526020016000208481548110611bb757fe5b60009182526020808320845460029093020191825560019384015493909101929092556001600160a01b0386168152600490915260409020805480611bf857fe5b6000828152602081206002600019909301928302018181556001908101919091559155949350505050565b6000610cc683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116bf565b60405180604001604052806000815260200160008152509056fe54414c4b2f7472616e7366657246726f6d203a2053686f756c64206e6f742073656e6420746f207a65726f206164647265737345524332304c6f636b61626c652f7472616e73666572576974684c6f636b5570203a2043616e6e6f742073656e6420746f207a65726f206164647265737345524332304d696e7461626c652f66696e6973684d696e74696e67203a20416c72656164792066696e697368656445524332304c6f636b61626c652f6c6f636b203a206c6f636b656420746f74616c2073686f756c6420626520736d616c6c6572207468616e2062616c616e636545524332304c6f636b61626c652f6c6f636b203a2043616e6e6f74207365742064756520746f207061737445524332304c6f636b61626c652f756e6c6f636b3a2063616e6e6f7420756e6c6f636b206265666f72652064756545524332304275726e61626c652f6275726e46726f6d203a2043616e6e6f74206275726e206d6f7265207468616e20616c6c6f77616e636545524332304d696e7461626c652f6d696e74203a2053686f756c64206e6f74206d696e7420746f207a65726f2061646472657373506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e206e6f742070617573656445524332302f7472616e73666572203a2063616e6e6f74207472616e73666572206d6f7265207468616e20746f6b656e206f776e65722062616c616e636545524332304d696e7461626c652f6d696e74203a2043616e6e6f74206d696e742061667465722066696e69736865644f776e61626c65203a2046756e6374696f6e2063616c6c656420627920756e617574686f72697a656420757365722e54414c4b2f7472616e73666572203a2053686f756c64206e6f742073656e6420746f207a65726f206164647265737345524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e207573657227732062616c616e636545524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e20746f74616c537570706c7954414c4b2f7472616e7366657246726f6d203a2043616e6e6f742073656e64206d6f7265207468616e20616c6c6f77616e636545524332304c6f636b61626c652f43616e6e6f742073656e64206d6f7265207468616e20756e6c6f636b656420616d6f756e7453414d2f617070726f7665203a2053686f756c64206e6f7420617070726f7665207a65726f206164647265737345524332304d696e7461626c652f6d696e7420203a2043616e6e6f74206d696e74206d6f7265207468616e20636170506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e207061757365644f776e61626c652f7472616e736665724f776e657273686970203a2063616e6e6f74207472616e73666572206f776e65727368697020746f207a65726f2061646472657373a2646970667358221220207395bf42996ca61793fabf4d09c1ec687ee9b5ea8cffd6f12f4ad968662c0864736f6c63430007010033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c806383cfab4211610104578063c4f3a853116100a2578063e4cc18be11610071578063e4cc18be146105a1578063e5839836146105a9578063f2fde38b146105cf578063f7b188a5146105f5576101cf565b8063c4f3a85314610501578063d1c4691614610527578063d8fb93371461054d578063dd62ed3e14610573576101cf565b80638da5cb5b116100de5780638da5cb5b1461046457806395d89b4114610488578063a9059cbb14610490578063b2520a7c146104bc576101cf565b806383cfab42146104105780638456cb59146104365780638d1fdf2f1461043e576101cf565b806342966c6811610171578063715018a61161014b578063715018a6146103a857806379cc6790146103b05780637b352962146103dc5780637eee288d146103e4576101cf565b806342966c681461035d5780635c975abb1461037a57806370a0823114610382576101cf565b806323b872dd116101ad57806323b872dd146102ab578063313ce567146102e157806338b82092146102ff57806340c10f1914610331576101cf565b806306fdde03146101d4578063095ea7b31461025157806318160ddd14610291575b600080fd5b6101dc6105fd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b03813516906020013561061d565b604080519115158252519081900360200190f35b610299610679565b60408051918252519081900360200190f35b61027d600480360360608110156102c157600080fd5b506001600160a01b0381358116916020810135909116906040013561067f565b6102e961085f565b6040805160ff9092168252519081900360200190f35b61027d6004803603606081101561031557600080fd5b506001600160a01b038135169060208101359060400135610864565b61027d6004803603604081101561034757600080fd5b506001600160a01b038135169060200135610917565b61027d6004803603602081101561037357600080fd5b5035610adc565b61027d610b6b565b6102996004803603602081101561039857600080fd5b50356001600160a01b0316610b74565b61027d610b8f565b61027d600480360360408110156103c657600080fd5b506001600160a01b038135169060200135610bea565b61027d610ccd565b61027d600480360360408110156103fa57600080fd5b506001600160a01b038135169060200135610cdb565b61027d6004803603602081101561042657600080fd5b50356001600160a01b0316610d61565b61027d610dfb565b61027d6004803603602081101561045457600080fd5b50356001600160a01b0316610ec5565b61046c610f62565b604080516001600160a01b039092168252519081900360200190f35b6101dc610f71565b61027d600480360360408110156104a657600080fd5b506001600160a01b038135169060200135610f8f565b6104e8600480360360408110156104d257600080fd5b506001600160a01b038135169060200135611108565b6040805192835260208301919091528051918290030190f35b61027d6004803603602081101561051757600080fd5b50356001600160a01b0316611170565b61027d6004803603602081101561053d57600080fd5b50356001600160a01b03166111f8565b6104e86004803603602081101561056357600080fd5b50356001600160a01b0316611283565b6102996004803603604081101561058957600080fd5b506001600160a01b03813581169160200135166112ab565b61027d6112d6565b61027d600480360360208110156105bf57600080fd5b50356001600160a01b03166113a7565b61027d600480360360208110156105e557600080fd5b50356001600160a01b03166113c5565b61027d611465565b6040805180820190915260068152652a30b635b2b760d11b602082015290565b60006001600160a01b0383166106645760405162461bcd60e51b815260040180806020018281038252602d815260200180611ffd602d913960400191505060405180910390fd5b61066f33848461152b565b5060019392505050565b60005490565b6001600160a01b038316600090815260076020526040812054849060ff16156106ef576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff16156107315760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6001600160a01b038516600090815260056020526040902054859084906107589082611596565b6001600160a01b03831660009081526001602052604090205410156107ae5760405162461bcd60e51b8152600401808060200182810382526033815260200180611fca6033913960400191505060405180910390fd5b6001600160a01b0386166107f35760405162461bcd60e51b8152600401808060200182810382526033815260200180611c806033913960400191505060405180910390fd5b6107fe8787876115f0565b50610851873361084c88604051806060016040528060338152602001611f97603391396001600160a01b038d16600090815260026020908152604080832033845290915290205491906116bf565b61152b565b506001979650505050505050565b601290565b6003546000906001600160a01b031633146108b05760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b0384166108f55760405162461bcd60e51b815260040180806020018281038252603e815260200180611cb3603e913960400191505060405180910390fd5b6109003385856115f0565b5061090c848484611756565b506001949350505050565b6003546000906001600160a01b031633146109635760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff16156109a55760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6001600160a01b0383166109ea5760405162461bcd60e51b8152600401808060200182810382526034815260200180611df06034913960400191505060405180910390fd5b600654610100900460ff1615610a315760405162461bcd60e51b815260040180806020018281038252602f815260200180611e9b602f913960400191505060405180910390fd5b6000546b019d971e4fe8401e7400000090610a4c9084611596565b1115610a895760405162461bcd60e51b815260040180806020018281038252602f81526020018061202a602f913960400191505060405180910390fd5b610a9383836118cf565b506040805183815290516001600160a01b038516917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a250600192915050565b60065460009060ff1615610b215760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b610b2b338361195f565b60408051848152905191925033917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59181900360200190a2506001919050565b60065460ff1690565b6001600160a01b031660009081526001602052604090205490565b6003546000906001600160a01b03163314610bdb5760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b610be56000611a3b565b905090565b60065460009060ff1615610c2f5760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b610c39838361195f565b506040805183815290516001600160a01b038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2610cc6833361084c85604051806060016040528060388152602001611db8603891396001600160a01b038916600090815260026020908152604080832033845290915290205491906116bf565b9392505050565b600654610100900460ff1690565b6001600160a01b0382166000908152600460205260408120805442919084908110610d0257fe5b90600052602060002090600202016001015410610d505760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8a602e913960400191505060405180910390fd5b610d5a8383611a9e565b5092915050565b6003546000906001600160a01b03163314610dad5760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6003546000906001600160a01b03163314610e475760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff1615610e895760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6006805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a150600190565b6003546000906001600160a01b03163314610f115760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b6003546001600160a01b031690565b60408051808201909152600481526354414c4b60e01b602082015290565b3360008181526007602052604081205490919060ff1615610ff7576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff16156110395760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b3360008181526005602052604090205484906110559082611596565b6001600160a01b03831660009081526001602052604090205410156110ab5760405162461bcd60e51b8152600401808060200182810382526033815260200180611fca6033913960400191505060405180910390fd5b6001600160a01b0386166110f05760405162461bcd60e51b815260040180806020018281038252602f815260200180611ef9602f913960400191505060405180910390fd5b6110fb3387876115f0565b5060019695505050505050565b600080611113611c65565b6001600160a01b038516600090815260046020526040902080548590811061113757fe5b60009182526020918290206040805180820190915260029092020180548083526001909101549190920181905290969095509350505050565b6000805b6001600160a01b0383166000908152600460205260409020548110156111ef576001600160a01b03831660009081526004602052604090208054429190839081106111bb57fe5b90600052602060002090600202016001015410156111e7576111dd8382611a9e565b156111e757600019015b600101611174565b50600192915050565b6003546000906001600160a01b031633146112445760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60005b6001600160a01b0383166000908152600460205260409020548110156111ef576112718382611a9e565b1561127b57600019015b600101611247565b6001600160a01b03166000908152600560209081526040808320546004909252909120549091565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146113225760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b600654610100900460ff16156113695760405162461bcd60e51b815260040180806020018281038252602e815260200180611cf1602e913960400191505060405180910390fd5b6006805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b6001600160a01b031660009081526007602052604090205460ff1690565b6003546000906001600160a01b031633146114115760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b0382166114565760405162461bcd60e51b815260040180806020018281038252604581526020018061208e6045913960600191505060405180910390fd5b61145f82611a3b565b92915050565b6003546000906001600160a01b031633146114b15760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff166114f25760405162461bcd60e51b81526004018080602001828103825260358152602001806120596035913960400191505060405180910390fd5b6006805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a150600190565b6001600160a01b03808416600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600082820183811015610cc6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061162f826040518060600160405280603e8152602001611e5d603e91396001600160a01b03871660009081526001602052604090205491906116bf565b6001600160a01b03808616600090815260016020526040808220939093559085168152205461165e9083611596565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b6000818484111561174e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156117135781810151838201526020016116fb565b50505050905090810190601f1680156117405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60004282116117965760405162461bcd60e51b815260040180806020018281038252602b815260200180611d5f602b913960400191505060405180910390fd5b6001600160a01b0384166000908152600560205260409020546117ba908490611596565b6001600160a01b03851660009081526001602052604090205410156118105760405162461bcd60e51b8152600401808060200182810382526040815260200180611d1f6040913960400191505060405180910390fd5b6001600160a01b0384166000908152600560205260409020546118339084611596565b6001600160a01b03851660008181526005602090815260408083209490945560048152838220845180860186528881528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251868152908101859052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a25060019392505050565b600080546118dd9083611596565b60009081556001600160a01b0384168152600160205260409020546119029083611596565b6001600160a01b03841660008181526001602090815260408083209490945583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600061199e82604051806060016040528060398152602001611f28603991396001600160a01b03861660009081526001602052604090205491906116bf565b60016000856001600160a01b03166001600160a01b03168152602001908152602001600020819055506119ee82604051806060016040528060368152602001611f616036913960005491906116bf565b60009081556040805184815290516001600160a01b038616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a350600192915050565b6003546040516000916001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908490a350600380546001600160a01b0319166001600160a01b0392909216919091179055600190565b6001600160a01b0382166000908152600460205260408120805482919084908110611ac557fe5b60009182526020808320600290920290910180546001600160a01b03881684526005909252604090922054919250611afd9190611c23565b6001600160a01b0385166000818152600560209081526040918290209390935583548151908152905191927f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f192918290030190a26001600160a01b038416600090815260046020526040902080546000198101908110611b7957fe5b906000526020600020906002020160046000866001600160a01b03166001600160a01b031681526020019081526020016000208481548110611bb757fe5b60009182526020808320845460029093020191825560019384015493909101929092556001600160a01b0386168152600490915260409020805480611bf857fe5b6000828152602081206002600019909301928302018181556001908101919091559155949350505050565b6000610cc683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116bf565b60405180604001604052806000815260200160008152509056fe54414c4b2f7472616e7366657246726f6d203a2053686f756c64206e6f742073656e6420746f207a65726f206164647265737345524332304c6f636b61626c652f7472616e73666572576974684c6f636b5570203a2043616e6e6f742073656e6420746f207a65726f206164647265737345524332304d696e7461626c652f66696e6973684d696e74696e67203a20416c72656164792066696e697368656445524332304c6f636b61626c652f6c6f636b203a206c6f636b656420746f74616c2073686f756c6420626520736d616c6c6572207468616e2062616c616e636545524332304c6f636b61626c652f6c6f636b203a2043616e6e6f74207365742064756520746f207061737445524332304c6f636b61626c652f756e6c6f636b3a2063616e6e6f7420756e6c6f636b206265666f72652064756545524332304275726e61626c652f6275726e46726f6d203a2043616e6e6f74206275726e206d6f7265207468616e20616c6c6f77616e636545524332304d696e7461626c652f6d696e74203a2053686f756c64206e6f74206d696e7420746f207a65726f2061646472657373506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e206e6f742070617573656445524332302f7472616e73666572203a2063616e6e6f74207472616e73666572206d6f7265207468616e20746f6b656e206f776e65722062616c616e636545524332304d696e7461626c652f6d696e74203a2043616e6e6f74206d696e742061667465722066696e69736865644f776e61626c65203a2046756e6374696f6e2063616c6c656420627920756e617574686f72697a656420757365722e54414c4b2f7472616e73666572203a2053686f756c64206e6f742073656e6420746f207a65726f206164647265737345524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e207573657227732062616c616e636545524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e20746f74616c537570706c7954414c4b2f7472616e7366657246726f6d203a2043616e6e6f742073656e64206d6f7265207468616e20616c6c6f77616e636545524332304c6f636b61626c652f43616e6e6f742073656e64206d6f7265207468616e20756e6c6f636b656420616d6f756e7453414d2f617070726f7665203a2053686f756c64206e6f7420617070726f7665207a65726f206164647265737345524332304d696e7461626c652f6d696e7420203a2043616e6e6f74206d696e74206d6f7265207468616e20636170506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e207061757365644f776e61626c652f7472616e736665724f776e657273686970203a2063616e6e6f74207472616e73666572206f776e65727368697020746f207a65726f2061646472657373a2646970667358221220207395bf42996ca61793fabf4d09c1ec687ee9b5ea8cffd6f12f4ad968662c0864736f6c63430007010033

Deployed Bytecode Sourcemap

17325:2861:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19824:109;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19485:331;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19485:331:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7707:100;;;:::i;:::-;;;;;;;;;;;;;;;;18822:655;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18822:655:0;;;;;;;;;;;;;;;;;:::i;20066:117::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12670:408;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12670:408:0;;;;;;;;;;;;;:::i;17691:700::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17691:700:0;;;;;;;;:::i;14622:227::-;;;;;;;;;;;;;;;;-1:-1:-1;14622:227:0;;:::i;14307:80::-;;;:::i;7813:119::-;;;;;;;;;;;;;;;;-1:-1:-1;7813:119:0;-1:-1:-1;;;;;7813:119:0;;:::i;9869:130::-;;;:::i;14857:457::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14857:457:0;;;;;;;;:::i;16218:105::-;;;:::i;11833:218::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11833:218:0;;;;;;;;:::i;16891:207::-;;;;;;;;;;;;;;;;-1:-1:-1;16891:207:0;-1:-1:-1;;;;;16891:207:0;;:::i;13979:155::-;;;:::i;16713:170::-;;;;;;;;;;;;;;;;-1:-1:-1;16713:170:0;-1:-1:-1;;;;;16713:170:0;;:::i;9462:102::-;;;:::i;:::-;;;;-1:-1:-1;;;;;9462:102:0;;;;;;;;;;;;;;19941:117;;;:::i;18399:415::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18399:415:0;;;;;;;;:::i;13086:240::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13086:240:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12059:323;;;;;;;;;;;;;;;;-1:-1:-1;12059:323:0;-1:-1:-1;;;;;12059:323:0;;:::i;12390:272::-;;;;;;;;;;;;;;;;-1:-1:-1;12390:272:0;-1:-1:-1;;;;;12390:272:0;;:::i;13334:179::-;;;;;;;;;;;;;;;;-1:-1:-1;13334:179:0;-1:-1:-1;;;;;13334:179:0;;:::i;7940:183::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7940:183:0;;;;;;;;;;:::i;15896:314::-;;;:::i;17106:143::-;;;;;;;;;;;;;;;;-1:-1:-1;17106:143:0;-1:-1:-1;;;;;17106:143:0;;:::i;9572:289::-;;;;;;;;;;;;;;;;-1:-1:-1;9572:289:0;-1:-1:-1;;;;;9572:289:0;;:::i;14142:157::-;;;:::i;19824:109::-;19920:5;;;;;;;;;;;;-1:-1:-1;;;19920:5:0;;;;;19824:109::o;19485:331::-;19589:12;-1:-1:-1;;;;;19641:21:0;;19619:116;;;;-1:-1:-1;;;19619:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19746:37;19755:10;19767:7;19776:6;19746:8;:37::i;:::-;-1:-1:-1;19804:4:0;;19485:331;-1:-1:-1;;;19485:331:0:o;7707:100::-;7753:13;7787:12;;7707:100::o;18822:655::-;-1:-1:-1;;;;;16637:15:0;;19025:12;16637:15;;;:7;:15;;;;;;18945:4;;16637:15;;16636:16;16628:57;;;;;-1:-1:-1;;;16628:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13882:7:::1;::::0;::::1;;13881:8;13873:78;;;;-1:-1:-1::0;;;13873:78:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;10779:18:0;::::2;;::::0;;;:12:::2;:18;::::0;;;;;18993:4;;18999:6;;10779:30:::2;::::0;18999:6;10779:22:::2;:30::i;:::-;-1:-1:-1::0;;;;;10760:15:0;::::2;;::::0;;;:9:::2;:15;::::0;;;;;:49:::2;;10752:113;;;;-1:-1:-1::0;;;10752:113:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;19077:16:0;::::3;19055:117;;;;-1:-1:-1::0;;;19055:117:0::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19183:27;19193:4;19199:2;19203:6;19183:9;:27::i;:::-;;19221:223;19244:4;19263:10;19288:145;19340:6;19288:145;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;19288:17:0;::::3;;::::0;;;:11:::3;:17;::::0;;;;;;;19306:10:::3;19288:29:::0;;;;;;;;;:145;:33:::3;:145::i;:::-;19221:8;:223::i;:::-;-1:-1:-1::0;19465:4:0::3;::::0;18822:655;-1:-1:-1;;;;;;;18822:655:0:o;20066:117::-;17589:2;;20066:117::o;12670:408::-;9353:6;;12789:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12841:23:0;::::1;12819:135;;;;-1:-1:-1::0;;;12819:135:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12965:40;12975:10;12987:9;12998:6;12965:9;:40::i;:::-;;13016:29;13022:9;13033:6;13041:3;13016:5;:29::i;:::-;-1:-1:-1::0;13066:4:0::1;::::0;12670:408;-1:-1:-1;;;;12670:408:0:o;17691:700::-;9353:6;;17835:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13882:7:::1;::::0;::::1;;13881:8;13873:78;;;;-1:-1:-1::0;;;13873:78:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;17887:22:0;::::2;17865:124;;;;-1:-1:-1::0;;;17865:124:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18023:16;::::0;::::2;::::0;::::2;;;18022:17;18000:114;;;;-1:-1:-1::0;;;18000:114:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18147:12;::::0;18176:33;;18147:24:::2;::::0;18164:6;18147:16:::2;:24::i;:::-;:63;;18125:161;;;;-1:-1:-1::0;;;18125:161:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18297:23;18303:8;18313:6;18297:5;:23::i;:::-;-1:-1:-1::0;18336:22:0::2;::::0;;;;;;;-1:-1:-1;;;;;18336:22:0;::::2;::::0;::::2;::::0;;;;;::::2;::::0;;::::2;-1:-1:-1::0;18379:4:0::2;::::0;17691:700;-1:-1:-1;;17691:700:0:o;14622:227::-;13882:7;;14711:12;;13882:7;;13881:8;13873:78;;;;-1:-1:-1;;;13873:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14751:25:::1;14757:10;14769:6;14751:5;:25::i;:::-;14792:24;::::0;;;;;;;14741:35;;-1:-1:-1;14797:10:0::1;::::0;14792:24:::1;::::0;;;;::::1;::::0;;::::1;-1:-1:-1::0;14837:4:0::1;::::0;14622:227;-1:-1:-1;14622:227:0:o;14307:80::-;14372:7;;;;14307:80;:::o;7813:119::-;-1:-1:-1;;;;;7908:16:0;7870:15;7908:16;;;:9;:16;;;;;;;7813:119::o;9869:130::-;9353:6;;9926:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9961:30:::1;9988:1;9961:18;:30::i;:::-;9951:40;;9869:130:::0;:::o;14857:457::-;13882:7;;14966:12;;13882:7;;13881:8;13873:78;;;;-1:-1:-1;;;13873:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14996:21:::1;15002:6;15010;14996:5;:21::i;:::-;-1:-1:-1::0;15033:20:0::1;::::0;;;;;;;-1:-1:-1;;;;;15033:20:0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;15074:232;15097:6;15118:10;15143:152;15197:6;15143:152;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;15143:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;15163:10:::1;15143:31:::0;;;;;;;;;:152;:35:::1;:152::i;15074:232::-;15064:242:::0;14857:457;-1:-1:-1;;;14857:457:0:o;16218:105::-;16299:16;;;;;;;;16218:105::o;11833:218::-;-1:-1:-1;;;;;11925:12:0;;11893;11925;;;:6;:12;;;;;:17;;11949:15;;11925:12;11938:3;;11925:17;;;;;;;;;;;;;;;;:21;;;:39;11917:97;;;;-1:-1:-1;;;11917:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12025:18;12033:4;12039:3;12025:7;:18::i;:::-;;11833:218;;;;:::o;16891:207::-;9353:6;;16980:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17010:15:0;::::1;17028:5;17010:15:::0;;;:7:::1;:15;::::0;;;;;:23;;-1:-1:-1;;17010:23:0::1;::::0;;17049:16;::::1;::::0;17028:5;17049:16:::1;-1:-1:-1::0;17086:4:0::1;::::0;16891:207;-1:-1:-1;16891:207:0:o;13979:155::-;9353:6;;14038:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13882:7:::1;::::0;::::1;;13881:8;13873:78;;;;-1:-1:-1::0;;;13873:78:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14063:7:::2;:14:::0;;-1:-1:-1;;14063:14:0::2;14073:4;14063:14;::::0;;14093:8:::2;::::0;::::2;::::0;14063:7:::2;::::0;14093:8:::2;-1:-1:-1::0;14122:4:0::2;::::0;13979:155::o;16713:170::-;9353:6;;16773:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16798:15:0;::::1;;::::0;;;:7:::1;:15;::::0;;;;;:22;;-1:-1:-1;;16798:22:0::1;16816:4;16798:22;::::0;;16836:14;::::1;::::0;16798:15;16836:14:::1;-1:-1:-1::0;16871:4:0::1;::::0;16713:170;-1:-1:-1;16713:170:0:o;9462:102::-;9550:6;;-1:-1:-1;;;;;9550:6:0;;9462:102::o;19941:117::-;20043:7;;;;;;;;;;;;-1:-1:-1;;;20043:7:0;;;;;19941:117::o;18399:415::-;18504:10;18596:12;16637:15;;;:7;:15;;;;;;18596:12;;18504:10;16637:15;;16636:16;16628:57;;;;;-1:-1:-1;;;16628:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13882:7:::1;::::0;::::1;;13881:8;13873:78;;;;-1:-1:-1::0;;;13873:78:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18558:10:::2;10779:18;::::0;;;:12:::2;:18;::::0;;;;;18570:6;;10779:30:::2;::::0;18570:6;10779:22:::2;:30::i;:::-;-1:-1:-1::0;;;;;10760:15:0;::::2;;::::0;;;:9:::2;:15;::::0;;;;;:49:::2;;10752:113;;;;-1:-1:-1::0;;;10752:113:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;18646:16:0;::::3;18624:113;;;;-1:-1:-1::0;;;18624:113:0::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18748:33;18758:10;18770:2;18774:6;18748:9;:33::i;:::-;-1:-1:-1::0;18802:4:0::3;::::0;18399:415;-1:-1:-1;;;;;;18399:415:0:o;13086:240::-;13173:14;13189:11;13218:20;;:::i;:::-;-1:-1:-1;;;;;13241:14:0;;;;;;:6;:14;;;;;:21;;13256:5;;13241:21;;;;;;;;;;;;;;;13218:44;;;;;;;;;13241:21;;;;;13218:44;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13086:240:0;-1:-1:-1;;;;13086:240:0:o;12059:323::-;12110:12;;12135:215;-1:-1:-1;;;;;12158:12:0;;;;;;:6;:12;;;;;:19;12154:23;;12135:215;;;-1:-1:-1;;;;;12201:12:0;;;;;;:6;:12;;;;;:15;;12223;;12201:12;12214:1;;12201:15;;;;;;;;;;;;;;;;:19;;;:37;12198:141;;;12261:16;12269:4;12275:1;12261:7;:16::i;:::-;12258:66;;;-1:-1:-1;;12301:3:0;12258:66;12179:3;;12135:215;;;-1:-1:-1;12370:4:0;;12059:323;-1:-1:-1;;12059:323:0:o;12390:272::-;9353:6;;12468:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12502:9:::1;12498:132;-1:-1:-1::0;;;;;12521:12:0;::::1;;::::0;;;:6:::1;:12;::::0;;;;:19;12517:23;::::1;12498:132;;;12564:16;12572:4;12578:1;12564:7;:16::i;:::-;12561:58;;;-1:-1:-1::0;;12600:3:0;12561:58:::1;12542:3;;12498:132;;13334:179:::0;-1:-1:-1;;;;;13444:20:0;13393:14;13444:20;;;:12;:20;;;;;;;;;13484:6;:14;;;;;;:21;13444:20;;13334:179::o;7940:183::-;-1:-1:-1;;;;;8088:18:0;;;8041:17;8088:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7940:183::o;15896:314::-;9353:6;;15973:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16026:16:::1;::::0;::::1;::::0;::::1;;;16025:17;16003:113;;;;-1:-1:-1::0;;;16003:113:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16127:16;:23:::0;;-1:-1:-1;;16127:23:0::1;;;::::0;;16166:14:::1;::::0;::::1;::::0;16127:23;;16166:14:::1;-1:-1:-1::0;16198:4:0::1;15896:314:::0;:::o;17106:143::-;-1:-1:-1;;;;;17226:15:0;17190:11;17226:15;;;:7;:15;;;;;;;;;17106:143::o;9572:289::-;9353:6;;9670:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9708:22:0;::::1;9700:104;;;;-1:-1:-1::0;;;9700:104:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9825:28;9844:8;9825:18;:28::i;:::-;9815:38:::0;9572:289;-1:-1:-1;;9572:289:0:o;14142:157::-;9353:6;;14200:12;;-1:-1:-1;;;;;9353:6:0;9339:10;:20;9317:117;;;;-1:-1:-1;;;9317:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13744:7:::1;::::0;::::1;;13736:73;;;;-1:-1:-1::0;;;13736:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14225:7:::2;:15:::0;;-1:-1:-1;;14225:15:0::2;::::0;;14256:10:::2;::::0;::::2;::::0;14235:5:::2;::::0;14256:10:::2;-1:-1:-1::0;14287:4:0::2;::::0;14142:157::o;6570:249::-;-1:-1:-1;;;;;6702:18:0;;;6672:12;6702:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;:36;;;6754:32;;;;;;;6672:12;;6702:27;:18;6754:32;;;;;;;;;;;-1:-1:-1;6807:4:0;;6570:249;-1:-1:-1;;;6570:249:0:o;901:181::-;959:7;991:5;;;1015:6;;;;1007:46;;;;;-1:-1:-1;;;1007:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6160:402;6257:12;6305:130;6339:6;6305:130;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6305:15:0;;;;;;:9;:15;;;;;;;:130;:19;:130::i;:::-;-1:-1:-1;;;;;6287:15:0;;;;;;;:9;:15;;;;;;:148;;;;6462:13;;;;;;;:25;;6480:6;6462:17;:25::i;:::-;-1:-1:-1;;;;;6446:13:0;;;;;;;:9;:13;;;;;;;;;:41;;;;6503:26;;;;;;;6446:13;;6503:26;;;;;;;;;;;;;-1:-1:-1;6550:4:0;;6160:402;-1:-1:-1;;;6160:402:0:o;1830:224::-;1943:7;1984:12;1976:6;;;;1968:29;;;;-1:-1:-1;;;1968:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2020:5:0;;;1830:224::o;10893:552::-;10979:12;11023:15;11017:3;:21;11009:77;;;;-1:-1:-1;;;11009:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11149:18:0;;;;;;:12;:18;;;;;;11138:30;;:6;;:10;:30::i;:::-;-1:-1:-1;;;;;11119:15:0;;;;;;:9;:15;;;;;;:49;;11097:163;;;;-1:-1:-1;;;11097:163:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11292:18:0;;;;;;:12;:18;;;;;;:30;;11315:6;11292:22;:30::i;:::-;-1:-1:-1;;;;;11271:18:0;;;;;;:12;:18;;;;;;;;:51;;;;11333:6;:12;;;;;11351:21;;;;;;;;;;;;;;;;11333:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11389:23;;;;;;;;;;;;;11271:18;;11389:23;;;;;;;;;-1:-1:-1;11433:4:0;;10893:552;-1:-1:-1;;;10893:552:0:o;6827:309::-;6913:12;6958;;:24;;6975:6;6958:16;:24::i;:::-;6943:12;:39;;;-1:-1:-1;;;;;7016:20:0;;;;:9;:20;;;;;;:32;;7041:6;7016:24;:32::i;:::-;-1:-1:-1;;;;;6993:20:0;;;;;;:9;:20;;;;;;;;:55;;;;7064:39;;;;;;;6993:20;;;;7064:39;;;;;;;;;;-1:-1:-1;7124:4:0;;6827:309;-1:-1:-1;;6827:309:0:o;7144:490::-;7227:12;7277:127;7313:6;7277:127;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7277:17:0;;;;;;:9;:17;;;;;;;:127;:21;:127::i;:::-;7257:9;:17;7267:6;-1:-1:-1;;;;;7257:17:0;-1:-1:-1;;;;;7257:17:0;;;;;;;;;;;;:147;;;;7430:119;7461:6;7430:119;;;;;;;;;;;;;;;;;:12;;;:119;:16;:119::i;:::-;7415:12;:134;;;7565:36;;;;;;;;-1:-1:-1;;;;;7565:36:0;;;;;;;;;;;;;-1:-1:-1;7622:4:0;;7144:490;-1:-1:-1;;7144:490:0:o;10007:193::-;10122:6;;10101:38;;10071:12;;-1:-1:-1;;;;;10101:38:0;;;;10122:6;;;10101:38;;10071:12;;10101:38;-1:-1:-1;10150:6:0;:17;;-1:-1:-1;;;;;;10150:17:0;-1:-1:-1;;;;;10150:17:0;;;;;;;;;;-1:-1:-1;;10007:193:0:o;11453:372::-;-1:-1:-1;;;;;11566:12:0;;11517;11566;;;:6;:12;;;;;:19;;11517:12;;11566;11579:5;;11566:19;;;;;;;;;;;;;;;;;;;;;11640:11;;-1:-1:-1;;;;;11617:18:0;;;;:12;:18;;;;;;;;11566:19;;-1:-1:-1;11617:35:0;;:18;:22;:35::i;:::-;-1:-1:-1;;;;;11596:18:0;;;;;;:12;:18;;;;;;;;;:56;;;;11681:11;;11668:25;;;;;;;11596:18;;11668:25;;;;;;;;;-1:-1:-1;;;;;11726:12:0;;;;;;:6;:12;;;;;11739:19;;-1:-1:-1;;11739:23:0;;;11726:37;;;;;;;;;;;;;;;;11704:6;:12;11711:4;-1:-1:-1;;;;;11704:12:0;-1:-1:-1;;;;;11704:12:0;;;;;;;;;;;;11717:5;11704:19;;;;;;;;;;;;;;;;:59;;:19;;;;;:59;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11774:12:0;;;;:6;:12;;;;;;:18;;;;;;;;;;;;;;;-1:-1:-1;;11774:18:0;;;;;;;;;;;;;;;;;;;;;11453:372;-1:-1:-1;;;;11453:372:0:o;1357:136::-;1415:7;1442:43;1446:1;1449;1442:43;;;;;;;;;;;;;;;;;:3;:43::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

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