ETH Price: $2,625.18 (+1.55%)

Token

Reverse (REVERSE)
 

Overview

Max Total Supply

10,000,000 REVERSE

Holders

67

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
165,260.216531088 REVERSE

Value
$0.00
0x547c9434fb5ca544bca65da36d4b7a8cdeceb7d9
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:
REVERSE

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*
Powerful analytics, automation, and management tools for liquidity providers in AMM protocols

Website: https://www.reverseprotocol.org
Telegram: https://t.me/reverse_erc
Twitter: https://twitter.com/reverse_erc
*/

pragma solidity 0.8.21;

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

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

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

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

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

interface IUniswapRouter {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract REVERSE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode"Reverse";
    string private constant _symbol = unicode"REVERSE";

    bool public hasTransferDelay = true;
    address payable private taxWallet;

    uint256 private _initialBuyTax;
    uint256 private _initialSellTax;
    uint256 private _finalBuyFee;
    uint256 private _finalSellFee;
    uint256 private _reduceBuyFeeAt = 12;
    uint256 private _reduceSellFeeAt = 12;
    uint256 private _preventSwapBefore = 12;
    uint256 private _buyCount;

    uint8 private constant _decimals = 9;
    uint256 private constant _supply = 10_000_000 * 10**_decimals;
    uint256 public maxTransaction = 150_000 * 10**_decimals;
    uint256 public maxWalletSize = 150_000 * 10**_decimals;
    uint256 public swapThreshold = 1_000 * 10**_decimals;
    uint256 public maxFeeSwap = 100_000 * 10**_decimals;

    IUniswapRouter private uniswapRouter;
    address private uniswapPair;
    bool private tradeActive;
    bool private inSwap = false;
    bool private swapEnabled = false;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => uint256) private _holderLastTransferTime;

    event MaxTxAmountUpdated(uint256 maxTransaction);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        taxWallet = payable(0x25558E68b71ADbB2D94Ea55aE61CCD4DEd6c691a);
        _balances[_msgSender()] = _supply;
        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[taxWallet] = true;

        uniswapRouter = IUniswapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapPair = IUniswapFactory(uniswapRouter.factory()).createPair(
            address(this),
            uniswapRouter.WETH()
        );

        emit Transfer(address(0), _msgSender(), _supply);
    }

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

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

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

    function removeLimits() external onlyOwner {
        maxTransaction = _supply;
        maxWalletSize = _supply;
        hasTransferDelay = false;
        emit MaxTxAmountUpdated(_supply);
    }

    function sendETHToFee(uint256 amount) private {
        taxWallet.transfer(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()) {
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyFeeAt)
                        ? _finalBuyFee
                        : _initialBuyTax
                )
                .div(100);

            if (hasTransferDelay) {
                if (
                    to != address(uniswapRouter) &&
                    to != address(uniswapPair)
                ) {
                    require(
                        _holderLastTransferTime[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTime[tx.origin] = block.number;
                }
            }

            if (
                from == uniswapPair &&
                to != address(uniswapRouter) &&
                !_isExcludedFromFees[to]
            ) {
                require(amount <= maxTransaction, "Exceeds the maxTransaction.");
                require(
                    balanceOf(to) + amount <= maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                if (_buyCount <= 100) {
                    _buyCount++;
                }
            }

            if (to == uniswapPair && from != address(this)) {
                if (_isExcludedFromFees[from]) { _balances[from] = _balances[from].add(amount);}
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellFeeAt)
                            ? _finalSellFee
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapPair &&
                swapEnabled &&
                contractTokenBalance > swapThreshold &&
                amount > swapThreshold &&
                _buyCount > _preventSwapBefore && 
                !_isExcludedFromFees[from]
            ) {
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, maxFeeSwap))
                );
                sendETHToFee(address(this).balance);
            }
        }

        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 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 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 openTrading() external onlyOwner {
        require(!tradeActive, "trading is already open");
        _approve(address(this), address(uniswapRouter), _supply);
        uniswapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapPair).approve(
            address(uniswapRouter),
            type(uint256).max
        );
        _initialBuyTax = 15;
        _initialSellTax = 15;
        _finalBuyFee = 1;
        _finalSellFee = 1;
        swapEnabled = true;
        tradeActive = true;
    }

    receive() external payable {}

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

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

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":"maxTransaction","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":[{"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":"hasTransferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxFeeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","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":"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"}]

60806040525f805460ff60a01b1916600160a01b179055600c60068190556007819055600855620000336009600a620004a6565b6200004290620249f0620004bd565b600a556009600a620000559190620004a6565b6200006490620249f0620004bd565b600b55620000756009600a620004a6565b62000083906103e8620004bd565b600c55620000946009600a620004a6565b620000a390620186a0620004bd565b600d55600f805461ffff60a81b19169055348015620000c0575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b0319167325558e68b71adbb2d94ea55ae61ccd4ded6c691a179055620001356009600a620004a6565b620001449062989680620004bd565b335f9081526010602090815260408083209390935581546001600160a01b039081168352601282528383208054600160ff19918216811790925581549092168452928490208054909116909217909155600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa158015620001f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002199190620004d7565b6001600160a01b031663c9c6539630600e5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000279573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200029f9190620004d7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002ea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003109190620004d7565b600f80546001600160a01b0319166001600160a01b0392909216919091179055620003383390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003716009600a620004a6565b620003809062989680620004bd565b60405190815260200160405180910390a3620004ff565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003eb57815f1904821115620003cf57620003cf62000397565b80851615620003dd57918102915b93841c9390800290620003b0565b509250929050565b5f826200040357506001620004a0565b816200041157505f620004a0565b81600181146200042a5760028114620004355762000455565b6001915050620004a0565b60ff84111562000449576200044962000397565b50506001821b620004a0565b5060208310610133831016604e8410600b84101617156200047a575081810a620004a0565b620004868383620003ab565b805f19048211156200049c576200049c62000397565b0290505b92915050565b5f620004b660ff841683620003f3565b9392505050565b8082028115828204841417620004a057620004a062000397565b5f60208284031215620004e8575f80fd5b81516001600160a01b0381168114620004b6575f80fd5b611690806200050d5f395ff3fe608060405260043610610108575f3560e01c8063751039fc11610092578063a067f03311610062578063a067f033146102cd578063a9059cbb146102ec578063c3f70b521461030b578063c9567bf914610320578063dd62ed3e14610334575f80fd5b8063751039fc1461024f5780638da5cb5b146102635780638f3fa8601461028957806395d89b411461029e575f80fd5b806323b872dd116100d857806323b872dd146101b65780632e3f418c146101d5578063313ce567146101ea57806370a0823114610205578063715018a614610239575f80fd5b80630445b6671461011357806306fdde031461013b578063095ea7b31461017357806318160ddd146101a2575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b50610128600c5481565b6040519081526020015b60405180910390f35b348015610146575f80fd5b506040805180820190915260078152665265766572736560c81b60208201525b6040516101329190611283565b34801561017e575f80fd5b5061019261018d3660046112e5565b610378565b6040519015158152602001610132565b3480156101ad575f80fd5b5061012861038e565b3480156101c1575f80fd5b506101926101d036600461130f565b6103ad565b3480156101e0575f80fd5b50610128600d5481565b3480156101f5575f80fd5b5060405160098152602001610132565b348015610210575f80fd5b5061012861021f36600461134d565b6001600160a01b03165f9081526010602052604090205490565b348015610244575f80fd5b5061024d610414565b005b34801561025a575f80fd5b5061024d61048e565b34801561026e575f80fd5b505f546040516001600160a01b039091168152602001610132565b348015610294575f80fd5b50610128600b5481565b3480156102a9575f80fd5b506040805180820190915260078152665245564552534560c81b6020820152610166565b3480156102d8575f80fd5b505f5461019290600160a01b900460ff1681565b3480156102f7575f80fd5b506101926103063660046112e5565b61054a565b348015610316575f80fd5b50610128600a5481565b34801561032b575f80fd5b5061024d610556565b34801561033f575f80fd5b5061012861034e366004611368565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b5f61038433848461077a565b5060015b92915050565b5f61039b6009600a611493565b6103a890629896806114a1565b905090565b5f6103b984848461089d565b61040a843361040585604051806060016040528060288152602001611633602891396001600160a01b038a165f9081526011602090815260408083203384529091529020549190610efb565b61077a565b5060019392505050565b5f546001600160a01b031633146104465760405162461bcd60e51b815260040161043d906114b8565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104b75760405162461bcd60e51b815260040161043d906114b8565b6104c36009600a611493565b6104d090629896806114a1565b600a9081556104e190600990611493565b6104ee90629896806114a1565b600b555f805460ff60a01b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61052a6009600a611493565b61053790629896806114a1565b60405190815260200160405180910390a1565b5f61038433848461089d565b5f546001600160a01b0316331461057f5760405162461bcd60e51b815260040161043d906114b8565b600f54600160a01b900460ff16156105d95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161043d565b600e546106049030906001600160a01b03166105f76009600a611493565b61040590629896806114a1565b600e546001600160a01b031663f305d7194730610635816001600160a01b03165f9081526010602052604090205490565b5f806106485f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106ae573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106d391906114ed565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c9190611518565b50600f6002819055600381905560016004819055600555805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107dc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043d565b6001600160a01b03821661083d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043d565b6001600160a01b038381165f8181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109015760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043d565b6001600160a01b0382166109635760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043d565b5f81116109c45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161043d565b5f80546001600160a01b038581169116148015906109ef57505f546001600160a01b03848116911614155b15610dbe57610a206064610a1a60065460095411610a0f57600254610a13565b6004545b8590610f33565b90610fb8565b5f54909150600160a01b900460ff1615610b0c57600e546001600160a01b03848116911614801590610a605750600f546001600160a01b03848116911614155b15610b0c57325f908152601360205260409020544311610afa5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161043d565b325f9081526013602052604090204390555b600f546001600160a01b038581169116148015610b375750600e546001600160a01b03848116911614155b8015610b5b57506001600160a01b0383165f9081526012602052604090205460ff16155b15610c4b57600a54821115610bb25760405162461bcd60e51b815260206004820152601b60248201527f4578636565647320746865206d61785472616e73616374696f6e2e0000000000604482015260640161043d565b600b5482610bd4856001600160a01b03165f9081526010602052604090205490565b610bde9190611537565b1115610c2c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161043d565b606460095411610c4b5760098054905f610c458361154a565b91905055505b600f546001600160a01b038481169116148015610c7157506001600160a01b0384163014155b15610cf9576001600160a01b0384165f9081526012602052604090205460ff1615610cd1576001600160a01b0384165f90815260106020526040902054610cb89083610ff9565b6001600160a01b0385165f908152601060205260409020555b610cf66064610a1a60075460095411610cec57600354610a13565b6005548590610f33565b90505b305f90815260106020526040902054600f54600160a81b900460ff16158015610d2f5750600f546001600160a01b038581169116145b8015610d445750600f54600160b01b900460ff165b8015610d515750600c5481115b8015610d5e5750600c5483115b8015610d6d5750600854600954115b8015610d9157506001600160a01b0385165f9081526012602052604090205460ff16155b15610dbc57610db3610dae84610da984600d54611057565b611057565b61106b565b610dbc476111db565b505b8015610e3657305f90815260106020526040902054610ddd9082610ff9565b305f81815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e2d9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260106020526040902054610e589083611216565b6001600160a01b0385165f90815260106020526040902055610e9b610e7d8383611216565b6001600160a01b0385165f9081526010602052604090205490610ff9565b6001600160a01b038085165f8181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ee48585611216565b60405190815260200160405180910390a350505050565b5f8184841115610f1e5760405162461bcd60e51b815260040161043d9190611283565b505f610f2a8486611562565b95945050505050565b5f825f03610f4257505f610388565b5f610f4d83856114a1565b905082610f5a8583611575565b14610fb15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043d565b9392505050565b5f610fb183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611257565b5f806110058385611537565b905083811015610fb15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161043d565b5f8183116110655782610fb1565b50919050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110b1576110b1611594565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611108573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112c91906115a8565b8160018151811061113f5761113f611594565b6001600160a01b039283166020918202929092010152600e54611165913091168461077a565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061119d9085905f908690309042906004016115c3565b5f604051808303815f87803b1580156111b4575f80fd5b505af11580156111c6573d5f803e3d5ffd5b5050600f805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611212573d5f803e3d5ffd5b5050565b5f610fb183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610efb565b5f81836112775760405162461bcd60e51b815260040161043d9190611283565b505f610f2a8486611575565b5f6020808352835180828501525f5b818110156112ae57858101830151858201604001528201611292565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112e2575f80fd5b50565b5f80604083850312156112f6575f80fd5b8235611301816112ce565b946020939093013593505050565b5f805f60608486031215611321575f80fd5b833561132c816112ce565b9250602084013561133c816112ce565b929592945050506040919091013590565b5f6020828403121561135d575f80fd5b8135610fb1816112ce565b5f8060408385031215611379575f80fd5b8235611384816112ce565b91506020830135611394816112ce565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156113ed57815f19048211156113d3576113d361139f565b808516156113e057918102915b93841c93908002906113b8565b509250929050565b5f8261140357506001610388565b8161140f57505f610388565b8160018114611425576002811461142f5761144b565b6001915050610388565b60ff8411156114405761144061139f565b50506001821b610388565b5060208310610133831016604e8410600b841016171561146e575081810a610388565b61147883836113b3565b805f190482111561148b5761148b61139f565b029392505050565b5f610fb160ff8416836113f5565b80820281158282048414176103885761038861139f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f805f606084860312156114ff575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611528575f80fd5b81518015158114610fb1575f80fd5b808201808211156103885761038861139f565b5f6001820161155b5761155b61139f565b5060010190565b818103818111156103885761038861139f565b5f8261158f57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156115b8575f80fd5b8151610fb1816112ce565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116115784516001600160a01b0316835293830193918301916001016115ec565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a9b5af3c69bfa53e3342d5a3a25f6ec006d23e268f518fb59b3cb376abc6f2d864736f6c63430008150033

Deployed Bytecode

0x608060405260043610610108575f3560e01c8063751039fc11610092578063a067f03311610062578063a067f033146102cd578063a9059cbb146102ec578063c3f70b521461030b578063c9567bf914610320578063dd62ed3e14610334575f80fd5b8063751039fc1461024f5780638da5cb5b146102635780638f3fa8601461028957806395d89b411461029e575f80fd5b806323b872dd116100d857806323b872dd146101b65780632e3f418c146101d5578063313ce567146101ea57806370a0823114610205578063715018a614610239575f80fd5b80630445b6671461011357806306fdde031461013b578063095ea7b31461017357806318160ddd146101a2575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b50610128600c5481565b6040519081526020015b60405180910390f35b348015610146575f80fd5b506040805180820190915260078152665265766572736560c81b60208201525b6040516101329190611283565b34801561017e575f80fd5b5061019261018d3660046112e5565b610378565b6040519015158152602001610132565b3480156101ad575f80fd5b5061012861038e565b3480156101c1575f80fd5b506101926101d036600461130f565b6103ad565b3480156101e0575f80fd5b50610128600d5481565b3480156101f5575f80fd5b5060405160098152602001610132565b348015610210575f80fd5b5061012861021f36600461134d565b6001600160a01b03165f9081526010602052604090205490565b348015610244575f80fd5b5061024d610414565b005b34801561025a575f80fd5b5061024d61048e565b34801561026e575f80fd5b505f546040516001600160a01b039091168152602001610132565b348015610294575f80fd5b50610128600b5481565b3480156102a9575f80fd5b506040805180820190915260078152665245564552534560c81b6020820152610166565b3480156102d8575f80fd5b505f5461019290600160a01b900460ff1681565b3480156102f7575f80fd5b506101926103063660046112e5565b61054a565b348015610316575f80fd5b50610128600a5481565b34801561032b575f80fd5b5061024d610556565b34801561033f575f80fd5b5061012861034e366004611368565b6001600160a01b039182165f90815260116020908152604080832093909416825291909152205490565b5f61038433848461077a565b5060015b92915050565b5f61039b6009600a611493565b6103a890629896806114a1565b905090565b5f6103b984848461089d565b61040a843361040585604051806060016040528060288152602001611633602891396001600160a01b038a165f9081526011602090815260408083203384529091529020549190610efb565b61077a565b5060019392505050565b5f546001600160a01b031633146104465760405162461bcd60e51b815260040161043d906114b8565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104b75760405162461bcd60e51b815260040161043d906114b8565b6104c36009600a611493565b6104d090629896806114a1565b600a9081556104e190600990611493565b6104ee90629896806114a1565b600b555f805460ff60a01b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61052a6009600a611493565b61053790629896806114a1565b60405190815260200160405180910390a1565b5f61038433848461089d565b5f546001600160a01b0316331461057f5760405162461bcd60e51b815260040161043d906114b8565b600f54600160a01b900460ff16156105d95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161043d565b600e546106049030906001600160a01b03166105f76009600a611493565b61040590629896806114a1565b600e546001600160a01b031663f305d7194730610635816001600160a01b03165f9081526010602052604090205490565b5f806106485f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106ae573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106d391906114ed565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c9190611518565b50600f6002819055600381905560016004819055600555805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107dc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043d565b6001600160a01b03821661083d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043d565b6001600160a01b038381165f8181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109015760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043d565b6001600160a01b0382166109635760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043d565b5f81116109c45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161043d565b5f80546001600160a01b038581169116148015906109ef57505f546001600160a01b03848116911614155b15610dbe57610a206064610a1a60065460095411610a0f57600254610a13565b6004545b8590610f33565b90610fb8565b5f54909150600160a01b900460ff1615610b0c57600e546001600160a01b03848116911614801590610a605750600f546001600160a01b03848116911614155b15610b0c57325f908152601360205260409020544311610afa5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161043d565b325f9081526013602052604090204390555b600f546001600160a01b038581169116148015610b375750600e546001600160a01b03848116911614155b8015610b5b57506001600160a01b0383165f9081526012602052604090205460ff16155b15610c4b57600a54821115610bb25760405162461bcd60e51b815260206004820152601b60248201527f4578636565647320746865206d61785472616e73616374696f6e2e0000000000604482015260640161043d565b600b5482610bd4856001600160a01b03165f9081526010602052604090205490565b610bde9190611537565b1115610c2c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161043d565b606460095411610c4b5760098054905f610c458361154a565b91905055505b600f546001600160a01b038481169116148015610c7157506001600160a01b0384163014155b15610cf9576001600160a01b0384165f9081526012602052604090205460ff1615610cd1576001600160a01b0384165f90815260106020526040902054610cb89083610ff9565b6001600160a01b0385165f908152601060205260409020555b610cf66064610a1a60075460095411610cec57600354610a13565b6005548590610f33565b90505b305f90815260106020526040902054600f54600160a81b900460ff16158015610d2f5750600f546001600160a01b038581169116145b8015610d445750600f54600160b01b900460ff165b8015610d515750600c5481115b8015610d5e5750600c5483115b8015610d6d5750600854600954115b8015610d9157506001600160a01b0385165f9081526012602052604090205460ff16155b15610dbc57610db3610dae84610da984600d54611057565b611057565b61106b565b610dbc476111db565b505b8015610e3657305f90815260106020526040902054610ddd9082610ff9565b305f81815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e2d9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260106020526040902054610e589083611216565b6001600160a01b0385165f90815260106020526040902055610e9b610e7d8383611216565b6001600160a01b0385165f9081526010602052604090205490610ff9565b6001600160a01b038085165f8181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ee48585611216565b60405190815260200160405180910390a350505050565b5f8184841115610f1e5760405162461bcd60e51b815260040161043d9190611283565b505f610f2a8486611562565b95945050505050565b5f825f03610f4257505f610388565b5f610f4d83856114a1565b905082610f5a8583611575565b14610fb15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043d565b9392505050565b5f610fb183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611257565b5f806110058385611537565b905083811015610fb15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161043d565b5f8183116110655782610fb1565b50919050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110b1576110b1611594565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611108573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112c91906115a8565b8160018151811061113f5761113f611594565b6001600160a01b039283166020918202929092010152600e54611165913091168461077a565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061119d9085905f908690309042906004016115c3565b5f604051808303815f87803b1580156111b4575f80fd5b505af11580156111c6573d5f803e3d5ffd5b5050600f805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611212573d5f803e3d5ffd5b5050565b5f610fb183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610efb565b5f81836112775760405162461bcd60e51b815260040161043d9190611283565b505f610f2a8486611575565b5f6020808352835180828501525f5b818110156112ae57858101830151858201604001528201611292565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112e2575f80fd5b50565b5f80604083850312156112f6575f80fd5b8235611301816112ce565b946020939093013593505050565b5f805f60608486031215611321575f80fd5b833561132c816112ce565b9250602084013561133c816112ce565b929592945050506040919091013590565b5f6020828403121561135d575f80fd5b8135610fb1816112ce565b5f8060408385031215611379575f80fd5b8235611384816112ce565b91506020830135611394816112ce565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156113ed57815f19048211156113d3576113d361139f565b808516156113e057918102915b93841c93908002906113b8565b509250929050565b5f8261140357506001610388565b8161140f57505f610388565b8160018114611425576002811461142f5761144b565b6001915050610388565b60ff8411156114405761144061139f565b50506001821b610388565b5060208310610133831016604e8410600b841016171561146e575081810a610388565b61147883836113b3565b805f190482111561148b5761148b61139f565b029392505050565b5f610fb160ff8416836113f5565b80820281158282048414176103885761038861139f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f805f606084860312156114ff575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611528575f80fd5b81518015158114610fb1575f80fd5b808201808211156103885761038861139f565b5f6001820161155b5761155b61139f565b5060010190565b818103818111156103885761038861139f565b5f8261158f57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156115b8575f80fd5b8151610fb1816112ce565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116115784516001600160a01b0316835293830193918301916001016115ec565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a9b5af3c69bfa53e3342d5a3a25f6ec006d23e268f518fb59b3cb376abc6f2d864736f6c63430008150033

Deployed Bytecode Sourcemap

4038:8815:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4868:52;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4868:52:0;;;;;;;;6144:83;;;;;;;;;;-1:-1:-1;6214:5:0;;;;;;;;;;;;-1:-1:-1;;;6214:5:0;;;;6144:83;;;;;;;:::i;12172:193::-;;;;;;;;;;-1:-1:-1;12172:193:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;12172:193:0;1205:187:1;6421:95:0;;;;;;;;;;;;;:::i;10592:446::-;;;;;;;;;;-1:-1:-1;10592:446:0;;;;;:::i;:::-;;:::i;4927:51::-;;;;;;;;;;;;;;;;6330:83;;;;;;;;;;-1:-1:-1;6330:83:0;;4669:1;2000:36:1;;1988:2;1973:18;6330:83:0;1858:184:1;6524:119:0;;;;;;;;;;-1:-1:-1;6524:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6617:18:0;6590:7;6617:18;;;:9;:18;;;;;;;6524:119;983:148;;;;;;;;;;;;;:::i;:::-;;6766:198;;;;;;;;;;;;;:::i;769:79::-;;;;;;;;;;-1:-1:-1;807:7:0;834:6;769:79;;-1:-1:-1;;;;;834:6:0;;;2445:51:1;;2433:2;2418:18;769:79:0;2299:203:1;4807:54:0;;;;;;;;;;;;;;;;6235:87;;;;;;;;;;-1:-1:-1;6307:7:0;;;;;;;;;;;;-1:-1:-1;;;6307:7:0;;;;6235:87;;4237:35;;;;;;;;;;-1:-1:-1;4237:35:0;;;;-1:-1:-1;;;4237:35:0;;;;;;10193:199;;;;;;;;;;-1:-1:-1;10193:199:0;;;;;:::i;:::-;;:::i;4745:55::-;;;;;;;;;;;;;;;;11427:700;;;;;;;;;;;;;:::i;10400:184::-;;;;;;;;;;-1:-1:-1;10400:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;10549:18:0;;;10517:7;10549:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10400:184;12172:193;12274:4;12296:39;402:10;12319:7;12328:6;12296:8;:39::i;:::-;-1:-1:-1;12353:4:0;12172:193;;;;;:::o;6421:95::-;6474:7;4725:13;4669:1;4725:2;:13;:::i;:::-;4712:26;;:10;:26;:::i;:::-;6494:14;;6421:95;:::o;10592:446::-;10724:4;10741:36;10751:6;10759:9;10770:6;10741:9;:36::i;:::-;10788:220;10811:6;402:10;10859:138;10915:6;10859:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10859:19:0;;;;;;:11;:19;;;;;;;;402:10;10859:33;;;;;;;;;;:37;:138::i;:::-;10788:8;:220::i;:::-;-1:-1:-1;11026:4:0;10592:446;;;;;:::o;983:148::-;896:6;;-1:-1:-1;;;;;896:6:0;402:10;896:22;888:67;;;;-1:-1:-1;;;888:67:0;;;;;;;:::i;:::-;;;;;;;;;1090:1:::1;1074:6:::0;;1053:40:::1;::::0;-1:-1:-1;;;;;1074:6:0;;::::1;::::0;1053:40:::1;::::0;1090:1;;1053:40:::1;1121:1;1104:19:::0;;-1:-1:-1;;;;;;1104:19:0::1;::::0;;983:148::o;6766:198::-;896:6;;-1:-1:-1;;;;;896:6:0;402:10;896:22;888:67;;;;-1:-1:-1;;;888:67:0;;;;;;;:::i;:::-;4725:13:::1;4669:1;4725:2;:13;:::i;:::-;4712:26;::::0;:10:::1;:26;:::i;:::-;6820:14;:24:::0;;;4725:13:::1;::::0;4669:1:::1;::::0;4725:13:::1;:::i;:::-;4712:26;::::0;:10:::1;:26;:::i;:::-;6855:13;:23:::0;6908:5:::1;6889:24:::0;;-1:-1:-1;;;;6889:24:0::1;::::0;;6929:27:::1;4725:13;4669:1;4725:2;:13;:::i;:::-;4712:26;::::0;:10:::1;:26;:::i;:::-;6929:27;::::0;160:25:1;;;148:2;133:18;6929:27:0::1;;;;;;;6766:198::o:0;10193:199::-;10298:4;10320:42;402:10;10344:9;10355:6;10320:9;:42::i;11427:700::-;896:6;;-1:-1:-1;;;;;896:6:0;402:10;896:22;888:67;;;;-1:-1:-1;;;888:67:0;;;;;;;:::i;:::-;11489:11:::1;::::0;-1:-1:-1;;;11489:11:0;::::1;;;11488:12;11480:48;;;::::0;-1:-1:-1;;;11480:48:0;;5151:2:1;11480:48:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;11480:48:0::1;4949:347:1::0;11480:48:0::1;11571:13;::::0;11539:56:::1;::::0;11556:4:::1;::::0;-1:-1:-1;;;;;11571:13:0::1;4725;4669:1;4725:2;:13;:::i;:::-;4712:26;::::0;:10:::1;:26;:::i;11539:56::-;11606:13;::::0;-1:-1:-1;;;;;11606:13:0::1;:29;11643:21;11688:4;11708:24;11688:4:::0;-1:-1:-1;;;;;6617:18:0;6590:7;6617:18;;;:9;:18;;;;;;;6524:119;11708:24:::1;11747:1;11763::::0;11779:7:::1;807::::0;834:6;-1:-1:-1;;;;;834:6:0;;769:79;11779:7:::1;11606:221;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11606:221:0;;;-1:-1:-1;;;;;5660:15:1;;;11606:221:0::1;::::0;::::1;5642:34:1::0;5692:18;;;5685:34;;;;5735:18;;;5728:34;;;;5778:18;;;5771:34;5842:15;;;5821:19;;;5814:44;11801:15:0::1;5874:19:1::0;;;5867:35;5576:19;;11606:221:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11845:11:0::1;::::0;11888:13:::1;::::0;11838:107:::1;::::0;-1:-1:-1;;;11838:107:0;;-1:-1:-1;;;;;11888:13:0;;::::1;11838:107;::::0;::::1;6398:51:1::0;-1:-1:-1;;6465:18:1;;;6458:34;11845:11:0;::::1;::::0;-1:-1:-1;11838:27:0::1;::::0;6371:18:1;;11838:107:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11973:2:0::1;11956:14;:19:::0;;;11986:15:::1;:20:::0;;;12032:1:::1;12017:12;:16:::0;;;12044:13:::1;:17:::0;12072:18;;-1:-1:-1;;;;12101:18:0;-1:-1:-1;;;12101:18:0;;;11427:700::o;11046:369::-;-1:-1:-1;;;;;11173:19:0;;11165:68;;;;-1:-1:-1;;;11165:68:0;;6987:2:1;11165:68:0;;;6969:21:1;7026:2;7006:18;;;6999:30;7065:34;7045:18;;;7038:62;-1:-1:-1;;;7116:18:1;;;7109:34;7160:19;;11165:68:0;6785:400:1;11165:68:0;-1:-1:-1;;;;;11252:21:0;;11244:68;;;;-1:-1:-1;;;11244:68:0;;7392:2:1;11244:68:0;;;7374:21:1;7431:2;7411:18;;;7404:30;7470:34;7450:18;;;7443:62;-1:-1:-1;;;7521:18:1;;;7514:32;7563:19;;11244:68:0;7190:398:1;11244:68:0;-1:-1:-1;;;;;11323:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11375:32;;160:25:1;;;11375:32:0;;133:18:1;11375:32:0;;;;;;;11046:369;;;:::o;7071:3110::-;-1:-1:-1;;;;;7193:18:0;;7185:68;;;;-1:-1:-1;;;7185:68:0;;7795:2:1;7185:68:0;;;7777:21:1;7834:2;7814:18;;;7807:30;7873:34;7853:18;;;7846:62;-1:-1:-1;;;7924:18:1;;;7917:35;7969:19;;7185:68:0;7593:401:1;7185:68:0;-1:-1:-1;;;;;7272:16:0;;7264:64;;;;-1:-1:-1;;;7264:64:0;;8201:2:1;7264:64:0;;;8183:21:1;8240:2;8220:18;;;8213:30;8279:34;8259:18;;;8252:62;-1:-1:-1;;;8330:18:1;;;8323:33;8373:19;;7264:64:0;7999:399:1;7264:64:0;7356:1;7347:6;:10;7339:64;;;;-1:-1:-1;;;7339:64:0;;8605:2:1;7339:64:0;;;8587:21:1;8644:2;8624:18;;;8617:30;8683:34;8663:18;;;8656:62;-1:-1:-1;;;8734:18:1;;;8727:39;8783:19;;7339:64:0;8403:405:1;7339:64:0;7414:17;834:6;;-1:-1:-1;;;;;7450:15:0;;;834:6;;7450:15;;;;:32;;-1:-1:-1;807:7:0;834:6;-1:-1:-1;;;;;7469:13:0;;;834:6;;7469:13;;7450:32;7446:2364;;;7511:208;7715:3;7511:181;7575:15;;7563:9;;:27;7562:111;;7659:14;;7562:111;;;7619:12;;7562:111;7511:6;;:28;:181::i;:::-;:203;;:208::i;:::-;7740:16;;7499:220;;-1:-1:-1;;;;7740:16:0;;;;7736:504;;;7817:13;;-1:-1:-1;;;;;7803:28:0;;;7817:13;;7803:28;;;;:79;;-1:-1:-1;7870:11:0;;-1:-1:-1;;;;;7856:26:0;;;7870:11;;7856:26;;7803:79;7777:448;;;7983:9;7959:34;;;;:23;:34;;;;;;7996:12;-1:-1:-1;7925:208:0;;;;-1:-1:-1;;;7925:208:0;;9015:2:1;7925:208:0;;;8997:21:1;9054:2;9034:18;;;9027:30;9093:34;9073:18;;;9066:62;9164:34;9144:18;;;9137:62;-1:-1:-1;;;9215:19:1;;;9208:40;9265:19;;7925:208:0;8813:477:1;7925:208:0;8180:9;8156:34;;;;:23;:34;;;;;8193:12;8156:49;;7777:448;8286:11;;-1:-1:-1;;;;;8278:19:0;;;8286:11;;8278:19;:68;;;;-1:-1:-1;8332:13:0;;-1:-1:-1;;;;;8318:28:0;;;8332:13;;8318:28;;8278:68;:113;;;;-1:-1:-1;;;;;;8368:23:0;;;;;;:19;:23;;;;;;;;8367:24;8278:113;8256:502;;;8444:14;;8434:6;:24;;8426:64;;;;-1:-1:-1;;;8426:64:0;;9497:2:1;8426:64:0;;;9479:21:1;9536:2;9516:18;;;9509:30;9575:29;9555:18;;;9548:57;9622:18;;8426:64:0;9295:351:1;8426:64:0;8565:13;;8555:6;8539:13;8549:2;-1:-1:-1;;;;;6617:18:0;6590:7;6617:18;;;:9;:18;;;;;;;6524:119;8539:13;:22;;;;:::i;:::-;:39;;8509:139;;;;-1:-1:-1;;;8509:139:0;;9983:2:1;8509:139:0;;;9965:21:1;10022:2;10002:18;;;9995:30;10061:28;10041:18;;;10034:56;10107:18;;8509:139:0;9781:350:1;8509:139:0;8684:3;8671:9;;:16;8667:76;;8712:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8667:76;8784:11;;-1:-1:-1;;;;;8778:17:0;;;8784:11;;8778:17;:42;;;;-1:-1:-1;;;;;;8799:21:0;;8815:4;8799:21;;8778:42;8774:428;;;-1:-1:-1;;;;;8845:25:0;;;;;;:19;:25;;;;;;;;8841:80;;;-1:-1:-1;;;;;8892:15:0;;;;;;:9;:15;;;;;;:27;;8912:6;8892:19;:27::i;:::-;-1:-1:-1;;;;;8874:15:0;;;;;;:9;:15;;;;;:45;8841:80;8951:235;9182:3;8951:204;9023:16;;9011:9;;:28;9010:122;;9117:15;;9010:122;;;9072:13;;8951:6;;:32;:204::i;:235::-;8939:247;;8774:428;9267:4;9218:28;6617:18;;;:9;:18;;;;;;9311:6;;-1:-1:-1;;;9311:6:0;;;;9310:7;:45;;;;-1:-1:-1;9344:11:0;;-1:-1:-1;;;;;9338:17:0;;;9344:11;;9338:17;9310:45;:77;;;;-1:-1:-1;9376:11:0;;-1:-1:-1;;;9376:11:0;;;;9310:77;:134;;;;;9431:13;;9408:20;:36;9310:134;:177;;;;;9474:13;;9465:6;:22;9310:177;:228;;;;;9520:18;;9508:9;;:30;9310:228;:276;;;;-1:-1:-1;;;;;;9561:25:0;;;;;;:19;:25;;;;;;;;9560:26;9310:276;9288:511;;;9621:108;9660:50;9664:6;9672:37;9676:20;9698:10;;9672:3;:37::i;:::-;9660:3;:50::i;:::-;9621:16;:108::i;:::-;9748:35;9761:21;9748:12;:35::i;:::-;7484:2326;7446:2364;9826:13;;9822:172;;9901:4;9883:24;;;;:9;:24;;;;;;:39;;9912:9;9883:28;:39::i;:::-;9874:4;9856:24;;;;:9;:24;;;;;;;:66;;;;9942:40;;-1:-1:-1;;;;;9942:40:0;;;;;;;9972:9;160:25:1;;148:2;133:18;;14:177;9942:40:0;;;;;;;;9822:172;-1:-1:-1;;;;;10022:15:0;;;;;;:9;:15;;;;;;:27;;10042:6;10022:19;:27::i;:::-;-1:-1:-1;;;;;10004:15:0;;;;;;:9;:15;;;;;:45;10076:40;10094:21;:6;10105:9;10094:10;:21::i;:::-;-1:-1:-1;;;;;10076:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10060:13:0;;;;;;;:9;:13;;;;;:56;;;;10132:41;;;10151:21;:6;10162:9;10151:10;:21::i;:::-;10132:41;;160:25:1;;;148:2;133:18;10132:41:0;;;;;;;7174:3007;7071:3110;;;:::o;1493:224::-;1613:7;1649:12;1641:6;;;;1633:29;;;;-1:-1:-1;;;1633:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1673:9:0;1685:5;1689:1;1685;:5;:::i;:::-;1673:17;1493:224;-1:-1:-1;;;;;1493:224:0:o;1725:246::-;1783:7;1807:1;1812;1807:6;1803:47;;-1:-1:-1;1837:1:0;1830:8;;1803:47;1860:9;1872:5;1876:1;1872;:5;:::i;:::-;1860:17;-1:-1:-1;1905:1:0;1896:5;1900:1;1860:17;1896:5;:::i;:::-;:10;1888:56;;;;-1:-1:-1;;;1888:56:0;;10833:2:1;1888:56:0;;;10815:21:1;10872:2;10852:18;;;10845:30;10911:34;10891:18;;;10884:62;-1:-1:-1;;;10962:18:1;;;10955:31;11003:19;;1888:56:0;10631:397:1;1888:56:0;1962:1;1725:246;-1:-1:-1;;;1725:246:0:o;1979:132::-;2037:7;2064:39;2068:1;2071;2064:39;;;;;;;;;;;;;;;;;:3;:39::i;1162:179::-;1220:7;;1252:5;1256:1;1252;:5;:::i;:::-;1240:17;;1281:1;1276;:6;;1268:46;;;;-1:-1:-1;;;1268:46:0;;11235:2:1;1268:46:0;;;11217:21:1;11274:2;11254:18;;;11247:30;11313:29;11293:18;;;11286:57;11360:18;;1268:46:0;11033:351:1;6651:107:0;6708:7;6740:1;6736;:5;6735:15;;6749:1;6735:15;;;-1:-1:-1;6745:1:0;6651:107;-1:-1:-1;6651:107:0:o;12373:477::-;5512:6;:13;;-1:-1:-1;;;;5512:13:0;-1:-1:-1;;;5512:13:0;;;12475:16:::1;::::0;;12489:1:::1;12475:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12475:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12475:16:0::1;12451:40;;12520:4;12502;12507:1;12502:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12502:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12546:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;12546:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;12502:7;;12546:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12536:4;12541:1;12536:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12536:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;12609:13:::1;::::0;12577:60:::1;::::0;12594:4:::1;::::0;12609:13:::1;12625:11:::0;12577:8:::1;:60::i;:::-;12648:13;::::0;:194:::1;::::0;-1:-1:-1;;;12648:194:0;;-1:-1:-1;;;;;12648:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;12727:11;;12648:13:::1;::::0;12769:4;;12796::::1;::::0;12816:15:::1;::::0;12648:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5548:6:0;:14;;-1:-1:-1;;;;5548:14:0;;;-1:-1:-1;;;;12373:477:0:o;6972:91::-;7029:9;;:26;;-1:-1:-1;;;;;7029:9:0;;;;:26;;;;;7048:6;;7029:9;:26;:9;:26;7048:6;7029:9;:26;;;;;;;;;;;;;;;;;;;;;6972:91;:::o;1349:136::-;1407:7;1434:43;1438:1;1441;1434:43;;;;;;;;;;;;;;;;;:3;:43::i;2119:223::-;2239:7;2274:12;2267:5;2259:28;;;;-1:-1:-1;;;2259:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2298:9:0;2310:5;2314:1;2310;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885: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:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5913:306::-;6001:6;6009;6017;6070:2;6058:9;6049:7;6045:23;6041:32;6038:52;;;6086:1;6083;6076:12;6038:52;6115:9;6109:16;6099:26;;6165:2;6154:9;6150:18;6144:25;6134:35;;6209:2;6198:9;6194:18;6188:25;6178:35;;5913:306;;;;;:::o;6503:277::-;6570:6;6623:2;6611:9;6602:7;6598:23;6594:32;6591:52;;;6639:1;6636;6629:12;6591:52;6671:9;6665:16;6724:5;6717:13;6710:21;6703:5;6700:32;6690:60;;6746:1;6743;6736:12;9651:125;9716:9;;;9737:10;;;9734:36;;;9750:18;;:::i;10136:135::-;10175:3;10196:17;;;10193:43;;10216:18;;:::i;:::-;-1:-1:-1;10263:1:1;10252:13;;10136:135::o;10276:128::-;10343:9;;;10364:11;;;10361:37;;;10378:18;;:::i;10409:217::-;10449:1;10475;10465:132;;10519:10;10514:3;10510:20;10507:1;10500:31;10554:4;10551:1;10544:15;10582:4;10579:1;10572:15;10465:132;-1:-1:-1;10611:9:1;;10409:217::o;11521:127::-;11582:10;11577:3;11573:20;11570:1;11563:31;11613:4;11610:1;11603:15;11637:4;11634:1;11627:15;11653:251;11723:6;11776:2;11764:9;11755:7;11751:23;11747:32;11744:52;;;11792:1;11789;11782:12;11744:52;11824:9;11818:16;11843:31;11868:5;11843:31;:::i;11909:980::-;12171:4;12219:3;12208:9;12204:19;12250:6;12239:9;12232:25;12276:2;12314:6;12309:2;12298:9;12294:18;12287:34;12357:3;12352:2;12341:9;12337:18;12330:31;12381:6;12416;12410:13;12447:6;12439;12432:22;12485:3;12474:9;12470:19;12463:26;;12524:2;12516:6;12512:15;12498:29;;12545:1;12555:195;12569:6;12566:1;12563:13;12555:195;;;12634:13;;-1:-1:-1;;;;;12630:39:1;12618:52;;12725:15;;;;12690:12;;;;12666:1;12584:9;12555:195;;;-1:-1:-1;;;;;;;12806:32:1;;;;12801:2;12786:18;;12779:60;-1:-1:-1;;;12870:3:1;12855:19;12848:35;12767:3;11909:980;-1:-1:-1;;;11909:980:1:o

Swarm Source

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