ETH Price: $3,477.43 (+0.46%)
Gas: 5 Gwei

Token

Team Zuck (ZUCK)
 

Overview

Max Total Supply

1,000,000,000,000 ZUCK

Holders

879

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
159,932,395.014792006111662242 ZUCK

Value
$0.00
0xd898ee3d8476c90aec8fef49a4038f06a078f126
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:
TeamZuck

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

interface IUniswapV2Factory { 
    function createPair(address tokenA, address tokenB) external returns (address pair); 
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
    function WETH() external pure returns (address);
    function factory() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

abstract contract Auth {
    address internal _owner;
    event OwnershipTransferred(address _owner);
    constructor(address creatorOwner) { _owner = creatorOwner; }
    modifier onlyOwner() { require(msg.sender == _owner, "Only owner can call this"); _; }
    function owner() public view returns (address) { return _owner; }
    function renounceOwnership() external onlyOwner { 
        _owner = address(0); 
        emit OwnershipTransferred(address(0)); 
    }
}

contract TeamZuck is IERC20, Auth {
    string private constant _name         = "Team Zuck";
    string private constant _symbol       = "ZUCK";
    uint8 private constant _decimals      = 18;
    uint256 private constant _totalSupply = 1_000_000_000_000 * (10**_decimals);

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isBlackListed;
    mapping (address => bool) private _noFees;

    address payable private _walletMarketing;
    address payable private _walletPrizePool;
    address payable private _walletBuyBack;
    uint256 private constant _taxSwapMin = _totalSupply / 200000;
    uint256 private constant _taxSwapMax = _totalSupply / 500;
  
    address private constant _swapRouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV2Router02 private _primarySwapRouter = IUniswapV2Router02(_swapRouterAddress);
    address private _primaryLP;
    mapping (address => bool) private _isLP;
    uint256 private _tax = 500;
    uint256 private _epochForBoostedPrizePool;

    bool public limited = true;
    uint256 public maxHoldingAmount = 10_000_000_001 * (10**_decimals); // 1%
    uint256 public minHoldingAmount = 100_000_000 * (10**_decimals); // 0.01%;
    
    bool private _tradingOpen;

    bool private _inTaxSwap = false;
    modifier lockTaxSwap { 
        _inTaxSwap = true; 
        _; 
        _inTaxSwap = false; 
    }

    constructor(address cexWallet, address marketingWallet, address buyBackWallet, address prizePoolWallet) Auth(msg.sender) { 

        _balances[address(cexWallet)] = (_totalSupply / 100 ) * 5;
        _balances[address(marketingWallet)] = (_totalSupply / 100 ) * 5;
        _balances[address(this)] = (_totalSupply / 100 ) * 90;

        emit Transfer(address(0), address(cexWallet), _balances[address(cexWallet)]);
        emit Transfer(address(0), address(marketingWallet), _balances[address(marketingWallet)]);
        emit Transfer(address(0), address(this), _balances[address(this)]);
        
        setMarketingWallet(marketingWallet);
        setBuyBackWallet(buyBackWallet);
        setPrizePoolWallet(prizePoolWallet);

        _noFees[cexWallet] = true;
        _noFees[_walletMarketing] = true;
        _noFees[buyBackWallet] = true;
        _noFees[prizePoolWallet] = true;
        _noFees[_owner] = true;
        _noFees[address(this)] = true;
  
        _epochForBoostedPrizePool = block.timestamp + 12 * 7 * 24 * 3600; // 12 weeks after deployment
    }

    receive() external payable {}
    
    function totalSupply() external pure 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 tax() external view returns (uint256) { return _tax / 100; }
    function prizePoolBoostStart() external view returns (uint256) { return _epochForBoostedPrizePool; }
    function marketingMultisig() external view returns (address) { return _walletMarketing; }
    function BuyBackMultisig() external view returns (address) { return _walletBuyBack; }
    function PrizePoolMultisig() external view returns (address) { return _walletPrizePool; }
    function getPrizePoolBalance() external view returns (uint256){ return address(_walletPrizePool).balance; }
    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 transfer(address recipient, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(msg.sender), "Trading not open");
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(sender), "Trading not open");
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "No transfers from Zero wallet");
        require(!isBlackListed[sender], "Sender Blacklisted");
        require(!isBlackListed[recipient], "Receiver Blacklisted");

        if (!_tradingOpen) { require(_noFees[sender], "Trading not open"); }
        if ( !_inTaxSwap && _isLP[recipient] ) { _swapTaxAndLiquify(); }

        if (limited && sender == _primaryLP) {
            require(balanceOf(recipient) + amount <= maxHoldingAmount && balanceOf(recipient) + amount >= minHoldingAmount, "Forbid");
        }

        uint256 _taxAmount = _calculateTax(sender, recipient, amount);
        uint256 _transferAmount = amount - _taxAmount;
        _balances[sender] -= amount;
        if ( _taxAmount > 0 ) { 
            _balances[address(this)] += _taxAmount; 
        }
        _balances[recipient] += _transferAmount;
        emit Transfer(sender, recipient, amount);
        return true;
    }    

    function _approveRouter(uint256 _tokenAmount) internal {
        if ( _allowances[address(this)][_swapRouterAddress] < _tokenAmount ) {
            _allowances[address(this)][_swapRouterAddress] = type(uint256).max;
            emit Approval(address(this), _swapRouterAddress, type(uint256).max);
        }
    }

    function addLiquidity() external payable onlyOwner lockTaxSwap {
        require(_primaryLP == address(0), "LP exists");
        require(!_tradingOpen, "trading is open");
        require(msg.value > 0 || address(this).balance>0, "No ETH in contract or message");
        require(_balances[address(this)]>0, "No tokens in contract");
        _primaryLP = IUniswapV2Factory(_primarySwapRouter.factory()).createPair(address(this), _primarySwapRouter.WETH());
        _addLiquidity(_balances[address(this)], address(this).balance);
        _isLP[_primaryLP] = true;
        _tradingOpen = true;
    }

    function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei) internal {
        _approveRouter(_tokenAmount);
        _primarySwapRouter.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, _owner, block.timestamp );
    }

    function _checkTradingOpen(address sender) private view returns (bool){
        bool checkResult = false;
        if ( _tradingOpen ) { checkResult = true; } 
        else if (_noFees[sender]) { checkResult = true; } 

        return checkResult;
    }

    function setMarketingWallet(address newMarketingWallet) public onlyOwner {
        _walletMarketing = payable(newMarketingWallet);
    }

    function setPrizePoolWallet(address newPrizePoolWallet) public onlyOwner {
        _walletPrizePool = payable(newPrizePoolWallet);
    }

    function setBuyBackWallet(address newBuyBackWallet) public onlyOwner {
        _walletBuyBack = payable(newBuyBackWallet);
    }
 
    function setBlackList(address[] memory _users, bool set) public onlyOwner {
        for(uint256 i = 0; i < _users.length; i++){
            isBlackListed[_users[i]] = set;
        }
    }

    function setRule(bool _limited, uint256 _maxHoldingAmount, uint256 _minHoldingAmount) external onlyOwner {
        limited = _limited;
        maxHoldingAmount = _maxHoldingAmount;
        minHoldingAmount = _minHoldingAmount;
    }

    function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) {

        uint256 taxAmount;
        if ( _tradingOpen && !_noFees[sender] && !_noFees[recipient] ) { 
            if ( _isLP[sender] || _isLP[recipient] ) {
                taxAmount = amount * _tax / 10000;
            }
        }

        return taxAmount;
    }

    function _swapTaxAndLiquify() private lockTaxSwap {
        uint256 _taxTokensAvailable = balanceOf(address(this));

        if ( _taxTokensAvailable >= _taxSwapMin && _tradingOpen ) {
            if ( _taxTokensAvailable >= _taxSwapMax ) { _taxTokensAvailable = _taxSwapMax; }

            _swapTaxTokensForEth(_taxTokensAvailable);
            uint256 _contractETHBalance = address(this).balance;

            if(_contractETHBalance > 0) { 

                if(block.timestamp < _epochForBoostedPrizePool){
                    // first 12 weeks 

                    // 50% marketing
                    // 50% prize pool
            
                    bool success;
                    (success,) = _walletMarketing.call{value: (_contractETHBalance / 2)}("");
                    require(success);

                    (success,) = _walletPrizePool.call{value: (_contractETHBalance / 2)}("");
                    require(success);

                } else {
                    // after 12 weeks

                    // 20% marketing
                    // 5% buy back
                    // 75% prize pool

                    bool success;
                    (success,) = _walletMarketing.call{value: 20 * (_contractETHBalance / 100)}("");
                    require(success);
                    (success,) = _walletBuyBack.call{value: 5 * (_contractETHBalance / 100)}("");
                    require(success);
                    (success,) = _walletPrizePool.call{value: 75 * (_contractETHBalance / 100)}("");
                    require(success);
                }
            }
        }
    }

    function _swapTaxTokensForEth(uint256 tokenAmount) private {
        _approveRouter(tokenAmount);
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _primarySwapRouter.WETH();
        _primarySwapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"cexWallet","type":"address"},{"internalType":"address","name":"marketingWallet","type":"address"},{"internalType":"address","name":"buyBackWallet","type":"address"},{"internalType":"address","name":"prizePoolWallet","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":"BuyBackMultisig","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PrizePoolMultisig","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getPrizePoolBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingMultisig","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minHoldingAmount","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prizePoolBoostStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_users","type":"address[]"},{"internalType":"bool","name":"set","type":"bool"}],"name":"setBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newBuyBackWallet","type":"address"}],"name":"setBuyBackWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPrizePoolWallet","type":"address"}],"name":"setPrizePoolWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"}],"name":"setRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101f4600b556001600d60006101000a81548160ff0219169083151502179055506012600a6200008a919062000b8b565b6402540be4016200009c919062000bdc565b600e556012600a620000af919062000b8b565b6305f5e100620000c0919062000bdc565b600f556000601060016101000a81548160ff021916908315150217905550348015620000eb57600080fd5b50604051620045bb380380620045bb833981810160405281019062000111919062000c91565b33806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600560646012600a62000167919062000b8b565b64e8d4a5100062000179919062000bdc565b62000185919062000d32565b62000191919062000bdc565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560646012600a620001e8919062000b8b565b64e8d4a51000620001fa919062000bdc565b62000206919062000d32565b62000212919062000bdc565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550605a60646012600a62000269919062000b8b565b64e8d4a510006200027b919062000bdc565b62000287919062000d32565b62000293919062000bdc565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405162000375919062000d7b565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516200041c919062000d7b565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620004c3919062000d7b565b60405180910390a3620004dc836200077260201b60201c565b620004ed826200084760201b60201c565b620004fe816200091c60201b60201c565b6001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550626ebe004262000762919062000d98565b600c819055505050505062000e56565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161462000803576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007fa9062000e34565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620008d8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008cf9062000e34565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620009ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009a49062000e34565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a7f5780860481111562000a575762000a56620009f1565b5b600185161562000a675780820291505b808102905062000a778562000a20565b945062000a37565b94509492505050565b60008262000a9a576001905062000b6d565b8162000aaa576000905062000b6d565b816001811462000ac3576002811462000ace5762000b04565b600191505062000b6d565b60ff84111562000ae35762000ae2620009f1565b5b8360020a91508482111562000afd5762000afc620009f1565b5b5062000b6d565b5060208310610133831016604e8410600b841016171562000b3e5782820a90508381111562000b385762000b37620009f1565b5b62000b6d565b62000b4d848484600162000a2d565b9250905081840481111562000b675762000b66620009f1565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000b988262000b74565b915062000ba58362000b7e565b925062000bd47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a88565b905092915050565b600062000be98262000b74565b915062000bf68362000b74565b925082820262000c068162000b74565b9150828204841483151762000c205762000c1f620009f1565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c598262000c2c565b9050919050565b62000c6b8162000c4c565b811462000c7757600080fd5b50565b60008151905062000c8b8162000c60565b92915050565b6000806000806080858703121562000cae5762000cad62000c27565b5b600062000cbe8782880162000c7a565b945050602062000cd18782880162000c7a565b935050604062000ce48782880162000c7a565b925050606062000cf78782880162000c7a565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000d3f8262000b74565b915062000d4c8362000b74565b92508262000d5f5762000d5e62000d03565b5b828204905092915050565b62000d758162000b74565b82525050565b600060208201905062000d92600083018462000d6a565b92915050565b600062000da58262000b74565b915062000db28362000b74565b925082820190508082111562000dcd5762000dcc620009f1565b5b92915050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000600082015250565b600062000e1c60188362000dd3565b915062000e298262000de4565b602082019050919050565b6000602082019050818103600083015262000e4f8162000e0d565b9050919050565b6137558062000e666000396000f3fe6080604052600436106101a05760003560e01c806389f9a1d3116100ec578063d07ea4e21161008a578063e47d606011610064578063e47d6060146105c5578063e8078d9414610602578063f24f069d1461060c578063f5f08cb514610637576101a7565b8063d07ea4e214610534578063dd62ed3e1461055d578063e2a9f9541461059a576101a7565b806395d89b41116100c657806395d89b411461047857806399c8d556146104a3578063a4640b82146104ce578063a9059cbb146104f7576101a7565b806389f9a1d3146103f95780638da5cb5b146104245780638f85a0431461044f576101a7565b806323b872dd1161015957806363600f171161013357806363600f171461034f57806370a082311461037a578063715018a6146103b7578063860a32ec146103ce576101a7565b806323b872dd146102be578063313ce567146102fb5780635d098b3814610326576101a7565b806306fdde03146101ac578063095ea7b3146101d75780631046128a1461021457806318160ddd1461023f5780631ab99e121461026a578063232fbda114610295576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610662565b6040516101ce9190612834565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f991906128fe565b61069f565b60405161020b9190612959565b60405180910390f35b34801561022057600080fd5b50610229610791565b6040516102369190612983565b60405180910390f35b34801561024b57600080fd5b506102546107bb565b60405161026191906129ad565b60405180910390f35b34801561027657600080fd5b5061027f6107e0565b60405161028c91906129ad565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b791906129c8565b6107e6565b005b3480156102ca57600080fd5b506102e560048036038101906102e091906129f5565b6108b8565b6040516102f29190612959565b60405180910390f35b34801561030757600080fd5b50610310610ac2565b60405161031d9190612a64565b60405180910390f35b34801561033257600080fd5b5061034d600480360381019061034891906129c8565b610acb565b005b34801561035b57600080fd5b50610364610b9d565b6040516103719190612983565b60405180910390f35b34801561038657600080fd5b506103a1600480360381019061039c91906129c8565b610bc7565b6040516103ae91906129ad565b60405180910390f35b3480156103c357600080fd5b506103cc610c10565b005b3480156103da57600080fd5b506103e3610d19565b6040516103f09190612959565b60405180910390f35b34801561040557600080fd5b5061040e610d2c565b60405161041b91906129ad565b60405180910390f35b34801561043057600080fd5b50610439610d32565b6040516104469190612983565b60405180910390f35b34801561045b57600080fd5b5061047660048036038101906104719190612bf3565b610d5b565b005b34801561048457600080fd5b5061048d610e7e565b60405161049a9190612834565b60405180910390f35b3480156104af57600080fd5b506104b8610ebb565b6040516104c591906129ad565b60405180910390f35b3480156104da57600080fd5b506104f560048036038101906104f091906129c8565b610ed1565b005b34801561050357600080fd5b5061051e600480360381019061051991906128fe565b610fa3565b60405161052b9190612959565b60405180910390f35b34801561054057600080fd5b5061055b60048036038101906105569190612c4f565b611000565b005b34801561056957600080fd5b50610584600480360381019061057f9190612ca2565b6110bb565b60405161059191906129ad565b60405180910390f35b3480156105a657600080fd5b506105af611142565b6040516105bc9190612983565b60405180910390f35b3480156105d157600080fd5b506105ec60048036038101906105e791906129c8565b61116c565b6040516105f99190612959565b60405180910390f35b61060a61118c565b005b34801561061857600080fd5b506106216116bf565b60405161062e91906129ad565b60405180910390f35b34801561064357600080fd5b5061064c611700565b60405161065991906129ad565b60405180910390f35b60606040518060400160405280600981526020017f5465616d205a75636b0000000000000000000000000000000000000000000000815250905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161077f91906129ad565b60405180910390a36001905092915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012600a6107cb9190612e44565b64e8d4a510006107db9190612e8f565b905090565b600f5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90612f1d565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006108c38461170a565b610902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f990612f89565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610aae5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a2d9190612fa9565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ab9848484611790565b90509392505050565b60006012905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090612f1d565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590612f1d565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610d0f9190612983565b60405180910390a1565b600d60009054906101000a900460ff1681565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de090612f1d565b60405180910390fd5b60005b8251811015610e79578160036000858481518110610e0d57610e0c612fdd565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e719061300c565b915050610dec565b505050565b60606040518060400160405280600481526020017f5a55434b00000000000000000000000000000000000000000000000000000000815250905090565b60006064600b54610ecc9190613083565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5690612f1d565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610fae3361170a565b610fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe490612f89565b60405180910390fd5b610ff8338484611790565b905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108590612f1d565b60405180910390fd5b82600d60006101000a81548160ff02191690831515021790555081600e8190555080600f81905550505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461121a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121190612f1d565b60405180910390fd5b6001601060016101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90613100565b60405180910390fd5b601060009054906101000a900460ff1615611316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130d9061316c565b60405180910390fd5b60003411806113255750600047115b611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b906131d8565b60405180910390fd5b6000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116113e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dd90613244565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611453573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114779190613279565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611500573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115249190613279565b6040518363ffffffff1660e01b81526004016115419291906132a6565b6020604051808303816000875af1158015611560573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115849190613279565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061160d600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205447611cb4565b6001600a6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060006101000a81548160ff0219169083151502179055506000601060016101000a81548160ff021916908315150217905550565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600c54905090565b60008060009050601060009054906101000a900460ff161561172f5760019050611787565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561178657600190505b5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611800576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f79061331b565b60405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561188d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188490613387565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561191a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611911906133f3565b60405180910390fd5b601060009054906101000a900460ff166119bb57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b190612f89565b60405180910390fd5b5b601060019054906101000a900460ff16158015611a215750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611a2f57611a2e611d8e565b5b600d60009054906101000a900460ff168015611a985750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611b1757600e5482611aaa85610bc7565b611ab49190613413565b11158015611ad75750600f5482611aca85610bc7565b611ad49190613413565b10155b611b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0d90613493565b60405180910390fd5b5b6000611b24858585612207565b905060008184611b349190612fa9565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b859190612fa9565b925050819055506000821115611bec5781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611be49190613413565b925050819055505b80600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c3b9190613413565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611c9f91906129ad565b60405180910390a36001925050509392505050565b611cbd8261239b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611d44969594939291906134f8565b60606040518083038185885af1158015611d62573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d87919061356e565b5050505050565b6001601060016101000a81548160ff0219169083151502179055506000611db430610bc7565b905062030d406012600a611dc89190612e44565b64e8d4a51000611dd89190612e8f565b611de29190613083565b8110158015611dfd5750601060009054906101000a900460ff165b156121e9576101f46012600a611e139190612e44565b64e8d4a51000611e239190612e8f565b611e2d9190613083565b8110611e61576101f46012600a611e449190612e44565b64e8d4a51000611e549190612e8f565b611e5e9190613083565b90505b611e6a81612585565b600047905060008111156121e757600c54421015611fd2576000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600283611eca9190613083565b604051611ed6906135f2565b60006040518083038185875af1925050503d8060008114611f13576040519150601f19603f3d011682016040523d82523d6000602084013e611f18565b606091505b50508091505080611f2857600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600283611f6e9190613083565b604051611f7a906135f2565b60006040518083038185875af1925050503d8060008114611fb7576040519150601f19603f3d011682016040523d82523d6000602084013e611fbc565b606091505b50508091505080611fcc57600080fd5b506121e6565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660648361201a9190613083565b60146120269190612e8f565b604051612032906135f2565b60006040518083038185875af1925050503d806000811461206f576040519150601f19603f3d011682016040523d82523d6000602084013e612074565b606091505b5050809150508061208457600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166064836120ca9190613083565b60056120d69190612e8f565b6040516120e2906135f2565b60006040518083038185875af1925050503d806000811461211f576040519150601f19603f3d011682016040523d82523d6000602084013e612124565b606091505b5050809150508061213457600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660648361217a9190613083565b604b6121869190612e8f565b604051612192906135f2565b60006040518083038185875af1925050503d80600081146121cf576040519150601f19603f3d011682016040523d82523d6000602084013e6121d4565b606091505b505080915050806121e457600080fd5b505b5b505b506000601060016101000a81548160ff021916908315150217905550565b600080601060009054906101000a900460ff1680156122705750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122c65750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561239057600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061236c5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561238f57612710600b54846123829190612e8f565b61238c9190613083565b90505b5b809150509392505050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612582577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60405161257991906129ad565b60405180910390a35b50565b61258e8161239b565b6000600267ffffffffffffffff8111156125ab576125aa612a84565b5b6040519080825280602002602001820160405280156125d95781602001602082028036833780820191505090505b50905030816000815181106125f1576125f0612fdd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126bc9190613279565b816001815181106126d0576126cf612fdd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161276e9594939291906136c5565b600060405180830381600087803b15801561278857600080fd5b505af115801561279c573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127de5780820151818401526020810190506127c3565b60008484015250505050565b6000601f19601f8301169050919050565b6000612806826127a4565b61281081856127af565b93506128208185602086016127c0565b612829816127ea565b840191505092915050565b6000602082019050818103600083015261284e81846127fb565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128958261286a565b9050919050565b6128a58161288a565b81146128b057600080fd5b50565b6000813590506128c28161289c565b92915050565b6000819050919050565b6128db816128c8565b81146128e657600080fd5b50565b6000813590506128f8816128d2565b92915050565b6000806040838503121561291557612914612860565b5b6000612923858286016128b3565b9250506020612934858286016128e9565b9150509250929050565b60008115159050919050565b6129538161293e565b82525050565b600060208201905061296e600083018461294a565b92915050565b61297d8161288a565b82525050565b60006020820190506129986000830184612974565b92915050565b6129a7816128c8565b82525050565b60006020820190506129c2600083018461299e565b92915050565b6000602082840312156129de576129dd612860565b5b60006129ec848285016128b3565b91505092915050565b600080600060608486031215612a0e57612a0d612860565b5b6000612a1c868287016128b3565b9350506020612a2d868287016128b3565b9250506040612a3e868287016128e9565b9150509250925092565b600060ff82169050919050565b612a5e81612a48565b82525050565b6000602082019050612a796000830184612a55565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612abc826127ea565b810181811067ffffffffffffffff82111715612adb57612ada612a84565b5b80604052505050565b6000612aee612856565b9050612afa8282612ab3565b919050565b600067ffffffffffffffff821115612b1a57612b19612a84565b5b602082029050602081019050919050565b600080fd5b6000612b43612b3e84612aff565b612ae4565b90508083825260208201905060208402830185811115612b6657612b65612b2b565b5b835b81811015612b8f5780612b7b88826128b3565b845260208401935050602081019050612b68565b5050509392505050565b600082601f830112612bae57612bad612a7f565b5b8135612bbe848260208601612b30565b91505092915050565b612bd08161293e565b8114612bdb57600080fd5b50565b600081359050612bed81612bc7565b92915050565b60008060408385031215612c0a57612c09612860565b5b600083013567ffffffffffffffff811115612c2857612c27612865565b5b612c3485828601612b99565b9250506020612c4585828601612bde565b9150509250929050565b600080600060608486031215612c6857612c67612860565b5b6000612c7686828701612bde565b9350506020612c87868287016128e9565b9250506040612c98868287016128e9565b9150509250925092565b60008060408385031215612cb957612cb8612860565b5b6000612cc7858286016128b3565b9250506020612cd8858286016128b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612d6857808604811115612d4457612d43612ce2565b5b6001851615612d535780820291505b8081029050612d6185612d11565b9450612d28565b94509492505050565b600082612d815760019050612e3d565b81612d8f5760009050612e3d565b8160018114612da55760028114612daf57612dde565b6001915050612e3d565b60ff841115612dc157612dc0612ce2565b5b8360020a915084821115612dd857612dd7612ce2565b5b50612e3d565b5060208310610133831016604e8410600b8410161715612e135782820a905083811115612e0e57612e0d612ce2565b5b612e3d565b612e208484846001612d1e565b92509050818404811115612e3757612e36612ce2565b5b81810290505b9392505050565b6000612e4f826128c8565b9150612e5a83612a48565b9250612e877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d71565b905092915050565b6000612e9a826128c8565b9150612ea5836128c8565b9250828202612eb3816128c8565b91508282048414831517612eca57612ec9612ce2565b5b5092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000600082015250565b6000612f076018836127af565b9150612f1282612ed1565b602082019050919050565b60006020820190508181036000830152612f3681612efa565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612f736010836127af565b9150612f7e82612f3d565b602082019050919050565b60006020820190508181036000830152612fa281612f66565b9050919050565b6000612fb4826128c8565b9150612fbf836128c8565b9250828203905081811115612fd757612fd6612ce2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613017826128c8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361304957613048612ce2565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061308e826128c8565b9150613099836128c8565b9250826130a9576130a8613054565b5b828204905092915050565b7f4c50206578697374730000000000000000000000000000000000000000000000600082015250565b60006130ea6009836127af565b91506130f5826130b4565b602082019050919050565b60006020820190508181036000830152613119816130dd565b9050919050565b7f74726164696e67206973206f70656e0000000000000000000000000000000000600082015250565b6000613156600f836127af565b915061316182613120565b602082019050919050565b6000602082019050818103600083015261318581613149565b9050919050565b7f4e6f2045544820696e20636f6e7472616374206f72206d657373616765000000600082015250565b60006131c2601d836127af565b91506131cd8261318c565b602082019050919050565b600060208201905081810360008301526131f1816131b5565b9050919050565b7f4e6f20746f6b656e7320696e20636f6e74726163740000000000000000000000600082015250565b600061322e6015836127af565b9150613239826131f8565b602082019050919050565b6000602082019050818103600083015261325d81613221565b9050919050565b6000815190506132738161289c565b92915050565b60006020828403121561328f5761328e612860565b5b600061329d84828501613264565b91505092915050565b60006040820190506132bb6000830185612974565b6132c86020830184612974565b9392505050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000600082015250565b6000613305601d836127af565b9150613310826132cf565b602082019050919050565b60006020820190508181036000830152613334816132f8565b9050919050565b7f53656e64657220426c61636b6c69737465640000000000000000000000000000600082015250565b60006133716012836127af565b915061337c8261333b565b602082019050919050565b600060208201905081810360008301526133a081613364565b9050919050565b7f526563656976657220426c61636b6c6973746564000000000000000000000000600082015250565b60006133dd6014836127af565b91506133e8826133a7565b602082019050919050565b6000602082019050818103600083015261340c816133d0565b9050919050565b600061341e826128c8565b9150613429836128c8565b925082820190508082111561344157613440612ce2565b5b92915050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600061347d6006836127af565b915061348882613447565b602082019050919050565b600060208201905081810360008301526134ac81613470565b9050919050565b6000819050919050565b6000819050919050565b60006134e26134dd6134d8846134b3565b6134bd565b6128c8565b9050919050565b6134f2816134c7565b82525050565b600060c08201905061350d6000830189612974565b61351a602083018861299e565b61352760408301876134e9565b61353460608301866134e9565b6135416080830185612974565b61354e60a083018461299e565b979650505050505050565b600081519050613568816128d2565b92915050565b60008060006060848603121561358757613586612860565b5b600061359586828701613559565b93505060206135a686828701613559565b92505060406135b786828701613559565b9150509250925092565b600081905092915050565b50565b60006135dc6000836135c1565b91506135e7826135cc565b600082019050919050565b60006135fd826135cf565b9150819050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61363c8161288a565b82525050565b600061364e8383613633565b60208301905092915050565b6000602082019050919050565b600061367282613607565b61367c8185613612565b935061368783613623565b8060005b838110156136b857815161369f8882613642565b97506136aa8361365a565b92505060018101905061368b565b5085935050505092915050565b600060a0820190506136da600083018861299e565b6136e760208301876134e9565b81810360408301526136f98186613667565b90506137086060830185612974565b613715608083018461299e565b969550505050505056fea2646970667358221220f5d747027aa4958b7a885c560a13a164a9527f39c0f7c23fdddbebaaade608ab64736f6c634300081200330000000000000000000000001568ef3e69be01c386fcc6d9847c9a2ab4b0d12d000000000000000000000000dc01eec0e46b6a347d70922e4e7d617a3bf0c50d000000000000000000000000c991158e52b17bb07ecd1c6cc00d4e6e0710bfd3000000000000000000000000aa9afe4a603304e5ffce6b57e91989e6d58db5ba

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806389f9a1d3116100ec578063d07ea4e21161008a578063e47d606011610064578063e47d6060146105c5578063e8078d9414610602578063f24f069d1461060c578063f5f08cb514610637576101a7565b8063d07ea4e214610534578063dd62ed3e1461055d578063e2a9f9541461059a576101a7565b806395d89b41116100c657806395d89b411461047857806399c8d556146104a3578063a4640b82146104ce578063a9059cbb146104f7576101a7565b806389f9a1d3146103f95780638da5cb5b146104245780638f85a0431461044f576101a7565b806323b872dd1161015957806363600f171161013357806363600f171461034f57806370a082311461037a578063715018a6146103b7578063860a32ec146103ce576101a7565b806323b872dd146102be578063313ce567146102fb5780635d098b3814610326576101a7565b806306fdde03146101ac578063095ea7b3146101d75780631046128a1461021457806318160ddd1461023f5780631ab99e121461026a578063232fbda114610295576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610662565b6040516101ce9190612834565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f991906128fe565b61069f565b60405161020b9190612959565b60405180910390f35b34801561022057600080fd5b50610229610791565b6040516102369190612983565b60405180910390f35b34801561024b57600080fd5b506102546107bb565b60405161026191906129ad565b60405180910390f35b34801561027657600080fd5b5061027f6107e0565b60405161028c91906129ad565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b791906129c8565b6107e6565b005b3480156102ca57600080fd5b506102e560048036038101906102e091906129f5565b6108b8565b6040516102f29190612959565b60405180910390f35b34801561030757600080fd5b50610310610ac2565b60405161031d9190612a64565b60405180910390f35b34801561033257600080fd5b5061034d600480360381019061034891906129c8565b610acb565b005b34801561035b57600080fd5b50610364610b9d565b6040516103719190612983565b60405180910390f35b34801561038657600080fd5b506103a1600480360381019061039c91906129c8565b610bc7565b6040516103ae91906129ad565b60405180910390f35b3480156103c357600080fd5b506103cc610c10565b005b3480156103da57600080fd5b506103e3610d19565b6040516103f09190612959565b60405180910390f35b34801561040557600080fd5b5061040e610d2c565b60405161041b91906129ad565b60405180910390f35b34801561043057600080fd5b50610439610d32565b6040516104469190612983565b60405180910390f35b34801561045b57600080fd5b5061047660048036038101906104719190612bf3565b610d5b565b005b34801561048457600080fd5b5061048d610e7e565b60405161049a9190612834565b60405180910390f35b3480156104af57600080fd5b506104b8610ebb565b6040516104c591906129ad565b60405180910390f35b3480156104da57600080fd5b506104f560048036038101906104f091906129c8565b610ed1565b005b34801561050357600080fd5b5061051e600480360381019061051991906128fe565b610fa3565b60405161052b9190612959565b60405180910390f35b34801561054057600080fd5b5061055b60048036038101906105569190612c4f565b611000565b005b34801561056957600080fd5b50610584600480360381019061057f9190612ca2565b6110bb565b60405161059191906129ad565b60405180910390f35b3480156105a657600080fd5b506105af611142565b6040516105bc9190612983565b60405180910390f35b3480156105d157600080fd5b506105ec60048036038101906105e791906129c8565b61116c565b6040516105f99190612959565b60405180910390f35b61060a61118c565b005b34801561061857600080fd5b506106216116bf565b60405161062e91906129ad565b60405180910390f35b34801561064357600080fd5b5061064c611700565b60405161065991906129ad565b60405180910390f35b60606040518060400160405280600981526020017f5465616d205a75636b0000000000000000000000000000000000000000000000815250905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161077f91906129ad565b60405180910390a36001905092915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012600a6107cb9190612e44565b64e8d4a510006107db9190612e8f565b905090565b600f5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90612f1d565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006108c38461170a565b610902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f990612f89565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610aae5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a2d9190612fa9565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ab9848484611790565b90509392505050565b60006012905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090612f1d565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590612f1d565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610d0f9190612983565b60405180910390a1565b600d60009054906101000a900460ff1681565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de090612f1d565b60405180910390fd5b60005b8251811015610e79578160036000858481518110610e0d57610e0c612fdd565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e719061300c565b915050610dec565b505050565b60606040518060400160405280600481526020017f5a55434b00000000000000000000000000000000000000000000000000000000815250905090565b60006064600b54610ecc9190613083565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5690612f1d565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610fae3361170a565b610fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe490612f89565b60405180910390fd5b610ff8338484611790565b905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108590612f1d565b60405180910390fd5b82600d60006101000a81548160ff02191690831515021790555081600e8190555080600f81905550505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461121a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121190612f1d565b60405180910390fd5b6001601060016101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90613100565b60405180910390fd5b601060009054906101000a900460ff1615611316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130d9061316c565b60405180910390fd5b60003411806113255750600047115b611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b906131d8565b60405180910390fd5b6000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116113e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dd90613244565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611453573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114779190613279565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611500573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115249190613279565b6040518363ffffffff1660e01b81526004016115419291906132a6565b6020604051808303816000875af1158015611560573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115849190613279565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061160d600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205447611cb4565b6001600a6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060006101000a81548160ff0219169083151502179055506000601060016101000a81548160ff021916908315150217905550565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600c54905090565b60008060009050601060009054906101000a900460ff161561172f5760019050611787565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561178657600190505b5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611800576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f79061331b565b60405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561188d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188490613387565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561191a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611911906133f3565b60405180910390fd5b601060009054906101000a900460ff166119bb57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b190612f89565b60405180910390fd5b5b601060019054906101000a900460ff16158015611a215750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611a2f57611a2e611d8e565b5b600d60009054906101000a900460ff168015611a985750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611b1757600e5482611aaa85610bc7565b611ab49190613413565b11158015611ad75750600f5482611aca85610bc7565b611ad49190613413565b10155b611b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0d90613493565b60405180910390fd5b5b6000611b24858585612207565b905060008184611b349190612fa9565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b859190612fa9565b925050819055506000821115611bec5781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611be49190613413565b925050819055505b80600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c3b9190613413565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611c9f91906129ad565b60405180910390a36001925050509392505050565b611cbd8261239b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611d44969594939291906134f8565b60606040518083038185885af1158015611d62573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d87919061356e565b5050505050565b6001601060016101000a81548160ff0219169083151502179055506000611db430610bc7565b905062030d406012600a611dc89190612e44565b64e8d4a51000611dd89190612e8f565b611de29190613083565b8110158015611dfd5750601060009054906101000a900460ff165b156121e9576101f46012600a611e139190612e44565b64e8d4a51000611e239190612e8f565b611e2d9190613083565b8110611e61576101f46012600a611e449190612e44565b64e8d4a51000611e549190612e8f565b611e5e9190613083565b90505b611e6a81612585565b600047905060008111156121e757600c54421015611fd2576000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600283611eca9190613083565b604051611ed6906135f2565b60006040518083038185875af1925050503d8060008114611f13576040519150601f19603f3d011682016040523d82523d6000602084013e611f18565b606091505b50508091505080611f2857600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600283611f6e9190613083565b604051611f7a906135f2565b60006040518083038185875af1925050503d8060008114611fb7576040519150601f19603f3d011682016040523d82523d6000602084013e611fbc565b606091505b50508091505080611fcc57600080fd5b506121e6565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660648361201a9190613083565b60146120269190612e8f565b604051612032906135f2565b60006040518083038185875af1925050503d806000811461206f576040519150601f19603f3d011682016040523d82523d6000602084013e612074565b606091505b5050809150508061208457600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166064836120ca9190613083565b60056120d69190612e8f565b6040516120e2906135f2565b60006040518083038185875af1925050503d806000811461211f576040519150601f19603f3d011682016040523d82523d6000602084013e612124565b606091505b5050809150508061213457600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660648361217a9190613083565b604b6121869190612e8f565b604051612192906135f2565b60006040518083038185875af1925050503d80600081146121cf576040519150601f19603f3d011682016040523d82523d6000602084013e6121d4565b606091505b505080915050806121e457600080fd5b505b5b505b506000601060016101000a81548160ff021916908315150217905550565b600080601060009054906101000a900460ff1680156122705750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122c65750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561239057600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061236c5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561238f57612710600b54846123829190612e8f565b61238c9190613083565b90505b5b809150509392505050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612582577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60405161257991906129ad565b60405180910390a35b50565b61258e8161239b565b6000600267ffffffffffffffff8111156125ab576125aa612a84565b5b6040519080825280602002602001820160405280156125d95781602001602082028036833780820191505090505b50905030816000815181106125f1576125f0612fdd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126bc9190613279565b816001815181106126d0576126cf612fdd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161276e9594939291906136c5565b600060405180830381600087803b15801561278857600080fd5b505af115801561279c573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127de5780820151818401526020810190506127c3565b60008484015250505050565b6000601f19601f8301169050919050565b6000612806826127a4565b61281081856127af565b93506128208185602086016127c0565b612829816127ea565b840191505092915050565b6000602082019050818103600083015261284e81846127fb565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128958261286a565b9050919050565b6128a58161288a565b81146128b057600080fd5b50565b6000813590506128c28161289c565b92915050565b6000819050919050565b6128db816128c8565b81146128e657600080fd5b50565b6000813590506128f8816128d2565b92915050565b6000806040838503121561291557612914612860565b5b6000612923858286016128b3565b9250506020612934858286016128e9565b9150509250929050565b60008115159050919050565b6129538161293e565b82525050565b600060208201905061296e600083018461294a565b92915050565b61297d8161288a565b82525050565b60006020820190506129986000830184612974565b92915050565b6129a7816128c8565b82525050565b60006020820190506129c2600083018461299e565b92915050565b6000602082840312156129de576129dd612860565b5b60006129ec848285016128b3565b91505092915050565b600080600060608486031215612a0e57612a0d612860565b5b6000612a1c868287016128b3565b9350506020612a2d868287016128b3565b9250506040612a3e868287016128e9565b9150509250925092565b600060ff82169050919050565b612a5e81612a48565b82525050565b6000602082019050612a796000830184612a55565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612abc826127ea565b810181811067ffffffffffffffff82111715612adb57612ada612a84565b5b80604052505050565b6000612aee612856565b9050612afa8282612ab3565b919050565b600067ffffffffffffffff821115612b1a57612b19612a84565b5b602082029050602081019050919050565b600080fd5b6000612b43612b3e84612aff565b612ae4565b90508083825260208201905060208402830185811115612b6657612b65612b2b565b5b835b81811015612b8f5780612b7b88826128b3565b845260208401935050602081019050612b68565b5050509392505050565b600082601f830112612bae57612bad612a7f565b5b8135612bbe848260208601612b30565b91505092915050565b612bd08161293e565b8114612bdb57600080fd5b50565b600081359050612bed81612bc7565b92915050565b60008060408385031215612c0a57612c09612860565b5b600083013567ffffffffffffffff811115612c2857612c27612865565b5b612c3485828601612b99565b9250506020612c4585828601612bde565b9150509250929050565b600080600060608486031215612c6857612c67612860565b5b6000612c7686828701612bde565b9350506020612c87868287016128e9565b9250506040612c98868287016128e9565b9150509250925092565b60008060408385031215612cb957612cb8612860565b5b6000612cc7858286016128b3565b9250506020612cd8858286016128b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612d6857808604811115612d4457612d43612ce2565b5b6001851615612d535780820291505b8081029050612d6185612d11565b9450612d28565b94509492505050565b600082612d815760019050612e3d565b81612d8f5760009050612e3d565b8160018114612da55760028114612daf57612dde565b6001915050612e3d565b60ff841115612dc157612dc0612ce2565b5b8360020a915084821115612dd857612dd7612ce2565b5b50612e3d565b5060208310610133831016604e8410600b8410161715612e135782820a905083811115612e0e57612e0d612ce2565b5b612e3d565b612e208484846001612d1e565b92509050818404811115612e3757612e36612ce2565b5b81810290505b9392505050565b6000612e4f826128c8565b9150612e5a83612a48565b9250612e877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d71565b905092915050565b6000612e9a826128c8565b9150612ea5836128c8565b9250828202612eb3816128c8565b91508282048414831517612eca57612ec9612ce2565b5b5092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000600082015250565b6000612f076018836127af565b9150612f1282612ed1565b602082019050919050565b60006020820190508181036000830152612f3681612efa565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612f736010836127af565b9150612f7e82612f3d565b602082019050919050565b60006020820190508181036000830152612fa281612f66565b9050919050565b6000612fb4826128c8565b9150612fbf836128c8565b9250828203905081811115612fd757612fd6612ce2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613017826128c8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361304957613048612ce2565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061308e826128c8565b9150613099836128c8565b9250826130a9576130a8613054565b5b828204905092915050565b7f4c50206578697374730000000000000000000000000000000000000000000000600082015250565b60006130ea6009836127af565b91506130f5826130b4565b602082019050919050565b60006020820190508181036000830152613119816130dd565b9050919050565b7f74726164696e67206973206f70656e0000000000000000000000000000000000600082015250565b6000613156600f836127af565b915061316182613120565b602082019050919050565b6000602082019050818103600083015261318581613149565b9050919050565b7f4e6f2045544820696e20636f6e7472616374206f72206d657373616765000000600082015250565b60006131c2601d836127af565b91506131cd8261318c565b602082019050919050565b600060208201905081810360008301526131f1816131b5565b9050919050565b7f4e6f20746f6b656e7320696e20636f6e74726163740000000000000000000000600082015250565b600061322e6015836127af565b9150613239826131f8565b602082019050919050565b6000602082019050818103600083015261325d81613221565b9050919050565b6000815190506132738161289c565b92915050565b60006020828403121561328f5761328e612860565b5b600061329d84828501613264565b91505092915050565b60006040820190506132bb6000830185612974565b6132c86020830184612974565b9392505050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000600082015250565b6000613305601d836127af565b9150613310826132cf565b602082019050919050565b60006020820190508181036000830152613334816132f8565b9050919050565b7f53656e64657220426c61636b6c69737465640000000000000000000000000000600082015250565b60006133716012836127af565b915061337c8261333b565b602082019050919050565b600060208201905081810360008301526133a081613364565b9050919050565b7f526563656976657220426c61636b6c6973746564000000000000000000000000600082015250565b60006133dd6014836127af565b91506133e8826133a7565b602082019050919050565b6000602082019050818103600083015261340c816133d0565b9050919050565b600061341e826128c8565b9150613429836128c8565b925082820190508082111561344157613440612ce2565b5b92915050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600061347d6006836127af565b915061348882613447565b602082019050919050565b600060208201905081810360008301526134ac81613470565b9050919050565b6000819050919050565b6000819050919050565b60006134e26134dd6134d8846134b3565b6134bd565b6128c8565b9050919050565b6134f2816134c7565b82525050565b600060c08201905061350d6000830189612974565b61351a602083018861299e565b61352760408301876134e9565b61353460608301866134e9565b6135416080830185612974565b61354e60a083018461299e565b979650505050505050565b600081519050613568816128d2565b92915050565b60008060006060848603121561358757613586612860565b5b600061359586828701613559565b93505060206135a686828701613559565b92505060406135b786828701613559565b9150509250925092565b600081905092915050565b50565b60006135dc6000836135c1565b91506135e7826135cc565b600082019050919050565b60006135fd826135cf565b9150819050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61363c8161288a565b82525050565b600061364e8383613633565b60208301905092915050565b6000602082019050919050565b600061367282613607565b61367c8185613612565b935061368783613623565b8060005b838110156136b857815161369f8882613642565b97506136aa8361365a565b92505060018101905061368b565b5085935050505092915050565b600060a0820190506136da600083018861299e565b6136e760208301876134e9565b81810360408301526136f98186613667565b90506137086060830185612974565b613715608083018461299e565b969550505050505056fea2646970667358221220f5d747027aa4958b7a885c560a13a164a9527f39c0f7c23fdddbebaaade608ab64736f6c63430008120033

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

0000000000000000000000001568ef3e69be01c386fcc6d9847c9a2ab4b0d12d000000000000000000000000dc01eec0e46b6a347d70922e4e7d617a3bf0c50d000000000000000000000000c991158e52b17bb07ecd1c6cc00d4e6e0710bfd3000000000000000000000000aa9afe4a603304e5ffce6b57e91989e6d58db5ba

-----Decoded View---------------
Arg [0] : cexWallet (address): 0x1568ef3E69be01C386fCC6d9847c9A2aB4b0d12D
Arg [1] : marketingWallet (address): 0xDc01EeC0e46B6a347d70922e4e7d617A3BF0C50D
Arg [2] : buyBackWallet (address): 0xC991158E52B17bB07ecd1c6cC00d4E6e0710bfd3
Arg [3] : prizePoolWallet (address): 0xaA9afe4a603304E5ffce6b57E91989e6d58DB5Ba

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000001568ef3e69be01c386fcc6d9847c9a2ab4b0d12d
Arg [1] : 000000000000000000000000dc01eec0e46b6a347d70922e4e7d617a3bf0c50d
Arg [2] : 000000000000000000000000c991158e52b17bb07ecd1c6cc00d4e6e0710bfd3
Arg [3] : 000000000000000000000000aa9afe4a603304e5ffce6b57e91989e6d58db5ba


Deployed Bytecode Sourcemap

2046:10545:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4986:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5901:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5253:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4716:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3308:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9448:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6358:404;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4810:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9302:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5439:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5647:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1902:137;;;;;;;;;;;;;:::i;:::-;;3196:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3229:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1831:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9733:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4896:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5072:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9594:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6125:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9932:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5758:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5348:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2460:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8160:606;;;:::i;:::-;;5534:107;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5147:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4986:80;5034:13;5058:5;;;;;;;;;;;;;;;;;5051:12;;4986:80;:::o;5901:216::-;5976:4;6028:6;5993:11;:23;6005:10;5993:23;;;;;;;;;;;;;;;:32;6017:7;5993:32;;;;;;;;;;;;;;;:41;;;;6071:7;6050:37;;6059:10;6050:37;;;6080:6;6050:37;;;;;;:::i;:::-;;;;;;;;6105:4;6098:11;;5901:216;;;;:::o;5253:89::-;5305:7;5323:16;;;;;;;;;;;5316:23;;5253:89;:::o;4716:88::-;4771:7;2238:2;2308;:13;;;;:::i;:::-;2287:17;:35;;;;:::i;:::-;4782:19;;4716:88;:::o;3308:63::-;;;;:::o;9448:138::-;1784:6;;;;;;;;;;1770:20;;:10;:20;;;1762:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9559:18:::1;9532:16;;:46;;;;;;;;;;;;;;;;;;9448:138:::0;:::o;6358:404::-;6458:4;6483:25;6501:6;6483:17;:25::i;:::-;6475:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;6578:17;6543:11;:19;6555:6;6543:19;;;;;;;;;;;;;;;:31;6563:10;6543:31;;;;;;;;;;;;;;;;:52;6540:157;;6679:6;6645:11;:19;6657:6;6645:19;;;;;;;;;;;;;;;:31;6665:10;6645:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6611:11;:19;6623:6;6611:19;;;;;;;;;;;;;;;:31;6631:10;6611:31;;;;;;;;;;;;;;;:74;;;;6540:157;6714:40;6728:6;6736:9;6747:6;6714:13;:40::i;:::-;6707:47;;6358:404;;;;;:::o;4810:80::-;4862:5;2238:2;4871:16;;4810:80;:::o;9302:138::-;1784:6;;;;;;;;;;1770:20;;:10;:20;;;1762:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9413:18:::1;9386:16;;:46;;;;;;;;;;;;;;;;;;9302:138:::0;:::o;5439:89::-;5491:7;5509:16;;;;;;;;;;;5502:23;;5439:89;:::o;5647:105::-;5713:7;5731:9;:18;5741:7;5731:18;;;;;;;;;;;;;;;;5724:25;;5647:105;;;:::o;1902:137::-;1784:6;;;;;;;;;;1770:20;;:10;:20;;;1762:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;1979:1:::1;1962:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1998:32;2027:1;1998:32;;;;;;:::i;:::-;;;;;;;;1902:137::o:0;3196:26::-;;;;;;;;;;;;;:::o;3229:66::-;;;;:::o;1831:65::-;1869:7;1887:6;;;;;;;;;;;1880:13;;1831:65;:::o;9733:191::-;1784:6;;;;;;;;;;1770:20;;:10;:20;;;1762:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9822:9:::1;9818:99;9841:6;:13;9837:1;:17;9818:99;;;9902:3;9875:13;:24;9889:6;9896:1;9889:9;;;;;;;;:::i;:::-;;;;;;;;9875:24;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;9856:3;;;;;:::i;:::-;;;;9818:99;;;;9733:191:::0;;:::o;4896:84::-;4946:13;4970:7;;;;;;;;;;;;;;;;;4963:14;;4896:84;:::o;5072:69::-;5110:7;5135:3;5128:4;;:10;;;;:::i;:::-;5121:17;;5072:69;:::o;9594:130::-;1784:6;;;;;;;;;;1770:20;;:10;:20;;;1762:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9699:16:::1;9674:14;;:42;;;;;;;;;;;;;;;;;;9594:130:::0;:::o;6125:225::-;6205:4;6230:29;6248:10;6230:17;:29::i;:::-;6222:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;6298:44;6312:10;6324:9;6335:6;6298:13;:44::i;:::-;6291:51;;6125:225;;;;:::o;9932:236::-;1784:6;;;;;;;;;;1770:20;;:10;:20;;;1762:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;10058:8:::1;10048:7;;:18;;;;;;;;;;;;;;;;;;10096:17;10077:16;:36;;;;10143:17;10124:16;:36;;;;9932:236:::0;;;:::o;5758:133::-;5842:7;5860:11;:19;5872:6;5860:19;;;;;;;;;;;;;;;:28;5880:7;5860:28;;;;;;;;;;;;;;;;5853:35;;5758:133;;;;:::o;5348:85::-;5398:7;5416:14;;;;;;;;;;;5409:21;;5348:85;:::o;2460:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;8160:606::-;1784:6;;;;;;;;;;1770:20;;:10;:20;;;1762:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3512:4:::1;3499:10;;:17;;;;;;;;;;;;;;;;;;8264:1:::2;8242:24;;:10;;;;;;;;;;;:24;;;8234:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;8300:12;;;;;;;;;;;8299:13;8291:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;8363:1;8351:9;:13;:40;;;;8390:1;8368:21;:23;8351:40;8343:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;8469:1;8444:9;:24;8462:4;8444:24;;;;;;;;;;;;;;;;:26;8436:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8538:18;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8520:58;;;8587:4;8594:18;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8520:100;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8507:10;;:113;;;;;;;;;;;;;;;;;;8631:62;8645:9;:24;8663:4;8645:24;;;;;;;;;;;;;;;;8671:21;8631:13;:62::i;:::-;8724:4;8704:5;:17;8710:10;;;;;;;;;;;8704:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;8754:4;8739:12;;:19;;;;;;;;;;;;;;;;;;3554:5:::1;3541:10;;:18;;;;;;;;;;;;;;;;;;8160:606::o:0;5534:107::-;5588:7;5613:16;;;;;;;;;;;5605:33;;;5598:40;;5534:107;:::o;5147:100::-;5201:7;5219:25;;5212:32;;5147:100;:::o;9036:258::-;9101:4;9117:16;9136:5;9117:24;;9157:12;;;;;;;;;;;9152:103;;;9188:4;9174:18;;9152:103;;;9215:7;:15;9223:6;9215:15;;;;;;;;;;;;;;;;;;;;;;;;;9211:44;;;9248:4;9234:18;;9211:44;9152:103;9275:11;9268:18;;;9036:258;;;:::o;6770:1053::-;6862:4;6905:1;6887:20;;:6;:20;;;6879:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;6961:13;:21;6975:6;6961:21;;;;;;;;;;;;;;;;;;;;;;;;;6960:22;6952:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;7025:13;:24;7039:9;7025:24;;;;;;;;;;;;;;;;;;;;;;;;;7024:25;7016:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;7092:12;;;;;;;;;;;7087:68;;7116:7;:15;7124:6;7116:15;;;;;;;;;;;;;;;;;;;;;;;;;7108:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;7087:68;7171:10;;;;;;;;;;;7170:11;:31;;;;;7185:5;:16;7191:9;7185:16;;;;;;;;;;;;;;;;;;;;;;;;;7170:31;7165:64;;;7206:20;:18;:20::i;:::-;7165:64;7245:7;;;;;;;;;;;:31;;;;;7266:10;;;;;;;;;;;7256:20;;:6;:20;;;7245:31;7241:185;;;7334:16;;7324:6;7301:20;7311:9;7301;:20::i;:::-;:29;;;;:::i;:::-;:49;;:102;;;;;7387:16;;7377:6;7354:20;7364:9;7354;:20::i;:::-;:29;;;;:::i;:::-;:49;;7301:102;7293:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;7241:185;7438:18;7459:40;7473:6;7481:9;7492:6;7459:13;:40::i;:::-;7438:61;;7510:23;7545:10;7536:6;:19;;;;:::i;:::-;7510:45;;7587:6;7566:9;:17;7576:6;7566:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;7622:1;7609:10;:14;7604:89;;;7670:10;7642:9;:24;7660:4;7642:24;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;7604:89;7727:15;7703:9;:20;7713:9;7703:20;;;;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;;;;;;;;7775:9;7758:35;;7767:6;7758:35;;;7786:6;7758:35;;;;;;:::i;:::-;;;;;;;;7811:4;7804:11;;;;6770:1053;;;;;:::o;8774:254::-;8862:28;8877:12;8862:14;:28::i;:::-;8901:18;;;;;;;;;;;:34;;;8943:13;8968:4;8975:12;8989:1;8992;8995:6;;;;;;;;;;9003:15;8901:119;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8774:254;;:::o;10566:1648::-;3512:4;3499:10;;:17;;;;;;;;;;;;;;;;;;10627:27:::1;10657:24;10675:4;10657:9;:24::i;:::-;10627:54;;2756:6;2238:2;2308;:13;;;;:::i;:::-;2287:17;:35;;;;:::i;:::-;2741:21;;;;:::i;:::-;10699:19;:34;;:50;;;;;10737:12;;;;;;;;;;;10699:50;10694:1513;;;2823:3;2238:2;2308;:13;;;;:::i;:::-;2287:17;:35;;;;:::i;:::-;2808:18;;;;:::i;:::-;10772:19;:34;10767:80;;2823:3;2238:2;2308;:13;;;;:::i;:::-;2287:17;:35;;;;:::i;:::-;2808:18;;;;:::i;:::-;10811:33;;10767:80;10863:41;10884:19;10863:20;:41::i;:::-;10919:27;10949:21;10919:51;;11012:1;10990:19;:23;10987:1209;;;11058:25;;11040:15;:43;11037:1144;;;11240:12;11288:16;;;;;;;;;;;:21;;11340:1;11318:19;:23;;;;:::i;:::-;11288:59;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11275:72;;;;;11378:7;11370:16;;;::::0;::::1;;11424;;;;;;;;;;;:21;;11476:1;11454:19;:23;;;;:::i;:::-;11424:59;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11411:72;;;;;11514:7;11506:16;;;::::0;::::1;;11084:460;11037:1144;;;11729:12;11777:16;;;;;;;;;;;:21;;11834:3;11812:19;:25;;;;:::i;:::-;11806:2;:32;;;;:::i;:::-;11777:66;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11764:79;;;;;11874:7;11866:16;;;::::0;::::1;;11918:14;;;;;;;;;;;:19;;11972:3;11950:19;:25;;;;:::i;:::-;11945:1;:31;;;;:::i;:::-;11918:63;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11905:76;;;;;12012:7;12004:16;;;::::0;::::1;;12056;;;;;;;;;;;:21;;12113:3;12091:19;:25;;;;:::i;:::-;12085:2;:32;;;;:::i;:::-;12056:66;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12043:79;;;;;12153:7;12145:16;;;::::0;::::1;;11550:631;11037:1144;10987:1209;10752:1455;10694:1513;10616:1598;3554:5:::0;3541:10;;:18;;;;;;;;;;;;;;;;;;10566:1648::o;10176:382::-;10273:7;10295:17;10328:12;;;;;;;;;;;:32;;;;;10345:7;:15;10353:6;10345:15;;;;;;;;;;;;;;;;;;;;;;;;;10344:16;10328:32;:55;;;;;10365:7;:18;10373:9;10365:18;;;;;;;;;;;;;;;;;;;;;;;;;10364:19;10328:55;10323:199;;;10407:5;:13;10413:6;10407:13;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;;10424:5;:16;10430:9;10424:16;;;;;;;;;;;;;;;;;;;;;;;;;10407:33;10402:109;;;10490:5;10483:4;;10474:6;:13;;;;:::i;:::-;:21;;;;:::i;:::-;10462:33;;10402:109;10323:199;10541:9;10534:16;;;10176:382;;;;;:::o;7835:317::-;7955:12;7906:11;:26;7926:4;7906:26;;;;;;;;;;;;;;;:46;2891:42;7906:46;;;;;;;;;;;;;;;;:61;7901:244;;;8034:17;7985:11;:26;8005:4;7985:26;;;;;;;;;;;;;;;:46;2891:42;7985:46;;;;;;;;;;;;;;;:66;;;;2891:42;8071:62;;8088:4;8071:62;;;8115:17;8071:62;;;;;;:::i;:::-;;;;;;;;7901:244;7835:317;:::o;12222:366::-;12292:27;12307:11;12292:14;:27::i;:::-;12330:21;12368:1;12354:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12330:40;;12399:4;12381;12386:1;12381:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12425:18;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12415:4;12420:1;12415:7;;;;;;;;:::i;:::-;;;;;;;:35;;;;;;;;;;;12461:18;;;;;;;;;;;:69;;;12531:11;12543:1;12545:4;12558;12564:15;12461:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12281:307;12222:366;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:118::-;3885:24;3903:5;3885:24;:::i;:::-;3880:3;3873:37;3798:118;;:::o;3922:222::-;4015:4;4053:2;4042:9;4038:18;4030:26;;4066:71;4134:1;4123:9;4119:17;4110:6;4066:71;:::i;:::-;3922:222;;;;:::o;4150:329::-;4209:6;4258:2;4246:9;4237:7;4233:23;4229:32;4226:119;;;4264:79;;:::i;:::-;4226:119;4384:1;4409:53;4454:7;4445:6;4434:9;4430:22;4409:53;:::i;:::-;4399:63;;4355:117;4150:329;;;;:::o;4485:619::-;4562:6;4570;4578;4627:2;4615:9;4606:7;4602:23;4598:32;4595:119;;;4633:79;;:::i;:::-;4595:119;4753:1;4778:53;4823:7;4814:6;4803:9;4799:22;4778:53;:::i;:::-;4768:63;;4724:117;4880:2;4906:53;4951:7;4942:6;4931:9;4927:22;4906:53;:::i;:::-;4896:63;;4851:118;5008:2;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4979:118;4485:619;;;;;:::o;5110:86::-;5145:7;5185:4;5178:5;5174:16;5163:27;;5110:86;;;:::o;5202:112::-;5285:22;5301:5;5285:22;:::i;:::-;5280:3;5273:35;5202:112;;:::o;5320:214::-;5409:4;5447:2;5436:9;5432:18;5424:26;;5460:67;5524:1;5513:9;5509:17;5500:6;5460:67;:::i;:::-;5320:214;;;;:::o;5540:117::-;5649:1;5646;5639:12;5663:180;5711:77;5708:1;5701:88;5808:4;5805:1;5798:15;5832:4;5829:1;5822:15;5849:281;5932:27;5954:4;5932:27;:::i;:::-;5924:6;5920:40;6062:6;6050:10;6047:22;6026:18;6014:10;6011:34;6008:62;6005:88;;;6073:18;;:::i;:::-;6005:88;6113:10;6109:2;6102:22;5892:238;5849:281;;:::o;6136:129::-;6170:6;6197:20;;:::i;:::-;6187:30;;6226:33;6254:4;6246:6;6226:33;:::i;:::-;6136:129;;;:::o;6271:311::-;6348:4;6438:18;6430:6;6427:30;6424:56;;;6460:18;;:::i;:::-;6424:56;6510:4;6502:6;6498:17;6490:25;;6570:4;6564;6560:15;6552:23;;6271:311;;;:::o;6588:117::-;6697:1;6694;6687:12;6728:710;6824:5;6849:81;6865:64;6922:6;6865:64;:::i;:::-;6849:81;:::i;:::-;6840:90;;6950:5;6979:6;6972:5;6965:21;7013:4;7006:5;7002:16;6995:23;;7066:4;7058:6;7054:17;7046:6;7042:30;7095:3;7087:6;7084:15;7081:122;;;7114:79;;:::i;:::-;7081:122;7229:6;7212:220;7246:6;7241:3;7238:15;7212:220;;;7321:3;7350:37;7383:3;7371:10;7350:37;:::i;:::-;7345:3;7338:50;7417:4;7412:3;7408:14;7401:21;;7288:144;7272:4;7267:3;7263:14;7256:21;;7212:220;;;7216:21;6830:608;;6728:710;;;;;:::o;7461:370::-;7532:5;7581:3;7574:4;7566:6;7562:17;7558:27;7548:122;;7589:79;;:::i;:::-;7548:122;7706:6;7693:20;7731:94;7821:3;7813:6;7806:4;7798:6;7794:17;7731:94;:::i;:::-;7722:103;;7538:293;7461:370;;;;:::o;7837:116::-;7907:21;7922:5;7907:21;:::i;:::-;7900:5;7897:32;7887:60;;7943:1;7940;7933:12;7887:60;7837:116;:::o;7959:133::-;8002:5;8040:6;8027:20;8018:29;;8056:30;8080:5;8056:30;:::i;:::-;7959:133;;;;:::o;8098:678::-;8188:6;8196;8245:2;8233:9;8224:7;8220:23;8216:32;8213:119;;;8251:79;;:::i;:::-;8213:119;8399:1;8388:9;8384:17;8371:31;8429:18;8421:6;8418:30;8415:117;;;8451:79;;:::i;:::-;8415:117;8556:78;8626:7;8617:6;8606:9;8602:22;8556:78;:::i;:::-;8546:88;;8342:302;8683:2;8709:50;8751:7;8742:6;8731:9;8727:22;8709:50;:::i;:::-;8699:60;;8654:115;8098:678;;;;;:::o;8782:613::-;8856:6;8864;8872;8921:2;8909:9;8900:7;8896:23;8892:32;8889:119;;;8927:79;;:::i;:::-;8889:119;9047:1;9072:50;9114:7;9105:6;9094:9;9090:22;9072:50;:::i;:::-;9062:60;;9018:114;9171:2;9197:53;9242:7;9233:6;9222:9;9218:22;9197:53;:::i;:::-;9187:63;;9142:118;9299:2;9325:53;9370:7;9361:6;9350:9;9346:22;9325:53;:::i;:::-;9315:63;;9270:118;8782:613;;;;;:::o;9401:474::-;9469:6;9477;9526:2;9514:9;9505:7;9501:23;9497:32;9494:119;;;9532:79;;:::i;:::-;9494:119;9652:1;9677:53;9722:7;9713:6;9702:9;9698:22;9677:53;:::i;:::-;9667:63;;9623:117;9779:2;9805:53;9850:7;9841:6;9830:9;9826:22;9805:53;:::i;:::-;9795:63;;9750:118;9401:474;;;;;:::o;9881:180::-;9929:77;9926:1;9919:88;10026:4;10023:1;10016:15;10050:4;10047:1;10040:15;10067:102;10109:8;10156:5;10153:1;10149:13;10128:34;;10067:102;;;:::o;10175:848::-;10236:5;10243:4;10267:6;10258:15;;10291:5;10282:14;;10305:712;10326:1;10316:8;10313:15;10305:712;;;10421:4;10416:3;10412:14;10406:4;10403:24;10400:50;;;10430:18;;:::i;:::-;10400:50;10480:1;10470:8;10466:16;10463:451;;;10895:4;10888:5;10884:16;10875:25;;10463:451;10945:4;10939;10935:15;10927:23;;10975:32;10998:8;10975:32;:::i;:::-;10963:44;;10305:712;;;10175:848;;;;;;;:::o;11029:1073::-;11083:5;11274:8;11264:40;;11295:1;11286:10;;11297:5;;11264:40;11323:4;11313:36;;11340:1;11331:10;;11342:5;;11313:36;11409:4;11457:1;11452:27;;;;11493:1;11488:191;;;;11402:277;;11452:27;11470:1;11461:10;;11472:5;;;11488:191;11533:3;11523:8;11520:17;11517:43;;;11540:18;;:::i;:::-;11517:43;11589:8;11586:1;11582:16;11573:25;;11624:3;11617:5;11614:14;11611:40;;;11631:18;;:::i;:::-;11611:40;11664:5;;;11402:277;;11788:2;11778:8;11775:16;11769:3;11763:4;11760:13;11756:36;11738:2;11728:8;11725:16;11720:2;11714:4;11711:12;11707:35;11691:111;11688:246;;;11844:8;11838:4;11834:19;11825:28;;11879:3;11872:5;11869:14;11866:40;;;11886:18;;:::i;:::-;11866:40;11919:5;;11688:246;11959:42;11997:3;11987:8;11981:4;11978:1;11959:42;:::i;:::-;11944:57;;;;12033:4;12028:3;12024:14;12017:5;12014:25;12011:51;;;12042:18;;:::i;:::-;12011:51;12091:4;12084:5;12080:16;12071:25;;11029:1073;;;;;;:::o;12108:281::-;12166:5;12190:23;12208:4;12190:23;:::i;:::-;12182:31;;12234:25;12250:8;12234:25;:::i;:::-;12222:37;;12278:104;12315:66;12305:8;12299:4;12278:104;:::i;:::-;12269:113;;12108:281;;;;:::o;12395:410::-;12435:7;12458:20;12476:1;12458:20;:::i;:::-;12453:25;;12492:20;12510:1;12492:20;:::i;:::-;12487:25;;12547:1;12544;12540:9;12569:30;12587:11;12569:30;:::i;:::-;12558:41;;12748:1;12739:7;12735:15;12732:1;12729:22;12709:1;12702:9;12682:83;12659:139;;12778:18;;:::i;:::-;12659:139;12443:362;12395:410;;;;:::o;12811:174::-;12951:26;12947:1;12939:6;12935:14;12928:50;12811:174;:::o;12991:366::-;13133:3;13154:67;13218:2;13213:3;13154:67;:::i;:::-;13147:74;;13230:93;13319:3;13230:93;:::i;:::-;13348:2;13343:3;13339:12;13332:19;;12991:366;;;:::o;13363:419::-;13529:4;13567:2;13556:9;13552:18;13544:26;;13616:9;13610:4;13606:20;13602:1;13591:9;13587:17;13580:47;13644:131;13770:4;13644:131;:::i;:::-;13636:139;;13363:419;;;:::o;13788:166::-;13928:18;13924:1;13916:6;13912:14;13905:42;13788:166;:::o;13960:366::-;14102:3;14123:67;14187:2;14182:3;14123:67;:::i;:::-;14116:74;;14199:93;14288:3;14199:93;:::i;:::-;14317:2;14312:3;14308:12;14301:19;;13960:366;;;:::o;14332:419::-;14498:4;14536:2;14525:9;14521:18;14513:26;;14585:9;14579:4;14575:20;14571:1;14560:9;14556:17;14549:47;14613:131;14739:4;14613:131;:::i;:::-;14605:139;;14332:419;;;:::o;14757:194::-;14797:4;14817:20;14835:1;14817:20;:::i;:::-;14812:25;;14851:20;14869:1;14851:20;:::i;:::-;14846:25;;14895:1;14892;14888:9;14880:17;;14919:1;14913:4;14910:11;14907:37;;;14924:18;;:::i;:::-;14907:37;14757:194;;;;:::o;14957:180::-;15005:77;15002:1;14995:88;15102:4;15099:1;15092:15;15126:4;15123:1;15116:15;15143:233;15182:3;15205:24;15223:5;15205:24;:::i;:::-;15196:33;;15251:66;15244:5;15241:77;15238:103;;15321:18;;:::i;:::-;15238:103;15368:1;15361:5;15357:13;15350:20;;15143:233;;;:::o;15382:180::-;15430:77;15427:1;15420:88;15527:4;15524:1;15517:15;15551:4;15548:1;15541:15;15568:185;15608:1;15625:20;15643:1;15625:20;:::i;:::-;15620:25;;15659:20;15677:1;15659:20;:::i;:::-;15654:25;;15698:1;15688:35;;15703:18;;:::i;:::-;15688:35;15745:1;15742;15738:9;15733:14;;15568:185;;;;:::o;15759:159::-;15899:11;15895:1;15887:6;15883:14;15876:35;15759:159;:::o;15924:365::-;16066:3;16087:66;16151:1;16146:3;16087:66;:::i;:::-;16080:73;;16162:93;16251:3;16162:93;:::i;:::-;16280:2;16275:3;16271:12;16264:19;;15924:365;;;:::o;16295:419::-;16461:4;16499:2;16488:9;16484:18;16476:26;;16548:9;16542:4;16538:20;16534:1;16523:9;16519:17;16512:47;16576:131;16702:4;16576:131;:::i;:::-;16568:139;;16295:419;;;:::o;16720:165::-;16860:17;16856:1;16848:6;16844:14;16837:41;16720:165;:::o;16891:366::-;17033:3;17054:67;17118:2;17113:3;17054:67;:::i;:::-;17047:74;;17130:93;17219:3;17130:93;:::i;:::-;17248:2;17243:3;17239:12;17232:19;;16891:366;;;:::o;17263:419::-;17429:4;17467:2;17456:9;17452:18;17444:26;;17516:9;17510:4;17506:20;17502:1;17491:9;17487:17;17480:47;17544:131;17670:4;17544:131;:::i;:::-;17536:139;;17263:419;;;:::o;17688:179::-;17828:31;17824:1;17816:6;17812:14;17805:55;17688:179;:::o;17873:366::-;18015:3;18036:67;18100:2;18095:3;18036:67;:::i;:::-;18029:74;;18112:93;18201:3;18112:93;:::i;:::-;18230:2;18225:3;18221:12;18214:19;;17873:366;;;:::o;18245:419::-;18411:4;18449:2;18438:9;18434:18;18426:26;;18498:9;18492:4;18488:20;18484:1;18473:9;18469:17;18462:47;18526:131;18652:4;18526:131;:::i;:::-;18518:139;;18245:419;;;:::o;18670:171::-;18810:23;18806:1;18798:6;18794:14;18787:47;18670:171;:::o;18847:366::-;18989:3;19010:67;19074:2;19069:3;19010:67;:::i;:::-;19003:74;;19086:93;19175:3;19086:93;:::i;:::-;19204:2;19199:3;19195:12;19188:19;;18847:366;;;:::o;19219:419::-;19385:4;19423:2;19412:9;19408:18;19400:26;;19472:9;19466:4;19462:20;19458:1;19447:9;19443:17;19436:47;19500:131;19626:4;19500:131;:::i;:::-;19492:139;;19219:419;;;:::o;19644:143::-;19701:5;19732:6;19726:13;19717:22;;19748:33;19775:5;19748:33;:::i;:::-;19644:143;;;;:::o;19793:351::-;19863:6;19912:2;19900:9;19891:7;19887:23;19883:32;19880:119;;;19918:79;;:::i;:::-;19880:119;20038:1;20063:64;20119:7;20110:6;20099:9;20095:22;20063:64;:::i;:::-;20053:74;;20009:128;19793:351;;;;:::o;20150:332::-;20271:4;20309:2;20298:9;20294:18;20286:26;;20322:71;20390:1;20379:9;20375:17;20366:6;20322:71;:::i;:::-;20403:72;20471:2;20460:9;20456:18;20447:6;20403:72;:::i;:::-;20150:332;;;;;:::o;20488:179::-;20628:31;20624:1;20616:6;20612:14;20605:55;20488:179;:::o;20673:366::-;20815:3;20836:67;20900:2;20895:3;20836:67;:::i;:::-;20829:74;;20912:93;21001:3;20912:93;:::i;:::-;21030:2;21025:3;21021:12;21014:19;;20673:366;;;:::o;21045:419::-;21211:4;21249:2;21238:9;21234:18;21226:26;;21298:9;21292:4;21288:20;21284:1;21273:9;21269:17;21262:47;21326:131;21452:4;21326:131;:::i;:::-;21318:139;;21045:419;;;:::o;21470:168::-;21610:20;21606:1;21598:6;21594:14;21587:44;21470:168;:::o;21644:366::-;21786:3;21807:67;21871:2;21866:3;21807:67;:::i;:::-;21800:74;;21883:93;21972:3;21883:93;:::i;:::-;22001:2;21996:3;21992:12;21985:19;;21644:366;;;:::o;22016:419::-;22182:4;22220:2;22209:9;22205:18;22197:26;;22269:9;22263:4;22259:20;22255:1;22244:9;22240:17;22233:47;22297:131;22423:4;22297:131;:::i;:::-;22289:139;;22016:419;;;:::o;22441:170::-;22581:22;22577:1;22569:6;22565:14;22558:46;22441:170;:::o;22617:366::-;22759:3;22780:67;22844:2;22839:3;22780:67;:::i;:::-;22773:74;;22856:93;22945:3;22856:93;:::i;:::-;22974:2;22969:3;22965:12;22958:19;;22617:366;;;:::o;22989:419::-;23155:4;23193:2;23182:9;23178:18;23170:26;;23242:9;23236:4;23232:20;23228:1;23217:9;23213:17;23206:47;23270:131;23396:4;23270:131;:::i;:::-;23262:139;;22989:419;;;:::o;23414:191::-;23454:3;23473:20;23491:1;23473:20;:::i;:::-;23468:25;;23507:20;23525:1;23507:20;:::i;:::-;23502:25;;23550:1;23547;23543:9;23536:16;;23571:3;23568:1;23565:10;23562:36;;;23578:18;;:::i;:::-;23562:36;23414:191;;;;:::o;23611:156::-;23751:8;23747:1;23739:6;23735:14;23728:32;23611:156;:::o;23773:365::-;23915:3;23936:66;24000:1;23995:3;23936:66;:::i;:::-;23929:73;;24011:93;24100:3;24011:93;:::i;:::-;24129:2;24124:3;24120:12;24113:19;;23773:365;;;:::o;24144:419::-;24310:4;24348:2;24337:9;24333:18;24325:26;;24397:9;24391:4;24387:20;24383:1;24372:9;24368:17;24361:47;24425:131;24551:4;24425:131;:::i;:::-;24417:139;;24144:419;;;:::o;24569:85::-;24614:7;24643:5;24632:16;;24569:85;;;:::o;24660:60::-;24688:3;24709:5;24702:12;;24660:60;;;:::o;24726:158::-;24784:9;24817:61;24835:42;24844:32;24870:5;24844:32;:::i;:::-;24835:42;:::i;:::-;24817:61;:::i;:::-;24804:74;;24726:158;;;:::o;24890:147::-;24985:45;25024:5;24985:45;:::i;:::-;24980:3;24973:58;24890:147;;:::o;25043:807::-;25292:4;25330:3;25319:9;25315:19;25307:27;;25344:71;25412:1;25401:9;25397:17;25388:6;25344:71;:::i;:::-;25425:72;25493:2;25482:9;25478:18;25469:6;25425:72;:::i;:::-;25507:80;25583:2;25572:9;25568:18;25559:6;25507:80;:::i;:::-;25597;25673:2;25662:9;25658:18;25649:6;25597:80;:::i;:::-;25687:73;25755:3;25744:9;25740:19;25731:6;25687:73;:::i;:::-;25770;25838:3;25827:9;25823:19;25814:6;25770:73;:::i;:::-;25043:807;;;;;;;;;:::o;25856:143::-;25913:5;25944:6;25938:13;25929:22;;25960:33;25987:5;25960:33;:::i;:::-;25856:143;;;;:::o;26005:663::-;26093:6;26101;26109;26158:2;26146:9;26137:7;26133:23;26129:32;26126:119;;;26164:79;;:::i;:::-;26126:119;26284:1;26309:64;26365:7;26356:6;26345:9;26341:22;26309:64;:::i;:::-;26299:74;;26255:128;26422:2;26448:64;26504:7;26495:6;26484:9;26480:22;26448:64;:::i;:::-;26438:74;;26393:129;26561:2;26587:64;26643:7;26634:6;26623:9;26619:22;26587:64;:::i;:::-;26577:74;;26532:129;26005:663;;;;;:::o;26674:147::-;26775:11;26812:3;26797:18;;26674:147;;;;:::o;26827:114::-;;:::o;26947:398::-;27106:3;27127:83;27208:1;27203:3;27127:83;:::i;:::-;27120:90;;27219:93;27308:3;27219:93;:::i;:::-;27337:1;27332:3;27328:11;27321:18;;26947:398;;;:::o;27351:379::-;27535:3;27557:147;27700:3;27557:147;:::i;:::-;27550:154;;27721:3;27714:10;;27351:379;;;:::o;27736:114::-;27803:6;27837:5;27831:12;27821:22;;27736:114;;;:::o;27856:184::-;27955:11;27989:6;27984:3;27977:19;28029:4;28024:3;28020:14;28005:29;;27856:184;;;;:::o;28046:132::-;28113:4;28136:3;28128:11;;28166:4;28161:3;28157:14;28149:22;;28046:132;;;:::o;28184:108::-;28261:24;28279:5;28261:24;:::i;:::-;28256:3;28249:37;28184:108;;:::o;28298:179::-;28367:10;28388:46;28430:3;28422:6;28388:46;:::i;:::-;28466:4;28461:3;28457:14;28443:28;;28298:179;;;;:::o;28483:113::-;28553:4;28585;28580:3;28576:14;28568:22;;28483:113;;;:::o;28632:732::-;28751:3;28780:54;28828:5;28780:54;:::i;:::-;28850:86;28929:6;28924:3;28850:86;:::i;:::-;28843:93;;28960:56;29010:5;28960:56;:::i;:::-;29039:7;29070:1;29055:284;29080:6;29077:1;29074:13;29055:284;;;29156:6;29150:13;29183:63;29242:3;29227:13;29183:63;:::i;:::-;29176:70;;29269:60;29322:6;29269:60;:::i;:::-;29259:70;;29115:224;29102:1;29099;29095:9;29090:14;;29055:284;;;29059:14;29355:3;29348:10;;28756:608;;;28632:732;;;;:::o;29370:831::-;29633:4;29671:3;29660:9;29656:19;29648:27;;29685:71;29753:1;29742:9;29738:17;29729:6;29685:71;:::i;:::-;29766:80;29842:2;29831:9;29827:18;29818:6;29766:80;:::i;:::-;29893:9;29887:4;29883:20;29878:2;29867:9;29863:18;29856:48;29921:108;30024:4;30015:6;29921:108;:::i;:::-;29913:116;;30039:72;30107:2;30096:9;30092:18;30083:6;30039:72;:::i;:::-;30121:73;30189:3;30178:9;30174:19;30165:6;30121:73;:::i;:::-;29370:831;;;;;;;;:::o

Swarm Source

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