ETH Price: $3,255.53 (+2.52%)
Gas: 2 Gwei

Token

Pepe 5.0 (PEPE5.0)
 

Overview

Max Total Supply

500,269,000,000,000 PEPE5.0

Holders

73

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
5,756,357,345,124.311167167731160168 PEPE5.0

Value
$0.00
0x7364acca46a333a871d37078735d8e7fdbf19f9c
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:
PEPE50

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 20 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-14
*/

/**
 *Submitted for verification at Etherscan.io on 2023-07-14
*/

/**
 *Submitted for verification at Etherscan.io on 2023-06-27
 */

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address public _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }

    mapping(address => bool) internal authorizations;

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

interface IDEXRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

interface InterfaceLP {
    function sync() external;
}

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 PEPE50 is Ownable, ERC20 {
    using SafeMath for uint256;

    address WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "Pepe 5.0";
    string constant _symbol = "PEPE5.0";
    uint8 constant _decimals = 18;

    event AutoLiquify(uint256 amountETH, uint256 amountTokens);
    event EditTax(uint8 Buy, uint8 Sell, uint8 Transfer);
    event user_exemptfromfees(address Wallet, bool Exempt);
    event user_TxExempt(address Wallet, bool Exempt);
    event ClearStuck(uint256 amount);
    event ClearToken(address TokenAddressCleared, uint256 Amount);
    event set_Receivers(
        address marketingFeeReceiver,
        address buybackFeeReceiver,
        address burnFeeReceiver,
        address devFeeReceiver
    );
    event set_MaxWallet(uint256 maxWallet);
    event set_MaxTX(uint256 maxTX);
    event set_SwapBack(uint256 Amount, bool Enabled);

    uint256 _totalSupply = 500269000000000 * 10**_decimals;


    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping(address => bool) isexemptfromfees;
    mapping(address => bool) isexemptfrommaxTX;

    uint256 private liquidityFee = 1;
    uint256 private marketingFee = 1;
    uint256 private devFee = 0;
    uint256 private buybackFee = 1;
    uint256 private burnFee = 0;
    uint256 public totalFee =
        buybackFee + marketingFee + liquidityFee + devFee + burnFee;
    uint256 private feeDenominator = 100;

    uint256 sellpercent = 100;
    uint256 buypercent = 100;
    uint256 transferpercent = 100;
    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private buybackFeeReceiver;
    address private burnFeeReceiver;
    address private clearStuck;
    mapping(address => bool) private _swapWhiteList;

    uint256 setRatio = 5;
    uint256 setRatioDenominator = 100;

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;

    bool public TradingOpen = false;

    bool public swapEnabled = true;
    uint256 public swapThreshold = (_totalSupply * 70) / 1000;
    bool inSwap;
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    modifier onlyClearStuck() {
        require(
            msg.sender == clearStuck,
            "Only clear stuck can perform this action"
        );
        _;
    }

    constructor() {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);

        _allowances[address(this)][address(router)] = type(uint256).max;
        isexemptfromfees[msg.sender] = true;
        isexemptfrommaxTX[msg.sender] = true;
        isexemptfrommaxTX[pair] = true;
        isexemptfrommaxTX[marketingFeeReceiver] = true;
        isexemptfrommaxTX[address(this)] = true;

        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = 0xF5dFE6F0FAB61524a46aA39E6DBD564F5cA3E019;
        devFeeReceiver = msg.sender;
        clearStuck = msg.sender;
        buybackFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}

    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

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

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

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

    function getOwner() external view override returns (address) {
        return owner();
    }

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

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

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender]
                .sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        if (!authorizations[sender] && !authorizations[recipient]) {
            if (!TradingOpen) {
                require(_swapWhiteList[recipient], "Trading not open yet");
            }
        }
       

        if (shouldSwapBack()) {
            swapBack();
        }
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );

        uint256 amountReceived = (isexemptfromfees[sender] ||
            isexemptfromfees[recipient])
            ? amount
            : takeFee(sender, amount, recipient);
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }


    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isexemptfromfees[sender];
    }

    function takeFee(
        address sender,
        uint256 amount,
        address recipient
    ) internal returns (uint256) {
        uint256 percent = transferpercent;
        if (recipient == pair) {
            percent = sellpercent;
        } else if (sender == pair) {
            percent = buypercent;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(percent).div(
            feeDenominator * 100
        );
        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);
        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);

        if (burnTokens > 0) {
            _totalSupply = _totalSupply.sub(burnTokens);
            emit Transfer(sender, ZERO, burnTokens);
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return
            msg.sender != pair &&
            !inSwap &&
            swapEnabled &&
            _balances[address(this)] >= swapThreshold;
    }

    function manualSend() external {
        payable(autoLiquidityReceiver).transfer(address(this).balance);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens)
        external
        returns (bool success)
    {
        if (tokens == 0) {
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        emit ClearToken(tokenAddress, tokens);
        return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
    }

    function clearStuckETH() external onlyClearStuck {
        bool success;
        (success, ) = address(msg.sender).call{value: address(this).balance}(
            ""
        );
    }

    function setStructure(
        uint256 _percentonbuy,
        uint256 _percentonsell,
        uint256 _wallettransfer
    ) external onlyOwner {
        sellpercent = _percentonsell;
        buypercent = _percentonbuy;
        transferpercent = _wallettransfer;
    }

    function startTrading() public onlyOwner {
        TradingOpen = true;
        buypercent = 100;
        sellpercent = 100;
        transferpercent = 100;
    }

    function reduceFee() public onlyOwner {
        buypercent = 50;
        sellpercent = 50;
        transferpercent = 50;
    }

    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = checkRatio(setRatio, setRatioDenominator)
            ? 0
            : liquidityFee;
        uint256 amountToLiquify = swapThreshold
            .mul(dynamicLiquidityFee)
            .div(totalFee)
            .div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));

        uint256 amountETHLiquidity = amountETH
            .mul(dynamicLiquidityFee)
            .div(totalETHFee)
            .div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(
            totalETHFee
        );
        uint256 amountETHbuyback = amountETH.mul(buybackFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess, ) = payable(marketingFeeReceiver).call{
            value: amountETHMarketing
        }("");
        (tmpSuccess, ) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess, ) = payable(buybackFeeReceiver).call{
            value: amountETHbuyback
        }("");

        tmpSuccess = false;

        if (amountToLiquify > 0) {
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function set_fees() internal {
        emit EditTax(
            uint8(totalFee.mul(buypercent).div(100)),
            uint8(totalFee.mul(sellpercent).div(100)),
            uint8(totalFee.mul(transferpercent).div(100))
        );
    }

    function setParameters(
        uint256 _liquidityFee,
        uint256 _buybackFee,
        uint256 _marketingFee,
        uint256 _devFee,
        uint256 _burnFee,
        uint256 _feeDenominator
    ) external onlyOwner {
        liquidityFee = _liquidityFee;
        buybackFee = _buybackFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee
            .add(_buybackFee)
            .add(_marketingFee)
            .add(_devFee)
            .add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 2, "Fees can not be more than 50%");
        set_fees();
    }

    function setWallets(
        address _autoLiquidityReceiver,
        address _marketingFeeReceiver,
        address _devFeeReceiver,
        address _burnFeeReceiver,
        address _buybackFeeReceiver
    ) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        buybackFeeReceiver = _buybackFeeReceiver;

        emit set_Receivers(
            marketingFeeReceiver,
            buybackFeeReceiver,
            burnFeeReceiver,
            devFeeReceiver
        );
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount)
        external
        onlyOwner
    {
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit set_SwapBack(swapThreshold, swapEnabled);
    }

    function checkRatio(uint256 ratio, uint256 accuracy)
        public
        view
        returns (bool)
    {
        return showBacking(accuracy) > ratio;
    }

    function showBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(showSupply());
    }

    function showSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function setSwapWhiteList(address[] calldata addr, bool enable)
        public
        onlyOwner
    {
        for (uint256 i = 0; i < addr.length; i++) {
            _swapWhiteList[addr[i]] = enable;
        }
    }
}

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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClearStuck","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Transfer","type":"uint8"}],"name":"EditTax","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTX","type":"uint256"}],"name":"set_MaxTX","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"set_MaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"buybackFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"burnFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"devFeeReceiver","type":"address"}],"name":"set_Receivers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"Enabled","type":"bool"}],"name":"set_SwapBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_TxExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_exemptfromfees","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":[{"internalType":"uint256","name":"ratio","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"checkRatio","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentonbuy","type":"uint256"},{"internalType":"uint256","name":"_percentonsell","type":"uint256"},{"internalType":"uint256","name":"_wallettransfer","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addr","type":"address[]"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setSwapWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"showBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","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":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000526565b62000025906601c6fdf40982006200053e565b600355600160085560016009556000600a556001600b556000600c55600c54600a54600854600954600b546200005c919062000558565b62000068919062000558565b62000074919062000558565b62000080919062000558565b600d556064600e819055600f819055601081905560118190556005601955601a55601d805461ffff60a01b1916600160a81b1790556003546103e890620000c99060466200053e565b620000d591906200056e565b601e55348015620000e557600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620001a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cb919062000591565b600280546001600160a01b0319166001600160a01b03928316179055601b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200022a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000250919062000591565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c8919062000591565b601d80546001600160a01b039283166001600160a01b031991821681178355601c805483169091179055306000818152600560209081526040808320601b5488168452825280832060001990553380845260068352818420805460ff199081166001908117909255600785528386208054821683179055975489168552828520805489168217905560138054909916855282852080548916821790559484528184208054909716909417909555601280548516841790558554841673f5dfe6f0fab61524a46aa39e6dbd564f5ca3e019179095556014805484168317905560178054841683179055601580548416831790556016805490931661dead179092556003548183526004855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620005bc565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004685781600019048211156200044c576200044c62000411565b808516156200045a57918102915b93841c93908002906200042c565b509250929050565b600082620004815750600162000520565b81620004905750600062000520565b8160018114620004a95760028114620004b457620004d4565b600191505062000520565b60ff841115620004c857620004c862000411565b50506001821b62000520565b5060208310610133831016604e8410600b8410161715620004f9575081810a62000520565b62000505838362000427565b80600019048211156200051c576200051c62000411565b0290505b92915050565b60006200053760ff84168362000470565b9392505050565b808202811582820484141762000520576200052062000411565b8082018082111562000520576200052062000411565b6000826200058c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005a457600080fd5b81516001600160a01b03811681146200053757600080fd5b611f2b80620005cc6000396000f3fe60806040526004361061019d5760003560e01c806382528791116100dd57806382528791146103c6578063893d20e8146103e65780638da5cb5b1461040d57806395d89b411461042b578063a70419d21461045b578063a8aa1b3114610470578063a9059cbb14610490578063b2bdfa7b146104b0578063bade8b05146104d0578063c0cbdea4146104f0578063dd62ed3e14610510578063ded1e43814610556578063df20fd4914610576578063f2fde38b14610596578063f4293890146105b6578063f887ea40146105cb578063f88de0c3146105eb57600080fd5b80630445b667146101a957806306fdde03146101d257806308fd3d051461020c578063095ea7b31461023d57806318160ddd1461025d5780631df4ccfc1461027257806323b872dd14610288578063282c8749146102a8578063293230b8146102ca57806330c9a6a0146102df578063313ce567146102ff578063552656691461031b578063571ac8b0146103305780636ddd17131461035057806370a0823114610371578063715018a61461039157806377b54bad146103a657600080fd5b366101a457005b600080fd5b3480156101b557600080fd5b506101bf601e5481565b6040519081526020015b60405180910390f35b3480156101de57600080fd5b5060408051808201909152600881526705065706520352e360c41b60208201525b6040516101c99190611a1b565b34801561021857600080fd5b50601d5461022d90600160a01b900460ff1681565b60405190151581526020016101c9565b34801561024957600080fd5b5061022d610258366004611a85565b610600565b34801561026957600080fd5b506003546101bf565b34801561027e57600080fd5b506101bf600d5481565b34801561029457600080fd5b5061022d6102a3366004611aaf565b61066d565b3480156102b457600080fd5b506102c86102c3366004611aeb565b61072f565b005b3480156102d657600080fd5b506102c8610806565b3480156102eb57600080fd5b506101bf6102fa366004611b2e565b610854565b34801561030b57600080fd5b50604051601281526020016101c9565b34801561032757600080fd5b506101bf610894565b34801561033c57600080fd5b5061022d61034b366004611b47565b6108c5565b34801561035c57600080fd5b50601d5461022d90600160a81b900460ff1681565b34801561037d57600080fd5b506101bf61038c366004611b47565b6108d3565b34801561039d57600080fd5b506102c86108ee565b3480156103b257600080fd5b5061022d6103c1366004611a85565b610962565b3480156103d257600080fd5b506102c86103e1366004611b62565b610a8c565b3480156103f257600080fd5b506000546001600160a01b03165b6040516101c99190611bc7565b34801561041957600080fd5b506000546001600160a01b0316610400565b34801561043757600080fd5b50604080518082019091526007815266050455045352e360cc1b60208201526101ff565b34801561046757600080fd5b506102c8610b64565b34801561047c57600080fd5b50601d54610400906001600160a01b031681565b34801561049c57600080fd5b5061022d6104ab366004611a85565b610b9f565b3480156104bc57600080fd5b50600054610400906001600160a01b031681565b3480156104dc57600080fd5b506102c86104eb366004611be9565b610bac565b3480156104fc57600080fd5b506102c861050b366004611c6f565b610c4d565b34801561051c57600080fd5b506101bf61052b366004611c9b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561056257600080fd5b5061022d610571366004611cce565b610c88565b34801561058257600080fd5b506102c8610591366004611cf0565b610c9c565b3480156105a257600080fd5b506102c86105b1366004611b47565b610d2f565b3480156105c257600080fd5b506102c8610e19565b3480156105d757600080fd5b50601b54610400906001600160a01b031681565b3480156105f757600080fd5b506102c8610e55565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061065b9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526005602090815260408083203384529091528120546000191461071a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526005825283812033825290915291909120546106f5918490610f02565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610725848484610f3c565b90505b9392505050565b6000546001600160a01b031633146107625760405162461bcd60e51b815260040161075990611d0e565b60405180910390fd5b6008869055600b8590556009849055600a839055600c8290556107938261078d858188818c8c611158565b90611158565b600d55600e8190556107a6600282611d59565b600d54106107f65760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203530250000006044820152606401610759565b6107fe6111b5565b505050505050565b6000546001600160a01b031633146108305760405162461bcd60e51b815260040161075990611d0e565b601d805460ff60a01b1916600160a01b17905560646010819055600f819055601155565b6000610667610861610894565b601d5461088e9061088790600290610881906001600160a01b03166108d3565b90611250565b8590611250565b906112d2565b60006108c06108a360006108d3565b6108ba6108b161dead6108d3565b60035490611311565b90611311565b905090565b600061066782600019610600565b6001600160a01b031660009081526004602052604090205490565b6000546001600160a01b031633146109185760405162461bcd60e51b815260040161075990611d0e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000816000036109dc576040516370a0823160e01b81526001600160a01b038416906370a0823190610998903090600401611bc7565b602060405180830381865afa1580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d99190611d7b565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f8383604051610a0d929190611d94565b60405180910390a160125460405163a9059cbb60e01b81526001600160a01b038581169263a9059cbb92610a4992909116908690600401611d94565b6020604051808303816000875af1158015610a68573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107289190611dad565b6000546001600160a01b03163314610ab65760405162461bcd60e51b815260040161075990611d0e565b601280546001600160a01b038781166001600160a01b031992831617909255601380548784169083168117909155601480548785169084168117909155601680548786169085168117909155601580549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b6000546001600160a01b03163314610b8e5760405162461bcd60e51b815260040161075990611d0e565b60326010819055600f819055601155565b6000610728338484610f3c565b6000546001600160a01b03163314610bd65760405162461bcd60e51b815260040161075990611d0e565b60005b82811015610c47578160186000868685818110610bf857610bf8611dca565b9050602002016020810190610c0d9190611b47565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c3f81611de0565b915050610bd9565b50505050565b6000546001600160a01b03163314610c775760405162461bcd60e51b815260040161075990611d0e565b600f91909155601091909155601155565b600082610c9483610854565b119392505050565b6000546001600160a01b03163314610cc65760405162461bcd60e51b815260040161075990611d0e565b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b6000546001600160a01b03163314610d595760405162461bcd60e51b815260040161075990611d0e565b6001600160a01b038116610dbe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610759565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6012546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610e52573d6000803e3d6000fd5b50565b6017546001600160a01b03163314610ec05760405162461bcd60e51b815260206004820152602860248201527f4f6e6c7920636c65617220737475636b2063616e20706572666f726d20746869604482015267399030b1ba34b7b760c11b6064820152608401610759565b604051600090339047908381818185875af1925050503d8060008114610c47576040519150601f19603f3d011682016040523d82523d6000602084013e610c47565b60008184841115610f265760405162461bcd60e51b81526004016107599190611a1b565b506000610f338486611df9565b95945050505050565b601f5460009060ff1615610f5c57610f55848484611353565b9050610728565b6001600160a01b03841660009081526001602052604090205460ff16158015610f9e57506001600160a01b03831660009081526001602052604090205460ff16155b1561101357601d54600160a01b900460ff16611013576001600160a01b03831660009081526018602052604090205460ff166110135760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610759565b61101b611427565b156110285761102861147d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526004909152919091205461107a918490610f02565b6001600160a01b038516600090815260046020908152604080832093909355600690529081205460ff16806110c757506001600160a01b03841660009081526006602052604090205460ff165b6110db576110d6858486611864565b6110dd565b825b6001600160a01b0385166000908152600460205260409020549091506111039082611158565b6001600160a01b038086166000818152600460205260409081902093909355915190871690600080516020611ed6833981519152906111459085815260200190565b60405180910390a3506001949350505050565b6000806111658385611e0c565b9050838110156107285760405162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b6044820152606401610759565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006111f2606461088e601054600d5461125090919063ffffffff16565b61120e606461088e600f54600d5461125090919063ffffffff16565b61122a606461088e601154600d5461125090919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b60008260000361126257506000610667565b600061126e8385611e1f565b90508261127b8583611d59565b146107285760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610759565b600061072883836040518060400160405280601a815260200179536166654d6174683a206469766973696f6e206279207a65726f60301b8152506119ed565b600061072883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f02565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526004909152918220546113a4918490610f02565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546113d39083611158565b6001600160a01b038085166000818152600460205260409081902093909355915190861690600080516020611ed6833981519152906114159086815260200190565b60405180910390a35060019392505050565b601d546000906001600160a01b031633148015906114485750601f5460ff16155b801561145d5750601d54600160a81b900460ff165b80156108c0575050601e5430600090815260046020526040902054101590565b601f805460ff19166001179055601954601a5460009161149c91610c88565b6114a8576008546114ab565b60005b905060006114cf600261088e600d5461088e86601e5461125090919063ffffffff16565b905060006114e882601e5461131190919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061152257611522611dca565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061155357611553611dca565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b81524792919091169063791ac9479061159d908690600090879030904290600401611e36565b600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115e4824761131190919063ffffffff16565b905060006115ff6115f68860026112d2565b600d5490611311565b90506000611614600261088e8481878d611250565b905060006116318361088e6009548761125090919063ffffffff16565b9050600061164e8461088e600b548861125090919063ffffffff16565b9050600061166b8561088e600a548961125090919063ffffffff16565b6013546040519192506000916001600160a01b039091169085908381818185875af1925050503d80600081146116bd576040519150601f19603f3d011682016040523d82523d6000602084013e6116c2565b606091505b50506014546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611712576040519150601f19603f3d011682016040523d82523d6000602084013e611717565b606091505b50506015546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611767576040519150601f19603f3d011682016040523d82523d6000602084013e61176c565b606091505b5060009250508b15905061184c57601b5460125460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af11580156117ea573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061180f9190611ea7565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff1916905550505050505050505050565b601154601d54600091906001600160a01b039081169084160361188a5750600f546118a5565b601d546001600160a01b03908116908616036118a557506010545b60006118d2600e5460646118b99190611e1f565b61088e84610881600d548a61125090919063ffffffff16565b905060006118f1600d5461088e600c548561125090919063ffffffff16565b905060006118ff8383611311565b3060009081526004602052604090205490915061191c9082611158565b30600090815260046020526040808220929092556016546001600160a01b03168152205461194a9083611158565b6016546001600160a01b0390811660009081526004602090815260409182902093909355518381523092918b1691600080516020611ed6833981519152910160405180910390a381156119d7576003546119a49083611311565b6003556040518281526000906001600160a01b038a1690600080516020611ed68339815191529060200160405180910390a35b6119e18784611311565b98975050505050505050565b60008183611a0e5760405162461bcd60e51b81526004016107599190611a1b565b506000610f338486611d59565b600060208083528351808285015260005b81811015611a4857858101830151858201604001528201611a2c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611a8057600080fd5b919050565b60008060408385031215611a9857600080fd5b611aa183611a69565b946020939093013593505050565b600080600060608486031215611ac457600080fd5b611acd84611a69565b9250611adb60208501611a69565b9150604084013590509250925092565b60008060008060008060c08789031215611b0457600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215611b4057600080fd5b5035919050565b600060208284031215611b5957600080fd5b61072882611a69565b600080600080600060a08688031215611b7a57600080fd5b611b8386611a69565b9450611b9160208701611a69565b9350611b9f60408701611a69565b9250611bad60608701611a69565b9150611bbb60808701611a69565b90509295509295909350565b6001600160a01b0391909116815260200190565b8015158114610e5257600080fd5b600080600060408486031215611bfe57600080fd5b833567ffffffffffffffff80821115611c1657600080fd5b818601915086601f830112611c2a57600080fd5b813581811115611c3957600080fd5b8760208260051b8501011115611c4e57600080fd5b60209283019550935050840135611c6481611bdb565b809150509250925092565b600080600060608486031215611c8457600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611cae57600080fd5b611cb783611a69565b9150611cc560208401611a69565b90509250929050565b60008060408385031215611ce157600080fd5b50508035926020909101359150565b60008060408385031215611d0357600080fd5b8235611aa181611bdb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082611d7657634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d8d57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215611dbf57600080fd5b815161072881611bdb565b634e487b7160e01b600052603260045260246000fd5b600060018201611df257611df2611d43565b5060010190565b8181038181111561066757610667611d43565b8082018082111561066757610667611d43565b808202811582820484141761066757610667611d43565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e865784516001600160a01b031683529383019391830191600101611e61565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611ebc57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209488f8e6623ff2816bac68719bb68c9c2f053a417007f4cda9b28ccf0758818964736f6c63430008140033

Deployed Bytecode

0x60806040526004361061019d5760003560e01c806382528791116100dd57806382528791146103c6578063893d20e8146103e65780638da5cb5b1461040d57806395d89b411461042b578063a70419d21461045b578063a8aa1b3114610470578063a9059cbb14610490578063b2bdfa7b146104b0578063bade8b05146104d0578063c0cbdea4146104f0578063dd62ed3e14610510578063ded1e43814610556578063df20fd4914610576578063f2fde38b14610596578063f4293890146105b6578063f887ea40146105cb578063f88de0c3146105eb57600080fd5b80630445b667146101a957806306fdde03146101d257806308fd3d051461020c578063095ea7b31461023d57806318160ddd1461025d5780631df4ccfc1461027257806323b872dd14610288578063282c8749146102a8578063293230b8146102ca57806330c9a6a0146102df578063313ce567146102ff578063552656691461031b578063571ac8b0146103305780636ddd17131461035057806370a0823114610371578063715018a61461039157806377b54bad146103a657600080fd5b366101a457005b600080fd5b3480156101b557600080fd5b506101bf601e5481565b6040519081526020015b60405180910390f35b3480156101de57600080fd5b5060408051808201909152600881526705065706520352e360c41b60208201525b6040516101c99190611a1b565b34801561021857600080fd5b50601d5461022d90600160a01b900460ff1681565b60405190151581526020016101c9565b34801561024957600080fd5b5061022d610258366004611a85565b610600565b34801561026957600080fd5b506003546101bf565b34801561027e57600080fd5b506101bf600d5481565b34801561029457600080fd5b5061022d6102a3366004611aaf565b61066d565b3480156102b457600080fd5b506102c86102c3366004611aeb565b61072f565b005b3480156102d657600080fd5b506102c8610806565b3480156102eb57600080fd5b506101bf6102fa366004611b2e565b610854565b34801561030b57600080fd5b50604051601281526020016101c9565b34801561032757600080fd5b506101bf610894565b34801561033c57600080fd5b5061022d61034b366004611b47565b6108c5565b34801561035c57600080fd5b50601d5461022d90600160a81b900460ff1681565b34801561037d57600080fd5b506101bf61038c366004611b47565b6108d3565b34801561039d57600080fd5b506102c86108ee565b3480156103b257600080fd5b5061022d6103c1366004611a85565b610962565b3480156103d257600080fd5b506102c86103e1366004611b62565b610a8c565b3480156103f257600080fd5b506000546001600160a01b03165b6040516101c99190611bc7565b34801561041957600080fd5b506000546001600160a01b0316610400565b34801561043757600080fd5b50604080518082019091526007815266050455045352e360cc1b60208201526101ff565b34801561046757600080fd5b506102c8610b64565b34801561047c57600080fd5b50601d54610400906001600160a01b031681565b34801561049c57600080fd5b5061022d6104ab366004611a85565b610b9f565b3480156104bc57600080fd5b50600054610400906001600160a01b031681565b3480156104dc57600080fd5b506102c86104eb366004611be9565b610bac565b3480156104fc57600080fd5b506102c861050b366004611c6f565b610c4d565b34801561051c57600080fd5b506101bf61052b366004611c9b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561056257600080fd5b5061022d610571366004611cce565b610c88565b34801561058257600080fd5b506102c8610591366004611cf0565b610c9c565b3480156105a257600080fd5b506102c86105b1366004611b47565b610d2f565b3480156105c257600080fd5b506102c8610e19565b3480156105d757600080fd5b50601b54610400906001600160a01b031681565b3480156105f757600080fd5b506102c8610e55565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061065b9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526005602090815260408083203384529091528120546000191461071a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526005825283812033825290915291909120546106f5918490610f02565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610725848484610f3c565b90505b9392505050565b6000546001600160a01b031633146107625760405162461bcd60e51b815260040161075990611d0e565b60405180910390fd5b6008869055600b8590556009849055600a839055600c8290556107938261078d858188818c8c611158565b90611158565b600d55600e8190556107a6600282611d59565b600d54106107f65760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203530250000006044820152606401610759565b6107fe6111b5565b505050505050565b6000546001600160a01b031633146108305760405162461bcd60e51b815260040161075990611d0e565b601d805460ff60a01b1916600160a01b17905560646010819055600f819055601155565b6000610667610861610894565b601d5461088e9061088790600290610881906001600160a01b03166108d3565b90611250565b8590611250565b906112d2565b60006108c06108a360006108d3565b6108ba6108b161dead6108d3565b60035490611311565b90611311565b905090565b600061066782600019610600565b6001600160a01b031660009081526004602052604090205490565b6000546001600160a01b031633146109185760405162461bcd60e51b815260040161075990611d0e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000816000036109dc576040516370a0823160e01b81526001600160a01b038416906370a0823190610998903090600401611bc7565b602060405180830381865afa1580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d99190611d7b565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f8383604051610a0d929190611d94565b60405180910390a160125460405163a9059cbb60e01b81526001600160a01b038581169263a9059cbb92610a4992909116908690600401611d94565b6020604051808303816000875af1158015610a68573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107289190611dad565b6000546001600160a01b03163314610ab65760405162461bcd60e51b815260040161075990611d0e565b601280546001600160a01b038781166001600160a01b031992831617909255601380548784169083168117909155601480548785169084168117909155601680548786169085168117909155601580549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b6000546001600160a01b03163314610b8e5760405162461bcd60e51b815260040161075990611d0e565b60326010819055600f819055601155565b6000610728338484610f3c565b6000546001600160a01b03163314610bd65760405162461bcd60e51b815260040161075990611d0e565b60005b82811015610c47578160186000868685818110610bf857610bf8611dca565b9050602002016020810190610c0d9190611b47565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c3f81611de0565b915050610bd9565b50505050565b6000546001600160a01b03163314610c775760405162461bcd60e51b815260040161075990611d0e565b600f91909155601091909155601155565b600082610c9483610854565b119392505050565b6000546001600160a01b03163314610cc65760405162461bcd60e51b815260040161075990611d0e565b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b6000546001600160a01b03163314610d595760405162461bcd60e51b815260040161075990611d0e565b6001600160a01b038116610dbe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610759565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6012546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610e52573d6000803e3d6000fd5b50565b6017546001600160a01b03163314610ec05760405162461bcd60e51b815260206004820152602860248201527f4f6e6c7920636c65617220737475636b2063616e20706572666f726d20746869604482015267399030b1ba34b7b760c11b6064820152608401610759565b604051600090339047908381818185875af1925050503d8060008114610c47576040519150601f19603f3d011682016040523d82523d6000602084013e610c47565b60008184841115610f265760405162461bcd60e51b81526004016107599190611a1b565b506000610f338486611df9565b95945050505050565b601f5460009060ff1615610f5c57610f55848484611353565b9050610728565b6001600160a01b03841660009081526001602052604090205460ff16158015610f9e57506001600160a01b03831660009081526001602052604090205460ff16155b1561101357601d54600160a01b900460ff16611013576001600160a01b03831660009081526018602052604090205460ff166110135760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610759565b61101b611427565b156110285761102861147d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526004909152919091205461107a918490610f02565b6001600160a01b038516600090815260046020908152604080832093909355600690529081205460ff16806110c757506001600160a01b03841660009081526006602052604090205460ff165b6110db576110d6858486611864565b6110dd565b825b6001600160a01b0385166000908152600460205260409020549091506111039082611158565b6001600160a01b038086166000818152600460205260409081902093909355915190871690600080516020611ed6833981519152906111459085815260200190565b60405180910390a3506001949350505050565b6000806111658385611e0c565b9050838110156107285760405162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b6044820152606401610759565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006111f2606461088e601054600d5461125090919063ffffffff16565b61120e606461088e600f54600d5461125090919063ffffffff16565b61122a606461088e601154600d5461125090919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b60008260000361126257506000610667565b600061126e8385611e1f565b90508261127b8583611d59565b146107285760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610759565b600061072883836040518060400160405280601a815260200179536166654d6174683a206469766973696f6e206279207a65726f60301b8152506119ed565b600061072883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f02565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526004909152918220546113a4918490610f02565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546113d39083611158565b6001600160a01b038085166000818152600460205260409081902093909355915190861690600080516020611ed6833981519152906114159086815260200190565b60405180910390a35060019392505050565b601d546000906001600160a01b031633148015906114485750601f5460ff16155b801561145d5750601d54600160a81b900460ff165b80156108c0575050601e5430600090815260046020526040902054101590565b601f805460ff19166001179055601954601a5460009161149c91610c88565b6114a8576008546114ab565b60005b905060006114cf600261088e600d5461088e86601e5461125090919063ffffffff16565b905060006114e882601e5461131190919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061152257611522611dca565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061155357611553611dca565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b81524792919091169063791ac9479061159d908690600090879030904290600401611e36565b600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115e4824761131190919063ffffffff16565b905060006115ff6115f68860026112d2565b600d5490611311565b90506000611614600261088e8481878d611250565b905060006116318361088e6009548761125090919063ffffffff16565b9050600061164e8461088e600b548861125090919063ffffffff16565b9050600061166b8561088e600a548961125090919063ffffffff16565b6013546040519192506000916001600160a01b039091169085908381818185875af1925050503d80600081146116bd576040519150601f19603f3d011682016040523d82523d6000602084013e6116c2565b606091505b50506014546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611712576040519150601f19603f3d011682016040523d82523d6000602084013e611717565b606091505b50506015546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611767576040519150601f19603f3d011682016040523d82523d6000602084013e61176c565b606091505b5060009250508b15905061184c57601b5460125460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af11580156117ea573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061180f9190611ea7565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff1916905550505050505050505050565b601154601d54600091906001600160a01b039081169084160361188a5750600f546118a5565b601d546001600160a01b03908116908616036118a557506010545b60006118d2600e5460646118b99190611e1f565b61088e84610881600d548a61125090919063ffffffff16565b905060006118f1600d5461088e600c548561125090919063ffffffff16565b905060006118ff8383611311565b3060009081526004602052604090205490915061191c9082611158565b30600090815260046020526040808220929092556016546001600160a01b03168152205461194a9083611158565b6016546001600160a01b0390811660009081526004602090815260409182902093909355518381523092918b1691600080516020611ed6833981519152910160405180910390a381156119d7576003546119a49083611311565b6003556040518281526000906001600160a01b038a1690600080516020611ed68339815191529060200160405180910390a35b6119e18784611311565b98975050505050505050565b60008183611a0e5760405162461bcd60e51b81526004016107599190611a1b565b506000610f338486611d59565b600060208083528351808285015260005b81811015611a4857858101830151858201604001528201611a2c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611a8057600080fd5b919050565b60008060408385031215611a9857600080fd5b611aa183611a69565b946020939093013593505050565b600080600060608486031215611ac457600080fd5b611acd84611a69565b9250611adb60208501611a69565b9150604084013590509250925092565b60008060008060008060c08789031215611b0457600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215611b4057600080fd5b5035919050565b600060208284031215611b5957600080fd5b61072882611a69565b600080600080600060a08688031215611b7a57600080fd5b611b8386611a69565b9450611b9160208701611a69565b9350611b9f60408701611a69565b9250611bad60608701611a69565b9150611bbb60808701611a69565b90509295509295909350565b6001600160a01b0391909116815260200190565b8015158114610e5257600080fd5b600080600060408486031215611bfe57600080fd5b833567ffffffffffffffff80821115611c1657600080fd5b818601915086601f830112611c2a57600080fd5b813581811115611c3957600080fd5b8760208260051b8501011115611c4e57600080fd5b60209283019550935050840135611c6481611bdb565b809150509250925092565b600080600060608486031215611c8457600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611cae57600080fd5b611cb783611a69565b9150611cc560208401611a69565b90509250929050565b60008060408385031215611ce157600080fd5b50508035926020909101359150565b60008060408385031215611d0357600080fd5b8235611aa181611bdb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082611d7657634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d8d57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215611dbf57600080fd5b815161072881611bdb565b634e487b7160e01b600052603260045260246000fd5b600060018201611df257611df2611d43565b5060010190565b8181038181111561066757610667611d43565b8082018082111561066757610667611d43565b808202811582820484141761066757610667611d43565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e865784516001600160a01b031683529383019391830191600101611e61565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611ebc57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209488f8e6623ff2816bac68719bb68c9c2f053a417007f4cda9b28ccf0758818964736f6c63430008140033

Deployed Bytecode Sourcemap

5615:14122:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7878:57;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7878:57:0;;;;;;;;9544:94;;;;;;;;;;-1:-1:-1;9625:5:0;;;;;;;;;;;;-1:-1:-1;;;9625:5:0;;;;9544:94;;;;;;;:::i;7801:31::-;;;;;;;;;;-1:-1:-1;7801:31:0;;;;-1:-1:-1;;;7801:31:0;;;;;;;;;914:14:1;;907:22;889:41;;877:2;862:18;7801:31:0;749:187:1;10071:248:0;;;;;;;;;;-1:-1:-1;10071:248:0;;;;;:::i;:::-;;:::i;9226:102::-;;;;;;;;;;-1:-1:-1;9308:12:0;;9226:102;;7097:94;;;;;;;;;;;;;;;;10653:424;;;;;;;;;;-1:-1:-1;10653:424:0;;;;;:::i;:::-;;:::i;17412:707::-;;;;;;;;;;-1:-1:-1;17412:707:0;;;;;:::i;:::-;;:::i;:::-;;14818:165;;;;;;;;;;;;;:::i;19214:149::-;;;;;;;;;;-1:-1:-1;19214:149:0;;;;;:::i;:::-;;:::i;9336:94::-;;;;;;;;;;-1:-1:-1;9336:94:0;;5968:2;2566:36:1;;2554:2;2539:18;9336:94:0;2424:184:1;19371:132:0;;;;;;;;;;;;;:::i;10327:122::-;;;;;;;;;;-1:-1:-1;10327:122:0;;;;;:::i;:::-;;:::i;7841:30::-;;;;;;;;;;-1:-1:-1;7841:30:0;;;;-1:-1:-1;;;7841:30:0;;;;;;9748:119;;;;;;;;;;-1:-1:-1;9748:119:0;;;;;:::i;:::-;;:::i;2182:148::-;;;;;;;;;;;;;:::i;13974:358::-;;;;;;;;;;-1:-1:-1;13974:358:0;;;;;:::i;:::-;;:::i;18127:662::-;;;;;;;;;;-1:-1:-1;18127:662:0;;;;;:::i;:::-;;:::i;9646:94::-;;;;;;;;;;-1:-1:-1;9698:7:0;2033:6;-1:-1:-1;;;;;2033:6:0;9646:94;;;;;;;:::i;1968:79::-;;;;;;;;;;-1:-1:-1;2006:7:0;2033:6;-1:-1:-1;;;;;2033:6:0;1968:79;;9438:98;;;;;;;;;;-1:-1:-1;9521:7:0;;;;;;;;;;;;-1:-1:-1;;;9521:7:0;;;;9438:98;;14991:130;;;;;;;;;;;;;:::i;7773:19::-;;;;;;;;;;-1:-1:-1;7773:19:0;;;;-1:-1:-1;;;;;7773:19:0;;;10457:188;;;;;;;;;;-1:-1:-1;10457:188:0;;;;;:::i;:::-;;:::i;1563:21::-;;;;;;;;;;-1:-1:-1;1563:21:0;;;;-1:-1:-1;;;;;1563:21:0;;;19511:223;;;;;;;;;;-1:-1:-1;19511:223:0;;;;;:::i;:::-;;:::i;14535:275::-;;;;;;;;;;-1:-1:-1;14535:275:0;;;;;:::i;:::-;;:::i;9875:188::-;;;;;;;;;;-1:-1:-1;9875:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;10027:19:0;;;9995:7;10027:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9875:188;19039:167;;;;;;;;;;-1:-1:-1;19039:167:0;;;;;:::i;:::-;;:::i;18797:234::-;;;;;;;;;;-1:-1:-1;18797:234:0;;;;;:::i;:::-;;:::i;2338:281::-;;;;;;;;;;-1:-1:-1;2338:281:0;;;;;:::i;:::-;;:::i;13854:112::-;;;;;;;;;;;;;:::i;7703:24::-;;;;;;;;;;-1:-1:-1;7703:24:0;;;;-1:-1:-1;;;;;7703:24:0;;;14340:187;;;;;;;;;;;;;:::i;10071:248::-;10207:10;10173:4;10195:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10195:32:0;;;;;;;;;;:41;;;10252:37;10173:4;;10195:32;;10252:37;;;;10230:6;160:25:1;;148:2;133:18;;14:177;10252:37:0;;;;;;;;-1:-1:-1;10307:4:0;10071:248;;;;;:::o;10653:424::-;-1:-1:-1;;;;;10808:19:0;;10787:4;10808:19;;;:11;:19;;;;;;;;10828:10;10808:31;;;;;;;;-1:-1:-1;;10808:52:0;10804:206;;10911:87;;;;;;;;;;;-1:-1:-1;;;10911:87:0;;;;;;;;-1:-1:-1;;;;;10911:19:0;;-1:-1:-1;10911:19:0;;;:11;:19;;;;;10931:10;10911:31;;;;;;;;;;:87;;10965:6;;10911:53;:87::i;:::-;-1:-1:-1;;;;;10877:19:0;;;;;;:11;:19;;;;;;;;10897:10;10877:31;;;;;;;:121;10804:206;11029:40;11043:6;11051:9;11062:6;11029:13;:40::i;:::-;11022:47;;10653:424;;;;;;:::o;17412:707::-;2095:6;;-1:-1:-1;;;;;2095:6:0;1380:10;2095:22;2087:67;;;;-1:-1:-1;;;2087:67:0;;;;;;;:::i;:::-;;;;;;;;;17653:12:::1;:28:::0;;;17692:10:::1;:24:::0;;;17727:12:::1;:28:::0;;;17766:6:::1;:16:::0;;;17793:7:::1;:18:::0;;;17833:132:::1;17803:8:::0;17833:104:::1;17775:7:::0;17833:104;17742:13;17833:104;17668:13;17705:11;17833:31:::1;:44::i;:::-;:62:::0;::::1;:77::i;:132::-;17822:8;:143:::0;17976:14:::1;:32:::0;;;18038:18:::1;18055:1;17993:15:::0;18038:18:::1;:::i;:::-;18027:8;;:29;18019:71;;;::::0;-1:-1:-1;;;18019:71:0;;6675:2:1;18019:71:0::1;::::0;::::1;6657:21:1::0;6714:2;6694:18;;;6687:30;6753:31;6733:18;;;6726:59;6802:18;;18019:71:0::1;6473:353:1::0;18019:71:0::1;18101:10;:8;:10::i;:::-;17412:707:::0;;;;;;:::o;14818:165::-;2095:6;;-1:-1:-1;;;;;2095:6:0;1380:10;2095:22;2087:67;;;;-1:-1:-1;;;2087:67:0;;;;;;;:::i;:::-;14870:11:::1;:18:::0;;-1:-1:-1;;;;14870:18:0::1;-1:-1:-1::0;;;14870:18:0::1;::::0;;14912:3:::1;14899:10;:16:::0;;;14926:11:::1;:17:::0;;;14954:15:::1;:21:::0;14818:165::o;19214:149::-;19274:7;19301:54;19342:12;:10;:12::i;:::-;19324:4;;19301:36;;19314:22;;19334:1;;19314:15;;-1:-1:-1;;;;;19324:4:0;19314:9;:15::i;:::-;:19;;:22::i;:::-;19301:8;;:12;:36::i;:::-;:40;;:54::i;19371:132::-;19414:7;19441:54;19479:15;5807:42;19479:9;:15::i;:::-;19441:33;19458:15;5734:42;19458:9;:15::i;:::-;19441:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;19434:61;;19371:132;:::o;10327:122::-;10382:4;10406:35;10414:7;-1:-1:-1;;10406:7:0;:35::i;9748:119::-;-1:-1:-1;;;;;9841:18:0;9814:7;9841:18;;;:9;:18;;;;;;;9748:119::o;2182:148::-;2095:6;;-1:-1:-1;;;;;2095:6:0;1380:10;2095:22;2087:67;;;;-1:-1:-1;;;2087:67:0;;;;;;;:::i;:::-;2289:1:::1;2273:6:::0;;2252:40:::1;::::0;-1:-1:-1;;;;;2273:6:0;;::::1;::::0;2252:40:::1;::::0;2289:1;;2252:40:::1;2320:1;2303:19:::0;;-1:-1:-1;;;;;;2303:19:0::1;::::0;;2182:148::o;13974:358::-;14073:12;14107:6;14117:1;14107:11;14103:97;;14144:44;;-1:-1:-1;;;14144:44:0;;-1:-1:-1;;;;;14144:29:0;;;;;:44;;14182:4;;14144:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14135:53;;14103:97;14215:32;14226:12;14240:6;14215:32;;;;;;;:::i;:::-;;;;;;;;14294:21;;14265:59;;-1:-1:-1;;;14265:59:0;;-1:-1:-1;;;;;14265:28:0;;;;;;:59;;14294:21;;;;14317:6;;14265:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18127:662::-;2095:6;;-1:-1:-1;;;;;2095:6:0;1380:10;2095:22;2087:67;;;;-1:-1:-1;;;2087:67:0;;;;;;;:::i;:::-;18372:21:::1;:46:::0;;-1:-1:-1;;;;;18372:46:0;;::::1;-1:-1:-1::0;;;;;;18372:46:0;;::::1;;::::0;;;18429:20:::1;:44:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;18484:14:::1;:32:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;18527:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;18572:18:::1;:40:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;18630:151:::1;::::0;;7818:34:1;;;7883:2;7868:18;;7861:43;;;;7920:18;;;7913:43;;;;7987:2;7972:18;;7965:43;;;;18630:151:0::1;::::0;7767:3:1;7752:19;18630:151:0::1;;;;;;;18127:662:::0;;;;;:::o;14991:130::-;2095:6;;-1:-1:-1;;;;;2095:6:0;1380:10;2095:22;2087:67;;;;-1:-1:-1;;;2087:67:0;;;;;;;:::i;:::-;15053:2:::1;15040:10;:15:::0;;;15066:11:::1;:16:::0;;;15093:15:::1;:20:::0;14991:130::o;10457:188::-;10564:4;10593:44;10607:10;10619:9;10630:6;10593:13;:44::i;19511:223::-;2095:6;;-1:-1:-1;;;;;2095:6:0;1380:10;2095:22;2087:67;;;;-1:-1:-1;;;2087:67:0;;;;;;;:::i;:::-;19631:9:::1;19626:101;19646:15:::0;;::::1;19626:101;;;19709:6;19683:14;:23;19698:4;;19703:1;19698:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19683:23:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;19683:23:0;:32;;-1:-1:-1;;19683:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19663:3;::::1;::::0;::::1;:::i;:::-;;;;19626:101;;;;19511:223:::0;;;:::o;14535:275::-;2095:6;;-1:-1:-1;;;;;2095:6:0;1380:10;2095:22;2087:67;;;;-1:-1:-1;;;2087:67:0;;;;;;;:::i;:::-;14693:11:::1;:28:::0;;;;14732:10:::1;:26:::0;;;;14769:15:::1;:33:::0;14535:275::o;19039:167::-;19140:4;19193:5;19169:21;19181:8;19169:11;:21::i;:::-;:29;;19039:167;-1:-1:-1;;;19039:167:0:o;18797:234::-;2095:6;;-1:-1:-1;;;;;2095:6:0;1380:10;2095:22;2087:67;;;;-1:-1:-1;;;2087:67:0;;;;;;;:::i;:::-;18911:11:::1;:22:::0;;-1:-1:-1;;;;18911:22:0::1;-1:-1:-1::0;;;18911:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;18944:13:::1;:23:::0;;;18983:40:::1;::::0;;8459:25:1;;;18911:22:0::1;19011:11:::0;;;::::1;::::0;;;::::1;8527:14:1::0;8520:22;8515:2;8500:18;;8493:50;18983:40:0::1;::::0;8432:18:1;18983:40:0::1;;;;;;;18797:234:::0;;:::o;2338:281::-;2095:6;;-1:-1:-1;;;;;2095:6:0;1380:10;2095:22;2087:67;;;;-1:-1:-1;;;2087:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2441:22:0;::::1;2419:110;;;::::0;-1:-1:-1;;;2419:110:0;;8756:2:1;2419:110:0::1;::::0;::::1;8738:21:1::0;8795:2;8775:18;;;8768:30;8834:34;8814:18;;;8807:62;-1:-1:-1;;;8885:18:1;;;8878:36;8931:19;;2419:110:0::1;8554:402:1::0;2419:110:0::1;2566:6;::::0;;2545:38:::1;::::0;-1:-1:-1;;;;;2545:38:0;;::::1;::::0;2566:6;::::1;::::0;2545:38:::1;::::0;::::1;2594:6;:17:::0;;-1:-1:-1;;;;;;2594:17:0::1;-1:-1:-1::0;;;;;2594:17:0;;;::::1;::::0;;;::::1;::::0;;2338:281::o;13854:112::-;13904:21;;13896:62;;-1:-1:-1;;;;;13904:21:0;;;;13936;13896:62;;;;;13904:21;13896:62;13904:21;13896:62;13936:21;13904;13896:62;;;;;;;;;;;;;;;;;;;;;13854:112::o;14340:187::-;8128:10;;-1:-1:-1;;;;;8128:10:0;8114;:24;8092:114;;;;-1:-1:-1;;;8092:114:0;;9163:2:1;8092:114:0;;;9145:21:1;9202:2;9182:18;;;9175:30;9241:34;9221:18;;;9214:62;-1:-1:-1;;;9292:18:1;;;9285:38;9340:19;;8092:114:0;8961:404:1;8092:114:0;14437:82:::1;::::0;14400:12:::1;::::0;14445:10:::1;::::0;14469:21:::1;::::0;14400:12;14437:82;14400:12;14437:82;14469:21;14445:10;14437:82:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4753:226:::0;4873:7;4909:12;4901:6;;;;4893:29;;;;-1:-1:-1;;;4893:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4933:9:0;4945:5;4949:1;4945;:5;:::i;:::-;4933:17;4753:226;-1:-1:-1;;;;;4753:226:0:o;11085:981::-;11232:6;;11211:4;;11232:6;;11228:87;;;11262:41;11277:6;11285:9;11296:6;11262:14;:41::i;:::-;11255:48;;;;11228:87;-1:-1:-1;;;;;11330:22:0;;;;;;:14;:22;;;;;;;;11329:23;:53;;;;-1:-1:-1;;;;;;11357:25:0;;;;;;:14;:25;;;;;;;;11356:26;11329:53;11325:196;;;11404:11;;-1:-1:-1;;;11404:11:0;;;;11399:111;;-1:-1:-1;;;;;11444:25:0;;;;;;:14;:25;;;;;;;;11436:58;;;;-1:-1:-1;;;11436:58:0;;9915:2:1;11436:58:0;;;9897:21:1;9954:2;9934:18;;;9927:30;-1:-1:-1;;;9973:18:1;;;9966:50;10033:18;;11436:58:0;9713:344:1;11436:58:0;11546:16;:14;:16::i;:::-;11542:59;;;11579:10;:8;:10::i;:::-;11631:90;;;;;;;;;;;-1:-1:-1;;;11631:90:0;;;;;;;;-1:-1:-1;;;;;11631:17:0;;-1:-1:-1;11631:17:0;;;:9;:17;;;;;;;;:90;;11667:6;;11631:21;:90::i;:::-;-1:-1:-1;;;;;11611:17:0;;;;;;:9;:17;;;;;;;;:110;;;;11760:16;:24;;;;;;;;;:68;;-1:-1:-1;;;;;;11801:27:0;;;;;;:16;:27;;;;;;;;11760:68;11759:142;;11867:34;11875:6;11883;11891:9;11867:7;:34::i;:::-;11759:142;;;11845:6;11759:142;-1:-1:-1;;;;;11935:20:0;;;;;;:9;:20;;;;;;11734:167;;-1:-1:-1;11935:40:0;;11734:167;11935:24;:40::i;:::-;-1:-1:-1;;;;;11912:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11993:43;;;;;;-1:-1:-1;;;;;;;;;;;11993:43:0;;;12021:14;160:25:1;;148:2;133:18;;14:177;11993:43:0;;;;;;;;-1:-1:-1;12054:4:0;;11085:981;-1:-1:-1;;;;11085:981:0:o;4420:181::-;4478:7;;4510:5;4514:1;4510;:5;:::i;:::-;4498:17;;4539:1;4534;:6;;4526:46;;;;-1:-1:-1;;;4526:46:0;;10394:2:1;4526:46:0;;;10376:21:1;10433:2;10413:18;;;10406:30;-1:-1:-1;;;10452:18:1;;;10445:57;10519:18;;4526:46:0;10192:351:1;17162:242:0;17207:189;17235:33;17264:3;17235:24;17248:10;;17235:8;;:12;;:24;;;;:::i;:33::-;17290:34;17320:3;17290:25;17303:11;;17290:8;;:12;;:25;;;;:::i;:34::-;17346:38;17380:3;17346:29;17359:15;;17346:8;;:12;;:29;;;;:::i;:38::-;17207:189;;;10768:4:1;10756:17;;;10738:36;;10810:17;;;10805:2;10790:18;;10783:45;10864:17;;10844:18;;;10837:45;17207:189:0;;;;;;10726:2:1;17207:189:0;;;17162:242::o;4987:250::-;5045:7;5069:1;5074;5069:6;5065:47;;-1:-1:-1;5099:1:0;5092:8;;5065:47;5124:9;5136:5;5140:1;5136;:5;:::i;:::-;5124:17;-1:-1:-1;5169:1:0;5160:5;5164:1;5124:17;5160:5;:::i;:::-;:10;5152:56;;;;-1:-1:-1;;;5152:56:0;;11268:2:1;5152:56:0;;;11250:21:1;11307:2;11287:18;;;11280:30;11346:34;11326:18;;;11319:62;-1:-1:-1;;;11397:18:1;;;11390:31;11438:19;;5152:56:0;11066:397:1;5245:132:0;5303:7;5330:39;5334:1;5337;5330:39;;;;;;;;;;;;;-1:-1:-1;;;5330:39:0;;;:3;:39::i;4609:136::-;4667:7;4694:43;4698:1;4701;4694:43;;;;;;;;;;;;;;;;;:3;:43::i;12074:401::-;12238:90;;;;;;;;;;;-1:-1:-1;;;12238:90:0;;;;;;;;-1:-1:-1;;;;;12238:17:0;;12201:4;12238:17;;;:9;:17;;;;;;;:90;;12274:6;;12238:21;:90::i;:::-;-1:-1:-1;;;;;12218:17:0;;;;;;;:9;:17;;;;;;:110;;;;12362:20;;;;;;;:32;;12387:6;12362:24;:32::i;:::-;-1:-1:-1;;;;;12339:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12410:35;;;;;;-1:-1:-1;;;;;;;;;;;12410:35:0;;;12438:6;160:25:1;;148:2;133:18;;14:177;12410:35:0;;;;;;;;-1:-1:-1;12463:4:0;12074:401;;;;;:::o;13624:222::-;13724:4;;13673;;-1:-1:-1;;;;;13724:4:0;13710:10;:18;;;;:42;;-1:-1:-1;13746:6:0;;;;13745:7;13710:42;:70;;;;-1:-1:-1;13769:11:0;;-1:-1:-1;;;13769:11:0;;;;13710:70;:128;;;;-1:-1:-1;;13825:13:0;;13815:4;13797:24;;;;:9;:24;;;;;;:41;;;13624:222::o;15129:2025::-;7991:6;:13;;-1:-1:-1;;7991:13:0;8000:4;7991:13;;;15219:8:::1;::::0;15229:19:::1;::::0;7991:6;;15208:41:::1;::::0;:10:::1;:41::i;:::-;:86;;15282:12;;15208:86;;;15265:1;15208:86;15178:116;;15305:23;15331:101;15430:1;15331:80;15402:8;;15331:52;15363:19;15331:13;;:31;;:52;;;;:::i;:101::-;15305:127;;15443:20;15466:34;15484:15;15466:13;;:17;;:34;;;;:::i;:::-;15537:16;::::0;;15551:1:::1;15537:16:::0;;;;;::::1;::::0;;15443:57;;-1:-1:-1;15513:21:0::1;::::0;15537:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15537:16:0::1;15513:40;;15582:4;15564;15569:1;15564:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15564:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15608:4:::1;::::0;15598:7;;15608:4;::::1;::::0;15598;;15608;;15598:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15598:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15683:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15683:188:0;;15649:21:::1;::::0;15683:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15755:12;;15625:21:::1;::::0;15798:4;;15825::::1;::::0;15845:15:::1;::::0;15683:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15884:17;15904:40;15930:13;15904:21;:25;;:40;;;;:::i;:::-;15884:60:::0;-1:-1:-1;15957:19:0::1;15979:40;15992:26;:19:::0;16016:1:::1;15992:23;:26::i;:::-;15979:8;::::0;;:12:::1;:40::i;:::-;15957:62:::0;-1:-1:-1;16032:26:0::1;16061:100;16159:1;16061:79;15957:62:::0;16061:79;:9;16089:19;16061:27:::1;:48::i;:100::-;16032:129;;16172:26;16201:68;16247:11;16201:27;16215:12;;16201:9;:13;;:27;;;;:::i;:68::-;16172:97;;16280:24;16307:42;16337:11;16307:25;16321:10;;16307:9;:13;;:25;;;;:::i;:42::-;16280:69;;16360:20;16383:38;16409:11;16383:21;16397:6;;16383:9;:13;;:21;;;;:::i;:38::-;16464:20;::::0;16456:89:::1;::::0;16360:61;;-1:-1:-1;16435:15:0::1;::::0;-1:-1:-1;;;;;16464:20:0;;::::1;::::0;16512:18;;16435:15;16456:89;16435:15;16456:89;16512:18;16464:20;16456:89:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16581:14:0::1;::::0;16573:53:::1;::::0;16434:111;;-1:-1:-1;;;;;;16581:14:0::1;::::0;16609:12;;16573:53:::1;::::0;;;16609:12;16581:14;16573:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16662:18:0::1;::::0;16654:85:::1;::::0;16556:70;;-1:-1:-1;;;;;;16662:18:0::1;::::0;16708:16;;16654:85:::1;::::0;;;16708:16;16662:18;16654:85:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16765:5:0::1;::::0;-1:-1:-1;;16787:19:0;;;-1:-1:-1;16783:364:0::1;;16823:6;::::0;16997:21:::1;::::0;16823:244:::1;::::0;-1:-1:-1;;;16823:244:0;;16899:4:::1;16823:244;::::0;::::1;12926:34:1::0;12976:18;;;12969:34;;;16823:6:0::1;13019:18:1::0;;;13012:34;;;13062:18;;;13055:34;-1:-1:-1;;;;;16997:21:0;;::::1;13105:19:1::0;;;13098:44;17037:15:0::1;13158:19:1::0;;;13151:35;16823:6:0;::::1;::::0;:22:::1;::::0;16853:18;;12860:19:1;;16823:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17087:48:0::1;::::0;;13682:25:1;;;13738:2;13723:18;;13716:34;;;17087:48:0::1;::::0;-1:-1:-1;13655:18:1;17087:48:0::1;;;;;;;16783:364;-1:-1:-1::0;;8027:6:0;:14;;-1:-1:-1;;8027:14:0;;;-1:-1:-1;;;;;;;;;;15129:2025:0:o;12612:1004::-;12770:15;;12813:4;;12732:7;;12770:15;-1:-1:-1;;;;;12813:4:0;;;12800:17;;;;12796:144;;-1:-1:-1;12844:11:0;;12796:144;;;12887:4;;-1:-1:-1;;;;;12887:4:0;;;12877:14;;;;12873:67;;-1:-1:-1;12918:10:0;;12873:67;12952:17;12972:83;13024:14;;13041:3;13024:20;;;;:::i;:::-;12972:33;12997:7;12972:20;12983:8;;12972:6;:10;;:20;;;;:::i;:83::-;12952:103;;13066:18;13087:36;13114:8;;13087:22;13101:7;;13087:9;:13;;:22;;;;:::i;:36::-;13066:57;-1:-1:-1;13134:22:0;13159:25;:9;13066:57;13159:13;:25::i;:::-;13240:4;13222:24;;;;:9;:24;;;;;;13134:50;;-1:-1:-1;13222:44:0;;13134:50;13222:28;:44::i;:::-;13213:4;13195:24;;;;:9;:24;;;;;;:71;;;;13316:15;;-1:-1:-1;;;;;13316:15:0;13306:26;;;;:42;;13337:10;13306:30;:42::i;:::-;13287:15;;-1:-1:-1;;;;;13287:15:0;;;13277:26;;;;:9;:26;;;;;;;;;:71;;;;13364:47;160:25:1;;;13389:4:0;;13364:47;;;;-1:-1:-1;;;;;;;;;;;13364:47:0;133:18:1;13364:47:0;;;;;;;13428:14;;13424:144;;13474:12;;:28;;13491:10;13474:16;:28::i;:::-;13459:12;:43;13522:34;;160:25:1;;;5807:42:0;;-1:-1:-1;;;;;13522:34:0;;;-1:-1:-1;;;;;;;;;;;13522:34:0;148:2:1;133:18;13522:34:0;;;;;;;13424:144;13587:21;:6;13598:9;13587:10;:21::i;:::-;13580:28;12612:1004;-1:-1:-1;;;;;;;;12612:1004:0:o;5385:223::-;5505:7;5540:12;5533:5;5525:28;;;;-1:-1:-1;;;5525:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5564:9:0;5576:5;5580:1;5576;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;941:173::-;1009:20;;-1:-1:-1;;;;;1058:31:1;;1048:42;;1038:70;;1104:1;1101;1094:12;1038:70;941:173;;;:::o;1119:254::-;1187:6;1195;1248:2;1236:9;1227:7;1223:23;1219:32;1216:52;;;1264:1;1261;1254:12;1216:52;1287:29;1306:9;1287:29;:::i;:::-;1277:39;1363:2;1348:18;;;;1335:32;;-1:-1:-1;;;1119:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1711:523::-;1815:6;1823;1831;1839;1847;1855;1908:3;1896:9;1887:7;1883:23;1879:33;1876:53;;;1925:1;1922;1915:12;1876:53;-1:-1:-1;;1948:23:1;;;2018:2;2003:18;;1990:32;;-1:-1:-1;2069:2:1;2054:18;;2041:32;;2120:2;2105:18;;2092:32;;-1:-1:-1;2171:3:1;2156:19;;2143:33;;-1:-1:-1;2223:3:1;2208:19;2195:33;;-1:-1:-1;1711:523:1;-1:-1:-1;1711:523:1:o;2239:180::-;2298:6;2351:2;2339:9;2330:7;2326:23;2322:32;2319:52;;;2367:1;2364;2357:12;2319:52;-1:-1:-1;2390:23:1;;2239:180;-1:-1:-1;2239:180:1:o;2613:186::-;2672:6;2725:2;2713:9;2704:7;2700:23;2696:32;2693:52;;;2741:1;2738;2731:12;2693:52;2764:29;2783:9;2764:29;:::i;2804:484::-;2899:6;2907;2915;2923;2931;2984:3;2972:9;2963:7;2959:23;2955:33;2952:53;;;3001:1;2998;2991:12;2952:53;3024:29;3043:9;3024:29;:::i;:::-;3014:39;;3072:38;3106:2;3095:9;3091:18;3072:38;:::i;:::-;3062:48;;3129:38;3163:2;3152:9;3148:18;3129:38;:::i;:::-;3119:48;;3186:38;3220:2;3209:9;3205:18;3186:38;:::i;:::-;3176:48;;3243:39;3277:3;3266:9;3262:19;3243:39;:::i;:::-;3233:49;;2804:484;;;;;;;;:::o;3293:203::-;-1:-1:-1;;;;;3457:32:1;;;;3439:51;;3427:2;3412:18;;3293:203::o;3501:118::-;3587:5;3580:13;3573:21;3566:5;3563:32;3553:60;;3609:1;3606;3599:12;3624:750;3716:6;3724;3732;3785:2;3773:9;3764:7;3760:23;3756:32;3753:52;;;3801:1;3798;3791:12;3753:52;3841:9;3828:23;3870:18;3911:2;3903:6;3900:14;3897:34;;;3927:1;3924;3917:12;3897:34;3965:6;3954:9;3950:22;3940:32;;4010:7;4003:4;3999:2;3995:13;3991:27;3981:55;;4032:1;4029;4022:12;3981:55;4072:2;4059:16;4098:2;4090:6;4087:14;4084:34;;;4114:1;4111;4104:12;4084:34;4169:7;4162:4;4152:6;4149:1;4145:14;4141:2;4137:23;4133:34;4130:47;4127:67;;;4190:1;4187;4180:12;4127:67;4221:4;4213:13;;;;-1:-1:-1;4245:6:1;-1:-1:-1;;4286:20:1;;4273:34;4316:28;4273:34;4316:28;:::i;:::-;4363:5;4353:15;;;3624:750;;;;;:::o;4379:316::-;4456:6;4464;4472;4525:2;4513:9;4504:7;4500:23;4496:32;4493:52;;;4541:1;4538;4531:12;4493:52;-1:-1:-1;;4564:23:1;;;4634:2;4619:18;;4606:32;;-1:-1:-1;4685:2:1;4670:18;;;4657:32;;4379:316;-1:-1:-1;4379:316:1:o;4700:260::-;4768:6;4776;4829:2;4817:9;4808:7;4804:23;4800:32;4797:52;;;4845:1;4842;4835:12;4797:52;4868:29;4887:9;4868:29;:::i;:::-;4858:39;;4916:38;4950:2;4939:9;4935:18;4916:38;:::i;:::-;4906:48;;4700:260;;;;;:::o;4965:248::-;5033:6;5041;5094:2;5082:9;5073:7;5069:23;5065:32;5062:52;;;5110:1;5107;5100:12;5062:52;-1:-1:-1;;5133:23:1;;;5203:2;5188:18;;;5175:32;;-1:-1:-1;4965:248:1:o;5218:309::-;5283:6;5291;5344:2;5332:9;5323:7;5319:23;5315:32;5312:52;;;5360:1;5357;5350:12;5312:52;5399:9;5386:23;5418:28;5440:5;5418:28;:::i;5758:356::-;5960:2;5942:21;;;5979:18;;;5972:30;6038:34;6033:2;6018:18;;6011:62;6105:2;6090:18;;5758:356::o;6119:127::-;6180:10;6175:3;6171:20;6168:1;6161:31;6211:4;6208:1;6201:15;6235:4;6232:1;6225:15;6251:217;6291:1;6317;6307:132;;6361:10;6356:3;6352:20;6349:1;6342:31;6396:4;6393:1;6386:15;6424:4;6421:1;6414:15;6307:132;-1:-1:-1;6453:9:1;;6251:217::o;6831:184::-;6901:6;6954:2;6942:9;6933:7;6929:23;6925:32;6922:52;;;6970:1;6967;6960:12;6922:52;-1:-1:-1;6993:16:1;;6831:184;-1:-1:-1;6831:184:1:o;7020:274::-;-1:-1:-1;;;;;7212:32:1;;;;7194:51;;7276:2;7261:18;;7254:34;7182:2;7167:18;;7020:274::o;7299:245::-;7366:6;7419:2;7407:9;7398:7;7394:23;7390:32;7387:52;;;7435:1;7432;7425:12;7387:52;7467:9;7461:16;7486:28;7508:5;7486:28;:::i;8019:127::-;8080:10;8075:3;8071:20;8068:1;8061:31;8111:4;8108:1;8101:15;8135:4;8132:1;8125:15;8151:135;8190:3;8211:17;;;8208:43;;8231:18;;:::i;:::-;-1:-1:-1;8278:1:1;8267:13;;8151:135::o;9580:128::-;9647:9;;;9668:11;;;9665:37;;;9682:18;;:::i;10062:125::-;10127:9;;;10148:10;;;10145:36;;;10161:18;;:::i;10893:168::-;10966:9;;;10997;;11014:15;;;11008:22;;10994:37;10984:71;;11035:18;;:::i;11600:980::-;11862:4;11910:3;11899:9;11895:19;11941:6;11930:9;11923:25;11967:2;12005:6;12000:2;11989:9;11985:18;11978:34;12048:3;12043:2;12032:9;12028:18;12021:31;12072:6;12107;12101:13;12138:6;12130;12123:22;12176:3;12165:9;12161:19;12154:26;;12215:2;12207:6;12203:15;12189:29;;12236:1;12246:195;12260:6;12257:1;12254:13;12246:195;;;12325:13;;-1:-1:-1;;;;;12321:39:1;12309:52;;12416:15;;;;12381:12;;;;12357:1;12275:9;12246:195;;;-1:-1:-1;;;;;;;12497:32:1;;;;12492:2;12477:18;;12470:60;-1:-1:-1;;;12561:3:1;12546:19;12539:35;12458:3;11600:980;-1:-1:-1;;;11600:980:1:o;13197:306::-;13285:6;13293;13301;13354:2;13342:9;13333:7;13329:23;13325:32;13322:52;;;13370:1;13367;13360:12;13322:52;13399:9;13393:16;13383:26;;13449:2;13438:9;13434:18;13428:25;13418:35;;13493:2;13482:9;13478:18;13472:25;13462:35;;13197:306;;;;;:::o

Swarm Source

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