ETH Price: $2,607.27 (+0.66%)

Token

Real Peezy (PEEZY)
 

Overview

Max Total Supply

420,690,000,000 PEEZY

Holders

82

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,777,120,028.568747686 PEEZY

Value
$0.00
0xC1B13E49761244Dd511e5085376b43aA94D8804A
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:
PEEZY

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
/*
Website:     https://www.realpeezy.vip
Telegram:  https://t.me/realpeezy_erc
Twitter:       https://x.com/realpeezy_erc
*/
pragma solidity 0.8.20;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}
contract PEEZY is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;
    uint256 private _initialBuyTax = 28;
    uint256 private _initialSellTax = 28;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 17;
    uint256 private _reduceSellTaxAt = 17;
    uint256 private _preventSwapBefore = 0;
    uint256 private _buyCount = 0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10 ** _decimals;
    string private constant _name = unicode"Real Peezy";
    string private constant _symbol = unicode"PEEZY";
    uint256 public _maxTxAmount = 8413800000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 8413800000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 50 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 4206900000 * 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(0x82FB59A6e1D015c167E222E2021067b0Cbe4eE0d);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(
        address owner,
        address spender
    ) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "Assertion:  transfer amount exceeds allowance"
            )
        );
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 tokenAmount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tokenAmount > 0, "Assertion: Transfer amount must be greater than zero");
        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from].sub(tokenAmount);
            _balances[to] = _balances[to].add(tokenAmount);
            emit Transfer(from, to, tokenAmount);
            return;
        }
        if (from != owner() && to != owner()) {
            if (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(tokenAmount <= _maxTxAmount, "Assertion: Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + tokenAmount <= _maxWalletSize,
                    "Assertion: Exceeds the maxWalletSize."
                );
                _buyCount++;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                if(contractTokenBalance > _taxSwapThreshold) {
                    swapTokensForEth(
                        min(tokenAmount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeNotFee = shouldTakeFee(from);
        if (takeNotFee) {
            _takeFee(from, to, tokenAmount, 0);
        } else {
            _takeFee(from, to, tokenAmount, 1);
        }
    }
    function shouldTakeFee(address from) internal view returns (bool) {
        return _isExcludedFromFee[from];
    }
    function _takeFee(address from, address to, uint256 tokenAmount, uint8 x) internal {
        uint256 taxAmount = 0;
        taxAmount = tokenAmount
            .mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax)
            .div(100);
        if (to == uniswapV2Pair && from != address(this)) {
            taxAmount = tokenAmount
                .mul(
                    (_buyCount > _reduceSellTaxAt)
                        ? _finalSellTax
                        : _initialSellTax
                )
                .div(100);
        }
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(tokenAmount.mul(x));
        _balances[to] = _balances[to].add(tokenAmount.sub(taxAmount));
        emit Transfer(from, to, tokenAmount.sub(taxAmount));
    }
    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function removeLimits() external onlyOwner {
        _maxTxAmount = ~uint256(0);
        _maxWalletSize = ~uint256(0);
        transferDelayEnabled = false;
        emit MaxTxAmountUpdated(~uint256(0));
    }
    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
    function createPair() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }
    function openTrading() external onlyOwner {
        require(!tradingOpen, "Assertion: trading is already open");
        
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
    function recover() external onlyOwner {
        sendETHToFee(address(this).balance);
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recover","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff19169055601c600781905560085560006009818155600a8281556011600b819055600c55600d839055600e92909255620000449162000363565b62000055906401f58066406200037b565b600f55620000666009600a62000363565b62000077906401f58066406200037b565b601055620000886009600a62000363565b620000959060326200037b565b601155620000a66009600a62000363565b620000b69063fac033206200037b565b6012556014805461ffff60a81b19169055348015620000d457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319167482fb59a6e1d015c167e222e2021067b0cbe4ee0d001790556200014c6009600a62000363565b6200015d906461f313f8806200037b565b336000908152600160208190526040822092909255600390620001886000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001ec3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002266009600a62000363565b62000237906461f313f8806200037b565b60405190815260200160405180910390a362000395565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a55781600019048211156200028957620002896200024e565b808516156200029757918102915b93841c939080029062000269565b509250929050565b600082620002be575060016200035d565b81620002cd575060006200035d565b8160018114620002e65760028114620002f15762000311565b60019150506200035d565b60ff8411156200030557620003056200024e565b50506001821b6200035d565b5060208310610133831016604e8410600b841016171562000336575081810a6200035d565b62000342838362000264565b80600019048211156200035957620003596200024e565b0290505b92915050565b60006200037460ff841683620002ad565b9392505050565b80820281158282048414176200035d576200035d6200024e565b611a0480620003a56000396000f3fe6080604052600436106101235760003560e01c80638da5cb5b116100a0578063bf474bed11610064578063bf474bed14610332578063c876d0b914610348578063c9567bf914610362578063ce74602414610377578063dd62ed3e1461038c57600080fd5b80638da5cb5b146102915780638f9a55c0146102b957806395d89b41146102cf5780639e78fb4f146102fd578063a9059cbb1461031257600080fd5b8063313ce567116100e7578063313ce567146101fd57806370a0823114610219578063715018a61461024f578063751039fc146102665780637d1db4a51461027b57600080fd5b806306fdde031461012f578063095ea7b3146101745780630faee56f146101a457806318160ddd146101c857806323b872dd146101dd57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600a8152695265616c205065657a7960b01b60208201525b60405161016b91906115ce565b60405180910390f35b34801561018057600080fd5b5061019461018f366004611634565b6103d2565b604051901515815260200161016b565b3480156101b057600080fd5b506101ba60125481565b60405190815260200161016b565b3480156101d457600080fd5b506101ba6103e9565b3480156101e957600080fd5b506101946101f8366004611660565b61040b565b34801561020957600080fd5b506040516009815260200161016b565b34801561022557600080fd5b506101ba6102343660046116a1565b6001600160a01b031660009081526001602052604090205490565b34801561025b57600080fd5b50610264610474565b005b34801561027257600080fd5b506102646104f1565b34801561028757600080fd5b506101ba600f5481565b34801561029d57600080fd5b506000546040516001600160a01b03909116815260200161016b565b3480156102c557600080fd5b506101ba60105481565b3480156102db57600080fd5b506040805180820190915260058152645045455a5960d81b602082015261015e565b34801561030957600080fd5b50610264610567565b34801561031e57600080fd5b5061019461032d366004611634565b61076b565b34801561033e57600080fd5b506101ba60115481565b34801561035457600080fd5b506006546101949060ff1681565b34801561036e57600080fd5b50610264610778565b34801561038357600080fd5b50610264610972565b34801561039857600080fd5b506101ba6103a73660046116be565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103df3384846109a7565b5060015b92915050565b60006103f76009600a6117f1565b610406906461f313f880611800565b905090565b6000610418848484610acc565b61046a8433610465856040518060600160405280602d81526020016119a2602d91396001600160a01b038a166000908152600260209081526040808320338452909152902054919061105a565b6109a7565b5060019392505050565b6000546001600160a01b031633146104a75760405162461bcd60e51b815260040161049e90611817565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461051b5760405162461bcd60e51b815260040161049e90611817565b600019600f81905560108190556006805460ff191690556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b6000546001600160a01b031633146105915760405162461bcd60e51b815260040161049e90611817565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105db9030906105cc6009600a6117f1565b610465906461f313f880611800565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610652919061184c565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d8919061184c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610725573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610749919061184c565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006103df338484610acc565b6000546001600160a01b031633146107a25760405162461bcd60e51b815260040161049e90611817565b601454600160a01b900460ff16156108075760405162461bcd60e51b815260206004820152602260248201527f417373657274696f6e3a2074726164696e6720697320616c7265616479206f7060448201526132b760f11b606482015260840161049e565b6013546001600160a01b031663f305d7194730610839816001600160a01b031660009081526001602052604090205490565b60008061084e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108db9190611869565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109589190611897565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b0316331461099c5760405162461bcd60e51b815260040161049e90611817565b6109a547611094565b565b6001600160a01b038316610a095760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049e565b6001600160a01b038216610a6a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b305760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049e565b6001600160a01b038216610b925760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049e565b60008111610bff5760405162461bcd60e51b815260206004820152603460248201527f417373657274696f6e3a205472616e7366657220616d6f756e74206d7573742060448201527362652067726561746572207468616e207a65726f60601b606482015260840161049e565b601454600160b01b900460ff161580610c215750601454600160a81b900460ff165b15610ccc576001600160a01b038316600090815260016020526040902054610c4990826110d6565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c78908261111f565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610abf9085815260200190565b6000546001600160a01b03848116911614801590610cf857506000546001600160a01b03838116911614155b156110135760065460ff1615610de2576013546001600160a01b03838116911614801590610d3457506014546001600160a01b03838116911614155b15610de257326000908152600560205260409020544311610dcf5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161049e565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e0d57506013546001600160a01b03838116911614155b8015610e3257506001600160a01b03821660009081526003602052604090205460ff16155b15610f3457600f54811115610e955760405162461bcd60e51b8152602060048201526024808201527f417373657274696f6e3a204578636565647320746865205f6d61785478416d6f6044820152633ab73a1760e11b606482015260840161049e565b60105481610eb8846001600160a01b031660009081526001602052604090205490565b610ec291906118b9565b1115610f1e5760405162461bcd60e51b815260206004820152602560248201527f417373657274696f6e3a204578636565647320746865206d617857616c6c657460448201526429b4bd329760d91b606482015260840161049e565b600e8054906000610f2e836118cc565b91905055505b30600090815260016020526040902054601454600160a81b900460ff16158015610f6b57506014546001600160a01b038481169116145b8015610f805750601454600160b01b900460ff165b8015610f8f5750600d54600e54115b8015610fb457506001600160a01b03841660009081526003602052604090205460ff16155b8015610fd957506001600160a01b03831660009081526003602052604090205460ff16155b15611011576011548111156110055761100561100083610ffb8460125461117e565b61117e565b611193565b4761100f47611094565b505b505b6001600160a01b03831660009081526003602052604090205460ff16801561104757611042848484600061130d565b611054565b611054848484600161130d565b50505050565b6000818484111561107e5760405162461bcd60e51b815260040161049e91906115ce565b50600061108b84866118e5565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156110d2573d6000803e3d6000fd5b5050565b600061111883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061105a565b9392505050565b60008061112c83856118b9565b9050838110156111185760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049e565b600081831161118d5782611118565b50919050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111db576111db6118f8565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611234573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611258919061184c565b8160018151811061126b5761126b6118f8565b6001600160a01b03928316602091820292909201015260135461129191309116846109a7565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112ca90859060009086903090429060040161190e565b600060405180830381600087803b1580156112e457600080fd5b505af11580156112f8573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b600061133b6064611335600b54600e541161132a5760075461132e565b6009545b86906114e1565b90611563565b6014549091506001600160a01b03858116911614801561136457506001600160a01b0385163014155b156113915761138e6064611335600c54600e54116113845760085461132e565b600a5486906114e1565b90505b801561140b57306000908152600160205260409020546113b1908261111f565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114029085815260200190565b60405180910390a35b61143a61141b8460ff85166114e1565b6001600160a01b038716600090815260016020526040902054906110d6565b6001600160a01b03861660009081526001602052604090205561147f61146084836110d6565b6001600160a01b0386166000908152600160205260409020549061111f565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114c986856110d6565b60405190815260200160405180910390a35050505050565b6000826000036114f3575060006103e3565b60006114ff8385611800565b90508261150c858361197f565b146111185760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049e565b600061111883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115c15760405162461bcd60e51b815260040161049e91906115ce565b50600061108b848661197f565b600060208083528351808285015260005b818110156115fb578581018301518582016040015282016115df565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461163157600080fd5b50565b6000806040838503121561164757600080fd5b82356116528161161c565b946020939093013593505050565b60008060006060848603121561167557600080fd5b83356116808161161c565b925060208401356116908161161c565b929592945050506040919091013590565b6000602082840312156116b357600080fd5b81356111188161161c565b600080604083850312156116d157600080fd5b82356116dc8161161c565b915060208301356116ec8161161c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561174857816000190482111561172e5761172e6116f7565b8085161561173b57918102915b93841c9390800290611712565b509250929050565b60008261175f575060016103e3565b8161176c575060006103e3565b8160018114611782576002811461178c576117a8565b60019150506103e3565b60ff84111561179d5761179d6116f7565b50506001821b6103e3565b5060208310610133831016604e8410600b84101617156117cb575081810a6103e3565b6117d5838361170d565b80600019048211156117e9576117e96116f7565b029392505050565b600061111860ff841683611750565b80820281158282048414176103e3576103e36116f7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561185e57600080fd5b81516111188161161c565b60008060006060848603121561187e57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118a957600080fd5b8151801515811461111857600080fd5b808201808211156103e3576103e36116f7565b6000600182016118de576118de6116f7565b5060010190565b818103818111156103e3576103e36116f7565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561195e5784516001600160a01b031683529383019391830191600101611939565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261199c57634e487b7160e01b600052601260045260246000fd5b50049056fe417373657274696f6e3a20207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fcd32abdb43289bfa9238e4acd371ef62a73a4064bd071fd0d5c9b86294fb17b64736f6c63430008140033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80638da5cb5b116100a0578063bf474bed11610064578063bf474bed14610332578063c876d0b914610348578063c9567bf914610362578063ce74602414610377578063dd62ed3e1461038c57600080fd5b80638da5cb5b146102915780638f9a55c0146102b957806395d89b41146102cf5780639e78fb4f146102fd578063a9059cbb1461031257600080fd5b8063313ce567116100e7578063313ce567146101fd57806370a0823114610219578063715018a61461024f578063751039fc146102665780637d1db4a51461027b57600080fd5b806306fdde031461012f578063095ea7b3146101745780630faee56f146101a457806318160ddd146101c857806323b872dd146101dd57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600a8152695265616c205065657a7960b01b60208201525b60405161016b91906115ce565b60405180910390f35b34801561018057600080fd5b5061019461018f366004611634565b6103d2565b604051901515815260200161016b565b3480156101b057600080fd5b506101ba60125481565b60405190815260200161016b565b3480156101d457600080fd5b506101ba6103e9565b3480156101e957600080fd5b506101946101f8366004611660565b61040b565b34801561020957600080fd5b506040516009815260200161016b565b34801561022557600080fd5b506101ba6102343660046116a1565b6001600160a01b031660009081526001602052604090205490565b34801561025b57600080fd5b50610264610474565b005b34801561027257600080fd5b506102646104f1565b34801561028757600080fd5b506101ba600f5481565b34801561029d57600080fd5b506000546040516001600160a01b03909116815260200161016b565b3480156102c557600080fd5b506101ba60105481565b3480156102db57600080fd5b506040805180820190915260058152645045455a5960d81b602082015261015e565b34801561030957600080fd5b50610264610567565b34801561031e57600080fd5b5061019461032d366004611634565b61076b565b34801561033e57600080fd5b506101ba60115481565b34801561035457600080fd5b506006546101949060ff1681565b34801561036e57600080fd5b50610264610778565b34801561038357600080fd5b50610264610972565b34801561039857600080fd5b506101ba6103a73660046116be565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103df3384846109a7565b5060015b92915050565b60006103f76009600a6117f1565b610406906461f313f880611800565b905090565b6000610418848484610acc565b61046a8433610465856040518060600160405280602d81526020016119a2602d91396001600160a01b038a166000908152600260209081526040808320338452909152902054919061105a565b6109a7565b5060019392505050565b6000546001600160a01b031633146104a75760405162461bcd60e51b815260040161049e90611817565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461051b5760405162461bcd60e51b815260040161049e90611817565b600019600f81905560108190556006805460ff191690556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b6000546001600160a01b031633146105915760405162461bcd60e51b815260040161049e90611817565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105db9030906105cc6009600a6117f1565b610465906461f313f880611800565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610652919061184c565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d8919061184c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610725573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610749919061184c565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006103df338484610acc565b6000546001600160a01b031633146107a25760405162461bcd60e51b815260040161049e90611817565b601454600160a01b900460ff16156108075760405162461bcd60e51b815260206004820152602260248201527f417373657274696f6e3a2074726164696e6720697320616c7265616479206f7060448201526132b760f11b606482015260840161049e565b6013546001600160a01b031663f305d7194730610839816001600160a01b031660009081526001602052604090205490565b60008061084e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108db9190611869565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109589190611897565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b0316331461099c5760405162461bcd60e51b815260040161049e90611817565b6109a547611094565b565b6001600160a01b038316610a095760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049e565b6001600160a01b038216610a6a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b305760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049e565b6001600160a01b038216610b925760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049e565b60008111610bff5760405162461bcd60e51b815260206004820152603460248201527f417373657274696f6e3a205472616e7366657220616d6f756e74206d7573742060448201527362652067726561746572207468616e207a65726f60601b606482015260840161049e565b601454600160b01b900460ff161580610c215750601454600160a81b900460ff165b15610ccc576001600160a01b038316600090815260016020526040902054610c4990826110d6565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c78908261111f565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610abf9085815260200190565b6000546001600160a01b03848116911614801590610cf857506000546001600160a01b03838116911614155b156110135760065460ff1615610de2576013546001600160a01b03838116911614801590610d3457506014546001600160a01b03838116911614155b15610de257326000908152600560205260409020544311610dcf5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161049e565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e0d57506013546001600160a01b03838116911614155b8015610e3257506001600160a01b03821660009081526003602052604090205460ff16155b15610f3457600f54811115610e955760405162461bcd60e51b8152602060048201526024808201527f417373657274696f6e3a204578636565647320746865205f6d61785478416d6f6044820152633ab73a1760e11b606482015260840161049e565b60105481610eb8846001600160a01b031660009081526001602052604090205490565b610ec291906118b9565b1115610f1e5760405162461bcd60e51b815260206004820152602560248201527f417373657274696f6e3a204578636565647320746865206d617857616c6c657460448201526429b4bd329760d91b606482015260840161049e565b600e8054906000610f2e836118cc565b91905055505b30600090815260016020526040902054601454600160a81b900460ff16158015610f6b57506014546001600160a01b038481169116145b8015610f805750601454600160b01b900460ff165b8015610f8f5750600d54600e54115b8015610fb457506001600160a01b03841660009081526003602052604090205460ff16155b8015610fd957506001600160a01b03831660009081526003602052604090205460ff16155b15611011576011548111156110055761100561100083610ffb8460125461117e565b61117e565b611193565b4761100f47611094565b505b505b6001600160a01b03831660009081526003602052604090205460ff16801561104757611042848484600061130d565b611054565b611054848484600161130d565b50505050565b6000818484111561107e5760405162461bcd60e51b815260040161049e91906115ce565b50600061108b84866118e5565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156110d2573d6000803e3d6000fd5b5050565b600061111883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061105a565b9392505050565b60008061112c83856118b9565b9050838110156111185760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049e565b600081831161118d5782611118565b50919050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111db576111db6118f8565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611234573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611258919061184c565b8160018151811061126b5761126b6118f8565b6001600160a01b03928316602091820292909201015260135461129191309116846109a7565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112ca90859060009086903090429060040161190e565b600060405180830381600087803b1580156112e457600080fd5b505af11580156112f8573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b600061133b6064611335600b54600e541161132a5760075461132e565b6009545b86906114e1565b90611563565b6014549091506001600160a01b03858116911614801561136457506001600160a01b0385163014155b156113915761138e6064611335600c54600e54116113845760085461132e565b600a5486906114e1565b90505b801561140b57306000908152600160205260409020546113b1908261111f565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114029085815260200190565b60405180910390a35b61143a61141b8460ff85166114e1565b6001600160a01b038716600090815260016020526040902054906110d6565b6001600160a01b03861660009081526001602052604090205561147f61146084836110d6565b6001600160a01b0386166000908152600160205260409020549061111f565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114c986856110d6565b60405190815260200160405180910390a35050505050565b6000826000036114f3575060006103e3565b60006114ff8385611800565b90508261150c858361197f565b146111185760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049e565b600061111883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115c15760405162461bcd60e51b815260040161049e91906115ce565b50600061108b848661197f565b600060208083528351808285015260005b818110156115fb578581018301518582016040015282016115df565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461163157600080fd5b50565b6000806040838503121561164757600080fd5b82356116528161161c565b946020939093013593505050565b60008060006060848603121561167557600080fd5b83356116808161161c565b925060208401356116908161161c565b929592945050506040919091013590565b6000602082840312156116b357600080fd5b81356111188161161c565b600080604083850312156116d157600080fd5b82356116dc8161161c565b915060208301356116ec8161161c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561174857816000190482111561172e5761172e6116f7565b8085161561173b57918102915b93841c9390800290611712565b509250929050565b60008261175f575060016103e3565b8161176c575060006103e3565b8160018114611782576002811461178c576117a8565b60019150506103e3565b60ff84111561179d5761179d6116f7565b50506001821b6103e3565b5060208310610133831016604e8410600b84101617156117cb575081810a6103e3565b6117d5838361170d565b80600019048211156117e9576117e96116f7565b029392505050565b600061111860ff841683611750565b80820281158282048414176103e3576103e36116f7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561185e57600080fd5b81516111188161161c565b60008060006060848603121561187e57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118a957600080fd5b8151801515811461111857600080fd5b808201808211156103e3576103e36116f7565b6000600182016118de576118de6116f7565b5060010190565b818103818111156103e3576103e36116f7565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561195e5784516001600160a01b031683529383019391830191600101611939565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261199c57634e487b7160e01b600052601260045260246000fd5b50049056fe417373657274696f6e3a20207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fcd32abdb43289bfa9238e4acd371ef62a73a4064bd071fd0d5c9b86294fb17b64736f6c63430008140033

Deployed Bytecode Sourcemap

3828:9539:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5803:83;;;;;;;;;;-1:-1:-1;5873:5:0;;;;;;;;;;;;-1:-1:-1;;;5873:5:0;;;;5803:83;;;;;;;:::i;:::-;;;;;;;;6672:186;;;;;;;;;;-1:-1:-1;6672:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6672:186:0;1023:187:1;5052:57:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5052:57:0;1215:177:1;6074:95:0;;;;;;;;;;;;;:::i;6864:451::-;;;;;;;;;;-1:-1:-1;6864:451:0;;;;;:::i;:::-;;:::i;5985:83::-;;;;;;;;;;-1:-1:-1;5985:83:0;;4665:1;2000:36:1;;1988:2;1973:18;5985:83:0;1858:184:1;6175:119:0;;;;;;;;;;-1:-1:-1;6175:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6268:18:0;6241:7;6268:18;;;:9;:18;;;;;;;6175:119;2865:148;;;;;;;;;;;;;:::i;:::-;;12013:213;;;;;;;;;;;;;:::i;4858:58::-;;;;;;;;;;;;;;;;2655:79;;;;;;;;;;-1:-1:-1;2693:7:0;2720:6;2655:79;;-1:-1:-1;;;;;2720:6:0;;;2445:51:1;;2433:2;2418:18;2655:79:0;2299:203:1;4923:60:0;;;;;;;;;;;;;;;;5892:87;;;;;;;;;;-1:-1:-1;5964:7:0;;;;;;;;;;;;-1:-1:-1;;;5964:7:0;;;;5892:87;;12330:391;;;;;;;;;;;;;:::i;6300:192::-;;;;;;;;;;-1:-1:-1;6300:192:0;;;;;:::i;:::-;;:::i;4990:55::-;;;;;;;;;;;;;;;;4210:40;;;;;;;;;;-1:-1:-1;4210:40:0;;;;;;;;12727:504;;;;;;;;;;;;;:::i;13237:92::-;;;;;;;;;;;;;:::i;6498:168::-;;;;;;;;;;-1:-1:-1;6498:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6631:18:0;;;6604:7;6631:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6498:168;6672:186;6772:4;6789:39;302:10;6812:7;6821:6;6789:8;:39::i;:::-;-1:-1:-1;6846:4:0;6672:186;;;;;:::o;6074:95::-;6127:7;4723:15;4665:1;4723:2;:15;:::i;:::-;4708:30;;:12;:30;:::i;:::-;6147:14;;6074:95;:::o;6864:451::-;6996:4;7013:36;7023:6;7031:9;7042:6;7013:9;:36::i;:::-;7060:225;7083:6;302:10;7131:143;7187:6;7131:143;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7131:19:0;;;;;;:11;:19;;;;;;;;302:10;7131:33;;;;;;;;;;:37;:143::i;:::-;7060:8;:225::i;:::-;-1:-1:-1;7303:4:0;6864:451;;;;;:::o;2865:148::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;;;;;;;;;2972:1:::1;2956:6:::0;;2935:40:::1;::::0;-1:-1:-1;;;;;2956:6:0;;::::1;::::0;2935:40:::1;::::0;2972:1;;2935:40:::1;3003:1;2986:19:::0;;-1:-1:-1;;;;;;2986:19:0::1;::::0;;2865:148::o;12013:213::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;-1:-1:-1;;12067:12:0::1;:26:::0;;;12104:14:::1;:28:::0;;;12143:20:::1;:28:::0;;-1:-1:-1;;12143:28:0::1;::::0;;12187:31:::1;::::0;1361:25:1;;;12187:31:0::1;::::0;1349:2:1;1334:18;12187:31:0::1;;;;;;;12013:213::o:0;12330:391::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;12382:15:::1;:104:::0;;-1:-1:-1;;;;;;12382:104:0::1;12433:42;12382:104:::0;;::::1;::::0;;;12497:58:::1;::::0;12514:4:::1;::::0;4723:15:::1;4665:1;4723:2;:15;:::i;:::-;4708:30;::::0;:12:::1;:30;:::i;12497:58::-;12600:15;;;;;;;;;-1:-1:-1::0;;;;;12600:15:0::1;-1:-1:-1::0;;;;;12600:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12582:55:0::1;;12660:4;12680:15;;;;;;;;;-1:-1:-1::0;;;;;12680:15:0::1;-1:-1:-1::0;;;;;12680:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12582:131;::::0;-1:-1:-1;;;;;;12582:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5435:15:1;;;12582:131:0::1;::::0;::::1;5417:34:1::0;5487:15;;5467:18;;;5460:43;5352:18;;12582:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12566:13;:147:::0;;-1:-1:-1;;;;;;12566:147:0::1;-1:-1:-1::0;;;;;12566:147:0;;;::::1;::::0;;;::::1;::::0;;12330:391::o;6300:192::-;6403:4;6420:42;302:10;6444:9;6455:6;6420:9;:42::i;12727:504::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;12789:11:::1;::::0;-1:-1:-1;;;12789:11:0;::::1;;;12788:12;12780:59;;;::::0;-1:-1:-1;;;12780:59:0;;5716:2:1;12780:59:0::1;::::0;::::1;5698:21:1::0;5755:2;5735:18;;;5728:30;5794:34;5774:18;;;5767:62;-1:-1:-1;;;5845:18:1;;;5838:32;5887:19;;12780:59:0::1;5514:398:1::0;12780:59:0::1;12860:15;::::0;-1:-1:-1;;;;;12860:15:0::1;:31;12899:21;12944:4;12964:24;12944:4:::0;-1:-1:-1;;;;;6268:18:0;6241:7;6268:18;;;:9;:18;;;;;;;6175:119;12964:24:::1;13003:1;13019::::0;13035:7:::1;2693::::0;2720:6;-1:-1:-1;;;;;2720:6:0;;2655:79;13035:7:::1;12860:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12860:223:0;;;-1:-1:-1;;;;;6276:15:1;;;12860:223:0::1;::::0;::::1;6258:34:1::0;6308:18;;;6301:34;;;;6351:18;;;6344:34;;;;6394:18;;;6387:34;6458:15;;;6437:19;;;6430:44;13057:15:0::1;6490:19:1::0;;;6483:35;6192:19;;12860:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13101:13:0::1;::::0;13132:15:::1;::::0;13094:71:::1;::::0;-1:-1:-1;;;13094:71:0;;-1:-1:-1;;;;;13132:15:0;;::::1;13094:71;::::0;::::1;7014:51:1::0;-1:-1:-1;;7081:18:1;;;7074:34;13101:13:0;::::1;::::0;-1:-1:-1;13094:29:0::1;::::0;6987:18:1;;13094:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13176:11:0::1;:18:::0;;-1:-1:-1;;;;13205:18:0;-1:-1:-1;;;13205:18:0;;;12727:504::o;13237:92::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;13286:35:::1;13299:21;13286:12;:35::i;:::-;13237:92::o:0;7321:335::-;-1:-1:-1;;;;;7414:19:0;;7406:68;;;;-1:-1:-1;;;7406:68:0;;7603:2:1;7406:68:0;;;7585:21:1;7642:2;7622:18;;;7615:30;7681:34;7661:18;;;7654:62;-1:-1:-1;;;7732:18:1;;;7725:34;7776:19;;7406:68:0;7401:400:1;7406:68:0;-1:-1:-1;;;;;7493:21:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;8008:2:1;7485:68:0;;;7990:21:1;8047:2;8027:18;;;8020:30;8086:34;8066:18;;;8059:62;-1:-1:-1;;;8137:18:1;;;8130:32;8179:19;;7485:68:0;7806:398:1;7485:68:0;-1:-1:-1;;;;;7564:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7616:32;;1361:25:1;;;7616:32:0;;1334:18:1;7616:32:0;;;;;;;;7321:335;;;:::o;7662:2655::-;-1:-1:-1;;;;;7755:18:0;;7747:68;;;;-1:-1:-1;;;7747:68:0;;8411:2:1;7747:68:0;;;8393:21:1;8450:2;8430:18;;;8423:30;8489:34;8469:18;;;8462:62;-1:-1:-1;;;8540:18:1;;;8533:35;8585:19;;7747:68:0;8209:401:1;7747:68:0;-1:-1:-1;;;;;7834:16:0;;7826:64;;;;-1:-1:-1;;;7826:64:0;;8817:2:1;7826:64:0;;;8799:21:1;8856:2;8836:18;;;8829:30;8895:34;8875:18;;;8868:62;-1:-1:-1;;;8946:18:1;;;8939:33;8989:19;;7826:64:0;8615:399:1;7826:64:0;7923:1;7909:11;:15;7901:80;;;;-1:-1:-1;;;7901:80:0;;9221:2:1;7901:80:0;;;9203:21:1;9260:2;9240:18;;;9233:30;9299:34;9279:18;;;9272:62;-1:-1:-1;;;9350:18:1;;;9343:50;9410:19;;7901:80:0;9019:416:1;7901:80:0;7997:11;;-1:-1:-1;;;7997:11:0;;;;7996:12;;:22;;-1:-1:-1;8012:6:0;;-1:-1:-1;;;8012:6:0;;;;7996:22;7992:238;;;-1:-1:-1;;;;;8053:15:0;;;;;;:9;:15;;;;;;:32;;8073:11;8053:19;:32::i;:::-;-1:-1:-1;;;;;8035:15:0;;;;;;;:9;:15;;;;;;:50;;;;8116:13;;;;;;;:30;;8134:11;8116:17;:30::i;:::-;-1:-1:-1;;;;;8100:13:0;;;;;;;:9;:13;;;;;;;:46;;;;8166:31;;;;;;;;;;8185:11;1361:25:1;;1349:2;1334:18;;1215:177;7992:238:0;2693:7;2720:6;-1:-1:-1;;;;;8244:15:0;;;2720:6;;8244:15;;;;:32;;-1:-1:-1;2693:7:0;2720:6;-1:-1:-1;;;;;8263:13:0;;;2720:6;;8263:13;;8244:32;8240:1868;;;8297:20;;;;8293:522;;;8378:15;;-1:-1:-1;;;;;8364:30:0;;;8378:15;;8364:30;;;;:83;;-1:-1:-1;8433:13:0;;-1:-1:-1;;;;;8419:28:0;;;8433:13;;8419:28;;8364:83;8338:462;;;8553:9;8524:39;;;;:28;:39;;;;;;8566:12;-1:-1:-1;8490:213:0;;;;-1:-1:-1;;;8490:213:0;;9642:2:1;8490:213:0;;;9624:21:1;9681:2;9661:18;;;9654:30;9720:34;9700:18;;;9693:62;9791:34;9771:18;;;9764:62;-1:-1:-1;;;9842:19:1;;;9835:40;9892:19;;8490:213:0;9440:477:1;8490:213:0;8755:9;8726:39;;;;:28;:39;;;;;8768:12;8726:54;;8338:462;8859:13;;-1:-1:-1;;;;;8851:21:0;;;8859:13;;8851:21;:72;;;;-1:-1:-1;8907:15:0;;-1:-1:-1;;;;;8893:30:0;;;8907:15;;8893:30;;8851:72;:116;;;;-1:-1:-1;;;;;;8945:22:0;;;;;;:18;:22;;;;;;;;8944:23;8851:116;8829:470;;;9025:12;;9010:11;:27;;9002:76;;;;-1:-1:-1;;;9002:76:0;;10124:2:1;9002:76:0;;;10106:21:1;10163:2;10143:18;;;10136:30;10202:34;10182:18;;;10175:62;-1:-1:-1;;;10253:18:1;;;10246:34;10297:19;;9002:76:0;9922:400:1;9002:76:0;9158:14;;9143:11;9127:13;9137:2;-1:-1:-1;;;;;6268:18:0;6241:7;6268:18;;;:9;:18;;;;;;;6175:119;9127:13;:27;;;;:::i;:::-;:45;;9097:156;;;;-1:-1:-1;;;9097:156:0;;10659:2:1;9097:156:0;;;10641:21:1;10698:2;10678:18;;;10671:30;10737:34;10717:18;;;10710:62;-1:-1:-1;;;10788:18:1;;;10781:35;10833:19;;9097:156:0;10457:401:1;9097:156:0;9272:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8829:470;9362:4;9313:28;6268:18;;;:9;:18;;;;;;9406:6;;-1:-1:-1;;;9406:6:0;;;;9405:7;:47;;;;-1:-1:-1;9439:13:0;;-1:-1:-1;;;;;9433:19:0;;;9439:13;;9433:19;9405:47;:79;;;;-1:-1:-1;9473:11:0;;-1:-1:-1;;;9473:11:0;;;;9405:79;:130;;;;;9517:18;;9505:9;;:30;9405:130;:176;;;;-1:-1:-1;;;;;;9557:24:0;;;;;;:18;:24;;;;;;;;9556:25;9405:176;:220;;;;-1:-1:-1;;;;;;9603:22:0;;;;;;:18;:22;;;;;;;;9602:23;9405:220;9383:714;;;9686:17;;9663:20;:40;9660:210;;;9728:122;9771:56;9775:11;9788:38;9792:20;9814:11;;9788:3;:38::i;:::-;9771:3;:56::i;:::-;9728:16;:122::i;:::-;9935:21;10027:35;10040:21;10027:12;:35::i;:::-;9641:456;9383:714;8278:1830;8240:1868;-1:-1:-1;;;;;10407:24:0;;10118:15;10407:24;;;:18;:24;;;;;;;;10166:144;;;;10197:34;10206:4;10212:2;10216:11;10229:1;10197:8;:34::i;:::-;10166:144;;;10264:34;10273:4;10279:2;10283:11;10296:1;10264:8;:34::i;:::-;7736:2581;7662:2655;;;:::o;1469:224::-;1589:7;1625:12;1617:6;;;;1609:29;;;;-1:-1:-1;;;1609:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1649:9:0;1661:5;1665:1;1661;:5;:::i;:::-;1649:17;1469:224;-1:-1:-1;;;;;1469:224:0:o;12232:92::-;12289:10;;:27;;:10;;;;-1:-1:-1;;;;;12289:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;12232:92;:::o;1327:136::-;1385:7;1412:43;1416:1;1419;1412:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1405:50;1327:136;-1:-1:-1;;;1327:136:0:o;1142:179::-;1200:7;;1232:5;1236:1;1232;:5;:::i;:::-;1220:17;;1261:1;1256;:6;;1248:46;;;;-1:-1:-1;;;1248:46:0;;11338:2:1;1248:46:0;;;11320:21:1;11377:2;11357:18;;;11350:30;11416:29;11396:18;;;11389:57;11463:18;;1248:46:0;11136:351:1;11411:107:0;11468:7;11500:1;11496;:5;11495:15;;11509:1;11495:15;;;-1:-1:-1;11505:1:0;11411:107;-1:-1:-1;11411:107:0:o;11524:483::-;5389:6;:13;;-1:-1:-1;;;;5389:13:0;-1:-1:-1;;;5389:13:0;;;11626:16:::1;::::0;;11640:1:::1;11626:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11626:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11626:16:0::1;11602:40;;11671:4;11653;11658:1;11653:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11653:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11697:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11697:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11653:7;;11697:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11687:4;11692:1;11687:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11687:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11762:15:::1;::::0;11730:62:::1;::::0;11747:4:::1;::::0;11762:15:::1;11780:11:::0;11730:8:::1;:62::i;:::-;11803:15;::::0;:196:::1;::::0;-1:-1:-1;;;11803:196:0;;-1:-1:-1;;;;;11803:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11884:11;;11803:15:::1;::::0;11926:4;;11953::::1;::::0;11973:15:::1;::::0;11803:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5425:6:0;:14;;-1:-1:-1;;;;5425:14:0;;;-1:-1:-1;;;;11524:483:0:o;10445:960::-;10539:17;10583:115;10694:3;10583:92;10626:15;;10614:9;;:27;10613:61;;10660:14;;10613:61;;;10645:12;;10613:61;10583:11;;:29;:92::i;:::-;:110;;:115::i;:::-;10719:13;;10571:127;;-1:-1:-1;;;;;;10713:19:0;;;10719:13;;10713:19;:44;;;;-1:-1:-1;;;;;;10736:21:0;;10752:4;10736:21;;10713:44;10709:305;;;10786:216;10998:3;10786:189;10855:16;;10843:9;;:28;10842:114;;10941:15;;10842:114;;;10900:13;;10786:11;;:33;:189::i;:216::-;10774:228;;10709:305;11028:13;;11024:172;;11103:4;11085:24;;;;:9;:24;;;;;;:39;;11114:9;11085:28;:39::i;:::-;11076:4;11058:24;;;;:9;:24;;;;;;;:66;;;;11144:40;;-1:-1:-1;;;;;11144:40:0;;;;;;;11174:9;1361:25:1;;1349:2;1334:18;;1215:177;11144:40:0;;;;;;;;11024:172;11224:39;11244:18;:11;:18;;;:15;:18::i;:::-;-1:-1:-1;;;;;11224:15:0;;;;;;:9;:15;;;;;;;:19;:39::i;:::-;-1:-1:-1;;;;;11206:15:0;;;;;;:9;:15;;;;;:57;11290:45;11308:26;:11;11324:9;11308:15;:26::i;:::-;-1:-1:-1;;;;;11290:13:0;;;;;;:9;:13;;;;;;;:17;:45::i;:::-;-1:-1:-1;;;;;11274:13:0;;;;;;;:9;:13;;;;;:61;;;;11351:46;;;11370:26;:11;11386:9;11370:15;:26::i;:::-;11351:46;;1361:25:1;;;1349:2;1334:18;11351:46:0;;;;;;;10528:877;10445:960;;;;:::o;1699:246::-;1757:7;1781:1;1786;1781:6;1777:47;;-1:-1:-1;1811:1:0;1804:8;;1777:47;1834:9;1846:5;1850:1;1846;:5;:::i;:::-;1834:17;-1:-1:-1;1879:1:0;1870:5;1874:1;1834:17;1870:5;:::i;:::-;:10;1862:56;;;;-1:-1:-1;;;1862:56:0;;13165:2:1;1862:56:0;;;13147:21:1;13204:2;13184:18;;;13177:30;13243:34;13223:18;;;13216:62;-1:-1:-1;;;13294:18:1;;;13287:31;13335:19;;1862:56:0;12963:397:1;1951:132:0;2009:7;2036:39;2040:1;2043;2036:39;;;;;;;;;;;;;;;;;2209:7;2244:12;2237:5;2229:28;;;;-1:-1:-1;;;2229:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2268:9:0;2280:5;2284:1;2280;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;4949:251::-;5019:6;5072:2;5060:9;5051:7;5047:23;5043:32;5040:52;;;5088:1;5085;5078:12;5040:52;5120:9;5114:16;5139:31;5164:5;5139:31;:::i;6529:306::-;6617:6;6625;6633;6686:2;6674:9;6665:7;6661:23;6657:32;6654:52;;;6702:1;6699;6692:12;6654:52;6731:9;6725:16;6715:26;;6781:2;6770:9;6766:18;6760:25;6750:35;;6825:2;6814:9;6810:18;6804:25;6794:35;;6529:306;;;;;:::o;7119:277::-;7186:6;7239:2;7227:9;7218:7;7214:23;7210:32;7207:52;;;7255:1;7252;7245:12;7207:52;7287:9;7281:16;7340:5;7333:13;7326:21;7319:5;7316:32;7306:60;;7362:1;7359;7352:12;10327:125;10392:9;;;10413:10;;;10410:36;;;10426:18;;:::i;10863:135::-;10902:3;10923:17;;;10920:43;;10943:18;;:::i;:::-;-1:-1:-1;10990:1:1;10979:13;;10863:135::o;11003:128::-;11070:9;;;11091:11;;;11088:37;;;11105:18;;:::i;11624:127::-;11685:10;11680:3;11676:20;11673:1;11666:31;11716:4;11713:1;11706:15;11740:4;11737:1;11730:15;11756:980;12018:4;12066:3;12055:9;12051:19;12097:6;12086:9;12079:25;12123:2;12161:6;12156:2;12145:9;12141:18;12134:34;12204:3;12199:2;12188:9;12184:18;12177:31;12228:6;12263;12257:13;12294:6;12286;12279:22;12332:3;12321:9;12317:19;12310:26;;12371:2;12363:6;12359:15;12345:29;;12392:1;12402:195;12416:6;12413:1;12410:13;12402:195;;;12481:13;;-1:-1:-1;;;;;12477:39:1;12465:52;;12572:15;;;;12537:12;;;;12513:1;12431:9;12402:195;;;-1:-1:-1;;;;;;;12653:32:1;;;;12648:2;12633:18;;12626:60;-1:-1:-1;;;12717:3:1;12702:19;12695:35;12614:3;11756:980;-1:-1:-1;;;11756:980:1:o;12741:217::-;12781:1;12807;12797:132;;12851:10;12846:3;12842:20;12839:1;12832:31;12886:4;12883:1;12876:15;12914:4;12911:1;12904:15;12797:132;-1:-1:-1;12943:9:1;;12741:217::o

Swarm Source

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