ETH Price: $3,268.76 (-1.97%)

Token

GANGSTA TRUMP (gTRUMP)
 

Overview

Max Total Supply

10,000,000,000,000,000 gTRUMP

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.006522483 gTRUMP

Value
$0.00
0x3fde2d64e500cc61a4927a41098bc71dde0bd1b1
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:
GANGSTATRUMP

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-14
*/

// SPDX-License-Identifier: MIT
/*

$gTRUMP
Gangsta Trump 4 President

https://t.me/GangstaTrumpETH
https://x.com/GangstaTrumpETH
https://gangstatrumptoken.com

*/
pragma solidity 0.8.25;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

}

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

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract GANGSTATRUMP is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=35;
    uint256 private _initialSellTax=19;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=100;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000000000000  * 10**_decimals;
    string private constant _name = unicode"GANGSTA TRUMP";
    string private constant _symbol = unicode"gTRUMP";
    uint256 public _maxTxAmount = 220000000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 220000000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000000000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 220000000000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

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

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

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

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

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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


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

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

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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


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

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff19166001908117909155602360075560136008555f6009818155600a828155600b939093556064600c556005600d55600e9190915561004891610324565b6100589065c816bdd9c000610339565b600f556100676009600a610324565b6100779065c816bdd9c000610339565b6010556100866009600a610324565b610096906509184e72a000610339565b6011556100a56009600a610324565b6100b59065c816bdd9c000610339565b6012556014805461ffff60a81b191690553480156100d1575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556101356009600a610324565b61014690662386f26fc10000610339565b335f90815260016020819052604082209290925560039061016e5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560065461010090049091168352912080549092161790556101d03390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102076009600a610324565b61021890662386f26fc10000610339565b60405190815260200160405180910390a3610350565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561027c57815f19048211156102625761026261022e565b8085161561026f57918102915b93841c9390800290610247565b509250929050565b5f826102925750600161031e565b8161029e57505f61031e565b81600181146102b457600281146102be576102da565b600191505061031e565b60ff8411156102cf576102cf61022e565b50506001821b61031e565b5060208310610133831016604e8410600b84101617156102fd575081810a61031e565b6103078383610242565b805f190482111561031a5761031a61022e565b0290505b92915050565b5f61033260ff841683610284565b9392505050565b808202811582820484141761031e5761031e61022e565b6117f58061035d5f395ff3fe608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102f5578063bf474bed14610314578063c876d0b914610329578063c9567bf914610342578063dd62ed3e14610356575f80fd5b8063751039fc146102635780637d1db4a5146102775780638da5cb5b1461028c5780638f9a55c0146102b257806395d89b41146102c7575f80fd5b806323b872dd116100e357806323b872dd146101cb578063313ce567146101ea57806351bc3c851461020557806370a082311461021b578063715018a61461024f575f80fd5b806306fdde031461011e578063095ea7b3146101655780630faee56f1461019457806318160ddd146101b7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600d81526c047414e47535441205452554d5609c1b60208201525b60405161015c91906113fc565b60405180910390f35b348015610170575f80fd5b5061018461017f366004611448565b61039a565b604051901515815260200161015c565b34801561019f575f80fd5b506101a960125481565b60405190815260200161015c565b3480156101c2575f80fd5b506101a96103b0565b3480156101d6575f80fd5b506101846101e5366004611472565b6103d3565b3480156101f5575f80fd5b506040516009815260200161015c565b348015610210575f80fd5b5061021961043a565b005b348015610226575f80fd5b506101a96102353660046114b0565b6001600160a01b03165f9081526001602052604090205490565b34801561025a575f80fd5b50610219610490565b34801561026e575f80fd5b5061021961050a565b348015610282575f80fd5b506101a9600f5481565b348015610297575f80fd5b505f546040516001600160a01b03909116815260200161015c565b3480156102bd575f80fd5b506101a960105481565b3480156102d2575f80fd5b506040805180820190915260068152650675452554d560d41b602082015261014f565b348015610300575f80fd5b5061018461030f366004611448565b6105ce565b34801561031f575f80fd5b506101a960115481565b348015610334575f80fd5b506006546101849060ff1681565b34801561034d575f80fd5b506102196105da565b348015610361575f80fd5b506101a96103703660046114cb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a6338484610986565b5060015b92915050565b5f6103bd6009600a6115f6565b6103ce90662386f26fc10000611604565b905090565b5f6103df848484610aa9565b610430843361042b85604051806060016040528060288152602001611798602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611074565b610986565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b03161461045e575f80fd5b305f90815260016020526040902054801561047c5761047c816110ac565b47801561048c5761048c8161121c565b5050565b5f546001600160a01b031633146104c25760405162461bcd60e51b81526004016104b99061161b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105335760405162461bcd60e51b81526004016104b99061161b565b61053f6009600a6115f6565b61055090662386f26fc10000611604565b600f5561055f6009600a6115f6565b61057090662386f26fc10000611604565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105aa6009600a6115f6565b6105bb90662386f26fc10000611604565b60405190815260200160405180910390a1565b5f6103a6338484610aa9565b5f546001600160a01b031633146106035760405162461bcd60e51b81526004016104b99061161b565b601454600160a01b900460ff161561065d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b9565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106a99030906106986009600a6115f6565b61042b90662386f26fc10000611604565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071d9190611650565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a09190611650565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e9190611650565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610855816001600160a01b03165f9081526001602052604090205490565b5f806108685f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108ce573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108f3919061166b565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096c9190611696565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b9565b6001600160a01b038216610a495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b9565b6001600160a01b038216610b6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b9565b5f8111610bd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b9565b5f80546001600160a01b03858116911614801590610bfb57505f546001600160a01b03848116911614155b15610f3757610c2c6064610c26600b54600e5411610c1b57600754610c1f565b6009545b8590611257565b906112dc565b60065490915060ff1615610d12576013546001600160a01b03848116911614801590610c6657506014546001600160a01b03848116911614155b15610d1257325f908152600560205260409020544311610d005760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104b9565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610d3d57506013546001600160a01b03848116911614155b8015610d6157506001600160a01b0383165f9081526003602052604090205460ff16155b15610e4757600f54821115610db85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b9565b60105482610dda856001600160a01b03165f9081526001602052604090205490565b610de491906116b5565b1115610e325760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b9565b600e8054905f610e41836116c8565b91905055505b6014546001600160a01b038481169116148015610e6d57506001600160a01b0384163014155b15610e9a57610e976064610c26600c54600e5411610e8d57600854610c1f565b600a548590611257565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610ed057506014546001600160a01b038581169116145b8015610ee55750601454600160b01b900460ff165b8015610ef2575060115481115b8015610f015750600d54600e54115b15610f3557610f23610f1e84610f198460125461131d565b61131d565b6110ac565b478015610f3357610f334761121c565b505b505b8015610faf57305f90815260016020526040902054610f569082611331565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa69085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fd1908361138f565b6001600160a01b0385165f90815260016020526040902055611014610ff6838361138f565b6001600160a01b0385165f9081526001602052604090205490611331565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61105d858561138f565b60405190815260200160405180910390a350505050565b5f81848411156110975760405162461bcd60e51b81526004016104b991906113fc565b505f6110a384866116e0565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110f2576110f26116f3565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611149573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116d9190611650565b81600181518110611180576111806116f3565b6001600160a01b0392831660209182029290920101526013546111a69130911684610986565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111de9085905f90869030904290600401611707565b5f604051808303815f87803b1580156111f5575f80fd5b505af1158015611207573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561048c573d5f803e3d5ffd5b5f825f0361126657505f6103aa565b5f6112718385611604565b90508261127e8583611778565b146112d55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b9565b9392505050565b5f6112d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113d0565b5f81831161132b57826112d5565b50919050565b5f8061133d83856116b5565b9050838110156112d55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b9565b5f6112d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611074565b5f81836113f05760405162461bcd60e51b81526004016104b991906113fc565b505f6110a38486611778565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611445575f80fd5b50565b5f8060408385031215611459575f80fd5b823561146481611431565b946020939093013593505050565b5f805f60608486031215611484575f80fd5b833561148f81611431565b9250602084013561149f81611431565b929592945050506040919091013590565b5f602082840312156114c0575f80fd5b81356112d581611431565b5f80604083850312156114dc575f80fd5b82356114e781611431565b915060208301356114f781611431565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561155057815f190482111561153657611536611502565b8085161561154357918102915b93841c939080029061151b565b509250929050565b5f82611566575060016103aa565b8161157257505f6103aa565b81600181146115885760028114611592576115ae565b60019150506103aa565b60ff8411156115a3576115a3611502565b50506001821b6103aa565b5060208310610133831016604e8410600b84101617156115d1575081810a6103aa565b6115db8383611516565b805f19048211156115ee576115ee611502565b029392505050565b5f6112d560ff841683611558565b80820281158282048414176103aa576103aa611502565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611660575f80fd5b81516112d581611431565b5f805f6060848603121561167d575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116a6575f80fd5b815180151581146112d5575f80fd5b808201808211156103aa576103aa611502565b5f600182016116d9576116d9611502565b5060010190565b818103818111156103aa576103aa611502565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117575784516001600160a01b031683529383019391830191600101611732565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261179257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122027eb575904e6434feb7899fbb9418ded7995204c6315baac5a7a07c0873bedfa64736f6c63430008190033

Deployed Bytecode

0x608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102f5578063bf474bed14610314578063c876d0b914610329578063c9567bf914610342578063dd62ed3e14610356575f80fd5b8063751039fc146102635780637d1db4a5146102775780638da5cb5b1461028c5780638f9a55c0146102b257806395d89b41146102c7575f80fd5b806323b872dd116100e357806323b872dd146101cb578063313ce567146101ea57806351bc3c851461020557806370a082311461021b578063715018a61461024f575f80fd5b806306fdde031461011e578063095ea7b3146101655780630faee56f1461019457806318160ddd146101b7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600d81526c047414e47535441205452554d5609c1b60208201525b60405161015c91906113fc565b60405180910390f35b348015610170575f80fd5b5061018461017f366004611448565b61039a565b604051901515815260200161015c565b34801561019f575f80fd5b506101a960125481565b60405190815260200161015c565b3480156101c2575f80fd5b506101a96103b0565b3480156101d6575f80fd5b506101846101e5366004611472565b6103d3565b3480156101f5575f80fd5b506040516009815260200161015c565b348015610210575f80fd5b5061021961043a565b005b348015610226575f80fd5b506101a96102353660046114b0565b6001600160a01b03165f9081526001602052604090205490565b34801561025a575f80fd5b50610219610490565b34801561026e575f80fd5b5061021961050a565b348015610282575f80fd5b506101a9600f5481565b348015610297575f80fd5b505f546040516001600160a01b03909116815260200161015c565b3480156102bd575f80fd5b506101a960105481565b3480156102d2575f80fd5b506040805180820190915260068152650675452554d560d41b602082015261014f565b348015610300575f80fd5b5061018461030f366004611448565b6105ce565b34801561031f575f80fd5b506101a960115481565b348015610334575f80fd5b506006546101849060ff1681565b34801561034d575f80fd5b506102196105da565b348015610361575f80fd5b506101a96103703660046114cb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a6338484610986565b5060015b92915050565b5f6103bd6009600a6115f6565b6103ce90662386f26fc10000611604565b905090565b5f6103df848484610aa9565b610430843361042b85604051806060016040528060288152602001611798602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611074565b610986565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b03161461045e575f80fd5b305f90815260016020526040902054801561047c5761047c816110ac565b47801561048c5761048c8161121c565b5050565b5f546001600160a01b031633146104c25760405162461bcd60e51b81526004016104b99061161b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105335760405162461bcd60e51b81526004016104b99061161b565b61053f6009600a6115f6565b61055090662386f26fc10000611604565b600f5561055f6009600a6115f6565b61057090662386f26fc10000611604565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105aa6009600a6115f6565b6105bb90662386f26fc10000611604565b60405190815260200160405180910390a1565b5f6103a6338484610aa9565b5f546001600160a01b031633146106035760405162461bcd60e51b81526004016104b99061161b565b601454600160a01b900460ff161561065d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b9565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106a99030906106986009600a6115f6565b61042b90662386f26fc10000611604565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071d9190611650565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a09190611650565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e9190611650565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610855816001600160a01b03165f9081526001602052604090205490565b5f806108685f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108ce573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108f3919061166b565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096c9190611696565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b9565b6001600160a01b038216610a495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b9565b6001600160a01b038216610b6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b9565b5f8111610bd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b9565b5f80546001600160a01b03858116911614801590610bfb57505f546001600160a01b03848116911614155b15610f3757610c2c6064610c26600b54600e5411610c1b57600754610c1f565b6009545b8590611257565b906112dc565b60065490915060ff1615610d12576013546001600160a01b03848116911614801590610c6657506014546001600160a01b03848116911614155b15610d1257325f908152600560205260409020544311610d005760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104b9565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610d3d57506013546001600160a01b03848116911614155b8015610d6157506001600160a01b0383165f9081526003602052604090205460ff16155b15610e4757600f54821115610db85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b9565b60105482610dda856001600160a01b03165f9081526001602052604090205490565b610de491906116b5565b1115610e325760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b9565b600e8054905f610e41836116c8565b91905055505b6014546001600160a01b038481169116148015610e6d57506001600160a01b0384163014155b15610e9a57610e976064610c26600c54600e5411610e8d57600854610c1f565b600a548590611257565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610ed057506014546001600160a01b038581169116145b8015610ee55750601454600160b01b900460ff165b8015610ef2575060115481115b8015610f015750600d54600e54115b15610f3557610f23610f1e84610f198460125461131d565b61131d565b6110ac565b478015610f3357610f334761121c565b505b505b8015610faf57305f90815260016020526040902054610f569082611331565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa69085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fd1908361138f565b6001600160a01b0385165f90815260016020526040902055611014610ff6838361138f565b6001600160a01b0385165f9081526001602052604090205490611331565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61105d858561138f565b60405190815260200160405180910390a350505050565b5f81848411156110975760405162461bcd60e51b81526004016104b991906113fc565b505f6110a384866116e0565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110f2576110f26116f3565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611149573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116d9190611650565b81600181518110611180576111806116f3565b6001600160a01b0392831660209182029290920101526013546111a69130911684610986565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111de9085905f90869030904290600401611707565b5f604051808303815f87803b1580156111f5575f80fd5b505af1158015611207573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561048c573d5f803e3d5ffd5b5f825f0361126657505f6103aa565b5f6112718385611604565b90508261127e8583611778565b146112d55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b9565b9392505050565b5f6112d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113d0565b5f81831161132b57826112d5565b50919050565b5f8061133d83856116b5565b9050838110156112d55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b9565b5f6112d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611074565b5f81836113f05760405162461bcd60e51b81526004016104b991906113fc565b505f6110a38486611778565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611445575f80fd5b50565b5f8060408385031215611459575f80fd5b823561146481611431565b946020939093013593505050565b5f805f60608486031215611484575f80fd5b833561148f81611431565b9250602084013561149f81611431565b929592945050506040919091013590565b5f602082840312156114c0575f80fd5b81356112d581611431565b5f80604083850312156114dc575f80fd5b82356114e781611431565b915060208301356114f781611431565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561155057815f190482111561153657611536611502565b8085161561154357918102915b93841c939080029061151b565b509250929050565b5f82611566575060016103aa565b8161157257505f6103aa565b81600181146115885760028114611592576115ae565b60019150506103aa565b60ff8411156115a3576115a3611502565b50506001821b6103aa565b5060208310610133831016604e8410600b84101617156115d1575081810a6103aa565b6115db8383611516565b805f19048211156115ee576115ee611502565b029392505050565b5f6112d560ff841683611558565b80820281158282048414176103aa576103aa611502565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611660575f80fd5b81516112d581611431565b5f805f6060848603121561167d575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116a6575f80fd5b815180151581146112d5575f80fd5b808201808211156103aa576103aa611502565b5f600182016116d9576116d9611502565b5060010190565b818103818111156103aa576103aa611502565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117575784516001600160a01b031683529383019391830191600101611732565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261179257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122027eb575904e6434feb7899fbb9418ded7995204c6315baac5a7a07c0873bedfa64736f6c63430008190033

Deployed Bytecode Sourcemap

3613:8022:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5591:83;;;;;;;;;;-1:-1:-1;5661:5:0;;;;;;;;;;;;-1:-1:-1;;;5661:5:0;;;;5591:83;;;;;;;:::i;:::-;;;;;;;;6424:161;;;;;;;;;;-1:-1:-1;6424:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6424:161:0;893:187:1;4859:59:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;4859:59:0;1085:177:1;5868:95:0;;;;;;;;;;;;;:::i;6593:313::-;;;;;;;;;;-1:-1:-1;6593:313:0;;;;;:::i;:::-;;:::i;5777:83::-;;;;;;;;;;-1:-1:-1;5777:83:0;;4449:1;1870:36:1;;1858:2;1843:18;5777:83:0;1728:184:1;11284:348:0;;;;;;;;;;;;;:::i;:::-;;5971:119;;;;;;;;;;-1:-1:-1;5971:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6064:18:0;6037:7;6064:18;;;:9;:18;;;;;;;5971:119;2694:148;;;;;;;;;;;;;:::i;10262:196::-;;;;;;;;;;;;;:::i;4650:61::-;;;;;;;;;;;;;;;;2480:79;;;;;;;;;;-1:-1:-1;2518:7:0;2545:6;2480:79;;-1:-1:-1;;;;;2545:6:0;;;2315:51:1;;2303:2;2288:18;2480:79:0;2169:203:1;4718:63:0;;;;;;;;;;;;;;;;5682:87;;;;;;;;;;-1:-1:-1;5754:7:0;;;;;;;;;;;;-1:-1:-1;;;5754:7:0;;;;5682:87;;6098:167;;;;;;;;;;-1:-1:-1;6098:167:0;;;;;:::i;:::-;;:::i;4788:64::-;;;;;;;;;;;;;;;;4007:39;;;;;;;;;;-1:-1:-1;4007:39:0;;;;;;;;10568:671;;;;;;;;;;;;;:::i;6273:143::-;;;;;;;;;;-1:-1:-1;6273:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6381:18:0;;;6354:7;6381:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6273:143;6424:161;6499:4;6516:39;315:10;6539:7;6548:6;6516:8;:39::i;:::-;-1:-1:-1;6573:4:0;6424:161;;;;;:::o;5868:95::-;5921:7;4513:13;4449:1;4513:2;:13;:::i;:::-;4492:34;;:17;:34;:::i;:::-;5941:14;;5868:95;:::o;6593:313::-;6691:4;6708:36;6718:6;6726:9;6737:6;6708:9;:36::i;:::-;6755:121;6764:6;315:10;6786:89;6824:6;6786:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6786:19:0;;;;;;:11;:19;;;;;;;;315:10;6786:33;;;;;;;;;;:37;:89::i;:::-;6755:8;:121::i;:::-;-1:-1:-1;6894:4:0;6593:313;;;;;:::o;11284:348::-;11348:10;;;;;-1:-1:-1;;;;;11348:10:0;315;-1:-1:-1;;;;;11334:24:0;;11326:33;;;;;;11409:4;11370:20;6064:18;;;:9;:18;;;;;;11429:14;;11426:73;;11457:30;11474:12;11457:16;:30::i;:::-;11528:21;11563:12;;11560:65;;11589:24;11602:10;11589:12;:24::i;:::-;11315:317;;11284:348::o;2694:148::-;2607:6;;-1:-1:-1;;;;;2607:6:0;315:10;2607:22;2599:67;;;;-1:-1:-1;;;2599:67:0;;;;;;;:::i;:::-;;;;;;;;;2801:1:::1;2785:6:::0;;2764:40:::1;::::0;-1:-1:-1;;;;;2785:6:0;;::::1;::::0;2764:40:::1;::::0;2801:1;;2764:40:::1;2832:1;2815:19:::0;;-1:-1:-1;;;;;;2815:19:0::1;::::0;;2694:148::o;10262:196::-;2607:6;;-1:-1:-1;;;;;2607:6:0;315:10;2607:22;2599:67;;;;-1:-1:-1;;;2599:67:0;;;;;;;:::i;:::-;4513:13:::1;4449:1;4513:2;:13;:::i;:::-;4492:34;::::0;:17:::1;:34;:::i;:::-;10315:12;:22:::0;4513:13:::1;4449:1;4513:2;:13;:::i;:::-;4492:34;::::0;:17:::1;:34;:::i;:::-;10348:14;:22:::0;10381:20:::1;:26:::0;;-1:-1:-1;;10381:26:0::1;::::0;;10423:27:::1;4513:13;4449:1;-1:-1:-1::0;4513:13:0::1;:::i;:::-;4492:34;::::0;:17:::1;:34;:::i;:::-;10423:27;::::0;1231:25:1;;;1219:2;1204:18;10423:27:0::1;;;;;;;10262:196::o:0;6098:167::-;6176:4;6193:42;315:10;6217:9;6228:6;6193:9;:42::i;10568:671::-;2607:6;;-1:-1:-1;;;;;2607:6:0;315:10;2607:22;2599:67;;;;-1:-1:-1;;;2599:67:0;;;;;;;:::i;:::-;10632:11:::1;::::0;-1:-1:-1;;;10632:11:0;::::1;;;10631:12;10623:47;;;::::0;-1:-1:-1;;;10623:47:0;;5015:2:1;10623:47:0::1;::::0;::::1;4997:21:1::0;5054:2;5034:18;;;5027:30;5093:25;5073:18;;;5066:53;5136:18;;10623:47:0::1;4813:347:1::0;10623:47:0::1;10681:15;:80:::0;;-1:-1:-1;;;;;;10681:80:0::1;10718:42;10681:80:::0;;::::1;::::0;;;10772:58:::1;::::0;10789:4:::1;::::0;4513:13:::1;4449:1;4513:2;:13;:::i;:::-;4492:34;::::0;:17:::1;:34;:::i;10772:58::-;10875:15;;;;;;;;;-1:-1:-1::0;;;;;10875:15:0::1;-1:-1:-1::0;;;;;10875:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10857:55:0::1;;10921:4;10928:15;;;;;;;;;-1:-1:-1::0;;;;;10928:15:0::1;-1:-1:-1::0;;;;;10928:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10857:94;::::0;-1:-1:-1;;;;;;10857:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5651:15:1;;;10857:94:0::1;::::0;::::1;5633:34:1::0;5703:15;;5683:18;;;5676:43;5568:18;;10857:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10841:13;:110:::0;;-1:-1:-1;;;;;10841:110:0;;::::1;-1:-1:-1::0;;;;;;10841:110:0;;::::1;;::::0;;10962:15:::1;::::0;::::1;:31;11001:21;11032:4;11038:24;11032:4:::0;-1:-1:-1;;;;;6064:18:0;6037:7;6064:18;;;:9;:18;;;;;;;5971:119;11038:24:::1;11063:1;11065::::0;11067:7:::1;2518::::0;2545:6;-1:-1:-1;;;;;2545:6:0;;2480:79;11067:7:::1;10962:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10962:129:0;;;-1:-1:-1;;;;;6089:15:1;;;10962:129:0::1;::::0;::::1;6071:34:1::0;6121:18;;;6114:34;;;;6164:18;;;6157:34;;;;6207:18;;;6200:34;6271:15;;;6250:19;;;6243:44;11075:15:0::1;6303:19:1::0;;;6296:35;6005:19;;10962:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11109:13:0::1;::::0;11140:15:::1;::::0;11102:71:::1;::::0;-1:-1:-1;;;11102:71:0;;-1:-1:-1;;;;;11140:15:0;;::::1;11102:71;::::0;::::1;6827:51:1::0;-1:-1:-1;;6894:18:1;;;6887:34;11109:13:0;::::1;::::0;-1:-1:-1;11102:29:0::1;::::0;6800:18:1;;11102:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11184:11:0::1;:18:::0;;-1:-1:-1;;;;11213:18:0;-1:-1:-1;;;11213:18:0;;;10568:671::o;6914:335::-;-1:-1:-1;;;;;7007:19:0;;6999:68;;;;-1:-1:-1;;;6999:68:0;;7416:2:1;6999:68:0;;;7398:21:1;7455:2;7435:18;;;7428:30;7494:34;7474:18;;;7467:62;-1:-1:-1;;;7545:18:1;;;7538:34;7589:19;;6999:68:0;7214:400:1;6999:68:0;-1:-1:-1;;;;;7086:21:0;;7078:68;;;;-1:-1:-1;;;7078:68:0;;7821:2:1;7078:68:0;;;7803:21:1;7860:2;7840:18;;;7833:30;7899:34;7879:18;;;7872:62;-1:-1:-1;;;7950:18:1;;;7943:32;7992:19;;7078:68:0;7619:398:1;7078:68:0;-1:-1:-1;;;;;7157:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7209:32;;1231:25:1;;;7209:32:0;;1204:18:1;7209:32:0;;;;;;;6914:335;;;:::o;7257:2398::-;-1:-1:-1;;;;;7345:18:0;;7337:68;;;;-1:-1:-1;;;7337:68:0;;8224:2:1;7337:68:0;;;8206:21:1;8263:2;8243:18;;;8236:30;8302:34;8282:18;;;8275:62;-1:-1:-1;;;8353:18:1;;;8346:35;8398:19;;7337:68:0;8022:401:1;7337:68:0;-1:-1:-1;;;;;7424:16:0;;7416:64;;;;-1:-1:-1;;;7416:64:0;;8630:2:1;7416:64:0;;;8612:21:1;8669:2;8649:18;;;8642:30;8708:34;8688:18;;;8681:62;-1:-1:-1;;;8759:18:1;;;8752:33;8802:19;;7416:64:0;8428:399:1;7416:64:0;7508:1;7499:6;:10;7491:64;;;;-1:-1:-1;;;7491:64:0;;9034:2:1;7491:64:0;;;9016:21:1;9073:2;9053:18;;;9046:30;9112:34;9092:18;;;9085:62;-1:-1:-1;;;9163:18:1;;;9156:39;9212:19;;7491:64:0;8832:405:1;7491:64:0;7566:17;2545:6;;-1:-1:-1;;;;;7600:15:0;;;2545:6;;7600:15;;;;:32;;-1:-1:-1;2518:7:0;2545:6;-1:-1:-1;;;;;7619:13:0;;;2545:6;;7619:13;;7600:32;7596:1703;;;7661:76;7733:3;7661:67;7683:15;;7673:9;;:25;7672:55;;7713:14;;7672:55;;;7700:12;;7672:55;7661:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7758:20;;7649:88;;-1:-1:-1;7758:20:0;;7754:508;;;7819:15;;-1:-1:-1;;;;;7805:30:0;;;7819:15;;7805:30;;;;:62;;-1:-1:-1;7853:13:0;;-1:-1:-1;;;;;7839:28:0;;;7853:13;;7839:28;;7805:62;7801:444;;;7959:9;7930:39;;;;:28;:39;;;;;;8003:12;-1:-1:-1;7894:250:0;;;;-1:-1:-1;;;7894:250:0;;9444:2:1;7894:250:0;;;9426:21:1;9483:2;9463:18;;;9456:30;9522:34;9502:18;;;9495:62;9593:34;9573:18;;;9566:62;-1:-1:-1;;;9644:19:1;;;9637:40;9694:19;;7894:250:0;9242:477:1;7894:250:0;8198:9;8169:39;;;;:28;:39;;;;;8211:12;8169:54;;7801:444;8290:13;;-1:-1:-1;;;;;8282:21:0;;;8290:13;;8282:21;:55;;;;-1:-1:-1;8321:15:0;;-1:-1:-1;;;;;8307:30:0;;;8321:15;;8307:30;;8282:55;:83;;;;-1:-1:-1;;;;;;8343:22:0;;;;;;:18;:22;;;;;;;;8341:24;8282:83;8278:313;;;8405:12;;8395:6;:22;;8387:60;;;;-1:-1:-1;;;8387:60:0;;9926:2:1;8387:60:0;;;9908:21:1;9965:2;9945:18;;;9938:30;10004:27;9984:18;;;9977:55;10049:18;;8387:60:0;9724:349:1;8387:60:0;8500:14;;8490:6;8474:13;8484:2;-1:-1:-1;;;;;6064:18:0;6037:7;6064:18;;;:9;:18;;;;;;;5971:119;8474:13;:22;;;;:::i;:::-;:40;;8466:79;;;;-1:-1:-1;;;8466:79:0;;10410:2:1;8466:79:0;;;10392:21:1;10449:2;10429:18;;;10422:30;10488:28;10468:18;;;10461:56;10534:18;;8466:79:0;10208:350:1;8466:79:0;8564:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8278:313;8616:13;;-1:-1:-1;;;;;8610:19:0;;;8616:13;;8610:19;:43;;;;-1:-1:-1;;;;;;8633:20:0;;8648:4;8633:20;;8610:43;8607:174;;;8686:79;8761:3;8686:70;8708:16;;8698:9;;:26;8697:58;;8740:15;;8697:58;;;8726:13;;8686:6;;:10;:70::i;:79::-;8674:91;;8607:174;8846:4;8797:28;6064:18;;;:9;:18;;;;;;8872:6;;-1:-1:-1;;;8872:6:0;;;;8871:7;:32;;;;-1:-1:-1;8890:13:0;;-1:-1:-1;;;;;8882:21:0;;;8890:13;;8882:21;8871:32;:47;;;;-1:-1:-1;8907:11:0;;-1:-1:-1;;;8907:11:0;;;;8871:47;:89;;;;;8943:17;;8922:20;:38;8871:89;:121;;;;;8974:18;;8964:9;;:28;8871:121;8867:421;;;9013:67;9030:49;9034:6;9041:37;9045:20;9066:11;;9041:3;:37::i;:::-;9030:3;:49::i;:::-;9013:16;:67::i;:::-;9128:21;9171:22;;9168:105;;9218:35;9231:21;9218:12;:35::i;:::-;8994:294;8867:421;7634:1665;7596:1703;9314:11;;9311:161;;9382:4;9364:24;;;;:9;:24;;;;;;:39;;9393:9;9364:28;:39::i;:::-;9357:4;9339:24;;;;:9;:24;;;;;;;:64;;;;9421:39;;-1:-1:-1;;;;;9421:39:0;;;;;;;9450:9;1231:25:1;;1219:2;1204:18;;1085:177;9421:39:0;;;;;;;;9311:161;-1:-1:-1;;;;;9498:15:0;;;;;;:9;:15;;;;;;:27;;9518:6;9498:19;:27::i;:::-;-1:-1:-1;;;;;9482:15:0;;;;;;:9;:15;;;;;:43;9550:40;9568:21;:6;9579:9;9568:10;:21::i;:::-;-1:-1:-1;;;;;9550:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9536:13:0;;;;;;;:9;:13;;;;;:54;;;;9606:41;;;9625:21;:6;9636:9;9625:10;:21::i;:::-;9606:41;;1231:25:1;;;1219:2;1204:18;9606:41:0;;;;;;;7326:2329;7257:2398;;;:::o;1372:190::-;1458:7;1494:12;1486:6;;;;1478:29;;;;-1:-1:-1;;;1478:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1518:9:0;1530:5;1534:1;1530;:5;:::i;:::-;1518:17;1372:190;-1:-1:-1;;;;;1372:190:0:o;9771:483::-;5200:6;:13;;-1:-1:-1;;;;5200:13:0;-1:-1:-1;;;5200:13:0;;;9873:16:::1;::::0;;9887:1:::1;9873:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9873:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9873:16:0::1;9849:40;;9918:4;9900;9905:1;9900:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9900:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9944:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9944:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9900:7;;9944:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9934:4;9939:1;9934:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9934:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10009:15:::1;::::0;9977:62:::1;::::0;9994:4:::1;::::0;10009:15:::1;10027:11:::0;9977:8:::1;:62::i;:::-;10050:15;::::0;:196:::1;::::0;-1:-1:-1;;;10050:196:0;;-1:-1:-1;;;;;10050:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10131:11;;10050:15:::1;::::0;10173:4;;10200::::1;::::0;10220:15:::1;::::0;10050:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5236:6:0;:14;;-1:-1:-1;;;;5236:14:0;;;-1:-1:-1;;;;9771:483:0:o;10466:92::-;10523:10;;:27;;:10;;;;-1:-1:-1;;;;;10523:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1570:246;1628:7;1652:1;1657;1652:6;1648:47;;-1:-1:-1;1682:1:0;1675:8;;1648:47;1705:9;1717:5;1721:1;1717;:5;:::i;:::-;1705:17;-1:-1:-1;1750:1:0;1741:5;1745:1;1705:17;1741:5;:::i;:::-;:10;1733:56;;;;-1:-1:-1;;;1733:56:0;;12509:2:1;1733:56:0;;;12491:21:1;12548:2;12528:18;;;12521:30;12587:34;12567:18;;;12560:62;-1:-1:-1;;;12638:18:1;;;12631:31;12679:19;;1733:56:0;12307:397:1;1733:56:0;1807:1;1570:246;-1:-1:-1;;;1570:246:0:o;1824:132::-;1882:7;1909:39;1913:1;1916;1909:39;;;;;;;;;;;;;;;;;:3;:39::i;9665:98::-;9722:7;9749:1;9747;:3;9746:9;;9754:1;9746:9;;;-1:-1:-1;9752:1:0;9665:98;-1:-1:-1;9665:98:0:o;1041:179::-;1099:7;;1131:5;1135:1;1131;:5;:::i;:::-;1119:17;;1160:1;1155;:6;;1147:46;;;;-1:-1:-1;;;1147:46:0;;12911:2:1;1147:46:0;;;12893:21:1;12950:2;12930:18;;;12923:30;12989:29;12969:18;;;12962:57;13036:18;;1147:46:0;12709:351:1;1228:136:0;1286:7;1313:43;1317:1;1320;1313:43;;;;;;;;;;;;;;;;;:3;:43::i;1964:189::-;2050:7;2085:12;2078:5;2070:28;;;;-1:-1:-1;;;2070:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2109:9:0;2121:5;2125:1;2121;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:315::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:127::-;2831:10;2826:3;2822:20;2819:1;2812:31;2862:4;2859:1;2852:15;2886:4;2883:1;2876:15;2902:416;2991:1;3028:5;2991:1;3042:270;3063:7;3053:8;3050:21;3042:270;;;3122:4;3118:1;3114:6;3110:17;3104:4;3101:27;3098:53;;;3131:18;;:::i;:::-;3181:7;3171:8;3167:22;3164:55;;;3201:16;;;;3164:55;3280:22;;;;3240:15;;;;3042:270;;;3046:3;2902:416;;;;;:::o;3323:806::-;3372:5;3402:8;3392:80;;-1:-1:-1;3443:1:1;3457:5;;3392:80;3491:4;3481:76;;-1:-1:-1;3528:1:1;3542:5;;3481:76;3573:4;3591:1;3586:59;;;;3659:1;3654:130;;;;3566:218;;3586:59;3616:1;3607:10;;3630:5;;;3654:130;3691:3;3681:8;3678:17;3675:43;;;3698:18;;:::i;:::-;-1:-1:-1;;3754:1:1;3740:16;;3769:5;;3566:218;;3868:2;3858:8;3855:16;3849:3;3843:4;3840:13;3836:36;3830:2;3820:8;3817:16;3812:2;3806:4;3803:12;3799:35;3796:77;3793:159;;;-1:-1:-1;3905:19:1;;;3937:5;;3793:159;3984:34;4009:8;4003:4;3984:34;:::i;:::-;4054:6;4050:1;4046:6;4042:19;4033:7;4030:32;4027:58;;;4065:18;;:::i;:::-;4103:20;;3323:806;-1:-1:-1;;;3323:806:1:o;4134:140::-;4192:5;4221:47;4262:4;4252:8;4248:19;4242:4;4221:47;:::i;4279:168::-;4352:9;;;4383;;4400:15;;;4394:22;;4380:37;4370:71;;4421:18;;:::i;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;5165:251::-;5235:6;5288:2;5276:9;5267:7;5263:23;5259:32;5256:52;;;5304:1;5301;5294:12;5256:52;5336:9;5330:16;5355:31;5380:5;5355:31;:::i;6342:306::-;6430:6;6438;6446;6499:2;6487:9;6478:7;6474:23;6470:32;6467:52;;;6515:1;6512;6505:12;6467:52;6544:9;6538:16;6528:26;;6594:2;6583:9;6579:18;6573:25;6563:35;;6638:2;6627:9;6623:18;6617:25;6607:35;;6342:306;;;;;:::o;6932:277::-;6999:6;7052:2;7040:9;7031:7;7027:23;7023:32;7020:52;;;7068:1;7065;7058:12;7020:52;7100:9;7094:16;7153:5;7146:13;7139:21;7132:5;7129:32;7119:60;;7175:1;7172;7165:12;10078:125;10143:9;;;10164:10;;;10161:36;;;10177:18;;:::i;10563:135::-;10602:3;10623:17;;;10620:43;;10643:18;;:::i;:::-;-1:-1:-1;10690:1:1;10679:13;;10563:135::o;10703:128::-;10770:9;;;10791:11;;;10788:37;;;10805:18;;:::i;10968:127::-;11029:10;11024:3;11020:20;11017:1;11010:31;11060:4;11057:1;11050:15;11084:4;11081:1;11074:15;11100:980;11362:4;11410:3;11399:9;11395:19;11441:6;11430:9;11423:25;11467:2;11505:6;11500:2;11489:9;11485:18;11478:34;11548:3;11543:2;11532:9;11528:18;11521:31;11572:6;11607;11601:13;11638:6;11630;11623:22;11676:3;11665:9;11661:19;11654:26;;11715:2;11707:6;11703:15;11689:29;;11736:1;11746:195;11760:6;11757:1;11754:13;11746:195;;;11825:13;;-1:-1:-1;;;;;11821:39:1;11809:52;;11916:15;;;;11881:12;;;;11857:1;11775:9;11746:195;;;-1:-1:-1;;;;;;;11997:32:1;;;;11992:2;11977:18;;11970:60;-1:-1:-1;;;12061:3:1;12046:19;12039:35;11958:3;11100:980;-1:-1:-1;;;11100:980:1:o;12085:217::-;12125:1;12151;12141:132;;12195:10;12190:3;12186:20;12183:1;12176:31;12230:4;12227:1;12220:15;12258:4;12255:1;12248:15;12141:132;-1:-1:-1;12287:9:1;;12085:217::o

Swarm Source

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