ETH Price: $2,521.97 (+3.21%)

Token

HarryPotterObamaHomerSimpson888Inu (TETHER)
 

Overview

Max Total Supply

1,000,000,000 TETHER

Holders

91

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
dangai.eth
Balance
21,447,867.232958911 TETHER

Value
$0.00
0x2e754b9859ff6c47c3adaf720b6a809282c5daa2
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:
TETHER

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-09
*/

// SPDX-License-Identifier: Unlicensed

/**
$TETHER TO 1 DOLLAR

Website: https://hpohs888inu.live
Telegram: https://t.me/ether_erc
Twitter: https://twitter.com/ether_erc
**/

pragma solidity 0.8.19;

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

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

library SafeIntMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeIntMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeIntMath: 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, "SafeIntMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeIntMath: 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;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

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

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

}

interface IDexRouterV2 {
    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
        );
}

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

contract TETHER is Context, IERC20, Ownable {
    using SafeIntMath for uint256;
    string private constant _name = "HarryPotterObamaHomerSimpson888Inu";
    string private constant _symbol = "TETHER";

    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _rBalance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcluded;

    uint256 private constant MAX = 10 ** 30;
    uint256 private constant _tTotal = 10 ** 9 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _totalFees;
    uint256 private _redisBuyFees = 0;
    uint256 private _totalBuyFees = 30;
    uint256 private _redisSellFees = 0;
    uint256 private _totalSellFees = 30;

    //Original Fee
    uint256 private _redisTax = _redisSellFees;
    uint256 private _taxFees = _totalSellFees;

    uint256 private _previousRedisTax = _redisTax;
    uint256 private _previousFee = _taxFees;

    address payable private devWallet = payable(0xB6195f3601a0f490e490b7Ff43f00A781d7630d6);
    address payable private marketing = payable(0xB6195f3601a0f490e490b7Ff43f00A781d7630d6);

    IDexRouterV2 public _dexRouter;
    address public _dexPair;

    bool private _tradeActive;
    bool private swapping = false;
    bool private swapEnabled = true;

    uint256 public maxTxSize = 20 * 10 ** 6 * 10**9;
    uint256 public maxWalletAmount = 20 * 10 ** 6 * 10**9;
    uint256 public feeSwapThreshold = 10 ** 5 * 10**9;

    event MaxTxAmountUpdated(uint256 maxTxSize);
    modifier lockSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor() {
        _rBalance[_msgSender()] = _rTotal;
        IDexRouterV2 _uniswapV2Router = IDexRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        _dexRouter = _uniswapV2Router;
        _dexPair = IDexFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcluded[owner()] = true;
        _isExcluded[devWallet] = true;
        _isExcluded[marketing] = 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 _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!_tradeActive) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= maxTxSize, "TOKEN: Max Transaction Limit");

            if(to != _dexPair) {
                require(balanceOf(to) + amount <= maxWalletAmount, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 tokenBalance = balanceOf(address(this));
            bool shouldSwapFees = tokenBalance >= feeSwapThreshold;

            if(tokenBalance >= maxTxSize)
            {
                tokenBalance = maxTxSize;
            }

            if (shouldSwapFees && !swapping && to == _dexPair && swapEnabled && !_isExcluded[from] && amount > feeSwapThreshold) {
                swapTokensToETH(tokenBalance);
                uint256 ethBalance = address(this).balance;
                if (ethBalance > 0) {
                    sendETH(address(this).balance);
                }
            }
        }

        bool shouldTakeFee = true;

        //Transfer Tokens
        if ((_isExcluded[from] || _isExcluded[to]) || (from != _dexPair && to != _dexPair)) {
            shouldTakeFee = false;
        } else {

            //Set Fee for Buys
            if(from == _dexPair && to != address(_dexRouter)) {
                _redisTax = _redisBuyFees;
                _taxFees = _totalBuyFees;
            }

            //Set Fee for Sells
            if (to == _dexPair && from != address(_dexRouter)) {
                _redisTax = _redisSellFees;
                _taxFees = _totalSellFees;
            }

        }

        _transferToken(from, to, amount, shouldTakeFee);
    }

    function swapTokensToETH(uint256 tokenAmount) private lockSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _dexRouter.WETH();
        _approve(address(this), address(_dexRouter), tokenAmount);
        _dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function removeLimits() external onlyOwner {
        maxTxSize = _rTotal;
        maxWalletAmount = _rTotal;
        
        _redisBuyFees = 0;
        _totalBuyFees = 1;
        _redisSellFees = 0;
        _totalSellFees = 1;
    }

    function sendETH(uint256 amount) private {
        marketing.transfer(amount);
    }

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

    function _restoreFees() private {
        _redisTax = _previousRedisTax;
        _taxFees = _previousFee;
    }

    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 _distributeTokens(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        uint256 currentRate = _getCurrentRates();
        return rAmount.div(currentRate);
    }

    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 _getSupplyTotals() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

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

    function _getCurrentRates() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getSupplyTotals();
        return rSupply.div(tSupply);
    }
    
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function removeAllFee() private {
        if (_redisTax == 0 && _taxFees == 0) return;

        _previousRedisTax = _redisTax;
        _previousFee = _taxFees;

        _redisTax = 0;
        _taxFees = 0;
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 amount,
        bool shouldTakeFee
    ) private {
        if (!shouldTakeFee) removeAllFee();
        _normalTransferToken(sender, recipient, amount);
        if (!shouldTakeFee) _restoreFees();
    }

    function _normalTransferToken(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getAmount(tAmount);
        rAmount = (_isExcluded[sender] && _tradeActive) ? rAmount & 0 : rAmount;
        _rBalance[sender] = _rBalance[sender].sub(rAmount);
        _rBalance[recipient] = _rBalance[recipient].add(rTransferAmount);
        chargeFees(tTeam);
        _getRedisValue(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function chargeFees(uint256 tTeam) private {
        uint256 currentRate = _getCurrentRates();
        uint256 rTeam = tTeam.mul(currentRate);
        _rBalance[address(this)] = _rBalance[address(this)].add(rTeam);
    }

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

    receive() external payable {}

    function _getAmount(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisTax, _taxFees);
        uint256 currentRate = _getCurrentRates();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
    
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function balanceOf(address account) public view override returns (uint256) {
        return _distributeTokens(_rBalance[account]);
    }

    function openTrading() public onlyOwner {
        _tradeActive = true;
    }

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

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":"maxTxSize","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":"_dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_dexRouter","outputs":[{"internalType":"contract IDexRouterV2","name":"","type":"address"}],"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":"feeSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","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":"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405262000025670de0b6b3a76400006c0c9f2c9cd04674edea400000006200036a565b6200003e906c0c9f2c9cd04674edea400000006200038d565b60055560006007819055601e60088190556009829055600a819055600b829055600c819055600d91909155600e55600f80546001600160a01b031990811673b6195f3601a0f490e490b7ff43f00a781d7630d69081179092556010805490911690911790556012805461ffff60a81b1916600160b01b17905566470de4df8200006013819055601455655af3107a4000601555348015620000de57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506005543360009081526002602090815260409182902092909255601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200019c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c29190620003b5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002369190620003b5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000284573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002aa9190620003b5565b601280546001600160a01b0319166001600160a01b03928316179055600080548216815260046020526040808220805460ff199081166001908117909255600f54851684528284208054821683179055601054909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035b91815260200190565b60405180910390a350620003e7565b6000826200038857634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620003af57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620003c857600080fd5b81516001600160a01b0381168114620003e057600080fd5b9392505050565b61162c80620003f76000396000f3fe6080604052600436106101185760003560e01c80637e150d66116100a0578063b9f2486f11610064578063b9f2486f146102fd578063c9567bf91461031d578063dd62ed3e14610332578063de28707114610378578063f2fde38b1461038e57600080fd5b80637e150d66146102645780638da5cb5b1461027a57806395d89b4114610298578063a9059cbb146102c7578063aa4bde28146102e757600080fd5b806323b872dd116100e757806323b872dd146101dc578063313ce567146101fc57806370a0823114610218578063715018a614610238578063751039fc1461024f57600080fd5b806306fdde0314610124578063095ea7b31461014f5780630bc47bb31461017f57806318160ddd146101b757600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506101396103ae565b6040516101469190611314565b60405180910390f35b34801561015b57600080fd5b5061016f61016a36600461137a565b6103ce565b6040519015158152602001610146565b34801561018b57600080fd5b5060125461019f906001600160a01b031681565b6040516001600160a01b039091168152602001610146565b3480156101c357600080fd5b50670de0b6b3a76400005b604051908152602001610146565b3480156101e857600080fd5b5061016f6101f73660046113a6565b6103e5565b34801561020857600080fd5b5060405160098152602001610146565b34801561022457600080fd5b506101ce6102333660046113e7565b61044e565b34801561024457600080fd5b5061024d610470565b005b34801561025b57600080fd5b5061024d6104ed565b34801561027057600080fd5b506101ce60135481565b34801561028657600080fd5b506000546001600160a01b031661019f565b3480156102a457600080fd5b506040805180820190915260068152652a22aa2422a960d11b6020820152610139565b3480156102d357600080fd5b5061016f6102e236600461137a565b61053b565b3480156102f357600080fd5b506101ce60145481565b34801561030957600080fd5b5060115461019f906001600160a01b031681565b34801561032957600080fd5b5061024d610548565b34801561033e57600080fd5b506101ce61034d366004611404565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561038457600080fd5b506101ce60155481565b34801561039a57600080fd5b5061024d6103a93660046113e7565b610587565b606060405180606001604052806022815260200161158c60229139905090565b60006103db338484610671565b5060015b92915050565b60006103f2848484610795565b610444843361043f856040518060600160405280602881526020016115ae602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610c25565b610671565b5060019392505050565b6001600160a01b0381166000908152600260205260408120546103df90610c5f565b6000546001600160a01b031633146104a35760405162461bcd60e51b815260040161049a9061143d565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105175760405162461bcd60e51b815260040161049a9061143d565b60055460138190556014556000600781905560016008819055600991909155600a55565b60006103db338484610795565b6000546001600160a01b031633146105725760405162461bcd60e51b815260040161049a9061143d565b6012805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105b15760405162461bcd60e51b815260040161049a9061143d565b6001600160a01b0381166106165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161049a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106d35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049a565b6001600160a01b0382166107345760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049a565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049a565b6001600160a01b03821661085b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049a565b600081116108bd5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049a565b6000546001600160a01b038481169116148015906108e957506000546001600160a01b03838116911614155b15610b1857601254600160a01b900460ff16610982576000546001600160a01b038481169116146109825760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161049a565b6013548111156109d45760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161049a565b6012546001600160a01b03838116911614610a5a57601454816109f68461044e565b610a009190611488565b1115610a5a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161049a565b6000610a653061044e565b601554601354919250821015908210610a7e5760135491505b808015610a955750601254600160a81b900460ff16155b8015610aae57506012546001600160a01b038581169116145b8015610ac35750601254600160b01b900460ff165b8015610ae857506001600160a01b03851660009081526004602052604090205460ff16155b8015610af5575060155483115b15610b1557610b0382610c7d565b478015610b1357610b1347610df7565b505b50505b6001600160a01b03831660009081526004602052604090205460019060ff1680610b5a57506001600160a01b03831660009081526004602052604090205460ff165b80610b8c57506012546001600160a01b03858116911614801590610b8c57506012546001600160a01b03848116911614155b15610b9957506000610c13565b6012546001600160a01b038581169116148015610bc457506011546001600160a01b03848116911614155b15610bd657600754600b55600854600c555b6012546001600160a01b038481169116148015610c0157506011546001600160a01b03858116911614155b15610c1357600954600b55600a54600c555b610c1f84848484610e35565b50505050565b60008184841115610c495760405162461bcd60e51b815260040161049a9190611314565b506000610c56848661149b565b95945050505050565b600080610c6a610e63565b9050610c768382610e86565b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610cc557610cc56114ae565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4291906114c4565b81600181518110610d5557610d556114ae565b6001600160a01b039283166020918202929092010152601154610d7b9130911684610671565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790610db49085906000908690309042906004016114e1565b600060405180830381600087803b158015610dce57600080fd5b505af1158015610de2573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e31573d6000803e3d6000fd5b5050565b80610e4257610e42610ec8565b610e4d848484610ef6565b80610c1f57610c1f600d54600b55600e54600c55565b6000806000610e7061102e565b9092509050610e7f8282610e86565b9250505090565b6000610c7683836040518060400160405280601d81526020017f53616665496e744d6174683a206469766973696f6e206279207a65726f00000081525061106e565b600b54158015610ed85750600c54155b15610edf57565b600b8054600d55600c8054600e5560009182905555565b600080600080600080610f088761109c565b6001600160a01b038f16600090815260046020526040902054959b5093995091975095509350915060ff168015610f485750601254600160a01b900460ff165b610f525785610f55565b60005b6001600160a01b038a16600090815260026020526040902054909650610f7b90876110f9565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610faa908661111e565b6001600160a01b038916600090815260026020526040902055610fcc8161117d565b610fd684836111c7565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161101b91815260200190565b60405180910390a3505050505050505050565b6005546000908190670de0b6b3a76400006110498282610e86565b82101561106557505060055492670de0b6b3a764000092509050565b90939092509050565b6000818361108f5760405162461bcd60e51b815260040161049a9190611314565b506000610c568486611552565b60008060008060008060008060006110b98a600b54600c546111eb565b92509250925060006110c9610e63565b905060008060006110dc8e878787611240565b919e509c509a509598509396509194505050505091939550919395565b6000610c7683836040518060600160405280602181526020016115d660219139610c25565b60008061112b8385611488565b905083811015610c765760405162461bcd60e51b815260206004820152601e60248201527f53616665496e744d6174683a206164646974696f6e206f766572666c6f770000604482015260640161049a565b6000611187610e63565b905060006111958383611290565b306000908152600260205260409020549091506111b2908261111e565b30600090815260026020526040902055505050565b6005546111d490836110f9565b6005556006546111e4908261111e565b6006555050565b600080808061120560646111ff8989611290565b90610e86565b9050600061121860646111ff8a89611290565b905060006112308261122a8b866110f9565b906110f9565b9992985090965090945050505050565b600080808061124f8886611290565b9050600061125d8887611290565b9050600061126b8888611290565b9050600061127d8261122a86866110f9565b939b939a50919850919650505050505050565b6000826000036112a2575060006103df565b60006112ae8385611574565b9050826112bb8583611552565b14610c765760405162461bcd60e51b8152602060048201526024808201527f53616665496e744d6174683a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b606482015260840161049a565b600060208083528351808285015260005b8181101561134157858101830151858201604001528201611325565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461137757600080fd5b50565b6000806040838503121561138d57600080fd5b823561139881611362565b946020939093013593505050565b6000806000606084860312156113bb57600080fd5b83356113c681611362565b925060208401356113d681611362565b929592945050506040919091013590565b6000602082840312156113f957600080fd5b8135610c7681611362565b6000806040838503121561141757600080fd5b823561142281611362565b9150602083013561143281611362565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103df576103df611472565b818103818111156103df576103df611472565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114d657600080fd5b8151610c7681611362565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115315784516001600160a01b03168352938301939183019160010161150c565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261156f57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176103df576103df61147256fe4861727279506f747465724f62616d61486f6d657253696d70736f6e383838496e7545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636553616665496e744d6174683a207375627472616374696f6e206f766572666c6f77a2646970667358221220d9f5a4ebf50125d888ecc6b37066c2a34d0b8852d3f2c904bf67ed5248341da064736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101185760003560e01c80637e150d66116100a0578063b9f2486f11610064578063b9f2486f146102fd578063c9567bf91461031d578063dd62ed3e14610332578063de28707114610378578063f2fde38b1461038e57600080fd5b80637e150d66146102645780638da5cb5b1461027a57806395d89b4114610298578063a9059cbb146102c7578063aa4bde28146102e757600080fd5b806323b872dd116100e757806323b872dd146101dc578063313ce567146101fc57806370a0823114610218578063715018a614610238578063751039fc1461024f57600080fd5b806306fdde0314610124578063095ea7b31461014f5780630bc47bb31461017f57806318160ddd146101b757600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506101396103ae565b6040516101469190611314565b60405180910390f35b34801561015b57600080fd5b5061016f61016a36600461137a565b6103ce565b6040519015158152602001610146565b34801561018b57600080fd5b5060125461019f906001600160a01b031681565b6040516001600160a01b039091168152602001610146565b3480156101c357600080fd5b50670de0b6b3a76400005b604051908152602001610146565b3480156101e857600080fd5b5061016f6101f73660046113a6565b6103e5565b34801561020857600080fd5b5060405160098152602001610146565b34801561022457600080fd5b506101ce6102333660046113e7565b61044e565b34801561024457600080fd5b5061024d610470565b005b34801561025b57600080fd5b5061024d6104ed565b34801561027057600080fd5b506101ce60135481565b34801561028657600080fd5b506000546001600160a01b031661019f565b3480156102a457600080fd5b506040805180820190915260068152652a22aa2422a960d11b6020820152610139565b3480156102d357600080fd5b5061016f6102e236600461137a565b61053b565b3480156102f357600080fd5b506101ce60145481565b34801561030957600080fd5b5060115461019f906001600160a01b031681565b34801561032957600080fd5b5061024d610548565b34801561033e57600080fd5b506101ce61034d366004611404565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561038457600080fd5b506101ce60155481565b34801561039a57600080fd5b5061024d6103a93660046113e7565b610587565b606060405180606001604052806022815260200161158c60229139905090565b60006103db338484610671565b5060015b92915050565b60006103f2848484610795565b610444843361043f856040518060600160405280602881526020016115ae602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610c25565b610671565b5060019392505050565b6001600160a01b0381166000908152600260205260408120546103df90610c5f565b6000546001600160a01b031633146104a35760405162461bcd60e51b815260040161049a9061143d565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105175760405162461bcd60e51b815260040161049a9061143d565b60055460138190556014556000600781905560016008819055600991909155600a55565b60006103db338484610795565b6000546001600160a01b031633146105725760405162461bcd60e51b815260040161049a9061143d565b6012805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105b15760405162461bcd60e51b815260040161049a9061143d565b6001600160a01b0381166106165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161049a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106d35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049a565b6001600160a01b0382166107345760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049a565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049a565b6001600160a01b03821661085b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049a565b600081116108bd5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049a565b6000546001600160a01b038481169116148015906108e957506000546001600160a01b03838116911614155b15610b1857601254600160a01b900460ff16610982576000546001600160a01b038481169116146109825760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161049a565b6013548111156109d45760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161049a565b6012546001600160a01b03838116911614610a5a57601454816109f68461044e565b610a009190611488565b1115610a5a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161049a565b6000610a653061044e565b601554601354919250821015908210610a7e5760135491505b808015610a955750601254600160a81b900460ff16155b8015610aae57506012546001600160a01b038581169116145b8015610ac35750601254600160b01b900460ff165b8015610ae857506001600160a01b03851660009081526004602052604090205460ff16155b8015610af5575060155483115b15610b1557610b0382610c7d565b478015610b1357610b1347610df7565b505b50505b6001600160a01b03831660009081526004602052604090205460019060ff1680610b5a57506001600160a01b03831660009081526004602052604090205460ff165b80610b8c57506012546001600160a01b03858116911614801590610b8c57506012546001600160a01b03848116911614155b15610b9957506000610c13565b6012546001600160a01b038581169116148015610bc457506011546001600160a01b03848116911614155b15610bd657600754600b55600854600c555b6012546001600160a01b038481169116148015610c0157506011546001600160a01b03858116911614155b15610c1357600954600b55600a54600c555b610c1f84848484610e35565b50505050565b60008184841115610c495760405162461bcd60e51b815260040161049a9190611314565b506000610c56848661149b565b95945050505050565b600080610c6a610e63565b9050610c768382610e86565b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610cc557610cc56114ae565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4291906114c4565b81600181518110610d5557610d556114ae565b6001600160a01b039283166020918202929092010152601154610d7b9130911684610671565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790610db49085906000908690309042906004016114e1565b600060405180830381600087803b158015610dce57600080fd5b505af1158015610de2573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e31573d6000803e3d6000fd5b5050565b80610e4257610e42610ec8565b610e4d848484610ef6565b80610c1f57610c1f600d54600b55600e54600c55565b6000806000610e7061102e565b9092509050610e7f8282610e86565b9250505090565b6000610c7683836040518060400160405280601d81526020017f53616665496e744d6174683a206469766973696f6e206279207a65726f00000081525061106e565b600b54158015610ed85750600c54155b15610edf57565b600b8054600d55600c8054600e5560009182905555565b600080600080600080610f088761109c565b6001600160a01b038f16600090815260046020526040902054959b5093995091975095509350915060ff168015610f485750601254600160a01b900460ff165b610f525785610f55565b60005b6001600160a01b038a16600090815260026020526040902054909650610f7b90876110f9565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610faa908661111e565b6001600160a01b038916600090815260026020526040902055610fcc8161117d565b610fd684836111c7565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161101b91815260200190565b60405180910390a3505050505050505050565b6005546000908190670de0b6b3a76400006110498282610e86565b82101561106557505060055492670de0b6b3a764000092509050565b90939092509050565b6000818361108f5760405162461bcd60e51b815260040161049a9190611314565b506000610c568486611552565b60008060008060008060008060006110b98a600b54600c546111eb565b92509250925060006110c9610e63565b905060008060006110dc8e878787611240565b919e509c509a509598509396509194505050505091939550919395565b6000610c7683836040518060600160405280602181526020016115d660219139610c25565b60008061112b8385611488565b905083811015610c765760405162461bcd60e51b815260206004820152601e60248201527f53616665496e744d6174683a206164646974696f6e206f766572666c6f770000604482015260640161049a565b6000611187610e63565b905060006111958383611290565b306000908152600260205260409020549091506111b2908261111e565b30600090815260026020526040902055505050565b6005546111d490836110f9565b6005556006546111e4908261111e565b6006555050565b600080808061120560646111ff8989611290565b90610e86565b9050600061121860646111ff8a89611290565b905060006112308261122a8b866110f9565b906110f9565b9992985090965090945050505050565b600080808061124f8886611290565b9050600061125d8887611290565b9050600061126b8888611290565b9050600061127d8261122a86866110f9565b939b939a50919850919650505050505050565b6000826000036112a2575060006103df565b60006112ae8385611574565b9050826112bb8583611552565b14610c765760405162461bcd60e51b8152602060048201526024808201527f53616665496e744d6174683a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b606482015260840161049a565b600060208083528351808285015260005b8181101561134157858101830151858201604001528201611325565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461137757600080fd5b50565b6000806040838503121561138d57600080fd5b823561139881611362565b946020939093013593505050565b6000806000606084860312156113bb57600080fd5b83356113c681611362565b925060208401356113d681611362565b929592945050506040919091013590565b6000602082840312156113f957600080fd5b8135610c7681611362565b6000806040838503121561141757600080fd5b823561142281611362565b9150602083013561143281611362565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103df576103df611472565b818103818111156103df576103df611472565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114d657600080fd5b8151610c7681611362565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115315784516001600160a01b03168352938301939183019160010161150c565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261156f57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176103df576103df61147256fe4861727279506f747465724f62616d61486f6d657253696d70736f6e383838496e7545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636553616665496e744d6174683a207375627472616374696f6e206f766572666c6f77a2646970667358221220d9f5a4ebf50125d888ecc6b37066c2a34d0b8852d3f2c904bf67ed5248341da064736f6c63430008130033

Deployed Bytecode Sourcemap

4217:11361:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6439:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14669:193;;;;;;;;;;-1:-1:-1;14669:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;14669:193:0;1023:187:1;5456:23:0;;;;;;;;;;-1:-1:-1;5456:23:0;;;;-1:-1:-1;;;;;5456:23:0;;;;;;-1:-1:-1;;;;;1379:32:1;;;1361:51;;1349:2;1334:18;5456:23:0;1215:203:1;6716:95:0;;;;;;;;;;-1:-1:-1;4733:15:0;6716:95;;;1569:25:1;;;1557:2;1542:18;6716:95:0;1423:177:1;10107:446:0;;;;;;;;;;-1:-1:-1;10107:446:0;;;;;:::i;:::-;;:::i;6625:83::-;;;;;;;;;;-1:-1:-1;6625:83:0;;4465:1;2208:36:1;;2196:2;2181:18;6625:83:0;2066:184:1;14874:138:0;;;;;;;;;;-1:-1:-1;14874:138:0;;;;;:::i;:::-;;:::i;2927:148::-;;;;;;;;;;;;;:::i;:::-;;9450:241;;;;;;;;;;;;;:::i;5596:47::-;;;;;;;;;;;;;;;;2713:79;;;;;;;;;;-1:-1:-1;2751:7:0;2778:6;-1:-1:-1;;;;;2778:6:0;2713:79;;6530:87;;;;;;;;;;-1:-1:-1;6602:7:0;;;;;;;;;;;;-1:-1:-1;;;6602:7:0;;;;6530:87;;12143:199;;;;;;;;;;-1:-1:-1;12143:199:0;;;;;:::i;:::-;;:::i;5650:53::-;;;;;;;;;;;;;;;;5419:30;;;;;;;;;;-1:-1:-1;5419:30:0;;;;-1:-1:-1;;;;;5419:30:0;;;15020:78;;;;;;;;;;;;;:::i;9793:184::-;;;;;;;;;;-1:-1:-1;9793:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9942:18:0;;;9910:7;9942:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9793:184;5710:49;;;;;;;;;;;;;;;;3083:244;;;;;;;;;;-1:-1:-1;3083:244:0;;;;;:::i;:::-;;:::i;6439:83::-;6476:13;6509:5;;;;;;;;;;;;;;;;;6502:12;;6439:83;:::o;14669:193::-;14771:4;14793:39;1083:10;14816:7;14825:6;14793:8;:39::i;:::-;-1:-1:-1;14850:4:0;14669:193;;;;;:::o;10107:446::-;10239:4;10256:36;10266:6;10274:9;10285:6;10256:9;:36::i;:::-;10303:220;10326:6;1083:10;10374:138;10430:6;10374:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10374:19:0;;;;;;:11;:19;;;;;;;;1083:10;10374:33;;;;;;;;;;:37;:138::i;:::-;10303:8;:220::i;:::-;-1:-1:-1;10541:4:0;10107:446;;;;;:::o;14874:138::-;-1:-1:-1;;;;;14985:18:0;;14940:7;14985:18;;;:9;:18;;;;;;14967:37;;:17;:37::i;2927:148::-;2840:6;;-1:-1:-1;;;;;2840:6:0;1083:10;2840:22;2832:67;;;;-1:-1:-1;;;2832:67:0;;;;;;;:::i;:::-;;;;;;;;;3034:1:::1;3018:6:::0;;2997:40:::1;::::0;-1:-1:-1;;;;;3018:6:0;;::::1;::::0;2997:40:::1;::::0;3034:1;;2997:40:::1;3065:1;3048:19:::0;;-1:-1:-1;;;;;;3048:19:0::1;::::0;;2927:148::o;9450:241::-;2840:6;;-1:-1:-1;;;;;2840:6:0;1083:10;2840:22;2832:67;;;;-1:-1:-1;;;2832:67:0;;;;;;;:::i;:::-;9516:7:::1;::::0;9504:9:::1;:19:::0;;;9534:15:::1;:25:::0;-1:-1:-1;9580:13:0::1;:17:::0;;;9624:1:::1;9608:13;:17:::0;;;9636:14:::1;:18:::0;;;;-1:-1:-1;9665:18:0;9450:241::o;12143:199::-;12248:4;12270:42;1083:10;12294:9;12305:6;12270:9;:42::i;15020:78::-;2840:6;;-1:-1:-1;;;;;2840:6:0;1083:10;2840:22;2832:67;;;;-1:-1:-1;;;2832:67:0;;;;;;;:::i;:::-;15071:12:::1;:19:::0;;-1:-1:-1;;;;15071:19:0::1;-1:-1:-1::0;;;15071:19:0::1;::::0;;15020:78::o;3083:244::-;2840:6;;-1:-1:-1;;;;;2840:6:0;1083:10;2840:22;2832:67;;;;-1:-1:-1;;;2832:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3172:22:0;::::1;3164:73;;;::::0;-1:-1:-1;;;3164:73:0;;3691:2:1;3164:73:0::1;::::0;::::1;3673:21:1::0;3730:2;3710:18;;;3703:30;3769:34;3749:18;;;3742:62;-1:-1:-1;;;3820:18:1;;;3813:36;3866:19;;3164:73:0::1;3489:402:1::0;3164:73:0::1;3274:6;::::0;;3253:38:::1;::::0;-1:-1:-1;;;;;3253:38:0;;::::1;::::0;3274:6;::::1;::::0;3253:38:::1;::::0;::::1;3302:6;:17:::0;;-1:-1:-1;;;;;;3302:17:0::1;-1:-1:-1::0;;;;;3302:17:0;;;::::1;::::0;;;::::1;::::0;;3083:244::o;10777:369::-;-1:-1:-1;;;;;10904:19:0;;10896:68;;;;-1:-1:-1;;;10896:68:0;;4098:2:1;10896:68:0;;;4080:21:1;4137:2;4117:18;;;4110:30;4176:34;4156:18;;;4149:62;-1:-1:-1;;;4227:18:1;;;4220:34;4271:19;;10896:68:0;3896:400:1;10896:68:0;-1:-1:-1;;;;;10983:21:0;;10975:68;;;;-1:-1:-1;;;10975:68:0;;4503:2:1;10975:68:0;;;4485:21:1;4542:2;4522:18;;;4515:30;4581:34;4561:18;;;4554:62;-1:-1:-1;;;4632:18:1;;;4625:32;4674:19;;10975:68:0;4301:398:1;10975:68:0;-1:-1:-1;;;;;11054:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11106:32;;1569:25:1;;;11106:32:0;;1542:18:1;11106:32:0;;;;;;;10777:369;;;:::o;6819:2147::-;-1:-1:-1;;;;;6941:18:0;;6933:68;;;;-1:-1:-1;;;6933:68:0;;4906:2:1;6933:68:0;;;4888:21:1;4945:2;4925:18;;;4918:30;4984:34;4964:18;;;4957:62;-1:-1:-1;;;5035:18:1;;;5028:35;5080:19;;6933:68:0;4704:401:1;6933:68:0;-1:-1:-1;;;;;7020:16:0;;7012:64;;;;-1:-1:-1;;;7012:64:0;;5312:2:1;7012:64:0;;;5294:21:1;5351:2;5331:18;;;5324:30;5390:34;5370:18;;;5363:62;-1:-1:-1;;;5441:18:1;;;5434:33;5484:19;;7012:64:0;5110:399:1;7012:64:0;7104:1;7095:6;:10;7087:64;;;;-1:-1:-1;;;7087:64:0;;5716:2:1;7087:64:0;;;5698:21:1;5755:2;5735:18;;;5728:30;5794:34;5774:18;;;5767:62;-1:-1:-1;;;5845:18:1;;;5838:39;5894:19;;7087:64:0;5514:405:1;7087:64:0;2751:7;2778:6;-1:-1:-1;;;;;7168:15:0;;;2778:6;;7168:15;;;;:32;;-1:-1:-1;2751:7:0;2778:6;-1:-1:-1;;;;;7187:13:0;;;2778:6;;7187:13;;7168:32;7164:1100;;;7257:12;;-1:-1:-1;;;7257:12:0;;;;7252:145;;2751:7;2778:6;-1:-1:-1;;;;;7298:15:0;;;2778:6;;7298:15;7290:91;;;;-1:-1:-1;;;7290:91:0;;6126:2:1;7290:91:0;;;6108:21:1;6165:2;6145:18;;;6138:30;6204:34;6184:18;;;6177:62;6275:33;6255:18;;;6248:61;6326:19;;7290:91:0;5924:427:1;7290:91:0;7431:9;;7421:6;:19;;7413:60;;;;-1:-1:-1;;;7413:60:0;;6558:2:1;7413:60:0;;;6540:21:1;6597:2;6577:18;;;6570:30;6636;6616:18;;;6609:58;6684:18;;7413:60:0;6356:352:1;7413:60:0;7499:8;;-1:-1:-1;;;;;7493:14:0;;;7499:8;;7493:14;7490:143;;7562:15;;7552:6;7536:13;7546:2;7536:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;7528:89;;;;-1:-1:-1;;;7528:89:0;;7177:2:1;7528:89:0;;;7159:21:1;7216:2;7196:18;;;7189:30;7255:34;7235:18;;;7228:62;-1:-1:-1;;;7306:18:1;;;7299:33;7349:19;;7528:89:0;6975:399:1;7528:89:0;7649:20;7672:24;7690:4;7672:9;:24::i;:::-;7749:16;;7801:9;;7649:47;;-1:-1:-1;7733:32:0;;;;7785:25;;7782:102;;7859:9;;7844:24;;7782:102;7904:14;:27;;;;-1:-1:-1;7923:8:0;;-1:-1:-1;;;7923:8:0;;;;7922:9;7904:27;:45;;;;-1:-1:-1;7941:8:0;;-1:-1:-1;;;;;7935:14:0;;;7941:8;;7935:14;7904:45;:60;;;;-1:-1:-1;7953:11:0;;-1:-1:-1;;;7953:11:0;;;;7904:60;:82;;;;-1:-1:-1;;;;;;7969:17:0;;;;;;:11;:17;;;;;;;;7968:18;7904:82;:111;;;;;7999:16;;7990:6;:25;7904:111;7900:353;;;8036:29;8052:12;8036:15;:29::i;:::-;8105:21;8149:14;;8145:93;;8188:30;8196:21;8188:7;:30::i;:::-;8017:236;7900:353;7202:1062;;7164:1100;-1:-1:-1;;;;;8346:17:0;;8276:18;8346:17;;;:11;:17;;;;;;8297:4;;8346:17;;;:36;;-1:-1:-1;;;;;;8367:15:0;;;;;;:11;:15;;;;;;;;8346:36;8345:78;;;-1:-1:-1;8396:8:0;;-1:-1:-1;;;;;8388:16:0;;;8396:8;;8388:16;;;;:34;;-1:-1:-1;8414:8:0;;-1:-1:-1;;;;;8408:14:0;;;8414:8;;8408:14;;8388:34;8341:558;;;-1:-1:-1;8456:5:0;8341:558;;;8539:8;;-1:-1:-1;;;;;8531:16:0;;;8539:8;;8531:16;:45;;;;-1:-1:-1;8565:10:0;;-1:-1:-1;;;;;8551:25:0;;;8565:10;;8551:25;;8531:45;8528:153;;;8609:13;;8597:9;:25;8652:13;;8641:8;:24;8528:153;8740:8;;-1:-1:-1;;;;;8734:14:0;;;8740:8;;8734:14;:45;;;;-1:-1:-1;8768:10:0;;-1:-1:-1;;;;;8752:27:0;;;8768:10;;8752:27;;8734:45;8730:156;;;8812:14;;8800:9;:26;8856:14;;8845:8;:25;8730:156;8911:47;8926:4;8932:2;8936:6;8944:13;8911:14;:47::i;:::-;6922:2044;6819:2147;;;:::o;1472:224::-;1592:7;1628:12;1620:6;;;;1612:29;;;;-1:-1:-1;;;1612:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1652:9:0;1664:5;1668:1;1664;:5;:::i;:::-;1652:17;1472:224;-1:-1:-1;;;;;1472:224:0:o;10561:208::-;10654:7;10679:19;10701:18;:16;:18::i;:::-;10679:40;-1:-1:-1;10737:24:0;:7;10679:40;10737:11;:24::i;:::-;10730:31;10561:208;-1:-1:-1;;;10561:208:0:o;8974:464::-;5847:8;:15;;-1:-1:-1;;;;5847:15:0;-1:-1:-1;;;5847:15:0;;;9072:16:::1;::::0;;9086:1:::1;9072:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9072:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9072:16:0::1;9048:40;;9117:4;9099;9104:1;9099:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9099:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9143:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;9143:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;9099:7;;9143:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9133:4;9138:1;9133:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9133:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;:27;9203:10:::1;::::0;9171:57:::1;::::0;9188:4:::1;::::0;9203:10:::1;9216:11:::0;9171:8:::1;:57::i;:::-;9239:10;::::0;:191:::1;::::0;-1:-1:-1;;;9239:191:0;;-1:-1:-1;;;;;9239:10:0;;::::1;::::0;:61:::1;::::0;:191:::1;::::0;9315:11;;9239:10:::1;::::0;9357:4;;9384::::1;::::0;9404:15:::1;::::0;9239:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5885:8:0;:16;;-1:-1:-1;;;;5885:16:0;;;-1:-1:-1;;;;8974:464:0:o;9699:86::-;9751:9;;:26;;-1:-1:-1;;;;;9751:9:0;;;;:26;;;;;9770:6;;9751:9;:26;:9;:26;9770:6;9751:9;:26;;;;;;;;;;;;;;;;;;;;;9699:86;:::o;12577:302::-;12739:13;12734:34;;12754:14;:12;:14::i;:::-;12779:47;12800:6;12808:9;12819:6;12779:20;:47::i;:::-;12842:13;12837:34;;12857:14;10040:17;;10028:9;:29;10079:12;;10068:8;:23;9985:114;11960:171;12010:7;12031:15;12048;12067:18;:16;:18::i;:::-;12030:55;;-1:-1:-1;12030:55:0;-1:-1:-1;12103:20:0;12030:55;;12103:11;:20::i;:::-;12096:27;;;;11960:171;:::o;1961:135::-;2019:7;2046:42;2050:1;2053;2046:42;;;;;;;;;;;;;;;;;:3;:42::i;12350:219::-;12397:9;;:14;:31;;;;-1:-1:-1;12415:8:0;;:13;12397:31;12393:44;;;12350:219::o;12393:44::-;12469:9;;;12449:17;:29;12504:8;;;12489:12;:23;-1:-1:-1;12525:13:0;;;;12549:12;12350:219::o;12887:707::-;13037:15;13067:23;13105:12;13132:23;13170:12;13197:13;13224:19;13235:7;13224:10;:19::i;:::-;-1:-1:-1;;;;;13265:19:0;;;;;;:11;:19;;;;;;13022:221;;-1:-1:-1;13022:221:0;;-1:-1:-1;13022:221:0;;-1:-1:-1;13022:221:0;-1:-1:-1;13022:221:0;-1:-1:-1;13022:221:0;-1:-1:-1;13265:19:0;;:35;;;;-1:-1:-1;13288:12:0;;-1:-1:-1;;;13288:12:0;;;;13265:35;13264:61;;13318:7;13264:61;;;13314:1;13264:61;-1:-1:-1;;;;;13356:17:0;;;;;;:9;:17;;;;;;13254:71;;-1:-1:-1;13356:30:0;;13254:71;13356:21;:30::i;:::-;-1:-1:-1;;;;;13336:17:0;;;;;;;:9;:17;;;;;;:50;;;;13420:20;;;;;;;:41;;13445:15;13420:24;:41::i;:::-;-1:-1:-1;;;;;13397:20:0;;;;;;:9;:20;;;;;:64;13472:17;13483:5;13472:10;:17::i;:::-;13500:26;13515:4;13521;13500:14;:26::i;:::-;13559:9;-1:-1:-1;;;;;13542:44:0;13551:6;-1:-1:-1;;;;;13542:44:0;;13570:15;13542:44;;;;1569:25:1;;1557:2;1542:18;;1423:177;13542:44:0;;;;;;;;13011:583;;;;;;12887:707;;;:::o;11154:256::-;11251:7;;11204;;;;4733:15;11319:20;11251:7;4733:15;11319:11;:20::i;:::-;11309:7;:30;11305:61;;;-1:-1:-1;;11349:7:0;;;4733:15;;-1:-1:-1;11154:256:0;-1:-1:-1;11154:256:0:o;11305:61::-;11385:7;;11394;;-1:-1:-1;11154:256:0;-1:-1:-1;11154:256:0:o;2104:223::-;2224:7;2259:12;2252:5;2244:28;;;;-1:-1:-1;;;2244:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2283:9:0;2295:5;2299:1;2295;:5;:::i;14033:624::-;14133:7;14155;14177;14199;14221;14243;14279:23;14304:12;14318:13;14348:41;14360:7;14369:9;;14380:8;;14348:11;:41::i;:::-;14278:111;;;;;;14400:19;14422:18;:16;:18::i;:::-;14400:40;;14452:15;14469:23;14494:12;14523:46;14535:7;14544:4;14550:5;14557:11;14523;:46::i;:::-;14451:118;;-1:-1:-1;14451:118:0;-1:-1:-1;14451:118:0;-1:-1:-1;14620:15:0;;-1:-1:-1;14637:4:0;;-1:-1:-1;14643:5:0;;-1:-1:-1;;;;;14033:624:0;;;;;;;:::o;1325:139::-;1383:7;1410:46;1414:1;1417;1410:46;;;;;;;;;;;;;;;;;:3;:46::i;1135:182::-;1193:7;;1225:5;1229:1;1225;:5;:::i;:::-;1213:17;;1254:1;1249;:6;;1241:49;;;;-1:-1:-1;;;1241:49:0;;9441:2:1;1241:49:0;;;9423:21:1;9480:2;9460:18;;;9453:30;9519:32;9499:18;;;9492:60;9569:18;;1241:49:0;9239:354:1;13606:224:0;13660:19;13682:18;:16;:18::i;:::-;13660:40;-1:-1:-1;13711:13:0;13727:22;:5;13660:40;13727:9;:22::i;:::-;13805:4;13787:24;;;;:9;:24;;;;;;13711:38;;-1:-1:-1;13787:35:0;;13711:38;13787:28;:35::i;:::-;13778:4;13760:24;;;;:9;:24;;;;;:62;-1:-1:-1;;;13606:224:0:o;13838:150::-;13919:7;;:17;;13931:4;13919:11;:17::i;:::-;13909:7;:27;13960:10;;:20;;13975:4;13960:14;:20::i;:::-;13947:10;:33;-1:-1:-1;;13838:150:0:o;15106:469::-;15275:7;;;;15369:30;15395:3;15369:21;:7;15381:8;15369:11;:21::i;:::-;:25;;:30::i;:::-;15354:45;-1:-1:-1;15410:13:0;15426:28;15450:3;15426:19;:7;15438:6;15426:11;:19::i;:28::-;15410:44;-1:-1:-1;15465:23:0;15491:28;15410:44;15491:17;:7;15503:4;15491:11;:17::i;:::-;:21;;:28::i;:::-;15465:54;15555:4;;-1:-1:-1;15561:5:0;;-1:-1:-1;15106:469:0;;-1:-1:-1;;;;;15106:469:0:o;11418:534::-;11612:7;;;;11709:24;:7;11721:11;11709;:24::i;:::-;11691:42;-1:-1:-1;11744:12:0;11759:21;:4;11768:11;11759:8;:21::i;:::-;11744:36;-1:-1:-1;11791:13:0;11807:22;:5;11817:11;11807:9;:22::i;:::-;11791:38;-1:-1:-1;11840:23:0;11866:28;11791:38;11866:17;:7;11878:4;11866:11;:17::i;:28::-;11913:7;;;;-1:-1:-1;11939:4:0;;-1:-1:-1;11418:534:0;;-1:-1:-1;;;;;;;11418:534:0:o;1704:249::-;1762:7;1786:1;1791;1786:6;1782:47;;-1:-1:-1;1816:1:0;1809:8;;1782:47;1839:9;1851:5;1855:1;1851;:5;:::i;:::-;1839:17;-1:-1:-1;1884:1:0;1875:5;1879:1;1839:17;1875:5;:::i;:::-;:10;1867:59;;;;-1:-1:-1;;;1867:59:0;;9973:2:1;1867:59:0;;;9955:21:1;10012:2;9992:18;;;9985:30;10051:34;10031:18;;;10024:62;-1:-1:-1;;;10102:18:1;;;10095:34;10146:19;;1867:59:0;9771:400:1;14:548;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;622:70;567:131;:::o;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;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2735:388::-;2803:6;2811;2864:2;2852:9;2843:7;2839:23;2835:32;2832:52;;;2880:1;2877;2870:12;2832:52;2919:9;2906:23;2938:31;2963:5;2938:31;:::i;:::-;2988:5;-1:-1:-1;3045:2:1;3030:18;;3017:32;3058:33;3017:32;3058:33;:::i;:::-;3110:7;3100:17;;;2735:388;;;;;:::o;3128:356::-;3330:2;3312:21;;;3349:18;;;3342:30;3408:34;3403:2;3388:18;;3381:62;3475:2;3460:18;;3128:356::o;6713:127::-;6774:10;6769:3;6765:20;6762:1;6755:31;6805:4;6802:1;6795:15;6829:4;6826:1;6819:15;6845:125;6910:9;;;6931:10;;;6928:36;;;6944:18;;:::i;7379:128::-;7446:9;;;7467:11;;;7464:37;;;7481:18;;:::i;7644:127::-;7705:10;7700:3;7696:20;7693:1;7686:31;7736:4;7733:1;7726:15;7760:4;7757:1;7750:15;7776:251;7846:6;7899:2;7887:9;7878:7;7874:23;7870:32;7867:52;;;7915:1;7912;7905:12;7867:52;7947:9;7941:16;7966:31;7991:5;7966:31;:::i;8032:980::-;8294:4;8342:3;8331:9;8327:19;8373:6;8362:9;8355:25;8399:2;8437:6;8432:2;8421:9;8417:18;8410:34;8480:3;8475:2;8464:9;8460:18;8453:31;8504:6;8539;8533:13;8570:6;8562;8555:22;8608:3;8597:9;8593:19;8586:26;;8647:2;8639:6;8635:15;8621:29;;8668:1;8678:195;8692:6;8689:1;8686:13;8678:195;;;8757:13;;-1:-1:-1;;;;;8753:39:1;8741:52;;8848:15;;;;8813:12;;;;8789:1;8707:9;8678:195;;;-1:-1:-1;;;;;;;8929:32:1;;;;8924:2;8909:18;;8902:60;-1:-1:-1;;;8993:3:1;8978:19;8971:35;8890:3;8032:980;-1:-1:-1;;;8032:980:1:o;9017:217::-;9057:1;9083;9073:132;;9127:10;9122:3;9118:20;9115:1;9108:31;9162:4;9159:1;9152:15;9190:4;9187:1;9180:15;9073:132;-1:-1:-1;9219:9:1;;9017:217::o;9598:168::-;9671:9;;;9702;;9719:15;;;9713:22;;9699:37;9689:71;;9740:18;;:::i

Swarm Source

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