ETH Price: $3,076.61 (-0.87%)

Token

Fvck The System (CHAOS)
 

Overview

Max Total Supply

10,000,000 CHAOS

Holders

129

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
FvckTheSystem

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-13
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.13;

/**
                                           .                                              
                                          +%:                                             
                                         .%%%                                             
                                         +%%%:                                            
                                         *%%%*                                            
                                         #%%%%+                                           
                                        =%%%%%%:                                          
                                        *%%%%%%#                                          
                                       .%%%%%%%%:                                         
                                      +%%%%%%%%%%                                         
                                    .*%%%%%%%%%%%#****=:                                  
                               .:=+#%%%%%%%%%%%%%%%%%%%%#+-                               
                          :+*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*-:                          
                        -*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=                        
                      :*%%%%%%%%%%%%%%%%%%#=%%%%%%%%%%%%%%%%%%%%%%*:                      
                   .*%%%%%%%%%%%%%*%%%%%%%: -%%%%%%%*+%%%%%%%%%%%%%%#=.                   
                  -%%%%%%%%%%%%=-..%%%%%%=   %%%%%%%#  .=+%%%%%%%%%%%%%:             .--- 
                 +%%%%%%%%%%+-    #%%%%%#    .%%%%%%%-     :=%%%%%%%%%%%+:.. ..-=*+#%%%%%:
               :#%%%%%%%%#=      +%%%%%%*     -%%%%%%%-      .=%%%%%%%%%%%%%%%%%%%%%%#=-. 
              .%%%%%%%%%=       =%%%%%%%:      =%%%%%%%-       .*%%%%%%%%%%%%%%%%%#-      
             :%%%%%%%%*        :%%%%%%%#        *%%%%%%%.   .-+#%%%%%%%%%%%%%%%%#-        
            -%%%%%%%%+         %%%%%%%+          *%%%%%%**#%%%%%%%%%%%%%%%%%%#=:          
            #%%%%%%%*         -%%%%%%%:          :%%%%%%%%%%%%%%%%%%%%%%%%%%%             
           #%%%%%%%%         :%%%%%%%+      .=*#%%%%%%%%%%%%%%%%%#+: .%%%%%%%             
          =%%%%%%%%-         +%%%%%%*:-=+*#%%%%%%%%%%%%%%%%%*=-       %%%%%%%-            
         :#%%%%%%%%         .%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+        .%%%%%%%:            
         =%%%%%%%%=     -*#%%%%%%%%%%%%%%%%%%%%%#*+=+%%%%%%%%-       :%%%%%%%:            
         .%%%%%%%%-.=*#%%%%%%%%%%%%%%%%%###=.        .#%%%%%%#.      -%%%%%%%.            
          *%%%%%%%#%%%%%%%%%%%%%%%%#=.                =%%%%%%%*      +%%%%%%%.            
          -%%%%%%%%%%%%%%%%%%%%%%%-                   .%%%%%%%%:    .%%%%%%%*             
         :#%%%%%%%%%%%%%%%%%%%%%%-                     -%%%%%%%-    *%%%%%%%%             
      .=#%%%%%%%%%%%#+=+%%%%%%%%:                       #%%%%%%%.  +%%%%%%%%-             
   .-#%%%%%%%%%%%%%*   *%%%%%%%-                        .%%%%%%%+:.%%%%%%%%-              
.=#%%%%%%%**%%%%%%%%: =%%%%%%%*                          :#%%%%%%%%%%%%%%%*               
:%%%#*=-:.  =%%%%%%%%*#%%%%%%%.                           =%%%%%%%%%%%%%%%-               
             -%%%%%%%%%%%%%%%#                             #%%%%%%%%%%%%+.                
               =#%%%%%%%%%%%%#.                            :%%%%%%%%%%%:                  
                 =#%%%%%%%%%%%%%*+: .                   :+%%%%%%%%%%%%=                   
                   -%%%%%%%%%%%%%%%%%#+=.:.      .:-+*#%%%%%%%%%%%%%%%*                   
                    *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#                   
                    *%%%%= .=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=: *#%%%%%.                  
                   :%%%%*     .=++*#%%%%%%%%%%%%%%%%%%%#+=.       *%%%%#                  
                   *%%%#              :----==+++==----.           .%%%%%:                 
                   %%%%.                                           .=%%%#                 
                   =*+-                                              .+*+   
                

                                $CHAOS -- FVCK THE SYSTEM

                INSPIRED BY $ANARCHY AND CREATED BY ANARCHISTS, FOR ANARCHISTS              
                                 t.me/fvckthesystemtoken

        TOKEN SPECS: 
            10M SUPPLY (40% BURNED AT LAUNCH, 10% SENT TO ANARCHYINITIATOR.ETH)
            MAX WALLET/TX: 2%
            ALL TAXES GO TOWARDS: 
                A) $ANARCHY REFLECTIONS 
                B) BURNING $CHAOS LIQUIDITY
                C) ETH CONTROLLED BY ANARCHISTS TO BRING DOWN THE SYSTEM
    
*/


/**
 * Standard SafeMath, stripped down to just add/sub/mul/div
 */
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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

/**
 * ERC20 standard interface.
 */
interface IERC20 {
    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 Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    /**
     * Function modifier to require caller to be contract deployer
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!Owner"); _;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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 IAmAnAnarchist {
    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
    function process(uint256 gas) external;
    function fuckTheSystem(address shareholder) external;
}


contract AnarchyDist is IAmAnAnarchist {

    using SafeMath for uint256;
    address _token;

    address public ANARCHY;

    IDEXRouter router;

    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalRealised;
    }

    address[] shareholders;
    mapping (address => uint256) shareholderIndexes;
    mapping (address => uint256) shareholderClaims;
    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed;
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;

    uint256 public minPeriod = 30 minutes;
    uint256 public minDistribution = 0 * (10 ** 9);

    uint256 public currentIndex;
    bool initialized;

    modifier initialization() {
        require(!initialized);
        _;
        initialized = true;
    }

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }

    constructor () {
        _token = msg.sender;
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        ANARCHY = 0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c;
    }
    
    receive() external payable {
        deposit();
    }

    function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external override onlyToken {
        minPeriod = newMinPeriod;
        minDistribution = newMinDistribution;
    }

    function setShare(address shareholder, uint256 amount) external override onlyToken {

        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit() public payable override {

        uint256 balanceBefore = IERC20(ANARCHY).balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(ANARCHY);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}(
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amount = IERC20(ANARCHY).balanceOf(address(this)).sub(balanceBefore);
        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
    }
    
    function process(uint256 gas) external override {
        uint256 shareholderCount = shareholders.length;

        if(shareholderCount == 0) { return; }

        uint256 iterations = 0;
        uint256 gasUsed = 0;
        uint256 gasLeft = gasleft();

        while(gasUsed < gas && iterations < shareholderCount) {

            if(currentIndex >= shareholderCount){ currentIndex = 0; }

            if(shouldDistribute(shareholders[currentIndex])){
                distributeDividend(shareholders[currentIndex]);
            }

            gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }
    }
    
    function shouldDistribute(address shareholder) public view returns (bool) {
        return shareholderClaims[shareholder] + minPeriod < block.timestamp
                && getUnpaidEarnings(shareholder) > minDistribution;
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getUnpaidEarnings(shareholder);
        if(amount > 0){
            totalDistributed = totalDistributed.add(amount);
            IERC20(ANARCHY).transfer(shareholder, amount);
            shareholderClaims[shareholder] = block.timestamp;
            shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
        }
    }
    
    function fuckTheSystem(address shareholder) external override onlyToken {
        distributeDividend(shareholder);
    }

    function getUnpaidEarnings(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
}

contract FvckTheSystem is IERC20, Auth {
    using SafeMath for uint256;

    address public Anarchy = 0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c; //Anarchy token

    string private constant _name = "Fvck The System";
    string private constant _symbol = "CHAOS";
    uint8 private constant _decimals = 18;
    
    uint256 private _totalSupply = 10000000 * (10 ** _decimals);

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

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

    bool public antiBot = true;

    mapping (address => bool) private bots; 
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isDividendExempt;

    uint256 public launchedAt;
    address private lpWallet = DEAD;

    uint256 public buyFee = 10;
    uint256 public sellFee = 15;

    uint256 public toReflections = 30;
    uint256 public toLiquidity = 20;
    uint256 public toMarketing = 50;

    uint256 public allocationSum = 100;

    IDEXRouter public router;
    address public pair;
    address public factory;
    address private tokenOwner;
    address public anarchyWallet = payable(0x2969dCDCB643Bc0979bA0bEcE76C25F99a7758D5);
    address private anarchyinitiator = payable(0x7300e9eeA578f775230DEd8C1E0E531386C423B3);

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public tradingOpen = false;
    
    AnarchyDist public anarchyDist;
    uint256 public anarchyDistGas = 0;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    uint256 public maxTx = _totalSupply.div(50);
    uint256 public maxWallet = _totalSupply.div(50);
    uint256 public swapThreshold = _totalSupply.div(100);

    constructor (
        address _owner        
    ) Auth(_owner) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            
        WETH = router.WETH();
        
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        anarchyDist = new AnarchyDist();
        
        isFeeExempt[_owner] = true;
        isFeeExempt[anarchyWallet] = true;
        isFeeExempt[anarchyinitiator] = true;             

        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[anarchyinitiator] = true;
        isDividendExempt[DEAD] = true;    

        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[anarchyWallet] = true;
        isTxLimitExempt[anarchyinitiator] = true;    


        _balances[_owner] = _totalSupply;
    
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }


    function setBots(address[] memory bots_) external onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    //once enabled, cannot be reversed
    function openTrading() external onlyOwner {
        launchedAt = block.number;
        tradingOpen = true;
    }      

    function changeTotalFees(uint256 newBuyFee, uint256 newSellFee) external onlyOwner {

        buyFee = newBuyFee;
        sellFee = newSellFee;

        require(buyFee <= 10, "too high");
        require(sellFee <= 10, "too high");
    } 
    
    function changeFeeAllocation(uint256 newRewardFee, uint256 newLpFee, uint256 newMarketingFee) external onlyOwner {
        toReflections = newRewardFee;
        toLiquidity = newLpFee;
        toMarketing = newMarketingFee;
    }

    function changeTxLimit(uint256 newLimit) external onlyOwner {
        maxTx = newLimit;
    }

    function changeWalletLimit(uint256 newLimit) external onlyOwner {
        maxWallet  = newLimit;
    }
    
    function changeIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function changeIsTxLimitExempt(address holder, bool exempt) external onlyOwner {      
        isTxLimitExempt[holder] = exempt;
    }

    function setAnarchyWallet(address payable newAnarchyWallet) external onlyOwner {
        anarchyWallet = payable(newAnarchyWallet);
    }

    function setLpWallet(address newLpWallet) external onlyOwner {
        lpWallet = newLpWallet;
    }    

    function setOwnerWallet(address payable newOwnerWallet) external onlyOwner {
        tokenOwner = newOwnerWallet;
    }     

    function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit) external onlyOwner {
        swapAndLiquifyEnabled  = enableSwapBack;
        swapThreshold = newSwapBackLimit;
    }

    function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external onlyOwner {
        anarchyDist.setDistributionCriteria(newMinPeriod, newMinDistribution);        
    }

    function delBot(address notbot) external onlyOwner {
        bots[notbot] = false;
    }

    function _setIsDividendExempt(address holder, bool exempt) internal {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            anarchyDist.setShare(holder, 0);
        }else{
            anarchyDist.setShare(holder, _balances[holder]);
        }
    }

    function setIsDividendExempt(address holder, bool exempt) external onlyOwner {
        _setIsDividendExempt(holder, exempt);
    }

    function changeMoneyPrinterGas(uint256 newGas) external onlyOwner {
        anarchyDistGas = newGas;
    }           

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

    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 _transfer(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 _transfer(sender, recipient, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (sender!= owner && recipient!= owner) require(tradingOpen, "hold ur horses big guy."); //transfers disabled before tradingActive
        require(!bots[sender] && !bots[recipient]);

        if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); }

        require(amount <= maxTx || isTxLimitExempt[sender], "tx");

        if(!isTxLimitExempt[recipient] && antiBot)
        {
            require(_balances[recipient].add(amount) <= maxWallet, "wallet");
        }

        if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        
        uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(finalAmount);

        // Dividend tracker
        if(!isDividendExempt[sender]) {
            try anarchyDist.setShare(sender, _balances[sender]) {} catch {}
        }

        if(!isDividendExempt[recipient]) {
            try anarchyDist.setShare(recipient, _balances[recipient]) {} catch {} 
        }

        emit Transfer(sender, recipient, finalAmount);
        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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeApplicable = pair == recipient ? sellFee : buyFee;
        uint256 feeAmount = amount.mul(feeApplicable).div(100);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {

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

        approve(address(this), tokenAmount);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            lpWallet,
            block.timestamp
        );
    }

    function swapBack() internal lockTheSwap {
    
        uint256 tokenBalance = _balances[address(this)]; 
        uint256 tokensForLiquidity = tokenBalance.mul(toLiquidity).div(100).div(2);     
        uint256 amountToSwap = tokenBalance.sub(tokensForLiquidity);

        swapTokensForEth(amountToSwap);

        uint256 totalEthBalance = address(this).balance;
        uint256 ethForANARCHY = totalEthBalance.mul(toReflections).div(100);
        uint256 ethForAnarchyWallet = totalEthBalance.mul(toMarketing).div(100);
        uint256 ethForLiquidity = totalEthBalance.mul(toLiquidity).div(100).div(2);
      
        if (totalEthBalance > 0){
            payable(anarchyWallet).transfer(ethForAnarchyWallet);
        }
        
        try anarchyDist.deposit{value: ethForANARCHY}() {} catch {}
        
        if (tokensForLiquidity > 0){
            addLiquidity(tokensForLiquidity, ethForLiquidity);
        }
    }

    function manualSwapBack() external onlyOwner {
        swapBack();
    }

    function clearStuckEth() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        if(contractETHBalance > 0){          
            payable(anarchyWallet).transfer(contractETHBalance);
        }
    }

    function manualProcessGas(uint256 manualGas) external onlyOwner {
        anarchyDist.process(manualGas);
    }

    function checkPendingReflections(address shareholder) external view returns (uint256) {
        return anarchyDist.getUnpaidEarnings(shareholder);
    }

    function fvckTheSystem() external {
        anarchyDist.fuckTheSystem(msg.sender);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"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":"address","name":"owner","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":"Anarchy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allocationSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"anarchyDist","outputs":[{"internalType":"contract AnarchyDist","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"anarchyDistGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"anarchyWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRewardFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"}],"name":"changeFeeAllocation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newGas","type":"uint256"}],"name":"changeMoneyPrinterGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"changeTotalFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"checkPendingReflections","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fvckTheSystem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isDividendExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"manualGas","type":"uint256"}],"name":"manualProcessGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAnarchyWallet","type":"address"}],"name":"setAnarchyWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinPeriod","type":"uint256"},{"internalType":"uint256","name":"newMinDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLpWallet","type":"address"}],"name":"setLpWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwnerWallet","type":"address"}],"name":"setOwnerWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","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":"toLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toReflections","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319167353fd2342b43ecd24aef1535bc3797f509616ce8c179055620000386012600a62000696565b620000479062989680620006a7565b6002819055600780546001600160a01b031990811661dead908117909255600880546001600160a81b031916600160a01b179055600e80548216909217909155600a600f908155601055601e6011556014601281905560326013819055606490915560198054909216732969dcdcb643bc0979ba0bece76c25f99a7758d517909155601a8054600162ffff0160a01b0319167501007300e9eea578f775230ded8c1e0e531386c423b31790556000601c556200011391906200145f620004dd602090811b91909117901c565b601d55620001336032600254620004dd60201b6200145f1790919060201c565b601e55620001536064600254620004dd60201b6200145f1790919060201c565b601f553480156200016357600080fd5b5060405162003d9938038062003d998339810160408190526200018691620006c9565b600080546001600160a01b03199081166001600160a01b0384161790915560158054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620001ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002259190620006c9565b600680546001600160a01b0319166001600160a01b039283161790556015546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000284573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002aa9190620006c9565b6006546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003229190620006c9565b601680546001600160a01b0319166001600160a01b0392831617905530600090815260046020908152604080832060155490941683529290528190206000199055516200036f9062000575565b604051809103906000f0801580156200038c573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b039283161790558181166000818152600a60209081526040808320805460ff19908116600190811790925560198054881686528386208054831684179055601a8054891687528487208054841685179055601680548a168852600c87528588208054851686179055308852858820805485168617905581548a1688528588208054851686179055600780548b1689528689208054861687179055898952600b8852868920805486168717905590548a1688528588208054851686179055548916875284872080548416851790559054881686528386208054831684179055549096168452818420805490961617909455600254838352600382528483208190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000776565b60006200052783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200053060201b60201c565b90505b92915050565b600081836200055d5760405162461bcd60e51b8152600401620005549190620006fb565b60405180910390fd5b5060006200056c848662000753565b95945050505050565b61109d8062002cfc83390190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005da578160001904821115620005be57620005be62000583565b80851615620005cc57918102915b93841c93908002906200059e565b509250929050565b600082620005f3575060016200052a565b8162000602575060006200052a565b81600181146200061b5760028114620006265762000646565b60019150506200052a565b60ff8411156200063a576200063a62000583565b50506001821b6200052a565b5060208310610133831016604e8410600b84101617156200066b575081810a6200052a565b62000677838362000599565b80600019048211156200068e576200068e62000583565b029392505050565b60006200052760ff841683620005e2565b6000816000190483118215151615620006c457620006c462000583565b500290565b600060208284031215620006dc57600080fd5b81516001600160a01b0381168114620006f457600080fd5b9392505050565b600060208083528351808285015260005b818110156200072a578581018301518582016040015282016200070c565b818111156200073d576000604083870101525b50601f01601f1916929092016040019392505050565b6000826200077157634e487b7160e01b600052601260045260246000fd5b500490565b61257680620007866000396000f3fe6080604052600436106103855760003560e01c80637db1342c116101d1578063bf56b37111610102578063dd62ed3e116100a0578063f887ea401161006f578063f887ea4014610a8e578063f8b45b0514610aae578063fabe628314610ac4578063ffb54a9914610ae457600080fd5b8063dd62ed3e146109e8578063e84067fd14610a2e578063f2fde38b14610a4e578063f708a64f14610a6e57600080fd5b8063c9567bf9116100dc578063c9567bf91461097d578063caa5581b14610992578063d094f215146109a8578063d920334e146109c857600080fd5b8063bf56b37114610931578063c45a015514610947578063c8d1293d1461096757600080fd5b806395d89b411161016f578063a8aa1b3111610149578063a8aa1b31146108b1578063a9059cbb146108d1578063b515566a146108f1578063bb542ef01461091157600080fd5b806395d89b411461084d5780639952235e1461087b578063a3a2e89e1461089157600080fd5b806389291a8f116101ab57806389291a8f146107ca578063893d20e8146107df5780638b42507f146107fd5780638f6fbb021461082d57600080fd5b80637db1342c146107695780637dfcbe341461078957806381934031146107aa57600080fd5b8063313ce567116102b65780634a74bb02116102545780637437681e116102235780637437681e1461070857806375df13051461071e578063769681c31461073457806377359aa71461074957600080fd5b80634a74bb021461067c578063571ac8b01461069d57806366eb3785146106bd57806370a08231146106d257600080fd5b80634355855a116102905780634355855a146106005780634543437714610630578063468c7ee214610646578063470624021461066657600080fd5b8063313ce567146105945780633dab5269146105b05780633f4218e0146105d057600080fd5b8063273123b7116103235780632d48e896116102fd5780632d48e896146105055780632dbea2e1146105255780632f54bf6e1461054557806330ca34ee1461057457600080fd5b8063273123b7146104ba5780632b112e49146104da5780632b14ca56146104ef57600080fd5b80630bdb28781161035f5780630bdb28781461042b57806317764d3d1461044d57806318160ddd1461048557806323b872dd1461049a57600080fd5b80630445b6671461039157806306fdde03146103ba578063095ea7b3146103fb57600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a7601f5481565b6040519081526020015b60405180910390f35b3480156103c657600080fd5b5060408051808201909152600f81526e4676636b205468652053797374656d60881b60208201525b6040516103b191906120b6565b34801561040757600080fd5b5061041b610416366004612130565b610b05565b60405190151581526020016103b1565b34801561043757600080fd5b5061044b61044636600461215c565b610b72565b005b34801561045957600080fd5b5060195461046d906001600160a01b031681565b6040516001600160a01b0390911681526020016103b1565b34801561049157600080fd5b506002546103a7565b3480156104a657600080fd5b5061041b6104b5366004612175565b610baa565b3480156104c657600080fd5b5061044b6104d53660046121b6565b610c6c565b3480156104e657600080fd5b506103a7610cb7565b3480156104fb57600080fd5b506103a760105481565b34801561051157600080fd5b5061044b6105203660046121d3565b610d09565b34801561053157600080fd5b5061044b6105403660046121f5565b610d9d565b34801561055157600080fd5b5061041b6105603660046121b6565b6000546001600160a01b0391821691161490565b34801561058057600080fd5b5061044b61058f3660046121d3565b610dd5565b3480156105a057600080fd5b50604051601281526020016103b1565b3480156105bc57600080fd5b5061044b6105cb366004612231565b610e87565b3480156105dc57600080fd5b5061041b6105eb3660046121b6565b600a6020526000908152604090205460ff1681565b34801561060c57600080fd5b5061041b61061b3660046121b6565b600c6020526000908152604090205460ff1681565b34801561063c57600080fd5b506103a760145481565b34801561065257600080fd5b5061044b6106613660046121b6565b610ed3565b34801561067257600080fd5b506103a7600f5481565b34801561068857600080fd5b50601a5461041b90600160a81b900460ff1681565b3480156106a957600080fd5b5061041b6106b83660046121b6565b610f1f565b3480156106c957600080fd5b5061044b610f2d565b3480156106de57600080fd5b506103a76106ed3660046121b6565b6001600160a01b031660009081526003602052604090205490565b34801561071457600080fd5b506103a7601d5481565b34801561072a57600080fd5b506103a760135481565b34801561074057600080fd5b5061044b610f61565b34801561075557600080fd5b506103a76107643660046121b6565b610fc0565b34801561077557600080fd5b5061044b61078436600461215c565b61102f565b34801561079557600080fd5b5060085461041b90600160a01b900460ff1681565b3480156107b657600080fd5b5061044b6107c536600461215c565b61105e565b3480156107d657600080fd5b5061044b6110ec565b3480156107eb57600080fd5b506000546001600160a01b031661046d565b34801561080957600080fd5b5061041b6108183660046121b6565b600b6020526000908152604090205460ff1681565b34801561083957600080fd5b5061044b6108483660046121b6565b61115a565b34801561085957600080fd5b506040805180820190915260058152644348414f5360d81b60208201526103ee565b34801561088757600080fd5b506103a7601c5481565b34801561089d57600080fd5b5061044b6108ac36600461224d565b6111a6565b3480156108bd57600080fd5b5060165461046d906001600160a01b031681565b3480156108dd57600080fd5b5061041b6108ec366004612130565b6111fb565b3480156108fd57600080fd5b5061044b61090c366004612298565b611208565b34801561091d57600080fd5b5061044b61092c3660046121b6565b61129a565b34801561093d57600080fd5b506103a7600d5481565b34801561095357600080fd5b5060175461046d906001600160a01b031681565b34801561097357600080fd5b506103a760125481565b34801561098957600080fd5b5061044b6112e6565b34801561099e57600080fd5b506103a760115481565b3480156109b457600080fd5b50601b5461046d906001600160a01b031681565b3480156109d457600080fd5b5061044b6109e336600461215c565b611329565b3480156109f457600080fd5b506103a7610a0336600461235d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a3a57600080fd5b5060015461046d906001600160a01b031681565b348015610a5a57600080fd5b5061044b610a693660046121b6565b611358565b348015610a7a57600080fd5b5061044b610a8936600461224d565b6113d6565b348015610a9a57600080fd5b5060155461046d906001600160a01b031681565b348015610aba57600080fd5b506103a7601e5481565b348015610ad057600080fd5b5061044b610adf36600461224d565b61140a565b348015610af057600080fd5b50601a5461041b90600160b01b900460ff1681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b609086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610ba55760405162461bcd60e51b8152600401610b9c90612396565b60405180910390fd5b601c55565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610c57576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610c329184906114a1565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610c628484846114db565b90505b9392505050565b6000546001600160a01b03163314610c965760405162461bcd60e51b8152600401610b9c90612396565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6008546001600160a01b0316600090815260036020526040812054610d04906007546001600160a01b0316600090815260036020526040902054610cfe9060025490611991565b90611991565b905090565b6000546001600160a01b03163314610d335760405162461bcd60e51b8152600401610b9c90612396565b601b546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610d8157600080fd5b505af1158015610d95573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610dc75760405162461bcd60e51b8152600401610b9c90612396565b601192909255601255601355565b6000546001600160a01b03163314610dff5760405162461bcd60e51b8152600401610b9c90612396565b600f8290556010819055600a821115610e455760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610b9c565b600a6010541115610e835760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610b9c565b5050565b6000546001600160a01b03163314610eb15760405162461bcd60e51b8152600401610b9c90612396565b601a8054921515600160a81b0260ff60a81b1990931692909217909155601f55565b6000546001600160a01b03163314610efd5760405162461bcd60e51b8152600401610b9c90612396565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b6c82600019610b05565b6000546001600160a01b03163314610f575760405162461bcd60e51b8152600401610b9c90612396565b610f5f6119d3565b565b601b54604051634a431be760e11b81523360048201526001600160a01b039091169063948637ce90602401600060405180830381600087803b158015610fa657600080fd5b505af1158015610fba573d6000803e3d6000fd5b50505050565b601b5460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401602060405180830381865afa15801561100b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6c91906123b6565b6000546001600160a01b031633146110595760405162461bcd60e51b8152600401610b9c90612396565b601e55565b6000546001600160a01b031633146110885760405162461bcd60e51b8152600401610b9c90612396565b601b546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401600060405180830381600087803b1580156110d157600080fd5b505af11580156110e5573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146111165760405162461bcd60e51b8152600401610b9c90612396565b478015611157576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e83573d6000803e3d6000fd5b50565b6000546001600160a01b031633146111845760405162461bcd60e51b8152600401610b9c90612396565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146111d05760405162461bcd60e51b8152600401610b9c90612396565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610c653384846114db565b6000546001600160a01b031633146112325760405162461bcd60e51b8152600401610b9c90612396565b60005b8151811015610e8357600160096000848481518110611256576112566123cf565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580611292816123fb565b915050611235565b6000546001600160a01b031633146112c45760405162461bcd60e51b8152600401610b9c90612396565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146113105760405162461bcd60e51b8152600401610b9c90612396565b43600d55601a805460ff60b01b1916600160b01b179055565b6000546001600160a01b031633146113535760405162461bcd60e51b8152600401610b9c90612396565b601d55565b6000546001600160a01b031633146113825760405162461bcd60e51b8152600401610b9c90612396565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b031633146114005760405162461bcd60e51b8152600401610b9c90612396565b610e838282611b61565b6000546001600160a01b031633146114345760405162461bcd60e51b8152600401610b9c90612396565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610c6583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c40565b600081848411156114c55760405162461bcd60e51b8152600401610b9c91906120b6565b5060006114d28486612414565b95945050505050565b600080546001600160a01b0385811691161480159061150857506000546001600160a01b03848116911614155b1561156657601a54600160b01b900460ff166115665760405162461bcd60e51b815260206004820152601760248201527f686f6c6420757220686f7273657320626967206775792e0000000000000000006044820152606401610b9c565b6001600160a01b03841660009081526009602052604090205460ff161580156115a857506001600160a01b03831660009081526009602052604090205460ff16155b6115b157600080fd5b601a54600160a01b900460ff16156115d5576115ce848484611c6e565b9050610c65565b601d54821115806115fe57506001600160a01b0384166000908152600b602052604090205460ff165b61162f5760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b6044820152606401610b9c565b6001600160a01b0383166000908152600b602052604090205460ff161580156116615750600854600160a01b900460ff165b156116c357601e546001600160a01b03841660009081526003602052604090205461168c9084611d54565b11156116c35760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b6044820152606401610b9c565b6016546001600160a01b031633148015906116e85750601a54600160a01b900460ff16155b80156116fd5750601a54600160a81b900460ff165b801561171a5750601f543060009081526003602052604090205410155b15611727576117276119d3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600390915291909120546117799184906114a1565b6001600160a01b038516600090815260036020908152604080832093909355600a90529081205460ff161580156117c957506001600160a01b0384166000908152600a602052604090205460ff16155b6117d357826117de565b6117de858585611db3565b6001600160a01b0385166000908152600360205260409020549091506118049082611d54565b6001600160a01b038086166000908152600360209081526040808320949094559188168152600c909152205460ff166118a857601b546001600160a01b0386811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561189557600080fd5b505af19250505080156118a6575060015b505b6001600160a01b0384166000908152600c602052604090205460ff1661193957601b546001600160a01b0385811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561192657600080fd5b505af1925050508015611937575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161197e91815260200190565b60405180910390a3506001949350505050565b6000610c6583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114a1565b601a805460ff60a01b1916600160a01b17905530600090815260036020526040812054601254909190611a1990600290611a139060649082908790611e76565b9061145f565b90506000611a278383611991565b9050611a3281611ef8565b60004790506000611a536064611a1360115485611e7690919063ffffffff16565b90506000611a716064611a1360135486611e7690919063ffffffff16565b90506000611a946002611a136064611a1360125489611e7690919063ffffffff16565b90508315611ad8576019546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611ad6573d6000803e3d6000fd5b505b601b60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b2857600080fd5b505af193505050508015611b3a575060015b508515611b4b57611b4b8682612021565b5050601a805460ff60a01b191690555050505050565b6001600160a01b0382163014801590611b8857506016546001600160a01b03838116911614155b611b9157600080fd5b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155611bf757601b54604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610d67565b601b546001600160a01b0383811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610d67565b60008183611c615760405162461bcd60e51b8152600401610b9c91906120b6565b5060006114d2848661242b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611cbf9184906114a1565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611cee9083611d54565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d429086815260200190565b60405180910390a35060019392505050565b600080611d61838561244d565b905083811015610c655760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b9c565b60165460009081906001600160a01b03858116911614611dd557600f54611dd9565b6010545b90506000611dec6064611a138685611e76565b30600090815260036020526040902054909150611e099082611d54565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e5a9085815260200190565b60405180910390a3611e6c8482611991565b9695505050505050565b600082600003611e8857506000610b6c565b6000611e948385612465565b905082611ea1858361242b565b14610c655760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b9c565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f2d57611f2d6123cf565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611faa9190612484565b81600181518110611fbd57611fbd6123cf565b60200260200101906001600160a01b031690816001600160a01b031681525050611fe73083610b05565b5060155460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d679085906000908690309042906004016124a1565b601554600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612091573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110e59190612512565b600060208083528351808285015260005b818110156120e3578581018301518582016040015282016120c7565b818111156120f5576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461115757600080fd5b803561212b8161210b565b919050565b6000806040838503121561214357600080fd5b823561214e8161210b565b946020939093013593505050565b60006020828403121561216e57600080fd5b5035919050565b60008060006060848603121561218a57600080fd5b83356121958161210b565b925060208401356121a58161210b565b929592945050506040919091013590565b6000602082840312156121c857600080fd5b8135610c658161210b565b600080604083850312156121e657600080fd5b50508035926020909101359150565b60008060006060848603121561220a57600080fd5b505081359360208301359350604090920135919050565b8035801515811461212b57600080fd5b6000806040838503121561224457600080fd5b61214e83612221565b6000806040838503121561226057600080fd5b823561226b8161210b565b915061227960208401612221565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156122ab57600080fd5b823567ffffffffffffffff808211156122c357600080fd5b818501915085601f8301126122d757600080fd5b8135818111156122e9576122e9612282565b8060051b604051601f19603f8301168101818110858211171561230e5761230e612282565b60405291825284820192508381018501918883111561232c57600080fd5b938501935b828510156123515761234285612120565b84529385019392850192612331565b98975050505050505050565b6000806040838503121561237057600080fd5b823561237b8161210b565b9150602083013561238b8161210b565b809150509250929050565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b6000602082840312156123c857600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161240d5761240d6123e5565b5060010190565b600082821015612426576124266123e5565b500390565b60008261244857634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115612460576124606123e5565b500190565b600081600019048311821515161561247f5761247f6123e5565b500290565b60006020828403121561249657600080fd5b8151610c658161210b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124f15784516001600160a01b0316835293830193918301916001016124cc565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561252757600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220d4458c63057e430124ef7835d74b718ca6beaac941ed850f73f42064660e740b64736f6c634300080d003360806040526ec097ce7bc90715b34b9f1000000000600b55610708600c556000600d5534801561002e57600080fd5b50600080546001600160a01b03199081163317909155600280548216737a250d5630b4cf539739df2c5dacb4c659f2488d179055600180549091167353fd2342b43ecd24aef1535bc3797f509616ce8c17905561100d806100906000396000f3fe6080604052600436106101025760003560e01c8063948637ce11610095578063d0e30db011610064578063d0e30db0146102d6578063e2d2e219146102de578063efca2eed146102f4578063ffb2c4791461030a578063ffd49c841461032a57600080fd5b8063948637ce14610211578063997664d714610231578063b40c6edc14610247578063ce7c2ac21461027f57600080fd5b80632d48e896116100d15780632d48e896146101955780633a98ef39146101b55780634fab0ae8146101cb5780638c21cd52146101e157600080fd5b806311ce023d1461011657806314b6ca961461013f57806326987b601461015f57806328fd31981461017557600080fd5b366101115761010f610340565b005b600080fd5b34801561012257600080fd5b5061012c600b5481565b6040519081526020015b60405180910390f35b34801561014b57600080fd5b5061010f61015a366004610d71565b6105b8565b34801561016b57600080fd5b5061012c600e5481565b34801561018157600080fd5b5061012c610190366004610d9d565b610730565b3480156101a157600080fd5b5061010f6101b0366004610dba565b6107bb565b3480156101c157600080fd5b5061012c60075481565b3480156101d757600080fd5b5061012c600d5481565b3480156101ed57600080fd5b506102016101fc366004610d9d565b6107dd565b6040519015158152602001610136565b34801561021d57600080fd5b5061010f61022c366004610d9d565b610823565b34801561023d57600080fd5b5061012c60085481565b34801561025357600080fd5b50600154610267906001600160a01b031681565b6040516001600160a01b039091168152602001610136565b34801561028b57600080fd5b506102bb61029a366004610d9d565b60066020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610136565b61010f610340565b3480156102ea57600080fd5b5061012c600a5481565b34801561030057600080fd5b5061012c60095481565b34801561031657600080fd5b5061010f610325366004610ddc565b610846565b34801561033657600080fd5b5061012c600c5481565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610389573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ad9190610df5565b60408051600280825260608201835292935060009290916020830190803683375050600254604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190610e0e565b8160008151811061045357610453610e2b565b6001600160a01b039283166020918202929092010152600180548351921691839190811061048357610483610e2b565b6001600160a01b03928316602091820292909201015260025460405163b6f9de9560e01b815291169063b6f9de959034906104c990600090869030904290600401610e41565b6000604051808303818588803b1580156104e257600080fd5b505af11580156104f6573d6000803e3d6000fd5b50506001546040516370a0823160e01b81523060048201526000945061057693508692506001600160a01b03909116906370a0823190602401602060405180830381865afa15801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190610df5565b90610933565b600854909150610586908261097c565b600855600754600b546105b0916105a7916105a190856109e0565b90610a62565b600a549061097c565b600a55505050565b6000546001600160a01b031633146105cf57600080fd5b6001600160a01b038216600090815260066020526040902054156105f6576105f682610aa4565b60008111801561061c57506001600160a01b038216600090815260066020526040902054155b1561068257600380546001600160a01b0384166000818152600460205260408120839055600183018455929092527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191690911790556106b5565b801580156106a757506001600160a01b03821660009081526006602052604090205415155b156106b5576106b582610bc2565b6001600160a01b0382166000908152600660205260409020546007546106e69183916106e091610933565b9061097c565b6007556001600160a01b038216600090815260066020526040902081905561070d81610cd7565b6001600160a01b0390921660009081526006602052604090206001019190915550565b6001600160a01b038116600090815260066020526040812054810361075757506000919050565b6001600160a01b03821660009081526006602052604081205461077990610cd7565b6001600160a01b0384166000908152600660205260409020600101549091508082116107a9575060009392505050565b6107b38282610933565b949350505050565b6000546001600160a01b031633146107d257600080fd5b600c91909155600d55565b600c546001600160a01b038216600090815260056020526040812054909142916108079190610ec1565b10801561081d5750600d5461081b83610730565b115b92915050565b6000546001600160a01b0316331461083a57600080fd5b61084381610aa4565b50565b6003546000819003610856575050565b60008060005a90505b848210801561086d57508383105b1561092c5783600e5410610881576000600e555b6108b36003600e548154811061089957610899610e2b565b6000918252602090912001546001600160a01b03166107dd565b156108ea576108ea6003600e54815481106108d0576108d0610e2b565b6000918252602090912001546001600160a01b0316610aa4565b6108ff6108f85a8390610933565b839061097c565b91505a600e8054919250600061091483610ed9565b9190505550828061092490610ed9565b93505061085f565b5050505050565b600061097583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cf4565b9392505050565b6000806109898385610ec1565b9050838110156109755760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b6000826000036109f25750600061081d565b60006109fe8385610ef2565b905082610a0b8583610f11565b146109755760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109d7565b600061097583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d2e565b6001600160a01b0381166000908152600660205260408120549003610ac65750565b6000610ad182610730565b90508015610bbe57600954610ae6908261097c565b60095560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190610f33565b506001600160a01b03821660009081526005602090815260408083204290556006909152902060020154610b94908261097c565b6001600160a01b038316600090815260066020526040902060028101919091555461070d90610cd7565b5050565b60038054610bd290600190610f55565b81548110610be257610be2610e2b565b60009182526020808320909101546001600160a01b0384811684526004909252604090922054600380549290931692918110610c2057610c20610e2b565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260049182905260408120546003805491939291610c6c90600190610f55565b81548110610c7c57610c7c610e2b565b60009182526020808320909101546001600160a01b031683528201929092526040019020556003805480610cb257610cb2610f6c565b600082815260209020810160001990810180546001600160a01b031916905501905550565b600061081d600b546105a1600a54856109e090919063ffffffff16565b60008184841115610d185760405162461bcd60e51b81526004016109d79190610f82565b506000610d258486610f55565b95945050505050565b60008183610d4f5760405162461bcd60e51b81526004016109d79190610f82565b506000610d258486610f11565b6001600160a01b038116811461084357600080fd5b60008060408385031215610d8457600080fd5b8235610d8f81610d5c565b946020939093013593505050565b600060208284031215610daf57600080fd5b813561097581610d5c565b60008060408385031215610dcd57600080fd5b50508035926020909101359150565b600060208284031215610dee57600080fd5b5035919050565b600060208284031215610e0757600080fd5b5051919050565b600060208284031215610e2057600080fd5b815161097581610d5c565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610e8b5784516001600160a01b031683529383019391830191600101610e66565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610ed457610ed4610eab565b500190565b600060018201610eeb57610eeb610eab565b5060010190565b6000816000190483118215151615610f0c57610f0c610eab565b500290565b600082610f2e57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610f4557600080fd5b8151801515811461097557600080fd5b600082821015610f6757610f67610eab565b500390565b634e487b7160e01b600052603160045260246000fd5b600060208083528351808285015260005b81811015610faf57858101830151858201604001528201610f93565b81811115610fc1576000604083870101525b50601f01601f191692909201604001939250505056fea264697066735822122059b18982fc8c6765b94c0626ac73b986508f67e921e432588bdd04abf3c5eec164736f6c634300080d00330000000000000000000000006c105d60518573938d8574d2fc45ec957adf15e3

Deployed Bytecode

0x6080604052600436106103855760003560e01c80637db1342c116101d1578063bf56b37111610102578063dd62ed3e116100a0578063f887ea401161006f578063f887ea4014610a8e578063f8b45b0514610aae578063fabe628314610ac4578063ffb54a9914610ae457600080fd5b8063dd62ed3e146109e8578063e84067fd14610a2e578063f2fde38b14610a4e578063f708a64f14610a6e57600080fd5b8063c9567bf9116100dc578063c9567bf91461097d578063caa5581b14610992578063d094f215146109a8578063d920334e146109c857600080fd5b8063bf56b37114610931578063c45a015514610947578063c8d1293d1461096757600080fd5b806395d89b411161016f578063a8aa1b3111610149578063a8aa1b31146108b1578063a9059cbb146108d1578063b515566a146108f1578063bb542ef01461091157600080fd5b806395d89b411461084d5780639952235e1461087b578063a3a2e89e1461089157600080fd5b806389291a8f116101ab57806389291a8f146107ca578063893d20e8146107df5780638b42507f146107fd5780638f6fbb021461082d57600080fd5b80637db1342c146107695780637dfcbe341461078957806381934031146107aa57600080fd5b8063313ce567116102b65780634a74bb02116102545780637437681e116102235780637437681e1461070857806375df13051461071e578063769681c31461073457806377359aa71461074957600080fd5b80634a74bb021461067c578063571ac8b01461069d57806366eb3785146106bd57806370a08231146106d257600080fd5b80634355855a116102905780634355855a146106005780634543437714610630578063468c7ee214610646578063470624021461066657600080fd5b8063313ce567146105945780633dab5269146105b05780633f4218e0146105d057600080fd5b8063273123b7116103235780632d48e896116102fd5780632d48e896146105055780632dbea2e1146105255780632f54bf6e1461054557806330ca34ee1461057457600080fd5b8063273123b7146104ba5780632b112e49146104da5780632b14ca56146104ef57600080fd5b80630bdb28781161035f5780630bdb28781461042b57806317764d3d1461044d57806318160ddd1461048557806323b872dd1461049a57600080fd5b80630445b6671461039157806306fdde03146103ba578063095ea7b3146103fb57600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a7601f5481565b6040519081526020015b60405180910390f35b3480156103c657600080fd5b5060408051808201909152600f81526e4676636b205468652053797374656d60881b60208201525b6040516103b191906120b6565b34801561040757600080fd5b5061041b610416366004612130565b610b05565b60405190151581526020016103b1565b34801561043757600080fd5b5061044b61044636600461215c565b610b72565b005b34801561045957600080fd5b5060195461046d906001600160a01b031681565b6040516001600160a01b0390911681526020016103b1565b34801561049157600080fd5b506002546103a7565b3480156104a657600080fd5b5061041b6104b5366004612175565b610baa565b3480156104c657600080fd5b5061044b6104d53660046121b6565b610c6c565b3480156104e657600080fd5b506103a7610cb7565b3480156104fb57600080fd5b506103a760105481565b34801561051157600080fd5b5061044b6105203660046121d3565b610d09565b34801561053157600080fd5b5061044b6105403660046121f5565b610d9d565b34801561055157600080fd5b5061041b6105603660046121b6565b6000546001600160a01b0391821691161490565b34801561058057600080fd5b5061044b61058f3660046121d3565b610dd5565b3480156105a057600080fd5b50604051601281526020016103b1565b3480156105bc57600080fd5b5061044b6105cb366004612231565b610e87565b3480156105dc57600080fd5b5061041b6105eb3660046121b6565b600a6020526000908152604090205460ff1681565b34801561060c57600080fd5b5061041b61061b3660046121b6565b600c6020526000908152604090205460ff1681565b34801561063c57600080fd5b506103a760145481565b34801561065257600080fd5b5061044b6106613660046121b6565b610ed3565b34801561067257600080fd5b506103a7600f5481565b34801561068857600080fd5b50601a5461041b90600160a81b900460ff1681565b3480156106a957600080fd5b5061041b6106b83660046121b6565b610f1f565b3480156106c957600080fd5b5061044b610f2d565b3480156106de57600080fd5b506103a76106ed3660046121b6565b6001600160a01b031660009081526003602052604090205490565b34801561071457600080fd5b506103a7601d5481565b34801561072a57600080fd5b506103a760135481565b34801561074057600080fd5b5061044b610f61565b34801561075557600080fd5b506103a76107643660046121b6565b610fc0565b34801561077557600080fd5b5061044b61078436600461215c565b61102f565b34801561079557600080fd5b5060085461041b90600160a01b900460ff1681565b3480156107b657600080fd5b5061044b6107c536600461215c565b61105e565b3480156107d657600080fd5b5061044b6110ec565b3480156107eb57600080fd5b506000546001600160a01b031661046d565b34801561080957600080fd5b5061041b6108183660046121b6565b600b6020526000908152604090205460ff1681565b34801561083957600080fd5b5061044b6108483660046121b6565b61115a565b34801561085957600080fd5b506040805180820190915260058152644348414f5360d81b60208201526103ee565b34801561088757600080fd5b506103a7601c5481565b34801561089d57600080fd5b5061044b6108ac36600461224d565b6111a6565b3480156108bd57600080fd5b5060165461046d906001600160a01b031681565b3480156108dd57600080fd5b5061041b6108ec366004612130565b6111fb565b3480156108fd57600080fd5b5061044b61090c366004612298565b611208565b34801561091d57600080fd5b5061044b61092c3660046121b6565b61129a565b34801561093d57600080fd5b506103a7600d5481565b34801561095357600080fd5b5060175461046d906001600160a01b031681565b34801561097357600080fd5b506103a760125481565b34801561098957600080fd5b5061044b6112e6565b34801561099e57600080fd5b506103a760115481565b3480156109b457600080fd5b50601b5461046d906001600160a01b031681565b3480156109d457600080fd5b5061044b6109e336600461215c565b611329565b3480156109f457600080fd5b506103a7610a0336600461235d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a3a57600080fd5b5060015461046d906001600160a01b031681565b348015610a5a57600080fd5b5061044b610a693660046121b6565b611358565b348015610a7a57600080fd5b5061044b610a8936600461224d565b6113d6565b348015610a9a57600080fd5b5060155461046d906001600160a01b031681565b348015610aba57600080fd5b506103a7601e5481565b348015610ad057600080fd5b5061044b610adf36600461224d565b61140a565b348015610af057600080fd5b50601a5461041b90600160b01b900460ff1681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b609086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610ba55760405162461bcd60e51b8152600401610b9c90612396565b60405180910390fd5b601c55565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610c57576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610c329184906114a1565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610c628484846114db565b90505b9392505050565b6000546001600160a01b03163314610c965760405162461bcd60e51b8152600401610b9c90612396565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6008546001600160a01b0316600090815260036020526040812054610d04906007546001600160a01b0316600090815260036020526040902054610cfe9060025490611991565b90611991565b905090565b6000546001600160a01b03163314610d335760405162461bcd60e51b8152600401610b9c90612396565b601b546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610d8157600080fd5b505af1158015610d95573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610dc75760405162461bcd60e51b8152600401610b9c90612396565b601192909255601255601355565b6000546001600160a01b03163314610dff5760405162461bcd60e51b8152600401610b9c90612396565b600f8290556010819055600a821115610e455760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610b9c565b600a6010541115610e835760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610b9c565b5050565b6000546001600160a01b03163314610eb15760405162461bcd60e51b8152600401610b9c90612396565b601a8054921515600160a81b0260ff60a81b1990931692909217909155601f55565b6000546001600160a01b03163314610efd5760405162461bcd60e51b8152600401610b9c90612396565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b6c82600019610b05565b6000546001600160a01b03163314610f575760405162461bcd60e51b8152600401610b9c90612396565b610f5f6119d3565b565b601b54604051634a431be760e11b81523360048201526001600160a01b039091169063948637ce90602401600060405180830381600087803b158015610fa657600080fd5b505af1158015610fba573d6000803e3d6000fd5b50505050565b601b5460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401602060405180830381865afa15801561100b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6c91906123b6565b6000546001600160a01b031633146110595760405162461bcd60e51b8152600401610b9c90612396565b601e55565b6000546001600160a01b031633146110885760405162461bcd60e51b8152600401610b9c90612396565b601b546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401600060405180830381600087803b1580156110d157600080fd5b505af11580156110e5573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146111165760405162461bcd60e51b8152600401610b9c90612396565b478015611157576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e83573d6000803e3d6000fd5b50565b6000546001600160a01b031633146111845760405162461bcd60e51b8152600401610b9c90612396565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146111d05760405162461bcd60e51b8152600401610b9c90612396565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610c653384846114db565b6000546001600160a01b031633146112325760405162461bcd60e51b8152600401610b9c90612396565b60005b8151811015610e8357600160096000848481518110611256576112566123cf565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580611292816123fb565b915050611235565b6000546001600160a01b031633146112c45760405162461bcd60e51b8152600401610b9c90612396565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146113105760405162461bcd60e51b8152600401610b9c90612396565b43600d55601a805460ff60b01b1916600160b01b179055565b6000546001600160a01b031633146113535760405162461bcd60e51b8152600401610b9c90612396565b601d55565b6000546001600160a01b031633146113825760405162461bcd60e51b8152600401610b9c90612396565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b031633146114005760405162461bcd60e51b8152600401610b9c90612396565b610e838282611b61565b6000546001600160a01b031633146114345760405162461bcd60e51b8152600401610b9c90612396565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610c6583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c40565b600081848411156114c55760405162461bcd60e51b8152600401610b9c91906120b6565b5060006114d28486612414565b95945050505050565b600080546001600160a01b0385811691161480159061150857506000546001600160a01b03848116911614155b1561156657601a54600160b01b900460ff166115665760405162461bcd60e51b815260206004820152601760248201527f686f6c6420757220686f7273657320626967206775792e0000000000000000006044820152606401610b9c565b6001600160a01b03841660009081526009602052604090205460ff161580156115a857506001600160a01b03831660009081526009602052604090205460ff16155b6115b157600080fd5b601a54600160a01b900460ff16156115d5576115ce848484611c6e565b9050610c65565b601d54821115806115fe57506001600160a01b0384166000908152600b602052604090205460ff165b61162f5760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b6044820152606401610b9c565b6001600160a01b0383166000908152600b602052604090205460ff161580156116615750600854600160a01b900460ff165b156116c357601e546001600160a01b03841660009081526003602052604090205461168c9084611d54565b11156116c35760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b6044820152606401610b9c565b6016546001600160a01b031633148015906116e85750601a54600160a01b900460ff16155b80156116fd5750601a54600160a81b900460ff165b801561171a5750601f543060009081526003602052604090205410155b15611727576117276119d3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600390915291909120546117799184906114a1565b6001600160a01b038516600090815260036020908152604080832093909355600a90529081205460ff161580156117c957506001600160a01b0384166000908152600a602052604090205460ff16155b6117d357826117de565b6117de858585611db3565b6001600160a01b0385166000908152600360205260409020549091506118049082611d54565b6001600160a01b038086166000908152600360209081526040808320949094559188168152600c909152205460ff166118a857601b546001600160a01b0386811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561189557600080fd5b505af19250505080156118a6575060015b505b6001600160a01b0384166000908152600c602052604090205460ff1661193957601b546001600160a01b0385811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561192657600080fd5b505af1925050508015611937575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161197e91815260200190565b60405180910390a3506001949350505050565b6000610c6583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114a1565b601a805460ff60a01b1916600160a01b17905530600090815260036020526040812054601254909190611a1990600290611a139060649082908790611e76565b9061145f565b90506000611a278383611991565b9050611a3281611ef8565b60004790506000611a536064611a1360115485611e7690919063ffffffff16565b90506000611a716064611a1360135486611e7690919063ffffffff16565b90506000611a946002611a136064611a1360125489611e7690919063ffffffff16565b90508315611ad8576019546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611ad6573d6000803e3d6000fd5b505b601b60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b2857600080fd5b505af193505050508015611b3a575060015b508515611b4b57611b4b8682612021565b5050601a805460ff60a01b191690555050505050565b6001600160a01b0382163014801590611b8857506016546001600160a01b03838116911614155b611b9157600080fd5b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155611bf757601b54604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610d67565b601b546001600160a01b0383811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610d67565b60008183611c615760405162461bcd60e51b8152600401610b9c91906120b6565b5060006114d2848661242b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611cbf9184906114a1565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611cee9083611d54565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d429086815260200190565b60405180910390a35060019392505050565b600080611d61838561244d565b905083811015610c655760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b9c565b60165460009081906001600160a01b03858116911614611dd557600f54611dd9565b6010545b90506000611dec6064611a138685611e76565b30600090815260036020526040902054909150611e099082611d54565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e5a9085815260200190565b60405180910390a3611e6c8482611991565b9695505050505050565b600082600003611e8857506000610b6c565b6000611e948385612465565b905082611ea1858361242b565b14610c655760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b9c565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f2d57611f2d6123cf565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611faa9190612484565b81600181518110611fbd57611fbd6123cf565b60200260200101906001600160a01b031690816001600160a01b031681525050611fe73083610b05565b5060155460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d679085906000908690309042906004016124a1565b601554600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612091573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110e59190612512565b600060208083528351808285015260005b818110156120e3578581018301518582016040015282016120c7565b818111156120f5576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461115757600080fd5b803561212b8161210b565b919050565b6000806040838503121561214357600080fd5b823561214e8161210b565b946020939093013593505050565b60006020828403121561216e57600080fd5b5035919050565b60008060006060848603121561218a57600080fd5b83356121958161210b565b925060208401356121a58161210b565b929592945050506040919091013590565b6000602082840312156121c857600080fd5b8135610c658161210b565b600080604083850312156121e657600080fd5b50508035926020909101359150565b60008060006060848603121561220a57600080fd5b505081359360208301359350604090920135919050565b8035801515811461212b57600080fd5b6000806040838503121561224457600080fd5b61214e83612221565b6000806040838503121561226057600080fd5b823561226b8161210b565b915061227960208401612221565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156122ab57600080fd5b823567ffffffffffffffff808211156122c357600080fd5b818501915085601f8301126122d757600080fd5b8135818111156122e9576122e9612282565b8060051b604051601f19603f8301168101818110858211171561230e5761230e612282565b60405291825284820192508381018501918883111561232c57600080fd5b938501935b828510156123515761234285612120565b84529385019392850192612331565b98975050505050505050565b6000806040838503121561237057600080fd5b823561237b8161210b565b9150602083013561238b8161210b565b809150509250929050565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b6000602082840312156123c857600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161240d5761240d6123e5565b5060010190565b600082821015612426576124266123e5565b500390565b60008261244857634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115612460576124606123e5565b500190565b600081600019048311821515161561247f5761247f6123e5565b500290565b60006020828403121561249657600080fd5b8151610c658161210b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124f15784516001600160a01b0316835293830193918301916001016124cc565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561252757600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220d4458c63057e430124ef7835d74b718ca6beaac941ed850f73f42064660e740b64736f6c634300080d0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006c105d60518573938d8574d2fc45ec957adf15e3

-----Decoded View---------------
Arg [0] : _owner (address): 0x6C105D60518573938d8574D2fC45eC957ADF15e3

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006c105d60518573938d8574d2fc45ec957adf15e3


Deployed Bytecode Sourcemap

15293:12410:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17295:52;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;17295:52:0;;;;;;;;21763:80;;;;;;;;;;-1:-1:-1;21835:5:0;;;;;;;;;;;;-1:-1:-1;;;21835:5:0;;;;21763:80;;;;;;;:::i;22189:216::-;;;;;;;;;;-1:-1:-1;22189:216:0;;;;;:::i;:::-;;:::i;:::-;;;1558:14:1;;1551:22;1533:41;;1521:2;1506:18;22189:216:0;1393:187:1;21216:108:0;;;;;;;;;;-1:-1:-1;21216:108:0;;;;;:::i;:::-;;:::i;:::-;;16691:82;;;;;;;;;;-1:-1:-1;16691:82:0;;;;-1:-1:-1;;;;;16691:82:0;;;;;;-1:-1:-1;;;;;1934:32:1;;;1916:51;;1904:2;1889:18;16691:82:0;1770:203:1;21493:88:0;;;;;;;;;;-1:-1:-1;21566:12:0;;21493:88;;22703:366;;;;;;;;;;-1:-1:-1;22703:366:0;;;;;:::i;:::-;;:::i;20633:90::-;;;;;;;;;;-1:-1:-1;20633:90:0;;;;;:::i;:::-;;:::i;21343:142::-;;;;;;;;;;;;;:::i;16375:27::-;;;;;;;;;;;;;;;;20427:198;;;;;;;;;;-1:-1:-1;20427:198:0;;;;;:::i;:::-;;:::i;19091:233::-;;;;;;;;;;-1:-1:-1;19091:233:0;;;;;:::i;:::-;;:::i;7460:103::-;;;;;;;;;;-1:-1:-1;7460:103:0;;;;;:::i;:::-;7515:4;7550:5;-1:-1:-1;;;;;7539:16:0;;;7550:5;;7539:16;;7460:103;18834:244;;;;;;;;;;-1:-1:-1;18834:244:0;;;;;:::i;:::-;;:::i;21587:80::-;;;;;;;;;;-1:-1:-1;21587:80:0;;15605:2;3407:36:1;;3395:2;3380:18;21587:80:0;3265:184:1;20220:199:0;;;;;;;;;;-1:-1:-1;20220:199:0;;;;;:::i;:::-;;:::i;16106:44::-;;;;;;;;;;-1:-1:-1;16106:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16212:49;;;;;;;;;;-1:-1:-1;16212:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16529:34;;;;;;;;;;;;;;;;19972:102;;;;;;;;;;-1:-1:-1;19972:102:0;;;;;:::i;:::-;;:::i;16342:26::-;;;;;;;;;;;;;;;;16903:40;;;;;;;;;;-1:-1:-1;16903:40:0;;;;-1:-1:-1;;;16903:40:0;;;;;;22413:122;;;;;;;;;;-1:-1:-1;22413:122:0;;;;;:::i;:::-;;:::i;27000:74::-;;;;;;;;;;;;;:::i;21933:105::-;;;;;;;;;;-1:-1:-1;21933:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;22017:18:0;21999:7;22017:18;;;:9;:18;;;;;;;21933:105;17191:43;;;;;;;;;;;;;;;;16489:31;;;;;;;;;;;;;;;;27610:90;;;;;;;;;;;;;:::i;27448:154::-;;;;;;;;;;-1:-1:-1;27448:154:0;;;;;:::i;:::-;;:::i;19435:104::-;;;;;;;;;;-1:-1:-1;19435:104:0;;;;;:::i;:::-;;:::i;16025:26::-;;;;;;;;;;-1:-1:-1;16025:26:0;;;;-1:-1:-1;;;16025:26:0;;;;;;27327:113;;;;;;;;;;-1:-1:-1;27327:113:0;;;;;:::i;:::-;;:::i;27082:237::-;;;;;;;;;;;;;:::i;21849:78::-;;;;;;;;;;-1:-1:-1;21901:7:0;21919:5;-1:-1:-1;;;;;21919:5:0;21849:78;;16157:48;;;;;;;;;;-1:-1:-1;16157:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19825:139;;;;;;;;;;-1:-1:-1;19825:139:0;;;;;:::i;:::-;;:::i;21673:84::-;;;;;;;;;;-1:-1:-1;21747:7:0;;;;;;;;;;;;-1:-1:-1;;;21747:7:0;;;;21673:84;;17031:33;;;;;;;;;;;;;;;;19551:122;;;;;;;;;;-1:-1:-1;19551:122:0;;;;;:::i;:::-;;:::i;16603:19::-;;;;;;;;;;-1:-1:-1;16603:19:0;;;;-1:-1:-1;;;;;16603:19:0;;;22543:152;;;;;;;;;;-1:-1:-1;22543:152:0;;;;;:::i;:::-;;:::i;18487:166::-;;;;;;;;;;-1:-1:-1;18487:166:0;;;;;:::i;:::-;;:::i;20086:121::-;;;;;;;;;;-1:-1:-1;20086:121:0;;;;;:::i;:::-;;:::i;16270:25::-;;;;;;;;;;;;;;;;16629:22;;;;;;;;;;-1:-1:-1;16629:22:0;;;;-1:-1:-1;;;;;16629:22:0;;;16451:31;;;;;;;;;;;;;;;;18705:115;;;;;;;;;;;;;:::i;16411:33::-;;;;;;;;;;;;;;;;16994:30;;;;;;;;;;-1:-1:-1;16994:30:0;;;;-1:-1:-1;;;;;16994:30:0;;;19332:95;;;;;;;;;;-1:-1:-1;19332:95:0;;;;;:::i;:::-;;:::i;22044:133::-;;;;;;;;;;-1:-1:-1;22044:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;22146:19:0;;;22128:7;22146:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;22044:133;15374:67;;;;;;;;;;-1:-1:-1;15374:67:0;;;;-1:-1:-1;;;;;15374:67:0;;;7571:136;;;;;;;;;;-1:-1:-1;7571:136:0;;;;;:::i;:::-;;:::i;21076:132::-;;;;;;;;;;-1:-1:-1;21076:132:0;;;;;:::i;:::-;;:::i;16572:24::-;;;;;;;;;;-1:-1:-1;16572:24:0;;;;-1:-1:-1;;;;;16572:24:0;;;17241:47;;;;;;;;;;;;;;;;19681:136;;;;;;;;;;-1:-1:-1;19681:136:0;;;;;:::i;:::-;;:::i;16950:31::-;;;;;;;;;;-1:-1:-1;16950:31:0;;;;-1:-1:-1;;;16950:31:0;;;;;;22189:216;22293:10;22264:4;22281:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;22281:32:0;;;;;;;;;;:41;;;22338:37;22264:4;;22281:32;;22338:37;;;;22316:6;160:25:1;;148:2;133:18;;14:177;22338:37:0;;;;;;;;-1:-1:-1;22393:4:0;22189:216;;;;;:::o;21216:108::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;;;;;;;;;21293:14:::1;:23:::0;21216:108::o;22703:366::-;-1:-1:-1;;;;;22823:19:0;;22803:4;22823:19;;;:11;:19;;;;;;;;22843:10;22823:31;;;;;;;;-1:-1:-1;;22823:52:0;22820:186;;22925:69;;;;;;;;;;;-1:-1:-1;;;22925:69:0;;;;;;;;-1:-1:-1;;;;;22925:19:0;;-1:-1:-1;22925:19:0;;;:11;:19;;;;;22945:10;22925:31;;;;;;;;;;:69;;22961:6;;22925:35;:69::i;:::-;-1:-1:-1;;;;;22891:19:0;;;;;;:11;:19;;;;;;;;22911:10;22891:31;;;;;;;:103;22820:186;23025:36;23035:6;23043:9;23054:6;23025:9;:36::i;:::-;23018:43;;22703:366;;;;;;:::o;20633:90::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20695:12:0::1;20710:5;20695:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;20695:20:0::1;::::0;;20633:90::o;21343:142::-;21471:4;;-1:-1:-1;;;;;21471:4:0;21396:7;22017:18;;;:9;:18;;;;;;21423:54;;21450:4;;-1:-1:-1;;;;;21450:4:0;21999:7;22017:18;;;:9;:18;;;;;;21423:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;21416:61;;21343:142;:::o;20427:198::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;20540:11:::1;::::0;:69:::1;::::0;-1:-1:-1;;;20540:69:0;;::::1;::::0;::::1;7073:25:1::0;;;7114:18;;;7107:34;;;-1:-1:-1;;;;;20540:11:0;;::::1;::::0;:35:::1;::::0;7046:18:1;;20540:69:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20427:198:::0;;:::o;19091:233::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;19215:13:::1;:28:::0;;;;19254:11:::1;:22:::0;19287:11:::1;:29:::0;19091:233::o;18834:244::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;18930:6:::1;:18:::0;;;18959:7:::1;:20:::0;;;19010:2:::1;19000:12:::0;::::1;;18992:33;;;::::0;-1:-1:-1;;;18992:33:0;;7354:2:1;18992:33:0::1;::::0;::::1;7336:21:1::0;7393:1;7373:18;;;7366:29;-1:-1:-1;;;7411:18:1;;;7404:38;7459:18;;18992:33:0::1;7152:331:1::0;18992:33:0::1;19055:2;19044:7;;:13;;19036:34;;;::::0;-1:-1:-1;;;19036:34:0;;7354:2:1;19036:34:0::1;::::0;::::1;7336:21:1::0;7393:1;7373:18;;;7366:29;-1:-1:-1;;;7411:18:1;;;7404:38;7459:18;;19036:34:0::1;7152:331:1::0;19036:34:0::1;18834:244:::0;;:::o;20220:199::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;20329:21:::1;:39:::0;;;::::1;;-1:-1:-1::0;;;20329:39:0::1;-1:-1:-1::0;;;;20329:39:0;;::::1;::::0;;;::::1;::::0;;;20379:13:::1;:32:::0;20220:199::o;19972:102::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;20044:8:::1;:22:::0;;-1:-1:-1;;;;;;20044:22:0::1;-1:-1:-1::0;;;;;20044:22:0;;;::::1;::::0;;;::::1;::::0;;19972:102::o;22413:122::-;22468:4;22492:35;22500:7;-1:-1:-1;;22492:7:0;:35::i;27000:74::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;27056:10:::1;:8;:10::i;:::-;27000:74::o:0;27610:90::-;27655:11;;:37;;-1:-1:-1;;;27655:37:0;;27681:10;27655:37;;;1916:51:1;-1:-1:-1;;;;;27655:11:0;;;;:25;;1889:18:1;;27655:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27610:90::o;27448:154::-;27552:11;;:42;;-1:-1:-1;;;27552:42:0;;-1:-1:-1;;;;;1934:32:1;;;27552:42:0;;;1916:51:1;27525:7:0;;27552:11;;:29;;1889:18:1;;27552:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19435:104::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;19510:9:::1;:21:::0;19435:104::o;27327:113::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;27402:11:::1;::::0;:30:::1;::::0;-1:-1:-1;;;;;;27402:30:0;;::::1;::::0;::::1;160:25:1::0;;;-1:-1:-1;;;;;27402:11:0;;::::1;::::0;:19:::1;::::0;133:18:1;;27402:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;27327:113:::0;:::o;27082:237::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;27166:21:::1;27201:22:::0;;27198:114:::1;;27257:13;::::0;27249:51:::1;::::0;-1:-1:-1;;;;;27257:13:0;;::::1;::::0;27249:51;::::1;;;::::0;27281:18;;27257:13:::1;27249:51:::0;27257:13;27249:51;27281:18;27257:13;27249:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;27198:114;27126:193;27082:237::o:0;19825:139::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;19915:13:::1;:41:::0;;-1:-1:-1;;;;;;19915:41:0::1;-1:-1:-1::0;;;;;19915:41:0;;;::::1;::::0;;;::::1;::::0;;19825:139::o;19551:122::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19637:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;19637:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19551:122::o;22543:152::-;22623:4;22647:40;22657:10;22669:9;22680:6;22647:9;:40::i;18487:166::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;18563:6:::1;18558:88;18579:5;:12;18575:1;:16;18558:88;;;18630:4;18613;:14;18618:5;18624:1;18618:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;18613:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;18613:14:0;:21;;-1:-1:-1;;18613:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18593:3;::::1;::::0;::::1;:::i;:::-;;;;18558:88;;20086:121:::0;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;20172:10:::1;:27:::0;;-1:-1:-1;;;;;;20172:27:0::1;-1:-1:-1::0;;;;;20172:27:0;;;::::1;::::0;;;::::1;::::0;;20086:121::o;18705:115::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;18771:12:::1;18758:10;:25:::0;18794:11:::1;:18:::0;;-1:-1:-1;;;;18794:18:0::1;-1:-1:-1::0;;;18794:18:0::1;::::0;;18705:115::o;19332:95::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;19403:5:::1;:16:::0;19332:95::o;7571:136::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;7647:5:::1;:11:::0;;-1:-1:-1;;;;;;7647:11:0::1;-1:-1:-1::0;;;;;7647:11:0;::::1;::::0;;::::1;::::0;;;7674:25:::1;::::0;1916:51:1;;;7674:25:0::1;::::0;1904:2:1;1889:18;7674:25:0::1;;;;;;;7571:136:::0;:::o;21076:132::-;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;21164:36:::1;21185:6;21193;21164:20;:36::i;19681:136::-:0;7515:4;7550:5;-1:-1:-1;;;;;7550:5:0;7367:10;7539:16;7351:38;;;;-1:-1:-1;;;7351:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19777:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;19777:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19681:136::o;5659:132::-;5717:7;5744:39;5748:1;5751;5744:39;;;;;;;;;;;;;;;;;:3;:39::i;5205:192::-;5291:7;5327:12;5319:6;;;;5311:29;;;;-1:-1:-1;;;5311:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5351:9:0;5363:5;5367:1;5363;:5;:::i;:::-;5351:17;5205:192;-1:-1:-1;;;;;5205:192:0:o;23077:1420::-;23165:4;23195:5;;-1:-1:-1;;;;;23186:14:0;;;23195:5;;23186:14;;;;:35;;-1:-1:-1;23216:5:0;;-1:-1:-1;;;;;23204:17:0;;;23216:5;;23204:17;;23186:35;23182:88;;;23231:11;;-1:-1:-1;;;23231:11:0;;;;23223:47;;;;-1:-1:-1;;;23223:47:0;;8629:2:1;23223:47:0;;;8611:21:1;8668:2;8648:18;;;8641:30;8707:25;8687:18;;;8680:53;8750:18;;23223:47:0;8427:347:1;23223:47:0;-1:-1:-1;;;;;23332:12:0;;;;;;:4;:12;;;;;;;;23331:13;:33;;;;-1:-1:-1;;;;;;23349:15:0;;;;;;:4;:15;;;;;;;;23348:16;23331:33;23323:42;;;;;;23381:16;;-1:-1:-1;;;23381:16:0;;;;23378:73;;;23407:41;23422:6;23430:9;23441:6;23407:14;:41::i;:::-;23400:48;;;;23378:73;23481:5;;23471:6;:15;;:42;;;-1:-1:-1;;;;;;23490:23:0;;;;;;:15;:23;;;;;;;;23471:42;23463:57;;;;-1:-1:-1;;;23463:57:0;;8981:2:1;23463:57:0;;;8963:21:1;9020:1;9000:18;;;8993:29;-1:-1:-1;;;9038:18:1;;;9031:32;9080:18;;23463:57:0;8779:325:1;23463:57:0;-1:-1:-1;;;;;23537:26:0;;;;;;:15;:26;;;;;;;;23536:27;:38;;;;-1:-1:-1;23567:7:0;;-1:-1:-1;;;23567:7:0;;;;23536:38;23533:143;;;23644:9;;-1:-1:-1;;;;;23608:20:0;;;;;;:9;:20;;;;;;:32;;23633:6;23608:24;:32::i;:::-;:45;;23600:64;;;;-1:-1:-1;;;23600:64:0;;9311:2:1;23600:64:0;;;9293:21:1;9350:1;9330:18;;;9323:29;-1:-1:-1;;;9368:18:1;;;9361:36;9414:18;;23600:64:0;9109:329:1;23600:64:0;23705:4;;-1:-1:-1;;;;;23705:4:0;23691:10;:18;;;;:39;;-1:-1:-1;23714:16:0;;-1:-1:-1;;;23714:16:0;;;;23713:17;23691:39;:64;;;;-1:-1:-1;23734:21:0;;-1:-1:-1;;;23734:21:0;;;;23691:64;:109;;;;-1:-1:-1;23787:13:0;;23777:4;23759:24;;;;:9;:24;;;;;;:41;;23691:109;23688:128;;;23803:10;:8;:10::i;:::-;23848:53;;;;;;;;;;;-1:-1:-1;;;23848:53:0;;;;;;;;-1:-1:-1;;;;;23848:17:0;;-1:-1:-1;23848:17:0;;;:9;:17;;;;;;;;:53;;23870:6;;23848:21;:53::i;:::-;-1:-1:-1;;;;;23828:17:0;;;;;;:9;:17;;;;;;;;:73;;;;23945:11;:19;;;;;;;;23944:20;:47;;;;-1:-1:-1;;;;;;23969:22:0;;;;;;:11;:22;;;;;;;;23968:23;23944:47;:93;;24031:6;23944:93;;;23994:34;24002:6;24010:9;24021:6;23994:7;:34::i;:::-;-1:-1:-1;;;;;24071:20:0;;;;;;:9;:20;;;;;;23922:115;;-1:-1:-1;24071:37:0;;23922:115;24071:24;:37::i;:::-;-1:-1:-1;;;;;24048:20:0;;;;;;;:9;:20;;;;;;;;:60;;;;24154:24;;;;;:16;:24;;;;;;;24150:119;;24199:11;;-1:-1:-1;;;;;24228:17:0;;;24199:11;24228:17;;;:9;:17;;;;;;;;24199:47;;-1:-1:-1;;;24199:47:0;;;;;9617:51:1;;;;9684:18;;;9677:34;24199:11:0;;;:20;;9590:18:1;;24199:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24195:63;;-1:-1:-1;;;;;24285:27:0;;;;;;:16;:27;;;;;;;;24281:129;;24333:11;;-1:-1:-1;;;;;24365:20:0;;;24333:11;24365:20;;;:9;:20;;;;;;;;24333:53;;-1:-1:-1;;;24333:53:0;;;;;9617:51:1;;;;9684:18;;;9677:34;24333:11:0;;;:20;;9590:18:1;;24333:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24329:69;;24444:9;-1:-1:-1;;;;;24427:40:0;24436:6;-1:-1:-1;;;;;24427:40:0;;24455:11;24427:40;;;;160:25:1;;148:2;133:18;;14:177;24427:40:0;;;;;;;;-1:-1:-1;24485:4:0;;23077:1420;-1:-1:-1;;;;23077:1420:0:o;5063:136::-;5121:7;5148:43;5152:1;5155;5148:43;;;;;;;;;;;;;;;;;:3;:43::i;26047:945::-;17105:16;:23;;-1:-1:-1;;;;17105:23:0;-1:-1:-1;;;17105:23:0;;;26146:4:::1;17105:23:::0;26128:24;;;:9:::1;:24;::::0;;;;;26210:11:::1;::::0;26128:24;;17105:23;26193:45:::1;::::0;26236:1:::1;::::0;26193:38:::1;::::0;26227:3:::1;::::0;26193:38;;26128:24;;26193:16:::1;:29::i;:::-;:33:::0;::::1;:38::i;:45::-;26164:74:::0;-1:-1:-1;26254:20:0::1;26277:36;:12:::0;26164:74;26277:16:::1;:36::i;:::-;26254:59;;26326:30;26343:12;26326:16;:30::i;:::-;26369:23;26395:21;26369:47;;26427:21;26451:43;26490:3;26451:34;26471:13;;26451:15;:19;;:34;;;;:::i;:43::-;26427:67;;26505:27;26535:41;26572:3;26535:32;26555:11;;26535:15;:19;;:32;;;;:::i;:41::-;26505:71;;26587:23;26613:48;26659:1;26613:41;26650:3;26613:32;26633:11;;26613:15;:19;;:32;;;;:::i;:48::-;26587:74:::0;-1:-1:-1;26684:19:0;;26680:103:::1;;26727:13;::::0;26719:52:::1;::::0;-1:-1:-1;;;;;26727:13:0;;::::1;::::0;26719:52;::::1;;;::::0;26751:19;;26727:13:::1;26719:52:::0;26727:13;26719:52;26751:19;26727:13;26719:52;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;26680:103;26807:11;;;;;;;;;-1:-1:-1::0;;;;;26807:11:0::1;-1:-1:-1::0;;;;;26807:19:0::1;;26834:13;26807:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;26803:59:::0;26886:22;;26882:103:::1;;26924:49;26937:18;26957:15;26924:12;:49::i;:::-;-1:-1:-1::0;;17151:16:0;:24;;-1:-1:-1;;;;17151:24:0;;;-1:-1:-1;;;;;26047:945:0:o;20731:337::-;-1:-1:-1;;;;;20818:23:0;;20836:4;20818:23;;;;:41;;-1:-1:-1;20855:4:0;;-1:-1:-1;;;;;20845:14:0;;;20855:4;;20845:14;;20818:41;20810:50;;;;;;-1:-1:-1;;;;;20871:24:0;;;;;;:16;:24;;;;;:33;;-1:-1:-1;;20871:33:0;;;;;;;;;;;;20915:146;;20940:11;;:31;;-1:-1:-1;;;20940:31:0;;-1:-1:-1;;;;;9635:32:1;;;20940:31:0;;;9617:51:1;20940:11:0;9684:18:1;;;9677:34;20940:11:0;;;;:20;;9590:18:1;;20940:31:0;9443:274:1;20915:146:0;21002:11;;-1:-1:-1;;;;;21031:17:0;;;21002:11;21031:17;;;:9;:17;;;;;;;;21002:47;;-1:-1:-1;;;21002:47:0;;;;;9617:51:1;;;;9684:18;;;9677:34;21002:11:0;;;:20;;9590:18:1;;21002:47:0;9443:274:1;5797:345:0;5883:7;5985:12;5978:5;5970:28;;;;-1:-1:-1;;;5970:28:0;;;;;;;;:::i;:::-;-1:-1:-1;6009:9:0;6021:5;6025:1;6021;:5;:::i;24509:330::-;24639:53;;;;;;;;;;;-1:-1:-1;;;24639:53:0;;;;;;;;-1:-1:-1;;;;;24639:17:0;;24602:4;24639:17;;;:9;:17;;;;;;;:53;;24661:6;;24639:21;:53::i;:::-;-1:-1:-1;;;;;24619:17:0;;;;;;;:9;:17;;;;;;:73;;;;24726:20;;;;;;;:32;;24751:6;24726:24;:32::i;:::-;-1:-1:-1;;;;;24703:20:0;;;;;;;:9;:20;;;;;;;:55;;;;24774:35;;;;;;;;;;24802:6;160:25:1;;148:2;133:18;;14:177;24774:35:0;;;;;;;;-1:-1:-1;24827:4:0;24509:330;;;;;:::o;4876:181::-;4934:7;;4966:5;4970:1;4966;:5;:::i;:::-;4954:17;;4995:1;4990;:6;;4982:46;;;;-1:-1:-1;;;4982:46:0;;10566:2:1;4982:46:0;;;10548:21:1;10605:2;10585:18;;;10578:30;10644:29;10624:18;;;10617:57;10691:18;;4982:46:0;10364:351:1;24853:427:0;24993:4;;24939:7;;;;-1:-1:-1;;;;;24993:17:0;;;:4;;:17;:36;;25023:6;;24993:36;;;25013:7;;24993:36;24969:60;-1:-1:-1;25040:17:0;25060:34;25090:3;25060:25;:6;24969:60;25060:10;:25::i;:34::-;25152:4;25134:24;;;;:9;:24;;;;;;25040:54;;-1:-1:-1;25134:39:0;;25040:54;25134:28;:39::i;:::-;25125:4;25107:24;;;;:9;:24;;;;;;;:66;;;;25189:42;;-1:-1:-1;;;;;25189:42:0;;;;;;;25221:9;160:25:1;;148:2;133:18;;14:177;25189:42:0;;;;;;;;25251:21;:6;25262:9;25251:10;:21::i;:::-;25244:28;24853:427;-1:-1:-1;;;;;;24853:427:0:o;5403:250::-;5461:7;5485:1;5490;5485:6;5481:47;;-1:-1:-1;5515:1:0;5508:8;;5481:47;5540:9;5552:5;5556:1;5552;:5;:::i;:::-;5540:17;-1:-1:-1;5585:1:0;5576:5;5580:1;5540:17;5576:5;:::i;:::-;:10;5568:56;;;;-1:-1:-1;;;5568:56:0;;11095:2:1;5568:56:0;;;11077:21:1;11134:2;11114:18;;;11107:30;11173:34;11153:18;;;11146:62;-1:-1:-1;;;11224:18:1;;;11217:31;11265:19;;5568:56:0;10893:397:1;25292:460:0;25384:16;;;25398:1;25384:16;;;;;;;;25360:21;;25384:16;;;;;;;;;;-1:-1:-1;25384:16:0;25360:40;;25429:4;25411;25416:1;25411:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25411:23:0;;;:7;;;;;;;;;;:23;;;;25455:6;;:13;;;-1:-1:-1;;;25455:13:0;;;;:6;;;;;:11;;:13;;;;;25411:7;;25455:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25445:4;25450:1;25445:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;25445:23:0;;;-1:-1:-1;;;;;25445:23:0;;;;;25481:35;25497:4;25504:11;25481:7;:35::i;:::-;-1:-1:-1;25529:6:0;;:215;;-1:-1:-1;;;25529:215:0;;-1:-1:-1;;;;;25529:6:0;;;;:57;;:215;;25601:11;;25529:6;;25671:4;;25698;;25718:15;;25529:215;;;:::i;25760:279::-;25841:6;;25982:8;;25841:190;;-1:-1:-1;;;25841:190:0;;25904:4;25841:190;;;12877:34:1;12927:18;;;12920:34;;;25841:6:0;12970:18:1;;;12963:34;;;13013:18;;;13006:34;-1:-1:-1;;;;;25982:8:0;;;13056:19:1;;;13049:44;26005:15:0;13109:19:1;;;13102:35;25841:6:0;;;:22;;25871:9;;12811:19:1;;25841:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;196:597: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;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:315::-;1141:6;1149;1202:2;1190:9;1181:7;1177:23;1173:32;1170:52;;;1218:1;1215;1208:12;1170:52;1257:9;1244:23;1276:31;1301:5;1276:31;:::i;:::-;1326:5;1378:2;1363:18;;;;1350:32;;-1:-1:-1;;;1073:315:1:o;1585:180::-;1644:6;1697:2;1685:9;1676:7;1672:23;1668:32;1665:52;;;1713:1;1710;1703:12;1665:52;-1:-1:-1;1736:23:1;;1585:180;-1:-1:-1;1585:180:1:o;1978:456::-;2055:6;2063;2071;2124:2;2112:9;2103:7;2099:23;2095:32;2092:52;;;2140:1;2137;2130:12;2092:52;2179:9;2166:23;2198:31;2223:5;2198:31;:::i;:::-;2248:5;-1:-1:-1;2305:2:1;2290:18;;2277:32;2318:33;2277:32;2318:33;:::i;:::-;1978:456;;2370:7;;-1:-1:-1;;;2424:2:1;2409:18;;;;2396:32;;1978:456::o;2439:247::-;2498:6;2551:2;2539:9;2530:7;2526:23;2522:32;2519:52;;;2567:1;2564;2557:12;2519:52;2606:9;2593:23;2625:31;2650:5;2625:31;:::i;2691:248::-;2759:6;2767;2820:2;2808:9;2799:7;2795:23;2791:32;2788:52;;;2836:1;2833;2826:12;2788:52;-1:-1:-1;;2859:23:1;;;2929:2;2914:18;;;2901:32;;-1:-1:-1;2691:248:1:o;2944:316::-;3021:6;3029;3037;3090:2;3078:9;3069:7;3065:23;3061:32;3058:52;;;3106:1;3103;3096:12;3058:52;-1:-1:-1;;3129:23:1;;;3199:2;3184:18;;3171:32;;-1:-1:-1;3250:2:1;3235:18;;;3222:32;;2944:316;-1:-1:-1;2944:316:1:o;3454:160::-;3519:20;;3575:13;;3568:21;3558:32;;3548:60;;3604:1;3601;3594:12;3619:248;3684:6;3692;3745:2;3733:9;3724:7;3720:23;3716:32;3713:52;;;3761:1;3758;3751:12;3713:52;3784:26;3800:9;3784:26;:::i;4132:315::-;4197:6;4205;4258:2;4246:9;4237:7;4233:23;4229:32;4226:52;;;4274:1;4271;4264:12;4226:52;4313:9;4300:23;4332:31;4357:5;4332:31;:::i;:::-;4382:5;-1:-1:-1;4406:35:1;4437:2;4422:18;;4406:35;:::i;:::-;4396:45;;4132:315;;;;;:::o;4452:127::-;4513:10;4508:3;4504:20;4501:1;4494:31;4544:4;4541:1;4534:15;4568:4;4565:1;4558:15;4584:1121;4668:6;4699:2;4742;4730:9;4721:7;4717:23;4713:32;4710:52;;;4758:1;4755;4748:12;4710:52;4798:9;4785:23;4827:18;4868:2;4860:6;4857:14;4854:34;;;4884:1;4881;4874:12;4854:34;4922:6;4911:9;4907:22;4897:32;;4967:7;4960:4;4956:2;4952:13;4948:27;4938:55;;4989:1;4986;4979:12;4938:55;5025:2;5012:16;5047:2;5043;5040:10;5037:36;;;5053:18;;:::i;:::-;5099:2;5096:1;5092:10;5131:2;5125:9;5194:2;5190:7;5185:2;5181;5177:11;5173:25;5165:6;5161:38;5249:6;5237:10;5234:22;5229:2;5217:10;5214:18;5211:46;5208:72;;;5260:18;;:::i;:::-;5296:2;5289:22;5346:18;;;5380:15;;;;-1:-1:-1;5422:11:1;;;5418:20;;;5450:19;;;5447:39;;;5482:1;5479;5472:12;5447:39;5506:11;;;;5526:148;5542:6;5537:3;5534:15;5526:148;;;5608:23;5627:3;5608:23;:::i;:::-;5596:36;;5559:12;;;;5652;;;;5526:148;;;5693:6;4584:1121;-1:-1:-1;;;;;;;;4584:1121:1:o;5946:388::-;6014:6;6022;6075:2;6063:9;6054:7;6050:23;6046:32;6043:52;;;6091:1;6088;6081:12;6043:52;6130:9;6117:23;6149:31;6174:5;6149:31;:::i;:::-;6199:5;-1:-1:-1;6256:2:1;6241:18;;6228:32;6269:33;6228:32;6269:33;:::i;:::-;6321:7;6311:17;;;5946:388;;;;;:::o;6565:329::-;6767:2;6749:21;;;6806:1;6786:18;;;6779:29;-1:-1:-1;;;6839:2:1;6824:18;;6817:36;6885:2;6870:18;;6565:329::o;7488:184::-;7558:6;7611:2;7599:9;7590:7;7586:23;7582:32;7579:52;;;7627:1;7624;7617:12;7579:52;-1:-1:-1;7650:16:1;;7488:184;-1:-1:-1;7488:184:1:o;7677:127::-;7738:10;7733:3;7729:20;7726:1;7719:31;7769:4;7766:1;7759:15;7793:4;7790:1;7783:15;7809:127;7870:10;7865:3;7861:20;7858:1;7851:31;7901:4;7898:1;7891:15;7925:4;7922:1;7915:15;7941:135;7980:3;8001:17;;;7998:43;;8021:18;;:::i;:::-;-1:-1:-1;8068:1:1;8057:13;;7941:135::o;8297:125::-;8337:4;8365:1;8362;8359:8;8356:34;;;8370:18;;:::i;:::-;-1:-1:-1;8407:9:1;;8297:125::o;10009:217::-;10049:1;10075;10065:132;;10119:10;10114:3;10110:20;10107:1;10100:31;10154:4;10151:1;10144:15;10182:4;10179:1;10172:15;10065:132;-1:-1:-1;10211:9:1;;10009:217::o;10231:128::-;10271:3;10302:1;10298:6;10295:1;10292:13;10289:39;;;10308:18;;:::i;:::-;-1:-1:-1;10344:9:1;;10231:128::o;10720:168::-;10760:7;10826:1;10822;10818:6;10814:14;10811:1;10808:21;10803:1;10796:9;10789:17;10785:45;10782:71;;;10833:18;;:::i;:::-;-1:-1:-1;10873:9:1;;10720:168::o;11295:251::-;11365:6;11418:2;11406:9;11397:7;11393:23;11389:32;11386:52;;;11434:1;11431;11424:12;11386:52;11466:9;11460:16;11485:31;11510:5;11485:31;:::i;11551:980::-;11813:4;11861:3;11850:9;11846:19;11892:6;11881:9;11874:25;11918:2;11956:6;11951:2;11940:9;11936:18;11929:34;11999:3;11994:2;11983:9;11979:18;11972:31;12023:6;12058;12052:13;12089:6;12081;12074:22;12127:3;12116:9;12112:19;12105:26;;12166:2;12158:6;12154:15;12140:29;;12187:1;12197:195;12211:6;12208:1;12205:13;12197:195;;;12276:13;;-1:-1:-1;;;;;12272:39:1;12260:52;;12367:15;;;;12332:12;;;;12308:1;12226:9;12197:195;;;-1:-1:-1;;;;;;;12448:32:1;;;;12443:2;12428:18;;12421:60;-1:-1:-1;;;12512:3:1;12497:19;12490:35;12409:3;11551:980;-1:-1:-1;;;11551:980:1:o;13148:306::-;13236:6;13244;13252;13305:2;13293:9;13284:7;13280:23;13276:32;13273:52;;;13321:1;13318;13311:12;13273:52;13350:9;13344:16;13334:26;;13400:2;13389:9;13385:18;13379:25;13369:35;;13444:2;13433:9;13429:18;13423:25;13413:35;;13148:306;;;;;:::o

Swarm Source

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