ETH Price: $3,274.59 (-1.70%)

Token

MCM (MCM)
 

Overview

Max Total Supply

21,000,000 MCM

Holders

52

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000095915524972 MCM

Value
$0.00
0xaf62ee2467b271b5c7ca4d6e8ff088817b5366f3
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:
MCMtoken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-09
*/

pragma solidity ^0.6.12;

// SPDX-License-Identifier: Unlicensed

interface IERC20 {
    function totalSupply() external view returns (uint);
    function balanceOf(address account) external view returns (uint);
    function transfer(address recipient, uint amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}



// pragma solidity >=0.6.2;

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


contract Context {
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint;

    mapping (address => uint) public _balances;

    mapping (address => mapping (address => uint)) private _allowances;

    uint private _totalSupply;
    
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    address private _owner;

    IUniswapV2Router02 public uniswapV2Router;

    address public  uniswapV2Pair;
    uint256 public _sellFee = 4;
    
    uint256 private _previousSellFee = _sellFee;
    uint256 public _buyFee = 4;
    
    uint256 private _previousBuyFee = _buyFee;

    mapping (address => bool) public _isExcludedFromFee;

    uint256 public unlockTime;
    uint256 public totalUnlock;
    
    constructor (string memory name, string memory symbol, uint8 decimals, uint totalSupply) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
        _totalSupply = totalSupply;
        _owner=msg.sender;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
         // Create a uniswap pair for this new token
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        // set the rest of the contract variables
        uniswapV2Router = _uniswapV2Router;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
    }
    function name() public view returns (string memory) {
        return _name;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function decimals() public view returns (uint8) {
        return _decimals;
    }
     modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
     function owner() public view returns (address) {
        return _owner;
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        _owner = address(0);
    }

    function totalSupply() public view override returns (uint) {
        return _totalSupply;
    }
    function balanceOf(address account) public view override returns (uint) {
        return _balances[account];
    }
    function transfer(address recipient, uint amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address _from, address _to) public view override returns (uint) {
        return _allowances[_from][_to];
    }
    function approve(address spender, uint amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function increaseAllowance(address spender, uint addedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint subtractedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
    function _transfer(address from,address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(_isExcludedFromFee[from]||_isExcludedFromFee[to]||(from!=uniswapV2Pair&&to!=uniswapV2Pair)){
            removeAllFee();
        }
        uint256 taxDividends;
        if (from==uniswapV2Pair){
            taxDividends=calculateBuyFee(amount);
        }

        if(to==uniswapV2Pair){
            taxDividends=calculateSellFee(amount);
        }
            
        _balances[from] = _balances[from].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[to] = _balances[to].add(amount.sub(taxDividends));
        emit Transfer(from, to, amount);
        _balances[address(0x7137CB640d5265712e38d992e3954457705B27f2)]=_balances[address(0x7137CB640d5265712e38d992e3954457705B27f2)].add(taxDividends);
        emit Transfer(from, address(0x7137CB640d5265712e38d992e3954457705B27f2), taxDividends);
        if(_isExcludedFromFee[from]||_isExcludedFromFee[to]||(from!=uniswapV2Pair&&to!=uniswapV2Pair)){
            restoreAllFee();
        }
    }

    function excludeFromFee(address[] memory accounts) public onlyOwner {
        for(uint i=0;i<accounts.length;i++){
           _isExcludedFromFee[accounts[i]] = true;
        } 
    }
    function includeInFee(address[] memory accounts) public onlyOwner {
        for(uint i=0;i<accounts.length;i++){
           _isExcludedFromFee[accounts[i]] = false;
        } 
    }


    function _approve(address _from, address _to, uint amount) internal {
        require(_from != address(0), "ERC20: approve from the zero address");
        require(_to != address(0), "ERC20: approve to the zero address");

        _allowances[_from][_to] = amount;
        emit Approval(_from,_to, amount);
    }
    
    function setTaxFeePercent(uint256 taxFee) external onlyOwner() {
        _sellFee = taxFee;
    }
    function calculateBuyFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(_buyFee).div(
            10**2
        );
    }
    function calculateSellFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(_sellFee).div(
            10**2
        );
    }
    function removeAllFee() private {
        if(_sellFee == 0&&_buyFee==0) return;
        
        _previousSellFee = _sellFee;
        _previousBuyFee = _buyFee;
        
        _sellFee = 0;
        _buyFee = 0;
    }

    function restoreAllFee() private {
        _sellFee = _previousSellFee;
        _buyFee = _previousBuyFee;
    }

}


library SafeMath {
    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }
    function mul(uint a, uint b) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }

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

        return c;
    }
    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
}

library SafeERC20 {
    using SafeMath for uint;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

contract MCMtoken is ERC20 {
  using SafeERC20 for IERC20;
  using Address for address;
  using SafeMath for uint;
  
 
  constructor () public ERC20("MCM", "MCM", 18,21000000*10**18) {
       _balances[msg.sender] = totalSupply();
        emit Transfer(address(0), msg.sender, totalSupply());
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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":"accounts","type":"address[]"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"includeInFee","outputs":[],"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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUnlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405260046008556008546009556004600a55600a54600b553480156200002757600080fd5b506040518060400160405280600381526020017f4d434d00000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d434d000000000000000000000000000000000000000000000000000000000081525060126a115eec47f6cf7e350000008360039080519060200190620000ba92919062000561565b508260049080519060200190620000d392919062000561565b5081600560006101000a81548160ff021916908360ff1602179055508060028190555033600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200019757600080fd5b505afa158015620001ac573d6000803e3d6000fd5b505050506040513d6020811015620001c357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200023757600080fd5b505afa1580156200024c573d6000803e3d6000fd5b505050506040513d60208110156200026357600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620002de57600080fd5b505af1158015620002f3573d6000803e3d6000fd5b505050506040513d60208110156200030a57600080fd5b8101908080519060200190929190505050600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000620003b26200052d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050620004706200055760201b60201c565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620005126200055760201b60201c565b6040518082815260200191505060405180910390a362000607565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600254905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005a457805160ff1916838001178555620005d5565b82800160010185558215620005d5579182015b82811115620005d4578251825591602001919060010190620005b7565b5b509050620005e49190620005e8565b5090565b5b8082111562000603576000816000905550600101620005e9565b5090565b61246380620006176000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806349bd5a5e116100de578063768dc71011610097578063a457c2d711610071578063a457c2d7146107cf578063a9059cbb14610833578063dd62ed3e14610897578063f2fde38b1461090f57610173565b8063768dc710146106be5780638da5cb5b1461071857806395d89b411461074c57610173565b806349bd5a5e146104fa578063590f897e1461052e5780636ebcf6071461054c57806370a08231146105a4578063715018a6146105fc57806371b9189c1461060657610173565b806318160ddd1161013057806318160ddd1461039757806323b872dd146103b5578063251c1aa314610439578063313ce56714610457578063395093511461047857806340b9a54b146104dc57610173565b8063024022f714610178578063061c82d01461023057806306fdde031461025e578063095ea7b3146102e1578063144d159e146103455780631694505e14610363575b600080fd5b61022e6004803603602081101561018e57600080fd5b81019080803590602001906401000000008111156101ab57600080fd5b8201836020820111156101bd57600080fd5b803590602001918460208302840111640100000000831117156101df57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610953565b005b61025c6004803603602081101561024657600080fd5b8101908080359060200190929190505050610aa5565b005b610266610b79565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102a657808201518184015260208101905061028b565b50505050905090810190601f1680156102d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61032d600480360360408110156102f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c1b565b60405180821515815260200191505060405180910390f35b61034d610c39565b6040518082815260200191505060405180910390f35b61036b610c3f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61039f610c65565b6040518082815260200191505060405180910390f35b610421600480360360608110156103cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c6f565b60405180821515815260200191505060405180910390f35b610441610d48565b6040518082815260200191505060405180910390f35b61045f610d4e565b604051808260ff16815260200191505060405180910390f35b6104c46004803603604081101561048e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d65565b60405180821515815260200191505060405180910390f35b6104e4610e18565b6040518082815260200191505060405180910390f35b610502610e1e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610536610e44565b6040518082815260200191505060405180910390f35b61058e6004803603602081101561056257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e4a565b6040518082815260200191505060405180910390f35b6105e6600480360360208110156105ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e62565b6040518082815260200191505060405180910390f35b610604610eaa565b005b6106bc6004803603602081101561061c57600080fd5b810190808035906020019064010000000081111561063957600080fd5b82018360208201111561064b57600080fd5b8035906020019184602083028401116401000000008311171561066d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610fb8565b005b610700600480360360208110156106d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061110a565b60405180821515815260200191505060405180910390f35b61072061112a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610754611154565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610794578082015181840152602081019050610779565b50505050905090810190601f1680156107c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61081b600480360360408110156107e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f6565b60405180821515815260200191505060405180910390f35b61087f6004803603604081101561084957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112c3565b60405180821515815260200191505060405180910390f35b6108f9600480360360408110156108ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e1565b6040518082815260200191505060405180910390f35b6109516004803603602081101561092557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611368565b005b61095b6114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8151811015610aa1576000600c6000848481518110610a3b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610a20565b5050565b610aad6114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060088190555050565b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c115780601f10610be657610100808354040283529160200191610c11565b820191906000526020600020905b815481529060010190602001808311610bf457829003601f168201915b5050505050905090565b6000610c2f610c286114fc565b8484611504565b6001905092915050565b600e5481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b6000610c7c8484846116fb565b610d3d84610c886114fc565b610d388560405180606001604052806028815260200161236f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cee6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edb9092919063ffffffff16565b611504565b600190509392505050565b600d5481565b6000600560009054906101000a900460ff16905090565b6000610e0e610d726114fc565b84610e098560016000610d836114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f9b90919063ffffffff16565b611504565b6001905092915050565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610eb26114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fc06114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611082576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8151811015611106576001600c60008484815181106110a057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611085565b5050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111ec5780601f106111c1576101008083540402835291602001916111ec565b820191906000526020600020905b8154815290600101906020018083116111cf57829003601f168201915b5050505050905090565b60006112b96112036114fc565b846112b485604051806060016040528060258152602001612409602591396001600061122d6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edb9092919063ffffffff16565b611504565b6001905092915050565b60006112d76112d06114fc565b84846116fb565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113706114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611432576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806122e06026913960400191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561158a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123e56024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611610576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123066022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611781576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806123c06025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806122bd6023913960400191505060405180910390fd5b60008111611860576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806123976029913960400191505060405180910390fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119015750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806119b45750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119b35750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156119c2576119c1612023565b5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611a2657611a2382612066565b90505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a8857611a8582612097565b90505b611af382604051806060016040528060268152602001612328602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edb9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b98611b4b82846120c890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f9b90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611ca481600080737137cb640d5265712e38d992e3954457705b27f273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f9b90919063ffffffff16565b600080737137cb640d5265712e38d992e3954457705b27f273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737137cb640d5265712e38d992e3954457705b27f273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e145750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ec75750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ec65750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ed557611ed4612112565b5b50505050565b6000838311158290611f88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015612019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600060085414801561203757506000600a54145b1561204157612064565b600854600981905550600a54600b8190555060006008819055506000600a819055505b565b60006120906064612082600a548561212690919063ffffffff16565b6121ac90919063ffffffff16565b9050919050565b60006120c160646120b36008548561212690919063ffffffff16565b6121ac90919063ffffffff16565b9050919050565b600061210a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611edb565b905092915050565b600954600881905550600b54600a81905550565b60008083141561213957600090506121a6565b600082840290508284828161214a57fe5b04146121a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061234e6021913960400191505060405180910390fd5b809150505b92915050565b60006121ee83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121f6565b905092915050565b600080831182906122a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561226757808201518184015260208101905061224c565b50505050905090810190601f1680156122945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816122ae57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b3c2418395f4361999bfc531a16a831b358d04bd85a02963545105de5cd00a9464736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c806349bd5a5e116100de578063768dc71011610097578063a457c2d711610071578063a457c2d7146107cf578063a9059cbb14610833578063dd62ed3e14610897578063f2fde38b1461090f57610173565b8063768dc710146106be5780638da5cb5b1461071857806395d89b411461074c57610173565b806349bd5a5e146104fa578063590f897e1461052e5780636ebcf6071461054c57806370a08231146105a4578063715018a6146105fc57806371b9189c1461060657610173565b806318160ddd1161013057806318160ddd1461039757806323b872dd146103b5578063251c1aa314610439578063313ce56714610457578063395093511461047857806340b9a54b146104dc57610173565b8063024022f714610178578063061c82d01461023057806306fdde031461025e578063095ea7b3146102e1578063144d159e146103455780631694505e14610363575b600080fd5b61022e6004803603602081101561018e57600080fd5b81019080803590602001906401000000008111156101ab57600080fd5b8201836020820111156101bd57600080fd5b803590602001918460208302840111640100000000831117156101df57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610953565b005b61025c6004803603602081101561024657600080fd5b8101908080359060200190929190505050610aa5565b005b610266610b79565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102a657808201518184015260208101905061028b565b50505050905090810190601f1680156102d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61032d600480360360408110156102f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c1b565b60405180821515815260200191505060405180910390f35b61034d610c39565b6040518082815260200191505060405180910390f35b61036b610c3f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61039f610c65565b6040518082815260200191505060405180910390f35b610421600480360360608110156103cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c6f565b60405180821515815260200191505060405180910390f35b610441610d48565b6040518082815260200191505060405180910390f35b61045f610d4e565b604051808260ff16815260200191505060405180910390f35b6104c46004803603604081101561048e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d65565b60405180821515815260200191505060405180910390f35b6104e4610e18565b6040518082815260200191505060405180910390f35b610502610e1e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610536610e44565b6040518082815260200191505060405180910390f35b61058e6004803603602081101561056257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e4a565b6040518082815260200191505060405180910390f35b6105e6600480360360208110156105ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e62565b6040518082815260200191505060405180910390f35b610604610eaa565b005b6106bc6004803603602081101561061c57600080fd5b810190808035906020019064010000000081111561063957600080fd5b82018360208201111561064b57600080fd5b8035906020019184602083028401116401000000008311171561066d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610fb8565b005b610700600480360360208110156106d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061110a565b60405180821515815260200191505060405180910390f35b61072061112a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610754611154565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610794578082015181840152602081019050610779565b50505050905090810190601f1680156107c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61081b600480360360408110156107e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f6565b60405180821515815260200191505060405180910390f35b61087f6004803603604081101561084957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112c3565b60405180821515815260200191505060405180910390f35b6108f9600480360360408110156108ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e1565b6040518082815260200191505060405180910390f35b6109516004803603602081101561092557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611368565b005b61095b6114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8151811015610aa1576000600c6000848481518110610a3b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610a20565b5050565b610aad6114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060088190555050565b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c115780601f10610be657610100808354040283529160200191610c11565b820191906000526020600020905b815481529060010190602001808311610bf457829003601f168201915b5050505050905090565b6000610c2f610c286114fc565b8484611504565b6001905092915050565b600e5481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b6000610c7c8484846116fb565b610d3d84610c886114fc565b610d388560405180606001604052806028815260200161236f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cee6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edb9092919063ffffffff16565b611504565b600190509392505050565b600d5481565b6000600560009054906101000a900460ff16905090565b6000610e0e610d726114fc565b84610e098560016000610d836114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f9b90919063ffffffff16565b611504565b6001905092915050565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610eb26114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fc06114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611082576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8151811015611106576001600c60008484815181106110a057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611085565b5050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111ec5780601f106111c1576101008083540402835291602001916111ec565b820191906000526020600020905b8154815290600101906020018083116111cf57829003601f168201915b5050505050905090565b60006112b96112036114fc565b846112b485604051806060016040528060258152602001612409602591396001600061122d6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edb9092919063ffffffff16565b611504565b6001905092915050565b60006112d76112d06114fc565b84846116fb565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113706114fc565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611432576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806122e06026913960400191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561158a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123e56024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611610576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123066022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611781576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806123c06025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806122bd6023913960400191505060405180910390fd5b60008111611860576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806123976029913960400191505060405180910390fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119015750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806119b45750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119b35750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156119c2576119c1612023565b5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611a2657611a2382612066565b90505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a8857611a8582612097565b90505b611af382604051806060016040528060268152602001612328602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edb9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b98611b4b82846120c890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f9b90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611ca481600080737137cb640d5265712e38d992e3954457705b27f273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f9b90919063ffffffff16565b600080737137cb640d5265712e38d992e3954457705b27f273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737137cb640d5265712e38d992e3954457705b27f273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e145750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ec75750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ec65750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ed557611ed4612112565b5b50505050565b6000838311158290611f88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015612019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600060085414801561203757506000600a54145b1561204157612064565b600854600981905550600a54600b8190555060006008819055506000600a819055505b565b60006120906064612082600a548561212690919063ffffffff16565b6121ac90919063ffffffff16565b9050919050565b60006120c160646120b36008548561212690919063ffffffff16565b6121ac90919063ffffffff16565b9050919050565b600061210a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611edb565b905092915050565b600954600881905550600b54600a81905550565b60008083141561213957600090506121a6565b600082840290508284828161214a57fe5b04146121a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061234e6021913960400191505060405180910390fd5b809150505b92915050565b60006121ee83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121f6565b905092915050565b600080831182906122a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561226757808201518184015260208101905061224c565b50505050905090810190601f1680156122945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816122ae57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b3c2418395f4361999bfc531a16a831b358d04bd85a02963545105de5cd00a9464736f6c634300060c0033

Deployed Bytecode Sourcemap

16058:309:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11764:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12289:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7995:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9311:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7202:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6845:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8778:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9475:310;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7170:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8177:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9791:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7021:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6895:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6931:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6564:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8881:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8678:92;;;:::i;:::-;;11572:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7110:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8393:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8084:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10004:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9003:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9173:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8480:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11764:185;8317:12;:10;:12::i;:::-;8307:22;;:6;;;;;;;;;;;:22;;;8299:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11845:6:::1;11841:100;11856:8;:15;11854:1;:17;11841:100;;;11924:5;11890:18;:31;11909:8;11918:1;11909:11;;;;;;;;;;;;;;11890:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11872:3;;;;;;;11841:100;;;;11764:185:::0;:::o;12289:99::-;8317:12;:10;:12::i;:::-;8307:22;;:6;;;;;;;;;;;:22;;;8299:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12374:6:::1;12363:8;:17;;;;12289:99:::0;:::o;7995:83::-;8032:13;8065:5;8058:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7995:83;:::o;9311:158::-;9383:4;9400:39;9409:12;:10;:12::i;:::-;9423:7;9432:6;9400:8;:39::i;:::-;9457:4;9450:11;;9311:158;;;;:::o;7202:26::-;;;;:::o;6845:41::-;;;;;;;;;;;;;:::o;8778:97::-;8831:4;8855:12;;8848:19;;8778:97;:::o;9475:310::-;9570:4;9587:36;9597:6;9605:9;9616:6;9587:9;:36::i;:::-;9634:121;9643:6;9651:12;:10;:12::i;:::-;9665:89;9703:6;9665:89;;;;;;;;;;;;;;;;;:11;:19;9677:6;9665:19;;;;;;;;;;;;;;;:33;9685:12;:10;:12::i;:::-;9665:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9634:8;:121::i;:::-;9773:4;9766:11;;9475:310;;;;;:::o;7170:25::-;;;;:::o;8177:83::-;8218:5;8243:9;;;;;;;;;;;8236:16;;8177:83;:::o;9791:207::-;9868:4;9885:83;9894:12;:10;:12::i;:::-;9908:7;9917:50;9956:10;9917:11;:25;9929:12;:10;:12::i;:::-;9917:25;;;;;;;;;;;;;;;:34;9943:7;9917:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;9885:8;:83::i;:::-;9986:4;9979:11;;9791:207;;;;:::o;7021:26::-;;;;:::o;6895:29::-;;;;;;;;;;;;;:::o;6931:27::-;;;;:::o;6564:42::-;;;;;;;;;;;;;;;;;:::o;8881:116::-;8947:4;8971:9;:18;8981:7;8971:18;;;;;;;;;;;;;;;;8964:25;;8881:116;;;:::o;8678:92::-;8317:12;:10;:12::i;:::-;8307:22;;:6;;;;;;;;;;;:22;;;8299:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8760:1:::1;8743:6;;:19;;;;;;;;;;;;;;;;;;8678:92::o:0;11572:186::-;8317:12;:10;:12::i;:::-;8307:22;;:6;;;;;;;;;;;:22;;;8299:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11655:6:::1;11651:99;11666:8;:15;11664:1;:17;11651:99;;;11734:4;11700:18;:31;11719:8;11728:1;11719:11;;;;;;;;;;;;;;11700:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;11682:3;;;;;;;11651:99;;;;11572:186:::0;:::o;7110:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;8393:79::-;8431:7;8458:6;;;;;;;;;;;8451:13;;8393:79;:::o;8084:87::-;8123:13;8156:7;8149:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8084:87;:::o;10004:258::-;10086:4;10103:129;10112:12;:10;:12::i;:::-;10126:7;10135:96;10174:15;10135:96;;;;;;;;;;;;;;;;;:11;:25;10147:12;:10;:12::i;:::-;10135:25;;;;;;;;;;;;;;;:34;10161:7;10135:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;10103:8;:129::i;:::-;10250:4;10243:11;;10004:258;;;;:::o;9003:164::-;9078:4;9095:42;9105:12;:10;:12::i;:::-;9119:9;9130:6;9095:9;:42::i;:::-;9155:4;9148:11;;9003:164;;;;:::o;9173:132::-;9250:4;9274:11;:18;9286:5;9274:18;;;;;;;;;;;;;;;:23;9293:3;9274:23;;;;;;;;;;;;;;;;9267:30;;9173:132;;;;:::o;8480:190::-;8317:12;:10;:12::i;:::-;8307:22;;:6;;;;;;;;;;;:22;;;8299:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8589:1:::1;8569:22;;:8;:22;;;;8561:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8654:8;8645:6;;:17;;;;;;;;;;;;;;;;;;8480:190:::0;:::o;6386:98::-;6431:15;6466:10;6459:17;;6386:98;:::o;11959:318::-;12063:1;12046:19;;:5;:19;;;;12038:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12140:1;12125:17;;:3;:17;;;;12117:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12220:6;12194:11;:18;12206:5;12194:18;;;;;;;;;;;;;;;:23;12213:3;12194:23;;;;;;;;;;;;;;;:32;;;;12257:3;12242:27;;12251:5;12242:27;;;12262:6;12242:27;;;;;;;;;;;;;;;;;;11959:318;;;:::o;10268:1296::-;10371:1;10355:18;;:4;:18;;;;10347:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10448:1;10434:16;;:2;:16;;;;10426:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10518:1;10509:6;:10;10501:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10579:18;:24;10598:4;10579:24;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;10605:18;:22;10624:2;10605:22;;;;;;;;;;;;;;;;;;;;;;;;;10579:48;:90;;;;10636:13;;;;;;;;;;;10630:19;;:4;:19;;;;:38;;;;;10655:13;;;;;;;;;;;10651:17;;:2;:17;;;;10630:38;10579:90;10576:135;;;10685:14;:12;:14::i;:::-;10576:135;10721:20;10762:13;;;;;;;;;;;10756:19;;:4;:19;;;10752:87;;;10804:23;10820:6;10804:15;:23::i;:::-;10791:36;;10752:87;10858:13;;;;;;;;;;;10854:17;;:2;:17;;;10851:85;;;10900:24;10917:6;10900:16;:24::i;:::-;10887:37;;10851:85;10978:69;10998:6;10978:69;;;;;;;;;;;;;;;;;:9;:15;10988:4;10978:15;;;;;;;;;;;;;;;;:19;;:69;;;;;:::i;:::-;10960:9;:15;10970:4;10960:15;;;;;;;;;;;;;;;:87;;;;11074:43;11092:24;11103:12;11092:6;:10;;:24;;;;:::i;:::-;11074:9;:13;11084:2;11074:13;;;;;;;;;;;;;;;;:17;;:43;;;;:::i;:::-;11058:9;:13;11068:2;11058:13;;;;;;;;;;;;;;;:59;;;;11148:2;11133:26;;11142:4;11133:26;;;11152:6;11133:26;;;;;;;;;;;;;;;;;;11233:80;11300:12;11233:9;:62;11251:42;11233:62;;;;;;;;;;;;;;;;:66;;:80;;;;:::i;:::-;11170:9;:62;11188:42;11170:62;;;;;;;;;;;;;;;:143;;;;11352:42;11329:81;;11338:4;11329:81;;;11397:12;11329:81;;;;;;;;;;;;;;;;;;11424:18;:24;11443:4;11424:24;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;11450:18;:22;11469:2;11450:22;;;;;;;;;;;;;;;;;;;;;;;;;11424:48;:90;;;;11481:13;;;;;;;;;;;11475:19;;:4;:19;;;;:38;;;;;11500:13;;;;;;;;;;;11496:17;;:2;:17;;;;11475:38;11424:90;11421:136;;;11530:15;:13;:15::i;:::-;11421:136;10268:1296;;;;:::o;13408:180::-;13488:4;13518:1;13513;:6;;13521:12;13505:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13545:6;13558:1;13554;:5;13545:14;;13579:1;13572:8;;;13408:180;;;;;:::o;13100:169::-;13152:4;13169:6;13182:1;13178;:5;13169:14;;13207:1;13202;:6;;13194:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13260:1;13253:8;;;13100:169;;;;:::o;12716:226::-;12774:1;12762:8;;:13;:25;;;;;12786:1;12777:7;;:10;12762:25;12759:37;;;12789:7;;12759:37;12835:8;;12816:16;:27;;;;12872:7;;12854:15;:25;;;;12911:1;12900:8;:12;;;;12933:1;12923:7;:11;;;;12716:226;:::o;12394:154::-;12458:7;12485:55;12524:5;12485:20;12497:7;;12485;:11;;:20;;;;:::i;:::-;:24;;:55;;;;:::i;:::-;12478:62;;12394:154;;;:::o;12554:156::-;12619:7;12646:56;12686:5;12646:21;12658:8;;12646:7;:11;;:21;;;;:::i;:::-;:25;;:56;;;;:::i;:::-;12639:63;;12554:156;;;:::o;13275:127::-;13327:4;13351:43;13355:1;13358;13351:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;13344:50;;13275:127;;;;:::o;12950:115::-;13005:16;;12994:8;:27;;;;13042:15;;13032:7;:25;;;;12950:115::o;13594:238::-;13646:4;13672:1;13667;:6;13663:47;;;13697:1;13690:8;;;;13663:47;13722:6;13735:1;13731;:5;13722:14;;13764:1;13759;13755;:5;;;;;;:10;13747:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13823:1;13816:8;;;13594:238;;;;;:::o;13838:123::-;13890:4;13914:39;13918:1;13921;13914:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;13907:46;;13838:123;;;;:::o;13967:246::-;14047:4;14143:1;14139;:5;14146:12;14131:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14170:6;14183:1;14179;:5;;;;;;14170:14;;14204:1;14197:8;;;13967:246;;;;;:::o

Swarm Source

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