ETH Price: $2,523.99 (+2.57%)

Token

YFDAO (YFDAO)
 

Overview

Max Total Supply

10,000,000 YFDAO

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
290,961 YFDAO

Value
$0.00
0xa15d205337cc4c10cf00350eb92a5fb362b359d2
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:
Token

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-11-01
*/

pragma solidity ^0.6.0;

// ----------------------------------------------------------------------------
// 'YFDAO' token contract

// Symbol      : YFDAO
// Name        : YFDAO
// Total supply: 10 million 
// Decimals    : 18
// ----------------------------------------------------------------------------




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;
  }
  
  function ceil(uint a, uint m) internal pure returns (uint r) {
    return (a + m - 1) / m * m;
  }
}

abstract contract ERC20Interface {
    function totalSupply() public virtual view returns (uint);
    function balanceOf(address tokenOwner) public virtual view returns (uint256 balance);
    function allowance(address tokenOwner, address spender) public virtual view returns (uint256 remaining);
    function transfer(address to, uint256 tokens) public virtual returns (bool success);
    function approve(address spender, uint256 tokens) public virtual returns (bool success);
    function transferFrom(address from, address to, uint256 tokens) public virtual returns (bool success);

    event Transfer(address indexed from, address indexed to, uint256 tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint256 tokens);
}

contract Owned {
    address payable public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address payable _newOwner) public onlyOwner {
        owner = _newOwner;
        emit OwnershipTransferred(msg.sender, _newOwner);
    }
}

// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and assisted
// token transfers
// ----------------------------------------------------------------------------
contract Token is ERC20Interface, Owned {
    using SafeMath for uint256;
    string public symbol = "YFDAO";
    string public  name = "YFDAO";
    uint256 public decimals = 18;
    uint256 public currentSupply = 1000000 * 10**(decimals); // 1 million
    uint256 _totalSupply = 10000000 * 10**(decimals); // 10 million
    uint256 public totalBurnt=0;
    address public owner1= 0x5102CfE9dcbB621BB22883D655e35D76aA2ebb70;
    address public owner2=0xe9f87ad9976A831C358fD08E4ac71c2eA80887E0;
    address public stakeFarmingContract;
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) allowed;
    
    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor() public {
        // mint _totalSupply amount of tokens and send to owner
        balances[owner] = balances[owner].add(currentSupply);
        emit Transfer(address(0),owner,currentSupply);
    }
    
    // ------------------------------------------------------------------------
    // Set the STAKE_FARMING_CONTRACT
    // @required only owner
    // ------------------------------------------------------------------------
    function setStakeFarmingContract(address _address) external onlyOwner{
        require(_address != address(0), "Invalid address");
        stakeFarmingContract = _address;
    }
    
    // ------------------------------------------------------------------------
    // Token Minting function
    // @params _amount expects the amount of tokens to be minted excluding the 
    // required decimals
    // @params _beneficiary tokens will be sent to _beneficiary
    // @required only stakeFarmingContract
    // ------------------------------------------------------------------------
    function mintTokens(uint256 _amount, address _beneficiary) public returns(bool){
        require(msg.sender == stakeFarmingContract);
        require(_beneficiary != address(0), "Invalid address");
        require(currentSupply.add(_amount) <= _totalSupply, "exceeds max cap supply 10 million");
       currentSupply = currentSupply.add(_amount);
        
        // mint _amount tokens and keep inside contract
        balances[_beneficiary] = balances[_beneficiary].add(_amount);
        
        emit Transfer(stakeFarmingContract,_beneficiary, _amount);
        return true;
    }
    
   
   
    // ------------------------------------------------------------------------
   
    
    /** ERC20Interface function's implementation **/
    
    // ------------------------------------------------------------------------
    // Get the total supply of the `token`
    // ------------------------------------------------------------------------
    function totalSupply() public override view returns (uint256){
       return _totalSupply; 
    }
    
    // ------------------------------------------------------------------------
    // Get the token balance for account `tokenOwner`
    // ------------------------------------------------------------------------
    function balanceOf(address tokenOwner) public override view returns (uint256 balance) {
        return balances[tokenOwner];
    }

    // ------------------------------------------------------------------------
    // Transfer the balance from token owner's account to `to` account
    // - Owner's account must have sufficient balance to transfer
    // - 0 value transfers are allowed
    // - 1% burn on every transaction except for owners and stakeFarmingContract(In and Out both the transactions are included)
    // ------------------------------------------------------------------------
    function transfer(address to, uint256 tokens) public override returns  (bool success) {
        // prevent transfer to 0x0, use burn instead
        require(address(to) != address(0));
        require(balances[msg.sender] >= tokens );
        require(balances[to].add(tokens) >= balances[to]);
        if(msg.sender==owner1|| msg.sender==owner2 || to==stakeFarmingContract || msg.sender==stakeFarmingContract){
             balances[msg.sender] = balances[msg.sender].sub(tokens);
             balances[to] = balances[to].add(tokens);
              emit Transfer(msg.sender,to,tokens);
        }else{
            uint256 burnAmount= (tokens.mul(1)).div(100);
            totalBurnt=totalBurnt.add(burnAmount);
            currentSupply=currentSupply.sub(burnAmount);
             balances[msg.sender] = balances[msg.sender].sub(tokens);
             balances[to] = balances[to].add(tokens.sub(burnAmount));
              emit Transfer(msg.sender,to,tokens.sub(burnAmount));
              emit Transfer(msg.sender,address(0),burnAmount);
           
    }
     return true;
    }

    /**
     * @dev See `IERC20.approve`.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 value) public override returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    // ------------------------------------------------------------------------
    // Transfer `tokens` from the `from` account to the `to` account
    // 
    // The calling account must already have sufficient tokens approve(...)-d
    // for spending from the `from` account and
    // - From account must have sufficient balance to transfer
    // - Spender must have sufficient allowance to transfer
    // - 0 value transfers are allowed
    // - 1% burn on every transaction except for owners and stakeFarmingContract(In and Out both the transactions are included)
    // ------------------------------------------------------------------------
    function transferFrom(address from, address to, uint256 tokens) public override returns (bool success){
        require(tokens <= allowed[from][msg.sender]); //check allowance
        require(balances[from] >= tokens);
        require(from != address(0), "Invalid address");
        require(to != address(0), "Invalid address");
        
        if(from==owner1|| from==owner2 || to==stakeFarmingContract){
             balances[from] = balances[from].sub(tokens);
             balances[to] = balances[to].add(tokens);
               allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
              emit Transfer(from,to,tokens);
        }else{
            uint256 burnAmount= (tokens.mul(1)).div(100);
            totalBurnt=totalBurnt.add(burnAmount);
            currentSupply=currentSupply.sub(burnAmount);
             balances[from] = balances[from].sub(tokens);
             balances[to] = balances[to].add(tokens.sub(burnAmount));
             allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens.sub(burnAmount));
              emit Transfer(from,to,tokens.sub(burnAmount));
              emit Transfer(from,address(0),burnAmount);
           
        }
        return true;
    }
    
    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    // ------------------------------------------------------------------------
    function allowance(address tokenOwner, address spender) public override view returns (uint256 remaining) {
        return allowed[tokenOwner][spender];
    }
    
    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, allowed[msg.sender][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, allowed[msg.sender][spender].sub(subtractedValue));
        return true;
    }
    
    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an `Approval` event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        allowed[owner][spender] = value;
        emit Approval(owner, spender, value);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","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"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"tokenOwner","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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_beneficiary","type":"address"}],"name":"mintTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setStakeFarmingContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakeFarmingContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurnt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","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":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600581526020017f594644414f00000000000000000000000000000000000000000000000000000081525060019080519060200190620000519291906200034a565b506040518060400160405280600581526020017f594644414f000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f9291906200034a565b506012600355600354600a0a620f424002600455600354600a0a62989680026005556000600655735102cfe9dcbb621bb22883d655e35d76aa2ebb70600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e9f87ad9976a831c358fd08e4ac71c2ea80887e0600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200017d57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200023a600454600a60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200032d60201b620022b91790919060201c565b600a60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a3620003f9565b6000808284019050838110156200034057fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200038d57805160ff1916838001178555620003be565b82800160010185558215620003be579182015b82811115620003bd578251825591602001919060010190620003a0565b5b509050620003cd9190620003d1565b5090565b620003f691905b80821115620003f2576000816000905550600101620003d8565b5090565b90565b6123d980620004096000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806373688914116100ad578063966ff65011610071578063966ff6501461060d578063a457c2d71461062b578063a9059cbb14610691578063dd62ed3e146106f7578063f2fde38b1461076f5761012c565b8063736889141461049457806373c64d4d146104de578063771282f6146105225780638da5cb5b1461054057806395d89b411461058a5761012c565b80632a87c4ec116100f45780632a87c4ec14610324578063313ce5671461036e578063395093511461038c57806352709725146103f257806370a082311461043c5761012c565b806306fdde0314610131578063095ea7b3146101b457806310c5b3281461021a57806318160ddd1461028057806323b872dd1461029e575b600080fd5b6101396107b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610200600480360360408110156101ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610851565b604051808215151515815260200191505060405180910390f35b6102666004803603604081101561023057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610868565b604051808215151515815260200191505060405180910390f35b610288610b17565b6040518082815260200191505060405180910390f35b61030a600480360360608110156102b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b21565b604051808215151515815260200191505060405180910390f35b61032c61148f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103766114b5565b6040518082815260200191505060405180910390f35b6103d8600480360360408110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114bb565b604051808215151515815260200191505060405180910390f35b6103fa611560565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61047e6004803603602081101561045257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611586565b6040518082815260200191505060405180910390f35b61049c6115cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610520600480360360208110156104f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115f5565b005b61052a611735565b6040518082815260200191505060405180910390f35b61054861173b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610592611760565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d25780820151818401526020810190506105b7565b50505050905090810190601f1680156105ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106156117fe565b6040518082815260200191505060405180910390f35b6106776004803603604081101561064157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611804565b604051808215151515815260200191505060405180910390f35b6106dd600480360360408110156106a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118a9565b604051808215151515815260200191505060405180910390f35b6107596004803603604081101561070d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f45565b6040518082815260200191505060405180910390f35b6107b16004803603602081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fcc565b005b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108495780601f1061081e57610100808354040283529160200191610849565b820191906000526020600020905b81548152906001019060200180831161082c57829003601f168201915b505050505081565b600061085e3384846120c2565b6001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108c457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60055461097f846004546122b990919063ffffffff16565b11156109d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061235f6021913960400191505060405180910390fd5b6109eb836004546122b990919063ffffffff16565b600481905550610a4383600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610bac57600080fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610bf857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610c9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610de75750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80610e3f5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156110e757610e9682600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f2b82600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ffd82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611484565b600061111060646111026001866122ec90919063ffffffff16565b61232390919063ffffffff16565b9050611127816006546122b990919063ffffffff16565b600681905550611142816004546122d590919063ffffffff16565b60048190555061119a83600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112416111f382856122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061132561129a82856122d590919063ffffffff16565b600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61140784876122d590919063ffffffff16565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b600190509392505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000611556338461155185600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b6120c2565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461164e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117f65780601f106117cb576101008083540402835291602001916117f6565b820191906000526020600020905b8154815290600101906020018083116117d957829003601f168201915b505050505081565b60065481565b600061189f338461189a85600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b6120c2565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118e457600080fd5b81600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561193057600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119c283600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b10156119cd57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a765750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611ace5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611b265750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15611cbf57611b7d82600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1282600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611f3b565b6000611ce86064611cda6001866122ec90919063ffffffff16565b61232390919063ffffffff16565b9050611cff816006546122b990919063ffffffff16565b600681905550611d1a816004546122d590919063ffffffff16565b600481905550611d7283600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e19611dcb82856122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ebe84876122d590919063ffffffff16565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461202557600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612148576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123806024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061233d6022913960400191505060405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000808284019050838110156122cb57fe5b8091505092915050565b6000828211156122e157fe5b818303905092915050565b6000808314156122ff576000905061231d565b600082840290508284828161231057fe5b041461231857fe5b809150505b92915050565b60008082848161232f57fe5b049050809150509291505056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737365786365656473206d61782063617020737570706c79203130206d696c6c696f6e45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220e4ac6ee1df4b0422d3cf9da390c748c6d581fb5f835da7ff72d04dca5360b18d64736f6c63430006000033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806373688914116100ad578063966ff65011610071578063966ff6501461060d578063a457c2d71461062b578063a9059cbb14610691578063dd62ed3e146106f7578063f2fde38b1461076f5761012c565b8063736889141461049457806373c64d4d146104de578063771282f6146105225780638da5cb5b1461054057806395d89b411461058a5761012c565b80632a87c4ec116100f45780632a87c4ec14610324578063313ce5671461036e578063395093511461038c57806352709725146103f257806370a082311461043c5761012c565b806306fdde0314610131578063095ea7b3146101b457806310c5b3281461021a57806318160ddd1461028057806323b872dd1461029e575b600080fd5b6101396107b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610200600480360360408110156101ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610851565b604051808215151515815260200191505060405180910390f35b6102666004803603604081101561023057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610868565b604051808215151515815260200191505060405180910390f35b610288610b17565b6040518082815260200191505060405180910390f35b61030a600480360360608110156102b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b21565b604051808215151515815260200191505060405180910390f35b61032c61148f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103766114b5565b6040518082815260200191505060405180910390f35b6103d8600480360360408110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114bb565b604051808215151515815260200191505060405180910390f35b6103fa611560565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61047e6004803603602081101561045257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611586565b6040518082815260200191505060405180910390f35b61049c6115cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610520600480360360208110156104f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115f5565b005b61052a611735565b6040518082815260200191505060405180910390f35b61054861173b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610592611760565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d25780820151818401526020810190506105b7565b50505050905090810190601f1680156105ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106156117fe565b6040518082815260200191505060405180910390f35b6106776004803603604081101561064157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611804565b604051808215151515815260200191505060405180910390f35b6106dd600480360360408110156106a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118a9565b604051808215151515815260200191505060405180910390f35b6107596004803603604081101561070d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f45565b6040518082815260200191505060405180910390f35b6107b16004803603602081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fcc565b005b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108495780601f1061081e57610100808354040283529160200191610849565b820191906000526020600020905b81548152906001019060200180831161082c57829003601f168201915b505050505081565b600061085e3384846120c2565b6001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108c457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60055461097f846004546122b990919063ffffffff16565b11156109d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061235f6021913960400191505060405180910390fd5b6109eb836004546122b990919063ffffffff16565b600481905550610a4383600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610bac57600080fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610bf857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610c9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610de75750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80610e3f5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156110e757610e9682600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f2b82600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ffd82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611484565b600061111060646111026001866122ec90919063ffffffff16565b61232390919063ffffffff16565b9050611127816006546122b990919063ffffffff16565b600681905550611142816004546122d590919063ffffffff16565b60048190555061119a83600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112416111f382856122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061132561129a82856122d590919063ffffffff16565b600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61140784876122d590919063ffffffff16565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b600190509392505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000611556338461155185600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b6120c2565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461164e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117f65780601f106117cb576101008083540402835291602001916117f6565b820191906000526020600020905b8154815290600101906020018083116117d957829003601f168201915b505050505081565b60065481565b600061189f338461189a85600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b6120c2565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118e457600080fd5b81600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561193057600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119c283600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b10156119cd57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a765750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611ace5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611b265750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15611cbf57611b7d82600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1282600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611f3b565b6000611ce86064611cda6001866122ec90919063ffffffff16565b61232390919063ffffffff16565b9050611cff816006546122b990919063ffffffff16565b600681905550611d1a816004546122d590919063ffffffff16565b600481905550611d7283600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e19611dcb82856122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ebe84876122d590919063ffffffff16565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461202557600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612148576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123806024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061233d6022913960400191505060405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000808284019050838110156122cb57fe5b8091505092915050565b6000828211156122e157fe5b818303905092915050565b6000808314156122ff576000905061231d565b600082840290508284828161231057fe5b041461231857fe5b809150505b92915050565b60008082848161232f57fe5b049050809150509291505056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737365786365656473206d61782063617020737570706c79203130206d696c6c696f6e45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220e4ac6ee1df4b0422d3cf9da390c748c6d581fb5f835da7ff72d04dca5360b18d64736f6c63430006000033

Deployed Bytecode Sourcemap

2667:9689:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2667:9689:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2784:29;;;:::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;2784:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7725:157;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7725:157:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4567:595;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4567:595:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5542:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8553:1240;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8553:1240:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3176:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2820:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10655:202;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10655:202:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3105:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5870:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5870:132:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3033:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3966:180;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3966:180:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2855:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1967:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2747:30;;;:::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;2747:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2999:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11360:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11360:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6480:1098;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6480:1098:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10083:159;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10083:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2235:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2235:166:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2784:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7725:157::-;7799:4;7816:36;7825:10;7837:7;7846:5;7816:8;:36::i;:::-;7870:4;7863:11;;7725:157;;;;:::o;4567:595::-;4641:4;4679:20;;;;;;;;;;;4665:34;;:10;:34;;;4657:43;;;;;;4743:1;4719:26;;:12;:26;;;;4711:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:12;;4784:26;4802:7;4784:13;;:17;;:26;;;;:::i;:::-;:42;;4776:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4890:26;4908:7;4890:13;;:17;;:26;;;;:::i;:::-;4874:13;:42;;;;5019:35;5046:7;5019:8;:22;5028:12;5019:22;;;;;;;;;;;;;;;;:26;;:35;;;;:::i;:::-;4994:8;:22;5003:12;4994:22;;;;;;;;;;;;;;;:60;;;;5110:12;5080:52;;5089:20;;;;;;;;;;;5080:52;;;5124:7;5080:52;;;;;;;;;;;;;;;;;;5150:4;5143:11;;4567:595;;;;:::o;5542:99::-;5595:7;5620:12;;5613:19;;5542:99;:::o;8553:1240::-;8642:12;8684:7;:13;8692:4;8684:13;;;;;;;;;;;;;;;:25;8698:10;8684:25;;;;;;;;;;;;;;;;8674:6;:35;;8666:44;;;;;;8765:6;8747:8;:14;8756:4;8747:14;;;;;;;;;;;;;;;;:24;;8739:33;;;;;;8807:1;8791:18;;:4;:18;;;;8783:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8862:1;8848:16;;:2;:16;;;;8840:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8914:6;;;;;;;;;;;8908:12;;:4;:12;;;:27;;;;8929:6;;;;;;;;;;;8923:12;;:4;:12;;;8908:27;:55;;;;8943:20;;;;;;;;;;;8939:24;;:2;:24;;;8908:55;8905:859;;;8997:26;9016:6;8997:8;:14;9006:4;8997:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;8980:8;:14;8989:4;8980:14;;;;;;;;;;;;;;;:43;;;;9054:24;9071:6;9054:8;:12;9063:2;9054:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;9039:8;:12;9048:2;9039:12;;;;;;;;;;;;;;;:39;;;;9124:37;9154:6;9124:7;:13;9132:4;9124:13;;;;;;;;;;;;;;;:25;9138:10;9124:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;9096:7;:13;9104:4;9096:13;;;;;;;;;;;;;;;:25;9110:10;9096:25;;;;;;;;;;;;;;;:65;;;;9197:2;9183:24;;9192:4;9183:24;;;9200:6;9183:24;;;;;;;;;;;;;;;;;;8905:859;;;9238:18;9258:24;9278:3;9259:13;9270:1;9259:6;:10;;:13;;;;:::i;:::-;9258:19;;:24;;;;:::i;:::-;9238:44;;9308:26;9323:10;9308;;:14;;:26;;;;:::i;:::-;9297:10;:37;;;;9363:29;9381:10;9363:13;;:17;;:29;;;;:::i;:::-;9349:13;:43;;;;9425:26;9444:6;9425:8;:14;9434:4;9425:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;9408:8;:14;9417:4;9408:14;;;;;;;;;;;;;;;:43;;;;9482:40;9499:22;9510:10;9499:6;:10;;:22;;;;:::i;:::-;9482:8;:12;9491:2;9482:12;;;;;;;;;;;;;;;;:16;;:40;;;;:::i;:::-;9467:8;:12;9476:2;9467:12;;;;;;;;;;;;;;;:55;;;;9566:53;9596:22;9607:10;9596:6;:10;;:22;;;;:::i;:::-;9566:7;:13;9574:4;9566:13;;;;;;;;;;;;;;;:25;9580:10;9566:25;;;;;;;;;;;;;;;;:29;;:53;;;;:::i;:::-;9538:7;:13;9546:4;9538:13;;;;;;;;;;;;;;;:25;9552:10;9538:25;;;;;;;;;;;;;;;:81;;;;9655:2;9641:40;;9650:4;9641:40;;;9658:22;9669:10;9658:6;:10;;:22;;;;:::i;:::-;9641:40;;;;;;;;;;;;;;;;;;9725:1;9703:36;;9712:4;9703:36;;;9728:10;9703:36;;;;;;;;;;;;;;;;;;8905:859;;9781:4;9774:11;;8553:1240;;;;;:::o;3176:35::-;;;;;;;;;;;;;:::o;2820:28::-;;;;:::o;10655:202::-;10735:4;10752:75;10761:10;10773:7;10782:44;10815:10;10782:7;:19;10790:10;10782:19;;;;;;;;;;;;;;;:28;10802:7;10782:28;;;;;;;;;;;;;;;;:32;;:44;;;;:::i;:::-;10752:8;:75::i;:::-;10845:4;10838:11;;10655:202;;;;:::o;3105:64::-;;;;;;;;;;;;;:::o;5870:132::-;5939:15;5974:8;:20;5983:10;5974:20;;;;;;;;;;;;;;;;5967:27;;5870:132;;;:::o;3033:65::-;;;;;;;;;;;;;:::o;3966:180::-;2201:5;;;;;;;;;;;2187:19;;:10;:19;;;2179:28;;;;;;4074:1:::1;4054:22;;:8;:22;;;;4046:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4130:8;4107:20;;:31;;;;;;;;;;;;;;;;;;3966:180:::0;:::o;2855:55::-;;;;:::o;1967:28::-;;;;;;;;;;;;;:::o;2747:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2999:27::-;;;;:::o;11360:212::-;11445:4;11462:80;11471:10;11483:7;11492:49;11525:15;11492:7;:19;11500:10;11492:19;;;;;;;;;;;;;;;:28;11512:7;11492:28;;;;;;;;;;;;;;;;:32;;:49;;;;:::i;:::-;11462:8;:80::i;:::-;11560:4;11553:11;;11360:212;;;;:::o;6480:1098::-;6552:12;6662:1;6639:25;;6647:2;6639:25;;;;6631:34;;;;;;6708:6;6684:8;:20;6693:10;6684:20;;;;;;;;;;;;;;;;:30;;6676:40;;;;;;6763:8;:12;6772:2;6763:12;;;;;;;;;;;;;;;;6735:24;6752:6;6735:8;:12;6744:2;6735:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;:40;;6727:49;;;;;;6802:6;;;;;;;;;;;6790:18;;:10;:18;;;:39;;;;6823:6;;;;;;;;;;;6811:18;;:10;:18;;;6790:39;:67;;;;6837:20;;;;;;;;;;;6833:24;;:2;:24;;;6790:67;:103;;;;6873:20;;;;;;;;;;;6861:32;;:10;:32;;;6790:103;6787:765;;;6933:32;6958:6;6933:8;:20;6942:10;6933:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6910:8;:20;6919:10;6910:20;;;;;;;;;;;;;;;:55;;;;6996:24;7013:6;6996:8;:12;7005:2;6996:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;6981:8;:12;6990:2;6981:12;;;;;;;;;;;;;;;:39;;;;7062:2;7042:30;;7051:10;7042:30;;;7065:6;7042:30;;;;;;;;;;;;;;;;;;6787:765;;;7103:18;7123:24;7143:3;7124:13;7135:1;7124:6;:10;;:13;;;;:::i;:::-;7123:19;;:24;;;;:::i;:::-;7103:44;;7173:26;7188:10;7173;;:14;;:26;;;;:::i;:::-;7162:10;:37;;;;7228:29;7246:10;7228:13;;:17;;:29;;;;:::i;:::-;7214:13;:43;;;;7296:32;7321:6;7296:8;:20;7305:10;7296:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7273:8;:20;7282:10;7273:20;;;;;;;;;;;;;;;:55;;;;7359:40;7376:22;7387:10;7376:6;:10;;:22;;;;:::i;:::-;7359:8;:12;7368:2;7359:12;;;;;;;;;;;;;;;;:16;;:40;;;;:::i;:::-;7344:8;:12;7353:2;7344:12;;;;;;;;;;;;;;;:55;;;;7441:2;7421:46;;7430:10;7421:46;;;7444:22;7455:10;7444:6;:10;;:22;;;;:::i;:::-;7421:46;;;;;;;;;;;;;;;;;;7517:1;7489:42;;7498:10;7489:42;;;7520:10;7489:42;;;;;;;;;;;;;;;;;;6787:765;;7566:4;7559:11;;6480:1098;;;;:::o;10083:159::-;10169:17;10206:7;:19;10214:10;10206:19;;;;;;;;;;;;;;;:28;10226:7;10206:28;;;;;;;;;;;;;;;;10199:35;;10083:159;;;;:::o;2235:166::-;2201:5;;;;;;;;;;;2187:19;;:10;:19;;;2179:28;;;;;;2325:9:::1;2317:5;::::0;:17:::1;;;;;;;;;;;;;;;;;;2383:9;2350:43;;2371:10;2350:43;;;;;;;;;;;;2235:166:::0;:::o;12016:331::-;12126:1;12109:19;;:5;:19;;;;12101:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12207:1;12188:21;;:7;:21;;;;12180:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12287:5;12261:7;:14;12269:5;12261:14;;;;;;;;;;;;;;;:23;12276:7;12261:23;;;;;;;;;;;;;;;:31;;;;12324:7;12308:31;;12317:5;12308:31;;;12333:5;12308:31;;;;;;;;;;;;;;;;;;12016:331;;;:::o;928:133::-;986:7;1002:9;1018:1;1014;:5;1002:17;;1038:1;1033;:6;;1026:14;;;;1054:1;1047:8;;;928:133;;;;:::o;809:113::-;867:7;895:1;890;:6;;883:14;;;;915:1;911;:5;904:12;;809:113;;;;:::o;347:180::-;405:7;430:1;425;:6;421:37;;;449:1;442:8;;;;421:37;464:9;480:1;476;:5;464:17;;504:1;499;495;:5;;;;;;:10;488:18;;;;520:1;513:8;;;347:180;;;;;:::o;533:270::-;591:7;682:9;698:1;694;:5;;;;;;682:17;;796:1;789:8;;;533:270;;;;:::o

Swarm Source

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