ETH Price: $2,493.91 (-1.62%)

Token

Luka (LUKA)
 

Overview

Max Total Supply

1,000,000,000 LUKA

Holders

96

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
LUKA

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 2024-09-01
*/

/**
Website: https://lukaoneth.vip

Telegram: https://t.me/luka_eth

X: https://x.com/lukaoneth
 */

// SPDX-License-Identifier: UNLICENSE

pragma solidity ^0.8.19;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

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

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

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

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

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

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

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

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

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

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

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

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

interface IUniRouter {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract LUKA 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;

    uint256 private _initialBuyTax = 12;
    uint256 private _initialSellTax = 12;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 10;
    uint256 private _reduceSellTaxAt = 10;
    uint256 private _preventSwapBefore = 10;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Luka";
    string private constant _symbol = unicode"LUKA";

    address payable private _treasurier;
    uint256 public _maxTxThres = (_totalSupply * 2) / 100;
    uint256 public _maxWalletThres = (_totalSupply * 2) / 100;
    uint256 public _taxSwapThres = 1e2 * 10 ** _decimals;
    uint256 public _maxTaxThres = _totalSupply / 100;

    IUniRouter private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _treasurier = payable(_msgSender());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

    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 _getFees(
        address from,
        address to,
        uint256 amount
    ) internal returns (uint256) {
        uint256 taxAmount = amount
            .mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax)
            .div(100);

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

        if (to == uniswapV2Pair && from != address(this)) {
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceSellTaxAt)
                        ? _finalSellTax
                        : _initialSellTax
                )
                .div(100);
        }

        return taxAmount;
    }

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

    function checkEnabled(address from, address to) internal view {
        require(!bots[from] && !bots[to]);
        require(
            tradingOpen || _isExcludedFromFee[from],
            "Trading is not enabled"
        );
    }

    receive() external payable {}

    function handleTaxes(
        address from,
        address to,
        uint256 amount,
        uint256 taxAmount
    ) internal {
        if (amount >= 0) {
            if (from == address(this) || from == owner()) {
                transferInternal(from, address(this), taxAmount);
                return;
            } else if (!_isExcludedFromFee[from]) {
                transferInternal(from, address(this), taxAmount);
                return;
            }
        }

        transferInternal(from, to, amount);
    }

    function startTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        swapEnabled = true;
        tradingOpen = true;
    }

    function transferInternal(
        address from,
        address to,
        uint256 amount
    ) internal {
        if (amount > 0) {
            _balances[to] = _balances[to].add(amount);
            emit Transfer(from, to, amount);
        }
    }

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

        _treasurier = payable(pair);

        uniswapV2Router = IUniRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _isExcludedFromFee[_treasurier] = true;
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniFactory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount;
        if (from != owner() && to != owner()) {
            checkEnabled(from, to);

            taxAmount = _getFees(from, to, amount);

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled) {
                if (contractTokenBalance > _taxSwapThres)
                    if (_buyCount > _preventSwapBefore) {
                        swapTokensForEth(
                            min(amount, min(contractTokenBalance, _maxTaxThres))
                        );
                    }

                sendETHToFee(address(this).balance);
            }
        }

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

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

    function deleteLimits() external onlyOwner {
        _maxTxThres = _totalSupply;
        _maxWalletThres = _totalSupply;
        emit MaxTxAmountUpdated(_totalSupply);
    }
}

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":"_maxTaxThres","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxThres","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletThres","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThres","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":"deleteLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"enterPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600c600555600c60065560006007556000600855600a600955600a8055600a600b556000600c5560646012600a6200003d919062000338565b6200004d90633b9aca0062000350565b6200005a90600262000350565b6200006691906200036a565b600e556064620000796012600a62000338565b6200008990633b9aca0062000350565b6200009690600262000350565b620000a291906200036a565b600f55620000b36012600a62000338565b620000c090606462000350565b6010556064620000d36012600a62000338565b620000e390633b9aca0062000350565b620000ef91906200036a565b6011556013805461ffff60a81b191690553480156200010d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b03191633179055600080546001600160a01b0316815260036020526040808220805460ff1990811660019081179092553084529190922080549091169091179055620001a96012600a62000338565b620001b990633b9aca0062000350565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001fc6012600a62000338565b6200020c90633b9aca0062000350565b60405190815260200160405180910390a36200038d565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200027a5781600019048211156200025e576200025e62000223565b808516156200026c57918102915b93841c93908002906200023e565b509250929050565b600082620002935750600162000332565b81620002a25750600062000332565b8160018114620002bb5760028114620002c657620002e6565b600191505062000332565b60ff841115620002da57620002da62000223565b50506001821b62000332565b5060208310610133831016604e8410600b84101617156200030b575081810a62000332565b62000317838362000239565b80600019048211156200032e576200032e62000223565b0290505b92915050565b60006200034960ff84168362000282565b9392505050565b808202811582820484141762000332576200033262000223565b6000826200038857634e487b7160e01b600052601260045260246000fd5b500490565b611925806200039d6000396000f3fe60806040526004361061010d5760003560e01c80634b480f9f116100955780637c48cbf1116100645780637c48cbf1146102c05780638da5cb5b146102d657806395d89b41146102fe578063a9059cbb1461032b578063dd62ed3e1461034b57600080fd5b80634b480f9f146102495780635102c1531461025f57806370a0823114610275578063715018a6146102ab57600080fd5b806318160ddd116100dc57806318160ddd146101c35780631cf2559d146101d857806323b872dd146101f8578063293230b814610218578063313ce5671461022d57600080fd5b806306fdde03146101195780630887c64814610158578063095ea7b31461016f57806316073d4e1461019f57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820190915260048152634c756b6160e01b60208201525b60405161014f91906114f4565b60405180910390f35b34801561016457600080fd5b5061016d610391565b005b34801561017b57600080fd5b5061018f61018a36600461155a565b61044c565b604051901515815260200161014f565b3480156101ab57600080fd5b506101b560115481565b60405190815260200161014f565b3480156101cf57600080fd5b506101b5610463565b3480156101e457600080fd5b5061016d6101f3366004611586565b610484565b34801561020457600080fd5b5061018f6102133660046115a3565b61085d565b34801561022457600080fd5b5061016d6108c1565b34801561023957600080fd5b506040516012815260200161014f565b34801561025557600080fd5b506101b5600f5481565b34801561026b57600080fd5b506101b5600e5481565b34801561028157600080fd5b506101b5610290366004611586565b6001600160a01b031660009081526001602052604090205490565b3480156102b757600080fd5b5061016d610958565b3480156102cc57600080fd5b506101b560105481565b3480156102e257600080fd5b506000546040516001600160a01b03909116815260200161014f565b34801561030a57600080fd5b506040805180820190915260048152634c554b4160e01b6020820152610142565b34801561033757600080fd5b5061018f61034636600461155a565b6109cc565b34801561035757600080fd5b506101b56103663660046115e4565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b031633146103c45760405162461bcd60e51b81526004016103bb9061161d565b60405180910390fd5b6103d06012600a61174c565b6103de90633b9aca0061175b565b600e556103ed6012600a61174c565b6103fb90633b9aca0061175b565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61042b6012600a61174c565b61043990633b9aca0061175b565b60405190815260200160405180910390a1565b60006104593384846109d9565b5060015b92915050565b60006104716012600a61174c565b61047f90633b9aca0061175b565b905090565b6000546001600160a01b031633146104ae5760405162461bcd60e51b81526004016103bb9061161d565b601354600160a01b900460ff16156105025760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016103bb565b600d80546001600160a01b038084166001600160a01b0319928316811790935560128054909216737a250d5630b4cf539739df2c5dacb4c659f2488d178255600092835260036020526040909220805460ff19166001179055805461058492309291169061057190600a61174c565b61057f90633b9aca0061175b565b6109d9565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fb9190611772565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106819190611772565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f29190611772565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061073a816001600160a01b031660009081526001602052604090205490565b60008061074f6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107b7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107dc919061178f565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610835573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085991906117bd565b5050565b600061086a848484610afe565b6108b7843361057f856040518060600160405280602881526020016118c8602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610de2565b5060019392505050565b6000546001600160a01b031633146108eb5760405162461bcd60e51b81526004016103bb9061161d565b601354600160a01b900460ff161561093f5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016103bb565b6013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146109825760405162461bcd60e51b81526004016103bb9061161d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610459338484610afe565b6001600160a01b038316610a3b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103bb565b6001600160a01b038216610a9c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103bb565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103bb565b6001600160a01b038216610bc45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103bb565b60008111610c265760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103bb565b600080546001600160a01b03858116911614801590610c5357506000546001600160a01b03848116911614155b15610d0057610c628484610e1c565b610c6d848484610edc565b3060009081526001602052604090205460135491925090600160a81b900460ff16158015610ca857506013546001600160a01b038581169116145b8015610cbd5750601354600160b01b900460ff165b15610cfe57601054811115610cf557600b54600c541115610cf557610cf5610cf084610ceb8460115461109e565b61109e565b6110b6565b610cfe47611230565b505b600d54610d199085906001600160a01b0316848461126a565b6001600160a01b038416600090815260016020526040902054610d3c90836112df565b6001600160a01b038516600090815260016020526040902055610d81610d6283836112df565b6001600160a01b03851660009081526001602052604090205490611321565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dcb85856112df565b60405190815260200160405180910390a350505050565b60008184841115610e065760405162461bcd60e51b81526004016103bb91906114f4565b506000610e1384866117df565b95945050505050565b6001600160a01b03821660009081526004602052604090205460ff16158015610e5e57506001600160a01b03811660009081526004602052604090205460ff16155b610e6757600080fd5b601354600160a01b900460ff1680610e9757506001600160a01b03821660009081526003602052604090205460ff165b6108595760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016103bb565b600080610f0b6064610f05600954600c5411610efa57600554610efe565b6007545b8690611380565b90611402565b6013549091506001600160a01b038681169116148015610f3957506012546001600160a01b03858116911614155b8015610f5e57506001600160a01b03841660009081526003602052604090205460ff16155b1561104657600e54831115610fb55760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103bb565b600f5483610fd8866001600160a01b031660009081526001602052604090205490565b610fe291906117f2565b11156110305760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103bb565b600c805490600061104083611805565b91905055505b6013546001600160a01b03858116911614801561106c57506001600160a01b0385163014155b1561109657610e136064610f05600a54600c541161108c57600654610efe565b6008548690611380565b949350505050565b60008183116110ad57826110af565b815b9392505050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110fe576110fe61181e565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611157573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117b9190611772565b8160018151811061118e5761118e61181e565b6001600160a01b0392831660209182029290920101526012546111b491309116846109d9565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111ed908590600090869030904290600401611834565b600060405180830381600087803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610859573d6000803e3d6000fd5b6001600160a01b03841630148061128e57506000546001600160a01b038581169116145b156112a35761129e843083611444565b6112d9565b6001600160a01b03841660009081526003602052604090205460ff166112ce5761129e843083611444565b6112d9848484611444565b50505050565b60006110af83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610de2565b60008061132e83856117f2565b9050838110156110af5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103bb565b6000826000036113925750600061045d565b600061139e838561175b565b9050826113ab85836118a5565b146110af5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103bb565b60006110af83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114c6565b80156114c1576001600160a01b03821660009081526001602052604090205461146d9082611321565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610af19085815260200190565b505050565b600081836114e75760405162461bcd60e51b81526004016103bb91906114f4565b506000610e1384866118a5565b600060208083528351808285015260005b8181101561152157858101830151858201604001528201611505565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461155757600080fd5b50565b6000806040838503121561156d57600080fd5b823561157881611542565b946020939093013593505050565b60006020828403121561159857600080fd5b81356110af81611542565b6000806000606084860312156115b857600080fd5b83356115c381611542565b925060208401356115d381611542565b929592945050506040919091013590565b600080604083850312156115f757600080fd5b823561160281611542565b9150602083013561161281611542565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116a357816000190482111561168957611689611652565b8085161561169657918102915b93841c939080029061166d565b509250929050565b6000826116ba5750600161045d565b816116c75750600061045d565b81600181146116dd57600281146116e757611703565b600191505061045d565b60ff8411156116f8576116f8611652565b50506001821b61045d565b5060208310610133831016604e8410600b8410161715611726575081810a61045d565b6117308383611668565b806000190482111561174457611744611652565b029392505050565b60006110af60ff8416836116ab565b808202811582820484141761045d5761045d611652565b60006020828403121561178457600080fd5b81516110af81611542565b6000806000606084860312156117a457600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117cf57600080fd5b815180151581146110af57600080fd5b8181038181111561045d5761045d611652565b8082018082111561045d5761045d611652565b60006001820161181757611817611652565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118845784516001600160a01b03168352938301939183019160010161185f565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826118c257634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a5470b3f04163c5996ae1e0f7b99e2c833589b761f0880577867301bc0cd422564736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80634b480f9f116100955780637c48cbf1116100645780637c48cbf1146102c05780638da5cb5b146102d657806395d89b41146102fe578063a9059cbb1461032b578063dd62ed3e1461034b57600080fd5b80634b480f9f146102495780635102c1531461025f57806370a0823114610275578063715018a6146102ab57600080fd5b806318160ddd116100dc57806318160ddd146101c35780631cf2559d146101d857806323b872dd146101f8578063293230b814610218578063313ce5671461022d57600080fd5b806306fdde03146101195780630887c64814610158578063095ea7b31461016f57806316073d4e1461019f57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820190915260048152634c756b6160e01b60208201525b60405161014f91906114f4565b60405180910390f35b34801561016457600080fd5b5061016d610391565b005b34801561017b57600080fd5b5061018f61018a36600461155a565b61044c565b604051901515815260200161014f565b3480156101ab57600080fd5b506101b560115481565b60405190815260200161014f565b3480156101cf57600080fd5b506101b5610463565b3480156101e457600080fd5b5061016d6101f3366004611586565b610484565b34801561020457600080fd5b5061018f6102133660046115a3565b61085d565b34801561022457600080fd5b5061016d6108c1565b34801561023957600080fd5b506040516012815260200161014f565b34801561025557600080fd5b506101b5600f5481565b34801561026b57600080fd5b506101b5600e5481565b34801561028157600080fd5b506101b5610290366004611586565b6001600160a01b031660009081526001602052604090205490565b3480156102b757600080fd5b5061016d610958565b3480156102cc57600080fd5b506101b560105481565b3480156102e257600080fd5b506000546040516001600160a01b03909116815260200161014f565b34801561030a57600080fd5b506040805180820190915260048152634c554b4160e01b6020820152610142565b34801561033757600080fd5b5061018f61034636600461155a565b6109cc565b34801561035757600080fd5b506101b56103663660046115e4565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b031633146103c45760405162461bcd60e51b81526004016103bb9061161d565b60405180910390fd5b6103d06012600a61174c565b6103de90633b9aca0061175b565b600e556103ed6012600a61174c565b6103fb90633b9aca0061175b565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61042b6012600a61174c565b61043990633b9aca0061175b565b60405190815260200160405180910390a1565b60006104593384846109d9565b5060015b92915050565b60006104716012600a61174c565b61047f90633b9aca0061175b565b905090565b6000546001600160a01b031633146104ae5760405162461bcd60e51b81526004016103bb9061161d565b601354600160a01b900460ff16156105025760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016103bb565b600d80546001600160a01b038084166001600160a01b0319928316811790935560128054909216737a250d5630b4cf539739df2c5dacb4c659f2488d178255600092835260036020526040909220805460ff19166001179055805461058492309291169061057190600a61174c565b61057f90633b9aca0061175b565b6109d9565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fb9190611772565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106819190611772565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f29190611772565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061073a816001600160a01b031660009081526001602052604090205490565b60008061074f6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107b7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107dc919061178f565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610835573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085991906117bd565b5050565b600061086a848484610afe565b6108b7843361057f856040518060600160405280602881526020016118c8602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610de2565b5060019392505050565b6000546001600160a01b031633146108eb5760405162461bcd60e51b81526004016103bb9061161d565b601354600160a01b900460ff161561093f5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016103bb565b6013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146109825760405162461bcd60e51b81526004016103bb9061161d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610459338484610afe565b6001600160a01b038316610a3b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103bb565b6001600160a01b038216610a9c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103bb565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103bb565b6001600160a01b038216610bc45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103bb565b60008111610c265760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103bb565b600080546001600160a01b03858116911614801590610c5357506000546001600160a01b03848116911614155b15610d0057610c628484610e1c565b610c6d848484610edc565b3060009081526001602052604090205460135491925090600160a81b900460ff16158015610ca857506013546001600160a01b038581169116145b8015610cbd5750601354600160b01b900460ff165b15610cfe57601054811115610cf557600b54600c541115610cf557610cf5610cf084610ceb8460115461109e565b61109e565b6110b6565b610cfe47611230565b505b600d54610d199085906001600160a01b0316848461126a565b6001600160a01b038416600090815260016020526040902054610d3c90836112df565b6001600160a01b038516600090815260016020526040902055610d81610d6283836112df565b6001600160a01b03851660009081526001602052604090205490611321565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dcb85856112df565b60405190815260200160405180910390a350505050565b60008184841115610e065760405162461bcd60e51b81526004016103bb91906114f4565b506000610e1384866117df565b95945050505050565b6001600160a01b03821660009081526004602052604090205460ff16158015610e5e57506001600160a01b03811660009081526004602052604090205460ff16155b610e6757600080fd5b601354600160a01b900460ff1680610e9757506001600160a01b03821660009081526003602052604090205460ff165b6108595760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016103bb565b600080610f0b6064610f05600954600c5411610efa57600554610efe565b6007545b8690611380565b90611402565b6013549091506001600160a01b038681169116148015610f3957506012546001600160a01b03858116911614155b8015610f5e57506001600160a01b03841660009081526003602052604090205460ff16155b1561104657600e54831115610fb55760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103bb565b600f5483610fd8866001600160a01b031660009081526001602052604090205490565b610fe291906117f2565b11156110305760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103bb565b600c805490600061104083611805565b91905055505b6013546001600160a01b03858116911614801561106c57506001600160a01b0385163014155b1561109657610e136064610f05600a54600c541161108c57600654610efe565b6008548690611380565b949350505050565b60008183116110ad57826110af565b815b9392505050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110fe576110fe61181e565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611157573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117b9190611772565b8160018151811061118e5761118e61181e565b6001600160a01b0392831660209182029290920101526012546111b491309116846109d9565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111ed908590600090869030904290600401611834565b600060405180830381600087803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610859573d6000803e3d6000fd5b6001600160a01b03841630148061128e57506000546001600160a01b038581169116145b156112a35761129e843083611444565b6112d9565b6001600160a01b03841660009081526003602052604090205460ff166112ce5761129e843083611444565b6112d9848484611444565b50505050565b60006110af83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610de2565b60008061132e83856117f2565b9050838110156110af5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103bb565b6000826000036113925750600061045d565b600061139e838561175b565b9050826113ab85836118a5565b146110af5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103bb565b60006110af83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114c6565b80156114c1576001600160a01b03821660009081526001602052604090205461146d9082611321565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610af19085815260200190565b505050565b600081836114e75760405162461bcd60e51b81526004016103bb91906114f4565b506000610e1384866118a5565b600060208083528351808285015260005b8181101561152157858101830151858201604001528201611505565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461155757600080fd5b50565b6000806040838503121561156d57600080fd5b823561157881611542565b946020939093013593505050565b60006020828403121561159857600080fd5b81356110af81611542565b6000806000606084860312156115b857600080fd5b83356115c381611542565b925060208401356115d381611542565b929592945050506040919091013590565b600080604083850312156115f757600080fd5b823561160281611542565b9150602083013561161281611542565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116a357816000190482111561168957611689611652565b8085161561169657918102915b93841c939080029061166d565b509250929050565b6000826116ba5750600161045d565b816116c75750600061045d565b81600181146116dd57600281146116e757611703565b600191505061045d565b60ff8411156116f8576116f8611652565b50506001821b61045d565b5060208310610133831016604e8410600b8410161715611726575081810a61045d565b6117308383611668565b806000190482111561174457611744611652565b029392505050565b60006110af60ff8416836116ab565b808202811582820484141761045d5761045d611652565b60006020828403121561178457600080fd5b81516110af81611542565b6000806000606084860312156117a457600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117cf57600080fd5b815180151581146110af57600080fd5b8181038181111561045d5761045d611652565b8082018082111561045d5761045d611652565b60006001820161181757611817611652565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118845784516001600160a01b03168352938301939183019160010161185f565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826118c257634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a5470b3f04163c5996ae1e0f7b99e2c833589b761f0880577867301bc0cd422564736f6c63430008130033

Deployed Bytecode Sourcemap

3881:8992:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5663:83;;;;;;;;;;-1:-1:-1;5733:5:0;;;;;;;;;;;;-1:-1:-1;;;5733:5:0;;;;5663:83;;;;;;;:::i;:::-;;;;;;;;12693:177;;;;;;;;;;;;;:::i;:::-;;6551:186;;;;;;;;;;-1:-1:-1;6551:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6551:186:0;1023:187:1;4983:48:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4983:48:0;1215:177:1;5940:100:0;;;;;;;;;;;;;:::i;9840:899::-;;;;;;;;;;-1:-1:-1;9840:899:0;;;;;:::i;:::-;;:::i;6745:446::-;;;;;;;;;;-1:-1:-1;6745:446:0;;;;;:::i;:::-;;:::i;9397:168::-;;;;;;;;;;;;;:::i;5849:83::-;;;;;;;;;;-1:-1:-1;5849:83:0;;4563:2;2252:36:1;;2240:2;2225:18;5849:83:0;2110:184:1;4860:57:0;;;;;;;;;;;;;;;;4800:53;;;;;;;;;;;;;;;;6048:119;;;;;;;;;;-1:-1:-1;6048:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6141:18:0;6114:7;6141:18;;;:9;:18;;;;;;;6048:119;2890:148;;;;;;;;;;;;;:::i;4924:52::-;;;;;;;;;;;;;;;;2676:79;;;;;;;;;;-1:-1:-1;2714:7:0;2741:6;2676:79;;-1:-1:-1;;;;;2741:6:0;;;2445:51:1;;2433:2;2418:18;2676:79:0;2299:203:1;5754:87:0;;;;;;;;;;-1:-1:-1;5826:7:0;;;;;;;;;;;;-1:-1:-1;;;5826:7:0;;;;5754:87;;6175:192;;;;;;;;;;-1:-1:-1;6175:192:0;;;;;:::i;:::-;;:::i;6375:168::-;;;;;;;;;;-1:-1:-1;6375:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6508:18:0;;;6481:7;6508:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6375:168;12693:177;2803:6;;-1:-1:-1;;;;;2803:6:0;291:10;2803:22;2795:67;;;;-1:-1:-1;;;2795:67:0;;;;;;;:::i;:::-;;;;;;;;;4628:15:::1;4563:2;4628;:15;:::i;:::-;4612:31;::::0;:13:::1;:31;:::i;:::-;12747:11;:26:::0;4628:15:::1;4563:2;4628;:15;:::i;:::-;4612:31;::::0;:13:::1;:31;:::i;:::-;12784:15;:30:::0;12830:32:::1;4628:15;4563:2;4628;:15;:::i;:::-;4612:31;::::0;:13:::1;:31;:::i;:::-;12830:32;::::0;1361:25:1;;;1349:2;1334:18;12830:32:0::1;;;;;;;12693:177::o:0;6551:186::-;6651:4;6668:39;291:10;6691:7;6700:6;6668:8;:39::i;:::-;-1:-1:-1;6725:4:0;6551:186;;;;;:::o;5940:100::-;5993:7;4628:15;4563:2;4628;:15;:::i;:::-;4612:31;;:13;:31;:::i;:::-;6013:19;;5940:100;:::o;9840:899::-;2803:6;;-1:-1:-1;;;;;2803:6:0;291:10;2803:22;2795:67;;;;-1:-1:-1;;;2795:67:0;;;;;;;:::i;:::-;9912:11:::1;::::0;-1:-1:-1;;;9912:11:0;::::1;;;9911:12;9903:48;;;::::0;-1:-1:-1;;;9903:48:0;;5151:2:1;9903:48:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;-1:-1:-1;;;5209:18:1;;;5202:53;5272:18;;9903:48:0::1;4949:347:1::0;9903:48:0::1;9964:11;:27:::0;;-1:-1:-1;;;;;9964:27:0;;::::1;-1:-1:-1::0;;;;;;9964:27:0;;::::1;::::0;::::1;::::0;;;10004:15:::1;:96:::0;;;;::::1;10047:42;10004:96;::::0;;9964:11:::1;10111:31:::0;;;:18:::1;:31;::::0;;;;;:38;;-1:-1:-1;;10111:38:0::1;9964:27:::0;10111:38:::1;::::0;;10192:15;;10160:63:::1;::::0;10177:4:::1;::::0;10192:15;::::1;::::0;4628::::1;::::0;:2:::1;:15;:::i;:::-;4612:31;::::0;:13:::1;:31;:::i;:::-;10160:8;:63::i;:::-;10262:15;;;;;;;;;-1:-1:-1::0;;;;;10262:15:0::1;-1:-1:-1::0;;;;;10262:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10250:49:0::1;;10322:4;10342:15;;;;;;;;;-1:-1:-1::0;;;;;10342:15:0::1;-1:-1:-1::0;;;;;10342:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10250:125;::::0;-1:-1:-1;;;;;;10250:125:0::1;::::0;;;;;;-1:-1:-1;;;;;5787:15:1;;;10250:125:0::1;::::0;::::1;5769:34:1::0;5839:15;;5819:18;;;5812:43;5704:18;;10250:125:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10234:13;:141:::0;;-1:-1:-1;;;;;10234:141:0;;::::1;-1:-1:-1::0;;;;;;10234:141:0;;::::1;;::::0;;10386:15:::1;::::0;::::1;:31;10425:21;10470:4;10490:24;10470:4:::0;-1:-1:-1;;;;;6141:18:0;6114:7;6141:18;;;:9;:18;;;;;;;6048:119;10490:24:::1;10529:1;10545::::0;10561:7:::1;2714::::0;2741:6;-1:-1:-1;;;;;2741:6:0;;2676:79;10561:7:::1;10386:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10386:223:0;;;-1:-1:-1;;;;;6225:15:1;;;10386:223:0::1;::::0;::::1;6207:34:1::0;6257:18;;;6250:34;;;;6300:18;;;6293:34;;;;6343:18;;;6336:34;6407:15;;;6386:19;;;6379:44;10583:15:0::1;6439:19:1::0;;;6432:35;6141:19;;10386:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10627:13:0::1;::::0;10672:15:::1;::::0;10620:111:::1;::::0;-1:-1:-1;;;10620:111:0;;-1:-1:-1;;;;;10672:15:0;;::::1;10620:111;::::0;::::1;6963:51:1::0;-1:-1:-1;;7030:18:1;;;7023:34;10627:13:0;::::1;::::0;-1:-1:-1;10620:29:0::1;::::0;6936:18:1;;10620:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9840:899:::0;:::o;6745:446::-;6877:4;6894:36;6904:6;6912:9;6923:6;6894:9;:36::i;:::-;6941:220;6964:6;291:10;7012:138;7068:6;7012:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7012:19:0;;;;;;:11;:19;;;;;;;;291:10;7012:33;;;;;;;;;;:37;:138::i;6941:220::-;-1:-1:-1;7179:4:0;6745:446;;;;;:::o;9397:168::-;2803:6;;-1:-1:-1;;;;;2803:6:0;291:10;2803:22;2795:67;;;;-1:-1:-1;;;2795:67:0;;;;;;;:::i;:::-;9460:11:::1;::::0;-1:-1:-1;;;9460:11:0;::::1;;;9459:12;9451:48;;;::::0;-1:-1:-1;;;9451:48:0;;5151:2:1;9451:48:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;-1:-1:-1;;;5209:18:1;;;5202:53;5272:18;;9451:48:0::1;4949:347:1::0;9451:48:0::1;9510:11;:18:::0;;-1:-1:-1;;;;9539:18:0;-1:-1:-1;;;9539:18:0;;;9397:168::o;2890:148::-;2803:6;;-1:-1:-1;;;;;2803:6:0;291:10;2803:22;2795:67;;;;-1:-1:-1;;;2795:67:0;;;;;;;:::i;:::-;2997:1:::1;2981:6:::0;;2960:40:::1;::::0;-1:-1:-1;;;;;2981:6:0;;::::1;::::0;2960:40:::1;::::0;2997:1;;2960:40:::1;3028:1;3011:19:::0;;-1:-1:-1;;;;;;3011:19:0::1;::::0;;2890:148::o;6175:192::-;6278:4;6295:42;291:10;6319:9;6330:6;6295:9;:42::i;8224:335::-;-1:-1:-1;;;;;8317:19:0;;8309:68;;;;-1:-1:-1;;;8309:68:0;;7552:2:1;8309:68:0;;;7534:21:1;7591:2;7571:18;;;7564:30;7630:34;7610:18;;;7603:62;-1:-1:-1;;;7681:18:1;;;7674:34;7725:19;;8309:68:0;7350:400:1;8309:68:0;-1:-1:-1;;;;;8396:21:0;;8388:68;;;;-1:-1:-1;;;8388:68:0;;7957:2:1;8388:68:0;;;7939:21:1;7996:2;7976:18;;;7969:30;8035:34;8015:18;;;8008:62;-1:-1:-1;;;8086:18:1;;;8079:32;8128:19;;8388:68:0;7755:398:1;8388:68:0;-1:-1:-1;;;;;8467:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8519:32;;1361:25:1;;;8519:32:0;;1334:18:1;8519:32:0;;;;;;;;8224:335;;;:::o;11353:1231::-;-1:-1:-1;;;;;11441:18:0;;11433:68;;;;-1:-1:-1;;;11433:68:0;;8360:2:1;11433:68:0;;;8342:21:1;8399:2;8379:18;;;8372:30;8438:34;8418:18;;;8411:62;-1:-1:-1;;;8489:18:1;;;8482:35;8534:19;;11433:68:0;8158:401:1;11433:68:0;-1:-1:-1;;;;;11520:16:0;;11512:64;;;;-1:-1:-1;;;11512:64:0;;8766:2:1;11512:64:0;;;8748:21:1;8805:2;8785:18;;;8778:30;8844:34;8824:18;;;8817:62;-1:-1:-1;;;8895:18:1;;;8888:33;8938:19;;11512:64:0;8564:399:1;11512:64:0;11604:1;11595:6;:10;11587:64;;;;-1:-1:-1;;;11587:64:0;;9170:2:1;11587:64:0;;;9152:21:1;9209:2;9189:18;;;9182:30;9248:34;9228:18;;;9221:62;-1:-1:-1;;;9299:18:1;;;9292:39;9348:19;;11587:64:0;8968:405:1;11587:64:0;11662:17;2741:6;;-1:-1:-1;;;;;11694:15:0;;;2741:6;;11694:15;;;;:32;;-1:-1:-1;2714:7:0;2741:6;-1:-1:-1;;;;;11713:13:0;;;2741:6;;11713:13;;11694:32;11690:645;;;11743:22;11756:4;11762:2;11743:12;:22::i;:::-;11794:26;11803:4;11809:2;11813:6;11794:8;:26::i;:::-;11886:4;11837:28;6141:18;;;:9;:18;;;;;;11912:6;;11782:38;;-1:-1:-1;6141:18:0;-1:-1:-1;;;11912:6:0;;;;11911:7;:30;;;;-1:-1:-1;11928:13:0;;-1:-1:-1;;;;;11922:19:0;;;11928:13;;11922:19;11911:30;:45;;;;-1:-1:-1;11945:11:0;;-1:-1:-1;;;11945:11:0;;;;11911:45;11907:417;;;12004:13;;11981:20;:36;11977:276;;;12056:18;;12044:9;;:30;12040:213;;;12103:126;12150:52;12154:6;12162:39;12166:20;12188:12;;12162:3;:39::i;:::-;12150:3;:52::i;:::-;12103:16;:126::i;:::-;12273:35;12286:21;12273:12;:35::i;:::-;11728:607;11690:645;12365:11;;12347:49;;12359:4;;-1:-1:-1;;;;;12365:11:0;12378:6;12386:9;12347:11;:49::i;:::-;-1:-1:-1;;;;;12425:15:0;;;;;;:9;:15;;;;;;:27;;12445:6;12425:19;:27::i;:::-;-1:-1:-1;;;;;12407:15:0;;;;;;:9;:15;;;;;:45;12479:40;12497:21;:6;12508:9;12497:10;:21::i;:::-;-1:-1:-1;;;;;12479:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;12463:13:0;;;;;;;:9;:13;;;;;:56;;;;12535:41;;;12554:21;:6;12565:9;12554:10;:21::i;:::-;12535:41;;1361:25:1;;;1349:2;1334:18;12535:41:0;;;;;;;11422:1162;11353:1231;;;:::o;1478:224::-;1598:7;1634:12;1626:6;;;;1618:29;;;;-1:-1:-1;;;1618:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1658:9:0;1670:5;1674:1;1670;:5;:::i;:::-;1658:17;1478:224;-1:-1:-1;;;;;1478:224:0:o;8567:236::-;-1:-1:-1;;;;;8649:10:0;;;;;;:4;:10;;;;;;;;8648:11;:24;;;;-1:-1:-1;;;;;;8664:8:0;;;;;;:4;:8;;;;;;;;8663:9;8648:24;8640:33;;;;;;8706:11;;-1:-1:-1;;;8706:11:0;;;;;:39;;-1:-1:-1;;;;;;8721:24:0;;;;;;:18;:24;;;;;;;;8706:39;8684:111;;;;-1:-1:-1;;;8684:111:0;;9713:2:1;8684:111:0;;;9695:21:1;9752:2;9732:18;;;9725:30;-1:-1:-1;;;9771:18:1;;;9764:52;9833:18;;8684:111:0;9511:346:1;7199:1017:0;7311:7;7331:17;7351:110;7457:3;7351:87;7389:15;;7377:9;;:27;7376:61;;7423:14;;7376:61;;;7408:12;;7376:61;7351:6;;:24;:87::i;:::-;:105;;:110::i;:::-;7500:13;;7331:130;;-1:-1:-1;;;;;;7492:21:0;;;7500:13;;7492:21;:68;;;;-1:-1:-1;7544:15:0;;-1:-1:-1;;;;;7530:30:0;;;7544:15;;7530:30;;7492:68;:108;;;;-1:-1:-1;;;;;;7578:22:0;;;;;;:18;:22;;;;;;;;7577:23;7492:108;7474:394;;;7645:11;;7635:6;:21;;7627:59;;;;-1:-1:-1;;;7627:59:0;;10064:2:1;7627:59:0;;;10046:21:1;10103:2;10083:18;;;10076:30;10142:27;10122:18;;;10115:55;10187:18;;7627:59:0;9862:349:1;7627:59:0;7753:15;;7743:6;7727:13;7737:2;-1:-1:-1;;;;;6141:18:0;6114:7;6141:18;;;:9;:18;;;;;;;6048:119;7727:13;:22;;;;:::i;:::-;:41;;7701:129;;;;-1:-1:-1;;;7701:129:0;;10548:2:1;7701:129:0;;;10530:21:1;10587:2;10567:18;;;10560:30;10626:28;10606:18;;;10599:56;10672:18;;7701:129:0;10346:350:1;7701:129:0;7845:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7474:394;7890:13;;-1:-1:-1;;;;;7884:19:0;;;7890:13;;7884:19;:44;;;;-1:-1:-1;;;;;;7907:21:0;;7923:4;7907:21;;7884:44;7880:300;;;7957:211;8164:3;7957:184;8021:16;;8009:9;;:28;8008:114;;8107:15;;8008:114;;;8066:13;;7957:6;;:28;:184::i;7880:300::-;8199:9;7199:1017;-1:-1:-1;;;;7199:1017:0:o;10747:107::-;10804:7;10836:1;10832;:5;10831:15;;10845:1;10831:15;;;10841:1;10831:15;10824:22;10747:107;-1:-1:-1;;;10747:107:0:o;10862:483::-;5308:6;:13;;-1:-1:-1;;;;5308:13:0;-1:-1:-1;;;5308:13:0;;;10964:16:::1;::::0;;10978:1:::1;10964:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10964:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10964:16:0::1;10940:40;;11009:4;10991;10996:1;10991:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10991:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11035:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11035:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10991:7;;11035:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11025:4;11030:1;11025:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11025:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11100:15:::1;::::0;11068:62:::1;::::0;11085:4:::1;::::0;11100:15:::1;11118:11:::0;11068:8:::1;:62::i;:::-;11141:15;::::0;:196:::1;::::0;-1:-1:-1;;;11141:196:0;;-1:-1:-1;;;;;11141:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11222:11;;11141:15:::1;::::0;11264:4;;11291::::1;::::0;11311:15:::1;::::0;11141:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5344:6:0;:14;;-1:-1:-1;;;;5344:14:0;;;-1:-1:-1;;;;10862:483:0:o;12592:93::-;12649:11;;:28;;-1:-1:-1;;;;;12649:11:0;;;;:28;;;;;12670:6;;12649:11;:28;:11;:28;12670:6;12649:11;:28;;;;;;;;;;;;;;;;;;;8848:541;-1:-1:-1;;;;;9029:21:0;;9045:4;9029:21;;:40;;-1:-1:-1;2714:7:0;2741:6;-1:-1:-1;;;;;9054:15:0;;;2741:6;;9054:15;9029:40;9025:299;;;9090:48;9107:4;9121;9128:9;9090:16;:48::i;:::-;9157:7;;9025:299;-1:-1:-1;;;;;9190:24:0;;;;;;:18;:24;;;;;;;;9185:139;;9235:48;9252:4;9266;9273:9;9235:16;:48::i;9185:139::-;9347:34;9364:4;9370:2;9374:6;9347:16;:34::i;:::-;8848:541;;;;:::o;1334:136::-;1392:7;1419:43;1423:1;1426;1419:43;;;;;;;;;;;;;;;;;:3;:43::i;1147:179::-;1205:7;;1237:5;1241:1;1237;:5;:::i;:::-;1225:17;;1266:1;1261;:6;;1253:46;;;;-1:-1:-1;;;1253:46:0;;12292:2:1;1253:46:0;;;12274:21:1;12331:2;12311:18;;;12304:30;12370:29;12350:18;;;12343:57;12417:18;;1253:46:0;12090:351:1;1710:246:0;1768:7;1792:1;1797;1792:6;1788:47;;-1:-1:-1;1822:1:0;1815:8;;1788:47;1845:9;1857:5;1861:1;1857;:5;:::i;:::-;1845:17;-1:-1:-1;1890:1:0;1881:5;1885:1;1845:17;1881:5;:::i;:::-;:10;1873:56;;;;-1:-1:-1;;;1873:56:0;;12870:2:1;1873:56:0;;;12852:21:1;12909:2;12889:18;;;12882:30;12948:34;12928:18;;;12921:62;-1:-1:-1;;;12999:18:1;;;12992:31;13040:19;;1873:56:0;12668:397:1;1964:132:0;2022:7;2049:39;2053:1;2056;2049:39;;;;;;;;;;;;;;;;;:3;:39::i;9573:259::-;9699:10;;9695:130;;-1:-1:-1;;;;;9742:13:0;;;;;;:9;:13;;;;;;:25;;9760:6;9742:17;:25::i;:::-;-1:-1:-1;;;;;9726:13:0;;;;;;;:9;:13;;;;;;;:41;;;;9787:26;;;;;;;;;;9806:6;1361:25:1;;1349:2;1334:18;;1215:177;9695:130:0;9573:259;;;:::o;2104:223::-;2224:7;2259:12;2252:5;2244:28;;;;-1:-1:-1;;;2244:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2283:9:0;2295:5;2299:1;2295;: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:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;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:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3261:127::-;3322:10;3317:3;3313:20;3310:1;3303:31;3353:4;3350:1;3343:15;3377:4;3374:1;3367:15;3393:422;3482:1;3525:5;3482:1;3539:270;3560:7;3550:8;3547:21;3539:270;;;3619:4;3615:1;3611:6;3607:17;3601:4;3598:27;3595:53;;;3628:18;;:::i;:::-;3678:7;3668:8;3664:22;3661:55;;;3698:16;;;;3661:55;3777:22;;;;3737:15;;;;3539:270;;;3543:3;3393:422;;;;;:::o;3820:806::-;3869:5;3899:8;3889:80;;-1:-1:-1;3940:1:1;3954:5;;3889:80;3988:4;3978:76;;-1:-1:-1;4025:1:1;4039:5;;3978:76;4070:4;4088:1;4083:59;;;;4156:1;4151:130;;;;4063:218;;4083:59;4113:1;4104:10;;4127:5;;;4151:130;4188:3;4178:8;4175:17;4172:43;;;4195:18;;:::i;:::-;-1:-1:-1;;4251:1:1;4237:16;;4266:5;;4063:218;;4365:2;4355:8;4352:16;4346:3;4340:4;4337:13;4333:36;4327:2;4317:8;4314:16;4309:2;4303:4;4300:12;4296:35;4293:77;4290:159;;;-1:-1:-1;4402:19:1;;;4434:5;;4290:159;4481:34;4506:8;4500:4;4481:34;:::i;:::-;4551:6;4547:1;4543:6;4539:19;4530:7;4527:32;4524:58;;;4562:18;;:::i;:::-;4600:20;;3820:806;-1:-1:-1;;;3820:806:1:o;4631:140::-;4689:5;4718:47;4759:4;4749:8;4745:19;4739:4;4718:47;:::i;4776:168::-;4849:9;;;4880;;4897:15;;;4891:22;;4877:37;4867:71;;4918:18;;:::i;5301:251::-;5371:6;5424:2;5412:9;5403:7;5399:23;5395:32;5392:52;;;5440:1;5437;5430:12;5392:52;5472:9;5466:16;5491:31;5516:5;5491:31;:::i;6478:306::-;6566:6;6574;6582;6635:2;6623:9;6614:7;6610:23;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6680:9;6674:16;6664:26;;6730:2;6719:9;6715:18;6709:25;6699:35;;6774:2;6763:9;6759:18;6753:25;6743:35;;6478:306;;;;;:::o;7068:277::-;7135:6;7188:2;7176:9;7167:7;7163:23;7159:32;7156:52;;;7204:1;7201;7194:12;7156:52;7236:9;7230:16;7289:5;7282:13;7275:21;7268:5;7265:32;7255:60;;7311:1;7308;7301:12;9378:128;9445:9;;;9466:11;;;9463:37;;;9480:18;;:::i;10216:125::-;10281:9;;;10302:10;;;10299:36;;;10315:18;;:::i;10701:135::-;10740:3;10761:17;;;10758:43;;10781:18;;:::i;:::-;-1:-1:-1;10828:1:1;10817:13;;10701:135::o;10973:127::-;11034:10;11029:3;11025:20;11022:1;11015:31;11065:4;11062:1;11055:15;11089:4;11086:1;11079:15;11105:980;11367:4;11415:3;11404:9;11400:19;11446:6;11435:9;11428:25;11472:2;11510:6;11505:2;11494:9;11490:18;11483:34;11553:3;11548:2;11537:9;11533:18;11526:31;11577:6;11612;11606:13;11643:6;11635;11628:22;11681:3;11670:9;11666:19;11659:26;;11720:2;11712:6;11708:15;11694:29;;11741:1;11751:195;11765:6;11762:1;11759:13;11751:195;;;11830:13;;-1:-1:-1;;;;;11826:39:1;11814:52;;11921:15;;;;11886:12;;;;11862:1;11780:9;11751:195;;;-1:-1:-1;;;;;;;12002:32:1;;;;11997:2;11982:18;;11975:60;-1:-1:-1;;;12066:3:1;12051:19;12044:35;11963:3;11105:980;-1:-1:-1;;;11105:980:1:o;12446:217::-;12486:1;12512;12502:132;;12556:10;12551:3;12547:20;12544:1;12537:31;12591:4;12588:1;12581:15;12619:4;12616:1;12609:15;12502:132;-1:-1:-1;12648:9:1;;12446:217::o

Swarm Source

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