ETH Price: $3,184.83 (+1.60%)
Gas: 22 Gwei

Token

bdm (bdm)
 

Overview

Max Total Supply

20,911,074.044713335108045094 bdm

Holders

546

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,137.60937779408 bdm

Value
$0.00
0x86f8512e6b379561acce31071f67da5e1ff0cb9b
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:
BDMToken

Compiler Version
v0.5.17+commit.d19bba13

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-20
*/

/**
 *Submitted for verification at Etherscan.io on 2020-12-18
*/

pragma solidity ^0.5.0;

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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



pragma solidity ^0.5.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see {ERC20Detailed}.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


pragma solidity ^0.5.0;



/**
 * @dev Optional functions from the ERC20 standard.
 */
contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for `name`, `symbol`, and `decimals`. All three of
     * these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}



pragma solidity ^0.5.5;

contract Governance {

    address public governance;

    constructor() public {
        governance = tx.origin;
    }

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

    modifier onlyGovernance {
        require(msg.sender == governance, "not governance");
        _;
    }

    function setGovernance(address _governance)  public  onlyGovernance
    {
        require(_governance != address(0), "new governance the zero address");
        emit GovernanceTransferred(governance, _governance);
        governance = _governance;
    }



}

pragma solidity ^0.5.5;



/// @title DegoToken Contract

contract BDMToken is Governance, ERC20Detailed{

    using SafeMath for uint256;

    //events
    event eveSetRate(uint256 burn_rate, uint256 reward_rate);
    event eveRewardPool(address rewardPool,address burnPool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Mint(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    // for minters
    mapping (address => bool) public _minters;
    mapping (address => uint256) public _minters_number;
    //token base data
    uint256 internal _totalSupply;
    mapping(address => uint256) public _balances;
    mapping (address => mapping (address => uint256)) public _allowances;

    /// Constant token specific fields
    uint8 internal constant _decimals = 18;
    uint256 public  _maxSupply = 0;

    ///
    bool public _openTransfer = false;

    // hardcode limit rate
    uint256 public constant _maxGovernValueRate = 1000000;//2000/10000
    uint256 public constant _minGovernValueRate = 0;  //10/10000
    uint256 public constant _rateBase = 1000000; 

    // additional variables for use if transaction fees ever became necessary
    uint256 public  _burnRate = 100;       
    uint256 public  _rewardRate = 0;   

    uint256 public _totalBurnToken = 0;
    uint256 public _totalRewardToken = 0;

    //todo reward pool!
    address public _rewardPool = 0xbDa5A375154A629090d9e3bE0ea26C23e5d1BD33;
    //todo burn pool!
    address public _burnPool = 0xbDa5A375154A629090d9e3bE0ea26C23e5d1BD33;

    /**
    * @dev set the token transfer switch
    */
    function enableOpenTransfer() public onlyGovernance  
    {
        _openTransfer = true;
    }


    /**
     * CONSTRUCTOR
     *
     * @dev Initialize the Token
     */

    constructor () public ERC20Detailed("bdm", "bdm", _decimals) {
        uint256 _exp = _decimals;
         _maxSupply = 21000000 * (10**_exp);
    }


    
    /**
    * @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 amount The amount of tokens to be spent.
    */
    function approve(address spender, uint256 amount) public 
    returns (bool) 
    {
        require(msg.sender != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);

        return true;
    }

    /**
    * @dev Function to check the amount of tokens than 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) 
    {
        return _allowances[owner][spender];
    }

    /**
    * @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) 
    {
        return _balances[owner];
    }

    /**
    * @dev return the token total supply
    */
    function totalSupply() public view 
    returns (uint256) 
    {
        return _totalSupply;
    }

    /**
    * @dev for mint function
    */
    function mint(address account, uint256 amount) public 
    {
        require(account != address(0), "ERC20: mint to the zero address");
        require(_minters[msg.sender], "!minter");
        require(_minters_number[msg.sender]>=amount);
        uint256 curMintSupply = _totalSupply.add(_totalBurnToken);
        uint256 newMintSupply = curMintSupply.add(amount);
        require( newMintSupply <= _maxSupply,"supply is max!");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        _minters_number[msg.sender] = _minters_number[msg.sender].sub(amount);
        emit Mint(address(0), account, amount);
        emit Transfer(address(0), account, amount);
    }

    function addMinter(address _minter,uint256 number) public onlyGovernance 
    {
        _minters[_minter] = true;
        _minters_number[_minter] = number;
    }


    function setMinter_number(address _minter,uint256 number) public onlyGovernance 
    {
        require(_minters[_minter]);
        _minters_number[_minter] = number;
    }
    
    function removeMinter(address _minter) public onlyGovernance 
    {
        _minters[_minter] = false;
        _minters_number[_minter] = 0;
    }
    

    function() external payable {
        revert();
    }

    /**
    * @dev for govern value
    */
    function setRate(uint256 burn_rate, uint256 reward_rate) public 
        onlyGovernance 
    {
        
        require(_maxGovernValueRate >= burn_rate && burn_rate >= _minGovernValueRate,"invalid burn rate");
        require(_maxGovernValueRate >= reward_rate && reward_rate >= _minGovernValueRate,"invalid reward rate");

        _burnRate = burn_rate;
        _rewardRate = reward_rate;

        emit eveSetRate(burn_rate, reward_rate);
    }


    

    /**
    * @dev for set reward
    */
    function setRewardPool(address rewardPool,address burnPool) public 
        onlyGovernance 
    {
        require(rewardPool != address(0x0));
        require(burnPool != address(0x0));
        _rewardPool = rewardPool;
        _burnPool = burnPool;

        emit eveRewardPool(_rewardPool,_burnPool);
    }
    /**
    * @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)  
   {
        return _transfer(msg.sender,to,value);
    }

    /**
    * @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) 
    {
        uint256 allow = _allowances[from][msg.sender];
        _allowances[from][msg.sender] = allow.sub(value);
        
        return _transfer(from,to,value);
    }

 

    /**
    * @dev Transfer tokens with fee
    * @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 uint256s the amount of tokens to be transferred
    */
    function _transfer(address from, address to, uint256 value) internal 
    returns (bool) 
    {
        // :)
        require(_openTransfer || from == governance, "transfer closed");

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        uint256 sendAmount = value;
        uint256 burnFee = (value.mul(_burnRate)).div(_rateBase);
        if (burnFee > 0) {
            //to burn
            _balances[_burnPool] = _balances[_burnPool].add(burnFee);
            _totalSupply = _totalSupply.sub(burnFee);
            sendAmount = sendAmount.sub(burnFee);

            _totalBurnToken = _totalBurnToken.add(burnFee);

            emit Transfer(from, _burnPool, burnFee);
        }

        uint256 rewardFee = (value.mul(_rewardRate)).div(_rateBase);
        if (rewardFee > 0) {
           //to reward
            _balances[_rewardPool] = _balances[_rewardPool].add(rewardFee);
            sendAmount = sendAmount.sub(rewardFee);

            _totalRewardToken = _totalRewardToken.add(rewardFee);

            emit Transfer(from, _rewardPool, rewardFee);
        }

        _balances[from] = _balances[from].sub(value);
        _balances[to] = _balances[to].add(sendAmount);

        emit Transfer(from, to, sendAmount);

        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"GovernanceTransferred","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":"Mint","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"rewardPool","type":"address"},{"indexed":false,"internalType":"address","name":"burnPool","type":"address"}],"name":"eveRewardPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"burn_rate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward_rate","type":"uint256"}],"name":"eveSetRate","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_burnPool","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_burnRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_maxGovernValueRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_minGovernValueRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_minters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_minters_number","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_openTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_rateBase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_rewardPool","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalBurnToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalRewardToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"uint256","name":"number","type":"uint256"}],"name":"addMinter","outputs":[],"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":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"enableOpenTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"removeMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"uint256","name":"number","type":"uint256"}],"name":"setMinter_number","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"burn_rate","type":"uint256"},{"internalType":"uint256","name":"reward_rate","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardPool","type":"address"},{"internalType":"address","name":"burnPool","type":"address"}],"name":"setRewardPool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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"}]

608060405260006009556000600a60006101000a81548160ff0219169083151502179055506064600b556000600c556000600d556000600e5573bda5a375154a629090d9e3be0ea26c23e5d1bd33600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073bda5a375154a629090d9e3be0ea26c23e5d1bd33601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000ef57600080fd5b506040518060400160405280600381526020017f62646d00000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f62646d00000000000000000000000000000000000000000000000000000000008152506012326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260019080519060200190620001b69291906200020e565b508160029080519060200190620001cf9291906200020e565b5080600360006101000a81548160ff021916908360ff1602179055505050506000601260ff16905080600a0a6301406f400260098190555050620002bd565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025157805160ff191683800117855562000282565b8280016001018555821562000282579182015b828111156200028157825182559160200191906001019062000264565b5b50905062000291919062000295565b5090565b620002ba91905b80821115620002b65760008160009055506001016200029c565b5090565b90565b612ebc80620002cd6000396000f3fe6080604052600436106101ee5760003560e01c806368fd25cd1161010d57806395d89b41116100a0578063c110e3b21161006f578063c110e3b214610acf578063d28303a014610b34578063dc7ced3d14610b8f578063dd62ed3e14610be6578063e312848f14610c6b576101ee565b806395d89b411461094c578063a9059cbb146109dc578063ab033ea914610a4f578063bde8e9fa14610aa0576101ee565b8063775e1377116100dc578063775e13771461085a57806379138df11461088557806389509870146108b05780638afefd8814610921576101ee565b806368fd25cd1461070a5780636ebcf6071461073557806370a082311461079a578063761248b4146107ff576101ee565b80632d201af01161018557806340c10f191161015457806340c10f19146105e857806346df2ccb1461064357806353c76e13146106885780635aa6e675146106b3576101ee565b80632d201af0146104d25780633092afd5146104fd578063313ce5671461054e5780633575597d1461057f576101ee565b80631ae6ddec116101c15780631ae6ddec146103a657806322f4596f146103bd57806323b872dd146103e857806328d2bc911461047b576101ee565b8063024c2ddd146101f357806306fdde0314610278578063095ea7b31461030857806318160ddd1461037b575b600080fd5b3480156101ff57600080fd5b506102626004803603604081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c96565b6040518082815260200191505060405180910390f35b34801561028457600080fd5b5061028d610cbb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031457600080fd5b506103616004803603604081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d5d565b604051808215151515815260200191505060405180910390f35b34801561038757600080fd5b50610390610f5a565b6040518082815260200191505060405180910390f35b3480156103b257600080fd5b506103bb610f64565b005b3480156103c957600080fd5b506103d2611043565b6040518082815260200191505060405180910390f35b3480156103f457600080fd5b506104616004803603606081101561040b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611049565b604051808215151515815260200191505060405180910390f35b34801561048757600080fd5b50610490611173565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104de57600080fd5b506104e7611199565b6040518082815260200191505060405180910390f35b34801561050957600080fd5b5061054c6004803603602081101561052057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061119f565b005b34801561055a57600080fd5b50610563611301565b604051808260ff1660ff16815260200191505060405180910390f35b34801561058b57600080fd5b506105ce600480360360208110156105a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611318565b604051808215151515815260200191505060405180910390f35b3480156105f457600080fd5b506106416004803603604081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611338565b005b34801561064f57600080fd5b506106866004803603604081101561066657600080fd5b8101908080359060200190929190803590602001909291905050506117a7565b005b34801561069457600080fd5b5061069d6119c6565b6040518082815260200191505060405180910390f35b3480156106bf57600080fd5b506106c86119cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071657600080fd5b5061071f6119f1565b6040518082815260200191505060405180910390f35b34801561074157600080fd5b506107846004803603602081101561075857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119f7565b6040518082815260200191505060405180910390f35b3480156107a657600080fd5b506107e9600480360360208110156107bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a0f565b6040518082815260200191505060405180910390f35b34801561080b57600080fd5b506108586004803603604081101561082257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a58565b005b34801561086657600080fd5b5061086f611bba565b6040518082815260200191505060405180910390f35b34801561089157600080fd5b5061089a611bc1565b6040518082815260200191505060405180910390f35b3480156108bc57600080fd5b5061091f600480360360408110156108d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bc7565b005b34801561092d57600080fd5b50610936611e5e565b6040518082815260200191505060405180910390f35b34801561095857600080fd5b50610961611e63565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109a1578082015181840152602081019050610986565b50505050905090810190601f1680156109ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109e857600080fd5b50610a35600480360360408110156109ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f05565b604051808215151515815260200191505060405180910390f35b348015610a5b57600080fd5b50610a9e60048036036020811015610a7257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1a565b005b348015610aac57600080fd5b50610ab561213d565b604051808215151515815260200191505060405180910390f35b348015610adb57600080fd5b50610b1e60048036036020811015610af257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612150565b6040518082815260200191505060405180910390f35b348015610b4057600080fd5b50610b8d60048036036040811015610b5757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612168565b005b348015610b9b57600080fd5b50610ba46122c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bf257600080fd5b50610c5560048036036040811015610c0957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122ee565b6040518082815260200191505060405180910390f35b348015610c7757600080fd5b50610c80612375565b6040518082815260200191505060405180910390f35b6008602052816000526040600020602052806000526040600020600091509150505481565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d535780601f10610d2857610100808354040283529160200191610d53565b820191906000526020600020905b815481529060010190602001808311610d3657829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612e646024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612dfc6022913960400191505060405180910390fd5b81600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600654905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60006101000a81548160ff021916908315150217905550565b60095481565b600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de838261237c90919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111698585856123c6565b9150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600360009054906101000a900460ff16905090565b60046020528060005260406000206000915054906101000a900460ff1681565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661149a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156114e657600080fd5b60006114ff600d54600654612afa90919063ffffffff16565b905060006115168383612afa90919063ffffffff16565b9050600954811115611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f737570706c79206973206d61782100000000000000000000000000000000000081525060200191505060405180910390fd5b6115a583600654612afa90919063ffffffff16565b6006819055506115fd83600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afa90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061169283600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237c90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b81620f42401015801561187d575060008210155b6118ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f696e76616c6964206275726e207261746500000000000000000000000000000081525060200191505060405180910390fd5b80620f424010158015611903575060008110155b611975576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c69642072657761726420726174650000000000000000000000000081525060200191505060405180910390fd5b81600b8190555080600c819055507f99bd43c9924d56731589e9fa71c7f8c709cf5e851306f09f8ceca0ba3eac1be78282604051808381526020018281526020019250505060405180910390a15050565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60076020528060005260406000206000915090505481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b1a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b620f424081565b600b5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cc357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611cfd57600080fd5b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f49b1bb444a07585b1c0cfe4a8fd5f8d7796bc80852d6b45ed13389611a0f8bbe600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b600081565b606060028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611efb5780601f10611ed057610100808354040283529160200191611efb565b820191906000526020600020905b815481529060010190602001808311611ede57829003601f168201915b5050505050905090565b6000611f123384846123c6565b905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fdc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561207f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6e657720676f7665726e616e636520746865207a65726f20616464726573730081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900460ff1681565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461222a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661228057600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b620f424081565b60006123be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612b82565b905092915050565b6000600a60009054906101000a900460ff168061242f57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b6124a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e7366657220636c6f736564000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612527576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612e3f6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612dd96023913960400191505060405180910390fd5b600082905060006125de620f42406125d0600b5487612c4290919063ffffffff16565b612cc890919063ffffffff16565b905060008111156127955761265d8160076000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afa90919063ffffffff16565b60076000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126d78160065461237c90919063ffffffff16565b6006819055506126f0818361237c90919063ffffffff16565b915061270781600d54612afa90919063ffffffff16565b600d81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b60006127c1620f42406127b3600c5488612c4290919063ffffffff16565b612cc890919063ffffffff16565b9050600081111561295d576128408160076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afa90919063ffffffff16565b60076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128b8818461237c90919063ffffffff16565b92506128cf81600e54612afa90919063ffffffff16565b600e81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6129af85600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237c90919063ffffffff16565b600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a4483600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afa90919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600193505050509392505050565b600080828401905083811015612b78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290612c2f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612bf4578082015181840152602081019050612bd9565b50505050905090810190601f168015612c215780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612c555760009050612cc2565b6000828402905082848281612c6657fe5b0414612cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e1e6021913960400191505060405180910390fd5b809150505b92915050565b6000612d0a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d12565b905092915050565b60008083118290612dbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d83578082015181840152602081019050612d68565b50505050905090810190601f168015612db05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612dca57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a7231582053af6802a3f9760dac7b06a41568a543f0c85d0a415a33f34416729214cd4d8464736f6c63430005110032

Deployed Bytecode

0x6080604052600436106101ee5760003560e01c806368fd25cd1161010d57806395d89b41116100a0578063c110e3b21161006f578063c110e3b214610acf578063d28303a014610b34578063dc7ced3d14610b8f578063dd62ed3e14610be6578063e312848f14610c6b576101ee565b806395d89b411461094c578063a9059cbb146109dc578063ab033ea914610a4f578063bde8e9fa14610aa0576101ee565b8063775e1377116100dc578063775e13771461085a57806379138df11461088557806389509870146108b05780638afefd8814610921576101ee565b806368fd25cd1461070a5780636ebcf6071461073557806370a082311461079a578063761248b4146107ff576101ee565b80632d201af01161018557806340c10f191161015457806340c10f19146105e857806346df2ccb1461064357806353c76e13146106885780635aa6e675146106b3576101ee565b80632d201af0146104d25780633092afd5146104fd578063313ce5671461054e5780633575597d1461057f576101ee565b80631ae6ddec116101c15780631ae6ddec146103a657806322f4596f146103bd57806323b872dd146103e857806328d2bc911461047b576101ee565b8063024c2ddd146101f357806306fdde0314610278578063095ea7b31461030857806318160ddd1461037b575b600080fd5b3480156101ff57600080fd5b506102626004803603604081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c96565b6040518082815260200191505060405180910390f35b34801561028457600080fd5b5061028d610cbb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031457600080fd5b506103616004803603604081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d5d565b604051808215151515815260200191505060405180910390f35b34801561038757600080fd5b50610390610f5a565b6040518082815260200191505060405180910390f35b3480156103b257600080fd5b506103bb610f64565b005b3480156103c957600080fd5b506103d2611043565b6040518082815260200191505060405180910390f35b3480156103f457600080fd5b506104616004803603606081101561040b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611049565b604051808215151515815260200191505060405180910390f35b34801561048757600080fd5b50610490611173565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104de57600080fd5b506104e7611199565b6040518082815260200191505060405180910390f35b34801561050957600080fd5b5061054c6004803603602081101561052057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061119f565b005b34801561055a57600080fd5b50610563611301565b604051808260ff1660ff16815260200191505060405180910390f35b34801561058b57600080fd5b506105ce600480360360208110156105a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611318565b604051808215151515815260200191505060405180910390f35b3480156105f457600080fd5b506106416004803603604081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611338565b005b34801561064f57600080fd5b506106866004803603604081101561066657600080fd5b8101908080359060200190929190803590602001909291905050506117a7565b005b34801561069457600080fd5b5061069d6119c6565b6040518082815260200191505060405180910390f35b3480156106bf57600080fd5b506106c86119cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071657600080fd5b5061071f6119f1565b6040518082815260200191505060405180910390f35b34801561074157600080fd5b506107846004803603602081101561075857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119f7565b6040518082815260200191505060405180910390f35b3480156107a657600080fd5b506107e9600480360360208110156107bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a0f565b6040518082815260200191505060405180910390f35b34801561080b57600080fd5b506108586004803603604081101561082257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a58565b005b34801561086657600080fd5b5061086f611bba565b6040518082815260200191505060405180910390f35b34801561089157600080fd5b5061089a611bc1565b6040518082815260200191505060405180910390f35b3480156108bc57600080fd5b5061091f600480360360408110156108d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bc7565b005b34801561092d57600080fd5b50610936611e5e565b6040518082815260200191505060405180910390f35b34801561095857600080fd5b50610961611e63565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109a1578082015181840152602081019050610986565b50505050905090810190601f1680156109ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109e857600080fd5b50610a35600480360360408110156109ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f05565b604051808215151515815260200191505060405180910390f35b348015610a5b57600080fd5b50610a9e60048036036020811015610a7257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1a565b005b348015610aac57600080fd5b50610ab561213d565b604051808215151515815260200191505060405180910390f35b348015610adb57600080fd5b50610b1e60048036036020811015610af257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612150565b6040518082815260200191505060405180910390f35b348015610b4057600080fd5b50610b8d60048036036040811015610b5757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612168565b005b348015610b9b57600080fd5b50610ba46122c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bf257600080fd5b50610c5560048036036040811015610c0957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122ee565b6040518082815260200191505060405180910390f35b348015610c7757600080fd5b50610c80612375565b6040518082815260200191505060405180910390f35b6008602052816000526040600020602052806000526040600020600091509150505481565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d535780601f10610d2857610100808354040283529160200191610d53565b820191906000526020600020905b815481529060010190602001808311610d3657829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612e646024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612dfc6022913960400191505060405180910390fd5b81600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600654905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60006101000a81548160ff021916908315150217905550565b60095481565b600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de838261237c90919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111698585856123c6565b9150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600360009054906101000a900460ff16905090565b60046020528060005260406000206000915054906101000a900460ff1681565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661149a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156114e657600080fd5b60006114ff600d54600654612afa90919063ffffffff16565b905060006115168383612afa90919063ffffffff16565b9050600954811115611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f737570706c79206973206d61782100000000000000000000000000000000000081525060200191505060405180910390fd5b6115a583600654612afa90919063ffffffff16565b6006819055506115fd83600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afa90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061169283600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237c90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b81620f42401015801561187d575060008210155b6118ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f696e76616c6964206275726e207261746500000000000000000000000000000081525060200191505060405180910390fd5b80620f424010158015611903575060008110155b611975576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c69642072657761726420726174650000000000000000000000000081525060200191505060405180910390fd5b81600b8190555080600c819055507f99bd43c9924d56731589e9fa71c7f8c709cf5e851306f09f8ceca0ba3eac1be78282604051808381526020018281526020019250505060405180910390a15050565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60076020528060005260406000206000915090505481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b1a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b620f424081565b600b5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cc357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611cfd57600080fd5b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f49b1bb444a07585b1c0cfe4a8fd5f8d7796bc80852d6b45ed13389611a0f8bbe600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b600081565b606060028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611efb5780601f10611ed057610100808354040283529160200191611efb565b820191906000526020600020905b815481529060010190602001808311611ede57829003601f168201915b5050505050905090565b6000611f123384846123c6565b905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fdc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561207f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6e657720676f7665726e616e636520746865207a65726f20616464726573730081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900460ff1681565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461222a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661228057600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b620f424081565b60006123be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612b82565b905092915050565b6000600a60009054906101000a900460ff168061242f57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b6124a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e7366657220636c6f736564000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612527576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612e3f6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612dd96023913960400191505060405180910390fd5b600082905060006125de620f42406125d0600b5487612c4290919063ffffffff16565b612cc890919063ffffffff16565b905060008111156127955761265d8160076000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afa90919063ffffffff16565b60076000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126d78160065461237c90919063ffffffff16565b6006819055506126f0818361237c90919063ffffffff16565b915061270781600d54612afa90919063ffffffff16565b600d81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b60006127c1620f42406127b3600c5488612c4290919063ffffffff16565b612cc890919063ffffffff16565b9050600081111561295d576128408160076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afa90919063ffffffff16565b60076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128b8818461237c90919063ffffffff16565b92506128cf81600e54612afa90919063ffffffff16565b600e81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6129af85600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237c90919063ffffffff16565b600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a4483600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afa90919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600193505050509392505050565b600080828401905083811015612b78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290612c2f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612bf4578082015181840152602081019050612bd9565b50505050905090810190601f168015612c215780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612c555760009050612cc2565b6000828402905082848281612c6657fe5b0414612cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e1e6021913960400191505060405180910390fd5b809150505b92915050565b6000612d0a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d12565b905092915050565b60008083118290612dbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d83578082015181840152602081019050612d68565b50505050905090810190601f168015612db05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612dca57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a7231582053af6802a3f9760dac7b06a41568a543f0c85d0a415a33f34416729214cd4d8464736f6c63430005110032

Deployed Bytecode Sourcemap

10654:8469:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15683:8;;;11358:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11358:68:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11358:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9006:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9006:83:0;;;:::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;9006:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12939:386;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12939:386:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12939:386:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14212:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14212:103:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12345:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12345:98:0;;;:::i;:::-;;11520:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11520:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17179:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17179:272:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17179:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12208:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12208:69:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11996:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11996:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15480:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15480:150:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15480:150:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9858:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9858:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11142:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11142:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11142:41:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14370:739;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14370:739:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14370:739:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15753:457;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15753:457:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15753:457:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12037:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12037:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10008:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10008:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11953:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11953:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11307:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11307:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11307:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14026:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14026:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14026:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15117:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15117:166:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15117:166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11776:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11776:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11908:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11908:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16272:316;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16272:316:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16272:316:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11710:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11710:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9208:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9208:87:0;;;:::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;9208:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16756:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16756:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16756:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10319:258;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10319:258:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10319:258:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11568:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11568:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11190:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11190:51:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11190:51:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15293:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15293:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15293:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12107:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12107:71:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13660:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13660:146:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13660:146:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11638:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11638:53:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11358:68;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9006:83::-;9043:13;9076:5;9069:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9006:83;:::o;12939:386::-;13011:4;13064:1;13042:24;;:10;:24;;;;13034:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13145:1;13126:21;;:7;:21;;;;13118:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13234:6;13199:11;:23;13211:10;13199:23;;;;;;;;;;;;;;;:32;13223:7;13199:32;;;;;;;;;;;;;;;:41;;;;13277:7;13256:37;;13265:10;13256:37;;;13286:6;13256:37;;;;;;;;;;;;;;;;;;13313:4;13306:11;;12939:386;;;;:::o;14212:103::-;14262:7;14295:12;;14288:19;;14212:103;:::o;12345:98::-;10262:10;;;;;;;;;;;10248:24;;:10;:24;;;10240:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12431:4;12415:13;;:20;;;;;;;;;;;;;;;;;;12345:98::o;11520:30::-;;;;:::o;17179:272::-;17264:4;17287:13;17303:11;:17;17315:4;17303:17;;;;;;;;;;;;;;;:29;17321:10;17303:29;;;;;;;;;;;;;;;;17287:45;;17375:16;17385:5;17375;:9;;:16;;;;:::i;:::-;17343:11;:17;17355:4;17343:17;;;;;;;;;;;;;;;:29;17361:10;17343:29;;;;;;;;;;;;;;;:48;;;;17419:24;17429:4;17434:2;17437:5;17419:9;:24::i;:::-;17412:31;;;17179:272;;;;;:::o;12208:69::-;;;;;;;;;;;;;:::o;11996:34::-;;;;:::o;15480:150::-;10262:10;;;;;;;;;;;10248:24;;:10;:24;;;10240:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15578:5;15558:8;:17;15567:7;15558:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;15621:1;15594:15;:24;15610:7;15594:24;;;;;;;;;;;;;;;:28;;;;15480:150;:::o;9858:83::-;9899:5;9924:9;;;;;;;;;;;9917:16;;9858:83;:::o;11142:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;14370:739::-;14468:1;14449:21;;:7;:21;;;;14441:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14525:8;:20;14534:10;14525:20;;;;;;;;;;;;;;;;;;;;;;;;;14517:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14605:6;14576:15;:27;14592:10;14576:27;;;;;;;;;;;;;;;;:35;;14568:44;;;;;;14623:21;14647:33;14664:15;;14647:12;;:16;;:33;;;;:::i;:::-;14623:57;;14691:21;14715:25;14733:6;14715:13;:17;;:25;;;;:::i;:::-;14691:49;;14777:10;;14760:13;:27;;14751:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14833:24;14850:6;14833:12;;:16;;:24;;;;:::i;:::-;14818:12;:39;;;;14889:30;14912:6;14889:9;:18;14899:7;14889:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;14868:9;:18;14878:7;14868:18;;;;;;;;;;;;;;;:51;;;;14960:39;14992:6;14960:15;:27;14976:10;14960:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;14930:15;:27;14946:10;14930:27;;;;;;;;;;;;;;;:69;;;;15032:7;15015:33;;15028:1;15015:33;;;15041:6;15015:33;;;;;;;;;;;;;;;;;;15085:7;15064:37;;15081:1;15064:37;;;15094:6;15064:37;;;;;;;;;;;;;;;;;;14370:739;;;;:::o;15753:457::-;10262:10;;;;;;;;;;;10248:24;;:10;:24;;;10240:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15900:9;11684:7;15877:32;;:68;;;;;11756:1;15913:9;:32;;15877:68;15869:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16008:11;11684:7;15985:34;;:72;;;;;11756:1;16023:11;:34;;15985:72;15977:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16105:9;16093;:21;;;;16139:11;16125;:25;;;;16168:34;16179:9;16190:11;16168:34;;;;;;;;;;;;;;;;;;;;;;;;15753:457;;:::o;12037:36::-;;;;:::o;10008:25::-;;;;;;;;;;;;;:::o;11953:31::-;;;;:::o;11307:44::-;;;;;;;;;;;;;;;;;:::o;14026:119::-;14088:7;14121:9;:16;14131:5;14121:16;;;;;;;;;;;;;;;;14114:23;;14026:119;;;:::o;15117:166::-;10262:10;;;;;;;;;;;10248:24;;:10;:24;;;10240:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15227:4;15207:8;:17;15216:7;15207:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;15269:6;15242:15;:24;15258:7;15242:24;;;;;;;;;;;;;;;:33;;;;15117:166;;:::o;11776:43::-;11812:7;11776:43;:::o;11908:31::-;;;;:::o;16272:316::-;10262:10;;;;;;;;;;;10248:24;;:10;:24;;;10240:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16411:3;16389:26;;:10;:26;;;;16381:35;;;;;;16455:3;16435:24;;:8;:24;;;;16427:33;;;;;;16485:10;16471:11;;:24;;;;;;;;;;;;;;;;;;16518:8;16506:9;;:20;;;;;;;;;;;;;;;;;;16544:36;16558:11;;;;;;;;;;;16570:9;;;;;;;;;;;16544:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16272:316;;:::o;11710:47::-;11756:1;11710:47;:::o;9208:87::-;9247:13;9280:7;9273:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9208:87;:::o;16756:134::-;16822:4;16852:30;16862:10;16873:2;16876:5;16852:9;:30::i;:::-;16845:37;;16756:134;;;;:::o;10319:258::-;10262:10;;;;;;;;;;;10248:24;;:10;:24;;;10240:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10434:1;10411:25;;:11;:25;;;;10403:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10522:11;10488:46;;10510:10;;;;;;;;;;;10488:46;;;;;;;;;;;;10558:11;10545:10;;:24;;;;;;;;;;;;;;;;;;10319:258;:::o;11568:33::-;;;;;;;;;;;;;:::o;11190:51::-;;;;;;;;;;;;;;;;;:::o;15293:175::-;10262:10;;;;;;;;;;;10248:24;;:10;:24;;;10240:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15398:8;:17;15407:7;15398:17;;;;;;;;;;;;;;;;;;;;;;;;;15390:26;;;;;;15454:6;15427:15;:24;15443:7;15427:24;;;;;;;;;;;;;;;:33;;;;15293:175;;:::o;12107:71::-;;;;;;;;;;;;;:::o;13660:146::-;13738:7;13771:11;:18;13783:5;13771:18;;;;;;;;;;;;;;;:27;13790:7;13771:27;;;;;;;;;;;;;;;;13764:34;;13660:146;;;;:::o;11638:53::-;11684:7;11638:53;:::o;1386:136::-;1444:7;1471:43;1475:1;1478;1471:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1464:50;;1386:136;;;;:::o;17727:1393::-;17811:4;17857:13;;;;;;;;;;;:35;;;;17882:10;;;;;;;;;;;17874:18;;:4;:18;;;17857:35;17849:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17949:1;17933:18;;:4;:18;;;;17925:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18026:1;18012:16;;:2;:16;;;;18004:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18081:18;18102:5;18081:26;;18118:15;18136:37;11812:7;18137:20;18147:9;;18137:5;:9;;:20;;;;:::i;:::-;18136:26;;:37;;;;:::i;:::-;18118:55;;18198:1;18188:7;:11;18184:348;;;18262:33;18287:7;18262:9;:20;18272:9;;;;;;;;;;;18262:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;18239:9;:20;18249:9;;;;;;;;;;;18239:20;;;;;;;;;;;;;;;:56;;;;18325:25;18342:7;18325:12;;:16;;:25;;;;:::i;:::-;18310:12;:40;;;;18378:23;18393:7;18378:10;:14;;:23;;;;:::i;:::-;18365:36;;18436:28;18456:7;18436:15;;:19;;:28;;;;:::i;:::-;18418:15;:46;;;;18501:9;;;;;;;;;;;18486:34;;18495:4;18486:34;;;18512:7;18486:34;;;;;;;;;;;;;;;;;;18184:348;18544:17;18564:39;11812:7;18565:22;18575:11;;18565:5;:9;;:22;;;;:::i;:::-;18564:28;;:39;;;;:::i;:::-;18544:59;;18630:1;18618:9;:13;18614:314;;;18697:37;18724:9;18697;:22;18707:11;;;;;;;;;;;18697:22;;;;;;;;;;;;;;;;:26;;:37;;;;:::i;:::-;18672:9;:22;18682:11;;;;;;;;;;;18672:22;;;;;;;;;;;;;;;:62;;;;18762:25;18777:9;18762:10;:14;;:25;;;;:::i;:::-;18749:38;;18824:32;18846:9;18824:17;;:21;;:32;;;;:::i;:::-;18804:17;:52;;;;18893:11;;;;;;;;;;;18878:38;;18887:4;18878:38;;;18906:9;18878:38;;;;;;;;;;;;;;;;;;18614:314;18958:26;18978:5;18958:9;:15;18968:4;18958:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;18940:9;:15;18950:4;18940:15;;;;;;;;;;;;;;;:44;;;;19011:29;19029:10;19011:9;:13;19021:2;19011:13;;;;;;;;;;;;;;;;:17;;:29;;;;:::i;:::-;18995:9;:13;19005:2;18995:13;;;;;;;;;;;;;;;:45;;;;19073:2;19058:30;;19067:4;19058:30;;;19077:10;19058:30;;;;;;;;;;;;;;;;;;19108:4;19101:11;;;;;17727:1393;;;;;:::o;930:181::-;988:7;1008:9;1024:1;1020;:5;1008:17;;1049:1;1044;:6;;1036:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1102:1;1095:8;;;930:181;;;;:::o;1859:192::-;1945:7;1978:1;1973;:6;;1981:12;1965:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1965:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2005:9;2021:1;2017;:5;2005:17;;2042:1;2035:8;;;1859:192;;;;;:::o;2302:471::-;2360:7;2610:1;2605;:6;2601:47;;;2635:1;2628:8;;;;2601:47;2660:9;2676:1;2672;:5;2660:17;;2705:1;2700;2696;:5;;;;;;:10;2688:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2764:1;2757:8;;;2302:471;;;;;:::o;3241:132::-;3299:7;3326:39;3330:1;3333;3326:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3319:46;;3241:132;;;;:::o;3903:345::-;3989:7;4088:1;4084;:5;4091:12;4076:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4076:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4115:9;4131:1;4127;:5;;;;;;4115:17;;4239:1;4232:8;;;3903:345;;;;;:::o

Swarm Source

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