ETH Price: $3,395.71 (-0.65%)
Gas: 14 Gwei

Token

Adult Pepe (PEPE18+)
 

Overview

Max Total Supply

18,690,690 PEPE18+

Holders

120

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
83,858.381411119 PEPE18+

Value
$0.00
0xf1466EBdd36d5e3638A12316477520bF3b2378A1
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:
ADULTPEPE

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-28
*/

/*
https://www.pepe18plus.com/

https://t.me/pepe18plus

https://twitter.com/pepe18plus
*/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

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

    uint256 private _buyFeeTax = 69;
    uint256 private _sellFeeTax = 69;
    uint256 private blocksAtLaunch;


    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 18690690 * 10**_decimals;
    string private constant _name = unicode"Adult Pepe";
    string private constant _symbol = unicode"PEPE18+";
    uint256 public _maxTxAmount = 373813 * 10**_decimals;
    uint256 public _maxWalletSize = 373813 * 10**_decimals;
    uint256 public _taxSwapThreshold= 37381  * 10**_decimals;
    uint256 public _maxTaxSwap= 186906 * 10**_decimals;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(transfersEnabled, "Transfers are disabled");

            uint256 currentBlock = block.number;

            if(blocksAtLaunch + 2 >= currentBlock){
                // first two blocks do nothing
                // hold the current sell and buy tax
            } else if(blocksAtLaunch + 2 < currentBlock && currentBlock <= blocksAtLaunch + 10) {
                _buyFeeTax = 30;
                _sellFeeTax = 30;
            } else if(blocksAtLaunch + 10 < currentBlock && currentBlock <= blocksAtLaunch + 20) {
                _buyFeeTax = 18;
                _sellFeeTax = 18;
            } else if(blocksAtLaunch + 20 < currentBlock && currentBlock <= blocksAtLaunch + 30) {
                _buyFeeTax = 6;
                _sellFeeTax = 9;
            } else {
                _buyFeeTax = 1;
                _sellFeeTax = 1;
            }

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

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

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_sellFeeTax).div(100);
            }

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

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            taxAmount = 0;
        }

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

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


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

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

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

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

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

    function enableTrading() external onlyOwner() {
        transfersEnabled = true;
        blocksAtLaunch = block.number;
    }

    function airdrop(address[] calldata addresses, uint256[] calldata amounts) external {
        require(addresses.length > 0 && amounts.length == addresses.length);
        address from = msg.sender;

        for (uint256 i = 0; i < addresses.length; i++) {
            _transfer(from, addresses[i], amounts[i] * (10 ** 9));
        }
    }

    receive() external payable {}

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

    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(address(this).balance);
        }
    }
}

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":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff1916600117905560456007819055600855620000296009600a6200032e565b62000038906205b43562000345565b600a556009600a6200004b91906200032e565b6200005a906205b43562000345565b600b556200006b6009600a6200032e565b620000799061920562000345565b600c556200008a6009600a6200032e565b62000099906202da1a62000345565b600d55600f805462ffffff60a81b1916600160b81b179055348015620000bd575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001236009600a6200032e565b620001339063011d328262000345565b335f9081526001602081905260408220929092556003906200015c5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001bf3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001f86009600a6200032e565b620002089063011d328262000345565b60405190815260200160405180910390a36200035f565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027357815f19048211156200025757620002576200021f565b808516156200026557918102915b93841c939080029062000238565b509250929050565b5f826200028b5750600162000328565b816200029957505f62000328565b8160018114620002b25760028114620002bd57620002dd565b600191505062000328565b60ff841115620002d157620002d16200021f565b50506001821b62000328565b5060208310610133831016604e8410600b841016171562000302575081810a62000328565b6200030e838362000233565b805f19048211156200032457620003246200021f565b0290505b92915050565b5f6200033e60ff8416836200027b565b9392505050565b80820281158282048414176200032857620003286200021f565b611aa4806200036d5f395ff3fe608060405260043610610134575f3560e01c80637d1db4a5116100a8578063a9059cbb1161006d578063a9059cbb14610347578063bf474bed14610366578063c876d0b91461037b578063c9567bf914610394578063dd62ed3e146103a8578063f4293890146103ec575f80fd5b80637d1db4a5146102b45780638a8c523c146102c95780638da5cb5b146102dd5780638f9a55c01461030357806395d89b4114610318575f80fd5b8063313ce567116100f9578063313ce5671461020857806351bc3c8514610223578063672434821461023957806370a0823114610258578063715018a61461028c578063751039fc146102a0575f80fd5b806306fdde031461013f578063095ea7b3146101835780630faee56f146101b257806318160ddd146101d557806323b872dd146101e9575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600a8152694164756c74205065706560b01b60208201525b60405161017a91906115eb565b60405180910390f35b34801561018e575f80fd5b506101a261019d36600461164a565b610400565b604051901515815260200161017a565b3480156101bd575f80fd5b506101c7600d5481565b60405190815260200161017a565b3480156101e0575f80fd5b506101c7610416565b3480156101f4575f80fd5b506101a2610203366004611674565b610436565b348015610213575f80fd5b506040516009815260200161017a565b34801561022e575f80fd5b5061023761049d565b005b348015610244575f80fd5b506102376102533660046116fa565b6104f3565b348015610263575f80fd5b506101c7610272366004611761565b6001600160a01b03165f9081526001602052604090205490565b348015610297575f80fd5b50610237610586565b3480156102ab575f80fd5b50610237610600565b3480156102bf575f80fd5b506101c7600a5481565b3480156102d4575f80fd5b506102376106bd565b3480156102e8575f80fd5b505f546040516001600160a01b03909116815260200161017a565b34801561030e575f80fd5b506101c7600b5481565b348015610323575f80fd5b506040805180820190915260078152665045504531382b60c81b602082015261016d565b348015610352575f80fd5b506101a261036136600461164a565b6106ff565b348015610371575f80fd5b506101c7600c5481565b348015610386575f80fd5b506006546101a29060ff1681565b34801561039f575f80fd5b5061023761070b565b3480156103b3575f80fd5b506101c76103c236600461177c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103f7575f80fd5b50610237610ab5565b5f61040c338484610aec565b5060015b92915050565b5f6104236009600a6118a7565b6104319063011d32826118b5565b905090565b5f610442848484610c0f565b610493843361048e85604051806060016040528060288152602001611a47602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611263565b610aec565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104c1575f80fd5b305f9081526001602052604090205480156104df576104df8161129b565b4780156104ef576104ef4761140b565b5050565b821580159061050157508083145b610509575f80fd5b335f5b8481101561057e5761056c8287878481811061052a5761052a6118cc565b905060200201602081019061053f9190611761565b868685818110610551576105516118cc565b90506020020135633b9aca0061056791906118b5565b610c0f565b80610576816118e0565b91505061050c565b505050505050565b5f546001600160a01b031633146105b85760405162461bcd60e51b81526004016105af906118f8565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106295760405162461bcd60e51b81526004016105af906118f8565b6106356009600a6118a7565b6106439063011d32826118b5565b600a908155610654906009906118a7565b6106629063011d32826118b5565b600b556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61069c6009600a6118a7565b6106aa9063011d32826118b5565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106e65760405162461bcd60e51b81526004016105af906118f8565b600f805460ff60b81b1916600160b81b17905543600955565b5f61040c338484610c0f565b5f546001600160a01b031633146107345760405162461bcd60e51b81526004016105af906118f8565b600f54600160a01b900460ff161561078e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105af565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107d79030906107c96009600a6118a7565b61048e9063011d32826118b5565b600e5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084b919061192d565b6001600160a01b031663c9c6539630600e5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ce919061192d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610918573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093c919061192d565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d7194730610983816001600160a01b03165f9081526001602052604090205490565b5f806109965f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109fc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a219190611948565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9a9190611973565b50600f805463ffff00ff60a01b19166201000160a01b179055565b60065461010090046001600160a01b0316336001600160a01b031614610ad9575f80fd5b478015610ae957610ae98161140b565b50565b6001600160a01b038316610b4e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105af565b6001600160a01b038216610baf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c735760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105af565b6001600160a01b038216610cd55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105af565b5f8111610d365760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105af565b5f80546001600160a01b03858116911614801590610d6157505f546001600160a01b03848116911614155b156110af57600f54600160b81b900460ff16610db85760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c9cc8185c9948191a5cd8589b195960521b60448201526064016105af565b60095443908190610dca906002611992565b1015610e9557806009546002610de09190611992565b108015610dfa5750600954610df690600a611992565b8111155b15610e0e57601e6007819055600855610e95565b80600954600a610e1e9190611992565b108015610e385750600954610e34906014611992565b8111155b15610e4c5760126007819055600855610e95565b806009546014610e5c9190611992565b108015610e765750600954610e7290601e611992565b8111155b15610e8a5760066007556009600855610e95565b600160078190556008555b610eb56064610eaf6007548661144690919063ffffffff16565b906114cb565b600f549092506001600160a01b038681169116148015610ee35750600e546001600160a01b03858116911614155b8015610f0757506001600160a01b0384165f9081526003602052604090205460ff16155b15610fd857600a54831115610f5e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105af565b600b5483610f80866001600160a01b03165f9081526001602052604090205490565b610f8a9190611992565b1115610fd85760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105af565b600f546001600160a01b038581169116148015610ffe57506001600160a01b0385163014155b156110205761101d6064610eaf6008548661144690919063ffffffff16565b91505b305f90815260016020526040902054600f54600160a81b900460ff161580156110565750600f546001600160a01b038681169116145b801561106b5750600f54600160b01b900460ff165b80156110785750600c5481115b156110ac5761109a6110958561109084600d5461150c565b61150c565b61129b565b4780156110aa576110aa4761140b565b505b50505b6001600160a01b0384165f9081526003602052604090205460ff16806110ec57506001600160a01b0383165f9081526003602052604090205460ff165b8061111e5750600f546001600160a01b0385811691161480159061111e5750600f546001600160a01b03848116911614155b1561112657505f5b801561119e57305f908152600160205260409020546111459082611520565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111959085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111c0908361157e565b6001600160a01b0385165f908152600160205260409020556112036111e5838361157e565b6001600160a01b0385165f9081526001602052604090205490611520565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61124c858561157e565b60405190815260200160405180910390a350505050565b5f81848411156112865760405162461bcd60e51b81526004016105af91906115eb565b505f61129284866119a5565b95945050505050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112e1576112e16118cc565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611338573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135c919061192d565b8160018151811061136f5761136f6118cc565b6001600160a01b039283166020918202929092010152600e546113959130911684610aec565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113cd9085905f908690309042906004016119b8565b5f604051808303815f87803b1580156113e4575f80fd5b505af11580156113f6573d5f803e3d5ffd5b5050600f805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104ef573d5f803e3d5ffd5b5f825f0361145557505f610410565b5f61146083856118b5565b90508261146d8583611a27565b146114c45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105af565b9392505050565b5f6114c483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115bf565b5f81831161151a57826114c4565b50919050565b5f8061152c8385611992565b9050838110156114c45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105af565b5f6114c483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611263565b5f81836115df5760405162461bcd60e51b81526004016105af91906115eb565b505f6112928486611a27565b5f6020808352835180828501525f5b81811015611616578581018301518582016040015282016115fa565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ae9575f80fd5b5f806040838503121561165b575f80fd5b823561166681611636565b946020939093013593505050565b5f805f60608486031215611686575f80fd5b833561169181611636565b925060208401356116a181611636565b929592945050506040919091013590565b5f8083601f8401126116c2575f80fd5b50813567ffffffffffffffff8111156116d9575f80fd5b6020830191508360208260051b85010111156116f3575f80fd5b9250929050565b5f805f806040858703121561170d575f80fd5b843567ffffffffffffffff80821115611724575f80fd5b611730888389016116b2565b90965094506020870135915080821115611748575f80fd5b50611755878288016116b2565b95989497509550505050565b5f60208284031215611771575f80fd5b81356114c481611636565b5f806040838503121561178d575f80fd5b823561179881611636565b915060208301356117a881611636565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561180157815f19048211156117e7576117e76117b3565b808516156117f457918102915b93841c93908002906117cc565b509250929050565b5f8261181757506001610410565b8161182357505f610410565b816001811461183957600281146118435761185f565b6001915050610410565b60ff841115611854576118546117b3565b50506001821b610410565b5060208310610133831016604e8410600b8410161715611882575081810a610410565b61188c83836117c7565b805f190482111561189f5761189f6117b3565b029392505050565b5f6114c460ff841683611809565b8082028115828204841417610410576104106117b3565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118f1576118f16117b3565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561193d575f80fd5b81516114c481611636565b5f805f6060848603121561195a575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611983575f80fd5b815180151581146114c4575f80fd5b80820180821115610410576104106117b3565b81810381811115610410576104106117b3565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a065784516001600160a01b0316835293830193918301916001016119e1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a4157634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220346c44b887ec4b9c4febe603e6ba83aa8a09d23f7558aab28652ef4f6673f19a64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610134575f3560e01c80637d1db4a5116100a8578063a9059cbb1161006d578063a9059cbb14610347578063bf474bed14610366578063c876d0b91461037b578063c9567bf914610394578063dd62ed3e146103a8578063f4293890146103ec575f80fd5b80637d1db4a5146102b45780638a8c523c146102c95780638da5cb5b146102dd5780638f9a55c01461030357806395d89b4114610318575f80fd5b8063313ce567116100f9578063313ce5671461020857806351bc3c8514610223578063672434821461023957806370a0823114610258578063715018a61461028c578063751039fc146102a0575f80fd5b806306fdde031461013f578063095ea7b3146101835780630faee56f146101b257806318160ddd146101d557806323b872dd146101e9575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600a8152694164756c74205065706560b01b60208201525b60405161017a91906115eb565b60405180910390f35b34801561018e575f80fd5b506101a261019d36600461164a565b610400565b604051901515815260200161017a565b3480156101bd575f80fd5b506101c7600d5481565b60405190815260200161017a565b3480156101e0575f80fd5b506101c7610416565b3480156101f4575f80fd5b506101a2610203366004611674565b610436565b348015610213575f80fd5b506040516009815260200161017a565b34801561022e575f80fd5b5061023761049d565b005b348015610244575f80fd5b506102376102533660046116fa565b6104f3565b348015610263575f80fd5b506101c7610272366004611761565b6001600160a01b03165f9081526001602052604090205490565b348015610297575f80fd5b50610237610586565b3480156102ab575f80fd5b50610237610600565b3480156102bf575f80fd5b506101c7600a5481565b3480156102d4575f80fd5b506102376106bd565b3480156102e8575f80fd5b505f546040516001600160a01b03909116815260200161017a565b34801561030e575f80fd5b506101c7600b5481565b348015610323575f80fd5b506040805180820190915260078152665045504531382b60c81b602082015261016d565b348015610352575f80fd5b506101a261036136600461164a565b6106ff565b348015610371575f80fd5b506101c7600c5481565b348015610386575f80fd5b506006546101a29060ff1681565b34801561039f575f80fd5b5061023761070b565b3480156103b3575f80fd5b506101c76103c236600461177c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103f7575f80fd5b50610237610ab5565b5f61040c338484610aec565b5060015b92915050565b5f6104236009600a6118a7565b6104319063011d32826118b5565b905090565b5f610442848484610c0f565b610493843361048e85604051806060016040528060288152602001611a47602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611263565b610aec565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104c1575f80fd5b305f9081526001602052604090205480156104df576104df8161129b565b4780156104ef576104ef4761140b565b5050565b821580159061050157508083145b610509575f80fd5b335f5b8481101561057e5761056c8287878481811061052a5761052a6118cc565b905060200201602081019061053f9190611761565b868685818110610551576105516118cc565b90506020020135633b9aca0061056791906118b5565b610c0f565b80610576816118e0565b91505061050c565b505050505050565b5f546001600160a01b031633146105b85760405162461bcd60e51b81526004016105af906118f8565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106295760405162461bcd60e51b81526004016105af906118f8565b6106356009600a6118a7565b6106439063011d32826118b5565b600a908155610654906009906118a7565b6106629063011d32826118b5565b600b556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61069c6009600a6118a7565b6106aa9063011d32826118b5565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106e65760405162461bcd60e51b81526004016105af906118f8565b600f805460ff60b81b1916600160b81b17905543600955565b5f61040c338484610c0f565b5f546001600160a01b031633146107345760405162461bcd60e51b81526004016105af906118f8565b600f54600160a01b900460ff161561078e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105af565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107d79030906107c96009600a6118a7565b61048e9063011d32826118b5565b600e5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084b919061192d565b6001600160a01b031663c9c6539630600e5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ce919061192d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610918573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093c919061192d565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d7194730610983816001600160a01b03165f9081526001602052604090205490565b5f806109965f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109fc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a219190611948565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9a9190611973565b50600f805463ffff00ff60a01b19166201000160a01b179055565b60065461010090046001600160a01b0316336001600160a01b031614610ad9575f80fd5b478015610ae957610ae98161140b565b50565b6001600160a01b038316610b4e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105af565b6001600160a01b038216610baf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c735760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105af565b6001600160a01b038216610cd55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105af565b5f8111610d365760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105af565b5f80546001600160a01b03858116911614801590610d6157505f546001600160a01b03848116911614155b156110af57600f54600160b81b900460ff16610db85760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c9cc8185c9948191a5cd8589b195960521b60448201526064016105af565b60095443908190610dca906002611992565b1015610e9557806009546002610de09190611992565b108015610dfa5750600954610df690600a611992565b8111155b15610e0e57601e6007819055600855610e95565b80600954600a610e1e9190611992565b108015610e385750600954610e34906014611992565b8111155b15610e4c5760126007819055600855610e95565b806009546014610e5c9190611992565b108015610e765750600954610e7290601e611992565b8111155b15610e8a5760066007556009600855610e95565b600160078190556008555b610eb56064610eaf6007548661144690919063ffffffff16565b906114cb565b600f549092506001600160a01b038681169116148015610ee35750600e546001600160a01b03858116911614155b8015610f0757506001600160a01b0384165f9081526003602052604090205460ff16155b15610fd857600a54831115610f5e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105af565b600b5483610f80866001600160a01b03165f9081526001602052604090205490565b610f8a9190611992565b1115610fd85760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105af565b600f546001600160a01b038581169116148015610ffe57506001600160a01b0385163014155b156110205761101d6064610eaf6008548661144690919063ffffffff16565b91505b305f90815260016020526040902054600f54600160a81b900460ff161580156110565750600f546001600160a01b038681169116145b801561106b5750600f54600160b01b900460ff165b80156110785750600c5481115b156110ac5761109a6110958561109084600d5461150c565b61150c565b61129b565b4780156110aa576110aa4761140b565b505b50505b6001600160a01b0384165f9081526003602052604090205460ff16806110ec57506001600160a01b0383165f9081526003602052604090205460ff165b8061111e5750600f546001600160a01b0385811691161480159061111e5750600f546001600160a01b03848116911614155b1561112657505f5b801561119e57305f908152600160205260409020546111459082611520565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111959085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111c0908361157e565b6001600160a01b0385165f908152600160205260409020556112036111e5838361157e565b6001600160a01b0385165f9081526001602052604090205490611520565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61124c858561157e565b60405190815260200160405180910390a350505050565b5f81848411156112865760405162461bcd60e51b81526004016105af91906115eb565b505f61129284866119a5565b95945050505050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112e1576112e16118cc565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611338573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135c919061192d565b8160018151811061136f5761136f6118cc565b6001600160a01b039283166020918202929092010152600e546113959130911684610aec565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113cd9085905f908690309042906004016119b8565b5f604051808303815f87803b1580156113e4575f80fd5b505af11580156113f6573d5f803e3d5ffd5b5050600f805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104ef573d5f803e3d5ffd5b5f825f0361145557505f610410565b5f61146083856118b5565b90508261146d8583611a27565b146114c45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105af565b9392505050565b5f6114c483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115bf565b5f81831161151a57826114c4565b50919050565b5f8061152c8385611992565b9050838110156114c45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105af565b5f6114c483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611263565b5f81836115df5760405162461bcd60e51b81526004016105af91906115eb565b505f6112928486611a27565b5f6020808352835180828501525f5b81811015611616578581018301518582016040015282016115fa565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ae9575f80fd5b5f806040838503121561165b575f80fd5b823561166681611636565b946020939093013593505050565b5f805f60608486031215611686575f80fd5b833561169181611636565b925060208401356116a181611636565b929592945050506040919091013590565b5f8083601f8401126116c2575f80fd5b50813567ffffffffffffffff8111156116d9575f80fd5b6020830191508360208260051b85010111156116f3575f80fd5b9250929050565b5f805f806040858703121561170d575f80fd5b843567ffffffffffffffff80821115611724575f80fd5b611730888389016116b2565b90965094506020870135915080821115611748575f80fd5b50611755878288016116b2565b95989497509550505050565b5f60208284031215611771575f80fd5b81356114c481611636565b5f806040838503121561178d575f80fd5b823561179881611636565b915060208301356117a881611636565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561180157815f19048211156117e7576117e76117b3565b808516156117f457918102915b93841c93908002906117cc565b509250929050565b5f8261181757506001610410565b8161182357505f610410565b816001811461183957600281146118435761185f565b6001915050610410565b60ff841115611854576118546117b3565b50506001821b610410565b5060208310610133831016604e8410600b8410161715611882575081810a610410565b61188c83836117c7565b805f190482111561189f5761189f6117b3565b029392505050565b5f6114c460ff841683611809565b8082028115828204841417610410576104106117b3565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118f1576118f16117b3565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561193d575f80fd5b81516114c481611636565b5f805f6060848603121561195a575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611983575f80fd5b815180151581146114c4575f80fd5b80820180821115610410576104106117b3565b81810381811115610410576104106117b3565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a065784516001600160a01b0316835293830193918301916001016119e1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a4157634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220346c44b887ec4b9c4febe603e6ba83aa8a09d23f7558aab28652ef4f6673f19a64736f6c63430008140033

Deployed Bytecode Sourcemap

3571:8936:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5342:83;;;;;;;;;;-1:-1:-1;5412:5:0;;;;;;;;;;;;-1:-1:-1;;;5412:5:0;;;;5342:83;;;;;;;:::i;:::-;;;;;;;;6175:161;;;;;;;;;;-1:-1:-1;6175:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6175:161:0;1023:187:1;4576:50:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4576:50:0;1215:177:1;5619:95:0;;;;;;;;;;;;;:::i;6344:313::-;;;;;;;;;;-1:-1:-1;6344:313:0;;;;;:::i;:::-;;:::i;5528:83::-;;;;;;;;;;-1:-1:-1;5528:83:0;;4204:1;2000:36:1;;1988:2;1973:18;5528:83:0;1858:184:1;12145:359:0;;;;;;;;;;;;;:::i;:::-;;11538:345;;;;;;;;;;-1:-1:-1;11538:345:0;;;;;:::i;:::-;;:::i;5722:119::-;;;;;;;;;;-1:-1:-1;5722:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5815:18:0;5788:7;5815:18;;;:9;:18;;;;;;;5722:119;2652:148;;;;;;;;;;;;;:::i;10384:196::-;;;;;;;;;;;;;:::i;4393:52::-;;;;;;;;;;;;;;;;11402:128;;;;;;;;;;;;;:::i;2438:79::-;;;;;;;;;;-1:-1:-1;2476:7:0;2503:6;2438:79;;-1:-1:-1;;;;;2503:6:0;;;3595:51:1;;3583:2;3568:18;2438:79:0;3449:203:1;4452:54:0;;;;;;;;;;;;;;;;5433:87;;;;;;;;;;-1:-1:-1;5505:7:0;;;;;;;;;;;;-1:-1:-1;;;5505:7:0;;;;5433:87;;5849:167;;;;;;;;;;-1:-1:-1;5849:167:0;;;;;:::i;:::-;;:::i;4513:56::-;;;;;;;;;;;;;;;;3962:39;;;;;;;;;;-1:-1:-1;3962:39:0;;;;;;;;10688:706;;;;;;;;;;;;;:::i;6024:143::-;;;;;;;;;;-1:-1:-1;6024:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6132:18:0;;;6105:7;6132:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6024:143;11928:209;;;;;;;;;;;;;:::i;6175:161::-;6250:4;6267:39;273:10;6290:7;6299:6;6267:8;:39::i;:::-;-1:-1:-1;6324:4:0;6175:161;;;;;:::o;5619:95::-;5672:7;4258:13;4204:1;4258:2;:13;:::i;:::-;4247:24;;:8;:24;:::i;:::-;5692:14;;5619:95;:::o;6344:313::-;6442:4;6459:36;6469:6;6477:9;6488:6;6459:9;:36::i;:::-;6506:121;6515:6;273:10;6537:89;6575:6;6537:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6537:19:0;;;;;;:11;:19;;;;;;;;273:10;6537:33;;;;;;;;;;:37;:89::i;:::-;6506:8;:121::i;:::-;-1:-1:-1;6645:4:0;6344:313;;;;;:::o;12145:359::-;12209:10;;;;;-1:-1:-1;;;;;12209:10:0;273;-1:-1:-1;;;;;12195:24:0;;12187:33;;;;;;12270:4;12231:20;5815:18;;;:9;:18;;;;;;12290:14;;12287:73;;12318:30;12335:12;12318:16;:30::i;:::-;12389:21;12424:12;;12421:76;;12450:35;12463:21;12450:12;:35::i;:::-;12176:328;;12145:359::o;11538:345::-;11641:20;;;;;:58;;-1:-1:-1;11665:34:0;;;11641:58;11633:67;;;;;;11726:10;11711:12;11749:127;11769:20;;;11749:127;;;11811:53;11821:4;11827:9;;11837:1;11827:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11841:7;;11849:1;11841:10;;;;;;;:::i;:::-;;;;;;;11855:7;11841:22;;;;:::i;:::-;11811:9;:53::i;:::-;11791:3;;;;:::i;:::-;;;;11749:127;;;;11622:261;11538:345;;;;:::o;2652:148::-;2565:6;;-1:-1:-1;;;;;2565:6:0;273:10;2565:22;2557:67;;;;-1:-1:-1;;;2557:67:0;;;;;;;:::i;:::-;;;;;;;;;2759:1:::1;2743:6:::0;;2722:40:::1;::::0;-1:-1:-1;;;;;2743:6:0;;::::1;::::0;2722:40:::1;::::0;2759:1;;2722:40:::1;2790:1;2773:19:::0;;-1:-1:-1;;;;;;2773:19:0::1;::::0;;2652:148::o;10384:196::-;2565:6;;-1:-1:-1;;;;;2565:6:0;273:10;2565:22;2557:67;;;;-1:-1:-1;;;2557:67:0;;;;;;;:::i;:::-;4258:13:::1;4204:1;4258:2;:13;:::i;:::-;4247:24;::::0;:8:::1;:24;:::i;:::-;10437:12;:22:::0;;;4258:13:::1;::::0;4204:1:::1;::::0;4258:13:::1;:::i;:::-;4247:24;::::0;:8:::1;:24;:::i;:::-;10470:14;:22:::0;10503:20:::1;:26:::0;;-1:-1:-1;;10503:26:0::1;::::0;;10545:27:::1;4258:13;4204:1;4258:2;:13;:::i;:::-;4247:24;::::0;:8:::1;:24;:::i;:::-;10545:27;::::0;1361:25:1;;;1349:2;1334:18;10545:27:0::1;;;;;;;10384:196::o:0;11402:128::-;2565:6;;-1:-1:-1;;;;;2565:6:0;273:10;2565:22;2557:67;;;;-1:-1:-1;;;2557:67:0;;;;;;;:::i;:::-;11459:16:::1;:23:::0;;-1:-1:-1;;;;11459:23:0::1;-1:-1:-1::0;;;11459:23:0::1;::::0;;11510:12:::1;11493:14;:29:::0;11402:128::o;5849:167::-;5927:4;5944:42;273:10;5968:9;5979:6;5944:9;:42::i;10688:706::-;2565:6;;-1:-1:-1;;;;;2565:6:0;273:10;2565:22;2557:67;;;;-1:-1:-1;;;2557:67:0;;;;;;;:::i;:::-;10752:11:::1;::::0;-1:-1:-1;;;10752:11:0;::::1;;;10751:12;10743:47;;;::::0;-1:-1:-1;;;10743:47:0;;6573:2:1;10743:47:0::1;::::0;::::1;6555:21:1::0;6612:2;6592:18;;;6585:30;6651:25;6631:18;;;6624:53;6694:18;;10743:47:0::1;6371:347:1::0;10743:47:0::1;10801:15;:80:::0;;-1:-1:-1;;;;;;10801:80:0::1;10838:42;10801:80:::0;;::::1;::::0;;;10892:58:::1;::::0;10909:4:::1;::::0;4258:13:::1;4204:1;4258:2;:13;:::i;:::-;4247:24;::::0;:8:::1;:24;:::i;10892:58::-;10995:15;;;;;;;;;-1:-1:-1::0;;;;;10995:15:0::1;-1:-1:-1::0;;;;;10995:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10977:55:0::1;;11041:4;11048:15;;;;;;;;;-1:-1:-1::0;;;;;11048:15:0::1;-1:-1:-1::0;;;;;11048:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10977:94;::::0;-1:-1:-1;;;;;;10977:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7209:15:1;;;10977:94:0::1;::::0;::::1;7191:34:1::0;7261:15;;7241:18;;;7234:43;7126:18;;10977:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10961:13;:110:::0;;-1:-1:-1;;;;;10961:110:0;;::::1;-1:-1:-1::0;;;;;;10961:110:0;;::::1;;::::0;;11082:15:::1;::::0;::::1;:31;11121:21;11152:4;11158:24;11152:4:::0;-1:-1:-1;;;;;5815:18:0;5788:7;5815:18;;;:9;:18;;;;;;;5722:119;11158:24:::1;11183:1;11185::::0;11187:7:::1;2476::::0;2503:6;-1:-1:-1;;;;;2503:6:0;;2438:79;11187:7:::1;11082:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11082:129:0;;;-1:-1:-1;;;;;7647:15:1;;;11082:129:0::1;::::0;::::1;7629:34:1::0;7679:18;;;7672:34;;;;7722:18;;;7715:34;;;;7765:18;;;7758:34;7829:15;;;7808:19;;;7801:44;11195:15:0::1;7861:19:1::0;;;7854:35;7563:19;;11082:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11229:13:0::1;::::0;11260:15:::1;::::0;11222:71:::1;::::0;-1:-1:-1;;;11222:71:0;;-1:-1:-1;;;;;11260:15:0;;::::1;11222:71;::::0;::::1;8385:51:1::0;-1:-1:-1;;8452:18:1;;;8445:34;11229:13:0;::::1;::::0;-1:-1:-1;11222:29:0::1;::::0;8358:18:1;;11222:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11304:11:0::1;:18:::0;;-1:-1:-1;;;;11362:24:0;-1:-1:-1;;;11362:24:0;;;10688:706::o;11928:209::-;11992:10;;;;;-1:-1:-1;;;;;11992:10:0;273;-1:-1:-1;;;;;11978:24:0;;11970:33;;;;;;12033:21;12068:12;;12065:65;;12094:24;12107:10;12094:12;:24::i;:::-;11959:178;11928:209::o;6665:335::-;-1:-1:-1;;;;;6758:19:0;;6750:68;;;;-1:-1:-1;;;6750:68:0;;8974:2:1;6750:68:0;;;8956:21:1;9013:2;8993:18;;;8986:30;9052:34;9032:18;;;9025:62;-1:-1:-1;;;9103:18:1;;;9096:34;9147:19;;6750:68:0;8772:400:1;6750:68:0;-1:-1:-1;;;;;6837:21:0;;6829:68;;;;-1:-1:-1;;;6829:68:0;;9379:2:1;6829:68:0;;;9361:21:1;9418:2;9398:18;;;9391:30;9457:34;9437:18;;;9430:62;-1:-1:-1;;;9508:18:1;;;9501:32;9550:19;;6829:68:0;9177:398:1;6829:68:0;-1:-1:-1;;;;;6908:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6960:32;;1361:25:1;;;6960:32:0;;1334:18:1;6960:32:0;;;;;;;6665:335;;;:::o;7008:2769::-;-1:-1:-1;;;;;7096:18:0;;7088:68;;;;-1:-1:-1;;;7088:68:0;;9782:2:1;7088:68:0;;;9764:21:1;9821:2;9801:18;;;9794:30;9860:34;9840:18;;;9833:62;-1:-1:-1;;;9911:18:1;;;9904:35;9956:19;;7088:68:0;9580:401:1;7088:68:0;-1:-1:-1;;;;;7175:16:0;;7167:64;;;;-1:-1:-1;;;7167:64:0;;10188:2:1;7167:64:0;;;10170:21:1;10227:2;10207:18;;;10200:30;10266:34;10246:18;;;10239:62;-1:-1:-1;;;10317:18:1;;;10310:33;10360:19;;7167:64:0;9986:399:1;7167:64:0;7259:1;7250:6;:10;7242:64;;;;-1:-1:-1;;;7242:64:0;;10592:2:1;7242:64:0;;;10574:21:1;10631:2;10611:18;;;10604:30;10670:34;10650:18;;;10643:62;-1:-1:-1;;;10721:18:1;;;10714:39;10770:19;;7242:64:0;10390:405:1;7242:64:0;7317:17;2503:6;;-1:-1:-1;;;;;7351:15:0;;;2503:6;;7351:15;;;;:32;;-1:-1:-1;2476:7:0;2503:6;-1:-1:-1;;;;;7370:13:0;;;2503:6;;7370:13;;7351:32;7347:1910;;;7408:16;;-1:-1:-1;;;7408:16:0;;;;7400:51;;;;-1:-1:-1;;;7400:51:0;;11002:2:1;7400:51:0;;;10984:21:1;11041:2;11021:18;;;11014:30;-1:-1:-1;;;11060:18:1;;;11053:52;11122:18;;7400:51:0;10800:346:1;7400:51:0;7523:14;;7491:12;;;;7523:18;;7540:1;7523:18;:::i;:::-;:34;7520:749;;;7706:12;7685:14;;7702:1;7685:18;;;;:::i;:::-;:33;:72;;;;-1:-1:-1;7738:14:0;;:19;;7755:2;7738:19;:::i;:::-;7722:12;:35;;7685:72;7682:587;;;7791:2;7778:10;:15;;;7812:11;:16;7682:587;;;7875:12;7853:14;;7870:2;7853:19;;;;:::i;:::-;:34;:73;;;;-1:-1:-1;7907:14:0;;:19;;7924:2;7907:19;:::i;:::-;7891:12;:35;;7853:73;7850:419;;;7960:2;7947:10;:15;;;7981:11;:16;7850:419;;;8044:12;8022:14;;8039:2;8022:19;;;;:::i;:::-;:34;:73;;;;-1:-1:-1;8076:14:0;;:19;;8093:2;8076:19;:::i;:::-;8060:12;:35;;8022:73;8019:250;;;8129:1;8116:10;:14;8163:1;8149:11;:15;8019:250;;;8218:1;8205:10;:14;;;8238:11;:15;8019:250;8297:31;8324:3;8297:22;8308:10;;8297:6;:10;;:22;;;;:::i;:::-;:26;;:31::i;:::-;8357:13;;8285:43;;-1:-1:-1;;;;;;8349:21:0;;;8357:13;;8349:21;:55;;;;-1:-1:-1;8388:15:0;;-1:-1:-1;;;;;8374:30:0;;;8388:15;;8374:30;;8349:55;:83;;;;-1:-1:-1;;;;;;8410:22:0;;;;;;:18;:22;;;;;;;;8408:24;8349:83;8345:283;;;8472:12;;8462:6;:22;;8454:60;;;;-1:-1:-1;;;8454:60:0;;11483:2:1;8454:60:0;;;11465:21:1;11522:2;11502:18;;;11495:30;11561:27;11541:18;;;11534:55;11606:18;;8454:60:0;11281:349:1;8454:60:0;8567:14;;8557:6;8541:13;8551:2;-1:-1:-1;;;;;5815:18:0;5788:7;5815:18;;;:9;:18;;;;;;;5722:119;8541:13;:22;;;;:::i;:::-;:40;;8533:79;;;;-1:-1:-1;;;8533:79:0;;11837:2:1;8533:79:0;;;11819:21:1;11876:2;11856:18;;;11849:30;11915:28;11895:18;;;11888:56;11961:18;;8533:79:0;11635:350:1;8533:79:0;8653:13;;-1:-1:-1;;;;;8647:19:0;;;8653:13;;8647:19;:43;;;;-1:-1:-1;;;;;;8670:20:0;;8685:4;8670:20;;8647:43;8644:127;;;8723:32;8751:3;8723:23;8734:11;;8723:6;:10;;:23;;;;:::i;:32::-;8711:44;;8644:127;8836:4;8787:28;5815:18;;;:9;:18;;;;;;8862:6;;-1:-1:-1;;;8862:6:0;;;;8861:7;:32;;;;-1:-1:-1;8880:13:0;;-1:-1:-1;;;;;8872:21:0;;;8880:13;;8872:21;8861:32;:47;;;;-1:-1:-1;8897:11:0;;-1:-1:-1;;;8897:11:0;;;;8861:47;:89;;;;;8933:17;;8912:20;:38;8861:89;8857:389;;;8971:67;8988:49;8992:6;8999:37;9003:20;9024:11;;8999:3;:37::i;:::-;8988:3;:49::i;:::-;8971:16;:67::i;:::-;9086:21;9129:22;;9126:105;;9176:35;9189:21;9176:12;:35::i;:::-;8952:294;8857:389;7385:1872;;7347:1910;-1:-1:-1;;;;;9274:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9302:22:0;;;;;;:18;:22;;;;;;;;9274:50;9273:102;;;-1:-1:-1;9338:13:0;;-1:-1:-1;;;;;9330:21:0;;;9338:13;;9330:21;;;;:44;;-1:-1:-1;9361:13:0;;-1:-1:-1;;;;;9355:19:0;;;9361:13;;9355:19;;9330:44;9269:148;;;-1:-1:-1;9404:1:0;9269:148;9432:13;;9429:163;;9502:4;9484:24;;;;:9;:24;;;;;;:39;;9513:9;9484:28;:39::i;:::-;9477:4;9459:24;;;;:9;:24;;;;;;;:64;;;;9541:39;;-1:-1:-1;;;;;9541:39:0;;;;;;;9570:9;1361:25:1;;1349:2;1334:18;;1215:177;9541:39:0;;;;;;;;9429:163;-1:-1:-1;;;;;9620:15:0;;;;;;:9;:15;;;;;;:27;;9640:6;9620:19;:27::i;:::-;-1:-1:-1;;;;;9604:15:0;;;;;;:9;:15;;;;;:43;9672:40;9690:21;:6;9701:9;9690:10;:21::i;:::-;-1:-1:-1;;;;;9672:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9658:13:0;;;;;;;:9;:13;;;;;:54;;;;9728:41;;;9747:21;:6;9758:9;9747:10;:21::i;:::-;9728:41;;1361:25:1;;;1349:2;1334:18;9728:41:0;;;;;;;7077:2700;7008:2769;;;:::o;1330:190::-;1416:7;1452:12;1444:6;;;;1436:29;;;;-1:-1:-1;;;1436:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1476:9:0;1488:5;1492:1;1488;:5;:::i;:::-;1476:17;1330:190;-1:-1:-1;;;;;1330:190:0:o;9893:483::-;4951:6;:13;;-1:-1:-1;;;;4951:13:0;-1:-1:-1;;;4951:13:0;;;9995:16:::1;::::0;;10009:1:::1;9995:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9995:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9995:16:0::1;9971:40;;10040:4;10022;10027:1;10022:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10022:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10066:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10066:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10022:7;;10066:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10056:4;10061:1;10056:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10056:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10131:15:::1;::::0;10099:62:::1;::::0;10116:4:::1;::::0;10131:15:::1;10149:11:::0;10099:8:::1;:62::i;:::-;10172:15;::::0;:196:::1;::::0;-1:-1:-1;;;10172:196:0;;-1:-1:-1;;;;;10172:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10253:11;;10172:15:::1;::::0;10295:4;;10322::::1;::::0;10342:15:::1;::::0;10172:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4987:6:0;:14;;-1:-1:-1;;;;4987:14:0;;;-1:-1:-1;;;;9893:483:0:o;10588:92::-;10645:10;;:27;;:10;;;;-1:-1:-1;;;;;10645:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1528:246;1586:7;1610:1;1615;1610:6;1606:47;;-1:-1:-1;1640:1:0;1633:8;;1606:47;1663:9;1675:5;1679:1;1675;:5;:::i;:::-;1663:17;-1:-1:-1;1708:1:0;1699:5;1703:1;1663:17;1699:5;:::i;:::-;:10;1691:56;;;;-1:-1:-1;;;1691:56:0;;13664:2:1;1691:56:0;;;13646:21:1;13703:2;13683:18;;;13676:30;13742:34;13722:18;;;13715:62;-1:-1:-1;;;13793:18:1;;;13786:31;13834:19;;1691:56:0;13462:397:1;1691:56:0;1765:1;1528:246;-1:-1:-1;;;1528:246:0:o;1782:132::-;1840:7;1867:39;1871:1;1874;1867:39;;;;;;;;;;;;;;;;;:3;:39::i;9787:98::-;9844:7;9871:1;9869;:3;9868:9;;9876:1;9868:9;;;-1:-1:-1;9874:1:0;9787:98;-1:-1:-1;9787:98:0:o;999:179::-;1057:7;;1089:5;1093:1;1089;:5;:::i;:::-;1077:17;;1118:1;1113;:6;;1105:46;;;;-1:-1:-1;;;1105:46:0;;14066:2:1;1105:46:0;;;14048:21:1;14105:2;14085:18;;;14078:30;14144:29;14124:18;;;14117:57;14191:18;;1105:46:0;13864:351:1;1186:136:0;1244:7;1271:43;1275:1;1278;1271:43;;;;;;;;;;;;;;;;;:3;:43::i;1922:189::-;2008:7;2043:12;2036:5;2028:28;;;;-1:-1:-1;;;2028:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2067:9:0;2079:5;2083:1;2079;: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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:367::-;2110:8;2120:6;2174:3;2167:4;2159:6;2155:17;2151:27;2141:55;;2192:1;2189;2182:12;2141:55;-1:-1:-1;2215:20:1;;2258:18;2247:30;;2244:50;;;2290:1;2287;2280:12;2244:50;2327:4;2319:6;2315:17;2303:29;;2387:3;2380:4;2370:6;2367:1;2363:14;2355:6;2351:27;2347:38;2344:47;2341:67;;;2404:1;2401;2394:12;2341:67;2047:367;;;;;:::o;2419:773::-;2541:6;2549;2557;2565;2618:2;2606:9;2597:7;2593:23;2589:32;2586:52;;;2634:1;2631;2624:12;2586:52;2674:9;2661:23;2703:18;2744:2;2736:6;2733:14;2730:34;;;2760:1;2757;2750:12;2730:34;2799:70;2861:7;2852:6;2841:9;2837:22;2799:70;:::i;:::-;2888:8;;-1:-1:-1;2773:96:1;-1:-1:-1;2976:2:1;2961:18;;2948:32;;-1:-1:-1;2992:16:1;;;2989:36;;;3021:1;3018;3011:12;2989:36;;3060:72;3124:7;3113:8;3102:9;3098:24;3060:72;:::i;:::-;2419:773;;;;-1:-1:-1;3151:8:1;-1:-1:-1;;;;2419:773:1:o;3197:247::-;3256:6;3309:2;3297:9;3288:7;3284:23;3280:32;3277:52;;;3325:1;3322;3315:12;3277:52;3364:9;3351:23;3383:31;3408:5;3383:31;:::i;3657:388::-;3725:6;3733;3786:2;3774:9;3765:7;3761:23;3757:32;3754:52;;;3802:1;3799;3792:12;3754:52;3841:9;3828:23;3860:31;3885:5;3860:31;:::i;:::-;3910:5;-1:-1:-1;3967:2:1;3952:18;;3939:32;3980:33;3939:32;3980:33;:::i;:::-;4032:7;4022:17;;;3657:388;;;;;:::o;4050:127::-;4111:10;4106:3;4102:20;4099:1;4092:31;4142:4;4139:1;4132:15;4166:4;4163:1;4156:15;4182:422;4271:1;4314:5;4271:1;4328:270;4349:7;4339:8;4336:21;4328:270;;;4408:4;4404:1;4400:6;4396:17;4390:4;4387:27;4384:53;;;4417:18;;:::i;:::-;4467:7;4457:8;4453:22;4450:55;;;4487:16;;;;4450:55;4566:22;;;;4526:15;;;;4328:270;;;4332:3;4182:422;;;;;:::o;4609:806::-;4658:5;4688:8;4678:80;;-1:-1:-1;4729:1:1;4743:5;;4678:80;4777:4;4767:76;;-1:-1:-1;4814:1:1;4828:5;;4767:76;4859:4;4877:1;4872:59;;;;4945:1;4940:130;;;;4852:218;;4872:59;4902:1;4893:10;;4916:5;;;4940:130;4977:3;4967:8;4964:17;4961:43;;;4984:18;;:::i;:::-;-1:-1:-1;;5040:1:1;5026:16;;5055:5;;4852:218;;5154:2;5144:8;5141:16;5135:3;5129:4;5126:13;5122:36;5116:2;5106:8;5103:16;5098:2;5092:4;5089:12;5085:35;5082:77;5079:159;;;-1:-1:-1;5191:19:1;;;5223:5;;5079:159;5270:34;5295:8;5289:4;5270:34;:::i;:::-;5340:6;5336:1;5332:6;5328:19;5319:7;5316:32;5313:58;;;5351:18;;:::i;:::-;5389:20;;4609:806;-1:-1:-1;;;4609:806:1:o;5420:140::-;5478:5;5507:47;5548:4;5538:8;5534:19;5528:4;5507:47;:::i;5565:168::-;5638:9;;;5669;;5686:15;;;5680:22;;5666:37;5656:71;;5707:18;;:::i;5738:127::-;5799:10;5794:3;5790:20;5787:1;5780:31;5830:4;5827:1;5820:15;5854:4;5851:1;5844:15;5870:135;5909:3;5930:17;;;5927:43;;5950:18;;:::i;:::-;-1:-1:-1;5997:1:1;5986:13;;5870:135::o;6010:356::-;6212:2;6194:21;;;6231:18;;;6224:30;6290:34;6285:2;6270:18;;6263:62;6357:2;6342:18;;6010:356::o;6723:251::-;6793:6;6846:2;6834:9;6825:7;6821:23;6817:32;6814:52;;;6862:1;6859;6852:12;6814:52;6894:9;6888:16;6913:31;6938:5;6913:31;:::i;7900:306::-;7988:6;7996;8004;8057:2;8045:9;8036:7;8032:23;8028:32;8025:52;;;8073:1;8070;8063:12;8025:52;8102:9;8096:16;8086:26;;8152:2;8141:9;8137:18;8131:25;8121:35;;8196:2;8185:9;8181:18;8175:25;8165:35;;7900:306;;;;;:::o;8490:277::-;8557:6;8610:2;8598:9;8589:7;8585:23;8581:32;8578:52;;;8626:1;8623;8616:12;8578:52;8658:9;8652:16;8711:5;8704:13;8697:21;8690:5;8687:32;8677:60;;8733:1;8730;8723:12;11151:125;11216:9;;;11237:10;;;11234:36;;;11250:18;;:::i;11990:128::-;12057:9;;;12078:11;;;12075:37;;;12092:18;;:::i;12255:980::-;12517:4;12565:3;12554:9;12550:19;12596:6;12585:9;12578:25;12622:2;12660:6;12655:2;12644:9;12640:18;12633:34;12703:3;12698:2;12687:9;12683:18;12676:31;12727:6;12762;12756:13;12793:6;12785;12778:22;12831:3;12820:9;12816:19;12809:26;;12870:2;12862:6;12858:15;12844:29;;12891:1;12901:195;12915:6;12912:1;12909:13;12901:195;;;12980:13;;-1:-1:-1;;;;;12976:39:1;12964:52;;13071:15;;;;13036:12;;;;13012:1;12930:9;12901:195;;;-1:-1:-1;;;;;;;13152:32:1;;;;13147:2;13132:18;;13125:60;-1:-1:-1;;;13216:3:1;13201:19;13194:35;13113:3;12255:980;-1:-1:-1;;;12255:980:1:o;13240:217::-;13280:1;13306;13296:132;;13350:10;13345:3;13341:20;13338:1;13331:31;13385:4;13382:1;13375:15;13413:4;13410:1;13403:15;13296:132;-1:-1:-1;13442:9:1;;13240:217::o

Swarm Source

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