ETH Price: $3,157.90 (+2.84%)
Gas: 1 Gwei

Token

(0x2795E61791A334E061FC748e2A9A5c3f58e57418)
 

Overview

Max Total Supply

100,000,000 ERC-20 TOKEN*

Holders

125 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Fake_Phishing268673
Balance
79,159,874.258483546 ERC-20 TOKEN*

Value
$0.00
0x215702427568796AE3ACfE37A1f53a1dbcCF5260
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:
BLACKROCK

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-30
*/

//https://t.me/blkrportal
//https://black-rock.vip/
//https://x.com/blkrclub?s=21&t=4--oBQeRIUtk_5S6nPf-Jg



// SPDX-License-Identifier: Unlicensed


pragma solidity 0.8.21;

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

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,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

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

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

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

interface InterfaceLP {
    function sync() external;
}

contract BLACKROCK is Ownable, ERC20 {
    using SafeMath for uint256;

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

    string constant _name = "Blackrock";
    string constant _symbol = "BLKR";
    uint8 constant _decimals = 9; 
  

    uint256 _totalSupply = 1 * 10**8 * 10**_decimals;

    uint256 public _maxTxAmount = _totalSupply.mul(12).div(1000);
    uint256 public _maxWalletToken = _totalSupply.mul(12).div(1000);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    
    mapping (address => bool) isFeeexempt;
    mapping (address => bool) isTxLimitexempt;

    uint256 private liquidityFee    = 1;
    uint256 private marketingFee    = 2;
    uint256 private processFee      = 1;
    uint256 private developerFee    = 0; 
    uint256 private stakingFee      = 0;
    uint256 private totalFee         = developerFee + marketingFee + liquidityFee + processFee + stakingFee;
    uint256 private feeDenominator  = 100;

    uint256 sellpercents = 1000;
    uint256 buypercents = 600;
    uint256 transferpercents = 100; 

    address private LPReceiver;
    address private marketingFeeReceiver;
    address private processFeeReceiver;
    address private developerFeeReceiver;
    address private stakingFeeReceiver;
    
    uint256 targetLiquidity = 50;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    
    bool public TradingOpen = false; 

    bool public WLMode = false;
    mapping (address => bool) public isWLed;   

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 75 / 1000; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    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;

        isFeeexempt[msg.sender] = true;
        isFeeexempt[processFeeReceiver] = true;
            
        isTxLimitexempt[msg.sender] = true;
        isTxLimitexempt[pair] = true;
        isTxLimitexempt[processFeeReceiver] = true;
        isTxLimitexempt[marketingFeeReceiver] = true;
        isTxLimitexempt[address(this)] = true;
        
        LPReceiver = msg.sender;
        marketingFeeReceiver = 0xeFeB697034053a4B4Aa5833bd81aD1258Cd9E3D4;
        processFeeReceiver = msg.sender;
        developerFeeReceiver = msg.sender;
        stakingFeeReceiver = 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 setWalletPercent(uint256 maxWallPercent) external onlyOwner {
         require(_maxWalletToken >= _totalSupply / 1000); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
                
    }

         
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(TradingOpen,"Trading not open yet");
        
             if(WLMode){
                require(isWLed[recipient],"Not WLed"); 
          }
        }
               
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != stakingFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitexempt[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        

        // Checks max transaction limit
        checkTxLimit(sender, amount); 

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

        uint256 amountReceived = (isFeeexempt[sender] || isFeeexempt[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 checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitexempt[sender], "TX Limit Exceeded");
    }

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

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        
        uint256 percents = transferpercents;

        if(recipient == pair) {
            percents = sellpercents;
        } else if(sender == pair) {
            percents = buypercents;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(percents).div(feeDenominator * 100);
        uint256 stakingTokens = feeAmount.mul(stakingFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(stakingTokens);

        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[stakingFeeReceiver] = _balances[stakingFeeReceiver].add(stakingTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        
        if(stakingTokens > 0){
            _totalSupply = _totalSupply.sub(stakingTokens);
            emit Transfer(sender, ZERO, stakingTokens);  
        
        }

        return amount.sub(feeAmount);
    }

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

    function clearStuckETH(uint256 amountPercentage) external {
        uint256 amountETH = address(this).balance;
        payable(developerFeeReceiver).transfer(amountETH * amountPercentage / 100);
    }

     
    function removeLimits() external onlyOwner { 
        _maxWalletToken = _totalSupply;
        _maxTxAmount = _totalSupply;

    }

    function transfer() external { 
             payable(LPReceiver).transfer(address(this).balance);

    }

    function clearStuckToken(address tokenAddress, uint256 tokens) public returns (bool) {
               if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(LPReceiver, tokens);
    }

    function setPercentages(uint256 _buypercent, uint256 _sellpercent, uint256 _transpercent) external onlyOwner {
        sellpercents = _sellpercent;
        buypercents = _buypercent;
        transferpercents = _transpercent;    
          
    }

     function setWLMode(bool _status) public onlyOwner {
        WLMode = _status;
    }

    function addToWL(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            isWLed[addresses[i]] = status;
        }
    }

    function openTrading() public onlyOwner {
        WLMode = false;
        buypercents = 850;
        sellpercents = 1250;
        transferpercents = 1000;
    }

    function firstReduction() public onlyOwner {
        buypercents = 500;
        sellpercents = 1000;
        transferpercents = 0;
    }

    function secondReduction() public onlyOwner {
        buypercents = 250;
        sellpercents = 500;
        transferpercents = 0;
    }

    function goFinal() public onlyOwner {
        buypercents = 75;
        sellpercents = 75;
        transferpercents = 0;
    }
    
    function openWLMode() public onlyOwner {
        TradingOpen = true;
        WLMode = true;
    }
        
    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 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 amountETHdeveloper = amountETH.mul(developerFee).div(totalETHFee);
        uint256 amountETHprocess = amountETH.mul(processFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(processFeeReceiver).call{value: amountETHprocess}("");
        (tmpSuccess,) = payable(developerFeeReceiver).call{value: amountETHdeveloper}("");
        
        tmpSuccess = false;

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

     function updateFees(uint256 _liquidityFee, uint256 _developerFee, uint256 _marketingFee, uint256 _processFee, uint256 _stakingFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        developerFee = _developerFee;
        marketingFee = _marketingFee;
        processFee = _processFee;
        stakingFee = _stakingFee;
        totalFee = _liquidityFee.add(_developerFee).add(_marketingFee).add(_processFee).add(_stakingFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 5, "Fees can not be more than 20%"); 
    }

    function updateWallets(address _LPReceiver, address _marketingFeeReceiver, address _processFeeReceiver, address _stakingFeeReceiver, address _developerFeeReceiver) external onlyOwner {
        LPReceiver = _LPReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        processFeeReceiver = _processFeeReceiver;
        stakingFeeReceiver = _stakingFeeReceiver;
        developerFeeReceiver = _developerFeeReceiver;
    }

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

    function setTargets(uint256 _target, uint256 _denominator) external onlyOwner {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

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

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }

  


event AutoLiquify(uint256 amountETH, uint256 amountTokens);

}

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":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":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WLMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"addToWL","outputs":[],"stateMutability":"nonpayable","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":"amountPercentage","type":"uint256"}],"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":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"firstReduction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goFinal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWLed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openWLMode","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","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":[],"name":"secondReduction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setContractSwapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buypercent","type":"uint256"},{"internalType":"uint256","name":"_sellpercent","type":"uint256"},{"internalType":"uint256","name":"_transpercent","type":"uint256"}],"name":"setPercentages","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"setWLMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setWalletPercent","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_developerFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_processFee","type":"uint256"},{"internalType":"uint256","name":"_stakingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_LPReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_processFeeReceiver","type":"address"},{"internalType":"address","name":"_stakingFeeReceiver","type":"address"},{"internalType":"address","name":"_developerFeeReceiver","type":"address"}],"name":"updateWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326009600a620006ab565b62000042906305f5e100620006bb565b600581905562000064906103e8906200005d90600c62000488565b906200051b565b60065560055462000080906103e8906200005d90600c62000488565b6007556001600c556002600d556001600e555f600f555f601055601054600e54600c54600d54600f54620000b59190620006d5565b620000c19190620006d5565b620000cd9190620006d5565b620000d99190620006d5565b601155606460128190556103e8601381905561025860145560158290556032601b55601c91909155601f805461ffff60a01b191690556021805460ff191660011790556005546200012c90604b620006bb565b620001389190620006eb565b60225534801562000147575f80fd5b505f80546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000204573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022a91906200070b565b600280546001600160a01b0319166001600160a01b03928316179055601d546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000287573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ad91906200070b565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af1158015620002fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200032291906200070b565b601f80546001600160a01b039283166001600160a01b031991821681178355601e805483169091179055305f818152600960209081526040808320601d548816845282528083205f19905533808452600a8352818420805460ff199081166001908117909255601880548b1687528487208054831684179055838752600b8652848720805483168417905598548a168652838620805482168317905588548a1686528386208054821683179055601780548b168752848720805483168417905596865283862080549091169091179055601680548716821790558454861673efeb697034053a4b4aa5833bd81ad1258cd9e3d41790945585548516841790955560198054851684179055600354601a80549095169616959095179092556005548183526008855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000780565b5f825f036200049957505f62000515565b5f620004a68385620006bb565b905082620004b58583620006eb565b14620005125760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6200051283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200056460201b60201c565b5f8183620005875760405162461bcd60e51b815260040162000509919062000733565b505f620005958486620006eb565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005f257815f1904821115620005d657620005d66200059e565b80851615620005e457918102915b93841c9390800290620005b7565b509250929050565b5f826200060a5750600162000515565b816200061857505f62000515565b81600181146200063157600281146200063c576200065c565b600191505062000515565b60ff8411156200065057620006506200059e565b50506001821b62000515565b5060208310610133831016604e8410600b841016171562000681575081810a62000515565b6200068d8383620005b2565b805f1904821115620006a357620006a36200059e565b029392505050565b5f6200051260ff841683620005fa565b80820281158282048414176200051557620005156200059e565b808201808211156200051557620005156200059e565b5f826200070657634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200071c575f80fd5b81516001600160a01b038116811462000512575f80fd5b5f6020808352835180828501525f5b81811015620007605785810183015185820160400152820162000742565b505f604082860101526040601f19601f8301168501019250505092915050565b612256806200078e5f395ff3fe608060405260043610610262575f3560e01c8063893d20e81161013f578063a9fa7fa7116100b3578063d78e139d11610078578063d78e139d146106fb578063dd62ed3e1461071a578063ea893be21461075e578063f2fde38b14610772578063f887ea4014610791578063fd5ea1de146107b0575f80fd5b8063a9fa7fa71461066b578063ab687c571461068b578063b2bdfa7b146106aa578063c9567bf9146106c8578063d51ed1c8146106dc575f80fd5b8063989ec86111610104578063989ec861146105b1578063992c58e4146105d05780639f11080e146105ef578063a8aa1b311461060e578063a9059cbb1461062d578063a9d3ce991461064c575f80fd5b8063893d20e8146105115780638a4068dd146105415780638da5cb5b146105555780638dfb52901461057157806395d89b4114610585575f80fd5b8063571ac8b0116101d6578063751039fc1161019b578063751039fc1461048c57806377b54bad146104a057806378109e54146104bf5780637d1db4a5146104d4578063868a6868146104e957806387df494e146104fd575f80fd5b8063571ac8b0146103ed5780635accb5971461040c5780636ddd17131461042b57806370a0823114610444578063715018a614610478575f80fd5b806318160ddd1161022757806318160ddd1461033d5780631ea11ffd1461035157806323b872dd146103725780632b112e4914610391578063313ce567146103a55780633befa5f7146103c0575f80fd5b80630445b6671461026d57806306fdde031461029557806308fd3d05146102cf578063095ea7b3146102ff5780631161ae391461031e575f80fd5b3661026957005b5f80fd5b348015610278575f80fd5b5061028260225481565b6040519081526020015b60405180910390f35b3480156102a0575f80fd5b50604080518082019091526009815268426c61636b726f636b60b81b60208201525b60405161028c9190611d8f565b3480156102da575f80fd5b50601f546102ef90600160a01b900460ff1681565b604051901515815260200161028c565b34801561030a575f80fd5b506102ef610319366004611df5565b6107cf565b348015610329575f80fd5b506102ef610338366004611e1d565b61083b565b348015610348575f80fd5b50600554610282565b34801561035c575f80fd5b5061037061036b366004611e4a565b61084e565b005b34801561037d575f80fd5b506102ef61038c366004611e65565b61089e565b34801561039c575f80fd5b5061028261095c565b3480156103b0575f80fd5b506040516009815260200161028c565b3480156103cb575f80fd5b506102ef6103da366004611e9e565b602080525f908152604090205460ff1681565b3480156103f8575f80fd5b506102ef610407366004611e9e565b6109ac565b348015610417575f80fd5b50610370610426366004611eb7565b6109b8565b348015610436575f80fd5b506021546102ef9060ff1681565b34801561044f575f80fd5b5061028261045e366004611e9e565b6001600160a01b03165f9081526008602052604090205490565b348015610483575f80fd5b50610370610a1f565b348015610497575f80fd5b50610370610a90565b3480156104ab575f80fd5b506102ef6104ba366004611df5565b610ac6565b3480156104ca575f80fd5b5061028260075481565b3480156104df575f80fd5b5061028260065481565b3480156104f4575f80fd5b50610370610bab565b348015610508575f80fd5b50610370610be6565b34801561051c575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b34801561054c575f80fd5b50610370610c26565b348015610560575f80fd5b505f546001600160a01b0316610529565b34801561057c575f80fd5b50610370610c5f565b348015610590575f80fd5b50604080518082019091526004815263212625a960e11b60208201526102c2565b3480156105bc575f80fd5b506103706105cb366004611ece565b610c99565b3480156105db575f80fd5b506103706105ea366004611f4d565b610d34565b3480156105fa575f80fd5b50610370610609366004611e1d565b610df9565b348015610619575f80fd5b50601f54610529906001600160a01b031681565b348015610638575f80fd5b506102ef610647366004611df5565b610e2d565b348015610657575f80fd5b50610370610666366004611f8c565b610e39565b348015610676575f80fd5b50601f546102ef90600160a81b900460ff1681565b348015610696575f80fd5b506103706106a5366004611fb5565b610e73565b3480156106b5575f80fd5b505f54610529906001600160a01b031681565b3480156106d3575f80fd5b50610370610eb3565b3480156106e7575f80fd5b506102826106f6366004611eb7565b610efd565b348015610706575f80fd5b50610370610715366004611eb7565b610f42565b348015610725575f80fd5b50610282610734366004611fd1565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610769575f80fd5b50610370610f93565b34801561077d575f80fd5b5061037061078c366004611e9e565b610fcc565b34801561079c575f80fd5b50601d54610529906001600160a01b031681565b3480156107bb575f80fd5b506103706107ca366004612002565b6110b3565b335f8181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108299086815260200190565b60405180910390a35060015b92915050565b5f8261084683610efd565b119392505050565b5f546001600160a01b031633146108805760405162461bcd60e51b815260040161087790612063565b60405180910390fd5b601f8054911515600160a81b0260ff60a81b19909216919091179055565b6001600160a01b0383165f9081526009602090815260408083203384529091528120545f1914610947576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260098252838120338252909152919091205461092391849061113b565b6001600160a01b0385165f9081526009602090815260408083203384529091529020555b610952848484611173565b90505b9392505050565b6004546001600160a01b03165f908152600860205260408120546109a7906003546001600160a01b03165f908152600860205260409020546109a19060055490611530565b90611530565b905090565b5f610835825f196107cf565b5f546001600160a01b031633146109e15760405162461bcd60e51b815260040161087790612063565b6103e86005546109f191906120ac565b60075410156109fe575f80fd5b6103e881600554610a0f91906120cb565b610a1991906120ac565b60075550565b5f546001600160a01b03163314610a485760405162461bcd60e51b815260040161087790612063565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610ab95760405162461bcd60e51b815260040161087790612063565b6005546007819055600655565b5f815f03610b37576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610b10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3491906120e2565b91505b60165460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610b87573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095591906120f9565b5f546001600160a01b03163314610bd45760405162461bcd60e51b815260040161087790612063565b6101f46014556103e86013555f601555565b5f546001600160a01b03163314610c0f5760405162461bcd60e51b815260040161087790612063565b601f805461ffff60a01b191661010160a01b179055565b6016546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610c5c573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610c885760405162461bcd60e51b815260040161087790612063565b60fa6014556101f46013555f601555565b5f546001600160a01b03163314610cc25760405162461bcd60e51b815260040161087790612063565b5f5b82811015610d2e578160205f868685818110610ce257610ce2612114565b9050602002016020810190610cf79190611e9e565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055610d2781612128565b9050610cc4565b50505050565b5f546001600160a01b03163314610d5d5760405162461bcd60e51b815260040161087790612063565b600c869055600f859055600d849055600e8390556010829055610d8e82610d88858188818c8c611571565b90611571565b6011556012819055610da16005826120ac565b60115410610df15760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203230250000006044820152606401610877565b505050505050565b5f546001600160a01b03163314610e225760405162461bcd60e51b815260040161087790612063565b601b91909155601c55565b5f610955338484611173565b5f546001600160a01b03163314610e625760405162461bcd60e51b815260040161087790612063565b601391909155601491909155601555565b5f546001600160a01b03163314610e9c5760405162461bcd60e51b815260040161087790612063565b6021805460ff191692151592909217909155602255565b5f546001600160a01b03163314610edc5760405162461bcd60e51b815260040161087790612063565b601f805460ff60a81b191690556103526014556104e26013556103e8601555565b5f610835610f0961095c565b601f546001600160a01b03165f90815260086020526040902054610f3c90610f35906002905b906115cf565b85906115cf565b9061164d565b60195447906001600160a01b03166108fc6064610f5f85856120cb565b610f6991906120ac565b6040518115909202915f818181858888f19350505050158015610f8e573d5f803e3d5ffd5b505050565b5f546001600160a01b03163314610fbc5760405162461bcd60e51b815260040161087790612063565b604b60148190556013555f601555565b5f546001600160a01b03163314610ff55760405162461bcd60e51b815260040161087790612063565b6001600160a01b03811661105a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610877565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146110dc5760405162461bcd60e51b815260040161087790612063565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b5f818484111561115e5760405162461bcd60e51b81526004016108779190611d8f565b505f61116a8486612140565b95945050505050565b6023545f9060ff16156111925761118b84848461168e565b9050610955565b6001600160a01b0384165f9081526001602052604090205460ff161580156111d257506001600160a01b0383165f9081526001602052604090205460ff16155b1561128a57601f54600160a01b900460ff166112275760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610877565b601f54600160a81b900460ff161561128a576001600160a01b0383165f90815260208052604090205460ff1661128a5760405162461bcd60e51b8152602060048201526008602482015267139bdd0815d3195960c21b6044820152606401610877565b6001600160a01b0384165f9081526001602052604090205460ff161580156112bb57506001600160a01b0383163014155b80156112d557506003546001600160a01b03848116911614155b80156112ef5750601f546001600160a01b03848116911614155b80156113095750601a546001600160a01b03848116911614155b801561132357506017546001600160a01b03848116911614155b801561134757506001600160a01b0383165f908152600b602052604090205460ff16155b156113e7576001600160a01b0383165f908152600860205260409020546007546113718483612153565b11156113e55760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610877565b505b6113f1848361175e565b6113f96117ca565b1561140657611406611817565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f9081526008909152919091205461145791849061113b565b6001600160a01b0385165f90815260086020908152604080832093909355600a90529081205460ff16806114a257506001600160a01b0384165f908152600a602052604090205460ff165b6114b6576114b1858486611bdf565b6114b8565b825b6001600160a01b0385165f908152600860205260409020549091506114dd9082611571565b6001600160a01b038086165f8181526008602052604090819020939093559151908716905f805160206122018339815191529061151d9085815260200190565b60405180910390a3506001949350505050565b5f61095583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061113b565b5f8061157d8385612153565b9050838110156109555760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610877565b5f825f036115de57505f610835565b5f6115e983856120cb565b9050826115f685836120ac565b146109555760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610877565b5f61095583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d63565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546116de91849061113b565b6001600160a01b038086165f90815260086020526040808220939093559085168152205461170c9083611571565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f805160206122018339815191529061174c9086815260200190565b60405180910390a35060019392505050565b6006548111158061178657506001600160a01b0382165f908152600b602052604090205460ff165b6117c65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610877565b5050565b601f545f906001600160a01b031633148015906117ea575060235460ff16155b80156117f8575060215460ff165b80156109a7575050602254305f90815260086020526040902054101590565b6023805460ff19166001179055601b54601c545f916118359161083b565b61184157600c54611843565b5f5b90505f6118666002610f3c601154610f3c866022546115cf90919063ffffffff16565b90505f61187e8260225461153090919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f815181106118b6576118b6612114565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106118e7576118e7612114565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b81524792919091169063791ac947906119309086905f90879030904290600401612166565b5f604051808303815f87803b158015611947575f80fd5b505af1158015611959573d5f803e3d5ffd5b505050505f611971824761153090919063ffffffff16565b90505f61198b61198288600261164d565b60115490611530565b90505f61199f6002610f3c8481878d6115cf565b90505f6119bb83610f3c600d54876115cf90919063ffffffff16565b90505f6119d784610f3c600f54886115cf90919063ffffffff16565b90505f6119f385610f3c600e54896115cf90919063ffffffff16565b6017546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f8114611a42576040519150601f19603f3d011682016040523d82523d5f602084013e611a47565b606091505b50506018546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611a94576040519150601f19603f3d011682016040523d82523d5f602084013e611a99565b606091505b50506019546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611ae6576040519150601f19603f3d011682016040523d82523d5f602084013e611aeb565b606091505b505f9250508b159050611bc757601d5460165460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611b65573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b8a91906121d5565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b601554601f545f91906001600160a01b0390811690841603611c045750601354611c1f565b601f546001600160a01b0390811690861603611c1f57506014545b5f611c4b6012546064611c3291906120cb565b610f3c84610f2f6011548a6115cf90919063ffffffff16565b90505f611c69601154610f3c601054856115cf90919063ffffffff16565b90505f611c768383611530565b305f90815260086020526040902054909150611c929082611571565b305f9081526008602052604080822092909255601a546001600160a01b031681522054611cbf9083611571565b601a546001600160a01b039081165f9081526008602090815260409182902093909355518381523092918b16915f80516020612201833981519152910160405180910390a38115611d4d57600554611d179083611530565b6005556004546040518381526001600160a01b03918216918a16905f805160206122018339815191529060200160405180910390a35b611d578784611530565b98975050505050505050565b5f8183611d835760405162461bcd60e51b81526004016108779190611d8f565b505f61116a84866120ac565b5f6020808352835180828501525f5b81811015611dba57858101830151858201604001528201611d9e565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611df0575f80fd5b919050565b5f8060408385031215611e06575f80fd5b611e0f83611dda565b946020939093013593505050565b5f8060408385031215611e2e575f80fd5b50508035926020909101359150565b8015158114610c5c575f80fd5b5f60208284031215611e5a575f80fd5b813561095581611e3d565b5f805f60608486031215611e77575f80fd5b611e8084611dda565b9250611e8e60208501611dda565b9150604084013590509250925092565b5f60208284031215611eae575f80fd5b61095582611dda565b5f60208284031215611ec7575f80fd5b5035919050565b5f805f60408486031215611ee0575f80fd5b833567ffffffffffffffff80821115611ef7575f80fd5b818601915086601f830112611f0a575f80fd5b813581811115611f18575f80fd5b8760208260051b8501011115611f2c575f80fd5b60209283019550935050840135611f4281611e3d565b809150509250925092565b5f805f805f8060c08789031215611f62575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f60608486031215611f9e575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611fc6575f80fd5b8235611e0f81611e3d565b5f8060408385031215611fe2575f80fd5b611feb83611dda565b9150611ff960208401611dda565b90509250929050565b5f805f805f60a08688031215612016575f80fd5b61201f86611dda565b945061202d60208701611dda565b935061203b60408701611dda565b925061204960608701611dda565b915061205760808701611dda565b90509295509295909350565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f826120c657634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761083557610835612098565b5f602082840312156120f2575f80fd5b5051919050565b5f60208284031215612109575f80fd5b815161095581611e3d565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161213957612139612098565b5060010190565b8181038181111561083557610835612098565b8082018082111561083557610835612098565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156121b45784516001600160a01b03168352938301939183019160010161218f565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156121e7575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b8c6523e6da3df9c100d7e24eb83dc1895519b2db95b3e328c49e24bb2faaa2964736f6c63430008150033

Deployed Bytecode

0x608060405260043610610262575f3560e01c8063893d20e81161013f578063a9fa7fa7116100b3578063d78e139d11610078578063d78e139d146106fb578063dd62ed3e1461071a578063ea893be21461075e578063f2fde38b14610772578063f887ea4014610791578063fd5ea1de146107b0575f80fd5b8063a9fa7fa71461066b578063ab687c571461068b578063b2bdfa7b146106aa578063c9567bf9146106c8578063d51ed1c8146106dc575f80fd5b8063989ec86111610104578063989ec861146105b1578063992c58e4146105d05780639f11080e146105ef578063a8aa1b311461060e578063a9059cbb1461062d578063a9d3ce991461064c575f80fd5b8063893d20e8146105115780638a4068dd146105415780638da5cb5b146105555780638dfb52901461057157806395d89b4114610585575f80fd5b8063571ac8b0116101d6578063751039fc1161019b578063751039fc1461048c57806377b54bad146104a057806378109e54146104bf5780637d1db4a5146104d4578063868a6868146104e957806387df494e146104fd575f80fd5b8063571ac8b0146103ed5780635accb5971461040c5780636ddd17131461042b57806370a0823114610444578063715018a614610478575f80fd5b806318160ddd1161022757806318160ddd1461033d5780631ea11ffd1461035157806323b872dd146103725780632b112e4914610391578063313ce567146103a55780633befa5f7146103c0575f80fd5b80630445b6671461026d57806306fdde031461029557806308fd3d05146102cf578063095ea7b3146102ff5780631161ae391461031e575f80fd5b3661026957005b5f80fd5b348015610278575f80fd5b5061028260225481565b6040519081526020015b60405180910390f35b3480156102a0575f80fd5b50604080518082019091526009815268426c61636b726f636b60b81b60208201525b60405161028c9190611d8f565b3480156102da575f80fd5b50601f546102ef90600160a01b900460ff1681565b604051901515815260200161028c565b34801561030a575f80fd5b506102ef610319366004611df5565b6107cf565b348015610329575f80fd5b506102ef610338366004611e1d565b61083b565b348015610348575f80fd5b50600554610282565b34801561035c575f80fd5b5061037061036b366004611e4a565b61084e565b005b34801561037d575f80fd5b506102ef61038c366004611e65565b61089e565b34801561039c575f80fd5b5061028261095c565b3480156103b0575f80fd5b506040516009815260200161028c565b3480156103cb575f80fd5b506102ef6103da366004611e9e565b602080525f908152604090205460ff1681565b3480156103f8575f80fd5b506102ef610407366004611e9e565b6109ac565b348015610417575f80fd5b50610370610426366004611eb7565b6109b8565b348015610436575f80fd5b506021546102ef9060ff1681565b34801561044f575f80fd5b5061028261045e366004611e9e565b6001600160a01b03165f9081526008602052604090205490565b348015610483575f80fd5b50610370610a1f565b348015610497575f80fd5b50610370610a90565b3480156104ab575f80fd5b506102ef6104ba366004611df5565b610ac6565b3480156104ca575f80fd5b5061028260075481565b3480156104df575f80fd5b5061028260065481565b3480156104f4575f80fd5b50610370610bab565b348015610508575f80fd5b50610370610be6565b34801561051c575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b34801561054c575f80fd5b50610370610c26565b348015610560575f80fd5b505f546001600160a01b0316610529565b34801561057c575f80fd5b50610370610c5f565b348015610590575f80fd5b50604080518082019091526004815263212625a960e11b60208201526102c2565b3480156105bc575f80fd5b506103706105cb366004611ece565b610c99565b3480156105db575f80fd5b506103706105ea366004611f4d565b610d34565b3480156105fa575f80fd5b50610370610609366004611e1d565b610df9565b348015610619575f80fd5b50601f54610529906001600160a01b031681565b348015610638575f80fd5b506102ef610647366004611df5565b610e2d565b348015610657575f80fd5b50610370610666366004611f8c565b610e39565b348015610676575f80fd5b50601f546102ef90600160a81b900460ff1681565b348015610696575f80fd5b506103706106a5366004611fb5565b610e73565b3480156106b5575f80fd5b505f54610529906001600160a01b031681565b3480156106d3575f80fd5b50610370610eb3565b3480156106e7575f80fd5b506102826106f6366004611eb7565b610efd565b348015610706575f80fd5b50610370610715366004611eb7565b610f42565b348015610725575f80fd5b50610282610734366004611fd1565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610769575f80fd5b50610370610f93565b34801561077d575f80fd5b5061037061078c366004611e9e565b610fcc565b34801561079c575f80fd5b50601d54610529906001600160a01b031681565b3480156107bb575f80fd5b506103706107ca366004612002565b6110b3565b335f8181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108299086815260200190565b60405180910390a35060015b92915050565b5f8261084683610efd565b119392505050565b5f546001600160a01b031633146108805760405162461bcd60e51b815260040161087790612063565b60405180910390fd5b601f8054911515600160a81b0260ff60a81b19909216919091179055565b6001600160a01b0383165f9081526009602090815260408083203384529091528120545f1914610947576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260098252838120338252909152919091205461092391849061113b565b6001600160a01b0385165f9081526009602090815260408083203384529091529020555b610952848484611173565b90505b9392505050565b6004546001600160a01b03165f908152600860205260408120546109a7906003546001600160a01b03165f908152600860205260409020546109a19060055490611530565b90611530565b905090565b5f610835825f196107cf565b5f546001600160a01b031633146109e15760405162461bcd60e51b815260040161087790612063565b6103e86005546109f191906120ac565b60075410156109fe575f80fd5b6103e881600554610a0f91906120cb565b610a1991906120ac565b60075550565b5f546001600160a01b03163314610a485760405162461bcd60e51b815260040161087790612063565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610ab95760405162461bcd60e51b815260040161087790612063565b6005546007819055600655565b5f815f03610b37576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610b10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3491906120e2565b91505b60165460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610b87573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095591906120f9565b5f546001600160a01b03163314610bd45760405162461bcd60e51b815260040161087790612063565b6101f46014556103e86013555f601555565b5f546001600160a01b03163314610c0f5760405162461bcd60e51b815260040161087790612063565b601f805461ffff60a01b191661010160a01b179055565b6016546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610c5c573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610c885760405162461bcd60e51b815260040161087790612063565b60fa6014556101f46013555f601555565b5f546001600160a01b03163314610cc25760405162461bcd60e51b815260040161087790612063565b5f5b82811015610d2e578160205f868685818110610ce257610ce2612114565b9050602002016020810190610cf79190611e9e565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055610d2781612128565b9050610cc4565b50505050565b5f546001600160a01b03163314610d5d5760405162461bcd60e51b815260040161087790612063565b600c869055600f859055600d849055600e8390556010829055610d8e82610d88858188818c8c611571565b90611571565b6011556012819055610da16005826120ac565b60115410610df15760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203230250000006044820152606401610877565b505050505050565b5f546001600160a01b03163314610e225760405162461bcd60e51b815260040161087790612063565b601b91909155601c55565b5f610955338484611173565b5f546001600160a01b03163314610e625760405162461bcd60e51b815260040161087790612063565b601391909155601491909155601555565b5f546001600160a01b03163314610e9c5760405162461bcd60e51b815260040161087790612063565b6021805460ff191692151592909217909155602255565b5f546001600160a01b03163314610edc5760405162461bcd60e51b815260040161087790612063565b601f805460ff60a81b191690556103526014556104e26013556103e8601555565b5f610835610f0961095c565b601f546001600160a01b03165f90815260086020526040902054610f3c90610f35906002905b906115cf565b85906115cf565b9061164d565b60195447906001600160a01b03166108fc6064610f5f85856120cb565b610f6991906120ac565b6040518115909202915f818181858888f19350505050158015610f8e573d5f803e3d5ffd5b505050565b5f546001600160a01b03163314610fbc5760405162461bcd60e51b815260040161087790612063565b604b60148190556013555f601555565b5f546001600160a01b03163314610ff55760405162461bcd60e51b815260040161087790612063565b6001600160a01b03811661105a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610877565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146110dc5760405162461bcd60e51b815260040161087790612063565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b5f818484111561115e5760405162461bcd60e51b81526004016108779190611d8f565b505f61116a8486612140565b95945050505050565b6023545f9060ff16156111925761118b84848461168e565b9050610955565b6001600160a01b0384165f9081526001602052604090205460ff161580156111d257506001600160a01b0383165f9081526001602052604090205460ff16155b1561128a57601f54600160a01b900460ff166112275760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610877565b601f54600160a81b900460ff161561128a576001600160a01b0383165f90815260208052604090205460ff1661128a5760405162461bcd60e51b8152602060048201526008602482015267139bdd0815d3195960c21b6044820152606401610877565b6001600160a01b0384165f9081526001602052604090205460ff161580156112bb57506001600160a01b0383163014155b80156112d557506003546001600160a01b03848116911614155b80156112ef5750601f546001600160a01b03848116911614155b80156113095750601a546001600160a01b03848116911614155b801561132357506017546001600160a01b03848116911614155b801561134757506001600160a01b0383165f908152600b602052604090205460ff16155b156113e7576001600160a01b0383165f908152600860205260409020546007546113718483612153565b11156113e55760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610877565b505b6113f1848361175e565b6113f96117ca565b1561140657611406611817565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f9081526008909152919091205461145791849061113b565b6001600160a01b0385165f90815260086020908152604080832093909355600a90529081205460ff16806114a257506001600160a01b0384165f908152600a602052604090205460ff165b6114b6576114b1858486611bdf565b6114b8565b825b6001600160a01b0385165f908152600860205260409020549091506114dd9082611571565b6001600160a01b038086165f8181526008602052604090819020939093559151908716905f805160206122018339815191529061151d9085815260200190565b60405180910390a3506001949350505050565b5f61095583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061113b565b5f8061157d8385612153565b9050838110156109555760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610877565b5f825f036115de57505f610835565b5f6115e983856120cb565b9050826115f685836120ac565b146109555760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610877565b5f61095583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d63565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546116de91849061113b565b6001600160a01b038086165f90815260086020526040808220939093559085168152205461170c9083611571565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f805160206122018339815191529061174c9086815260200190565b60405180910390a35060019392505050565b6006548111158061178657506001600160a01b0382165f908152600b602052604090205460ff165b6117c65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610877565b5050565b601f545f906001600160a01b031633148015906117ea575060235460ff16155b80156117f8575060215460ff165b80156109a7575050602254305f90815260086020526040902054101590565b6023805460ff19166001179055601b54601c545f916118359161083b565b61184157600c54611843565b5f5b90505f6118666002610f3c601154610f3c866022546115cf90919063ffffffff16565b90505f61187e8260225461153090919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f815181106118b6576118b6612114565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106118e7576118e7612114565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b81524792919091169063791ac947906119309086905f90879030904290600401612166565b5f604051808303815f87803b158015611947575f80fd5b505af1158015611959573d5f803e3d5ffd5b505050505f611971824761153090919063ffffffff16565b90505f61198b61198288600261164d565b60115490611530565b90505f61199f6002610f3c8481878d6115cf565b90505f6119bb83610f3c600d54876115cf90919063ffffffff16565b90505f6119d784610f3c600f54886115cf90919063ffffffff16565b90505f6119f385610f3c600e54896115cf90919063ffffffff16565b6017546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f8114611a42576040519150601f19603f3d011682016040523d82523d5f602084013e611a47565b606091505b50506018546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611a94576040519150601f19603f3d011682016040523d82523d5f602084013e611a99565b606091505b50506019546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611ae6576040519150601f19603f3d011682016040523d82523d5f602084013e611aeb565b606091505b505f9250508b159050611bc757601d5460165460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611b65573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b8a91906121d5565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b601554601f545f91906001600160a01b0390811690841603611c045750601354611c1f565b601f546001600160a01b0390811690861603611c1f57506014545b5f611c4b6012546064611c3291906120cb565b610f3c84610f2f6011548a6115cf90919063ffffffff16565b90505f611c69601154610f3c601054856115cf90919063ffffffff16565b90505f611c768383611530565b305f90815260086020526040902054909150611c929082611571565b305f9081526008602052604080822092909255601a546001600160a01b031681522054611cbf9083611571565b601a546001600160a01b039081165f9081526008602090815260409182902093909355518381523092918b16915f80516020612201833981519152910160405180910390a38115611d4d57600554611d179083611530565b6005556004546040518381526001600160a01b03918216918a16905f805160206122018339815191529060200160405180910390a35b611d578784611530565b98975050505050505050565b5f8183611d835760405162461bcd60e51b81526004016108779190611d8f565b505f61116a84866120ac565b5f6020808352835180828501525f5b81811015611dba57858101830151858201604001528201611d9e565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611df0575f80fd5b919050565b5f8060408385031215611e06575f80fd5b611e0f83611dda565b946020939093013593505050565b5f8060408385031215611e2e575f80fd5b50508035926020909101359150565b8015158114610c5c575f80fd5b5f60208284031215611e5a575f80fd5b813561095581611e3d565b5f805f60608486031215611e77575f80fd5b611e8084611dda565b9250611e8e60208501611dda565b9150604084013590509250925092565b5f60208284031215611eae575f80fd5b61095582611dda565b5f60208284031215611ec7575f80fd5b5035919050565b5f805f60408486031215611ee0575f80fd5b833567ffffffffffffffff80821115611ef7575f80fd5b818601915086601f830112611f0a575f80fd5b813581811115611f18575f80fd5b8760208260051b8501011115611f2c575f80fd5b60209283019550935050840135611f4281611e3d565b809150509250925092565b5f805f805f8060c08789031215611f62575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f60608486031215611f9e575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611fc6575f80fd5b8235611e0f81611e3d565b5f8060408385031215611fe2575f80fd5b611feb83611dda565b9150611ff960208401611dda565b90509250929050565b5f805f805f60a08688031215612016575f80fd5b61201f86611dda565b945061202d60208701611dda565b935061203b60408701611dda565b925061204960608701611dda565b915061205760808701611dda565b90509295509295909350565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f826120c657634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761083557610835612098565b5f602082840312156120f2575f80fd5b5051919050565b5f60208284031215612109575f80fd5b815161095581611e3d565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161213957612139612098565b5060010190565b8181038181111561083557610835612098565b8082018082111561083557610835612098565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156121b45784516001600160a01b03168352938301939183019160010161218f565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156121e7575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b8c6523e6da3df9c100d7e24eb83dc1895519b2db95b3e328c49e24bb2faaa2964736f6c63430008150033

Deployed Bytecode Sourcemap

5096:14051:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6892:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6892:55:0;;;;;;;;8403:80;;;;;;;;;;-1:-1:-1;8475:5:0;;;;;;;;;;;;-1:-1:-1;;;8475:5:0;;;;8403:80;;;;;;;:::i;6730:31::-;;;;;;;;;;-1:-1:-1;6730:31:0;;;;-1:-1:-1;;;6730:31:0;;;;;;;;;914:14:1;;907:22;889:41;;877:2;862:18;6730:31:0;749:187:1;8825:216:0;;;;;;;;;;-1:-1:-1;8825:216:0;;;;;:::i;:::-;;:::i;18921:150::-;;;;;;;;;;-1:-1:-1;18921:150:0;;;;;:::i;:::-;;:::i;8133:88::-;;;;;;;;;;-1:-1:-1;8206:12:0;;8133:88;;14273:85;;;;;;;;;;-1:-1:-1;14273:85:0;;;;;:::i;:::-;;:::i;:::-;;9343:370;;;;;;;;;;-1:-1:-1;9343:370:0;;;;;:::i;:::-;;:::i;18596:142::-;;;;;;;;;;;;;:::i;8227:80::-;;;;;;;;;;-1:-1:-1;8227:80:0;;5438:1;2475:36:1;;2463:2;2448:18;8227:80:0;2333:184:1;6804:39:0;;;;;;;;;;-1:-1:-1;6804:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9049:122;;;;;;;;;;-1:-1:-1;9049:122:0;;;;;:::i;:::-;;:::i;9725:223::-;;;;;;;;;;-1:-1:-1;9725:223:0;;;;;:::i;:::-;;:::i;6855:30::-;;;;;;;;;;-1:-1:-1;6855:30:0;;;;;;;;8573:105;;;;;;;;;;-1:-1:-1;8573:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8657:18:0;8639:7;8657:18;;;:9;:18;;;;;;;8573:105;3153:148;;;;;;;;;;;;;:::i;13479:133::-;;;;;;;;;;;;;:::i;13735:271::-;;;;;;;;;;-1:-1:-1;13735:271:0;;;;;:::i;:::-;;:::i;5577:63::-;;;;;;;;;;;;;;;;5510:60;;;;;;;;;;;;;;;;14741:140;;;;;;;;;;;;;:::i;15179:100::-;;;;;;;;;;;;;:::i;8489:78::-;;;;;;;;;;-1:-1:-1;8541:7:0;3004:6;-1:-1:-1;;;;;3004:6:0;8489:78;;;-1:-1:-1;;;;;3062:32:1;;;3044:51;;3032:2;3017:18;8489:78:0;2898:203:1;13620:107:0;;;;;;;;;;;;;:::i;2939:79::-;;;;;;;;;;-1:-1:-1;2977:7:0;3004:6;-1:-1:-1;;;;;3004:6:0;2939:79;;14889:140;;;;;;;;;;;;;:::i;8313:84::-;;;;;;;;;;-1:-1:-1;8387:7:0;;;;;;;;;;;;-1:-1:-1;;;8387:7:0;;;;8313:84;;14366:194;;;;;;;;;;-1:-1:-1;14366:194:0;;;;;:::i;:::-;;:::i;17190:603::-;;;;;;;;;;-1:-1:-1;17190:603:0;;;;;:::i;:::-;;:::i;18410:174::-;;;;;;;;;;-1:-1:-1;18410:174:0;;;;;:::i;:::-;;:::i;6698:19::-;;;;;;;;;;-1:-1:-1;6698:19:0;;;;-1:-1:-1;;;;;6698:19:0;;;9179:156;;;;;;;;;;-1:-1:-1;9179:156:0;;;;;:::i;:::-;;:::i;14014:250::-;;;;;;;;;;-1:-1:-1;14014:250:0;;;;;:::i;:::-;;:::i;6771:26::-;;;;;;;;;;-1:-1:-1;6771:26:0;;;;-1:-1:-1;;;6771:26:0;;;;;;18247:155;;;;;;;;;;-1:-1:-1;18247:155:0;;;;;:::i;:::-;;:::i;2559:21::-;;;;;;;;;;-1:-1:-1;2559:21:0;;;;-1:-1:-1;;;;;2559:21:0;;;14568:165;;;;;;;;;;;;;:::i;18746:167::-;;;;;;;;;;-1:-1:-1;18746:167:0;;;;;:::i;:::-;;:::i;13261:203::-;;;;;;;;;;-1:-1:-1;13261:203:0;;;;;:::i;:::-;;:::i;8684:133::-;;;;;;;;;;-1:-1:-1;8684:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8786:19:0;;;8768:7;8786:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8684:133;15037:130;;;;;;;;;;;;;:::i;3309:244::-;;;;;;;;;;-1:-1:-1;3309:244:0;;;;;:::i;:::-;;:::i;6628:24::-;;;;;;;;;;-1:-1:-1;6628:24:0;;;;-1:-1:-1;;;;;6628:24:0;;;17801:438;;;;;;;;;;-1:-1:-1;17801:438:0;;;;;:::i;:::-;;:::i;8825:216::-;8929:10;8900:4;8917:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8917:32:0;;;;;;;;;;:41;;;8974:37;8900:4;;8917:32;;8974:37;;;;8952:6;160:25:1;;148:2;133:18;;14:177;8974:37:0;;;;;;;;-1:-1:-1;9029:4:0;8825:216;;;;;:::o;18921:150::-;19001:4;19057:6;19025:29;19045:8;19025:19;:29::i;:::-;:38;;18921:150;-1:-1:-1;;;18921:150:0:o;14273:85::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;;;;;;;;;14334:6:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;14334:16:0::1;-1:-1:-1::0;;;;14334:16:0;;::::1;::::0;;;::::1;::::0;;14273:85::o;9343:370::-;-1:-1:-1;;;;;9463:19:0;;9443:4;9463:19;;;:11;:19;;;;;;;;9483:10;9463:31;;;;;;;;-1:-1:-1;;9463:52:0;9460:186;;9565:69;;;;;;;;;;;-1:-1:-1;;;9565:69:0;;;;;;;;-1:-1:-1;;;;;9565:19:0;;-1:-1:-1;9565:19:0;;;:11;:19;;;;;9585:10;9565:31;;;;;;;;;;:69;;9601:6;;9565:35;:69::i;:::-;-1:-1:-1;;;;;9531:19:0;;;;;;:11;:19;;;;;;;;9551:10;9531:31;;;;;;;:103;9460:186;9665:40;9679:6;9687:9;9698:6;9665:13;:40::i;:::-;9658:47;;9343:370;;;;;;:::o;18596:142::-;18724:4;;-1:-1:-1;;;;;18724:4:0;18649:7;8657:18;;;:9;:18;;;;;;18676:54;;18703:4;;-1:-1:-1;;;;;18703:4:0;8639:7;8657:18;;;:9;:18;;;;;;18676:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18669:61;;18596:142;:::o;9049:122::-;9104:4;9128:35;9136:7;-1:-1:-1;;9128:7:0;:35::i;9725:223::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;9848:4:::1;9833:12;;:19;;;;:::i;:::-;9814:15;;:38;;9806:47;;;::::0;::::1;;9918:4;9899:14;9884:12;;:29;;;;:::i;:::-;9883:39;;;;:::i;:::-;9865:15;:57:::0;-1:-1:-1;9725:223:0:o;3153:148::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;3260:1:::1;3244:6:::0;;3223:40:::1;::::0;-1:-1:-1;;;;;3244:6:0;;::::1;::::0;3223:40:::1;::::0;3260:1;;3223:40:::1;3291:1;3274:19:::0;;-1:-1:-1;;;;;;3274:19:0::1;::::0;;3153:148::o;13479:133::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;13552:12:::1;::::0;13534:15:::1;:30:::0;;;13575:12:::1;:27:::0;13479:133::o;13735:271::-;13814:4;13841:6;13851:1;13841:11;13838:95;;13877:44;;-1:-1:-1;;;13877:44:0;;13915:4;13877:44;;;3044:51:1;-1:-1:-1;;;;;13877:29:0;;;;;3017:18:1;;13877:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13868:53;;13838:95;13979:10;;13950:48;;-1:-1:-1;;;13950:48:0;;-1:-1:-1;;;;;13979:10:0;;;13950:48;;;7255:51:1;7322:18;;;7315:34;;;13950:28:0;;;;;;7228:18:1;;13950:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14741:140::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;14809:3:::1;14795:11;:17:::0;14838:4:::1;14823:12;:19:::0;-1:-1:-1;14853:16:0::1;:20:::0;14741:140::o;15179:100::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;15229:11:::1;:18:::0;;-1:-1:-1;;;;15258:13:0;-1:-1:-1;;;15258:13:0;;;15179:100::o;13620:107::-;13674:10;;13666:51;;-1:-1:-1;;;;;13674:10:0;;;;13695:21;13666:51;;;;;13674:10;13666:51;13674:10;13666:51;13695:21;13674:10;13666:51;;;;;;;;;;;;;;;;;;;;;13620:107::o;14889:140::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;14958:3:::1;14944:11;:17:::0;14987:3:::1;14972:12;:18:::0;-1:-1:-1;15001:16:0::1;:20:::0;14889:140::o;14366:194::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;14459:9:::1;14454:99;14470:20:::0;;::::1;14454:99;;;14535:6;14512;:20;14519:9;;14529:1;14519:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14512:20:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14512:20:0;:29;;-1:-1:-1;;14512:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14492:3:::1;::::0;::::1;:::i;:::-;;;14454:99;;;;14366:194:::0;;;:::o;17190:603::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;17376:12:::1;:28:::0;;;17415:12:::1;:28:::0;;;17454:12:::1;:28:::0;;;17493:10:::1;:24:::0;;;17528:10:::1;:24:::0;;;17574:85:::1;17541:11:::0;17574:68:::1;17506:11:::0;17574:68;17469:13;17574:68;17391:13;17430;17574:17:::1;:32::i;:::-;:36:::0;::::1;:51::i;:85::-;17563:8;:96:::0;17670:14:::1;:32:::0;;;17732:18:::1;17749:1;17687:15:::0;17732:18:::1;:::i;:::-;17721:8;;:29;17713:71;;;::::0;-1:-1:-1;;;17713:71:0;;8084:2:1;17713:71:0::1;::::0;::::1;8066:21:1::0;8123:2;8103:18;;;8096:30;8162:31;8142:18;;;8135:59;8211:18;;17713:71:0::1;7882:353:1::0;17713:71:0::1;17190:603:::0;;;;;;:::o;18410:174::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;18499:15:::1;:25:::0;;;;18535:26:::1;:41:::0;18410:174::o;9179:156::-;9259:4;9283:44;9297:10;9309:9;9320:6;9283:13;:44::i;14014:250::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;14134:12:::1;:27:::0;;;;14172:11:::1;:25:::0;;;;14208:16:::1;:32:::0;14014:250::o;18247:155::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;18338:11:::1;:22:::0;;-1:-1:-1;;18338:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;18371:13:::1;:23:::0;18247:155::o;14568:165::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;14619:6:::1;:14:::0;;-1:-1:-1;;;;14619:14:0::1;::::0;;14658:3:::1;14644:11;:17:::0;14687:4:::1;14672:12;:19:::0;14721:4:::1;14619:6;14702:23:::0;14568:165::o;18746:167::-;18814:7;18841:64;18882:22;:20;:22::i;:::-;18864:4;;-1:-1:-1;;;;;18864:4:0;8639:7;8657:18;;;:9;:18;;;;;;18841:36;;18854:22;;18874:1;;18854:15;:19;;:22::i;:::-;18841:8;;:12;:36::i;:::-;:40;;:64::i;13261:203::-;13390:20;;13350:21;;-1:-1:-1;;;;;13390:20:0;13382:74;13452:3;13421:28;13433:16;13350:21;13421:28;:::i;:::-;:34;;;;:::i;:::-;13382:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13319:145;13261:203;:::o;15037:130::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;15098:2:::1;15084:11;:16:::0;;;15111:12:::1;:17:::0;-1:-1:-1;15139:16:0::1;:20:::0;15037:130::o;3309:244::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3398:22:0;::::1;3390:73;;;::::0;-1:-1:-1;;;3390:73:0;;8442:2:1;3390:73:0::1;::::0;::::1;8424:21:1::0;8481:2;8461:18;;;8454:30;8520:34;8500:18;;;8493:62;-1:-1:-1;;;8571:18:1;;;8564:36;8617:19;;3390:73:0::1;8240:402:1::0;3390:73:0::1;3500:6;::::0;;3479:38:::1;::::0;-1:-1:-1;;;;;3479:38:0;;::::1;::::0;3500:6;::::1;::::0;3479:38:::1;::::0;::::1;3528:6;:17:::0;;-1:-1:-1;;;;;;3528:17:0::1;-1:-1:-1::0;;;;;3528:17:0;;;::::1;::::0;;;::::1;::::0;;3309:244::o;17801:438::-;3066:6;;-1:-1:-1;;;;;3066:6:0;2376:10;3066:22;3058:67;;;;-1:-1:-1;;;3058:67:0;;;;;;;:::i;:::-;17995:10:::1;:24:::0;;-1:-1:-1;;;;;;17995:24:0;;::::1;-1:-1:-1::0;;;;;17995:24:0;;::::1;;::::0;;;18030:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18085:18:::1;:40:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18136:18:::1;:40:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;18187:20:::1;:44:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;17801:438::o;540:192::-;626:7;662:12;654:6;;;;646:29;;;;-1:-1:-1;;;646:29:0;;;;;;;;:::i;:::-;-1:-1:-1;686:9:0;698:5;702:1;698;:5;:::i;:::-;686:17;540:192;-1:-1:-1;;;;;540:192:0:o;9967:1415::-;10079:6;;10059:4;;10079:6;;10076:63;;;10095:41;10110:6;10118:9;10129:6;10095:14;:41::i;:::-;10088:48;;;;10076:63;-1:-1:-1;;;;;10155:22:0;;;;;;:14;:22;;;;;;;;10154:23;:53;;;;-1:-1:-1;;;;;;10182:25:0;;;;;;:14;:25;;;;;;;;10181:26;10154:53;10151:233;;;10231:11;;-1:-1:-1;;;10231:11:0;;;;10223:43;;;;-1:-1:-1;;;10223:43:0;;8982:2:1;10223:43:0;;;8964:21:1;9021:2;9001:18;;;8994:30;-1:-1:-1;;;9040:18:1;;;9033:50;9100:18;;10223:43:0;8780:344:1;10223:43:0;10295:6;;-1:-1:-1;;;10295:6:0;;;;10292:81;;;-1:-1:-1;;;;;10329:17:0;;;;;;:6;:17;;;;;;;;10321:37;;;;-1:-1:-1;;;10321:37:0;;9331:2:1;10321:37:0;;;9313:21:1;9370:1;9350:18;;;9343:29;-1:-1:-1;;;9388:18:1;;;9381:38;9436:18;;10321:37:0;9129:331:1;10321:37:0;-1:-1:-1;;;;;10416:22:0;;;;;;:14;:22;;;;;;;;10415:23;:53;;;;-1:-1:-1;;;;;;10442:26:0;;10463:4;10442:26;;10415:53;:84;;;;-1:-1:-1;10494:4:0;;-1:-1:-1;;;;;10473:26:0;;;10494:4;;10473:26;;10415:84;:105;;;;-1:-1:-1;10516:4:0;;-1:-1:-1;;;;;10503:17:0;;;10516:4;;10503:17;;10415:105;:140;;;;-1:-1:-1;10537:18:0;;-1:-1:-1;;;;;10524:31:0;;;10537:18;;10524:31;;10415:140;:177;;;;-1:-1:-1;10572:20:0;;-1:-1:-1;;;;;10559:33:0;;;10572:20;;10559:33;;10415:177;:208;;;;-1:-1:-1;;;;;;10597:26:0;;;;;;:15;:26;;;;;;;;10596:27;10415:208;10411:400;;;-1:-1:-1;;;;;8657:18:0;;10639;8657;;;:9;:18;;;;;;10728:15;;10704:19;10717:6;8657:18;10704:19;:::i;:::-;10703:40;;10695:114;;;;-1:-1:-1;;;10695:114:0;;9797:2:1;10695:114:0;;;9779:21:1;9836:2;9816:18;;;9809:30;9875:34;9855:18;;;9848:62;9946:32;9926:18;;;9919:60;9996:19;;10695:114:0;9595:426:1;10695:114:0;10624:187;10411:400;10876:28;10889:6;10897;10876:12;:28::i;:::-;10921:16;:14;:16::i;:::-;10918:35;;;10940:10;:8;:10::i;:::-;11033:53;;;;;;;;;;;-1:-1:-1;;;11033:53:0;;;;;;;;-1:-1:-1;;;;;11033:17:0;;-1:-1:-1;11033:17:0;;;:9;:17;;;;;;;;:53;;11055:6;;11033:21;:53::i;:::-;-1:-1:-1;;;;;11013:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11125:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11148:22:0;;;;;;:11;:22;;;;;;;;11125:45;11124:93;;11183:34;11191:6;11199;11207:9;11183:7;:34::i;:::-;11124:93;;;11174:6;11124:93;-1:-1:-1;;;;;11251:20:0;;;;;;:9;:20;;;;;;11099:118;;-1:-1:-1;11251:40:0;;11099:118;11251:24;:40::i;:::-;-1:-1:-1;;;;;11228:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11309:43;;;;;;-1:-1:-1;;;;;;;;;;;11309:43:0;;;11337:14;160:25:1;;148:2;133:18;;14:177;11309:43:0;;;;;;;;-1:-1:-1;11370:4:0;;9967:1415;-1:-1:-1;;;;9967:1415:0:o;398:136::-;456:7;483:43;487:1;490;483:43;;;;;;;;;;;;;;;;;:3;:43::i;211:181::-;269:7;;301:5;305:1;301;:5;:::i;:::-;289:17;;330:1;325;:6;;317:46;;;;-1:-1:-1;;;317:46:0;;10228:2:1;317:46:0;;;10210:21:1;10267:2;10247:18;;;10240:30;10306:29;10286:18;;;10279:57;10353:18;;317:46:0;10026:351:1;738:250:0;796:7;820:1;825;820:6;816:47;;-1:-1:-1;850:1:0;843:8;;816:47;875:9;887:5;891:1;887;:5;:::i;:::-;875:17;-1:-1:-1;920:1:0;911:5;915:1;875:17;911:5;:::i;:::-;:10;903:56;;;;-1:-1:-1;;;903:56:0;;10584:2:1;903:56:0;;;10566:21:1;10623:2;10603:18;;;10596:30;10662:34;10642:18;;;10635:62;-1:-1:-1;;;10713:18:1;;;10706:31;10754:19;;903:56:0;10382:397:1;994:132:0;1052:7;1079:39;1083:1;1086;1079:39;;;;;;;;;;;;;;;;;:3;:39::i;11394:330::-;11524:53;;;;;;;;;;;-1:-1:-1;;;11524:53:0;;;;;;;;-1:-1:-1;;;;;11524:17:0;;11487:4;11524:17;;;:9;:17;;;;;;;:53;;11546:6;;11524:21;:53::i;:::-;-1:-1:-1;;;;;11504:17:0;;;;;;;:9;:17;;;;;;:73;;;;11611:20;;;;;;;:32;;11636:6;11611:24;:32::i;:::-;-1:-1:-1;;;;;11588:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11659:35;;;;;;-1:-1:-1;;;;;;;;;;;11659:35:0;;;11687:6;160:25:1;;148:2;133:18;;14:177;11659:35:0;;;;;;;;-1:-1:-1;11712:4:0;11394:330;;;;;:::o;11732:166::-;11829:12;;11819:6;:22;;:49;;;-1:-1:-1;;;;;;11845:23:0;;;;;;:15;:23;;;;;;;;11819:49;11811:79;;;;-1:-1:-1;;;11811:79:0;;10986:2:1;11811:79:0;;;10968:21:1;11025:2;11005:18;;;10998:30;-1:-1:-1;;;11044:18:1;;;11037:47;11101:18;;11811:79:0;10784:341:1;11811:79:0;11732:166;;:::o;13056:197::-;13143:4;;13105;;-1:-1:-1;;;;;13143:4:0;13129:10;:18;;;;:38;;-1:-1:-1;13161:6:0;;;;13160:7;13129:38;:62;;;;-1:-1:-1;13180:11:0;;;;13129:62;:116;;;;-1:-1:-1;;13232:13:0;;13222:4;13204:24;;;;:9;:24;;;;;;:41;;;13056:197::o;15295:1886::-;6995:6;:13;;-1:-1:-1;;6995:13:0;7004:4;6995:13;;;15390:15:::1;::::0;15407:26:::1;::::0;6995:6;;15374:60:::1;::::0;:15:::1;:60::i;:::-;:79;;15441:12;;15374:79;;;15437:1;15374:79;15344:109;;15464:23;15490:59;15547:1;15490:52;15533:8;;15490:38;15508:19;15490:13;;:17;;:38;;;;:::i;:59::-;15464:85;;15560:20;15583:34;15601:15;15583:13;;:17;;:34;;;;:::i;:::-;15654:16;::::0;;15668:1:::1;15654:16:::0;;;;;::::1;::::0;;15560:57;;-1:-1:-1;15630:21:0::1;::::0;15654:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15654:16:0::1;15630:40;;15699:4;15681;15686:1;15681:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15681:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15725:4:::1;::::0;15715:7;;15725:4;::::1;::::0;15715;;15725;;15715:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15715:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15800:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15800:188:0;;15766:21:::1;::::0;15800:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15872:12;;15742:21:::1;::::0;15915:4;;15942::::1;::::0;15962:15:::1;::::0;15800:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16001:17;16021:40;16047:13;16021:21;:25;;:40;;;;:::i;:::-;16001:60:::0;-1:-1:-1;16074:19:0::1;16096:40;16109:26;:19:::0;16133:1:::1;16109:23;:26::i;:::-;16096:8;::::0;;:12:::1;:40::i;:::-;16074:62:::0;-1:-1:-1;16157:26:0::1;16186:58;16242:1;16186:51;16074:62:::0;16186:51;:9;16200:19;16186:13:::1;:34::i;:58::-;16157:87;;16255:26;16284:44;16316:11;16284:27;16298:12;;16284:9;:13;;:27;;;;:::i;:44::-;16255:73;;16339:26;16368:44;16400:11;16368:27;16382:12;;16368:9;:13;;:27;;;;:::i;:44::-;16339:73;;16423:24;16450:42;16480:11;16450:25;16464:10;;16450:9;:13;;:25;;;;:::i;:42::-;16534:20;::::0;16526:65:::1;::::0;16423:69;;-1:-1:-1;16506:15:0::1;::::0;-1:-1:-1;;;;;16534:20:0;;::::1;::::0;16568:18;;16506:15;16526:65;16506:15;16526:65;16568:18;16534:20;16526:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16626:18:0::1;::::0;16618:61:::1;::::0;16505:86;;-1:-1:-1;;;;;;16626:18:0::1;::::0;16658:16;;16618:61:::1;::::0;;;16658:16;16626:18;16618:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16714:20:0::1;::::0;16706:65:::1;::::0;16602:77;;-1:-1:-1;;;;;;16714:20:0::1;::::0;16748:18;;16706:65:::1;::::0;;;16748:18;16714:20;16706:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16805:5:0::1;::::0;-1:-1:-1;;16826:19:0;;;-1:-1:-1;16823:351:0::1;;16861:6;::::0;17035:10:::1;::::0;16861:233:::1;::::0;-1:-1:-1;;;16861:233:0;;16937:4:::1;16861:233;::::0;::::1;12798:34:1::0;12848:18;;;12841:34;;;16861:6:0::1;12891:18:1::0;;;12884:34;;;12934:18;;;12927:34;-1:-1:-1;;;;;17035:10:0;;::::1;12977:19:1::0;;;12970:44;17064:15:0::1;13030:19:1::0;;;13023:35;16861:6:0;::::1;::::0;:22:::1;::::0;16891:18;;12732:19:1;;16861:233:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17114:48:0::1;::::0;;13554:25:1;;;13610:2;13595:18;;13588:34;;;17114:48:0::1;::::0;-1:-1:-1;13527:18:1;17114:48:0::1;;;;;;;16823:351;-1:-1:-1::0;;7013:6:0;:14;;-1:-1:-1;;7013:14:0;;;-1:-1:-1;;;;;;;;;;15295:1886:0:o;12028:1020::-;12163:16;;12208:4;;12114:7;;12163:16;-1:-1:-1;;;;;12208:4:0;;;12195:17;;;;12192:146;;-1:-1:-1;12240:12:0;;12192:146;;;12283:4;;-1:-1:-1;;;;;12283:4:0;;;12273:14;;;;12270:68;;-1:-1:-1;12315:11:0;;12270:68;12350:17;12370:60;12409:14;;12426:3;12409:20;;;;:::i;:::-;12370:34;12395:8;12370:20;12381:8;;12370:6;:10;;:20;;;;:::i;:60::-;12350:80;;12441:21;12465:39;12495:8;;12465:25;12479:10;;12465:9;:13;;:25;;;;:::i;:39::-;12441:63;-1:-1:-1;12515:22:0;12540:28;:9;12441:63;12540:13;:28::i;:::-;12626:4;12608:24;;;;:9;:24;;;;;;12515:53;;-1:-1:-1;12608:44:0;;12515:53;12608:28;:44::i;:::-;12599:4;12581:24;;;;:9;:24;;;;;;:71;;;;12705:18;;-1:-1:-1;;;;;12705:18:0;12695:29;;;;:48;;12729:13;12695:33;:48::i;:::-;12673:18;;-1:-1:-1;;;;;12673:18:0;;;12663:29;;;;:9;:29;;;;;;;;;:80;;;;12759:47;160:25:1;;;12784:4:0;;12759:47;;;;-1:-1:-1;;;;;;;;;;;12759:47:0;133:18:1;12759:47:0;;;;;;;12840:17;;12837:163;;12888:12;;:31;;12905:13;12888:16;:31::i;:::-;12873:12;:46;12956:4;;12939:37;;160:25:1;;;-1:-1:-1;;;;;12956:4:0;;;;12939:37;;;-1:-1:-1;;;;;;;;;;;12939:37:0;148:2:1;133:18;12939:37:0;;;;;;;12837:163;13019:21;:6;13030:9;13019:10;:21::i;:::-;13012:28;12028:1020;-1:-1:-1;;;;;;;;12028:1020:0:o;1132:189::-;1218:7;1253:12;1246:5;1238:28;;;;-1:-1:-1;;;1238:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1277:9:0;1289:5;1293:1;1289;: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:248::-;1446:6;1454;1507:2;1495:9;1486:7;1482:23;1478:32;1475:52;;;1523:1;1520;1513:12;1475:52;-1:-1:-1;;1546:23:1;;;1616:2;1601:18;;;1588:32;;-1:-1:-1;1378:248:1:o;1631:118::-;1717:5;1710:13;1703:21;1696:5;1693:32;1683:60;;1739:1;1736;1729:12;1754:241;1810:6;1863:2;1851:9;1842:7;1838:23;1834:32;1831:52;;;1879:1;1876;1869:12;1831:52;1918:9;1905:23;1937:28;1959:5;1937:28;:::i;2000:328::-;2077:6;2085;2093;2146:2;2134:9;2125:7;2121:23;2117:32;2114:52;;;2162:1;2159;2152:12;2114:52;2185:29;2204:9;2185:29;:::i;:::-;2175:39;;2233:38;2267:2;2256:9;2252:18;2233:38;:::i;:::-;2223:48;;2318:2;2307:9;2303:18;2290:32;2280:42;;2000:328;;;;;:::o;2522:186::-;2581:6;2634:2;2622:9;2613:7;2609:23;2605:32;2602:52;;;2650:1;2647;2640:12;2602:52;2673:29;2692:9;2673:29;:::i;2713:180::-;2772:6;2825:2;2813:9;2804:7;2800:23;2796:32;2793:52;;;2841:1;2838;2831:12;2793:52;-1:-1:-1;2864:23:1;;2713:180;-1:-1:-1;2713:180:1:o;3106:750::-;3198:6;3206;3214;3267:2;3255:9;3246:7;3242:23;3238:32;3235:52;;;3283:1;3280;3273:12;3235:52;3323:9;3310:23;3352:18;3393:2;3385:6;3382:14;3379:34;;;3409:1;3406;3399:12;3379:34;3447:6;3436:9;3432:22;3422:32;;3492:7;3485:4;3481:2;3477:13;3473:27;3463:55;;3514:1;3511;3504:12;3463:55;3554:2;3541:16;3580:2;3572:6;3569:14;3566:34;;;3596:1;3593;3586:12;3566:34;3651:7;3644:4;3634:6;3631:1;3627:14;3623:2;3619:23;3615:34;3612:47;3609:67;;;3672:1;3669;3662:12;3609:67;3703:4;3695:13;;;;-1:-1:-1;3727:6:1;-1:-1:-1;;3768:20:1;;3755:34;3798:28;3755:34;3798:28;:::i;:::-;3845:5;3835:15;;;3106:750;;;;;:::o;3861:523::-;3965:6;3973;3981;3989;3997;4005;4058:3;4046:9;4037:7;4033:23;4029:33;4026:53;;;4075:1;4072;4065:12;4026:53;-1:-1:-1;;4098:23:1;;;4168:2;4153:18;;4140:32;;-1:-1:-1;4219:2:1;4204:18;;4191:32;;4270:2;4255:18;;4242:32;;-1:-1:-1;4321:3:1;4306:19;;4293:33;;-1:-1:-1;4373:3:1;4358:19;4345:33;;-1:-1:-1;3861:523:1;-1:-1:-1;3861:523:1:o;4389:316::-;4466:6;4474;4482;4535:2;4523:9;4514:7;4510:23;4506:32;4503:52;;;4551:1;4548;4541:12;4503:52;-1:-1:-1;;4574:23:1;;;4644:2;4629:18;;4616:32;;-1:-1:-1;4695:2:1;4680:18;;;4667:32;;4389:316;-1:-1:-1;4389:316:1:o;4710:309::-;4775:6;4783;4836:2;4824:9;4815:7;4811:23;4807:32;4804:52;;;4852:1;4849;4842:12;4804:52;4891:9;4878:23;4910:28;4932:5;4910:28;:::i;5024:260::-;5092:6;5100;5153:2;5141:9;5132:7;5128:23;5124:32;5121:52;;;5169:1;5166;5159:12;5121:52;5192:29;5211:9;5192:29;:::i;:::-;5182:39;;5240:38;5274:2;5263:9;5259:18;5240:38;:::i;:::-;5230:48;;5024:260;;;;;:::o;5515:484::-;5610:6;5618;5626;5634;5642;5695:3;5683:9;5674:7;5670:23;5666:33;5663:53;;;5712:1;5709;5702:12;5663:53;5735:29;5754:9;5735:29;:::i;:::-;5725:39;;5783:38;5817:2;5806:9;5802:18;5783:38;:::i;:::-;5773:48;;5840:38;5874:2;5863:9;5859:18;5840:38;:::i;:::-;5830:48;;5897:38;5931:2;5920:9;5916:18;5897:38;:::i;:::-;5887:48;;5954:39;5988:3;5977:9;5973:19;5954:39;:::i;:::-;5944:49;;5515:484;;;;;;;;:::o;6004:356::-;6206:2;6188:21;;;6225:18;;;6218:30;6284:34;6279:2;6264:18;;6257:62;6351:2;6336:18;;6004:356::o;6365:127::-;6426:10;6421:3;6417:20;6414:1;6407:31;6457:4;6454:1;6447:15;6481:4;6478:1;6471:15;6497:217;6537:1;6563;6553:132;;6607:10;6602:3;6598:20;6595:1;6588:31;6642:4;6639:1;6632:15;6670:4;6667:1;6660:15;6553:132;-1:-1:-1;6699:9:1;;6497:217::o;6719:168::-;6792:9;;;6823;;6840:15;;;6834:22;;6820:37;6810:71;;6861:18;;:::i;6892:184::-;6962:6;7015:2;7003:9;6994:7;6990:23;6986:32;6983:52;;;7031:1;7028;7021:12;6983:52;-1:-1:-1;7054:16:1;;6892:184;-1:-1:-1;6892:184:1:o;7360:245::-;7427:6;7480:2;7468:9;7459:7;7455:23;7451:32;7448:52;;;7496:1;7493;7486:12;7448:52;7528:9;7522:16;7547:28;7569:5;7547:28;:::i;7610:127::-;7671:10;7666:3;7662:20;7659:1;7652:31;7702:4;7699:1;7692:15;7726:4;7723:1;7716:15;7742:135;7781:3;7802:17;;;7799:43;;7822:18;;:::i;:::-;-1:-1:-1;7869:1:1;7858:13;;7742:135::o;8647:128::-;8714:9;;;8735:11;;;8732:37;;;8749:18;;:::i;9465:125::-;9530:9;;;9551:10;;;9548:36;;;9564:18;;:::i;11262:980::-;11524:4;11572:3;11561:9;11557:19;11603:6;11592:9;11585:25;11629:2;11667:6;11662:2;11651:9;11647:18;11640:34;11710:3;11705:2;11694:9;11690:18;11683:31;11734:6;11769;11763:13;11800:6;11792;11785:22;11838:3;11827:9;11823:19;11816:26;;11877:2;11869:6;11865:15;11851:29;;11898:1;11908:195;11922:6;11919:1;11916:13;11908:195;;;11987:13;;-1:-1:-1;;;;;11983:39:1;11971:52;;12078:15;;;;12043:12;;;;12019:1;11937:9;11908:195;;;-1:-1:-1;;;;;;;12159:32:1;;;;12154:2;12139:18;;12132:60;-1:-1:-1;;;12223:3:1;12208:19;12201:35;12120:3;11262:980;-1:-1:-1;;;11262:980:1:o;13069:306::-;13157:6;13165;13173;13226:2;13214:9;13205:7;13201:23;13197:32;13194:52;;;13242:1;13239;13232:12;13194:52;13271:9;13265:16;13255:26;;13321:2;13310:9;13306:18;13300:25;13290:35;;13365:2;13354:9;13350:18;13344:25;13334:35;;13069:306;;;;;:::o

Swarm Source

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