ETH Price: $3,892.19 (-0.61%)

Token

ERC-20: DefiMoon.Finance (DEFI)
 

Overview

Max Total Supply

21,000 DEFI

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
15 DEFI

Value
$0.00
0xc9da36693c7a2fbf4ea6ae6d1a61f0cec7aa5da4
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:
DefiMoonFinance

Compiler Version
v0.5.11+commit.22be8592

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-01-13
*/

pragma solidity 0.5.11;



library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;


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


    /**
    * @dev The Ownable constructor sets the original `owner` of the contract to the sender
    * account.
    */
    constructor() public {
        owner = msg.sender;
    }

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

/**
 * @title ERC20Basic
 */
contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances. 
 */
contract BasicToken is ERC20Basic, Ownable {

    using SafeMath for uint256;

    mapping(address => uint256) balances;

    /**
    * @dev transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balanceOf(msg.sender));

        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the the balance of. 
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }
    
}


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 */
contract StandardToken is ERC20, BasicToken {

    mapping (address => mapping (address => uint256)) allowed;

    /**
    * @dev Transfer tokens from one address to another
    * @param _from address The address which you want to send tokens from
    * @param _to address The address which you want to transfer to
    * @param _value uint256 the amount of tokens to be transferred
    */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(allowed[_from][msg.sender] >= _value);
        require(balanceOf(_from) >= _value);
        require(balances[_to].add(_value) > balances[_to]); // Check for overflows
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * @param _spender The address which will spend the funds.
    * @param _value The amount of tokens to be spent.
    */
    function approve(address _spender, uint256 _value) public returns (bool) {
        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
    * @dev Function to check the amount of tokens that an owner allowed to a spender.
    * @param _owner address The address which owns the funds.
    * @param _spender address The address which will spend the funds.
    * @return A uint256 specifying the amount of tokens still available for the spender.
    */
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    /**
    * approve should be called when allowed[_spender] == 0. To increment
    * allowed value is better to use this function to avoid 2 calls (and wait until 
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    */
    function increaseApproval (address _spender, uint _addedValue) public returns (bool success) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval (address _spender, uint _subtractedValue) public returns (bool success) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
}


/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is StandardToken {
    event Pause();
    event Unpause();

    bool public paused = false;

    address public founder;
    
    /**
    * @dev modifier to allow actions only when the contract IS paused
    */
    modifier whenNotPaused() {
        require(!paused || msg.sender == founder);
        _;
    }

    /**
    * @dev modifier to allow actions only when the contract IS NOT paused
    */
    modifier whenPaused() {
        require(paused);
        _;
    }

    /**
    * @dev called by the owner to pause, triggers stopped state
    */
    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    /**
    * @dev called by the owner to unpause, returns to normal state
    */
    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }
}


contract PausableToken is Pausable {

    function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    //The functions below surve no real purpose. Even if one were to approve another to spend
    //tokens on their behalf, those tokens will still only be transferable when the token contract
    //is not paused.

    function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) {
        return super.approve(_spender, _value);
    }

    function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool success) {
        return super.increaseApproval(_spender, _addedValue);
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool success) {
        return super.decreaseApproval(_spender, _subtractedValue);
    }
}

contract DefiMoonFinance is PausableToken {

    string public name;
    string public symbol;
    uint8 public decimals;

    /**
    * @dev Constructor that gives the founder all of the existing tokens.
    */
    constructor() public {
        name = "DefiMoon.Finance";
        symbol = "DEFI";
        decimals = 18;
        totalSupply = 21000*1000000000000000000;
        
        founder = msg.sender;

        balances[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }
    
    /** @dev Fires on every freeze of tokens
     *  @param _owner address The owner address of frozen tokens.
     *  @param amount uint256 The amount of tokens frozen
     */
    event TokenFreezeEvent(address indexed _owner, uint256 amount);

    /** @dev Fires on every unfreeze of tokens
     *  @param _owner address The owner address of unfrozen tokens.
     *  @param amount uint256 The amount of tokens unfrozen
     */
    event TokenUnfreezeEvent(address indexed _owner, uint256 amount);
    event TokensBurned(address indexed _owner, uint256 _tokens);

    
    mapping(address => uint256) internal frozenTokenBalances;

    function freezeTokens(address _owner, uint256 _value) public onlyOwner {
        require(_value <= balanceOf(_owner));
        uint256 oldFrozenBalance = getFrozenBalance(_owner);
        uint256 newFrozenBalance = oldFrozenBalance.add(_value);
        setFrozenBalance(_owner,newFrozenBalance);
        emit TokenFreezeEvent(_owner,_value);
    }
    
    function unfreezeTokens(address _owner, uint256 _value) public onlyOwner {
        require(_value <= getFrozenBalance(_owner));
        uint256 oldFrozenBalance = getFrozenBalance(_owner);
        uint256 newFrozenBalance = oldFrozenBalance.sub(_value);
        setFrozenBalance(_owner,newFrozenBalance);
        emit TokenUnfreezeEvent(_owner,_value);
    }
    
    
    function setFrozenBalance(address _owner, uint256 _newValue) internal {
        frozenTokenBalances[_owner]=_newValue;
    }

    function balanceOf(address _owner) view public returns(uint256)
    {
        return getTotalBalance(_owner).sub(getFrozenBalance(_owner));
    }

    function getTotalBalance(address _owner) view public returns(uint256)
    {
        return balances[_owner];   
    }
/**
     * @dev Gets the amount of tokens which belong to the specified address BUT are frozen now.
     * @param _owner The address to query the the balance of.
     * @return An uint256 representing the amount of frozen tokens owned by the passed address.
    */

    function getFrozenBalance(address _owner) view public returns(uint256)
    {
        return frozenTokenBalances[_owner];   
    }
    
        /*
    * @dev Token burn function
    * @param _tokens uint256 amount of tokens to burn
    */
    function burnTokens(uint256 _tokens) public onlyOwner {
        require(balanceOf(msg.sender) >= _tokens);
        balances[msg.sender] = balances[msg.sender].sub(_tokens);
        totalSupply = totalSupply.sub(_tokens);
        emit TokensBurned(msg.sender, _tokens);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"founder","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"burnTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getFrozenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"freezeTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getTotalBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"unfreezeTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokenFreezeEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokenUnfreezeEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"TokensBurned","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","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":"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526000600460006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280601081526020017f446566694d6f6f6e2e46696e616e63650000000000000000000000000000000081525060059080519060200190620000bb9291906200022c565b506040518060400160405280600481526020017f444546490000000000000000000000000000000000000000000000000000000081525060069080519060200190620001099291906200022c565b506012600760006101000a81548160ff021916908360ff160217905550690472698b413b4320000060008190555033600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600054600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000546040518082815260200191505060405180910390a3620002db565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026f57805160ff1916838001178555620002a0565b82800160010185558215620002a0579182015b828111156200029f57825182559160200191906001019062000282565b5b509050620002af9190620002b3565b5090565b620002d891905b80821115620002d4576000816000905550600101620002ba565b5090565b90565b6120de80620002eb6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638456cb59116100b8578063a9059cbb1161007c578063a9059cbb146105d7578063d3d381931461063d578063d73dd62314610695578063dd62ed3e146106fb578063e9b2f0ad14610773578063f2fde38b146107c157610142565b80638456cb591461045a5780638da5cb5b1461046457806395d89b41146104ae5780639f2cfaf114610531578063a4df6c6a1461058957610142565b80633f4ba83a1161010a5780633f4ba83a146102f85780634d853ee5146103025780635c975abb1461034c578063661884631461036e5780636d1b229d146103d457806370a082311461040257610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806323b872dd1461024e578063313ce567146102d4575b600080fd5b61014f610805565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a3565b604051808215151515815260200191505060405180910390f35b610238610929565b6040518082815260200191505060405180910390f35b6102ba6004803603606081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092f565b604051808215151515815260200191505060405180910390f35b6102dc6109b7565b604051808260ff1660ff16815260200191505060405180910390f35b6103006109ca565b005b61030a610a86565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610354610aac565b604051808215151515815260200191505060405180910390f35b6103ba6004803603604081101561038457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610abf565b604051808215151515815260200191505060405180910390f35b610400600480360360208110156103ea57600080fd5b8101908080359060200190929190505050610b45565b005b6104446004803603602081101561041857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cb5565b6040518082815260200191505060405180910390f35b610462610ce1565b005b61046c610df6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104b6610e1c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105736004803603602081101561054757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eba565b6040518082815260200191505060405180910390f35b6105d56004803603604081101561059f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f03565b005b610623600480360360408110156105ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ff4565b604051808215151515815260200191505060405180910390f35b61067f6004803603602081101561065357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061107a565b6040518082815260200191505060405180910390f35b6106e1600480360360408110156106ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110c3565b604051808215151515815260200191505060405180910390f35b61075d6004803603604081101561071157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611149565b6040518082815260200191505060405180910390f35b6107bf6004803603604081101561078957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111d0565b005b610803600480360360208110156107d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112c1565b005b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089b5780601f106108705761010080835404028352916020019161089b565b820191906000526020600020905b81548152906001019060200180831161087e57829003601f168201915b505050505081565b6000600460009054906101000a900460ff16158061090e5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61091757600080fd5b6109218383611415565b905092915050565b60005481565b6000600460009054906101000a900460ff16158061099a5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6109a357600080fd5b6109ae84848461159a565b90509392505050565b600760009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a2457600080fd5b600460009054906101000a900460ff16610a3d57600080fd5b6000600460006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900460ff1681565b6000600460009054906101000a900460ff161580610b2a5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b3357600080fd5b610b3d83836119b8565b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b9f57600080fd5b80610ba933610cb5565b1015610bb457600080fd5b610c0681600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5e81600054611c4990919063ffffffff16565b6000819055503373ffffffffffffffffffffffffffffffffffffffff167ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb6826040518082815260200191505060405180910390a250565b6000610cda610cc383610eba565b610ccc8461107a565b611c4990919063ffffffff16565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d3b57600080fd5b600460009054906101000a900460ff161580610da45750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610dad57600080fd5b6001600460006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb25780601f10610e8757610100808354040283529160200191610eb2565b820191906000526020600020905b815481529060010190602001808311610e9557829003601f168201915b505050505081565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f5d57600080fd5b610f6682610cb5565b811115610f7257600080fd5b6000610f7d83610eba565b90506000610f948383611c6090919063ffffffff16565b9050610fa08482611c7c565b8373ffffffffffffffffffffffffffffffffffffffff167f2303912415a23c08c0cbb3a0b2b2813870ad5a2fd7b18c6d9da7d0086d9c188e846040518082815260200191505060405180910390a250505050565b6000600460009054906101000a900460ff16158061105f5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61106857600080fd5b6110728383611cc4565b905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600460009054906101000a900460ff16158061112e5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61113757600080fd5b6111418383611ead565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461122a57600080fd5b61123382610eba565b81111561123f57600080fd5b600061124a83610eba565b905060006112618383611c4990919063ffffffff16565b905061126d8482611c7c565b8373ffffffffffffffffffffffffffffffffffffffff167f25f6369ffb8611a066eafc897e56f4f4d2b8fc713cca586bd93e9b1af04a6cc0846040518082815260200191505060405180910390a250505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461131b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561135557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808214806114a157506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6114aa57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115d557600080fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561165e57600080fd5b8161166885610cb5565b101561167357600080fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170583600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6090919063ffffffff16565b1161170f57600080fd5b61176182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117f682600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118c882600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4990919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611ac9576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b5d565b611adc8382611c4990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600082821115611c5557fe5b818303905092915050565b600080828401905083811015611c7257fe5b8091505092915050565b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cff57600080fd5b611d0833610cb5565b821115611d1457600080fd5b611d6682600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dfb82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000611f3e82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509291505056fea265627a7a72315820cdb076dca2f93f445190ab4112fb684e78d38fb66ad2315200194153ccc54a7864736f6c634300050b0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638456cb59116100b8578063a9059cbb1161007c578063a9059cbb146105d7578063d3d381931461063d578063d73dd62314610695578063dd62ed3e146106fb578063e9b2f0ad14610773578063f2fde38b146107c157610142565b80638456cb591461045a5780638da5cb5b1461046457806395d89b41146104ae5780639f2cfaf114610531578063a4df6c6a1461058957610142565b80633f4ba83a1161010a5780633f4ba83a146102f85780634d853ee5146103025780635c975abb1461034c578063661884631461036e5780636d1b229d146103d457806370a082311461040257610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806323b872dd1461024e578063313ce567146102d4575b600080fd5b61014f610805565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a3565b604051808215151515815260200191505060405180910390f35b610238610929565b6040518082815260200191505060405180910390f35b6102ba6004803603606081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092f565b604051808215151515815260200191505060405180910390f35b6102dc6109b7565b604051808260ff1660ff16815260200191505060405180910390f35b6103006109ca565b005b61030a610a86565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610354610aac565b604051808215151515815260200191505060405180910390f35b6103ba6004803603604081101561038457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610abf565b604051808215151515815260200191505060405180910390f35b610400600480360360208110156103ea57600080fd5b8101908080359060200190929190505050610b45565b005b6104446004803603602081101561041857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cb5565b6040518082815260200191505060405180910390f35b610462610ce1565b005b61046c610df6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104b6610e1c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105736004803603602081101561054757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eba565b6040518082815260200191505060405180910390f35b6105d56004803603604081101561059f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f03565b005b610623600480360360408110156105ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ff4565b604051808215151515815260200191505060405180910390f35b61067f6004803603602081101561065357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061107a565b6040518082815260200191505060405180910390f35b6106e1600480360360408110156106ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110c3565b604051808215151515815260200191505060405180910390f35b61075d6004803603604081101561071157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611149565b6040518082815260200191505060405180910390f35b6107bf6004803603604081101561078957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111d0565b005b610803600480360360208110156107d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112c1565b005b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089b5780601f106108705761010080835404028352916020019161089b565b820191906000526020600020905b81548152906001019060200180831161087e57829003601f168201915b505050505081565b6000600460009054906101000a900460ff16158061090e5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61091757600080fd5b6109218383611415565b905092915050565b60005481565b6000600460009054906101000a900460ff16158061099a5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6109a357600080fd5b6109ae84848461159a565b90509392505050565b600760009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a2457600080fd5b600460009054906101000a900460ff16610a3d57600080fd5b6000600460006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900460ff1681565b6000600460009054906101000a900460ff161580610b2a5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b3357600080fd5b610b3d83836119b8565b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b9f57600080fd5b80610ba933610cb5565b1015610bb457600080fd5b610c0681600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5e81600054611c4990919063ffffffff16565b6000819055503373ffffffffffffffffffffffffffffffffffffffff167ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb6826040518082815260200191505060405180910390a250565b6000610cda610cc383610eba565b610ccc8461107a565b611c4990919063ffffffff16565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d3b57600080fd5b600460009054906101000a900460ff161580610da45750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610dad57600080fd5b6001600460006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb25780601f10610e8757610100808354040283529160200191610eb2565b820191906000526020600020905b815481529060010190602001808311610e9557829003601f168201915b505050505081565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f5d57600080fd5b610f6682610cb5565b811115610f7257600080fd5b6000610f7d83610eba565b90506000610f948383611c6090919063ffffffff16565b9050610fa08482611c7c565b8373ffffffffffffffffffffffffffffffffffffffff167f2303912415a23c08c0cbb3a0b2b2813870ad5a2fd7b18c6d9da7d0086d9c188e846040518082815260200191505060405180910390a250505050565b6000600460009054906101000a900460ff16158061105f5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61106857600080fd5b6110728383611cc4565b905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600460009054906101000a900460ff16158061112e5750600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61113757600080fd5b6111418383611ead565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461122a57600080fd5b61123382610eba565b81111561123f57600080fd5b600061124a83610eba565b905060006112618383611c4990919063ffffffff16565b905061126d8482611c7c565b8373ffffffffffffffffffffffffffffffffffffffff167f25f6369ffb8611a066eafc897e56f4f4d2b8fc713cca586bd93e9b1af04a6cc0846040518082815260200191505060405180910390a250505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461131b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561135557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808214806114a157506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6114aa57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115d557600080fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561165e57600080fd5b8161166885610cb5565b101561167357600080fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170583600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6090919063ffffffff16565b1161170f57600080fd5b61176182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117f682600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118c882600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4990919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611ac9576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b5d565b611adc8382611c4990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600082821115611c5557fe5b818303905092915050565b600080828401905083811015611c7257fe5b8091505092915050565b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cff57600080fd5b611d0833610cb5565b821115611d1457600080fd5b611d6682600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dfb82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000611f3e82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509291505056fea265627a7a72315820cdb076dca2f93f445190ab4112fb684e78d38fb66ad2315200194153ccc54a7864736f6c634300050b0032

Deployed Bytecode Sourcemap

9364:3168:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9364:3168:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9415:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9415:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8833:144;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8833:144:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1982:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8440:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8440:166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9467:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8138:105;;;:::i;:::-;;7464:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7429:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9170:187;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9170:187:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12250:279;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12250:279:0;;;;;;;;;;;;;;;;;:::i;:::-;;11445:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11445:148:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7942:103;;;:::i;:::-;;1071:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9440;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9440:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11999:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11999:132:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10564:353;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10564:353:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8296:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8296:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11601:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11601:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8985:177;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8985:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6059:144;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6059:144:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10929:364;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10929:364:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1724:192;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1724:192:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9415:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8833:144::-;8914:4;7632:6;;;;;;;;;;;7631:7;:32;;;;7656:7;;;;;;;;;;;7642:21;;:10;:21;;;7631:32;7623:41;;;;;;8938:31;8952:8;8962:6;8938:13;:31::i;:::-;8931:38;;8833:144;;;;:::o;1982:26::-;;;;:::o;8440:166::-;8536:4;7632:6;;;;;;;;;;;7631:7;:32;;;;7656:7;;;;;;;;;;;7642:21;;:10;:21;;;7631:32;7623:41;;;;;;8560:38;8579:5;8586:3;8591:6;8560:18;:38::i;:::-;8553:45;;8440:166;;;;;:::o;9467:21::-;;;;;;;;;;;;;:::o;8138:105::-;1524:5;;;;;;;;;;;1510:19;;:10;:19;;;1502:28;;;;;;7825:6;;;;;;;;;;;7817:15;;;;;;8205:5;8196:6;;:14;;;;;;;;;;;;;;;;;;8226:9;;;;;;;;;;8138:105::o;7464:22::-;;;;;;;;;;;;;:::o;7429:26::-;;;;;;;;;;;;;:::o;9170:187::-;9267:12;7632:6;;;;;;;;;;;7631:7;:32;;;;7656:7;;;;;;;;;;;7642:21;;:10;:21;;;7631:32;7623:41;;;;;;9299:50;9322:8;9332:16;9299:22;:50::i;:::-;9292:57;;9170:187;;;;:::o;12250:279::-;1524:5;;;;;;;;;;;1510:19;;:10;:19;;;1502:28;;;;;;12348:7;12323:21;12333:10;12323:9;:21::i;:::-;:32;;12315:41;;;;;;12390:33;12415:7;12390:8;:20;12399:10;12390:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;12367:8;:20;12376:10;12367:20;;;;;;;;;;;;;;;:56;;;;12448:24;12464:7;12448:11;;:15;;:24;;;;:::i;:::-;12434:11;:38;;;;12501:10;12488:33;;;12513:7;12488:33;;;;;;;;;;;;;;;;;;12250:279;:::o;11445:148::-;11500:7;11532:53;11560:24;11577:6;11560:16;:24::i;:::-;11532:23;11548:6;11532:15;:23::i;:::-;:27;;:53;;;;:::i;:::-;11525:60;;11445:148;;;:::o;7942:103::-;1524:5;;;;;;;;;;;1510:19;;:10;:19;;;1502:28;;;;;;7632:6;;;;;;;;;;;7631:7;:32;;;;7656:7;;;;;;;;;;;7642:21;;:10;:21;;;7631:32;7623:41;;;;;;8010:4;8001:6;;:13;;;;;;;;;;;;;;;;;;8030:7;;;;;;;;;;7942:103::o;1071:20::-;;;;;;;;;;;;;:::o;9440:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11999:132::-;12061:7;12093:19;:27;12113:6;12093:27;;;;;;;;;;;;;;;;12086:34;;11999:132;;;:::o;10564:353::-;1524:5;;;;;;;;;;;1510:19;;:10;:19;;;1502:28;;;;;;10664:17;10674:6;10664:9;:17::i;:::-;10654:6;:27;;10646:36;;;;;;10693:24;10720;10737:6;10720:16;:24::i;:::-;10693:51;;10755:24;10782:28;10803:6;10782:16;:20;;:28;;;;:::i;:::-;10755:55;;10821:41;10838:6;10845:16;10821;:41::i;:::-;10895:6;10878:31;;;10902:6;10878:31;;;;;;;;;;;;;;;;;;1541:1;;10564:353;;:::o;8296:136::-;8373:4;7632:6;;;;;;;;;;;7631:7;:32;;;;7656:7;;;;;;;;;;;7642:21;;:10;:21;;;7631:32;7623:41;;;;;;8397:27;8412:3;8417:6;8397:14;:27::i;:::-;8390:34;;8296:136;;;;:::o;11601:120::-;11662:7;11694:8;:16;11703:6;11694:16;;;;;;;;;;;;;;;;11687:23;;11601:120;;;:::o;8985:177::-;9077:12;7632:6;;;;;;;;;;;7631:7;:32;;;;7656:7;;;;;;;;;;;7642:21;;:10;:21;;;7631:32;7623:41;;;;;;9109:45;9132:8;9142:11;9109:22;:45::i;:::-;9102:52;;8985:177;;;;:::o;6059:144::-;6133:17;6170:7;:15;6178:6;6170:15;;;;;;;;;;;;;;;:25;6186:8;6170:25;;;;;;;;;;;;;;;;6163:32;;6059:144;;;;:::o;10929:364::-;1524:5;;;;;;;;;;;1510:19;;:10;:19;;;1502:28;;;;;;11031:24;11048:6;11031:16;:24::i;:::-;11021:6;:34;;11013:43;;;;;;11067:24;11094;11111:6;11094:16;:24::i;:::-;11067:51;;11129:24;11156:28;11177:6;11156:16;:20;;:28;;;;:::i;:::-;11129:55;;11195:41;11212:6;11219:16;11195;:41::i;:::-;11271:6;11252:33;;;11278:6;11252:33;;;;;;;;;;;;;;;;;;1541:1;;10929:364;;:::o;1724:192::-;1524:5;;;;;;;;;;;1510:19;;:10;:19;;;1502:28;;;;;;1825:1;1805:22;;:8;:22;;;;1797:31;;;;;;1872:8;1844:37;;1865:5;;;;;;;;;;;1844:37;;;;;;;;;;;;1900:8;1892:5;;:16;;;;;;;;;;;;;;;;;;1724:192;:::o;5136:587::-;5203:4;5547:1;5537:6;:11;5536:53;;;;5587:1;5554:7;:19;5562:10;5554:19;;;;;;;;;;;;;;;:29;5574:8;5554:29;;;;;;;;;;;;;;;;:34;5536:53;5528:62;;;;;;5633:6;5601:7;:19;5609:10;5601:19;;;;;;;;;;;;;;;:29;5621:8;5601:29;;;;;;;;;;;;;;;:38;;;;5676:8;5655:38;;5664:10;5655:38;;;5686:6;5655:38;;;;;;;;;;;;;;;;;;5711:4;5704:11;;5136:587;;;;:::o;4318:571::-;4400:4;4440:1;4425:17;;:3;:17;;;;4417:26;;;;;;4492:6;4462:7;:14;4470:5;4462:14;;;;;;;;;;;;;;;:26;4477:10;4462:26;;;;;;;;;;;;;;;;:36;;4454:45;;;;;;4538:6;4518:16;4528:5;4518:9;:16::i;:::-;:26;;4510:35;;;;;;4592:8;:13;4601:3;4592:13;;;;;;;;;;;;;;;;4564:25;4582:6;4564:8;:13;4573:3;4564:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;:41;4556:50;;;;;;4658:27;4678:6;4658:8;:15;4667:5;4658:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4640:8;:15;4649:5;4640:15;;;;;;;;;;;;;;;:45;;;;4712:25;4730:6;4712:8;:13;4721:3;4712:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4696:8;:13;4705:3;4696:13;;;;;;;;;;;;;;;:41;;;;4777:38;4808:6;4777:7;:14;4785:5;4777:14;;;;;;;;;;;;;;;:26;4792:10;4777:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;4748:7;:14;4756:5;4748:14;;;;;;;;;;;;;;;:26;4763:10;4748:26;;;;;;;;;;;;;;;:67;;;;4847:3;4831:28;;4840:5;4831:28;;;4852:6;4831:28;;;;;;;;;;;;;;;;;;4877:4;4870:11;;4318:571;;;;;:::o;6758:459::-;6842:12;6867:13;6883:7;:19;6891:10;6883:19;;;;;;;;;;;;;;;:29;6903:8;6883:29;;;;;;;;;;;;;;;;6867:45;;6946:8;6927:16;:27;6923:188;;;7003:1;6971:7;:19;6979:10;6971:19;;;;;;;;;;;;;;;:29;6991:8;6971:29;;;;;;;;;;;;;;;:33;;;;6923:188;;;7069:30;7082:16;7069:8;:12;;:30;;;;:::i;:::-;7037:7;:19;7045:10;7037:19;;;;;;;;;;;;;;;:29;7057:8;7037:29;;;;;;;;;;;;;;;:62;;;;6923:188;7147:8;7126:61;;7135:10;7126:61;;;7157:7;:19;7165:10;7157:19;;;;;;;;;;;;;;;:29;7177:8;7157:29;;;;;;;;;;;;;;;;7126:61;;;;;;;;;;;;;;;;;;7205:4;7198:11;;;6758:459;;;;:::o;567:123::-;625:7;657:1;652;:6;;645:14;;;;681:1;677;:5;670:12;;567:123;;;;:::o;698:147::-;756:7;776:9;792:1;788;:5;776:17;;816:1;811;:6;;804:14;;;;836:1;829:8;;;698:147;;;;:::o;11311:126::-;11420:9;11392:19;:27;11412:6;11392:27;;;;;;;;;;;;;;;:37;;;;11311:126;;:::o;3040:424::-;3103:4;3143:1;3128:17;;:3;:17;;;;3120:26;;;;;;3175:21;3185:10;3175:9;:21::i;:::-;3165:6;:31;;3157:40;;;;;;3301:32;3326:6;3301:8;:20;3310:10;3301:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3278:8;:20;3287:10;3278:20;;;;;;;;;;;;;;;:55;;;;3360:25;3378:6;3360:8;:13;3369:3;3360:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3344:8;:13;3353:3;3344:13;;;;;;;;;;;;;;;:41;;;;3422:3;3401:33;;3410:10;3401:33;;;3427:6;3401:33;;;;;;;;;;;;;;;;;;3452:4;3445:11;;3040:424;;;;:::o;6461:289::-;6540:12;6597:46;6631:11;6597:7;:19;6605:10;6597:19;;;;;;;;;;;;;;;:29;6617:8;6597:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;6565:7;:19;6573:10;6565:19;;;;;;;;;;;;;;;:29;6585:8;6565:29;;;;;;;;;;;;;;;:78;;;;6680:8;6659:61;;6668:10;6659:61;;;6690:7;:19;6698:10;6690:19;;;;;;;;;;;;;;;:29;6710:8;6690:29;;;;;;;;;;;;;;;;6659:61;;;;;;;;;;;;;;;;;;6738:4;6731:11;;6461:289;;;;:::o

Swarm Source

bzzr://cdb076dca2f93f445190ab4112fb684e78d38fb66ad2315200194153ccc54a78
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.