ETH Price: $3,454.28 (-0.73%)
Gas: 4 Gwei

Token

Yapper Boy's Club (YAP)
 

Overview

Max Total Supply

1,000,000,000 YAP

Holders

115

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,844,256.079133259 YAP

Value
$0.00
0xb2b533fb11ea756e9ab83953524bd6092fa4d620
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:
YAP

Compiler Version
v0.8.10+commit.fc410830

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

/**

Yap is Brett's annoying favorite little cousin who is fluent in Yapanese! 
You can learn more about how Yap token came to be in the comic below! Additionally, here is what Yap has to say:
"Hi! I'm Yap! I'm 8 years old and I love playing video games and riding my scooter. My cousin Brett and I teamed up to ...

Website:  https://www.yapperclub.vip
Telegram: https://t.me/yapperclub
Twitter:  https://x.com/yapperclub

**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

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

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

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

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

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

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

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

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

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

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

contract YAP is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private bots;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 9;
    uint256 private _reduceSellTaxAt = 9;
    uint256 private _preventSwapBefore = 9;
    uint256 private _buyCount = 0;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Yapper Boy's Club";
    string private constant _symbol = unicode"YAP";
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 150 * 10 ** _decimals;
    uint256 public _maxWalletAmount = 900000000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

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

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

    function creatPair() external onlyOwner {
        require(!tradingOpen, "trading is already open");

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _approve(address(this), address(uniswapV2Router), _tTotal);

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }

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

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
        for (uint i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
    }

    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    function _takeTransfer(
        address from,
        address to,
        uint256 amount,
        uint256 taxAmount
    ) internal {
        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 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 enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            _maxWalletAmount,
            0,
            0,
            owner(),
            block.timestamp
        );

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    function internTransfer(
        address from,
        address to,
        uint256 amount,
        uint256 taxAmount
    ) internal {
        _balances[from] = _balances[from].sub(taxAmount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from] - amount;
            _balances[to] = _balances[to] + amount;
            emit Transfer(from, to, amount);
            return;
        }

        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

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

                if (firstBlock + 3 > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && !_isExcludedFromFees[to]) {
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
            }

            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 &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFees[from] &&
                !_isExcludedFromFees[to]
            ) {
                if(contractTokenBalance >= _taxSwapThreshold) {
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool isFeesOf = true;
        if (_isExcludedFromFees[from]) {
            taxAmount = 0; isFeesOf = false; 
        }

        if (!isFeesOf) {
            internTransfer(from, to, amount, taxAmount);
        } else {
            _takeTransfer(from, to, amount, taxAmount);
        }
    }

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

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

    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":"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":"_maxWalletAmount","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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","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":"creatPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526014600755601460085560006009556000600a556009600b556009600c556009600d556000600e556009600a6200003c91906200035d565b6200004c906301312d0062000375565b6011556200005d6009600a6200035d565b6200006a90609662000375565b6012556200007b6009600a6200035d565b6200008b906335a4e90062000375565b6013556200009c6009600a6200035d565b620000ab906298968062000375565b601455620000bc6009600a6200035d565b620000cc906301312d0062000375565b6015556016805462ffff0019169055348015620000e857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673c78e786c9e9ff823daefa5e60622069d9faabb9f179055600160036000620001696000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001ce6009600a6200035d565b620001de90633b9aca0062000375565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002216009600a6200035d565b6200023190633b9aca0062000375565b60405190815260200160405180910390a362000397565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200029f57816000190482111562000283576200028362000248565b808516156200029157918102915b93841c939080029062000263565b509250929050565b600082620002b85750600162000357565b81620002c75750600062000357565b8160018114620002e05760028114620002eb576200030b565b600191505062000357565b60ff841115620002ff57620002ff62000248565b50506001821b62000357565b5060208310610133831016604e8410600b841016171562000330575081810a62000357565b6200033c83836200025e565b806000190482111562000353576200035362000248565b0290505b92915050565b60006200036e60ff841683620002a7565b9392505050565b600081600019048311821515161562000392576200039262000248565b500290565b611cf480620003a76000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b4114610370578063a9059cbb1461039c578063bf474bed146103bc578063d34628cc146103d2578063dd62ed3e146103f2578063eaecd70a1461043857600080fd5b8063751039fc146102f25780637d1db4a5146103075780638a8c523c1461031d5780638da5cb5b146103325780638f9a55c01461035a57600080fd5b8063313ce567116100fd578063313ce5671461021a57806331c2d847146102365780633bbac579146102585780636c0a24eb1461029157806370a08231146102a7578063715018a6146102dd57600080fd5b806306fdde0314610145578063095ea7b3146101915780630faee56f146101c157806318160ddd146101e557806323b872dd146101fa57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260118152702cb0b83832b9102137bc93b99021b63ab160791b60208201525b60405161018891906117be565b60405180910390f35b34801561019d57600080fd5b506101b16101ac36600461183b565b61044d565b6040519015158152602001610188565b3480156101cd57600080fd5b506101d760145481565b604051908152602001610188565b3480156101f157600080fd5b506101d7610464565b34801561020657600080fd5b506101b1610215366004611867565b610485565b34801561022657600080fd5b5060405160098152602001610188565b34801561024257600080fd5b506102566102513660046118be565b6104ee565b005b34801561026457600080fd5b506101b1610273366004611983565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029d57600080fd5b506101d760135481565b3480156102b357600080fd5b506101d76102c2366004611983565b6001600160a01b031660009081526001602052604090205490565b3480156102e957600080fd5b5061025661058d565b3480156102fe57600080fd5b50610256610601565b34801561031357600080fd5b506101d760115481565b34801561032957600080fd5b506102566106b3565b34801561033e57600080fd5b506000546040516001600160a01b039091168152602001610188565b34801561036657600080fd5b506101d760155481565b34801561037c57600080fd5b5060408051808201909152600381526205941560ec1b602082015261017b565b3480156103a857600080fd5b506101b16103b736600461183b565b61087d565b3480156103c857600080fd5b506101d760125481565b3480156103de57600080fd5b506102566103ed3660046118be565b61088a565b3480156103fe57600080fd5b506101d761040d3660046119a0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561044457600080fd5b5061025661091c565b600061045a338484610b6c565b5060015b92915050565b60006104726009600a611ad3565b61048090633b9aca00611ae2565b905090565b6000610492848484610c91565b6104e484336104df85604051806060016040528060288152602001611c97602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112c4565b610b6c565b5060019392505050565b6000546001600160a01b031633146105215760405162461bcd60e51b815260040161051890611b01565b60405180910390fd5b60005b81518110156105895760006004600084848151811061054557610545611b36565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061058181611b4c565b915050610524565b5050565b6000546001600160a01b031633146105b75760405162461bcd60e51b815260040161051890611b01565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461062b5760405162461bcd60e51b815260040161051890611b01565b6106376009600a611ad3565b61064590633b9aca00611ae2565b6011556106546009600a611ad3565b61066290633b9aca00611ae2565b6015557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106926009600a611ad3565b6106a090633b9aca00611ae2565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106dd5760405162461bcd60e51b815260040161051890611b01565b60165460ff161561072a5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610518565b600f546013546001600160a01b039091169063f305d719904790309060008061075b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107e89190611b67565b5050601054600f5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190611b95565b506016805462ff00ff19166201000117905543600655565b600061045a338484610c91565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260040161051890611b01565b60005b8151811015610589576001600460008484815181106108d8576108d8611b36565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091481611b4c565b9150506108b7565b6000546001600160a01b031633146109465760405162461bcd60e51b815260040161051890611b01565b60165460ff16156109935760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610518565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109dc9030906109ce6009600a611ad3565b6104df90633b9aca00611ae2565b600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a539190611bb7565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad99190611bb7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190611bb7565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bce5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610518565b6001600160a01b038216610c2f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610518565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cf55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610518565b6001600160a01b038216610d575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610518565b60008111610db95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610518565b60165462010000900460ff161580610dd85750601654610100900460ff165b15610e85576001600160a01b038316600090815260016020526040902054610e01908290611bd4565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610e31908290611beb565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c849085815260200190565b600080546001600160a01b03858116911614801590610eb257506000546001600160a01b03848116911614155b15611270576001600160a01b03841660009081526004602052604090205460ff16158015610ef957506001600160a01b03831660009081526004602052604090205460ff16155b610f0257600080fd5b610f2e6064610f28600b54600e5411610f1d57600754610f21565b6009545b85906112fe565b90611384565b6010549091506001600160a01b038581169116148015610f5c5750600f546001600160a01b03848116911614155b8015610f8157506001600160a01b03831660009081526003602052604090205460ff16155b1561108b57601154821115610fd85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610518565b60155482610ffb856001600160a01b031660009081526001602052604090205490565b6110059190611beb565b11156110535760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610518565b4360065460036110639190611beb565b111561107557823b1561107557600080fd5b600e805490600061108583611b4c565b91905055505b6010546001600160a01b038481169116148015906110c257506001600160a01b03831660009081526003602052604090205460ff16155b1561114257601554826110ea856001600160a01b031660009081526001602052604090205490565b6110f49190611beb565b11156111425760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610518565b6010546001600160a01b03848116911614801561116857506001600160a01b0384163014155b15611195576111926064610f28600c54600e541161118857600854610f21565b600a5485906112fe565b90505b30600090815260016020526040902054601654610100900460ff161580156111ca57506010546001600160a01b038581169116145b80156111de575060165462010000900460ff165b80156111ed5750600d54600e54115b801561121257506001600160a01b03851660009081526003602052604090205460ff16155b801561123757506001600160a01b03841660009081526003602052604090205460ff16155b1561126e5760125481106112625761126261125d84611258846014546113c6565b6113c6565b6113db565b4761126c4761154f565b505b505b6001600160a01b03841660009081526003602052604090205460019060ff161561129b575060009050805b806112b1576112ac85858585611589565b6112bd565b6112bd85858585611652565b5050505050565b600081848411156112e85760405162461bcd60e51b815260040161051891906117be565b5060006112f58486611bd4565b95945050505050565b60008261130d5750600061045e565b60006113198385611ae2565b9050826113268583611c03565b1461137d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610518565b9392505050565b600061137d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ef565b60008183116113d5578261137d565b50919050565b6016805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061141f5761141f611b36565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190611bb7565b816001815181106114af576114af611b36565b6001600160a01b039283166020918202929092010152600f546114d59130911684610b6c565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061150e908590600090869030904290600401611c25565b600060405180830381600087803b15801561152857600080fd5b505af115801561153c573d6000803e3d6000fd5b50506016805461ff001916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610589573d6000803e3d6000fd5b6001600160a01b0384166000908152600160205260409020546115ac908261171d565b6001600160a01b0385166000908152600160205260409020556115f16115d2838361171d565b6001600160a01b0385166000908152600160205260409020549061175f565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61163b858561171d565b60405190815260200160405180910390a350505050565b80156116cc5730600090815260016020526040902054611672908261175f565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116c39085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546115ac908361171d565b600081836117105760405162461bcd60e51b815260040161051891906117be565b5060006112f58486611c03565b600061137d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c4565b60008061176c8385611beb565b90508381101561137d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610518565b600060208083528351808285015260005b818110156117eb578581018301518582016040015282016117cf565b818111156117fd576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461182857600080fd5b50565b803561183681611813565b919050565b6000806040838503121561184e57600080fd5b823561185981611813565b946020939093013593505050565b60008060006060848603121561187c57600080fd5b833561188781611813565b9250602084013561189781611813565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118d157600080fd5b823567ffffffffffffffff808211156118e957600080fd5b818501915085601f8301126118fd57600080fd5b81358181111561190f5761190f6118a8565b8060051b604051601f19603f83011681018181108582111715611934576119346118a8565b60405291825284820192508381018501918883111561195257600080fd5b938501935b82851015611977576119688561182b565b84529385019392850192611957565b98975050505050505050565b60006020828403121561199557600080fd5b813561137d81611813565b600080604083850312156119b357600080fd5b82356119be81611813565b915060208301356119ce81611813565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a2a578160001904821115611a1057611a106119d9565b80851615611a1d57918102915b93841c93908002906119f4565b509250929050565b600082611a415750600161045e565b81611a4e5750600061045e565b8160018114611a645760028114611a6e57611a8a565b600191505061045e565b60ff841115611a7f57611a7f6119d9565b50506001821b61045e565b5060208310610133831016604e8410600b8410161715611aad575081810a61045e565b611ab783836119ef565b8060001904821115611acb57611acb6119d9565b029392505050565b600061137d60ff841683611a32565b6000816000190483118215151615611afc57611afc6119d9565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611b6057611b606119d9565b5060010190565b600080600060608486031215611b7c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611ba757600080fd5b8151801515811461137d57600080fd5b600060208284031215611bc957600080fd5b815161137d81611813565b600082821015611be657611be66119d9565b500390565b60008219821115611bfe57611bfe6119d9565b500190565b600082611c2057634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c755784516001600160a01b031683529383019391830191600101611c50565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f09d49d6933104839fcf907118b3b1056e291fe2cad33a9d84757a4b53d7af5564736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b4114610370578063a9059cbb1461039c578063bf474bed146103bc578063d34628cc146103d2578063dd62ed3e146103f2578063eaecd70a1461043857600080fd5b8063751039fc146102f25780637d1db4a5146103075780638a8c523c1461031d5780638da5cb5b146103325780638f9a55c01461035a57600080fd5b8063313ce567116100fd578063313ce5671461021a57806331c2d847146102365780633bbac579146102585780636c0a24eb1461029157806370a08231146102a7578063715018a6146102dd57600080fd5b806306fdde0314610145578063095ea7b3146101915780630faee56f146101c157806318160ddd146101e557806323b872dd146101fa57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260118152702cb0b83832b9102137bc93b99021b63ab160791b60208201525b60405161018891906117be565b60405180910390f35b34801561019d57600080fd5b506101b16101ac36600461183b565b61044d565b6040519015158152602001610188565b3480156101cd57600080fd5b506101d760145481565b604051908152602001610188565b3480156101f157600080fd5b506101d7610464565b34801561020657600080fd5b506101b1610215366004611867565b610485565b34801561022657600080fd5b5060405160098152602001610188565b34801561024257600080fd5b506102566102513660046118be565b6104ee565b005b34801561026457600080fd5b506101b1610273366004611983565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029d57600080fd5b506101d760135481565b3480156102b357600080fd5b506101d76102c2366004611983565b6001600160a01b031660009081526001602052604090205490565b3480156102e957600080fd5b5061025661058d565b3480156102fe57600080fd5b50610256610601565b34801561031357600080fd5b506101d760115481565b34801561032957600080fd5b506102566106b3565b34801561033e57600080fd5b506000546040516001600160a01b039091168152602001610188565b34801561036657600080fd5b506101d760155481565b34801561037c57600080fd5b5060408051808201909152600381526205941560ec1b602082015261017b565b3480156103a857600080fd5b506101b16103b736600461183b565b61087d565b3480156103c857600080fd5b506101d760125481565b3480156103de57600080fd5b506102566103ed3660046118be565b61088a565b3480156103fe57600080fd5b506101d761040d3660046119a0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561044457600080fd5b5061025661091c565b600061045a338484610b6c565b5060015b92915050565b60006104726009600a611ad3565b61048090633b9aca00611ae2565b905090565b6000610492848484610c91565b6104e484336104df85604051806060016040528060288152602001611c97602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112c4565b610b6c565b5060019392505050565b6000546001600160a01b031633146105215760405162461bcd60e51b815260040161051890611b01565b60405180910390fd5b60005b81518110156105895760006004600084848151811061054557610545611b36565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061058181611b4c565b915050610524565b5050565b6000546001600160a01b031633146105b75760405162461bcd60e51b815260040161051890611b01565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461062b5760405162461bcd60e51b815260040161051890611b01565b6106376009600a611ad3565b61064590633b9aca00611ae2565b6011556106546009600a611ad3565b61066290633b9aca00611ae2565b6015557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106926009600a611ad3565b6106a090633b9aca00611ae2565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106dd5760405162461bcd60e51b815260040161051890611b01565b60165460ff161561072a5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610518565b600f546013546001600160a01b039091169063f305d719904790309060008061075b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107e89190611b67565b5050601054600f5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190611b95565b506016805462ff00ff19166201000117905543600655565b600061045a338484610c91565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260040161051890611b01565b60005b8151811015610589576001600460008484815181106108d8576108d8611b36565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091481611b4c565b9150506108b7565b6000546001600160a01b031633146109465760405162461bcd60e51b815260040161051890611b01565b60165460ff16156109935760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610518565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109dc9030906109ce6009600a611ad3565b6104df90633b9aca00611ae2565b600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a539190611bb7565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad99190611bb7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190611bb7565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bce5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610518565b6001600160a01b038216610c2f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610518565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cf55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610518565b6001600160a01b038216610d575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610518565b60008111610db95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610518565b60165462010000900460ff161580610dd85750601654610100900460ff165b15610e85576001600160a01b038316600090815260016020526040902054610e01908290611bd4565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610e31908290611beb565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c849085815260200190565b600080546001600160a01b03858116911614801590610eb257506000546001600160a01b03848116911614155b15611270576001600160a01b03841660009081526004602052604090205460ff16158015610ef957506001600160a01b03831660009081526004602052604090205460ff16155b610f0257600080fd5b610f2e6064610f28600b54600e5411610f1d57600754610f21565b6009545b85906112fe565b90611384565b6010549091506001600160a01b038581169116148015610f5c5750600f546001600160a01b03848116911614155b8015610f8157506001600160a01b03831660009081526003602052604090205460ff16155b1561108b57601154821115610fd85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610518565b60155482610ffb856001600160a01b031660009081526001602052604090205490565b6110059190611beb565b11156110535760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610518565b4360065460036110639190611beb565b111561107557823b1561107557600080fd5b600e805490600061108583611b4c565b91905055505b6010546001600160a01b038481169116148015906110c257506001600160a01b03831660009081526003602052604090205460ff16155b1561114257601554826110ea856001600160a01b031660009081526001602052604090205490565b6110f49190611beb565b11156111425760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610518565b6010546001600160a01b03848116911614801561116857506001600160a01b0384163014155b15611195576111926064610f28600c54600e541161118857600854610f21565b600a5485906112fe565b90505b30600090815260016020526040902054601654610100900460ff161580156111ca57506010546001600160a01b038581169116145b80156111de575060165462010000900460ff165b80156111ed5750600d54600e54115b801561121257506001600160a01b03851660009081526003602052604090205460ff16155b801561123757506001600160a01b03841660009081526003602052604090205460ff16155b1561126e5760125481106112625761126261125d84611258846014546113c6565b6113c6565b6113db565b4761126c4761154f565b505b505b6001600160a01b03841660009081526003602052604090205460019060ff161561129b575060009050805b806112b1576112ac85858585611589565b6112bd565b6112bd85858585611652565b5050505050565b600081848411156112e85760405162461bcd60e51b815260040161051891906117be565b5060006112f58486611bd4565b95945050505050565b60008261130d5750600061045e565b60006113198385611ae2565b9050826113268583611c03565b1461137d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610518565b9392505050565b600061137d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ef565b60008183116113d5578261137d565b50919050565b6016805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061141f5761141f611b36565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190611bb7565b816001815181106114af576114af611b36565b6001600160a01b039283166020918202929092010152600f546114d59130911684610b6c565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061150e908590600090869030904290600401611c25565b600060405180830381600087803b15801561152857600080fd5b505af115801561153c573d6000803e3d6000fd5b50506016805461ff001916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610589573d6000803e3d6000fd5b6001600160a01b0384166000908152600160205260409020546115ac908261171d565b6001600160a01b0385166000908152600160205260409020556115f16115d2838361171d565b6001600160a01b0385166000908152600160205260409020549061175f565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61163b858561171d565b60405190815260200160405180910390a350505050565b80156116cc5730600090815260016020526040902054611672908261175f565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116c39085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546115ac908361171d565b600081836117105760405162461bcd60e51b815260040161051891906117be565b5060006112f58486611c03565b600061137d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c4565b60008061176c8385611beb565b90508381101561137d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610518565b600060208083528351808285015260005b818110156117eb578581018301518582016040015282016117cf565b818111156117fd576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461182857600080fd5b50565b803561183681611813565b919050565b6000806040838503121561184e57600080fd5b823561185981611813565b946020939093013593505050565b60008060006060848603121561187c57600080fd5b833561188781611813565b9250602084013561189781611813565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118d157600080fd5b823567ffffffffffffffff808211156118e957600080fd5b818501915085601f8301126118fd57600080fd5b81358181111561190f5761190f6118a8565b8060051b604051601f19603f83011681018181108582111715611934576119346118a8565b60405291825284820192508381018501918883111561195257600080fd5b938501935b82851015611977576119688561182b565b84529385019392850192611957565b98975050505050505050565b60006020828403121561199557600080fd5b813561137d81611813565b600080604083850312156119b357600080fd5b82356119be81611813565b915060208301356119ce81611813565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a2a578160001904821115611a1057611a106119d9565b80851615611a1d57918102915b93841c93908002906119f4565b509250929050565b600082611a415750600161045e565b81611a4e5750600061045e565b8160018114611a645760028114611a6e57611a8a565b600191505061045e565b60ff841115611a7f57611a7f6119d9565b50506001821b61045e565b5060208310610133831016604e8410600b8410161715611aad575081810a61045e565b611ab783836119ef565b8060001904821115611acb57611acb6119d9565b029392505050565b600061137d60ff841683611a32565b6000816000190483118215151615611afc57611afc6119d9565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611b6057611b606119d9565b5060010190565b600080600060608486031215611b7c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611ba757600080fd5b8151801515811461137d57600080fd5b600060208284031215611bc957600080fd5b815161137d81611813565b600082821015611be657611be66119d9565b500390565b60008219821115611bfe57611bfe6119d9565b500190565b600082611c2057634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c755784516001600160a01b031683529383019391830191600101611c50565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f09d49d6933104839fcf907118b3b1056e291fe2cad33a9d84757a4b53d7af5564736f6c634300080a0033

Deployed Bytecode Sourcemap

4172:10445:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7839:83;;;;;;;;;;-1:-1:-1;7909:5:0;;;;;;;;;;;;-1:-1:-1;;;7909:5:0;;;;7839:83;;;;;;;:::i;:::-;;;;;;;;8722:186;;;;;;;;;;-1:-1:-1;8722:186:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;8722:186:0;1211:187:1;5394:55:0;;;;;;;;;;;;;;;;;;;1549:25:1;;;1537:2;1522:18;5394:55:0;1403:177:1;8116:95:0;;;;;;;;;;;;;:::i;8916:446::-;;;;;;;;;;-1:-1:-1;8916:446:0;;;;;:::i;:::-;;:::i;8025:83::-;;;;;;;;;;-1:-1:-1;8025:83:0;;5004:1;2188:36:1;;2176:2;2161:18;8025:83:0;2046:184:1;7055:168:0;;;;;;;;;;-1:-1:-1;7055:168:0;;;;;:::i;:::-;;:::i;:::-;;7231:86;;;;;;;;;;-1:-1:-1;7231:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;7302:7:0;7278:4;7302:7;;;:4;:7;;;;;;;;;7231:86;5326:61;;;;;;;;;;;;;;;;8219:119;;;;;;;;;;-1:-1:-1;8219:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8312:18:0;8285:7;8312:18;;;:9;:18;;;;;;;8219:119;4017:148;;;;;;;;;;;;;:::i;6613:162::-;;;;;;;;;;;;;:::i;5200:56::-;;;;;;;;;;;;;;;;9713:527;;;;;;;;;;;;;:::i;3803:79::-;;;;;;;;;;-1:-1:-1;3841:7:0;3868:6;3803:79;;-1:-1:-1;;;;;3868:6:0;;;3891:51:1;;3879:2;3864:18;3803:79:0;3745:203:1;5456:58:0;;;;;;;;;;;;;;;;7930:87;;;;;;;;;;-1:-1:-1;8002:7:0;;;;;;;;;;;;-1:-1:-1;;;8002:7:0;;;;7930:87;;8346:192;;;;;;;;;;-1:-1:-1;8346:192:0;;;;;:::i;:::-;;:::i;5263:56::-;;;;;;;;;;;;;;;;6883:164;;;;;;;;;;-1:-1:-1;6883:164:0;;;;;:::i;:::-;;:::i;8546:168::-;;;;;;;;;;-1:-1:-1;8546:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;8679:18:0;;;8652:7;8679:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8546:168;6150:455;;;;;;;;;;;;;:::i;8722:186::-;8822:4;8839:39;2773:10;8862:7;8871:6;8839:8;:39::i;:::-;-1:-1:-1;8896:4:0;8722:186;;;;;:::o;8116:95::-;8169:7;5060:15;5004:1;5060:2;:15;:::i;:::-;5047:28;;:10;:28;:::i;:::-;8189:14;;8116:95;:::o;8916:446::-;9048:4;9065:36;9075:6;9083:9;9094:6;9065:9;:36::i;:::-;9112:220;9135:6;2773:10;9183:138;9239:6;9183:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9183:19:0;;;;;;:11;:19;;;;;;;;2773:10;9183:33;;;;;;;;;;:37;:138::i;:::-;9112:8;:220::i;:::-;-1:-1:-1;9350:4:0;8916:446;;;;;:::o;7055:168::-;3930:6;;-1:-1:-1;;;;;3930:6:0;2773:10;3930:22;3922:67;;;;-1:-1:-1;;;3922:67:0;;;;;;;:::i;:::-;;;;;;;;;7130:6:::1;7125:91;7146:6;:13;7142:1;:17;7125:91;;;7199:5;7181:4;:15;7186:6;7193:1;7186:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7181:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;7181:15:0;:23;;-1:-1:-1;;7181:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7161:3;::::1;::::0;::::1;:::i;:::-;;;;7125:91;;;;7055:168:::0;:::o;4017:148::-;3930:6;;-1:-1:-1;;;;;3930:6:0;2773:10;3930:22;3922:67;;;;-1:-1:-1;;;3922:67:0;;;;;;;:::i;:::-;4124:1:::1;4108:6:::0;;4087:40:::1;::::0;-1:-1:-1;;;;;4108:6:0;;::::1;::::0;4087:40:::1;::::0;4124:1;;4087:40:::1;4155:1;4138:19:::0;;-1:-1:-1;;;;;;4138:19:0::1;::::0;;4017:148::o;6613:162::-;3930:6;;-1:-1:-1;;;;;3930:6:0;2773:10;3930:22;3922:67;;;;-1:-1:-1;;;3922:67:0;;;;;;;:::i;:::-;5060:15:::1;5004:1;5060:2;:15;:::i;:::-;5047:28;::::0;:10:::1;:28;:::i;:::-;6667:12;:22:::0;5060:15:::1;5004:1;5060:2;:15;:::i;:::-;5047:28;::::0;:10:::1;:28;:::i;:::-;6700:14;:24:::0;6740:27:::1;5060:15;5004:1;5060:2;:15;:::i;:::-;5047:28;::::0;:10:::1;:28;:::i;:::-;6740:27;::::0;1549:25:1;;;1537:2;1522:18;6740:27:0::1;;;;;;;6613:162::o:0;9713:527::-;3930:6;;-1:-1:-1;;;;;3930:6:0;2773:10;3930:22;3922:67;;;;-1:-1:-1;;;3922:67:0;;;;;;;:::i;:::-;9777:11:::1;::::0;::::1;;9776:12;9768:48;;;::::0;-1:-1:-1;;;9768:48:0;;6869:2:1;9768:48:0::1;::::0;::::1;6851:21:1::0;6908:2;6888:18;;;6881:30;-1:-1:-1;;;6927:18:1;;;6920:53;6990:18;;9768:48:0::1;6667:347:1::0;9768:48:0::1;9837:15;::::0;9941:16:::1;::::0;-1:-1:-1;;;;;9837:15:0;;::::1;::::0;:31:::1;::::0;9876:21:::1;::::0;9921:4:::1;::::0;9837:15:::1;::::0;10004:7:::1;3841::::0;3868:6;-1:-1:-1;;;;;3868:6:0;;3803:79;10004:7:::1;9837:215;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9837:215:0;;;-1:-1:-1;;;;;7378:15:1;;;9837:215:0::1;::::0;::::1;7360:34:1::0;7410:18;;;7403:34;;;;7453:18;;;7446:34;;;;7496:18;;;7489:34;7560:15;;;7539:19;;;7532:44;10026:15:0::1;7592:19:1::0;;;7585:35;7294:19;;9837:215:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10072:13:0::1;::::0;10103:15:::1;::::0;10065:71:::1;::::0;-1:-1:-1;;;10065:71:0;;-1:-1:-1;;;;;10103:15:0;;::::1;10065:71;::::0;::::1;8116:51:1::0;-1:-1:-1;;8183:18:1;;;8176:34;10072:13:0;::::1;::::0;-1:-1:-1;10065:29:0::1;::::0;8089:18:1;;10065:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10149:11:0::1;:18:::0;;-1:-1:-1;;10178:18:0;;;;;10220:12:::1;10207:10;:25:::0;9713:527::o;8346:192::-;8449:4;8466:42;2773:10;8490:9;8501:6;8466:9;:42::i;6883:164::-;3930:6;;-1:-1:-1;;;;;3930:6:0;2773:10;3930:22;3922:67;;;;-1:-1:-1;;;3922:67:0;;;;;;;:::i;:::-;6957:6:::1;6952:88;6973:5;:12;6969:1;:16;6952:88;;;7024:4;7007;:14;7012:5;7018:1;7012:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7007:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;7007:14:0;:21;;-1:-1:-1;;7007:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6987:3;::::1;::::0;::::1;:::i;:::-;;;;6952:88;;6150:455:::0;3930:6;;-1:-1:-1;;;;;3930:6:0;2773:10;3930:22;3922:67;;;;-1:-1:-1;;;3922:67:0;;;;;;;:::i;:::-;6210:11:::1;::::0;::::1;;6209:12;6201:48;;;::::0;-1:-1:-1;;;6201:48:0;;6869:2:1;6201:48:0::1;::::0;::::1;6851:21:1::0;6908:2;6888:18;;;6881:30;-1:-1:-1;;;6927:18:1;;;6920:53;6990:18;;6201:48:0::1;6667:347:1::0;6201:48:0::1;6262:15;:104:::0;;-1:-1:-1;;;;;;6262:104:0::1;6313:42;6262:104:::0;;::::1;::::0;;;6379:58:::1;::::0;6396:4:::1;::::0;5060:15:::1;5004:1;5060:2;:15;:::i;:::-;5047:28;::::0;:10:::1;:28;:::i;6379:58::-;6484:15;;;;;;;;;-1:-1:-1::0;;;;;6484:15:0::1;-1:-1:-1::0;;;;;6484:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6466:55:0::1;;6544:4;6564:15;;;;;;;;;-1:-1:-1::0;;;;;6564:15:0::1;-1:-1:-1::0;;;;;6564:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6466:131;::::0;-1:-1:-1;;;;;;6466:131:0::1;::::0;;;;;;-1:-1:-1;;;;;8989:15:1;;;6466:131:0::1;::::0;::::1;8971:34:1::0;9041:15;;9021:18;;;9014:43;8906:18;;6466:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6450:13;:147:::0;;-1:-1:-1;;;;;;6450:147:0::1;-1:-1:-1::0;;;;;6450:147:0;;;::::1;::::0;;;::::1;::::0;;6150:455::o;9370:335::-;-1:-1:-1;;;;;9463:19:0;;9455:68;;;;-1:-1:-1;;;9455:68:0;;9270:2:1;9455:68:0;;;9252:21:1;9309:2;9289:18;;;9282:30;9348:34;9328:18;;;9321:62;-1:-1:-1;;;9399:18:1;;;9392:34;9443:19;;9455:68:0;9068:400:1;9455:68:0;-1:-1:-1;;;;;9542:21:0;;9534:68;;;;-1:-1:-1;;;9534:68:0;;9675:2:1;9534:68:0;;;9657:21:1;9714:2;9694:18;;;9687:30;9753:34;9733:18;;;9726:62;-1:-1:-1;;;9804:18:1;;;9797:32;9846:19;;9534:68:0;9473:398:1;9534:68:0;-1:-1:-1;;;;;9613:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9665:32;;1549:25:1;;;9665:32:0;;1522:18:1;9665:32:0;;;;;;;;9370:335;;;:::o;10584:3184::-;-1:-1:-1;;;;;10672:18:0;;10664:68;;;;-1:-1:-1;;;10664:68:0;;10078:2:1;10664:68:0;;;10060:21:1;10117:2;10097:18;;;10090:30;10156:34;10136:18;;;10129:62;-1:-1:-1;;;10207:18:1;;;10200:35;10252:19;;10664:68:0;9876:401:1;10664:68:0;-1:-1:-1;;;;;10751:16:0;;10743:64;;;;-1:-1:-1;;;10743:64:0;;10484:2:1;10743:64:0;;;10466:21:1;10523:2;10503:18;;;10496:30;10562:34;10542:18;;;10535:62;-1:-1:-1;;;10613:18:1;;;10606:33;10656:19;;10743:64:0;10282:399:1;10743:64:0;10835:1;10826:6;:10;10818:64;;;;-1:-1:-1;;;10818:64:0;;10888:2:1;10818:64:0;;;10870:21:1;10927:2;10907:18;;;10900:30;10966:34;10946:18;;;10939:62;-1:-1:-1;;;11017:18:1;;;11010:39;11066:19;;10818:64:0;10686:405:1;10818:64:0;10900:11;;;;;;;10899:12;;:22;;-1:-1:-1;10915:6:0;;;;;;;10899:22;10895:217;;;-1:-1:-1;;;;;10956:15:0;;;;;;:9;:15;;;;;;:24;;10974:6;;10956:24;:::i;:::-;-1:-1:-1;;;;;10938:15:0;;;;;;;:9;:15;;;;;;:42;;;;11011:13;;;;;;;:22;;11027:6;;11011:22;:::i;:::-;-1:-1:-1;;;;;10995:13:0;;;;;;;:9;:13;;;;;;;:38;;;;11053:26;;;;;;;;;;11072:6;1549:25:1;;1537:2;1522:18;;1403:177;10895:217:0;11124:17;3868:6;;-1:-1:-1;;;;;11160:15:0;;;3868:6;;11160:15;;;;:32;;-1:-1:-1;3841:7:0;3868:6;-1:-1:-1;;;;;11179:13:0;;;3868:6;;11179:13;;11160:32;11156:2300;;;-1:-1:-1;;;;;11218:10:0;;;;;;:4;:10;;;;;;;;11217:11;:24;;;;-1:-1:-1;;;;;;11233:8:0;;;;;;:4;:8;;;;;;;;11232:9;11217:24;11209:33;;;;;;11269:208;11473:3;11269:181;11333:15;;11321:9;;:27;11320:111;;11417:14;;11320:111;;;11377:12;;11320:111;11269:6;;:28;:181::i;:::-;:203;;:208::i;:::-;11524:13;;11257:220;;-1:-1:-1;;;;;;11516:21:0;;;11524:13;;11516:21;:72;;;;-1:-1:-1;11572:15:0;;-1:-1:-1;;;;;11558:30:0;;;11572:15;;11558:30;;11516:72;:117;;;;-1:-1:-1;;;;;;11610:23:0;;;;;;:19;:23;;;;;;;;11609:24;11516:117;11494:561;;;11686:12;;11676:6;:22;;11668:60;;;;-1:-1:-1;;;11668:60:0;;11561:2:1;11668:60:0;;;11543:21:1;11600:2;11580:18;;;11573:30;11639:27;11619:18;;;11612:55;11684:18;;11668:60:0;11359:349:1;11668:60:0;11803:14;;11793:6;11777:13;11787:2;-1:-1:-1;;;;;8312:18:0;8285:7;8312:18;;;:9;:18;;;;;;;8219:119;11777:13;:22;;;;:::i;:::-;:40;;11747:140;;;;-1:-1:-1;;;11747:140:0;;11915:2:1;11747:140:0;;;11897:21:1;11954:2;11934:18;;;11927:30;11993:28;11973:18;;;11966:56;12039:18;;11747:140:0;11713:350:1;11747:140:0;11929:12;11912:10;;11925:1;11912:14;;;;:::i;:::-;:29;11908:102;;;14022:20;;14070:8;11966:24;;;;;;12028:9;:11;;;:9;:11;;;:::i;:::-;;;;;;11494:561;12081:13;;-1:-1:-1;;;;;12075:19:0;;;12081:13;;12075:19;;;;:47;;-1:-1:-1;;;;;;12099:23:0;;;;;;:19;:23;;;;;;;;12098:24;12075:47;12071:228;;;12199:14;;12189:6;12173:13;12183:2;-1:-1:-1;;;;;8312:18:0;8285:7;8312:18;;;:9;:18;;;;;;;8219:119;12173:13;:22;;;;:::i;:::-;:40;;12143:140;;;;-1:-1:-1;;;12143:140:0;;11915:2:1;12143:140:0;;;11897:21:1;11954:2;11934:18;;;11927:30;11993:28;11973:18;;;11966:56;12039:18;;12143:140:0;11713:350:1;12143:140:0;12325:13;;-1:-1:-1;;;;;12319:19:0;;;12325:13;;12319:19;:44;;;;-1:-1:-1;;;;;;12342:21:0;;12358:4;12342:21;;12319:44;12315:332;;;12396:235;12627:3;12396:204;12468:16;;12456:9;;:28;12455:122;;12562:15;;12455:122;;;12517:13;;12396:6;;:32;:204::i;:235::-;12384:247;;12315:332;12712:4;12663:28;8312:18;;;:9;:18;;;;;;12756:6;;;;;;;12755:7;:47;;;;-1:-1:-1;12789:13:0;;-1:-1:-1;;;;;12783:19:0;;;12789:13;;12783:19;12755:47;:79;;;;-1:-1:-1;12823:11:0;;;;;;;12755:79;:130;;;;;12867:18;;12855:9;;:30;12755:130;:177;;;;-1:-1:-1;;;;;;12907:25:0;;;;;;:19;:25;;;;;;;;12906:26;12755:177;:222;;;;-1:-1:-1;;;;;;12954:23:0;;;;;;:19;:23;;;;;;;;12953:24;12755:222;12733:712;;;13039:17;;13015:20;:41;13012:206;;13081:117;13124:51;13128:6;13136:38;13140:20;13162:11;;13136:3;:38::i;:::-;13124:3;:51::i;:::-;13081:16;:117::i;:::-;13283:21;13375:35;13388:21;13375:12;:35::i;:::-;12993:452;12733:712;11194:2262;11156:2300;-1:-1:-1;;;;;13503:25:0;;13468:13;13503:25;;;:19;:25;;;;;;13484:4;;13503:25;;13499:90;;;-1:-1:-1;13557:1:0;;-1:-1:-1;13557:1:0;13499:90;13606:8;13601:160;;13631:43;13646:4;13652:2;13656:6;13664:9;13631:14;:43::i;:::-;13601:160;;;13707:42;13721:4;13727:2;13731:6;13739:9;13707:13;:42::i;:::-;10653:3115;;10584:3184;;;:::o;858:224::-;978:7;1014:12;1006:6;;;;998:29;;;;-1:-1:-1;;;998:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1038:9:0;1050:5;1054:1;1050;:5;:::i;:::-;1038:17;858:224;-1:-1:-1;;;;;858:224:0:o;1090:246::-;1148:7;1172:6;1168:47;;-1:-1:-1;1202:1:0;1195:8;;1168:47;1225:9;1237:5;1241:1;1237;:5;:::i;:::-;1225:17;-1:-1:-1;1270:1:0;1261:5;1265:1;1225:17;1261:5;:::i;:::-;:10;1253:56;;;;-1:-1:-1;;;1253:56:0;;12492:2:1;1253:56:0;;;12474:21:1;12531:2;12511:18;;;12504:30;12570:34;12550:18;;;12543:62;-1:-1:-1;;;12621:18:1;;;12614:31;12662:19;;1253:56:0;12290:397:1;1253:56:0;1327:1;1090:246;-1:-1:-1;;;1090:246:0:o;1344:132::-;1402:7;1429:39;1433:1;1436;1429:39;;;;;;;;;;;;;;;;;:3;:39::i;13776:107::-;13833:7;13865:1;13861;:5;13860:15;;13874:1;13860:15;;;-1:-1:-1;13870:1:0;13776:107;-1:-1:-1;13776:107:0:o;14094:483::-;5717:6;:13;;-1:-1:-1;;5717:13:0;;;;;14196:16:::1;::::0;;14210:1:::1;14196:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14196:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14196:16:0::1;14172:40;;14241:4;14223;14228:1;14223:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14223:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14267:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14267:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14223:7;;14267:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14257:4;14262:1;14257:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14257:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14332:15:::1;::::0;14300:62:::1;::::0;14317:4:::1;::::0;14332:15:::1;14350:11:::0;14300:8:::1;:62::i;:::-;14373:15;::::0;:196:::1;::::0;-1:-1:-1;;;14373:196:0;;-1:-1:-1;;;;;14373:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;14454:11;;14373:15:::1;::::0;14496:4;;14523::::1;::::0;14543:15:::1;::::0;14373:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5753:6:0;:14;;-1:-1:-1;;5753:14:0;;;-1:-1:-1;;;;14094:483:0:o;6783:92::-;6840:10;;:27;;-1:-1:-1;;;;;6840:10:0;;;;:27;;;;;6860:6;;6840:10;:27;:10;:27;6860:6;6840:10;:27;;;;;;;;;;;;;;;;;;;10248:328;-1:-1:-1;;;;;10414:15:0;;;;;;:9;:15;;;;;;:30;;10434:9;10414:19;:30::i;:::-;-1:-1:-1;;;;;10396:15:0;;;;;;:9;:15;;;;;:48;10471:40;10489:21;:6;10500:9;10489:10;:21::i;:::-;-1:-1:-1;;;;;10471:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10455:13:0;;;;;;;:9;:13;;;;;:56;;;;10527:41;;;10546:21;:6;10557:9;10546:10;:21::i;:::-;10527:41;;1549:25:1;;;1537:2;1522:18;10527:41:0;;;;;;;10248:328;;;;:::o;7325:506::-;7476:13;;7472:172;;7551:4;7533:24;;;;:9;:24;;;;;;:39;;7562:9;7533:28;:39::i;:::-;7524:4;7506:24;;;;:9;:24;;;;;;;:66;;;;7592:40;;-1:-1:-1;;;;;7592:40:0;;;;;;;7622:9;1549:25:1;;1537:2;1522:18;;1403:177;7592:40:0;;;;;;;;7472:172;-1:-1:-1;;;;;7672:15:0;;;;;;:9;:15;;;;;;:27;;7692:6;7672:19;:27::i;1484:223::-;1604:7;1639:12;1632:5;1624:28;;;;-1:-1:-1;;;1624:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1663:9:0;1675:5;1679:1;1675;:5;:::i;714:136::-;772:7;799:43;803:1;806;799:43;;;;;;;;;;;;;;;;;:3;:43::i;527:179::-;585:7;;617:5;621:1;617;:5;:::i;:::-;605:17;;646:1;641;:6;;633:46;;;;-1:-1:-1;;;633:46:0;;13879:2:1;633:46:0;;;13861:21:1;13918:2;13898:18;;;13891:30;13957:29;13937:18;;;13930:57;14004:18;;633:46:0;13677:351:1;14:597;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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:134::-;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2235:127::-;2296:10;2291:3;2287:20;2284:1;2277:31;2327:4;2324:1;2317:15;2351:4;2348:1;2341:15;2367:1121;2451:6;2482:2;2525;2513:9;2504:7;2500:23;2496:32;2493:52;;;2541:1;2538;2531:12;2493:52;2581:9;2568:23;2610:18;2651:2;2643:6;2640:14;2637:34;;;2667:1;2664;2657:12;2637:34;2705:6;2694:9;2690:22;2680:32;;2750:7;2743:4;2739:2;2735:13;2731:27;2721:55;;2772:1;2769;2762:12;2721:55;2808:2;2795:16;2830:2;2826;2823:10;2820:36;;;2836:18;;:::i;:::-;2882:2;2879:1;2875:10;2914:2;2908:9;2977:2;2973:7;2968:2;2964;2960:11;2956:25;2948:6;2944:38;3032:6;3020:10;3017:22;3012:2;3000:10;2997:18;2994:46;2991:72;;;3043:18;;:::i;:::-;3079:2;3072:22;3129:18;;;3163:15;;;;-1:-1:-1;3205:11:1;;;3201:20;;;3233:19;;;3230:39;;;3265:1;3262;3255:12;3230:39;3289:11;;;;3309:148;3325:6;3320:3;3317:15;3309:148;;;3391:23;3410:3;3391:23;:::i;:::-;3379:36;;3342:12;;;;3435;;;;3309:148;;;3476:6;2367:1121;-1:-1:-1;;;;;;;;2367:1121:1:o;3493:247::-;3552:6;3605:2;3593:9;3584:7;3580:23;3576:32;3573:52;;;3621:1;3618;3611:12;3573:52;3660:9;3647:23;3679:31;3704:5;3679:31;:::i;3953:388::-;4021:6;4029;4082:2;4070:9;4061:7;4057:23;4053:32;4050:52;;;4098:1;4095;4088:12;4050:52;4137:9;4124:23;4156:31;4181:5;4156:31;:::i;:::-;4206:5;-1:-1:-1;4263:2:1;4248:18;;4235:32;4276:33;4235:32;4276:33;:::i;:::-;4328:7;4318:17;;;3953:388;;;;;:::o;4346:127::-;4407:10;4402:3;4398:20;4395:1;4388:31;4438:4;4435:1;4428:15;4462:4;4459:1;4452:15;4478:422;4567:1;4610:5;4567:1;4624:270;4645:7;4635:8;4632:21;4624:270;;;4704:4;4700:1;4696:6;4692:17;4686:4;4683:27;4680:53;;;4713:18;;:::i;:::-;4763:7;4753:8;4749:22;4746:55;;;4783:16;;;;4746:55;4862:22;;;;4822:15;;;;4624:270;;;4628:3;4478:422;;;;;:::o;4905:806::-;4954:5;4984:8;4974:80;;-1:-1:-1;5025:1:1;5039:5;;4974:80;5073:4;5063:76;;-1:-1:-1;5110:1:1;5124:5;;5063:76;5155:4;5173:1;5168:59;;;;5241:1;5236:130;;;;5148:218;;5168:59;5198:1;5189:10;;5212:5;;;5236:130;5273:3;5263:8;5260:17;5257:43;;;5280:18;;:::i;:::-;-1:-1:-1;;5336:1:1;5322:16;;5351:5;;5148:218;;5450:2;5440:8;5437:16;5431:3;5425:4;5422:13;5418:36;5412:2;5402:8;5399:16;5394:2;5388:4;5385:12;5381:35;5378:77;5375:159;;;-1:-1:-1;5487:19:1;;;5519:5;;5375:159;5566:34;5591:8;5585:4;5566:34;:::i;:::-;5636:6;5632:1;5628:6;5624:19;5615:7;5612:32;5609:58;;;5647:18;;:::i;:::-;5685:20;;4905:806;-1:-1:-1;;;4905:806:1:o;5716:140::-;5774:5;5803:47;5844:4;5834:8;5830:19;5824:4;5803:47;:::i;5861:168::-;5901:7;5967:1;5963;5959:6;5955:14;5952:1;5949:21;5944:1;5937:9;5930:17;5926:45;5923:71;;;5974:18;;:::i;:::-;-1:-1:-1;6014:9:1;;5861:168::o;6034:356::-;6236:2;6218:21;;;6255:18;;;6248:30;6314:34;6309:2;6294:18;;6287:62;6381:2;6366:18;;6034:356::o;6395:127::-;6456:10;6451:3;6447:20;6444:1;6437:31;6487:4;6484:1;6477:15;6511:4;6508:1;6501:15;6527:135;6566:3;-1:-1:-1;;6587:17:1;;6584:43;;;6607:18;;:::i;:::-;-1:-1:-1;6654:1:1;6643:13;;6527:135::o;7631:306::-;7719:6;7727;7735;7788:2;7776:9;7767:7;7763:23;7759:32;7756:52;;;7804:1;7801;7794:12;7756:52;7833:9;7827:16;7817:26;;7883:2;7872:9;7868:18;7862:25;7852:35;;7927:2;7916:9;7912:18;7906:25;7896:35;;7631:306;;;;;:::o;8221:277::-;8288:6;8341:2;8329:9;8320:7;8316:23;8312:32;8309:52;;;8357:1;8354;8347:12;8309:52;8389:9;8383:16;8442:5;8435:13;8428:21;8421:5;8418:32;8408:60;;8464:1;8461;8454:12;8503:251;8573:6;8626:2;8614:9;8605:7;8601:23;8597:32;8594:52;;;8642:1;8639;8632:12;8594:52;8674:9;8668:16;8693:31;8718:5;8693:31;:::i;11096:125::-;11136:4;11164:1;11161;11158:8;11155:34;;;11169:18;;:::i;:::-;-1:-1:-1;11206:9:1;;11096:125::o;11226:128::-;11266:3;11297:1;11293:6;11290:1;11287:13;11284:39;;;11303:18;;:::i;:::-;-1:-1:-1;11339:9:1;;11226:128::o;12068:217::-;12108:1;12134;12124:132;;12178:10;12173:3;12169:20;12166:1;12159:31;12213:4;12210:1;12203:15;12241:4;12238:1;12231:15;12124:132;-1:-1:-1;12270:9:1;;12068:217::o;12692:980::-;12954:4;13002:3;12991:9;12987:19;13033:6;13022:9;13015:25;13059:2;13097:6;13092:2;13081:9;13077:18;13070:34;13140:3;13135:2;13124:9;13120:18;13113:31;13164:6;13199;13193:13;13230:6;13222;13215:22;13268:3;13257:9;13253:19;13246:26;;13307:2;13299:6;13295:15;13281:29;;13328:1;13338:195;13352:6;13349:1;13346:13;13338:195;;;13417:13;;-1:-1:-1;;;;;13413:39:1;13401:52;;13508:15;;;;13473:12;;;;13449:1;13367:9;13338:195;;;-1:-1:-1;;;;;;;13589:32:1;;;;13584:2;13569:18;;13562:60;-1:-1:-1;;;13653:3:1;13638:19;13631:35;13550:3;12692:980;-1:-1:-1;;;12692:980:1:o

Swarm Source

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