ETH Price: $2,480.09 (+2.94%)
 

Overview

Max Total Supply

1,000,000,000 SHIOUN

Holders

58

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 SHIOUN

Value
$0.00
0xf2a79c9b8be3fc9c7a3a8883c82ff0a933d0cd88
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:
SHIOUN

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-29
*/

/**
░██╗░░░░░░░██╗████████╗███████╗░█████╗░
░██║░░██╗░░██║╚══██╔══╝██╔════╝██╔══██╗
░╚██╗████╗██╔╝░░░██║░░░█████╗░░╚═╝███╔╝
░░████╔═████║░░░░██║░░░██╔══╝░░░░░╚══╝░
░░╚██╔╝░╚██╔╝░░░░██║░░░██║░░░░░░░░██╗░░
░░░╚═╝░░░╚═╝░░░░░╚═╝░░░╚═╝░░░░░░░░╚═╝░░

https://t.me/shiounsdao
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;

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 SHIOUN 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 => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _buyTax = 3;
    uint256 private _sellTax = 3;

    uint256 private _preventSwapBefore = 30;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Shiba Nouns DAO";
    string private constant _symbol = unicode"SHIOUN";
    uint256 public _maxTxAmount = 30_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 30_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 6_000_000 * 10**_decimals;
    uint256 public _maxTaxSwap = 6_000_000 * 10**_decimals;

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

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event ExcludeFromFees(address account, bool isExcluded);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = 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 (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            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.");

                taxAmount = amount.mul(_buyTax).div(100);

                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_sellTax).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 excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function openTrading() external payable 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;
    }

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

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","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"}]

60806040526005805460ff1916600117905560036006819055600755601e6008556000600955620000336012600a62000324565b62000043906301c9c3806200033c565b600a556012600a62000056919062000324565b62000066906301c9c3806200033c565b600b55620000776012600a62000324565b6200008690625b8d806200033c565b600c55620000976012600a62000324565b620000a690625b8d806200033c565b600d55600f805461ffff60a81b19169055348015620000c457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b03191661010033021790556200012b6012600a62000324565b6200013b90633b9aca006200033c565b336000908152600160208190526040822092909255600390620001666000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526003909252902080549091166001179055620001ae3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001e86012600a62000324565b620001f890633b9aca006200033c565b60405190815260200160405180910390a362000356565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002665781600019048211156200024a576200024a6200020f565b808516156200025857918102915b93841c93908002906200022a565b509250929050565b6000826200027f575060016200031e565b816200028e575060006200031e565b8160018114620002a75760028114620002b257620002d2565b60019150506200031e565b60ff841115620002c657620002c66200020f565b50506001821b6200031e565b5060208310610133831016604e8410600b8410161715620002f7575081810a6200031e565b62000303838362000225565b80600019048211156200031a576200031a6200020f565b0290505b92915050565b60006200033560ff8416836200026e565b9392505050565b80820281158282048414176200031e576200031e6200020f565b6118f080620003666000396000f3fe6080604052600436106101185760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed14610318578063c02466681461032e578063c876d0b91461034e578063c9567bf914610368578063dd62ed3e1461037057600080fd5b80637d1db4a5146102755780638da5cb5b1461028b5780638f9a55c0146102b357806395d89b41146102c9578063a9059cbb146102f857600080fd5b806323b872dd116100e757806323b872dd146101d7578063313ce567146101f757806370a0823114610213578063715018a614610249578063751039fc1461026057600080fd5b806306fdde0314610124578063095ea7b31461016e5780630faee56f1461019e57806318160ddd146101c257600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600f81526e5368696261204e6f756e732044414f60881b60208201525b6040516101659190611488565b60405180910390f35b34801561017a57600080fd5b5061018e6101893660046114ee565b6103b6565b6040519015158152602001610165565b3480156101aa57600080fd5b506101b4600d5481565b604051908152602001610165565b3480156101ce57600080fd5b506101b46103cd565b3480156101e357600080fd5b5061018e6101f236600461151a565b6103ee565b34801561020357600080fd5b5060405160128152602001610165565b34801561021f57600080fd5b506101b461022e36600461155b565b6001600160a01b031660009081526001602052604090205490565b34801561025557600080fd5b5061025e610457565b005b34801561026c57600080fd5b5061025e6104d4565b34801561028157600080fd5b506101b4600a5481565b34801561029757600080fd5b506000546040516001600160a01b039091168152602001610165565b3480156102bf57600080fd5b506101b4600b5481565b3480156102d557600080fd5b5060408051808201909152600681526529a424a7aaa760d11b6020820152610158565b34801561030457600080fd5b5061018e6103133660046114ee565b610592565b34801561032457600080fd5b506101b4600c5481565b34801561033a57600080fd5b5061025e610349366004611586565b61059f565b34801561035a57600080fd5b5060055461018e9060ff1681565b61025e61062c565b34801561037c57600080fd5b506101b461038b3660046115bf565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103c33384846109e8565b5060015b92915050565b60006103db6012600a6116e7565b6103e990633b9aca006116f6565b905090565b60006103fb848484610b0c565b61044d843361044885604051806060016040528060288152602001611893602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110e3565b6109e8565b5060019392505050565b6000546001600160a01b0316331461048a5760405162461bcd60e51b81526004016104819061170d565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104fe5760405162461bcd60e51b81526004016104819061170d565b61050a6012600a6116e7565b61051890633b9aca006116f6565b600a908155610529906012906116e7565b61053790633b9aca006116f6565b600b556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105716012600a6116e7565b61057f90633b9aca006116f6565b60405190815260200160405180910390a1565b60006103c3338484610b0c565b6000546001600160a01b031633146105c95760405162461bcd60e51b81526004016104819061170d565b6001600160a01b038216600081815260036020908152604091829020805460ff19168515159081179091558251938452908301527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a15050565b6000546001600160a01b031633146106565760405162461bcd60e51b81526004016104819061170d565b600f54600160a01b900460ff16156106b05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610481565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106f99030906106eb6012600a6116e7565b61044890633b9aca006116f6565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107709190611742565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f69190611742565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610843573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108679190611742565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d71947306108af816001600160a01b031660009081526001602052604090205490565b6000806108c46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561092c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610951919061175f565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce919061178d565b50600f805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a4a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610481565b6001600160a01b038216610aab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610481565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b705760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610481565b6001600160a01b038216610bd25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610481565b60008111610c345760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610481565b6001600160a01b03831660009081526003602052604081205460ff16158015610c7657506001600160a01b03831660009081526003602052604090205460ff16155b15610fa05760055460ff1615610d6057600e546001600160a01b03848116911614801590610cb25750600f546001600160a01b03848116911614155b15610d6057326000908152600460205260409020544311610d4d5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610481565b3260009081526004602052604090204390555b600f546001600160a01b038581169116148015610d8b5750600e546001600160a01b03848116911614155b8015610db057506001600160a01b03831660009081526003602052604090205460ff16155b15610eba57600a54821115610e075760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610481565b600b5482610e2a856001600160a01b031660009081526001602052604090205490565b610e3491906117aa565b1115610e825760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610481565b610ea26064610e9c6006548561111d90919063ffffffff16565b906111a6565b600980549192506000610eb4836117bd565b91905055505b600f546001600160a01b038481169116148015610ee057506001600160a01b0384163014155b15610f0257610eff6064610e9c6007548561111d90919063ffffffff16565b90505b30600090815260016020526040902054600f54600160a81b900460ff16158015610f395750600f546001600160a01b038581169116145b8015610f4e5750600f54600160b01b900460ff165b8015610f5b5750600c5481115b8015610f6a5750600854600954115b15610f9e57610f8c610f8784610f8284600d546111e8565b6111e8565b6111fd565b478015610f9c57610f9c47611377565b505b505b801561101a5730600090815260016020526040902054610fc090826113b9565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110119085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461103d9083611418565b6001600160a01b0385166000908152600160205260409020556110826110638383611418565b6001600160a01b038516600090815260016020526040902054906113b9565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110cc8585611418565b60405190815260200160405180910390a350505050565b600081848411156111075760405162461bcd60e51b81526004016104819190611488565b50600061111484866117d6565b95945050505050565b60008260000361112f575060006103c7565b600061113b83856116f6565b90508261114885836117e9565b1461119f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610481565b9392505050565b600061119f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061145a565b60008183116111f7578261119f565b50919050565b600f805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112455761124561180b565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561129e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c29190611742565b816001815181106112d5576112d561180b565b6001600160a01b039283166020918202929092010152600e546112fb91309116846109e8565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611334908590600090869030904290600401611821565b600060405180830381600087803b15801561134e57600080fd5b505af1158015611362573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156113b5573d6000803e3d6000fd5b5050565b6000806113c683856117aa565b90508381101561119f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610481565b600061119f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110e3565b6000818361147b5760405162461bcd60e51b81526004016104819190611488565b50600061111484866117e9565b600060208083528351808285015260005b818110156114b557858101830151858201604001528201611499565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114eb57600080fd5b50565b6000806040838503121561150157600080fd5b823561150c816114d6565b946020939093013593505050565b60008060006060848603121561152f57600080fd5b833561153a816114d6565b9250602084013561154a816114d6565b929592945050506040919091013590565b60006020828403121561156d57600080fd5b813561119f816114d6565b80151581146114eb57600080fd5b6000806040838503121561159957600080fd5b82356115a4816114d6565b915060208301356115b481611578565b809150509250929050565b600080604083850312156115d257600080fd5b82356115dd816114d6565b915060208301356115b4816114d6565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561163e578160001904821115611624576116246115ed565b8085161561163157918102915b93841c9390800290611608565b509250929050565b600082611655575060016103c7565b81611662575060006103c7565b816001811461167857600281146116825761169e565b60019150506103c7565b60ff841115611693576116936115ed565b50506001821b6103c7565b5060208310610133831016604e8410600b84101617156116c1575081810a6103c7565b6116cb8383611603565b80600019048211156116df576116df6115ed565b029392505050565b600061119f60ff841683611646565b80820281158282048414176103c7576103c76115ed565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561175457600080fd5b815161119f816114d6565b60008060006060848603121561177457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561179f57600080fd5b815161119f81611578565b808201808211156103c7576103c76115ed565b6000600182016117cf576117cf6115ed565b5060010190565b818103818111156103c7576103c76115ed565b60008261180657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118715784516001600160a01b03168352938301939183019160010161184c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200c0768f3ef3b6ce99f91ae7b937587ec36f4cc9b9974429d39ee7e4807f3838364736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101185760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed14610318578063c02466681461032e578063c876d0b91461034e578063c9567bf914610368578063dd62ed3e1461037057600080fd5b80637d1db4a5146102755780638da5cb5b1461028b5780638f9a55c0146102b357806395d89b41146102c9578063a9059cbb146102f857600080fd5b806323b872dd116100e757806323b872dd146101d7578063313ce567146101f757806370a0823114610213578063715018a614610249578063751039fc1461026057600080fd5b806306fdde0314610124578063095ea7b31461016e5780630faee56f1461019e57806318160ddd146101c257600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600f81526e5368696261204e6f756e732044414f60881b60208201525b6040516101659190611488565b60405180910390f35b34801561017a57600080fd5b5061018e6101893660046114ee565b6103b6565b6040519015158152602001610165565b3480156101aa57600080fd5b506101b4600d5481565b604051908152602001610165565b3480156101ce57600080fd5b506101b46103cd565b3480156101e357600080fd5b5061018e6101f236600461151a565b6103ee565b34801561020357600080fd5b5060405160128152602001610165565b34801561021f57600080fd5b506101b461022e36600461155b565b6001600160a01b031660009081526001602052604090205490565b34801561025557600080fd5b5061025e610457565b005b34801561026c57600080fd5b5061025e6104d4565b34801561028157600080fd5b506101b4600a5481565b34801561029757600080fd5b506000546040516001600160a01b039091168152602001610165565b3480156102bf57600080fd5b506101b4600b5481565b3480156102d557600080fd5b5060408051808201909152600681526529a424a7aaa760d11b6020820152610158565b34801561030457600080fd5b5061018e6103133660046114ee565b610592565b34801561032457600080fd5b506101b4600c5481565b34801561033a57600080fd5b5061025e610349366004611586565b61059f565b34801561035a57600080fd5b5060055461018e9060ff1681565b61025e61062c565b34801561037c57600080fd5b506101b461038b3660046115bf565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103c33384846109e8565b5060015b92915050565b60006103db6012600a6116e7565b6103e990633b9aca006116f6565b905090565b60006103fb848484610b0c565b61044d843361044885604051806060016040528060288152602001611893602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110e3565b6109e8565b5060019392505050565b6000546001600160a01b0316331461048a5760405162461bcd60e51b81526004016104819061170d565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104fe5760405162461bcd60e51b81526004016104819061170d565b61050a6012600a6116e7565b61051890633b9aca006116f6565b600a908155610529906012906116e7565b61053790633b9aca006116f6565b600b556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105716012600a6116e7565b61057f90633b9aca006116f6565b60405190815260200160405180910390a1565b60006103c3338484610b0c565b6000546001600160a01b031633146105c95760405162461bcd60e51b81526004016104819061170d565b6001600160a01b038216600081815260036020908152604091829020805460ff19168515159081179091558251938452908301527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a15050565b6000546001600160a01b031633146106565760405162461bcd60e51b81526004016104819061170d565b600f54600160a01b900460ff16156106b05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610481565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106f99030906106eb6012600a6116e7565b61044890633b9aca006116f6565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107709190611742565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f69190611742565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610843573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108679190611742565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d71947306108af816001600160a01b031660009081526001602052604090205490565b6000806108c46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561092c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610951919061175f565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce919061178d565b50600f805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a4a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610481565b6001600160a01b038216610aab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610481565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b705760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610481565b6001600160a01b038216610bd25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610481565b60008111610c345760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610481565b6001600160a01b03831660009081526003602052604081205460ff16158015610c7657506001600160a01b03831660009081526003602052604090205460ff16155b15610fa05760055460ff1615610d6057600e546001600160a01b03848116911614801590610cb25750600f546001600160a01b03848116911614155b15610d6057326000908152600460205260409020544311610d4d5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610481565b3260009081526004602052604090204390555b600f546001600160a01b038581169116148015610d8b5750600e546001600160a01b03848116911614155b8015610db057506001600160a01b03831660009081526003602052604090205460ff16155b15610eba57600a54821115610e075760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610481565b600b5482610e2a856001600160a01b031660009081526001602052604090205490565b610e3491906117aa565b1115610e825760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610481565b610ea26064610e9c6006548561111d90919063ffffffff16565b906111a6565b600980549192506000610eb4836117bd565b91905055505b600f546001600160a01b038481169116148015610ee057506001600160a01b0384163014155b15610f0257610eff6064610e9c6007548561111d90919063ffffffff16565b90505b30600090815260016020526040902054600f54600160a81b900460ff16158015610f395750600f546001600160a01b038581169116145b8015610f4e5750600f54600160b01b900460ff165b8015610f5b5750600c5481115b8015610f6a5750600854600954115b15610f9e57610f8c610f8784610f8284600d546111e8565b6111e8565b6111fd565b478015610f9c57610f9c47611377565b505b505b801561101a5730600090815260016020526040902054610fc090826113b9565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110119085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461103d9083611418565b6001600160a01b0385166000908152600160205260409020556110826110638383611418565b6001600160a01b038516600090815260016020526040902054906113b9565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110cc8585611418565b60405190815260200160405180910390a350505050565b600081848411156111075760405162461bcd60e51b81526004016104819190611488565b50600061111484866117d6565b95945050505050565b60008260000361112f575060006103c7565b600061113b83856116f6565b90508261114885836117e9565b1461119f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610481565b9392505050565b600061119f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061145a565b60008183116111f7578261119f565b50919050565b600f805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112455761124561180b565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561129e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c29190611742565b816001815181106112d5576112d561180b565b6001600160a01b039283166020918202929092010152600e546112fb91309116846109e8565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611334908590600090869030904290600401611821565b600060405180830381600087803b15801561134e57600080fd5b505af1158015611362573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156113b5573d6000803e3d6000fd5b5050565b6000806113c683856117aa565b90508381101561119f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610481565b600061119f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110e3565b6000818361147b5760405162461bcd60e51b81526004016104819190611488565b50600061111484866117e9565b600060208083528351808285015260005b818110156114b557858101830151858201604001528201611499565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114eb57600080fd5b50565b6000806040838503121561150157600080fd5b823561150c816114d6565b946020939093013593505050565b60008060006060848603121561152f57600080fd5b833561153a816114d6565b9250602084013561154a816114d6565b929592945050506040919091013590565b60006020828403121561156d57600080fd5b813561119f816114d6565b80151581146114eb57600080fd5b6000806040838503121561159957600080fd5b82356115a4816114d6565b915060208301356115b481611578565b809150509250929050565b600080604083850312156115d257600080fd5b82356115dd816114d6565b915060208301356115b4816114d6565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561163e578160001904821115611624576116246115ed565b8085161561163157918102915b93841c9390800290611608565b509250929050565b600082611655575060016103c7565b81611662575060006103c7565b816001811461167857600281146116825761169e565b60019150506103c7565b60ff841115611693576116936115ed565b50506001821b6103c7565b5060208310610133831016604e8410600b84101617156116c1575081810a6103c7565b6116cb8383611603565b80600019048211156116df576116df6115ed565b029392505050565b600061119f60ff841683611646565b80820281158282048414176103c7576103c76115ed565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561175457600080fd5b815161119f816114d6565b60008060006060848603121561177457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561179f57600080fd5b815161119f81611578565b808201808211156103c7576103c76115ed565b6000600182016117cf576117cf6115ed565b5060010190565b818103818111156103c7576103c76115ed565b60008261180657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118715784516001600160a01b03168352938301939183019160010161184c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200c0768f3ef3b6ce99f91ae7b937587ec36f4cc9b9974429d39ee7e4807f3838364736f6c63430008110033

Deployed Bytecode Sourcemap

4223:7596:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5980:83;;;;;;;;;;-1:-1:-1;6050:5:0;;;;;;;;;;;;-1:-1:-1;;;6050:5:0;;;;5980:83;;;;;;;:::i;:::-;;;;;;;;6813:161;;;;;;;;;;-1:-1:-1;6813:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6813:161:0;1023:187:1;5239:54:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5239:54:0;1215:177:1;6257:95:0;;;;;;;;;;;;;:::i;6982:313::-;;;;;;;;;;-1:-1:-1;6982:313:0;;;;;:::i;:::-;;:::i;6166:83::-;;;;;;;;;;-1:-1:-1;6166:83:0;;4845:2;2000:36:1;;1988:2;1973:18;6166:83:0;1858:184:1;6360:119:0;;;;;;;;;;-1:-1:-1;6360:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6453:18:0;6426:7;6453:18;;;:9;:18;;;;;;;6360:119;3304:148;;;;;;;;;;;;;:::i;:::-;;10598:201;;;;;;;;;;;;;:::i;5044:56::-;;;;;;;;;;;;;;;;3090:79;;;;;;;;;;-1:-1:-1;3128:7:0;3155:6;3090:79;;-1:-1:-1;;;;;3155:6:0;;;2445:51:1;;2433:2;2418:18;3090:79:0;2299:203:1;5107:58:0;;;;;;;;;;;;;;;;6071:87;;;;;;;;;;-1:-1:-1;6143:7:0;;;;;;;;;;;;-1:-1:-1;;;6143:7:0;;;;6071:87;;6487:167;;;;;;;;;;-1:-1:-1;6487:167:0;;;;;:::i;:::-;;:::i;5172:60::-;;;;;;;;;;;;;;;;10807:181;;;;;;;;;;-1:-1:-1;10807:181:0;;;;;:::i;:::-;;:::i;4566:39::-;;;;;;;;;;-1:-1:-1;4566:39:0;;;;;;;;10996:683;;;:::i;6662:143::-;;;;;;;;;;-1:-1:-1;6662:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6770:18:0;;;6743:7;6770:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6662:143;6813:161;6888:4;6905:39;925:10;6928:7;6937:6;6905:8;:39::i;:::-;-1:-1:-1;6962:4:0;6813:161;;;;;:::o;6257:95::-;6310:7;4905:13;4845:2;4905;:13;:::i;:::-;4889:29;;:13;:29;:::i;:::-;6330:14;;6257:95;:::o;6982:313::-;7080:4;7097:36;7107:6;7115:9;7126:6;7097:9;:36::i;:::-;7144:121;7153:6;925:10;7175:89;7213:6;7175:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7175:19:0;;;;;;:11;:19;;;;;;;;925:10;7175:33;;;;;;;;;;:37;:89::i;:::-;7144:8;:121::i;:::-;-1:-1:-1;7283:4:0;6982:313;;;;;:::o;3304:148::-;3217:6;;-1:-1:-1;;;;;3217:6:0;925:10;3217:22;3209:67;;;;-1:-1:-1;;;3209:67:0;;;;;;;:::i;:::-;;;;;;;;;3411:1:::1;3395:6:::0;;3374:40:::1;::::0;-1:-1:-1;;;;;3395:6:0;;::::1;::::0;3374:40:::1;::::0;3411:1;;3374:40:::1;3442:1;3425:19:::0;;-1:-1:-1;;;;;;3425:19:0::1;::::0;;3304:148::o;10598:201::-;3217:6;;-1:-1:-1;;;;;3217:6:0;925:10;3217:22;3209:67;;;;-1:-1:-1;;;3209:67:0;;;;;;;:::i;:::-;4905:13:::1;4845:2;4905;:13;:::i;:::-;4889:29;::::0;:13:::1;:29;:::i;:::-;10652:12;:22:::0;;;4905:13:::1;::::0;4845:2:::1;::::0;4905:13:::1;:::i;:::-;4889:29;::::0;:13:::1;:29;:::i;:::-;10685:14;:24:::0;10720:20:::1;:28:::0;;-1:-1:-1;;10720:28:0::1;::::0;;10764:27:::1;4905:13;4845:2;4905;:13;:::i;:::-;4889:29;::::0;:13:::1;:29;:::i;:::-;10764:27;::::0;1361:25:1;;;1349:2;1334:18;10764:27:0::1;;;;;;;10598:201::o:0;6487:167::-;6565:4;6582:42;925:10;6606:9;6617:6;6582:9;:42::i;10807:181::-;3217:6;;-1:-1:-1;;;;;3217:6:0;925:10;3217:22;3209:67;;;;-1:-1:-1;;;3209:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10892:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;;:38;;-1:-1:-1;;10892:38:0::1;::::0;::::1;;::::0;;::::1;::::0;;;10946:34;;5627:51:1;;;5694:18;;;5687:50;10946:34:0::1;::::0;5600:18:1;10946:34:0::1;;;;;;;10807:181:::0;;:::o;10996:683::-;3217:6;;-1:-1:-1;;;;;3217:6:0;925:10;3217:22;3209:67;;;;-1:-1:-1;;;3209:67:0;;;;;;;:::i;:::-;11066:11:::1;::::0;-1:-1:-1;;;11066:11:0;::::1;;;11065:12;11057:48;;;::::0;-1:-1:-1;;;11057:48:0;;5950:2:1;11057:48:0::1;::::0;::::1;5932:21:1::0;5989:2;5969:18;;;5962:30;6028:25;6008:18;;;6001:53;6071:18;;11057:48:0::1;5748:347:1::0;11057:48:0::1;11116:15;:80:::0;;-1:-1:-1;;;;;;11116:80:0::1;11153:42;11116:80:::0;;::::1;::::0;;;11207:58:::1;::::0;11224:4:::1;::::0;4905:13:::1;4845:2;4905;:13;:::i;:::-;4889:29;::::0;:13:::1;:29;:::i;11207:58::-;11310:15;;;;;;;;;-1:-1:-1::0;;;;;11310:15:0::1;-1:-1:-1::0;;;;;11310:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11292:55:0::1;;11356:4;11363:15;;;;;;;;;-1:-1:-1::0;;;;;11363:15:0::1;-1:-1:-1::0;;;;;11363:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11292:94;::::0;-1:-1:-1;;;;;;11292:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6586:15:1;;;11292:94:0::1;::::0;::::1;6568:34:1::0;6638:15;;6618:18;;;6611:43;6503:18;;11292:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11276:13;:110:::0;;-1:-1:-1;;;;;11276:110:0;;::::1;-1:-1:-1::0;;;;;;11276:110:0;;::::1;;::::0;;11397:15:::1;::::0;::::1;:31;11436:21;11467:4;11474:24;11467:4:::0;-1:-1:-1;;;;;6453:18:0;6426:7;6453:18;;;:9;:18;;;;;;;6360:119;11474:24:::1;11500:1;11503::::0;11506:7:::1;3128::::0;3155:6;-1:-1:-1;;;;;3155:6:0;;3090:79;11506:7:::1;11397:134;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11397:134:0;;;-1:-1:-1;;;;;7024:15:1;;;11397:134:0::1;::::0;::::1;7006:34:1::0;7056:18;;;7049:34;;;;7099:18;;;7092:34;;;;7142:18;;;7135:34;7206:15;;;7185:19;;;7178:44;11515:15:0::1;7238:19:1::0;;;7231:35;6940:19;;11397:134:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11549:13:0::1;::::0;11580:15:::1;::::0;11542:71:::1;::::0;-1:-1:-1;;;11542:71:0;;-1:-1:-1;;;;;11580:15:0;;::::1;11542:71;::::0;::::1;7762:51:1::0;-1:-1:-1;;7829:18:1;;;7822:34;11549:13:0;::::1;::::0;-1:-1:-1;11542:29:0::1;::::0;7735:18:1;;11542:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11624:11:0::1;:18:::0;;-1:-1:-1;;;;11653:18:0;-1:-1:-1;;;11653:18:0;;;10996:683::o;7303:335::-;-1:-1:-1;;;;;7396:19:0;;7388:68;;;;-1:-1:-1;;;7388:68:0;;8319:2:1;7388:68:0;;;8301:21:1;8358:2;8338:18;;;8331:30;8397:34;8377:18;;;8370:62;-1:-1:-1;;;8448:18:1;;;8441:34;8492:19;;7388:68:0;8117:400:1;7388:68:0;-1:-1:-1;;;;;7475:21:0;;7467:68;;;;-1:-1:-1;;;7467:68:0;;8724:2:1;7467:68:0;;;8706:21:1;8763:2;8743:18;;;8736:30;8802:34;8782:18;;;8775:62;-1:-1:-1;;;8853:18:1;;;8846:32;8895:19;;7467:68:0;8522:398:1;7467:68:0;-1:-1:-1;;;;;7546:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7598:32;;1361:25:1;;;7598:32:0;;1334:18:1;7598:32:0;;;;;;;7303:335;;;:::o;7646:2341::-;-1:-1:-1;;;;;7734:18:0;;7726:68;;;;-1:-1:-1;;;7726:68:0;;9127:2:1;7726:68:0;;;9109:21:1;9166:2;9146:18;;;9139:30;9205:34;9185:18;;;9178:62;-1:-1:-1;;;9256:18:1;;;9249:35;9301:19;;7726:68:0;8925:401:1;7726:68:0;-1:-1:-1;;;;;7813:16:0;;7805:64;;;;-1:-1:-1;;;7805:64:0;;9533:2:1;7805:64:0;;;9515:21:1;9572:2;9552:18;;;9545:30;9611:34;9591:18;;;9584:62;-1:-1:-1;;;9662:18:1;;;9655:33;9705:19;;7805:64:0;9331:399:1;7805:64:0;7897:1;7888:6;:10;7880:64;;;;-1:-1:-1;;;7880:64:0;;9937:2:1;7880:64:0;;;9919:21:1;9976:2;9956:18;;;9949:30;10015:34;9995:18;;;9988:62;-1:-1:-1;;;10066:18:1;;;10059:39;10115:19;;7880:64:0;9735:405:1;7880:64:0;-1:-1:-1;;;;;7990:24:0;;7955:17;7990:24;;;:18;:24;;;;;;;;7989:25;:52;;;;-1:-1:-1;;;;;;8019:22:0;;;;;;:18;:22;;;;;;;;8018:23;7989:52;7985:1635;;;8062:20;;;;8058:508;;;8123:15;;-1:-1:-1;;;;;8109:30:0;;;8123:15;;8109:30;;;;:62;;-1:-1:-1;8157:13:0;;-1:-1:-1;;;;;8143:28:0;;;8157:13;;8143:28;;8109:62;8105:444;;;8263:9;8234:39;;;;:28;:39;;;;;;8307:12;-1:-1:-1;8198:250:0;;;;-1:-1:-1;;;8198:250:0;;10347:2:1;8198:250:0;;;10329:21:1;10386:2;10366:18;;;10359:30;10425:34;10405:18;;;10398:62;10496:34;10476:18;;;10469:62;-1:-1:-1;;;10547:19:1;;;10540:40;10597:19;;8198:250:0;10145:477:1;8198:250:0;8502:9;8473:39;;;;:28;:39;;;;;8515:12;8473:54;;8105:444;8594:13;;-1:-1:-1;;;;;8586:21:0;;;8594:13;;8586:21;:55;;;;-1:-1:-1;8625:15:0;;-1:-1:-1;;;;;8611:30:0;;;8625:15;;8611:30;;8586:55;:83;;;;-1:-1:-1;;;;;;8647:22:0;;;;;;:18;:22;;;;;;;;8645:24;8586:83;8582:376;;;8709:12;;8699:6;:22;;8691:60;;;;-1:-1:-1;;;8691:60:0;;10829:2:1;8691:60:0;;;10811:21:1;10868:2;10848:18;;;10841:30;10907:27;10887:18;;;10880:55;10952:18;;8691:60:0;10627:349:1;8691:60:0;8804:14;;8794:6;8778:13;8788:2;-1:-1:-1;;;;;6453:18:0;6426:7;6453:18;;;:9;:18;;;;;;;6360:119;8778:13;:22;;;;:::i;:::-;:40;;8770:79;;;;-1:-1:-1;;;8770:79:0;;11313:2:1;8770:79:0;;;11295:21:1;11352:2;11332:18;;;11325:30;11391:28;11371:18;;;11364:56;11437:18;;8770:79:0;11111:350:1;8770:79:0;8882:28;8906:3;8882:19;8893:7;;8882:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;8931:9;:11;;8870:40;;-1:-1:-1;8931:9:0;:11;;;:::i;:::-;;;;;;8582:376;8983:13;;-1:-1:-1;;;;;8977:19:0;;;8983:13;;8977:19;:43;;;;-1:-1:-1;;;;;;9000:20:0;;9015:4;9000:20;;8977:43;8974:124;;;9053:29;9078:3;9053:20;9064:8;;9053:6;:10;;:20;;;;:::i;:29::-;9041:41;;8974:124;9163:4;9114:28;6453:18;;;:9;:18;;;;;;9189:6;;-1:-1:-1;;;9189:6:0;;;;9188:7;:30;;;;-1:-1:-1;9205:13:0;;-1:-1:-1;;;;;9199:19:0;;;9205:13;;9199:19;9188:30;:45;;;;-1:-1:-1;9222:11:0;;-1:-1:-1;;;9222:11:0;;;;9188:45;:89;;;;;9260:17;;9237:20;:40;9188:89;:123;;;;;9293:18;;9281:9;;:30;9188:123;9184:425;;;9332:69;9349:51;9353:6;9361:38;9365:20;9387:11;;9361:3;:38::i;:::-;9349:3;:51::i;:::-;9332:16;:69::i;:::-;9449:21;9492:22;;9489:105;;9539:35;9552:21;9539:12;:35::i;:::-;9313:296;9184:425;8043:1577;7985:1635;9635:13;;9632:166;;9707:4;9689:24;;;;:9;:24;;;;;;:39;;9718:9;9689:28;:39::i;:::-;9680:4;9662:24;;;;:9;:24;;;;;;;:66;;;;9746:40;;-1:-1:-1;;;;;9746:40:0;;;;;;;9776:9;1361:25:1;;1349:2;1334:18;;1215:177;9746:40:0;;;;;;;;9632:166;-1:-1:-1;;;;;9828:15:0;;;;;;:9;:15;;;;;;:27;;9848:6;9828:19;:27::i;:::-;-1:-1:-1;;;;;9810:15:0;;;;;;:9;:15;;;;;:45;9882:40;9900:21;:6;9911:9;9900:10;:21::i;:::-;-1:-1:-1;;;;;9882:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9866:13:0;;;;;;;:9;:13;;;;;:56;;;;9938:41;;;9957:21;:6;9968:9;9957:10;:21::i;:::-;9938:41;;1361:25:1;;;1349:2;1334:18;9938:41:0;;;;;;;7715:2272;7646:2341;;;:::o;1982:190::-;2068:7;2104:12;2096:6;;;;2088:29;;;;-1:-1:-1;;;2088:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2128:9:0;2140:5;2144:1;2140;:5;:::i;:::-;2128:17;1982:190;-1:-1:-1;;;;;1982:190:0:o;2180:246::-;2238:7;2262:1;2267;2262:6;2258:47;;-1:-1:-1;2292:1:0;2285:8;;2258:47;2315:9;2327:5;2331:1;2327;:5;:::i;:::-;2315:17;-1:-1:-1;2360:1:0;2351:5;2355:1;2315:17;2351:5;:::i;:::-;:10;2343:56;;;;-1:-1:-1;;;2343:56:0;;12163:2:1;2343:56:0;;;12145:21:1;12202:2;12182:18;;;12175:30;12241:34;12221:18;;;12214:62;-1:-1:-1;;;12292:18:1;;;12285:31;12333:19;;2343:56:0;11961:397:1;2343:56:0;2417:1;2180:246;-1:-1:-1;;;2180:246:0:o;2434:132::-;2492:7;2519:39;2523:1;2526;2519:39;;;;;;;;;;;;;;;;;:3;:39::i;9995:104::-;10052:7;10081:1;10077;:5;10076:15;;10090:1;10076:15;;;-1:-1:-1;10086:1:0;9995:104;-1:-1:-1;9995:104:0:o;10107:483::-;5637:6;:13;;-1:-1:-1;;;;5637:13:0;-1:-1:-1;;;5637:13:0;;;10209:16:::1;::::0;;10223:1:::1;10209:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10209:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10209:16:0::1;10185:40;;10254:4;10236;10241:1;10236:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10236:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10280:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10280:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10236:7;;10280:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10270:4;10275:1;10270:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10270:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10345:15:::1;::::0;10313:62:::1;::::0;10330:4:::1;::::0;10345:15:::1;10363:11:::0;10313:8:::1;:62::i;:::-;10386:15;::::0;:196:::1;::::0;-1:-1:-1;;;10386:196:0;;-1:-1:-1;;;;;10386:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10467:11;;10386:15:::1;::::0;10509:4;;10536::::1;::::0;10556:15:::1;::::0;10386:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5673:6:0;:14;;-1:-1:-1;;;;5673:14:0;;;-1:-1:-1;;;;10107:483:0:o;11687:92::-;11744:10;;:27;;:10;;;;-1:-1:-1;;;;;11744:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;11687:92;:::o;1651:179::-;1709:7;;1741:5;1745:1;1741;:5;:::i;:::-;1729:17;;1770:1;1765;:6;;1757:46;;;;-1:-1:-1;;;1757:46:0;;13814:2:1;1757:46:0;;;13796:21:1;13853:2;13833:18;;;13826:30;13892:29;13872:18;;;13865:57;13939:18;;1757:46:0;13612:351:1;1838:136:0;1896:7;1923:43;1927:1;1930;1923:43;;;;;;;;;;;;;;;;;:3;:43::i;2574:189::-;2660:7;2695:12;2688:5;2680:28;;;;-1:-1:-1;;;2680:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2719:9:0;2731:5;2735:1;2731;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;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;2507:118::-;2593:5;2586:13;2579:21;2572:5;2569:32;2559:60;;2615:1;2612;2605:12;2630:382;2695:6;2703;2756:2;2744:9;2735:7;2731:23;2727:32;2724:52;;;2772:1;2769;2762:12;2724:52;2811:9;2798:23;2830:31;2855:5;2830:31;:::i;:::-;2880:5;-1:-1:-1;2937:2:1;2922:18;;2909:32;2950:30;2909:32;2950:30;:::i;:::-;2999:7;2989:17;;;2630:382;;;;;:::o;3017:388::-;3085:6;3093;3146:2;3134:9;3125:7;3121:23;3117:32;3114:52;;;3162:1;3159;3152:12;3114:52;3201:9;3188:23;3220:31;3245:5;3220:31;:::i;:::-;3270:5;-1:-1:-1;3327:2:1;3312:18;;3299:32;3340:33;3299:32;3340:33;:::i;3410:127::-;3471:10;3466:3;3462:20;3459:1;3452:31;3502:4;3499:1;3492:15;3526:4;3523:1;3516:15;3542:422;3631:1;3674:5;3631:1;3688:270;3709:7;3699:8;3696:21;3688:270;;;3768:4;3764:1;3760:6;3756:17;3750:4;3747:27;3744:53;;;3777:18;;:::i;:::-;3827:7;3817:8;3813:22;3810:55;;;3847:16;;;;3810:55;3926:22;;;;3886:15;;;;3688:270;;;3692:3;3542:422;;;;;:::o;3969:806::-;4018:5;4048:8;4038:80;;-1:-1:-1;4089:1:1;4103:5;;4038:80;4137:4;4127:76;;-1:-1:-1;4174:1:1;4188:5;;4127:76;4219:4;4237:1;4232:59;;;;4305:1;4300:130;;;;4212:218;;4232:59;4262:1;4253:10;;4276:5;;;4300:130;4337:3;4327:8;4324:17;4321:43;;;4344:18;;:::i;:::-;-1:-1:-1;;4400:1:1;4386:16;;4415:5;;4212:218;;4514:2;4504:8;4501:16;4495:3;4489:4;4486:13;4482:36;4476:2;4466:8;4463:16;4458:2;4452:4;4449:12;4445:35;4442:77;4439:159;;;-1:-1:-1;4551:19:1;;;4583:5;;4439:159;4630:34;4655:8;4649:4;4630:34;:::i;:::-;4700:6;4696:1;4692:6;4688:19;4679:7;4676:32;4673:58;;;4711:18;;:::i;:::-;4749:20;;3969:806;-1:-1:-1;;;3969:806:1:o;4780:140::-;4838:5;4867:47;4908:4;4898:8;4894:19;4888:4;4867:47;:::i;4925:168::-;4998:9;;;5029;;5046:15;;;5040:22;;5026:37;5016:71;;5067:18;;:::i;5098:356::-;5300:2;5282:21;;;5319:18;;;5312:30;5378:34;5373:2;5358:18;;5351:62;5445:2;5430:18;;5098:356::o;6100:251::-;6170:6;6223:2;6211:9;6202:7;6198:23;6194:32;6191:52;;;6239:1;6236;6229:12;6191:52;6271:9;6265:16;6290:31;6315:5;6290:31;:::i;7277:306::-;7365:6;7373;7381;7434:2;7422:9;7413:7;7409:23;7405:32;7402:52;;;7450:1;7447;7440:12;7402:52;7479:9;7473:16;7463:26;;7529:2;7518:9;7514:18;7508:25;7498:35;;7573:2;7562:9;7558:18;7552:25;7542:35;;7277:306;;;;;:::o;7867:245::-;7934:6;7987:2;7975:9;7966:7;7962:23;7958:32;7955:52;;;8003:1;8000;7993:12;7955:52;8035:9;8029:16;8054:28;8076:5;8054:28;:::i;10981:125::-;11046:9;;;11067:10;;;11064:36;;;11080:18;;:::i;11466:135::-;11505:3;11526:17;;;11523:43;;11546:18;;:::i;:::-;-1:-1:-1;11593:1:1;11582:13;;11466:135::o;11606:128::-;11673:9;;;11694:11;;;11691:37;;;11708:18;;:::i;11739:217::-;11779:1;11805;11795:132;;11849:10;11844:3;11840:20;11837:1;11830:31;11884:4;11881:1;11874:15;11912:4;11909:1;11902:15;11795:132;-1:-1:-1;11941:9:1;;11739:217::o;12495:127::-;12556:10;12551:3;12547:20;12544:1;12537:31;12587:4;12584:1;12577:15;12611:4;12608:1;12601:15;12627:980;12889:4;12937:3;12926:9;12922:19;12968:6;12957:9;12950:25;12994:2;13032:6;13027:2;13016:9;13012:18;13005:34;13075:3;13070:2;13059:9;13055:18;13048:31;13099:6;13134;13128:13;13165:6;13157;13150:22;13203:3;13192:9;13188:19;13181:26;;13242:2;13234:6;13230:15;13216:29;;13263:1;13273:195;13287:6;13284:1;13281:13;13273:195;;;13352:13;;-1:-1:-1;;;;;13348:39:1;13336:52;;13443:15;;;;13408:12;;;;13384:1;13302:9;13273:195;;;-1:-1:-1;;;;;;;13524:32:1;;;;13519:2;13504:18;;13497:60;-1:-1:-1;;;13588:3:1;13573:19;13566:35;13485:3;12627:980;-1:-1:-1;;;12627:980:1:o

Swarm Source

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