ETH Price: $2,681.53 (+1.98%)

Token

KONGEI (KONGEI)
 

Overview

Max Total Supply

1,000,000,000 KONGEI

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
26,646,724.189918329 KONGEI

Value
$0.00
0x4b80c228dadB67FFD0ecE86C69571BeA4B9688a6
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:
KONGEI

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-03
*/

// SPDX-License-Identifier: MIT
/*
The Kongei crypto project swung into action after a wild ride – the original Kongei took a tumble! But fear not, the community didn't monkey around. Taking the reigns like a troop of determined primates, we didn't just swing into action; we went bananas!

Website: https://www.kongei.vip
Telegram: https://t.me/kongei_eth
Twitter: https://x.com/kongei_eth
*/
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 isnt 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 KONGEI 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 = false;
    address payable private _taxWallet;
    uint256 private _initialBuyTax = 28;
    uint256 private _initialSellTax = 28;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 10;
    uint256 private _reduceSellTaxAt = 10;
    uint256 private _preventSwapBefore = 0;
    uint256 private _buyCount = 0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"KONGEI";
    string private constant _symbol = unicode"KONGEI";
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals; // max tx
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals; // max wallet
    uint256 public _swapThreshold = 100 * 10 ** _decimals; // swap threshhold
    uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals; //
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() {
        _taxWallet = payable(0x47866Ba5fd2d7d2BD92eCa7853313dbAd6C631fd);
        _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 zero address");
        require(spender != address(0), "ERC20: approve to zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 tokenAmount) private {
        require(from != address(0), "ERC20: transfer from zero address");
        require(to != address(0), "ERC20: transfer to zero address");
        require(tokenAmount > 0, "Transfer amount must be > than zero");
        if (inSwap || !swapEnabled) {
            _balances[from] = _balances[from].sub(tokenAmount);
            _balances[to] = _balances[to].add(tokenAmount);
            emit Transfer(from, to, tokenAmount);
            return;
        }
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only 1 purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(tokenAmount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + tokenAmount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                if(contractTokenBalance > _swapThreshold) {
                    swapTokensForEth(
                        min(tokenAmount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        _transferInternal(from, to, tokenAmount);
    }
    function _transferInternal(address from, address to, uint256 tokenAmount) internal {
        (uint256 rAmount, uint256 taxAmount) = _getRVals(from, to, tokenAmount);
        _balances[from] = _balances[from].sub(rAmount);
        _balances[to] = _balances[to].add(tokenAmount.sub(taxAmount));
        emit Transfer(from, to, tokenAmount.sub(taxAmount));
    }
    function _getRVals(
        address from,
        address to,
        uint256 tokenAmount
    ) internal returns (uint256, uint256) {
        uint256 rAmount = !_isExcludedFromFee[from] ? tokenAmount : 0;
        uint256 taxAmount = 0;
        
        if (to == uniswapV2Pair && from != address(this)) {
            taxAmount = tokenAmount
                .mul(
                    (_buyCount > _reduceSellTaxAt)
                        ? _finalSellTax
                        : _initialSellTax
                )
                .div(100);
        } else {
            taxAmount = tokenAmount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);
        }
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)] + taxAmount;
            emit Transfer(from, address(this), taxAmount);
        }
        return (rAmount, 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 createKong() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }
    function openFROPPY() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
    function recoverStuckETH() external onlyOwner {
        sendETHToFee(address(this).balance);
    }
    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":"_swapThreshold","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":"createKong","outputs":[],"stateMutability":"nonpayable","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":"openFROPPY","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverStuckETH","outputs":[],"stateMutability":"nonpayable","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"}]

60806040526006805460ff19169055601c600781905560085560006009818155600a828155600b819055600c819055600d839055600e9290925562000044916200035e565b62000054906301312d0062000376565b600f55620000656009600a6200035e565b62000075906301312d0062000376565b601055620000866009600a6200035e565b6200009390606462000376565b601155620000a46009600a6200035e565b620000b3906298968062000376565b6012556014805461ffff60a81b19169055348015620000d157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319167447866ba5fd2d7d2bd92eca7853313dbad6c631fd00179055620001496009600a6200035e565b6200015990633b9aca0062000376565b336000908152600160208190526040822092909255600390620001846000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001e83390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002226009600a6200035e565b6200023290633b9aca0062000376565b60405190815260200160405180910390a362000390565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a057816000190482111562000284576200028462000249565b808516156200029257918102915b93841c939080029062000264565b509250929050565b600082620002b95750600162000358565b81620002c85750600062000358565b8160018114620002e15760028114620002ec576200030c565b600191505062000358565b60ff84111562000300576200030062000249565b50506001821b62000358565b5060208310610133831016604e8410600b841016171562000331575081810a62000358565b6200033d83836200025f565b806000190482111562000354576200035462000249565b0290505b92915050565b60006200036f60ff841683620002a8565b9392505050565b808202811582820484141762000358576200035862000249565b611a0f80620003a06000396000f3fe6080604052600436106101235760003560e01c8063751039fc116100a05780638f9a55c0116100645780638f9a55c01461030757806395d89b411461012f578063a9059cbb1461031d578063c876d0b91461033d578063dd62ed3e1461035757600080fd5b8063751039fc1461028a5780637d1db4a51461029f57806381000db3146102b557806381a16445146102ca5780638da5cb5b146102df57600080fd5b806323b872dd116100e757806323b872dd146101ec578063313ce5671461020c5780634247cda21461022857806370a082311461023f578063715018a61461027557600080fd5b806306fdde031461012f578063095ea7b31461016d5780630e5a92311461019d5780630faee56f146101c157806318160ddd146101d757600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201825260068152654b4f4e47454960d01b6020820152905161016491906115dc565b60405180910390f35b34801561017957600080fd5b5061018d610188366004611642565b61039d565b6040519015158152602001610164565b3480156101a957600080fd5b506101b360115481565b604051908152602001610164565b3480156101cd57600080fd5b506101b360125481565b3480156101e357600080fd5b506101b36103b4565b3480156101f857600080fd5b5061018d61020736600461166e565b6103d5565b34801561021857600080fd5b5060405160098152602001610164565b34801561023457600080fd5b5061023d61043e565b005b34801561024b57600080fd5b506101b361025a3660046116af565b6001600160a01b031660009081526001602052604090205490565b34801561028157600080fd5b5061023d610636565b34801561029657600080fd5b5061023d6106aa565b3480156102ab57600080fd5b506101b3600f5481565b3480156102c157600080fd5b5061023d610766565b3480156102d657600080fd5b5061023d610969565b3480156102eb57600080fd5b506000546040516001600160a01b039091168152602001610164565b34801561031357600080fd5b506101b360105481565b34801561032957600080fd5b5061018d610338366004611642565b61099e565b34801561034957600080fd5b5060065461018d9060ff1681565b34801561036357600080fd5b506101b36103723660046116cc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103aa3384846109ab565b5060015b92915050565b60006103c26009600a6117ff565b6103d090633b9aca0061180e565b905090565b60006103e2848484610ab9565b610434843361042f856040518060600160405280602881526020016119b2602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061101e565b6109ab565b5060019392505050565b6000546001600160a01b031633146104715760405162461bcd60e51b815260040161046890611825565b60405180910390fd5b601454600160a01b900460ff16156104cb5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610468565b6013546001600160a01b031663f305d71947306104fd816001600160a01b031660009081526001602052604090205490565b6000806105126000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561057a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061059f919061185c565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156105f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c919061188a565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146106605760405162461bcd60e51b815260040161046890611825565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106d45760405162461bcd60e51b815260040161046890611825565b6106e06009600a6117ff565b6106ee90633b9aca0061180e565b600f556106fd6009600a6117ff565b61070b90633b9aca0061180e565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107456009600a6117ff565b61075390633b9aca0061180e565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040161046890611825565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107d99030906107cb6009600a6117ff565b61042f90633b9aca0061180e565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085091906118ac565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d691906118ac565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610923573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094791906118ac565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109935760405162461bcd60e51b815260040161046890611825565b61099c47611058565b565b60006103aa338484610ab9565b6001600160a01b038316610a015760405162461bcd60e51b815260206004820181905260248201527f45524332303a20617070726f76652066726f6d207a65726f20616464726573736044820152606401610468565b6001600160a01b038216610a575760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20617070726f766520746f207a65726f206164647265737300006044820152606401610468565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b195760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610468565b6001600160a01b038216610b6f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610468565b60008111610bcb5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a60448201526265726f60e81b6064820152608401610468565b601454600160a81b900460ff1680610bed5750601454600160b01b900460ff16155b15610c98576001600160a01b038316600090815260016020526040902054610c15908261109a565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c4490826110e3565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610aac9085815260200190565b6000546001600160a01b03848116911614801590610cc457506000546001600160a01b03838116911614155b1561100e576001600160a01b03831660009081526004602052604090205460ff16158015610d0b57506001600160a01b03821660009081526004602052604090205460ff16155b610d1457600080fd5b60065460ff1615610df7576013546001600160a01b03838116911614801590610d4b57506014546001600160a01b03838116911614155b15610df757326000908152600560205260409020544311610de45760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a401610468565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e2257506013546001600160a01b03838116911614155b8015610e4757506001600160a01b03821660009081526003602052604090205460ff16155b15610f2f57600f54811115610e9e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610468565b60105481610ec1846001600160a01b031660009081526001602052604090205490565b610ecb91906118c9565b1115610f195760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610468565b600e8054906000610f29836118dc565b91905055505b30600090815260016020526040902054601454600160a81b900460ff16158015610f6657506014546001600160a01b038481169116145b8015610f7b5750601454600160b01b900460ff165b8015610f8a5750600d54600e54115b8015610faf57506001600160a01b03841660009081526003602052604090205460ff16155b8015610fd457506001600160a01b03831660009081526003602052604090205460ff16155b1561100c5760115481111561100057611000610ffb83610ff684601254611142565b611142565b611157565b4761100a47611058565b505b505b6110198383836112d1565b505050565b600081848411156110425760405162461bcd60e51b815260040161046891906115dc565b50600061104f84866118f5565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015611096573d6000803e3d6000fd5b5050565b60006110dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101e565b9392505050565b6000806110f083856118c9565b9050838110156110dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610468565b600081831161115157826110dc565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061119f5761119f611908565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121c91906118ac565b8160018151811061122f5761122f611908565b6001600160a01b03928316602091820292909201015260135461125591309116846109ab565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061128e90859060009086903090429060040161191e565b600060405180830381600087803b1580156112a857600080fd5b505af11580156112bc573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6000806112df8585856113ae565b6001600160a01b0387166000908152600160205260409020549193509150611307908361109a565b6001600160a01b03861660009081526001602052604090205561134c61132d848361109a565b6001600160a01b038616600090815260016020526040902054906110e3565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611396868561109a565b60405190815260200160405180910390a35050505050565b6001600160a01b0383166000908152600360205260408120548190819060ff16156113da5760006113dc565b835b6014549091506000906001600160a01b03878116911614801561140857506001600160a01b0387163014155b15611440576114396064611433600c54600e54116114285760085461142c565b600a545b88906114ef565b90611571565b9050611468565b6114656064611433600b54600e541161145b5760075461142c565b60095488906114ef565b90505b80156114e357306000908152600160205260409020546114899082906118c9565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114da9085815260200190565b60405180910390a35b90969095509350505050565b600082600003611501575060006103ae565b600061150d838561180e565b90508261151a858361198f565b146110dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610468565b60006110dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115cf5760405162461bcd60e51b815260040161046891906115dc565b50600061104f848661198f565b600060208083528351808285015260005b81811015611609578581018301518582016040015282016115ed565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461163f57600080fd5b50565b6000806040838503121561165557600080fd5b82356116608161162a565b946020939093013593505050565b60008060006060848603121561168357600080fd5b833561168e8161162a565b9250602084013561169e8161162a565b929592945050506040919091013590565b6000602082840312156116c157600080fd5b81356110dc8161162a565b600080604083850312156116df57600080fd5b82356116ea8161162a565b915060208301356116fa8161162a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561175657816000190482111561173c5761173c611705565b8085161561174957918102915b93841c9390800290611720565b509250929050565b60008261176d575060016103ae565b8161177a575060006103ae565b8160018114611790576002811461179a576117b6565b60019150506103ae565b60ff8411156117ab576117ab611705565b50506001821b6103ae565b5060208310610133831016604e8410600b84101617156117d9575081810a6103ae565b6117e3838361171b565b80600019048211156117f7576117f7611705565b029392505050565b60006110dc60ff84168361175e565b80820281158282048414176103ae576103ae611705565b6020808252601a908201527f4f776e61626c653a2063616c6c65722069736e74206f776e6572000000000000604082015260600190565b60008060006060848603121561187157600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561189c57600080fd5b815180151581146110dc57600080fd5b6000602082840312156118be57600080fd5b81516110dc8161162a565b808201808211156103ae576103ae611705565b6000600182016118ee576118ee611705565b5060010190565b818103818111156103ae576103ae611705565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561196e5784516001600160a01b031683529383019391830191600101611949565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119ac57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b96638e9eb1f80b8ae5e8f0891cd19b09932d0bb9d01182628f5f23dea0c773f64736f6c63430008140033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063751039fc116100a05780638f9a55c0116100645780638f9a55c01461030757806395d89b411461012f578063a9059cbb1461031d578063c876d0b91461033d578063dd62ed3e1461035757600080fd5b8063751039fc1461028a5780637d1db4a51461029f57806381000db3146102b557806381a16445146102ca5780638da5cb5b146102df57600080fd5b806323b872dd116100e757806323b872dd146101ec578063313ce5671461020c5780634247cda21461022857806370a082311461023f578063715018a61461027557600080fd5b806306fdde031461012f578063095ea7b31461016d5780630e5a92311461019d5780630faee56f146101c157806318160ddd146101d757600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201825260068152654b4f4e47454960d01b6020820152905161016491906115dc565b60405180910390f35b34801561017957600080fd5b5061018d610188366004611642565b61039d565b6040519015158152602001610164565b3480156101a957600080fd5b506101b360115481565b604051908152602001610164565b3480156101cd57600080fd5b506101b360125481565b3480156101e357600080fd5b506101b36103b4565b3480156101f857600080fd5b5061018d61020736600461166e565b6103d5565b34801561021857600080fd5b5060405160098152602001610164565b34801561023457600080fd5b5061023d61043e565b005b34801561024b57600080fd5b506101b361025a3660046116af565b6001600160a01b031660009081526001602052604090205490565b34801561028157600080fd5b5061023d610636565b34801561029657600080fd5b5061023d6106aa565b3480156102ab57600080fd5b506101b3600f5481565b3480156102c157600080fd5b5061023d610766565b3480156102d657600080fd5b5061023d610969565b3480156102eb57600080fd5b506000546040516001600160a01b039091168152602001610164565b34801561031357600080fd5b506101b360105481565b34801561032957600080fd5b5061018d610338366004611642565b61099e565b34801561034957600080fd5b5060065461018d9060ff1681565b34801561036357600080fd5b506101b36103723660046116cc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103aa3384846109ab565b5060015b92915050565b60006103c26009600a6117ff565b6103d090633b9aca0061180e565b905090565b60006103e2848484610ab9565b610434843361042f856040518060600160405280602881526020016119b2602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061101e565b6109ab565b5060019392505050565b6000546001600160a01b031633146104715760405162461bcd60e51b815260040161046890611825565b60405180910390fd5b601454600160a01b900460ff16156104cb5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610468565b6013546001600160a01b031663f305d71947306104fd816001600160a01b031660009081526001602052604090205490565b6000806105126000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561057a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061059f919061185c565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156105f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c919061188a565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146106605760405162461bcd60e51b815260040161046890611825565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106d45760405162461bcd60e51b815260040161046890611825565b6106e06009600a6117ff565b6106ee90633b9aca0061180e565b600f556106fd6009600a6117ff565b61070b90633b9aca0061180e565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107456009600a6117ff565b61075390633b9aca0061180e565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040161046890611825565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107d99030906107cb6009600a6117ff565b61042f90633b9aca0061180e565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085091906118ac565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d691906118ac565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610923573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094791906118ac565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109935760405162461bcd60e51b815260040161046890611825565b61099c47611058565b565b60006103aa338484610ab9565b6001600160a01b038316610a015760405162461bcd60e51b815260206004820181905260248201527f45524332303a20617070726f76652066726f6d207a65726f20616464726573736044820152606401610468565b6001600160a01b038216610a575760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20617070726f766520746f207a65726f206164647265737300006044820152606401610468565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b195760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610468565b6001600160a01b038216610b6f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610468565b60008111610bcb5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a60448201526265726f60e81b6064820152608401610468565b601454600160a81b900460ff1680610bed5750601454600160b01b900460ff16155b15610c98576001600160a01b038316600090815260016020526040902054610c15908261109a565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c4490826110e3565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610aac9085815260200190565b6000546001600160a01b03848116911614801590610cc457506000546001600160a01b03838116911614155b1561100e576001600160a01b03831660009081526004602052604090205460ff16158015610d0b57506001600160a01b03821660009081526004602052604090205460ff16155b610d1457600080fd5b60065460ff1615610df7576013546001600160a01b03838116911614801590610d4b57506014546001600160a01b03838116911614155b15610df757326000908152600560205260409020544311610de45760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a401610468565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e2257506013546001600160a01b03838116911614155b8015610e4757506001600160a01b03821660009081526003602052604090205460ff16155b15610f2f57600f54811115610e9e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610468565b60105481610ec1846001600160a01b031660009081526001602052604090205490565b610ecb91906118c9565b1115610f195760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610468565b600e8054906000610f29836118dc565b91905055505b30600090815260016020526040902054601454600160a81b900460ff16158015610f6657506014546001600160a01b038481169116145b8015610f7b5750601454600160b01b900460ff165b8015610f8a5750600d54600e54115b8015610faf57506001600160a01b03841660009081526003602052604090205460ff16155b8015610fd457506001600160a01b03831660009081526003602052604090205460ff16155b1561100c5760115481111561100057611000610ffb83610ff684601254611142565b611142565b611157565b4761100a47611058565b505b505b6110198383836112d1565b505050565b600081848411156110425760405162461bcd60e51b815260040161046891906115dc565b50600061104f84866118f5565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015611096573d6000803e3d6000fd5b5050565b60006110dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101e565b9392505050565b6000806110f083856118c9565b9050838110156110dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610468565b600081831161115157826110dc565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061119f5761119f611908565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121c91906118ac565b8160018151811061122f5761122f611908565b6001600160a01b03928316602091820292909201015260135461125591309116846109ab565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061128e90859060009086903090429060040161191e565b600060405180830381600087803b1580156112a857600080fd5b505af11580156112bc573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6000806112df8585856113ae565b6001600160a01b0387166000908152600160205260409020549193509150611307908361109a565b6001600160a01b03861660009081526001602052604090205561134c61132d848361109a565b6001600160a01b038616600090815260016020526040902054906110e3565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611396868561109a565b60405190815260200160405180910390a35050505050565b6001600160a01b0383166000908152600360205260408120548190819060ff16156113da5760006113dc565b835b6014549091506000906001600160a01b03878116911614801561140857506001600160a01b0387163014155b15611440576114396064611433600c54600e54116114285760085461142c565b600a545b88906114ef565b90611571565b9050611468565b6114656064611433600b54600e541161145b5760075461142c565b60095488906114ef565b90505b80156114e357306000908152600160205260409020546114899082906118c9565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114da9085815260200190565b60405180910390a35b90969095509350505050565b600082600003611501575060006103ae565b600061150d838561180e565b90508261151a858361198f565b146110dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610468565b60006110dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115cf5760405162461bcd60e51b815260040161046891906115dc565b50600061104f848661198f565b600060208083528351808285015260005b81811015611609578581018301518582016040015282016115ed565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461163f57600080fd5b50565b6000806040838503121561165557600080fd5b82356116608161162a565b946020939093013593505050565b60008060006060848603121561168357600080fd5b833561168e8161162a565b9250602084013561169e8161162a565b929592945050506040919091013590565b6000602082840312156116c157600080fd5b81356110dc8161162a565b600080604083850312156116df57600080fd5b82356116ea8161162a565b915060208301356116fa8161162a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561175657816000190482111561173c5761173c611705565b8085161561174957918102915b93841c9390800290611720565b509250929050565b60008261176d575060016103ae565b8161177a575060006103ae565b8160018114611790576002811461179a576117b6565b60019150506103ae565b60ff8411156117ab576117ab611705565b50506001821b6103ae565b5060208310610133831016604e8410600b84101617156117d9575081810a6103ae565b6117e3838361171b565b80600019048211156117f7576117f7611705565b029392505050565b60006110dc60ff84168361175e565b80820281158282048414176103ae576103ae611705565b6020808252601a908201527f4f776e61626c653a2063616c6c65722069736e74206f776e6572000000000000604082015260600190565b60008060006060848603121561187157600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561189c57600080fd5b815180151581146110dc57600080fd5b6000602082840312156118be57600080fd5b81516110dc8161162a565b808201808211156103ae576103ae611705565b6000600182016118ee576118ee611705565b5060010190565b818103818111156103ae576103ae611705565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561196e5784516001600160a01b031683529383019391830191600101611949565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119ac57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b96638e9eb1f80b8ae5e8f0891cd19b09932d0bb9d01182628f5f23dea0c773f64736f6c63430008140033

Deployed Bytecode Sourcemap

4062:9699:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6071:83;;;;;;;;;;-1:-1:-1;6141:5:0;;;;;;;;;;;-1:-1:-1;;;6141:5:0;;;;6071:83;;;;6141:5;6071:83;:::i;:::-;;;;;;;;6940:186;;;;;;;;;;-1:-1:-1;6940:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6940:186:0;1023:187:1;5240:53:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5240:53:0;1215:177:1;5319:55:0;;;;;;;;;;;;;;;;6342:95;;;;;;;;;;;;;:::i;7132:446::-;;;;;;;;;;-1:-1:-1;7132:446:0;;;;;:::i;:::-;;:::i;6253:83::-;;;;;;;;;;-1:-1:-1;6253:83:0;;4900:1;2000:36:1;;1988:2;1973:18;6253:83:0;1858:184:1;13135:482:0;;;;;;;;;;;;;:::i;:::-;;6443:119;;;;;;;;;;-1:-1:-1;6443:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6536:18:0;6509:7;6536:18;;;:9;:18;;;;;;;6443:119;3099:148;;;;;;;;;;;;;:::i;12431:201::-;;;;;;;;;;;;;:::i;5088:56::-;;;;;;;;;;;;;;;;12738:391;;;;;;;;;;;;;:::i;13623:100::-;;;;;;;;;;;;;:::i;2895:79::-;;;;;;;;;;-1:-1:-1;2933:7:0;2960:6;2895:79;;-1:-1:-1;;;;;2960:6:0;;;2445:51:1;;2433:2;2418:18;2895:79:0;2299:203:1;5161:58:0;;;;;;;;;;;;;;;;6568:192;;;;;;;;;;-1:-1:-1;6568:192:0;;;;;:::i;:::-;;:::i;4445:40::-;;;;;;;;;;-1:-1:-1;4445:40:0;;;;;;;;6766:168;;;;;;;;;;-1:-1:-1;6766:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6899:18:0;;;6872:7;6899:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6766:168;6940:186;7040:4;7057:39;542:10;7080:7;7089:6;7057:8;:39::i;:::-;-1:-1:-1;7114:4:0;6940:186;;;;;:::o;6342:95::-;6395:7;4956:15;4900:1;4956:2;:15;:::i;:::-;4943:28;;:10;:28;:::i;:::-;6415:14;;6342:95;:::o;7132:446::-;7264:4;7281:36;7291:6;7299:9;7310:6;7281:9;:36::i;:::-;7328:220;7351:6;542:10;7399:138;7455:6;7399:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7399:19:0;;;;;;:11;:19;;;;;;;;542:10;7399:33;;;;;;;;;;:37;:138::i;:::-;7328:8;:220::i;:::-;-1:-1:-1;7566:4:0;7132:446;;;;;:::o;13135:482::-;3020:6;;-1:-1:-1;;;;;3020:6:0;542:10;3020:22;3012:61;;;;-1:-1:-1;;;3012:61:0;;;;;;;:::i;:::-;;;;;;;;;13196:11:::1;::::0;-1:-1:-1;;;13196:11:0;::::1;;;13195:12;13187:48;;;::::0;-1:-1:-1;;;13187:48:0;;5145:2:1;13187:48:0::1;::::0;::::1;5127:21:1::0;5184:2;5164:18;;;5157:30;5223:25;5203:18;;;5196:53;5266:18;;13187:48:0::1;4943:347:1::0;13187:48:0::1;13246:15;::::0;-1:-1:-1;;;;;13246:15:0::1;:31;13285:21;13330:4;13350:24;13330:4:::0;-1:-1:-1;;;;;6536:18:0;6509:7;6536:18;;;:9;:18;;;;;;;6443:119;13350:24:::1;13389:1;13405::::0;13421:7:::1;2933::::0;2960:6;-1:-1:-1;;;;;2960:6:0;;2895:79;13421:7:::1;13246:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13246:223:0;;;-1:-1:-1;;;;;5654:15:1;;;13246:223:0::1;::::0;::::1;5636:34:1::0;5686:18;;;5679:34;;;;5729:18;;;5722:34;;;;5772:18;;;5765:34;5836:15;;;5815:19;;;5808:44;13443:15:0::1;5868:19:1::0;;;5861:35;5570:19;;13246:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13487:13:0::1;::::0;13518:15:::1;::::0;13480:71:::1;::::0;-1:-1:-1;;;13480:71:0;;-1:-1:-1;;;;;13518:15:0;;::::1;13480:71;::::0;::::1;6392:51:1::0;-1:-1:-1;;6459:18:1;;;6452:34;13487:13:0;::::1;::::0;-1:-1:-1;13480:29:0::1;::::0;6365:18:1;;13480:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13562:11:0::1;:18:::0;;-1:-1:-1;;;;13591:18:0;-1:-1:-1;;;13591:18:0;;;13135:482::o;3099:148::-;3020:6;;-1:-1:-1;;;;;3020:6:0;542:10;3020:22;3012:61;;;;-1:-1:-1;;;3012:61:0;;;;;;;:::i;:::-;3206:1:::1;3190:6:::0;;3169:40:::1;::::0;-1:-1:-1;;;;;3190:6:0;;::::1;::::0;3169:40:::1;::::0;3206:1;;3169:40:::1;3237:1;3220:19:::0;;-1:-1:-1;;;;;;3220:19:0::1;::::0;;3099:148::o;12431:201::-;3020:6;;-1:-1:-1;;;;;3020:6:0;542:10;3020:22;3012:61;;;;-1:-1:-1;;;3012:61:0;;;;;;;:::i;:::-;4956:15:::1;4900:1;4956:2;:15;:::i;:::-;4943:28;::::0;:10:::1;:28;:::i;:::-;12485:12;:22:::0;4956:15:::1;4900:1;4956:2;:15;:::i;:::-;4943:28;::::0;:10:::1;:28;:::i;:::-;12518:14;:24:::0;12553:20:::1;:28:::0;;-1:-1:-1;;12553:28:0::1;::::0;;12597:27:::1;4956:15;4900:1;-1:-1:-1::0;4956:15:0::1;:::i;:::-;4943:28;::::0;:10:::1;:28;:::i;:::-;12597:27;::::0;1361:25:1;;;1349:2;1334:18;12597:27:0::1;;;;;;;12431:201::o:0;12738:391::-;3020:6;;-1:-1:-1;;;;;3020:6:0;542:10;3020:22;3012:61;;;;-1:-1:-1;;;3012:61:0;;;;;;;:::i;:::-;12790:15:::1;:104:::0;;-1:-1:-1;;;;;;12790:104:0::1;12841:42;12790:104:::0;;::::1;::::0;;;12905:58:::1;::::0;12922:4:::1;::::0;4956:15:::1;4900:1;4956:2;:15;:::i;:::-;4943:28;::::0;:10:::1;:28;:::i;12905:58::-;13008:15;;;;;;;;;-1:-1:-1::0;;;;;13008:15:0::1;-1:-1:-1::0;;;;;13008:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12990:55:0::1;;13068:4;13088:15;;;;;;;;;-1:-1:-1::0;;;;;13088:15:0::1;-1:-1:-1::0;;;;;13088:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12990:131;::::0;-1:-1:-1;;;;;;12990:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7265:15:1;;;12990:131:0::1;::::0;::::1;7247:34:1::0;7317:15;;7297:18;;;7290:43;7182:18;;12990:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12974:13;:147:::0;;-1:-1:-1;;;;;;12974:147:0::1;-1:-1:-1::0;;;;;12974:147:0;;;::::1;::::0;;;::::1;::::0;;12738:391::o;13623:100::-;3020:6;;-1:-1:-1;;;;;3020:6:0;542:10;3020:22;3012:61;;;;-1:-1:-1;;;3012:61:0;;;;;;;:::i;:::-;13680:35:::1;13693:21;13680:12;:35::i;:::-;13623:100::o:0;6568:192::-;6671:4;6688:42;542:10;6712:9;6723:6;6688:9;:42::i;7584:327::-;-1:-1:-1;;;;;7677:19:0;;7669:64;;;;-1:-1:-1;;;7669:64:0;;7546:2:1;7669:64:0;;;7528:21:1;;;7565:18;;;7558:30;7624:34;7604:18;;;7597:62;7676:18;;7669:64:0;7344:356:1;7669:64:0;-1:-1:-1;;;;;7752:21:0;;7744:64;;;;-1:-1:-1;;;7744:64:0;;7907:2:1;7744:64:0;;;7889:21:1;7946:2;7926:18;;;7919:30;7985:32;7965:18;;;7958:60;8035:18;;7744:64:0;7705:354:1;7744:64:0;-1:-1:-1;;;;;7819:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7871:32;;1361:25:1;;;7871:32:0;;1334:18:1;7871:32:0;;;;;;;;7584:327;;;:::o;7917:2482::-;-1:-1:-1;;;;;8010:18:0;;8002:64;;;;-1:-1:-1;;;8002:64:0;;8266:2:1;8002:64:0;;;8248:21:1;8305:2;8285:18;;;8278:30;8344:34;8324:18;;;8317:62;-1:-1:-1;;;8395:18:1;;;8388:31;8436:19;;8002:64:0;8064:397:1;8002:64:0;-1:-1:-1;;;;;8085:16:0;;8077:60;;;;-1:-1:-1;;;8077:60:0;;8668:2:1;8077:60:0;;;8650:21:1;8707:2;8687:18;;;8680:30;8746:33;8726:18;;;8719:61;8797:18;;8077:60:0;8466:355:1;8077:60:0;8170:1;8156:11;:15;8148:63;;;;-1:-1:-1;;;8148:63:0;;9028:2:1;8148:63:0;;;9010:21:1;9067:2;9047:18;;;9040:30;9106:34;9086:18;;;9079:62;-1:-1:-1;;;9157:18:1;;;9150:33;9200:19;;8148:63:0;8826:399:1;8148:63:0;8226:6;;-1:-1:-1;;;8226:6:0;;;;;:22;;-1:-1:-1;8237:11:0;;-1:-1:-1;;;8237:11:0;;;;8236:12;8226:22;8222:238;;;-1:-1:-1;;;;;8283:15:0;;;;;;:9;:15;;;;;;:32;;8303:11;8283:19;:32::i;:::-;-1:-1:-1;;;;;8265:15:0;;;;;;;:9;:15;;;;;;:50;;;;8346:13;;;;;;;:30;;8364:11;8346:17;:30::i;:::-;-1:-1:-1;;;;;8330:13:0;;;;;;;:9;:13;;;;;;;:46;;;;8396:31;;;;;;;;;;8415:11;1361:25:1;;1349:2;1334:18;;1215:177;8222:238:0;2933:7;2960:6;-1:-1:-1;;;;;8474:15:0;;;2960:6;;8474:15;;;;:32;;-1:-1:-1;2933:7:0;2960:6;-1:-1:-1;;;;;8493:13:0;;;2960:6;;8493:13;;8474:32;8470:1871;;;-1:-1:-1;;;;;8532:10:0;;;;;;:4;:10;;;;;;;;8531:11;:24;;;;-1:-1:-1;;;;;;8547:8:0;;;;;;:4;:8;;;;;;;;8546:9;8531:24;8523:33;;;;;;8575:20;;;;8571:520;;;8656:15;;-1:-1:-1;;;;;8642:30:0;;;8656:15;;8642:30;;;;:83;;-1:-1:-1;8711:13:0;;-1:-1:-1;;;;;8697:28:0;;;8711:13;;8697:28;;8642:83;8616:460;;;8831:9;8802:39;;;;:28;:39;;;;;;8844:12;-1:-1:-1;8768:211:0;;;;-1:-1:-1;;;8768:211:0;;9432:2:1;8768:211:0;;;9414:21:1;9471:2;9451:18;;;9444:30;9510:34;9490:18;;;9483:62;9581:34;9561:18;;;9554:62;-1:-1:-1;;;9632:19:1;;;9625:38;9680:19;;8768:211:0;9230:475:1;8768:211:0;9031:9;9002:39;;;;:28;:39;;;;;9044:12;9002:54;;8616:460;9135:13;;-1:-1:-1;;;;;9127:21:0;;;9135:13;;9127:21;:72;;;;-1:-1:-1;9183:15:0;;-1:-1:-1;;;;;9169:30:0;;;9183:15;;9169:30;;9127:72;:116;;;;-1:-1:-1;;;;;;9221:22:0;;;;;;:18;:22;;;;;;;;9220:23;9127:116;9105:448;;;9301:12;;9286:11;:27;;9278:65;;;;-1:-1:-1;;;9278:65:0;;9912:2:1;9278:65:0;;;9894:21:1;9951:2;9931:18;;;9924:30;9990:27;9970:18;;;9963:55;10035:18;;9278:65:0;9710:349:1;9278:65:0;9423:14;;9408:11;9392:13;9402:2;-1:-1:-1;;;;;6536:18:0;6509:7;6536:18;;;:9;:18;;;;;;;6443:119;9392:13;:27;;;;:::i;:::-;:45;;9362:145;;;;-1:-1:-1;;;9362:145:0;;10396:2:1;9362:145:0;;;10378:21:1;10435:2;10415:18;;;10408:30;10474:28;10454:18;;;10447:56;10520:18;;9362:145:0;10194:350:1;9362:145:0;9526:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9105:448;9616:4;9567:28;6536:18;;;:9;:18;;;;;;9660:6;;-1:-1:-1;;;9660:6:0;;;;9659:7;:47;;;;-1:-1:-1;9693:13:0;;-1:-1:-1;;;;;9687:19:0;;;9693:13;;9687:19;9659:47;:79;;;;-1:-1:-1;9727:11:0;;-1:-1:-1;;;9727:11:0;;;;9659:79;:130;;;;;9771:18;;9759:9;;:30;9659:130;:176;;;;-1:-1:-1;;;;;;9811:24:0;;;;;;:18;:24;;;;;;;;9810:25;9659:176;:220;;;;-1:-1:-1;;;;;;9857:22:0;;;;;;:18;:22;;;;;;;;9856:23;9659:220;9637:693;;;9940:14;;9917:20;:37;9914:207;;;9979:122;10022:56;10026:11;10039:38;10043:20;10065:11;;10039:3;:38::i;:::-;10022:3;:56::i;:::-;9979:16;:122::i;:::-;10168:21;10260:35;10273:21;10260:12;:35::i;:::-;9895:435;9637:693;8508:1833;8470:1871;10351:40;10369:4;10375:2;10379:11;10351:17;:40::i;:::-;7917:2482;;;:::o;1709:224::-;1829:7;1865:12;1857:6;;;;1849:29;;;;-1:-1:-1;;;1849:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1889:9:0;1901:5;1905:1;1901;:5;:::i;:::-;1889:17;1709:224;-1:-1:-1;;;;;1709:224:0:o;12638:92::-;12695:10;;:27;;:10;;;;-1:-1:-1;;;;;12695:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;12638:92;:::o;1567:136::-;1625:7;1652:43;1656:1;1659;1652:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1645:50;1567:136;-1:-1:-1;;;1567:136:0:o;1382:179::-;1440:7;;1472:5;1476:1;1472;:5;:::i;:::-;1460:17;;1501:1;1496;:6;;1488:46;;;;-1:-1:-1;;;1488:46:0;;11024:2:1;1488:46:0;;;11006:21:1;11063:2;11043:18;;;11036:30;11102:29;11082:18;;;11075:57;11149:18;;1488:46:0;10822:351:1;11829:107:0;11886:7;11918:1;11914;:5;11913:15;;11927:1;11913:15;;;-1:-1:-1;11923:1:0;11829:107;-1:-1:-1;11829:107:0:o;11942:483::-;5657:6;:13;;-1:-1:-1;;;;5657:13:0;-1:-1:-1;;;5657:13:0;;;12044:16:::1;::::0;;12058:1:::1;12044:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12044:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12044:16:0::1;12020:40;;12089:4;12071;12076:1;12071:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12071:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12115:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12115:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12071:7;;12115:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12105:4;12110:1;12105:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12105:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12180:15:::1;::::0;12148:62:::1;::::0;12165:4:::1;::::0;12180:15:::1;12198:11:::0;12148:8:::1;:62::i;:::-;12221:15;::::0;:196:::1;::::0;-1:-1:-1;;;12221:196:0;;-1:-1:-1;;;;;12221:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12302:11;;12221:15:::1;::::0;12344:4;;12371::::1;::::0;12391:15:::1;::::0;12221:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5693:6:0;:14;;-1:-1:-1;;;;5693:14:0;;;-1:-1:-1;;;;11942:483:0:o;10405:364::-;10500:15;10517:17;10538:32;10548:4;10554:2;10558:11;10538:9;:32::i;:::-;-1:-1:-1;;;;;10599:15:0;;;;;;:9;:15;;;;;;10499:71;;-1:-1:-1;10499:71:0;-1:-1:-1;10599:28:0;;10499:71;10599:19;:28::i;:::-;-1:-1:-1;;;;;10581:15:0;;;;;;:9;:15;;;;;:46;10654:45;10672:26;:11;10688:9;10672:15;:26::i;:::-;-1:-1:-1;;;;;10654:13:0;;;;;;:9;:13;;;;;;;:17;:45::i;:::-;-1:-1:-1;;;;;10638:13:0;;;;;;;:9;:13;;;;;:61;;;;10715:46;;;10734:26;:11;10750:9;10734:15;:26::i;:::-;10715:46;;1361:25:1;;;1349:2;1334:18;10715:46:0;;;;;;;10488:281;;10405:364;;;:::o;10775:1048::-;-1:-1:-1;;;;;10941:24:0;;10893:7;10941:24;;;:18;:24;;;;;;10893:7;;;;10941:24;;10940:25;:43;;10982:1;10940:43;;;10968:11;10940:43;11046:13;;10922:61;;-1:-1:-1;10994:17:0;;-1:-1:-1;;;;;11040:19:0;;;11046:13;;11040:19;:44;;;;-1:-1:-1;;;;;;11063:21:0;;11079:4;11063:21;;11040:44;11036:563;;;11113:216;11325:3;11113:189;11182:16;;11170:9;;:28;11169:114;;11268:15;;11169:114;;;11227:13;;11169:114;11113:11;;:33;:189::i;:::-;:211;;:216::i;:::-;11101:228;;11036:563;;;11374:213;11583:3;11374:186;11443:15;;11431:9;;:27;11430:111;;11527:14;;11430:111;;;11487:12;;11374:11;;:33;:186::i;:213::-;11362:225;;11036:563;11613:13;;11609:169;;11688:4;11670:24;;;;:9;:24;;;;;;:36;;11697:9;;11670:36;:::i;:::-;11661:4;11643:24;;;;:9;:24;;;;;;;:63;;;;11726:40;;-1:-1:-1;;;;;11726:40:0;;;;;;;11756:9;1361:25:1;;1349:2;1334:18;;1215:177;11726:40:0;;;;;;;;11609:169;11796:7;;;;-1:-1:-1;10775:1048:0;-1:-1:-1;;;;10775:1048:0:o;1939:246::-;1997:7;2021:1;2026;2021:6;2017:47;;-1:-1:-1;2051:1:0;2044:8;;2017:47;2074:9;2086:5;2090:1;2086;:5;:::i;:::-;2074:17;-1:-1:-1;2119:1:0;2110:5;2114:1;2074:17;2110:5;:::i;:::-;:10;2102:56;;;;-1:-1:-1;;;2102:56:0;;12851:2:1;2102:56:0;;;12833:21:1;12890:2;12870:18;;;12863:30;12929:34;12909:18;;;12902:62;-1:-1:-1;;;12980:18:1;;;12973:31;13021:19;;2102:56:0;12649:397:1;2191:132:0;2249:7;2276:39;2280:1;2283;2276:39;;;;;;;;;;;;;;;;;2449:7;2484:12;2477:5;2469:28;;;;-1:-1:-1;;;2469:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2508:9:0;2520:5;2524:1;2520;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507: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:350::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;4868:28;4863:2;4848:18;;4841:56;4929:2;4914:18;;4588:350::o;5907:306::-;5995:6;6003;6011;6064:2;6052:9;6043:7;6039:23;6035:32;6032:52;;;6080:1;6077;6070:12;6032:52;6109:9;6103:16;6093:26;;6159:2;6148:9;6144:18;6138:25;6128:35;;6203:2;6192:9;6188:18;6182:25;6172:35;;5907:306;;;;;:::o;6497:277::-;6564:6;6617:2;6605:9;6596:7;6592:23;6588:32;6585:52;;;6633:1;6630;6623:12;6585:52;6665:9;6659:16;6718:5;6711:13;6704:21;6697:5;6694:32;6684:60;;6740:1;6737;6730:12;6779:251;6849:6;6902:2;6890:9;6881:7;6877:23;6873:32;6870:52;;;6918:1;6915;6908:12;6870:52;6950:9;6944:16;6969:31;6994:5;6969:31;:::i;10064:125::-;10129:9;;;10150:10;;;10147:36;;;10163:18;;:::i;10549:135::-;10588:3;10609:17;;;10606:43;;10629:18;;:::i;:::-;-1:-1:-1;10676:1:1;10665:13;;10549:135::o;10689:128::-;10756:9;;;10777:11;;;10774:37;;;10791:18;;:::i;11310:127::-;11371:10;11366:3;11362:20;11359:1;11352:31;11402:4;11399:1;11392:15;11426:4;11423:1;11416:15;11442:980;11704:4;11752:3;11741:9;11737:19;11783:6;11772:9;11765:25;11809:2;11847:6;11842:2;11831:9;11827:18;11820:34;11890:3;11885:2;11874:9;11870:18;11863:31;11914:6;11949;11943:13;11980:6;11972;11965:22;12018:3;12007:9;12003:19;11996:26;;12057:2;12049:6;12045:15;12031:29;;12078:1;12088:195;12102:6;12099:1;12096:13;12088:195;;;12167:13;;-1:-1:-1;;;;;12163:39:1;12151:52;;12258:15;;;;12223:12;;;;12199:1;12117:9;12088:195;;;-1:-1:-1;;;;;;;12339:32:1;;;;12334:2;12319:18;;12312:60;-1:-1:-1;;;12403:3:1;12388:19;12381:35;12300:3;11442:980;-1:-1:-1;;;11442:980:1:o;12427:217::-;12467:1;12493;12483:132;;12537:10;12532:3;12528:20;12525:1;12518:31;12572:4;12569:1;12562:15;12600:4;12597:1;12590:15;12483:132;-1:-1:-1;12629:9:1;;12427:217::o

Swarm Source

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