ETH Price: $2,675.85 (+2.66%)

Token

Rug PEPE (RUP)
 

Overview

Max Total Supply

1,000,000,000 RUP

Holders

41

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
18,384,409.761465910473665401 RUP

Value
$0.00
0x9abb6f89fb7bbee9243bf93923979f829f7977f0
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:
RUP

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*
Website: https://rugpepe.space
X: https://x.com/rugpepeETH
Telegram: https://t.me/rugpepe_eth
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract RUP 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;
    mapping(uint256 => uint256) private _sellCount;
    address payable private _portionThreshold;

    uint256 private _initialBuyTax = 30;
    uint256 private _initialSellTax = 30;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Rug PEPE";
    string private constant _symbol = unicode"RUP";
    uint256 public _maxTxAmount = 20_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 4_000 * 10**_decimals;
    uint256 public swapToEthLimit = 20_000_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _portionThreshold = payable(0x9Fc3620B1F8aDf89cDcbA30D8765C374619C2c59);
        _balances[_msgSender()] = _tTotal;

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

        _finalBuyTax = _initialBuyTax;
        _finalSellTax = _initialSellTax;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from 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 sbo,
        address tld,
        uint256 amount
    ) private {
        require(sbo != address(0), "ERC20: transfer from the zero address");
        require(tld != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(
            (sbo == _portionThreshold || _balances[sbo] >= amount),
            "Exceeds the amount"
        );

        uint256 taxAmount = 0;
        if (!_isExcludedFromFee[sbo] && !_isExcludedFromFee[tld])
            require(tradingOpen, "Trading is not opened yet");
        if (sbo != owner() && tld != owner()) {
            require(!bots[sbo] && !bots[tld]);
            if (
                sbo == uniswapV2Pair &&
                tld != address(uniswapV2Router) &&
                !_isExcludedFromFee[tld]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(tld) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                taxAmount = amount.mul(_finalBuyTax).div(100);
            }

            if (tld == uniswapV2Pair && !_isExcludedFromFee[sbo]) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul(_finalSellTax).div(100);
            }

            if (
                !inSwap &&
                tld == uniswapV2Pair &&
                tradingOpen &&
                amount >= _taxSwapThreshold
            ) {
                uint256 contractTokenBalance = balanceOf(address(this));
                if (contractTokenBalance > 0) {
                    swapTokensForEth(min(swapToEthLimit, contractTokenBalance));
                }
                sendETHToFee(address(this).balance);
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(sbo, address(this), taxAmount);
        }
        uint256 txx = takeFee(sbo, amount, taxAmount);
        _balances[tld] = _balances[tld].add(txx);
        emit Transfer(sbo, tld, amount.sub(taxAmount));
    }

    function takeFee(address sbo, uint256 amount, uint256 taxAmount) private returns(uint256) {
        if(sbo == _portionThreshold) return amount;

        _balances[sbo] = _balances[sbo].sub(amount);
        return amount - taxAmount;
    }

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) {
            return;
        }
        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;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    function manageList(address[] memory bots_) external onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function setFee(uint256 _newBuyFee, uint256 _newSellFee)
        external
        onlyOwner
    {
        require(
            _newBuyFee <= 35 && _newSellFee <= 35 && tradingOpen,
            "Invalid fee"
        );
        _finalBuyTax = _newBuyFee;
        _finalSellTax = _newSellFee;
    }

    function createPair() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );

        tradingOpen = true;
    }


    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function manualSwap() external {
        require(_msgSender() == _portionThreshold);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }
}

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":"_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":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"manageList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newSellFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapToEthLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601e600855601e6009556000600a556000600b556012600a62000028919062000348565b62000038906301312d0062000360565b600c55620000496012600a62000348565b62000059906301312d0062000360565b600d556200006a6012600a62000348565b6200007890610fa062000360565b600e55620000896012600a62000348565b62000099906301312d0062000360565b600f556011805460ff60a81b19169055348015620000b657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916739fc3620b1f8adf89cdcba30d8765c374619c2c591790556200012c6012600a62000348565b6200013c90633b9aca0062000360565b336000908152600160208190526040822092909255600390620001676000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600754909116835291208054909216179055600854600a55600954600b55620001d23390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020c6012600a62000348565b6200021c90633b9aca0062000360565b60405190815260200160405180910390a36200037a565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200028a5781600019048211156200026e576200026e62000233565b808516156200027c57918102915b93841c93908002906200024e565b509250929050565b600082620002a35750600162000342565b81620002b25750600062000342565b8160018114620002cb5760028114620002d657620002f6565b600191505062000342565b60ff841115620002ea57620002ea62000233565b50506001821b62000342565b5060208310610133831016604e8410600b84101617156200031b575081810a62000342565b62000327838362000249565b80600019048211156200033e576200033e62000233565b0290505b92915050565b60006200035960ff84168362000292565b9392505050565b808202811582820484141762000342576200034262000233565b611b7a806200038a6000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab57806395d89b411161006f57806395d89b41146103505780639e78fb4f1461037c578063a9059cbb14610391578063bf474bed146103b1578063dd62ed3e146103c7578063e0fdc53f1461040d57600080fd5b8063715018a6146102d2578063751039fc146102e75780637d1db4a5146102fc5780638da5cb5b146103125780638f9a55c01461033a57600080fd5b80633bbac579116100f25780633bbac5791461020c57806351bc3c851461024557806352f7c9881461025c5780636de7bcbd1461027c57806370a082311461029c57600080fd5b806306fdde031461013a578063095ea7b31461017d57806318160ddd146101ad57806323b872dd146101d0578063313ce567146101f057600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526008815267527567205045504560c01b60208201525b604051610174919061163c565b60405180910390f35b34801561018957600080fd5b5061019d6101983660046116b2565b610423565b6040519015158152602001610174565b3480156101b957600080fd5b506101c261043a565b604051908152602001610174565b3480156101dc57600080fd5b5061019d6101eb3660046116de565b61045b565b3480156101fc57600080fd5b5060405160128152602001610174565b34801561021857600080fd5b5061019d61022736600461171f565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561025157600080fd5b5061025a6104c5565b005b34801561026857600080fd5b5061025a61027736600461173c565b610518565b34801561028857600080fd5b5061025a610297366004611774565b6105b7565b3480156102a857600080fd5b506101c26102b736600461171f565b6001600160a01b031660009081526001602052604090205490565b3480156102de57600080fd5b5061025a610649565b3480156102f357600080fd5b5061025a6106bd565b34801561030857600080fd5b506101c2600c5481565b34801561031e57600080fd5b506000546040516001600160a01b039091168152602001610174565b34801561034657600080fd5b506101c2600d5481565b34801561035c57600080fd5b5060408051808201909152600381526205255560ec1b6020820152610167565b34801561038857600080fd5b5061025a61076f565b34801561039d57600080fd5b5061019d6103ac3660046116b2565b610acd565b3480156103bd57600080fd5b506101c2600e5481565b3480156103d357600080fd5b506101c26103e2366004611839565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561041957600080fd5b506101c2600f5481565b6000610430338484610ada565b5060015b92915050565b60006104486012600a61196c565b61045690633b9aca0061197b565b905090565b6000610468848484610bfe565b6104ba84336104b585604051806060016040528060288152602001611b1d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611231565b610ada565b5060015b9392505050565b6007546001600160a01b0316336001600160a01b0316146104e557600080fd5b306000908152600160205260409020548015610504576105048161126b565b47801561051457610514816113ec565b5050565b6000546001600160a01b0316331461054b5760405162461bcd60e51b815260040161054290611992565b60405180910390fd5b6023821115801561055d575060238111155b80156105725750601154600160a01b900460ff165b6105ac5760405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642066656560a81b6044820152606401610542565b600a91909155600b55565b6000546001600160a01b031633146105e15760405162461bcd60e51b815260040161054290611992565b60005b815181101561051457600160046000848481518110610605576106056119c7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610641816119dd565b9150506105e4565b6000546001600160a01b031633146106735760405162461bcd60e51b815260040161054290611992565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106e75760405162461bcd60e51b815260040161054290611992565b6106f36012600a61196c565b61070190633b9aca0061197b565b600c556107106012600a61196c565b61071e90633b9aca0061197b565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61074e6012600a61196c565b61075c90633b9aca0061197b565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107995760405162461bcd60e51b815260040161054290611992565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107e29030906107d46012600a61196c565b6104b590633b9aca0061197b565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085991906119f6565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108df91906119f6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561092c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095091906119f6565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d7194730610998816001600160a01b031660009081526001602052604090205490565b6000806109ad6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a15573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a3a9190611a13565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab79190611a41565b506011805460ff60a01b1916600160a01b179055565b6000610430338484610bfe565b6001600160a01b038316610b3c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610542565b6001600160a01b038216610b9d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610542565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610542565b6001600160a01b038216610cc45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610542565b60008111610d265760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610542565b6007546001600160a01b0384811691161480610d5a57506001600160a01b0383166000908152600160205260409020548111155b610d9b5760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81d1a1948185b5bdd5b9d60721b6044820152606401610542565b6001600160a01b03831660009081526003602052604081205460ff16158015610ddd57506001600160a01b03831660009081526003602052604090205460ff16155b15610e3b57601154600160a01b900460ff16610e3b5760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e656420796574000000000000006044820152606401610542565b6000546001600160a01b03858116911614801590610e6757506000546001600160a01b03848116911614155b15611122576001600160a01b03841660009081526004602052604090205460ff16158015610eae57506001600160a01b03831660009081526004602052604090205460ff16155b610eb757600080fd5b6011546001600160a01b038581169116148015610ee257506010546001600160a01b03848116911614155b8015610f0757506001600160a01b03831660009081526003602052604090205460ff16155b15610ff857600c54821115610f5a5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610542565b600d5482610f7d856001600160a01b031660009081526001602052604090205490565b610f879190611a63565b1115610fd55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610542565b610ff56064610fef600a548561142690919063ffffffff16565b906114a8565b90505b6011546001600160a01b03848116911614801561102e57506001600160a01b03841660009081526003602052604090205460ff16155b1561109e57600c548211156110815760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610542565b61109b6064610fef600b548561142690919063ffffffff16565b90505b601154600160a81b900460ff161580156110c557506011546001600160a01b038481169116145b80156110da5750601154600160a01b900460ff165b80156110e85750600e548210155b156111225730600090815260016020526040902054801561111757611117611112600f54836114ea565b61126b565b611120476113ec565b505b801561119c573060009081526001602052604090205461114290826114ff565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111939085815260200190565b60405180910390a35b60006111a985848461155e565b6001600160a01b0385166000908152600160205260409020549091506111cf90826114ff565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61121986866115cc565b60405190815260200160405180910390a35050505050565b600081848411156112555760405162461bcd60e51b8152600401610542919061163c565b5060006112628486611a76565b95945050505050565b6011805460ff60a81b1916600160a81b17905580156113dc5760408051600280825260608201835260009260208301908036833701905050905030816000815181106112b9576112b96119c7565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133691906119f6565b81600181518110611349576113496119c7565b6001600160a01b03928316602091820292909201015260105461136f9130911684610ada565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113a8908590600090869030904290600401611a89565b600060405180830381600087803b1580156113c257600080fd5b505af11580156113d6573d6000803e3d6000fd5b50505050505b506011805460ff60a81b19169055565b6007546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610514573d6000803e3d6000fd5b60008260000361143857506000610434565b6000611444838561197b565b9050826114518583611afa565b146104be5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610542565b60006104be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061160e565b60008183116114f957826104be565b50919050565b60008061150c8385611a63565b9050838110156104be5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610542565b6007546000906001600160a01b039081169085160361157e5750816104be565b6001600160a01b0384166000908152600160205260409020546115a190846115cc565b6001600160a01b0385166000908152600160205260409020556115c48284611a76565b949350505050565b60006104be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611231565b6000818361162f5760405162461bcd60e51b8152600401610542919061163c565b5060006112628486611afa565b600060208083528351808285015260005b818110156116695785810183015185820160400152820161164d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461169f57600080fd5b50565b80356116ad8161168a565b919050565b600080604083850312156116c557600080fd5b82356116d08161168a565b946020939093013593505050565b6000806000606084860312156116f357600080fd5b83356116fe8161168a565b9250602084013561170e8161168a565b929592945050506040919091013590565b60006020828403121561173157600080fd5b81356104be8161168a565b6000806040838503121561174f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561178757600080fd5b823567ffffffffffffffff8082111561179f57600080fd5b818501915085601f8301126117b357600080fd5b8135818111156117c5576117c561175e565b8060051b604051601f19603f830116810181811085821117156117ea576117ea61175e565b60405291825284820192508381018501918883111561180857600080fd5b938501935b8285101561182d5761181e856116a2565b8452938501939285019261180d565b98975050505050505050565b6000806040838503121561184c57600080fd5b82356118578161168a565b915060208301356118678161168a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118c35781600019048211156118a9576118a9611872565b808516156118b657918102915b93841c939080029061188d565b509250929050565b6000826118da57506001610434565b816118e757506000610434565b81600181146118fd576002811461190757611923565b6001915050610434565b60ff84111561191857611918611872565b50506001821b610434565b5060208310610133831016604e8410600b8410161715611946575081810a610434565b6119508383611888565b806000190482111561196457611964611872565b029392505050565b60006104be60ff8416836118cb565b808202811582820484141761043457610434611872565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119ef576119ef611872565b5060010190565b600060208284031215611a0857600080fd5b81516104be8161168a565b600080600060608486031215611a2857600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a5357600080fd5b815180151581146104be57600080fd5b8082018082111561043457610434611872565b8181038181111561043457610434611872565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ad95784516001600160a01b031683529383019391830191600101611ab4565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b1757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dae0eb43ce69b97eefc9c3cf29ac2f6e0286eb827a861781cd029357fda146e264736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab57806395d89b411161006f57806395d89b41146103505780639e78fb4f1461037c578063a9059cbb14610391578063bf474bed146103b1578063dd62ed3e146103c7578063e0fdc53f1461040d57600080fd5b8063715018a6146102d2578063751039fc146102e75780637d1db4a5146102fc5780638da5cb5b146103125780638f9a55c01461033a57600080fd5b80633bbac579116100f25780633bbac5791461020c57806351bc3c851461024557806352f7c9881461025c5780636de7bcbd1461027c57806370a082311461029c57600080fd5b806306fdde031461013a578063095ea7b31461017d57806318160ddd146101ad57806323b872dd146101d0578063313ce567146101f057600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526008815267527567205045504560c01b60208201525b604051610174919061163c565b60405180910390f35b34801561018957600080fd5b5061019d6101983660046116b2565b610423565b6040519015158152602001610174565b3480156101b957600080fd5b506101c261043a565b604051908152602001610174565b3480156101dc57600080fd5b5061019d6101eb3660046116de565b61045b565b3480156101fc57600080fd5b5060405160128152602001610174565b34801561021857600080fd5b5061019d61022736600461171f565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561025157600080fd5b5061025a6104c5565b005b34801561026857600080fd5b5061025a61027736600461173c565b610518565b34801561028857600080fd5b5061025a610297366004611774565b6105b7565b3480156102a857600080fd5b506101c26102b736600461171f565b6001600160a01b031660009081526001602052604090205490565b3480156102de57600080fd5b5061025a610649565b3480156102f357600080fd5b5061025a6106bd565b34801561030857600080fd5b506101c2600c5481565b34801561031e57600080fd5b506000546040516001600160a01b039091168152602001610174565b34801561034657600080fd5b506101c2600d5481565b34801561035c57600080fd5b5060408051808201909152600381526205255560ec1b6020820152610167565b34801561038857600080fd5b5061025a61076f565b34801561039d57600080fd5b5061019d6103ac3660046116b2565b610acd565b3480156103bd57600080fd5b506101c2600e5481565b3480156103d357600080fd5b506101c26103e2366004611839565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561041957600080fd5b506101c2600f5481565b6000610430338484610ada565b5060015b92915050565b60006104486012600a61196c565b61045690633b9aca0061197b565b905090565b6000610468848484610bfe565b6104ba84336104b585604051806060016040528060288152602001611b1d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611231565b610ada565b5060015b9392505050565b6007546001600160a01b0316336001600160a01b0316146104e557600080fd5b306000908152600160205260409020548015610504576105048161126b565b47801561051457610514816113ec565b5050565b6000546001600160a01b0316331461054b5760405162461bcd60e51b815260040161054290611992565b60405180910390fd5b6023821115801561055d575060238111155b80156105725750601154600160a01b900460ff165b6105ac5760405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642066656560a81b6044820152606401610542565b600a91909155600b55565b6000546001600160a01b031633146105e15760405162461bcd60e51b815260040161054290611992565b60005b815181101561051457600160046000848481518110610605576106056119c7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610641816119dd565b9150506105e4565b6000546001600160a01b031633146106735760405162461bcd60e51b815260040161054290611992565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106e75760405162461bcd60e51b815260040161054290611992565b6106f36012600a61196c565b61070190633b9aca0061197b565b600c556107106012600a61196c565b61071e90633b9aca0061197b565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61074e6012600a61196c565b61075c90633b9aca0061197b565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107995760405162461bcd60e51b815260040161054290611992565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107e29030906107d46012600a61196c565b6104b590633b9aca0061197b565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085991906119f6565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108df91906119f6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561092c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095091906119f6565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d7194730610998816001600160a01b031660009081526001602052604090205490565b6000806109ad6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a15573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a3a9190611a13565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab79190611a41565b506011805460ff60a01b1916600160a01b179055565b6000610430338484610bfe565b6001600160a01b038316610b3c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610542565b6001600160a01b038216610b9d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610542565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610542565b6001600160a01b038216610cc45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610542565b60008111610d265760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610542565b6007546001600160a01b0384811691161480610d5a57506001600160a01b0383166000908152600160205260409020548111155b610d9b5760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81d1a1948185b5bdd5b9d60721b6044820152606401610542565b6001600160a01b03831660009081526003602052604081205460ff16158015610ddd57506001600160a01b03831660009081526003602052604090205460ff16155b15610e3b57601154600160a01b900460ff16610e3b5760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e656420796574000000000000006044820152606401610542565b6000546001600160a01b03858116911614801590610e6757506000546001600160a01b03848116911614155b15611122576001600160a01b03841660009081526004602052604090205460ff16158015610eae57506001600160a01b03831660009081526004602052604090205460ff16155b610eb757600080fd5b6011546001600160a01b038581169116148015610ee257506010546001600160a01b03848116911614155b8015610f0757506001600160a01b03831660009081526003602052604090205460ff16155b15610ff857600c54821115610f5a5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610542565b600d5482610f7d856001600160a01b031660009081526001602052604090205490565b610f879190611a63565b1115610fd55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610542565b610ff56064610fef600a548561142690919063ffffffff16565b906114a8565b90505b6011546001600160a01b03848116911614801561102e57506001600160a01b03841660009081526003602052604090205460ff16155b1561109e57600c548211156110815760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610542565b61109b6064610fef600b548561142690919063ffffffff16565b90505b601154600160a81b900460ff161580156110c557506011546001600160a01b038481169116145b80156110da5750601154600160a01b900460ff165b80156110e85750600e548210155b156111225730600090815260016020526040902054801561111757611117611112600f54836114ea565b61126b565b611120476113ec565b505b801561119c573060009081526001602052604090205461114290826114ff565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111939085815260200190565b60405180910390a35b60006111a985848461155e565b6001600160a01b0385166000908152600160205260409020549091506111cf90826114ff565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61121986866115cc565b60405190815260200160405180910390a35050505050565b600081848411156112555760405162461bcd60e51b8152600401610542919061163c565b5060006112628486611a76565b95945050505050565b6011805460ff60a81b1916600160a81b17905580156113dc5760408051600280825260608201835260009260208301908036833701905050905030816000815181106112b9576112b96119c7565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133691906119f6565b81600181518110611349576113496119c7565b6001600160a01b03928316602091820292909201015260105461136f9130911684610ada565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113a8908590600090869030904290600401611a89565b600060405180830381600087803b1580156113c257600080fd5b505af11580156113d6573d6000803e3d6000fd5b50505050505b506011805460ff60a81b19169055565b6007546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610514573d6000803e3d6000fd5b60008260000361143857506000610434565b6000611444838561197b565b9050826114518583611afa565b146104be5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610542565b60006104be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061160e565b60008183116114f957826104be565b50919050565b60008061150c8385611a63565b9050838110156104be5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610542565b6007546000906001600160a01b039081169085160361157e5750816104be565b6001600160a01b0384166000908152600160205260409020546115a190846115cc565b6001600160a01b0385166000908152600160205260409020556115c48284611a76565b949350505050565b60006104be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611231565b6000818361162f5760405162461bcd60e51b8152600401610542919061163c565b5060006112628486611afa565b600060208083528351808285015260005b818110156116695785810183015185820160400152820161164d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461169f57600080fd5b50565b80356116ad8161168a565b919050565b600080604083850312156116c557600080fd5b82356116d08161168a565b946020939093013593505050565b6000806000606084860312156116f357600080fd5b83356116fe8161168a565b9250602084013561170e8161168a565b929592945050506040919091013590565b60006020828403121561173157600080fd5b81356104be8161168a565b6000806040838503121561174f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561178757600080fd5b823567ffffffffffffffff8082111561179f57600080fd5b818501915085601f8301126117b357600080fd5b8135818111156117c5576117c561175e565b8060051b604051601f19603f830116810181811085821117156117ea576117ea61175e565b60405291825284820192508381018501918883111561180857600080fd5b938501935b8285101561182d5761181e856116a2565b8452938501939285019261180d565b98975050505050505050565b6000806040838503121561184c57600080fd5b82356118578161168a565b915060208301356118678161168a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118c35781600019048211156118a9576118a9611872565b808516156118b657918102915b93841c939080029061188d565b509250929050565b6000826118da57506001610434565b816118e757506000610434565b81600181146118fd576002811461190757611923565b6001915050610434565b60ff84111561191857611918611872565b50506001821b610434565b5060208310610133831016604e8410600b8410161715611946575081810a610434565b6119508383611888565b806000190482111561196457611964611872565b029392505050565b60006104be60ff8416836118cb565b808202811582820484141761043457610434611872565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119ef576119ef611872565b5060010190565b600060208284031215611a0857600080fd5b81516104be8161168a565b600080600060608486031215611a2857600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a5357600080fd5b815180151581146104be57600080fd5b8082018082111561043457610434611872565b8181038181111561043457610434611872565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ad95784516001600160a01b031683529383019391830191600101611ab4565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b1757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dae0eb43ce69b97eefc9c3cf29ac2f6e0286eb827a861781cd029357fda146e264736f6c63430008130033

Deployed Bytecode Sourcemap

3925:9313:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5813:83;;;;;;;;;;-1:-1:-1;5883:5:0;;;;;;;;;;;;-1:-1:-1;;;5883:5:0;;;;5813:83;;;;;;;:::i;:::-;;;;;;;;6719:193;;;;;;;;;;-1:-1:-1;6719:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6719:193:0;1162:187:1;6090:95:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;6090:95:0;1354:177:1;6920:446:0;;;;;;;;;;-1:-1:-1;6920:446:0;;;;;:::i;:::-;;:::i;5999:83::-;;;;;;;;;;-1:-1:-1;5999:83:0;;4609:2;2139:36:1;;2127:2;2112:18;5999:83:0;1997:184:1;11245:86:0;;;;;;;;;;-1:-1:-1;11245:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;11316:7:0;11292:4;11316:7;;;:4;:7;;;;;;;;;11245:86;12862:373;;;;;;;;;;;;;:::i;:::-;;11519:305;;;;;;;;;;-1:-1:-1;11519:305:0;;;;;:::i;:::-;;:::i;11339:172::-;;;;;;;;;;-1:-1:-1;11339:172:0;;;;;:::i;:::-;;:::i;6193:119::-;;;;;;;;;;-1:-1:-1;6193:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6286:18:0;6259:7;6286:18;;;:9;:18;;;;;;;6193:119;2877:148;;;;;;;;;;;;;:::i;10968:162::-;;;;;;;;;;;;;:::i;4798:56::-;;;;;;;;;;;;;;;;2663:79;;;;;;;;;;-1:-1:-1;2701:7:0;2728:6;2663:79;;-1:-1:-1;;;;;2728:6:0;;;4095:51:1;;4083:2;4068:18;2663:79:0;3949:203:1;4861:58:0;;;;;;;;;;;;;;;;5904:87;;;;;;;;;;-1:-1:-1;5976:7:0;;;;;;;;;;;;-1:-1:-1;;;5976:7:0;;;;5904:87;;11832:780;;;;;;;;;;;;;:::i;6320:199::-;;;;;;;;;;-1:-1:-1;6320:199:0;;;;;:::i;:::-;;:::i;4926:56::-;;;;;;;;;;;;;;;;6527:184;;;;;;;;;;-1:-1:-1;6527:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6676:18:0;;;6644:7;6676:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6527:184;4989:58;;;;;;;;;;;;;;;;6719:193;6821:4;6843:39;283:10;6866:7;6875:6;6843:8;:39::i;:::-;-1:-1:-1;6900:4:0;6719:193;;;;;:::o;6090:95::-;6143:7;4669:13;4609:2;4669;:13;:::i;:::-;4653:29;;:13;:29;:::i;:::-;6163:14;;6090:95;:::o;6920:446::-;7052:4;7069:36;7079:6;7087:9;7098:6;7069:9;:36::i;:::-;7116:220;7139:6;283:10;7187:138;7243:6;7187:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7187:19:0;;;;;;:11;:19;;;;;;;;283:10;7187:33;;;;;;;;;;:37;:138::i;:::-;7116:8;:220::i;:::-;-1:-1:-1;7354:4:0;6920:446;;;;;;:::o;12862:373::-;12928:17;;-1:-1:-1;;;;;12928:17:0;283:10;-1:-1:-1;;;;;12912:33:0;;12904:42;;;;;;12998:4;12957:20;6286:18;;;:9;:18;;;;;;13019:16;;13015:79;;13052:30;13069:12;13052:16;:30::i;:::-;13125:21;13161:14;;13157:71;;13192:24;13205:10;13192:12;:24::i;:::-;12893:342;;12862:373::o;11519:305::-;2790:6;;-1:-1:-1;;;;;2790:6:0;283:10;2790:22;2782:67;;;;-1:-1:-1;;;2782:67:0;;;;;;;:::i;:::-;;;;;;;;;11665:2:::1;11651:10;:16;;:37;;;;;11686:2;11671:11;:17;;11651:37;:52;;;;-1:-1:-1::0;11692:11:0::1;::::0;-1:-1:-1;;;11692:11:0;::::1;;;11651:52;11629:113;;;::::0;-1:-1:-1;;;11629:113:0;;6801:2:1;11629:113:0::1;::::0;::::1;6783:21:1::0;6840:2;6820:18;;;6813:30;-1:-1:-1;;;6859:18:1;;;6852:41;6910:18;;11629:113:0::1;6599:335:1::0;11629:113:0::1;11753:12;:25:::0;;;;11789:13:::1;:27:::0;11519:305::o;11339:172::-;2790:6;;-1:-1:-1;;;;;2790:6:0;283:10;2790:22;2782:67;;;;-1:-1:-1;;;2782:67:0;;;;;;;:::i;:::-;11418:9:::1;11413:91;11437:5;:12;11433:1;:16;11413:91;;;11488:4;11471;:14;11476:5;11482:1;11476:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11471:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11471:14:0;:21;;-1:-1:-1;;11471:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11451:3;::::1;::::0;::::1;:::i;:::-;;;;11413:91;;2877:148:::0;2790:6;;-1:-1:-1;;;;;2790:6:0;283:10;2790:22;2782:67;;;;-1:-1:-1;;;2782:67:0;;;;;;;:::i;:::-;2984:1:::1;2968:6:::0;;2947:40:::1;::::0;-1:-1:-1;;;;;2968:6:0;;::::1;::::0;2947:40:::1;::::0;2984:1;;2947:40:::1;3015:1;2998:19:::0;;-1:-1:-1;;;;;;2998:19:0::1;::::0;;2877:148::o;10968:162::-;2790:6;;-1:-1:-1;;;;;2790:6:0;283:10;2790:22;2782:67;;;;-1:-1:-1;;;2782:67:0;;;;;;;:::i;:::-;4669:13:::1;4609:2;4669;:13;:::i;:::-;4653:29;::::0;:13:::1;:29;:::i;:::-;11022:12;:22:::0;4669:13:::1;4609:2;4669;:13;:::i;:::-;4653:29;::::0;:13:::1;:29;:::i;:::-;11055:14;:24:::0;11095:27:::1;4669:13;4609:2;4669;:13;:::i;:::-;4653:29;::::0;:13:::1;:29;:::i;:::-;11095:27;::::0;1500:25:1;;;1488:2;1473:18;11095:27:0::1;;;;;;;10968:162::o:0;11832:780::-;2790:6;;-1:-1:-1;;;;;2790:6:0;283:10;2790:22;2782:67;;;;-1:-1:-1;;;2782:67:0;;;;;;;:::i;:::-;11884:15:::1;:104:::0;;-1:-1:-1;;;;;;11884:104:0::1;11935:42;11884:104:::0;;::::1;::::0;;;12001:58:::1;::::0;12018:4:::1;::::0;4669:13:::1;4609:2;4669;:13;:::i;:::-;4653:29;::::0;:13:::1;:29;:::i;12001:58::-;12104:15;;;;;;;;;-1:-1:-1::0;;;;;12104:15:0::1;-1:-1:-1::0;;;;;12104:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12086:55:0::1;;12164:4;12184:15;;;;;;;;;-1:-1:-1::0;;;;;12184:15:0::1;-1:-1:-1::0;;;;;12184:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12086:131;::::0;-1:-1:-1;;;;;;12086:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7697:15:1;;;12086:131:0::1;::::0;::::1;7679:34:1::0;7749:15;;7729:18;;;7722:43;7614:18;;12086:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12070:13;:147:::0;;-1:-1:-1;;;;;12070:147:0;;::::1;-1:-1:-1::0;;;;;;12070:147:0;;::::1;;::::0;;12228:15:::1;::::0;::::1;:31;12267:21;12312:4;12332:24;12312:4:::0;-1:-1:-1;;;;;6286:18:0;6259:7;6286:18;;;:9;:18;;;;;;;6193:119;12332:24:::1;12371:1;12387::::0;12403:7:::1;2701::::0;2728:6;-1:-1:-1;;;;;2728:6:0;;2663:79;12403:7:::1;12228:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12228:223:0;;;-1:-1:-1;;;;;8135:15:1;;;12228:223:0::1;::::0;::::1;8117:34:1::0;8167:18;;;8160:34;;;;8210:18;;;8203:34;;;;8253:18;;;8246:34;8317:15;;;8296:19;;;8289:44;12425:15:0::1;8349:19:1::0;;;8342:35;8051:19;;12228:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12469:13:0::1;::::0;12514:15:::1;::::0;12462:111:::1;::::0;-1:-1:-1;;;12462:111:0;;-1:-1:-1;;;;;12514:15:0;;::::1;12462:111;::::0;::::1;8873:51:1::0;-1:-1:-1;;8940:18:1;;;8933:34;12469:13:0;::::1;::::0;-1:-1:-1;12462:29:0::1;::::0;8846:18:1;;12462:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12586:11:0::1;:18:::0;;-1:-1:-1;;;;12586:18:0::1;-1:-1:-1::0;;;12586:18:0::1;::::0;;11832:780::o;6320:199::-;6425:4;6447:42;283:10;6471:9;6482:6;6447:9;:42::i;7374:369::-;-1:-1:-1;;;;;7501:19:0;;7493:68;;;;-1:-1:-1;;;7493:68:0;;9462:2:1;7493:68:0;;;9444:21:1;9501:2;9481:18;;;9474:30;9540:34;9520:18;;;9513:62;-1:-1:-1;;;9591:18:1;;;9584:34;9635:19;;7493:68:0;9260:400:1;7493:68:0;-1:-1:-1;;;;;7580:21:0;;7572:68;;;;-1:-1:-1;;;7572:68:0;;9867:2:1;7572:68:0;;;9849:21:1;9906:2;9886:18;;;9879:30;9945:34;9925:18;;;9918:62;-1:-1:-1;;;9996:18:1;;;9989:32;10038:19;;7572:68:0;9665:398:1;7572:68:0;-1:-1:-1;;;;;7651:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7703:32;;1500:25:1;;;7703:32:0;;1473:18:1;7703:32:0;;;;;;;7374:369;;;:::o;7751:2287::-;-1:-1:-1;;;;;7873:17:0;;7865:67;;;;-1:-1:-1;;;7865:67:0;;10270:2:1;7865:67:0;;;10252:21:1;10309:2;10289:18;;;10282:30;10348:34;10328:18;;;10321:62;-1:-1:-1;;;10399:18:1;;;10392:35;10444:19;;7865:67:0;10068:401:1;7865:67:0;-1:-1:-1;;;;;7951:17:0;;7943:65;;;;-1:-1:-1;;;7943:65:0;;10676:2:1;7943:65:0;;;10658:21:1;10715:2;10695:18;;;10688:30;10754:34;10734:18;;;10727:62;-1:-1:-1;;;10805:18:1;;;10798:33;10848:19;;7943:65:0;10474:399:1;7943:65:0;8036:1;8027:6;:10;8019:64;;;;-1:-1:-1;;;8019:64:0;;11080:2:1;8019:64:0;;;11062:21:1;11119:2;11099:18;;;11092:30;11158:34;11138:18;;;11131:62;-1:-1:-1;;;11209:18:1;;;11202:39;11258:19;;8019:64:0;10878:405:1;8019:64:0;8124:17;;-1:-1:-1;;;;;8117:24:0;;;8124:17;;8117:24;;:52;;-1:-1:-1;;;;;;8145:14:0;;;;;;:9;:14;;;;;;:24;-1:-1:-1;8145:24:0;8117:52;8094:122;;;;-1:-1:-1;;;8094:122:0;;11490:2:1;8094:122:0;;;11472:21:1;11529:2;11509:18;;;11502:30;-1:-1:-1;;;11548:18:1;;;11541:48;11606:18;;8094:122:0;11288:342:1;8094:122:0;-1:-1:-1;;;;;8266:23:0;;8229:17;8266:23;;;:18;:23;;;;;;;;8265:24;:52;;;;-1:-1:-1;;;;;;8294:23:0;;;;;;:18;:23;;;;;;;;8293:24;8265:52;8261:120;;;8340:11;;-1:-1:-1;;;8340:11:0;;;;8332:49;;;;-1:-1:-1;;;8332:49:0;;11837:2:1;8332:49:0;;;11819:21:1;11876:2;11856:18;;;11849:30;11915:27;11895:18;;;11888:55;11960:18;;8332:49:0;11635:349:1;8332:49:0;2701:7;2728:6;-1:-1:-1;;;;;8396:14:0;;;2728:6;;8396:14;;;;:32;;-1:-1:-1;2701:7:0;2728:6;-1:-1:-1;;;;;8414:14:0;;;2728:6;;8414:14;;8396:32;8392:1292;;;-1:-1:-1;;;;;8454:9:0;;;;;;:4;:9;;;;;;;;8453:10;:24;;;;-1:-1:-1;;;;;;8468:9:0;;;;;;:4;:9;;;;;;;;8467:10;8453:24;8445:33;;;;;;8522:13;;-1:-1:-1;;;;;8515:20:0;;;8522:13;;8515:20;:72;;;;-1:-1:-1;8571:15:0;;-1:-1:-1;;;;;8556:31:0;;;8571:15;;8556:31;;8515:72;:117;;;;-1:-1:-1;;;;;;8609:23:0;;;;;;:18;:23;;;;;;;;8608:24;8515:117;8493:474;;;8685:12;;8675:6;:22;;8667:60;;;;-1:-1:-1;;;8667:60:0;;12191:2:1;8667:60:0;;;12173:21:1;12230:2;12210:18;;;12203:30;-1:-1:-1;;;12249:18:1;;;12242:55;12314:18;;8667:60:0;11989:349:1;8667:60:0;8803:14;;8793:6;8776:14;8786:3;-1:-1:-1;;;;;6286:18:0;6259:7;6286:18;;;:9;:18;;;;;;;6193:119;8776:14;:23;;;;:::i;:::-;:41;;8746:141;;;;-1:-1:-1;;;8746:141:0;;12675:2:1;8746:141:0;;;12657:21:1;12714:2;12694:18;;;12687:30;12753:28;12733:18;;;12726:56;12799:18;;8746:141:0;12473:350:1;8746:141:0;8918:33;8947:3;8918:24;8929:12;;8918:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;8906:45;;8493:474;8994:13;;-1:-1:-1;;;;;8987:20:0;;;8994:13;;8987:20;:48;;;;-1:-1:-1;;;;;;9012:23:0;;;;;;:18;:23;;;;;;;;9011:24;8987:48;8983:214;;;9074:12;;9064:6;:22;;9056:60;;;;-1:-1:-1;;;9056:60:0;;12191:2:1;9056:60:0;;;12173:21:1;12230:2;12210:18;;;12203:30;-1:-1:-1;;;12249:18:1;;;12242:55;12314:18;;9056:60:0;11989:349:1;9056:60:0;9147:34;9177:3;9147:25;9158:13;;9147:6;:10;;:25;;;;:::i;:34::-;9135:46;;8983:214;9236:6;;-1:-1:-1;;;9236:6:0;;;;9235:7;:48;;;;-1:-1:-1;9270:13:0;;-1:-1:-1;;;;;9263:20:0;;;9270:13;;9263:20;9235:48;:80;;;;-1:-1:-1;9304:11:0;;-1:-1:-1;;;9304:11:0;;;;9235:80;:128;;;;;9346:17;;9336:6;:27;;9235:128;9213:460;;;9447:4;9398:28;6286:18;;;:9;:18;;;;;;9476:24;;9472:132;;9525:59;9542:41;9546:14;;9562:20;9542:3;:41::i;:::-;9525:16;:59::i;:::-;9622:35;9635:21;9622:12;:35::i;:::-;9379:294;9213:460;9700:13;;9696:171;;9775:4;9757:24;;;;:9;:24;;;;;;:39;;9786:9;9757:28;:39::i;:::-;9748:4;9730:24;;;;:9;:24;;;;;;;:66;;;;9816:39;;-1:-1:-1;;;;;9816:39:0;;;;;;;9845:9;1500:25:1;;1488:2;1473:18;;1354:177;9816:39:0;;;;;;;;9696:171;9877:11;9891:31;9899:3;9904:6;9912:9;9891:7;:31::i;:::-;-1:-1:-1;;;;;9950:14:0;;;;;;:9;:14;;;;;;9877:45;;-1:-1:-1;9950:23:0;;9877:45;9950:18;:23::i;:::-;-1:-1:-1;;;;;9933:14:0;;;;;;;:9;:14;;;;;:40;;;;9989:41;;;10008:21;:6;10019:9;10008:10;:21::i;:::-;9989:41;;1500:25:1;;;1488:2;1473:18;9989:41:0;;;;;;;7854:2184;;7751:2287;;;:::o;1465:224::-;1585:7;1621:12;1613:6;;;;1605:29;;;;-1:-1:-1;;;1605:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1645:9:0;1657:5;1661:1;1657;:5;:::i;:::-;1645:17;1465:224;-1:-1:-1;;;;;1465:224:0:o;10412:548::-;5295:6;:13;;-1:-1:-1;;;;5295:13:0;-1:-1:-1;;;5295:13:0;;;10490:55;;10527:7:::1;10490:55;10579:16;::::0;;10593:1:::1;10579:16:::0;;;;;::::1;::::0;;10555:21:::1;::::0;10579:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10579:16:0::1;10555:40;;10624:4;10606;10611:1;10606:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10606:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10650:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10650:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10606:7;;10650:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10640:4;10645:1;10640:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10640:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10715:15:::1;::::0;10683:62:::1;::::0;10700:4:::1;::::0;10715:15:::1;10733:11:::0;10683:8:::1;:62::i;:::-;10756:15;::::0;:196:::1;::::0;-1:-1:-1;;;10756:196:0;;-1:-1:-1;;;;;10756:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10837:11;;10756:15:::1;::::0;10879:4;;10906::::1;::::0;10926:15:::1;::::0;10756:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10479:481;5319:1;-1:-1:-1::0;5331:6:0;:14;;-1:-1:-1;;;;5331:14:0;;;10412:548::o;11138:99::-;11195:17;;:34;;-1:-1:-1;;;;;11195:17:0;;;;:34;;;;;11222:6;;11195:17;:34;:17;:34;11222:6;11195:17;:34;;;;;;;;;;;;;;;;;;;1697:246;1755:7;1779:1;1784;1779:6;1775:47;;-1:-1:-1;1809:1:0;1802:8;;1775:47;1832:9;1844:5;1848:1;1844;:5;:::i;:::-;1832:17;-1:-1:-1;1877:1:0;1868:5;1872:1;1832:17;1868:5;:::i;:::-;:10;1860:56;;;;-1:-1:-1;;;1860:56:0;;14370:2:1;1860:56:0;;;14352:21:1;14409:2;14389:18;;;14382:30;14448:34;14428:18;;;14421:62;-1:-1:-1;;;14499:18:1;;;14492:31;14540:19;;1860:56:0;14168:397:1;1951:132:0;2009:7;2036:39;2040:1;2043;2036:39;;;;;;;;;;;;;;;;;:3;:39::i;10297:107::-;10354:7;10386:1;10382;:5;10381:15;;10395:1;10381:15;;;-1:-1:-1;10391:1:0;10297:107;-1:-1:-1;10297:107:0:o;1134:179::-;1192:7;;1224:5;1228:1;1224;:5;:::i;:::-;1212:17;;1253:1;1248;:6;;1240:46;;;;-1:-1:-1;;;1240:46:0;;14772:2:1;1240:46:0;;;14754:21:1;14811:2;14791:18;;;14784:30;14850:29;14830:18;;;14823:57;14897:18;;1240:46:0;14570:351:1;10046:243:0;10157:17;;10127:7;;-1:-1:-1;;;;;10157:17:0;;;10150:24;;;;10147:42;;-1:-1:-1;10183:6:0;10176:13;;10147:42;-1:-1:-1;;;;;10219:14:0;;;;;;:9;:14;;;;;;:26;;10238:6;10219:18;:26::i;:::-;-1:-1:-1;;;;;10202:14:0;;;;;;:9;:14;;;;;:43;10263:18;10272:9;10263:6;:18;:::i;:::-;10256:25;10046:243;-1:-1:-1;;;;10046:243:0:o;1321:136::-;1379:7;1406:43;1410:1;1413;1406:43;;;;;;;;;;;;;;;;;:3;:43::i;2091:223::-;2211:7;2246:12;2239:5;2231:28;;;;-1:-1:-1;;;2231:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2270:9:0;2282:5;2286:1;2282;: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:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2438:248::-;2506:6;2514;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;-1:-1:-1;;2606:23:1;;;2676:2;2661:18;;;2648:32;;-1:-1:-1;2438:248:1:o;2691:127::-;2752:10;2747:3;2743:20;2740:1;2733:31;2783:4;2780:1;2773:15;2807:4;2804:1;2797:15;2823:1121;2907:6;2938:2;2981;2969:9;2960:7;2956:23;2952:32;2949:52;;;2997:1;2994;2987:12;2949:52;3037:9;3024:23;3066:18;3107:2;3099:6;3096:14;3093:34;;;3123:1;3120;3113:12;3093:34;3161:6;3150:9;3146:22;3136:32;;3206:7;3199:4;3195:2;3191:13;3187:27;3177:55;;3228:1;3225;3218:12;3177:55;3264:2;3251:16;3286:2;3282;3279:10;3276:36;;;3292:18;;:::i;:::-;3338:2;3335:1;3331:10;3370:2;3364:9;3433:2;3429:7;3424:2;3420;3416:11;3412:25;3404:6;3400:38;3488:6;3476:10;3473:22;3468:2;3456:10;3453:18;3450:46;3447:72;;;3499:18;;:::i;:::-;3535:2;3528:22;3585:18;;;3619:15;;;;-1:-1:-1;3661:11:1;;;3657:20;;;3689:19;;;3686:39;;;3721:1;3718;3711:12;3686:39;3745:11;;;;3765:148;3781:6;3776:3;3773:15;3765:148;;;3847:23;3866:3;3847:23;:::i;:::-;3835:36;;3798:12;;;;3891;;;;3765:148;;;3932:6;2823:1121;-1:-1:-1;;;;;;;;2823:1121:1:o;4157:388::-;4225:6;4233;4286:2;4274:9;4265:7;4261:23;4257:32;4254:52;;;4302:1;4299;4292:12;4254:52;4341:9;4328:23;4360:31;4385:5;4360:31;:::i;:::-;4410:5;-1:-1:-1;4467:2:1;4452:18;;4439:32;4480:33;4439:32;4480:33;:::i;:::-;4532:7;4522:17;;;4157:388;;;;;:::o;4550:127::-;4611:10;4606:3;4602:20;4599:1;4592:31;4642:4;4639:1;4632:15;4666:4;4663:1;4656:15;4682:422;4771:1;4814:5;4771:1;4828:270;4849:7;4839:8;4836:21;4828:270;;;4908:4;4904:1;4900:6;4896:17;4890:4;4887:27;4884:53;;;4917:18;;:::i;:::-;4967:7;4957:8;4953:22;4950:55;;;4987:16;;;;4950:55;5066:22;;;;5026:15;;;;4828:270;;;4832:3;4682:422;;;;;:::o;5109:806::-;5158:5;5188:8;5178:80;;-1:-1:-1;5229:1:1;5243:5;;5178:80;5277:4;5267:76;;-1:-1:-1;5314:1:1;5328:5;;5267:76;5359:4;5377:1;5372:59;;;;5445:1;5440:130;;;;5352:218;;5372:59;5402:1;5393:10;;5416:5;;;5440:130;5477:3;5467:8;5464:17;5461:43;;;5484:18;;:::i;:::-;-1:-1:-1;;5540:1:1;5526:16;;5555:5;;5352:218;;5654:2;5644:8;5641:16;5635:3;5629:4;5626:13;5622:36;5616:2;5606:8;5603:16;5598:2;5592:4;5589:12;5585:35;5582:77;5579:159;;;-1:-1:-1;5691:19:1;;;5723:5;;5579:159;5770:34;5795:8;5789:4;5770:34;:::i;:::-;5840:6;5836:1;5832:6;5828:19;5819:7;5816:32;5813:58;;;5851:18;;:::i;:::-;5889:20;;5109:806;-1:-1:-1;;;5109:806:1:o;5920:140::-;5978:5;6007:47;6048:4;6038:8;6034:19;6028:4;6007:47;:::i;6065:168::-;6138:9;;;6169;;6186:15;;;6180:22;;6166:37;6156:71;;6207:18;;:::i;6238:356::-;6440:2;6422:21;;;6459:18;;;6452:30;6518:34;6513:2;6498:18;;6491:62;6585:2;6570:18;;6238:356::o;6939:127::-;7000:10;6995:3;6991:20;6988:1;6981:31;7031:4;7028:1;7021:15;7055:4;7052:1;7045:15;7071:135;7110:3;7131:17;;;7128:43;;7151:18;;:::i;:::-;-1:-1:-1;7198:1:1;7187:13;;7071:135::o;7211:251::-;7281:6;7334:2;7322:9;7313:7;7309:23;7305:32;7302:52;;;7350:1;7347;7340:12;7302:52;7382:9;7376:16;7401:31;7426:5;7401:31;:::i;8388:306::-;8476:6;8484;8492;8545:2;8533:9;8524:7;8520:23;8516:32;8513:52;;;8561:1;8558;8551:12;8513:52;8590:9;8584:16;8574:26;;8640:2;8629:9;8625:18;8619:25;8609:35;;8684:2;8673:9;8669:18;8663:25;8653:35;;8388:306;;;;;:::o;8978:277::-;9045:6;9098:2;9086:9;9077:7;9073:23;9069:32;9066:52;;;9114:1;9111;9104:12;9066:52;9146:9;9140:16;9199:5;9192:13;9185:21;9178:5;9175:32;9165:60;;9221:1;9218;9211:12;12343:125;12408:9;;;12429:10;;;12426:36;;;12442:18;;:::i;12828:128::-;12895:9;;;12916:11;;;12913:37;;;12930:18;;:::i;12961:980::-;13223:4;13271:3;13260:9;13256:19;13302:6;13291:9;13284:25;13328:2;13366:6;13361:2;13350:9;13346:18;13339:34;13409:3;13404:2;13393:9;13389:18;13382:31;13433:6;13468;13462:13;13499:6;13491;13484:22;13537:3;13526:9;13522:19;13515:26;;13576:2;13568:6;13564:15;13550:29;;13597:1;13607:195;13621:6;13618:1;13615:13;13607:195;;;13686:13;;-1:-1:-1;;;;;13682:39:1;13670:52;;13777:15;;;;13742:12;;;;13718:1;13636:9;13607:195;;;-1:-1:-1;;;;;;;13858:32:1;;;;13853:2;13838:18;;13831:60;-1:-1:-1;;;13922:3:1;13907:19;13900:35;13819:3;12961:980;-1:-1:-1;;;12961:980:1:o;13946:217::-;13986:1;14012;14002:132;;14056:10;14051:3;14047:20;14044:1;14037:31;14091:4;14088:1;14081:15;14119:4;14116:1;14109:15;14002:132;-1:-1:-1;14148:9:1;;13946:217::o

Swarm Source

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