ETH Price: $2,533.82 (-2.63%)

Token

Union Bank of Switzerland (UBS)
 

Overview

Max Total Supply

1,000,000,000,000 UBS

Holders

99

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000057 UBS

Value
$0.00
0x94a8444bbdf060c10ec580d7c42af44fa38acaf0
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:
UBS

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/**
 *Submitted for verification at Etherscan.io on 2023-06-6
*/
// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract UBS is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "Union Bank of Switzerland";
    string private constant _symbol = "UBS";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping (address => uint256) private _buyMap;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    mapping(address => bool) private _isSniper;
    uint256 public launchTime;

    // Jeets out Fee
    uint256 private _redisFeeJeets = 0;
    uint256 private _taxFeeJeets = 19;

    // Buy Fee
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 99;
    
    // Sell Fee
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 0;
    
    // Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _burnFee = 0;
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    uint256 private _previousburnFee = _burnFee;
    
    address payable private _marketingAddress = payable(0x9445Df8BdAEC586298be4C37410469f20ef91891);
    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;

    uint256 public timeJeets = 1 hours;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private isMaxBuyActivated = true;
    
    uint256 public _maxTxAmount = 2e10 * 10**9; //2%
    uint256 public _maxWalletSize = 2e10 * 10**9; //2%
    uint256 public _swapTokensAtAmount = 1000 * 10**9;
    uint256 public _minimumBuyAmount = 1e7 * 10**9 ; // 0.001%

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

    constructor() {
        
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[deadAddress] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0 && _burnFee == 0) return;
    
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        _previousburnFee = _burnFee;
        
        _redisFee = 0;
        _taxFee = 0;
        _burnFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
        _burnFee = _previousburnFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!_isSniper[to], 'Stop sniping!');
        require(!_isSniper[from], 'Stop sniping!');
        require(!_isSniper[_msgSender()], 'Stop sniping!');

        if (from != owner() && to != owner()) {
            
            // Trade start check
            if (!tradingOpen) {
                revert("Trading not yet enabled!");
            }
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (to != address(this) && from != address(this) && to != _marketingAddress && from != _marketingAddress) {
                    require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                }
            }

            if (to != uniswapV2Pair && to != _marketingAddress && to != address(this) && to != deadAddress) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                if (isMaxBuyActivated) {
                    if (block.timestamp <= launchTime + 20 minutes) {
                        require(amount <= _minimumBuyAmount, "Amount too much");
                    }
                }
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance > _swapTokensAtAmount;
            
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                uint256 burntAmount = 0;
                if (_burnFee > 0) {
                    burntAmount = contractTokenBalance.mul(_burnFee).div(10**2);
                    burnTokens(burntAmount);
                }
                swapTokensForEth(contractTokenBalance - burntAmount);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        bool takeFee = true;

        // Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            // Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                    _buyMap[to] = block.timestamp;
                    _redisFee = _redisFeeOnBuy;
                    _taxFee = _taxFeeOnBuy;
                    // antibot
                    if (block.timestamp == launchTime) {
                        _isSniper[to] = true;
                    }
            }
    
            // Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (_buyMap[from] != 0 && (_buyMap[from] + timeJeets >= block.timestamp)) {
                    _redisFee = _redisFeeJeets;
                    _taxFee = _taxFeeJeets;
                } else {
                    _redisFee = _redisFeeOnSell;
                    _taxFee = _taxFeeOnSell;
                }
            }
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function burnTokens(uint256 burntAmount) private {
        _transfer(address(this), deadAddress, burntAmount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
        launchTime = block.timestamp;
    }

    function setMarketingWallet(address marketingAddress) external {
        require(_msgSender() == _marketingAddress);
        _marketingAddress = payable(marketingAddress);
        _isExcludedFromFee[_marketingAddress] = true;
    }

    function setIsMaxBuyActivated(bool _isMaxBuyActivated) public onlyOwner {
        isMaxBuyActivated = _isMaxBuyActivated;
    }

    function manualswap(uint256 amount) external {
        require(_msgSender() == _marketingAddress);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        swapTokensForEth(amount);
    }

    function addSniper(address sniper) external onlyOwner {
        _isSniper[sniper] = true;
    }

    function removeSniper(address sniper) external onlyOwner {
        if (_isSniper[sniper]) {
            _isSniper[sniper] = false;
        }
    }

    function isSniper(address sniper) external view returns (bool){
        return _isSniper[sniper];
    }

    function manualsend() external {
        require(_msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);

        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);

        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();

        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
    
        return (rSupply, tSupply);
    }

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setMaxTxnAmount(uint256 maxTxAmount) external onlyOwner {
        require(maxTxAmount >= 1e7 * 10**9, "Maximum transaction amount must be greater than 0.001%");
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) external onlyOwner {
        require(maxWalletSize >= _maxWalletSize);
        _maxWalletSize = maxWalletSize;
    }

    // USUAL TAXES CANNOT BE RAISED MORE THAN 15%
    function setTaxFee(uint256 amountBuy, uint256 amountSell) external onlyOwner {
        require(amountBuy >= 0 && amountBuy <= 13);
        require(amountSell >= 0 && amountSell <= 13);
        _taxFeeOnBuy = amountBuy;
        _taxFeeOnSell = amountSell;
    }

    function setRefFee(uint256 amountRefBuy, uint256 amountRefSell) external onlyOwner {
        require(amountRefBuy >= 0 && amountRefBuy <= 1);
        require(amountRefSell >= 0 && amountRefSell <= 1);
        _redisFeeOnBuy = amountRefBuy;
        _redisFeeOnSell = amountRefSell;
    }

    function setBurnFee(uint256 amount) external onlyOwner {
        require(amount >= 0 && amount <= 1);
        _burnFee = amount;
    }

    // FAST SELL TAXES CANNOT BE RAISED MORE THAN 20% and 4 hours
    function setJeetsFee(uint256 amountRedisJeets, uint256 amountTaxJeets) external onlyOwner {
        require(amountRedisJeets >= 0 && amountRedisJeets <= 1);
        require(amountTaxJeets >= 0 && amountTaxJeets <= 19);
        _redisFeeJeets = amountRedisJeets;
        _taxFeeJeets = amountTaxJeets;
    }

    function setTimeJeets(uint256 hoursTime) external onlyOwner {
        require(hoursTime >= 0 && hoursTime <= 4);
        timeJeets = hoursTime * 1 hours;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minimumBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"addSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isMaxBuyActivated","type":"bool"}],"name":"setIsMaxBuyActivated","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountRedisJeets","type":"uint256"},{"internalType":"uint256","name":"amountTaxJeets","type":"uint256"}],"name":"setJeetsFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountRefBuy","type":"uint256"},{"internalType":"uint256","name":"amountRefSell","type":"uint256"}],"name":"setRefFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountBuy","type":"uint256"},{"internalType":"uint256","name":"amountSell","type":"uint256"}],"name":"setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"hoursTime","type":"uint256"}],"name":"setTimeJeets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"timeJeets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d9190620007ff565b6000196200002c919062000786565b6007556000600b556013600c556000600d556063600e556000600f556000601055600f546011556010546012556000601355601154601455601254601555601354601655739445df8bdaec586298be4c37410469f20ef91891601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e106018556000601a60156101000a81548160ff0219169083151502179055506001601a60166101000a81548160ff0219169083151502179055506001601a60176101000a81548160ff0219169083151502179055506801158e460913d00000601b556801158e460913d00000601c5564e8d4a51000601d55662386f26fc10000601e553480156200015757600080fd5b5060006200016a620006a660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600754600260006200021f620006a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002fe57600080fd5b505afa15801562000313573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003399190620006ee565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200039c57600080fd5b505afa158015620003b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d79190620006ee565b6040518363ffffffff1660e01b8152600401620003f69291906200073c565b602060405180830381600087803b1580156200041157600080fd5b505af115801562000426573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200044c9190620006ee565b601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000620004a2620006ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200062f620006a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea0000060405162000697919062000769565b60405180910390a350620008af565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620006e88162000895565b92915050565b6000602082840312156200070157600080fd5b60006200071184828501620006d7565b91505092915050565b6200072581620007c1565b82525050565b6200073681620007f5565b82525050565b60006040820190506200075360008301856200071a565b6200076260208301846200071a565b9392505050565b60006020820190506200078060008301846200072b565b92915050565b60006200079382620007f5565b9150620007a083620007f5565b925082821015620007b657620007b562000837565b5b828203905092915050565b6000620007ce82620007d5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200080c82620007f5565b91506200081983620007f5565b9250826200082c576200082b62000866565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620008a081620007c1565b8114620008ac57600080fd5b50565b61469180620008bf6000396000f3fe60806040526004361061021e5760003560e01c806370a082311161012357806395d89b41116100ab578063dd62ed3e1161006f578063dd62ed3e146107a4578063e0f9f6a0146107e1578063ea1644d51461080a578063f2fde38b14610833578063fe72c3c11461085c57610225565b806395d89b41146106c15780639ec350ed146106ec5780639f13157114610715578063a9059cbb1461073e578063c55284901461077b57610225565b80637d1db4a5116100f25780637d1db4a5146105ee578063881dce60146106195780638da5cb5b146106425780638f70ccf71461066d5780638f9a55c01461069657610225565b806370a0823114610546578063715018a61461058357806374010ece1461059a578063790ca413146105c357610225565b806333251a0b116101a65780634bf2c7c9116101755780634bf2c7c9146104895780635d098b38146104b25780636b9cf534146104db5780636d8aa8f8146105065780636fc3eaec1461052f57610225565b806333251a0b146103e357806338eea22d1461040c5780633e3e95981461043557806349bd5a5e1461045e57610225565b806318160ddd116101ed57806318160ddd146102fa57806323b872dd1461032557806327c8f835146103625780632fd689e31461038d578063313ce567146103b857610225565b806306fdde031461022a578063095ea7b3146102555780630f3a325f146102925780631694505e146102cf57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f610887565b60405161024c9190613c50565b60405180910390f35b34801561026157600080fd5b5061027c600480360381019061027791906137ca565b6108c4565b6040516102899190613c1a565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b491906136ed565b6108e2565b6040516102c69190613c1a565b60405180910390f35b3480156102db57600080fd5b506102e4610938565b6040516102f19190613c35565b60405180910390f35b34801561030657600080fd5b5061030f61095e565b60405161031c9190613e92565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061377b565b61096f565b6040516103599190613c1a565b60405180910390f35b34801561036e57600080fd5b50610377610a48565b6040516103849190613bff565b60405180910390f35b34801561039957600080fd5b506103a2610a4e565b6040516103af9190613e92565b60405180910390f35b3480156103c457600080fd5b506103cd610a54565b6040516103da9190613f07565b60405180910390f35b3480156103ef57600080fd5b5061040a600480360381019061040591906136ed565b610a5d565b005b34801561041857600080fd5b50610433600480360381019061042e9190613858565b610ba0565b005b34801561044157600080fd5b5061045c600480360381019061045791906136ed565b610c7d565b005b34801561046a57600080fd5b50610473610d6d565b6040516104809190613bff565b60405180910390f35b34801561049557600080fd5b506104b060048036038101906104ab919061382f565b610d93565b005b3480156104be57600080fd5b506104d960048036038101906104d491906136ed565b610e4d565b005b3480156104e757600080fd5b506104f0610f6c565b6040516104fd9190613e92565b60405180910390f35b34801561051257600080fd5b5061052d60048036038101906105289190613806565b610f72565b005b34801561053b57600080fd5b50610544611024565b005b34801561055257600080fd5b5061056d600480360381019061056891906136ed565b611096565b60405161057a9190613e92565b60405180910390f35b34801561058f57600080fd5b506105986110e7565b005b3480156105a657600080fd5b506105c160048036038101906105bc919061382f565b61123a565b005b3480156105cf57600080fd5b506105d8611323565b6040516105e59190613e92565b60405180910390f35b3480156105fa57600080fd5b50610603611329565b6040516106109190613e92565b60405180910390f35b34801561062557600080fd5b50610640600480360381019061063b919061382f565b61132f565b005b34801561064e57600080fd5b506106576113f3565b6040516106649190613bff565b60405180910390f35b34801561067957600080fd5b50610694600480360381019061068f9190613806565b61141c565b005b3480156106a257600080fd5b506106ab6114d5565b6040516106b89190613e92565b60405180910390f35b3480156106cd57600080fd5b506106d66114db565b6040516106e39190613c50565b60405180910390f35b3480156106f857600080fd5b50610713600480360381019061070e9190613858565b611518565b005b34801561072157600080fd5b5061073c60048036038101906107379190613806565b6115f5565b005b34801561074a57600080fd5b50610765600480360381019061076091906137ca565b6116a7565b6040516107729190613c1a565b60405180910390f35b34801561078757600080fd5b506107a2600480360381019061079d9190613858565b6116c5565b005b3480156107b057600080fd5b506107cb60048036038101906107c6919061373f565b6117a2565b6040516107d89190613e92565b60405180910390f35b3480156107ed57600080fd5b506108086004803603810190610803919061382f565b611829565b005b34801561081657600080fd5b50610831600480360381019061082c919061382f565b6118f0565b005b34801561083f57600080fd5b5061085a600480360381019061085591906136ed565b61199e565b005b34801561086857600080fd5b50610871611b60565b60405161087e9190613e92565b60405180910390f35b60606040518060400160405280601981526020017f556e696f6e2042616e6b206f6620537769747a65726c616e6400000000000000815250905090565b60006108d86108d1611b66565b8484611b6e565b6001905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000683635c9adc5dea00000905090565b600061097c848484611d39565b610a3d84610988611b66565b610a388560405180606001604052806028815260200161463460289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109ee611b66565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aff9092919063ffffffff16565b611b6e565b600190509392505050565b61dead81565b601d5481565b60006009905090565b610a65611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae990613d92565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b9d576000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b610ba8611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2c90613d92565b60405180910390fd5b60008210158015610c47575060018211155b610c5057600080fd5b60008110158015610c62575060018111155b610c6b57600080fd5b81600d8190555080600f819055505050565b610c85611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0990613d92565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d9b611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1f90613d92565b60405180910390fd5b60008110158015610e3a575060018111155b610e4357600080fd5b8060138190555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e8e611b66565b73ffffffffffffffffffffffffffffffffffffffff1614610eae57600080fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601e5481565b610f7a611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90613d92565b60405180910390fd5b80601a60166101000a81548160ff02191690831515021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611065611b66565b73ffffffffffffffffffffffffffffffffffffffff161461108557600080fd5b600047905061109381612b63565b50565b60006110e0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bcf565b9050919050565b6110ef611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461117c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117390613d92565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611242611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690613d92565b60405180910390fd5b662386f26fc10000811015611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090613e52565b60405180910390fd5b80601b8190555050565b600a5481565b601b5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611370611b66565b73ffffffffffffffffffffffffffffffffffffffff161461139057600080fd5b61139930611096565b81111580156113a85750600081115b6113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de90613e72565b60405180910390fd5b6113f081612c3d565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611424611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890613d92565b60405180910390fd5b80601a60146101000a81548160ff02191690831515021790555042600a8190555050565b601c5481565b60606040518060400160405280600381526020017f5542530000000000000000000000000000000000000000000000000000000000815250905090565b611520611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a490613d92565b60405180910390fd5b600082101580156115bf575060018211155b6115c857600080fd5b600081101580156115da575060138111155b6115e357600080fd5b81600b8190555080600c819055505050565b6115fd611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190613d92565b60405180910390fd5b80601a60176101000a81548160ff02191690831515021790555050565b60006116bb6116b4611b66565b8484611d39565b6001905092915050565b6116cd611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175190613d92565b60405180910390fd5b6000821015801561176c5750600d8211155b61177557600080fd5b600081101580156117875750600d8111155b61179057600080fd5b81600e81905550806010819055505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611831611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b590613d92565b60405180910390fd5b600081101580156118d0575060048111155b6118d957600080fd5b610e10816118e79190613ffe565b60188190555050565b6118f8611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c90613d92565b60405180910390fd5b601c5481101561199457600080fd5b80601c8190555050565b6119a6611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2a90613d92565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9a90613cf2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd590613e32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4590613d12565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d2c9190613e92565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da090613dd2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1090613c72565b60405180910390fd5b60008111611e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5390613db2565b60405180910390fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee090613e12565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d90613e12565b60405180910390fd5b60096000611f82611b66565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561200a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200190613e12565b60405180910390fd5b6120126113f3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561208057506120506113f3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561269e57601a60149054906101000a900460ff166120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb90613c92565b60405180910390fd5b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561217f5750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122ec573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156121ec57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156122465750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156122a05750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122eb57601b548111156122ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e190613cd2565b60405180910390fd5b5b5b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156123985750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123d057503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561240a575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156124d957601c548161241c84611096565b6124269190613f77565b10612466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245d90613df2565b60405180910390fd5b601a60179054906101000a900460ff16156124d8576104b0600a5461248b9190613f77565b42116124d757601e548111156124d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cd90613d32565b60405180910390fd5b5b5b5b60006124e430611096565b90506000601d54821190508080156125095750601a60159054906101000a900460ff16155b80156125635750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561257b5750601a60169054906101000a900460ff165b80156125d15750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156126275750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561269b57600080601354111561266c57612660606461265260135486612f3790919063ffffffff16565b612fb290919063ffffffff16565b905061266b81612ffc565b5b612680818461267b9190614058565b612c3d565b600047905060008111156126985761269747612b63565b5b50505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127455750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806127f85750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156127f75750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156128065760009050612aed565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156128b15750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156129705742600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d54601181905550600e54601281905550600a5442141561296f576001600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612a1b5750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612aec576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015612abc575042601854600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ab99190613f77565b10155b15612ad857600b54601181905550600c54601281905550612aeb565b600f546011819055506010546012819055505b5b5b612af98484848461300c565b50505050565b6000838311158290612b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3e9190613c50565b60405180910390fd5b5060008385612b569190614058565b9050809150509392505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612bcb573d6000803e3d6000fd5b5050565b6000600754821115612c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0d90613cb2565b60405180910390fd5b6000612c20613039565b9050612c358184612fb290919063ffffffff16565b915050919050565b6001601a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612c9b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612cc95781602001602082028036833780820191505090505b5090503081600081518110612d07577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612da957600080fd5b505afa158015612dbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de19190613716565b81600181518110612e1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e8230601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b6e565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612ee6959493929190613ead565b600060405180830381600087803b158015612f0057600080fd5b505af1158015612f14573d6000803e3d6000fd5b50505050506000601a60156101000a81548160ff02191690831515021790555050565b600080831415612f4a5760009050612fac565b60008284612f589190613ffe565b9050828482612f679190613fcd565b14612fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f9e90613d72565b60405180910390fd5b809150505b92915050565b6000612ff483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613064565b905092915050565b6130093061dead83611d39565b50565b8061301a576130196130c7565b5b613025848484613129565b80613033576130326132f4565b5b50505050565b6000806000613046613311565b9150915061305d8183612fb290919063ffffffff16565b9250505090565b600080831182906130ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130a29190613c50565b60405180910390fd5b50600083856130ba9190613fcd565b9050809150509392505050565b60006011541480156130db57506000601254145b80156130e957506000601354145b156130f357613127565b6011546014819055506012546015819055506013546016819055506000601181905550600060128190555060006013819055505b565b60008060008060008061313b87613373565b95509550955095509550955061319986600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133db90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061322e85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061327a81613483565b6132848483613540565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516132e19190613e92565b60405180910390a3505050505050505050565b601454601181905550601554601281905550601654601381905550565b600080600060075490506000683635c9adc5dea000009050613347683635c9adc5dea00000600754612fb290919063ffffffff16565b82101561336657600754683635c9adc5dea0000093509350505061336f565b81819350935050505b9091565b60008060008060008060008060006133908a60115460125461357a565b92509250925060006133a0613039565b905060008060006133b38e878787613610565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061341d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612aff565b905092915050565b60008082846134349190613f77565b905083811015613479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161347090613d52565b60405180910390fd5b8091505092915050565b600061348d613039565b905060006134a48284612f3790919063ffffffff16565b90506134f881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b613555826007546133db90919063ffffffff16565b6007819055506135708160085461342590919063ffffffff16565b6008819055505050565b6000806000806135a66064613598888a612f3790919063ffffffff16565b612fb290919063ffffffff16565b905060006135d060646135c2888b612f3790919063ffffffff16565b612fb290919063ffffffff16565b905060006135f9826135eb858c6133db90919063ffffffff16565b6133db90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806136298589612f3790919063ffffffff16565b905060006136408689612f3790919063ffffffff16565b905060006136578789612f3790919063ffffffff16565b905060006136808261367285876133db90919063ffffffff16565b6133db90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506136a8816145ee565b92915050565b6000815190506136bd816145ee565b92915050565b6000813590506136d281614605565b92915050565b6000813590506136e78161461c565b92915050565b6000602082840312156136ff57600080fd5b600061370d84828501613699565b91505092915050565b60006020828403121561372857600080fd5b6000613736848285016136ae565b91505092915050565b6000806040838503121561375257600080fd5b600061376085828601613699565b925050602061377185828601613699565b9150509250929050565b60008060006060848603121561379057600080fd5b600061379e86828701613699565b93505060206137af86828701613699565b92505060406137c0868287016136d8565b9150509250925092565b600080604083850312156137dd57600080fd5b60006137eb85828601613699565b92505060206137fc858286016136d8565b9150509250929050565b60006020828403121561381857600080fd5b6000613826848285016136c3565b91505092915050565b60006020828403121561384157600080fd5b600061384f848285016136d8565b91505092915050565b6000806040838503121561386b57600080fd5b6000613879858286016136d8565b925050602061388a858286016136d8565b9150509250929050565b60006138a083836138ac565b60208301905092915050565b6138b58161408c565b82525050565b6138c48161408c565b82525050565b60006138d582613f32565b6138df8185613f55565b93506138ea83613f22565b8060005b8381101561391b5781516139028882613894565b975061390d83613f48565b9250506001810190506138ee565b5085935050505092915050565b6139318161409e565b82525050565b613940816140e1565b82525050565b61394f81614105565b82525050565b600061396082613f3d565b61396a8185613f66565b935061397a818560208601614117565b613983816141a8565b840191505092915050565b600061399b602383613f66565b91506139a6826141b9565b604082019050919050565b60006139be601883613f66565b91506139c982614208565b602082019050919050565b60006139e1602a83613f66565b91506139ec82614231565b604082019050919050565b6000613a04601c83613f66565b9150613a0f82614280565b602082019050919050565b6000613a27602683613f66565b9150613a32826142a9565b604082019050919050565b6000613a4a602283613f66565b9150613a55826142f8565b604082019050919050565b6000613a6d600f83613f66565b9150613a7882614347565b602082019050919050565b6000613a90601b83613f66565b9150613a9b82614370565b602082019050919050565b6000613ab3602183613f66565b9150613abe82614399565b604082019050919050565b6000613ad6602083613f66565b9150613ae1826143e8565b602082019050919050565b6000613af9602983613f66565b9150613b0482614411565b604082019050919050565b6000613b1c602583613f66565b9150613b2782614460565b604082019050919050565b6000613b3f602383613f66565b9150613b4a826144af565b604082019050919050565b6000613b62600d83613f66565b9150613b6d826144fe565b602082019050919050565b6000613b85602483613f66565b9150613b9082614527565b604082019050919050565b6000613ba8603683613f66565b9150613bb382614576565b604082019050919050565b6000613bcb600c83613f66565b9150613bd6826145c5565b602082019050919050565b613bea816140ca565b82525050565b613bf9816140d4565b82525050565b6000602082019050613c1460008301846138bb565b92915050565b6000602082019050613c2f6000830184613928565b92915050565b6000602082019050613c4a6000830184613937565b92915050565b60006020820190508181036000830152613c6a8184613955565b905092915050565b60006020820190508181036000830152613c8b8161398e565b9050919050565b60006020820190508181036000830152613cab816139b1565b9050919050565b60006020820190508181036000830152613ccb816139d4565b9050919050565b60006020820190508181036000830152613ceb816139f7565b9050919050565b60006020820190508181036000830152613d0b81613a1a565b9050919050565b60006020820190508181036000830152613d2b81613a3d565b9050919050565b60006020820190508181036000830152613d4b81613a60565b9050919050565b60006020820190508181036000830152613d6b81613a83565b9050919050565b60006020820190508181036000830152613d8b81613aa6565b9050919050565b60006020820190508181036000830152613dab81613ac9565b9050919050565b60006020820190508181036000830152613dcb81613aec565b9050919050565b60006020820190508181036000830152613deb81613b0f565b9050919050565b60006020820190508181036000830152613e0b81613b32565b9050919050565b60006020820190508181036000830152613e2b81613b55565b9050919050565b60006020820190508181036000830152613e4b81613b78565b9050919050565b60006020820190508181036000830152613e6b81613b9b565b9050919050565b60006020820190508181036000830152613e8b81613bbe565b9050919050565b6000602082019050613ea76000830184613be1565b92915050565b600060a082019050613ec26000830188613be1565b613ecf6020830187613946565b8181036040830152613ee181866138ca565b9050613ef060608301856138bb565b613efd6080830184613be1565b9695505050505050565b6000602082019050613f1c6000830184613bf0565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613f82826140ca565b9150613f8d836140ca565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613fc257613fc161414a565b5b828201905092915050565b6000613fd8826140ca565b9150613fe3836140ca565b925082613ff357613ff2614179565b5b828204905092915050565b6000614009826140ca565b9150614014836140ca565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561404d5761404c61414a565b5b828202905092915050565b6000614063826140ca565b915061406e836140ca565b9250828210156140815761408061414a565b5b828203905092915050565b6000614097826140aa565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006140ec826140f3565b9050919050565b60006140fe826140aa565b9050919050565b6000614110826140ca565b9050919050565b60005b8381101561413557808201518184015260208101905061411a565b83811115614144576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e7420746f6f206d7563680000000000000000000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f53746f7020736e6970696e672100000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4d6178696d756d207472616e73616374696f6e20616d6f756e74206d7573742060008201527f62652067726561746572207468616e20302e3030312500000000000000000000602082015250565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b6145f78161408c565b811461460257600080fd5b50565b61460e8161409e565b811461461957600080fd5b50565b614625816140ca565b811461463057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206c16b22c1f68477828001a5a95afc78a2a1e0c5b009b9b511521fa152e7dbefd64736f6c63430008040033

Deployed Bytecode

0x60806040526004361061021e5760003560e01c806370a082311161012357806395d89b41116100ab578063dd62ed3e1161006f578063dd62ed3e146107a4578063e0f9f6a0146107e1578063ea1644d51461080a578063f2fde38b14610833578063fe72c3c11461085c57610225565b806395d89b41146106c15780639ec350ed146106ec5780639f13157114610715578063a9059cbb1461073e578063c55284901461077b57610225565b80637d1db4a5116100f25780637d1db4a5146105ee578063881dce60146106195780638da5cb5b146106425780638f70ccf71461066d5780638f9a55c01461069657610225565b806370a0823114610546578063715018a61461058357806374010ece1461059a578063790ca413146105c357610225565b806333251a0b116101a65780634bf2c7c9116101755780634bf2c7c9146104895780635d098b38146104b25780636b9cf534146104db5780636d8aa8f8146105065780636fc3eaec1461052f57610225565b806333251a0b146103e357806338eea22d1461040c5780633e3e95981461043557806349bd5a5e1461045e57610225565b806318160ddd116101ed57806318160ddd146102fa57806323b872dd1461032557806327c8f835146103625780632fd689e31461038d578063313ce567146103b857610225565b806306fdde031461022a578063095ea7b3146102555780630f3a325f146102925780631694505e146102cf57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f610887565b60405161024c9190613c50565b60405180910390f35b34801561026157600080fd5b5061027c600480360381019061027791906137ca565b6108c4565b6040516102899190613c1a565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b491906136ed565b6108e2565b6040516102c69190613c1a565b60405180910390f35b3480156102db57600080fd5b506102e4610938565b6040516102f19190613c35565b60405180910390f35b34801561030657600080fd5b5061030f61095e565b60405161031c9190613e92565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061377b565b61096f565b6040516103599190613c1a565b60405180910390f35b34801561036e57600080fd5b50610377610a48565b6040516103849190613bff565b60405180910390f35b34801561039957600080fd5b506103a2610a4e565b6040516103af9190613e92565b60405180910390f35b3480156103c457600080fd5b506103cd610a54565b6040516103da9190613f07565b60405180910390f35b3480156103ef57600080fd5b5061040a600480360381019061040591906136ed565b610a5d565b005b34801561041857600080fd5b50610433600480360381019061042e9190613858565b610ba0565b005b34801561044157600080fd5b5061045c600480360381019061045791906136ed565b610c7d565b005b34801561046a57600080fd5b50610473610d6d565b6040516104809190613bff565b60405180910390f35b34801561049557600080fd5b506104b060048036038101906104ab919061382f565b610d93565b005b3480156104be57600080fd5b506104d960048036038101906104d491906136ed565b610e4d565b005b3480156104e757600080fd5b506104f0610f6c565b6040516104fd9190613e92565b60405180910390f35b34801561051257600080fd5b5061052d60048036038101906105289190613806565b610f72565b005b34801561053b57600080fd5b50610544611024565b005b34801561055257600080fd5b5061056d600480360381019061056891906136ed565b611096565b60405161057a9190613e92565b60405180910390f35b34801561058f57600080fd5b506105986110e7565b005b3480156105a657600080fd5b506105c160048036038101906105bc919061382f565b61123a565b005b3480156105cf57600080fd5b506105d8611323565b6040516105e59190613e92565b60405180910390f35b3480156105fa57600080fd5b50610603611329565b6040516106109190613e92565b60405180910390f35b34801561062557600080fd5b50610640600480360381019061063b919061382f565b61132f565b005b34801561064e57600080fd5b506106576113f3565b6040516106649190613bff565b60405180910390f35b34801561067957600080fd5b50610694600480360381019061068f9190613806565b61141c565b005b3480156106a257600080fd5b506106ab6114d5565b6040516106b89190613e92565b60405180910390f35b3480156106cd57600080fd5b506106d66114db565b6040516106e39190613c50565b60405180910390f35b3480156106f857600080fd5b50610713600480360381019061070e9190613858565b611518565b005b34801561072157600080fd5b5061073c60048036038101906107379190613806565b6115f5565b005b34801561074a57600080fd5b50610765600480360381019061076091906137ca565b6116a7565b6040516107729190613c1a565b60405180910390f35b34801561078757600080fd5b506107a2600480360381019061079d9190613858565b6116c5565b005b3480156107b057600080fd5b506107cb60048036038101906107c6919061373f565b6117a2565b6040516107d89190613e92565b60405180910390f35b3480156107ed57600080fd5b506108086004803603810190610803919061382f565b611829565b005b34801561081657600080fd5b50610831600480360381019061082c919061382f565b6118f0565b005b34801561083f57600080fd5b5061085a600480360381019061085591906136ed565b61199e565b005b34801561086857600080fd5b50610871611b60565b60405161087e9190613e92565b60405180910390f35b60606040518060400160405280601981526020017f556e696f6e2042616e6b206f6620537769747a65726c616e6400000000000000815250905090565b60006108d86108d1611b66565b8484611b6e565b6001905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000683635c9adc5dea00000905090565b600061097c848484611d39565b610a3d84610988611b66565b610a388560405180606001604052806028815260200161463460289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109ee611b66565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aff9092919063ffffffff16565b611b6e565b600190509392505050565b61dead81565b601d5481565b60006009905090565b610a65611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae990613d92565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b9d576000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b610ba8611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2c90613d92565b60405180910390fd5b60008210158015610c47575060018211155b610c5057600080fd5b60008110158015610c62575060018111155b610c6b57600080fd5b81600d8190555080600f819055505050565b610c85611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0990613d92565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d9b611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1f90613d92565b60405180910390fd5b60008110158015610e3a575060018111155b610e4357600080fd5b8060138190555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e8e611b66565b73ffffffffffffffffffffffffffffffffffffffff1614610eae57600080fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601e5481565b610f7a611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90613d92565b60405180910390fd5b80601a60166101000a81548160ff02191690831515021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611065611b66565b73ffffffffffffffffffffffffffffffffffffffff161461108557600080fd5b600047905061109381612b63565b50565b60006110e0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bcf565b9050919050565b6110ef611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461117c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117390613d92565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611242611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690613d92565b60405180910390fd5b662386f26fc10000811015611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090613e52565b60405180910390fd5b80601b8190555050565b600a5481565b601b5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611370611b66565b73ffffffffffffffffffffffffffffffffffffffff161461139057600080fd5b61139930611096565b81111580156113a85750600081115b6113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de90613e72565b60405180910390fd5b6113f081612c3d565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611424611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890613d92565b60405180910390fd5b80601a60146101000a81548160ff02191690831515021790555042600a8190555050565b601c5481565b60606040518060400160405280600381526020017f5542530000000000000000000000000000000000000000000000000000000000815250905090565b611520611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a490613d92565b60405180910390fd5b600082101580156115bf575060018211155b6115c857600080fd5b600081101580156115da575060138111155b6115e357600080fd5b81600b8190555080600c819055505050565b6115fd611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190613d92565b60405180910390fd5b80601a60176101000a81548160ff02191690831515021790555050565b60006116bb6116b4611b66565b8484611d39565b6001905092915050565b6116cd611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175190613d92565b60405180910390fd5b6000821015801561176c5750600d8211155b61177557600080fd5b600081101580156117875750600d8111155b61179057600080fd5b81600e81905550806010819055505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611831611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b590613d92565b60405180910390fd5b600081101580156118d0575060048111155b6118d957600080fd5b610e10816118e79190613ffe565b60188190555050565b6118f8611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c90613d92565b60405180910390fd5b601c5481101561199457600080fd5b80601c8190555050565b6119a6611b66565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2a90613d92565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9a90613cf2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd590613e32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4590613d12565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d2c9190613e92565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da090613dd2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1090613c72565b60405180910390fd5b60008111611e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5390613db2565b60405180910390fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee090613e12565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d90613e12565b60405180910390fd5b60096000611f82611b66565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561200a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200190613e12565b60405180910390fd5b6120126113f3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561208057506120506113f3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561269e57601a60149054906101000a900460ff166120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb90613c92565b60405180910390fd5b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561217f5750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122ec573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156121ec57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156122465750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156122a05750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122eb57601b548111156122ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e190613cd2565b60405180910390fd5b5b5b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156123985750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123d057503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561240a575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156124d957601c548161241c84611096565b6124269190613f77565b10612466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245d90613df2565b60405180910390fd5b601a60179054906101000a900460ff16156124d8576104b0600a5461248b9190613f77565b42116124d757601e548111156124d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cd90613d32565b60405180910390fd5b5b5b5b60006124e430611096565b90506000601d54821190508080156125095750601a60159054906101000a900460ff16155b80156125635750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561257b5750601a60169054906101000a900460ff165b80156125d15750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156126275750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561269b57600080601354111561266c57612660606461265260135486612f3790919063ffffffff16565b612fb290919063ffffffff16565b905061266b81612ffc565b5b612680818461267b9190614058565b612c3d565b600047905060008111156126985761269747612b63565b5b50505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127455750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806127f85750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156127f75750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156128065760009050612aed565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156128b15750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156129705742600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d54601181905550600e54601281905550600a5442141561296f576001600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612a1b5750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612aec576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015612abc575042601854600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ab99190613f77565b10155b15612ad857600b54601181905550600c54601281905550612aeb565b600f546011819055506010546012819055505b5b5b612af98484848461300c565b50505050565b6000838311158290612b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3e9190613c50565b60405180910390fd5b5060008385612b569190614058565b9050809150509392505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612bcb573d6000803e3d6000fd5b5050565b6000600754821115612c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0d90613cb2565b60405180910390fd5b6000612c20613039565b9050612c358184612fb290919063ffffffff16565b915050919050565b6001601a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612c9b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612cc95781602001602082028036833780820191505090505b5090503081600081518110612d07577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612da957600080fd5b505afa158015612dbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de19190613716565b81600181518110612e1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e8230601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b6e565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612ee6959493929190613ead565b600060405180830381600087803b158015612f0057600080fd5b505af1158015612f14573d6000803e3d6000fd5b50505050506000601a60156101000a81548160ff02191690831515021790555050565b600080831415612f4a5760009050612fac565b60008284612f589190613ffe565b9050828482612f679190613fcd565b14612fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f9e90613d72565b60405180910390fd5b809150505b92915050565b6000612ff483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613064565b905092915050565b6130093061dead83611d39565b50565b8061301a576130196130c7565b5b613025848484613129565b80613033576130326132f4565b5b50505050565b6000806000613046613311565b9150915061305d8183612fb290919063ffffffff16565b9250505090565b600080831182906130ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130a29190613c50565b60405180910390fd5b50600083856130ba9190613fcd565b9050809150509392505050565b60006011541480156130db57506000601254145b80156130e957506000601354145b156130f357613127565b6011546014819055506012546015819055506013546016819055506000601181905550600060128190555060006013819055505b565b60008060008060008061313b87613373565b95509550955095509550955061319986600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133db90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061322e85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061327a81613483565b6132848483613540565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516132e19190613e92565b60405180910390a3505050505050505050565b601454601181905550601554601281905550601654601381905550565b600080600060075490506000683635c9adc5dea000009050613347683635c9adc5dea00000600754612fb290919063ffffffff16565b82101561336657600754683635c9adc5dea0000093509350505061336f565b81819350935050505b9091565b60008060008060008060008060006133908a60115460125461357a565b92509250925060006133a0613039565b905060008060006133b38e878787613610565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061341d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612aff565b905092915050565b60008082846134349190613f77565b905083811015613479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161347090613d52565b60405180910390fd5b8091505092915050565b600061348d613039565b905060006134a48284612f3790919063ffffffff16565b90506134f881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b613555826007546133db90919063ffffffff16565b6007819055506135708160085461342590919063ffffffff16565b6008819055505050565b6000806000806135a66064613598888a612f3790919063ffffffff16565b612fb290919063ffffffff16565b905060006135d060646135c2888b612f3790919063ffffffff16565b612fb290919063ffffffff16565b905060006135f9826135eb858c6133db90919063ffffffff16565b6133db90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806136298589612f3790919063ffffffff16565b905060006136408689612f3790919063ffffffff16565b905060006136578789612f3790919063ffffffff16565b905060006136808261367285876133db90919063ffffffff16565b6133db90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506136a8816145ee565b92915050565b6000815190506136bd816145ee565b92915050565b6000813590506136d281614605565b92915050565b6000813590506136e78161461c565b92915050565b6000602082840312156136ff57600080fd5b600061370d84828501613699565b91505092915050565b60006020828403121561372857600080fd5b6000613736848285016136ae565b91505092915050565b6000806040838503121561375257600080fd5b600061376085828601613699565b925050602061377185828601613699565b9150509250929050565b60008060006060848603121561379057600080fd5b600061379e86828701613699565b93505060206137af86828701613699565b92505060406137c0868287016136d8565b9150509250925092565b600080604083850312156137dd57600080fd5b60006137eb85828601613699565b92505060206137fc858286016136d8565b9150509250929050565b60006020828403121561381857600080fd5b6000613826848285016136c3565b91505092915050565b60006020828403121561384157600080fd5b600061384f848285016136d8565b91505092915050565b6000806040838503121561386b57600080fd5b6000613879858286016136d8565b925050602061388a858286016136d8565b9150509250929050565b60006138a083836138ac565b60208301905092915050565b6138b58161408c565b82525050565b6138c48161408c565b82525050565b60006138d582613f32565b6138df8185613f55565b93506138ea83613f22565b8060005b8381101561391b5781516139028882613894565b975061390d83613f48565b9250506001810190506138ee565b5085935050505092915050565b6139318161409e565b82525050565b613940816140e1565b82525050565b61394f81614105565b82525050565b600061396082613f3d565b61396a8185613f66565b935061397a818560208601614117565b613983816141a8565b840191505092915050565b600061399b602383613f66565b91506139a6826141b9565b604082019050919050565b60006139be601883613f66565b91506139c982614208565b602082019050919050565b60006139e1602a83613f66565b91506139ec82614231565b604082019050919050565b6000613a04601c83613f66565b9150613a0f82614280565b602082019050919050565b6000613a27602683613f66565b9150613a32826142a9565b604082019050919050565b6000613a4a602283613f66565b9150613a55826142f8565b604082019050919050565b6000613a6d600f83613f66565b9150613a7882614347565b602082019050919050565b6000613a90601b83613f66565b9150613a9b82614370565b602082019050919050565b6000613ab3602183613f66565b9150613abe82614399565b604082019050919050565b6000613ad6602083613f66565b9150613ae1826143e8565b602082019050919050565b6000613af9602983613f66565b9150613b0482614411565b604082019050919050565b6000613b1c602583613f66565b9150613b2782614460565b604082019050919050565b6000613b3f602383613f66565b9150613b4a826144af565b604082019050919050565b6000613b62600d83613f66565b9150613b6d826144fe565b602082019050919050565b6000613b85602483613f66565b9150613b9082614527565b604082019050919050565b6000613ba8603683613f66565b9150613bb382614576565b604082019050919050565b6000613bcb600c83613f66565b9150613bd6826145c5565b602082019050919050565b613bea816140ca565b82525050565b613bf9816140d4565b82525050565b6000602082019050613c1460008301846138bb565b92915050565b6000602082019050613c2f6000830184613928565b92915050565b6000602082019050613c4a6000830184613937565b92915050565b60006020820190508181036000830152613c6a8184613955565b905092915050565b60006020820190508181036000830152613c8b8161398e565b9050919050565b60006020820190508181036000830152613cab816139b1565b9050919050565b60006020820190508181036000830152613ccb816139d4565b9050919050565b60006020820190508181036000830152613ceb816139f7565b9050919050565b60006020820190508181036000830152613d0b81613a1a565b9050919050565b60006020820190508181036000830152613d2b81613a3d565b9050919050565b60006020820190508181036000830152613d4b81613a60565b9050919050565b60006020820190508181036000830152613d6b81613a83565b9050919050565b60006020820190508181036000830152613d8b81613aa6565b9050919050565b60006020820190508181036000830152613dab81613ac9565b9050919050565b60006020820190508181036000830152613dcb81613aec565b9050919050565b60006020820190508181036000830152613deb81613b0f565b9050919050565b60006020820190508181036000830152613e0b81613b32565b9050919050565b60006020820190508181036000830152613e2b81613b55565b9050919050565b60006020820190508181036000830152613e4b81613b78565b9050919050565b60006020820190508181036000830152613e6b81613b9b565b9050919050565b60006020820190508181036000830152613e8b81613bbe565b9050919050565b6000602082019050613ea76000830184613be1565b92915050565b600060a082019050613ec26000830188613be1565b613ecf6020830187613946565b8181036040830152613ee181866138ca565b9050613ef060608301856138bb565b613efd6080830184613be1565b9695505050505050565b6000602082019050613f1c6000830184613bf0565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613f82826140ca565b9150613f8d836140ca565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613fc257613fc161414a565b5b828201905092915050565b6000613fd8826140ca565b9150613fe3836140ca565b925082613ff357613ff2614179565b5b828204905092915050565b6000614009826140ca565b9150614014836140ca565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561404d5761404c61414a565b5b828202905092915050565b6000614063826140ca565b915061406e836140ca565b9250828210156140815761408061414a565b5b828203905092915050565b6000614097826140aa565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006140ec826140f3565b9050919050565b60006140fe826140aa565b9050919050565b6000614110826140ca565b9050919050565b60005b8381101561413557808201518184015260208101905061411a565b83811115614144576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e7420746f6f206d7563680000000000000000000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f53746f7020736e6970696e672100000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4d6178696d756d207472616e73616374696f6e20616d6f756e74206d7573742060008201527f62652067726561746572207468616e20302e3030312500000000000000000000602082015250565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b6145f78161408c565b811461460257600080fd5b50565b61460e8161409e565b811461461957600080fd5b50565b614625816140ca565b811461463057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206c16b22c1f68477828001a5a95afc78a2a1e0c5b009b9b511521fa152e7dbefd64736f6c63430008040033

Deployed Bytecode Sourcemap

4146:16563:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7090:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8015:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15136:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5809:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7367:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8216:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5679:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6161:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7276:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14978:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19712:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14873:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5857:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20011:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14260:235;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6217:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18873:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15249:196;;;;;;;;;;;;;:::i;:::-;;7470:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1625:148;;;;;;;;;;;;;:::i;:::-;;18986:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4916:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6051:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14640:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1411:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14112:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6105:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7181:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20223:311;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14503:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7616:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19439:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7823:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20542:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19212:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1785:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5768:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7090:83;7127:13;7160:5;;;;;;;;;;;;;;;;;7153:12;;7090:83;:::o;8015:193::-;8117:4;8139:39;8148:12;:10;:12::i;:::-;8162:7;8171:6;8139:8;:39::i;:::-;8196:4;8189:11;;8015:193;;;;:::o;15136:105::-;15193:4;15216:9;:17;15226:6;15216:17;;;;;;;;;;;;;;;;;;;;;;;;;15209:24;;15136:105;;;:::o;5809:41::-;;;;;;;;;;;;;:::o;7367:95::-;7420:7;4759:12;7440:14;;7367:95;:::o;8216:446::-;8348:4;8365:36;8375:6;8383:9;8394:6;8365:9;:36::i;:::-;8412:220;8435:6;8456:12;:10;:12::i;:::-;8483:138;8539:6;8483:138;;;;;;;;;;;;;;;;;:11;:19;8495:6;8483:19;;;;;;;;;;;;;;;:33;8503:12;:10;:12::i;:::-;8483:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8412:8;:220::i;:::-;8650:4;8643:11;;8216:446;;;;;:::o;5679:80::-;5717:42;5679:80;:::o;6161:49::-;;;;:::o;7276:83::-;7317:5;4382:1;7335:16;;7276:83;:::o;14978:150::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15050:9:::1;:17;15060:6;15050:17;;;;;;;;;;;;;;;;;;;;;;;;;15046:75;;;15104:5;15084:9;:17;15094:6;15084:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;15046:75;14978:150:::0;:::o;19712:291::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19830:1:::1;19814:12;:17;;:38;;;;;19851:1;19835:12;:17;;19814:38;19806:47;;;::::0;::::1;;19889:1;19872:13;:18;;:40;;;;;19911:1;19894:13;:18;;19872:40;19864:49;;;::::0;::::1;;19941:12;19924:14;:29;;;;19982:13;19964:15;:31;;;;19712:291:::0;;:::o;14873:97::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14958:4:::1;14938:9;:17;14948:6;14938:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;14873:97:::0;:::o;5857:28::-;;;;;;;;;;;;;:::o;20011:137::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20095:1:::1;20085:6;:11;;:26;;;;;20110:1;20100:6;:11;;20085:26;20077:35;;;::::0;::::1;;20134:6;20123:8;:17;;;;20011:137:::0;:::o;14260:235::-;14358:17;;;;;;;;;;;14342:33;;:12;:10;:12::i;:::-;:33;;;14334:42;;;;;;14415:16;14387:17;;:45;;;;;;;;;;;;;;;;;;14483:4;14443:18;:37;14462:17;;;;;;;;;;;14443:37;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;14260:235;:::o;6217:46::-;;;;:::o;18873:101::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18954:12:::1;18940:11;;:26;;;;;;;;;;;;;;;;;;18873:101:::0;:::o;15249:196::-;15315:17;;;;;;;;;;;15299:33;;:12;:10;:12::i;:::-;:33;;;15291:42;;;;;;15344:26;15373:21;15344:50;;15405:32;15418:18;15405:12;:32::i;:::-;15249:196;:::o;7470:138::-;7536:7;7563:37;7583:7;:16;7591:7;7583:16;;;;;;;;;;;;;;;;7563:19;:37::i;:::-;7556:44;;7470:138;;;:::o;1625:148::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:1:::1;1695:40;;1716:6;::::0;::::1;;;;;;;;1695:40;;;;;;;;;;;;1763:1;1746:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1625:148::o:0;18986:214::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19085:11:::1;19070;:26;;19062:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;19181:11;19166:12;:26;;;;18986:214:::0;:::o;4916:25::-;;;;:::o;6051:42::-;;;;:::o;14640:225::-;14720:17;;;;;;;;;;;14704:33;;:12;:10;:12::i;:::-;:33;;;14696:42;;;;;;14767:24;14785:4;14767:9;:24::i;:::-;14757:6;:34;;:48;;;;;14804:1;14795:6;:10;14757:48;14749:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;14833:24;14850:6;14833:16;:24::i;:::-;14640:225;:::o;1411:79::-;1449:7;1476:6;;;;;;;;;;;1469:13;;1411:79;:::o;14112:140::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14193:12:::1;14179:11;;:26;;;;;;;;;;;;;;;;;;14229:15;14216:10;:28;;;;14112:140:::0;:::o;6105:44::-;;;;:::o;7181:87::-;7220:13;7253:7;;;;;;;;;;;;;;;;;7246:14;;7181:87;:::o;20223:311::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20352:1:::1;20332:16;:21;;:46;;;;;20377:1;20357:16;:21;;20332:46;20324:55;;;::::0;::::1;;20416:1;20398:14;:19;;:43;;;;;20439:2;20421:14;:20;;20398:43;20390:52;;;::::0;::::1;;20470:16;20453:14;:33;;;;20512:14;20497:12;:29;;;;20223:311:::0;;:::o;14503:129::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14606:18:::1;14586:17;;:38;;;;;;;;;;;;;;;;;;14503:129:::0;:::o;7616:199::-;7721:4;7743:42;7753:12;:10;:12::i;:::-;7767:9;7778:6;7743:9;:42::i;:::-;7803:4;7796:11;;7616:199;;;;:::o;19439:265::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19548:1:::1;19535:9;:14;;:33;;;;;19566:2;19553:9;:15;;19535:33;19527:42;;;::::0;::::1;;19602:1;19588:10;:15;;:35;;;;;19621:2;19607:10;:16;;19588:35;19580:44;;;::::0;::::1;;19650:9;19635:12;:24;;;;19686:10;19670:13;:26;;;;19439:265:::0;;:::o;7823:184::-;7940:7;7972:11;:18;7984:5;7972:18;;;;;;;;;;;;;;;:27;7991:7;7972:27;;;;;;;;;;;;;;;;7965:34;;7823:184;;;;:::o;20542:162::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20634:1:::1;20621:9;:14;;:32;;;;;20652:1;20639:9;:14;;20621:32;20613:41;;;::::0;::::1;;20689:7;20677:9;:19;;;;:::i;:::-;20665:9;:31;;;;20542:162:::0;:::o;19212:168::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19316:14:::1;;19299:13;:31;;19291:40;;;::::0;::::1;;19359:13;19342:14;:30;;;;19212:168:::0;:::o;1785:244::-;1548:12;:10;:12::i;:::-;1538:22;;:6;;;;;;;;;;:22;;;1530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1894:1:::1;1874:22;;:8;:22;;;;1866:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1984:8;1955:38;;1976:6;::::0;::::1;;;;;;;;1955:38;;;;;;;;;;;;2013:8;2004:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1785:244:::0;:::o;5768:34::-;;;;:::o;170:98::-;223:7;250:10;243:17;;170:98;:::o;9481:369::-;9625:1;9608:19;;:5;:19;;;;9600:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9706:1;9687:21;;:7;:21;;;;9679:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9788:6;9758:11;:18;9770:5;9758:18;;;;;;;;;;;;;;;:27;9777:7;9758:27;;;;;;;;;;;;;;;:36;;;;9826:7;9810:32;;9819:5;9810:32;;;9835:6;9810:32;;;;;;:::i;:::-;;;;;;;;9481:369;;;:::o;9858:3522::-;9996:1;9980:18;;:4;:18;;;;9972:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10073:1;10059:16;;:2;:16;;;;10051:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10143:1;10134:6;:10;10126:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10210:9;:13;10220:2;10210:13;;;;;;;;;;;;;;;;;;;;;;;;;10209:14;10201:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;10261:9;:15;10271:4;10261:15;;;;;;;;;;;;;;;;;;;;;;;;;10260:16;10252:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;10314:9;:23;10324:12;:10;:12::i;:::-;10314:23;;;;;;;;;;;;;;;;;;;;;;;;;10313:24;10305:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;10380:7;:5;:7::i;:::-;10372:15;;:4;:15;;;;:32;;;;;10397:7;:5;:7::i;:::-;10391:13;;:2;:13;;;;10372:32;10368:1815;;;10474:11;;;;;;;;;;;10469:87;;10506:34;;;;;;;;;;:::i;:::-;;;;;;;;10469:87;10594:13;;;;;;;;;;;10588:19;;:2;:19;;;:55;;;;;10627:15;;;;;;;;;;;10611:32;;:4;:32;;;;10588:55;10584:307;;;10682:4;10668:19;;:2;:19;;;;:44;;;;;10707:4;10691:21;;:4;:21;;;;10668:44;:71;;;;;10722:17;;;;;;;;;;;10716:23;;:2;:23;;;;10668:71;:100;;;;;10751:17;;;;;;;;;;;10743:25;;:4;:25;;;;10668:100;10664:212;;;10811:12;;10801:6;:22;;10793:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10664:212;10584:307;10917:13;;;;;;;;;;;10911:19;;:2;:19;;;;:46;;;;;10940:17;;;;;;;;;;;10934:23;;:2;:23;;;;10911:46;:69;;;;;10975:4;10961:19;;:2;:19;;;;10911:69;:90;;;;;5717:42;10984:17;;:2;:17;;;;10911:90;10907:455;;;11055:14;;11046:6;11030:13;11040:2;11030:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11022:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11132:17;;;;;;;;;;;11128:219;;;11210:10;11197;;:23;;;;:::i;:::-;11178:15;:42;11174:154;;11267:17;;11257:6;:27;;11249:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;11174:154;11128:219;10907:455;11390:28;11421:24;11439:4;11421:9;:24::i;:::-;11390:55;;11460:12;11498:19;;11475:20;:42;11460:57;;11550:7;:18;;;;;11562:6;;;;;;;;;;;11561:7;11550:18;:43;;;;;11580:13;;;;;;;;;;;11572:21;;:4;:21;;;;11550:43;:58;;;;;11597:11;;;;;;;;;;;11550:58;:87;;;;;11613:18;:24;11632:4;11613:24;;;;;;;;;;;;;;;;;;;;;;;;;11612:25;11550:87;:114;;;;;11642:18;:22;11661:2;11642:22;;;;;;;;;;;;;;;;;;;;;;;;;11641:23;11550:114;11546:626;;;11685:19;11742:1;11731:8;;:12;11727:166;;;11782:45;11821:5;11782:34;11807:8;;11782:20;:24;;:34;;;;:::i;:::-;:38;;:45;;;;:::i;:::-;11768:59;;11850:23;11861:11;11850:10;:23::i;:::-;11727:166;11911:52;11951:11;11928:20;:34;;;;:::i;:::-;11911:16;:52::i;:::-;11982:26;12011:21;11982:50;;12076:1;12055:18;:22;12051:106;;;12102:35;12115:21;12102:12;:35::i;:::-;12051:106;11546:626;;;10368:1815;;;12203:12;12218:4;12203:19;;12268:18;:24;12287:4;12268:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12296:18;:22;12315:2;12296:22;;;;;;;;;;;;;;;;;;;;;;;;;12268:50;12267:102;;;;12332:13;;;;;;;;;;;12324:21;;:4;:21;;;;:44;;;;;12355:13;;;;;;;;;;;12349:19;;:2;:19;;;;12324:44;12267:102;12263:1056;;;12396:5;12386:15;;12263:1056;;;12478:13;;;;;;;;;;;12470:21;;:4;:21;;;:55;;;;;12509:15;;;;;;;;;;;12495:30;;:2;:30;;;;12470:55;12467:382;;;12564:15;12550:7;:11;12558:2;12550:11;;;;;;;;;;;;;;;:29;;;;12614:14;;12602:9;:26;;;;12661:12;;12651:7;:22;;;;12751:10;;12732:15;:29;12728:106;;;12806:4;12790:9;:13;12800:2;12790:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12728:106;12467:382;12913:13;;;;;;;;;;;12907:19;;:2;:19;;;:55;;;;;12946:15;;;;;;;;;;;12930:32;;:4;:32;;;;12907:55;12903:405;;;13004:1;12987:7;:13;12995:4;12987:13;;;;;;;;;;;;;;;;:18;;:68;;;;;13039:15;13026:9;;13010:7;:13;13018:4;13010:13;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;:44;;12987:68;12983:310;;;13092:14;;13080:9;:26;;;;13139:12;;13129:7;:22;;;;12983:310;;;13212:15;;13200:9;:27;;;;13260:13;;13250:7;:23;;;;12983:310;12903:405;12263:1056;13331:41;13346:4;13352:2;13356:6;13364:7;13331:14;:41::i;:::-;9858:3522;;;;:::o;2397:224::-;2517:7;2550:1;2545;:6;;2553:12;2537:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2577:9;2593:1;2589;:5;;;;:::i;:::-;2577:17;;2612:1;2605:8;;;2397:224;;;;;:::o;14005:99::-;14062:17;;;;;;;;;;;:26;;:34;14089:6;14062:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14005:99;:::o;8670:323::-;8765:7;8823;;8812;:18;;8790:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8911:19;8933:10;:8;:10::i;:::-;8911:32;;8961:24;8973:11;8961:7;:11;;:24;;;;:::i;:::-;8954:31;;;8670:323;;;:::o;13514:483::-;6377:4;6368:6;;:13;;;;;;;;;;;;;;;;;;13592:21:::1;13630:1;13616:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13592:40;;13661:4;13643;13648:1;13643:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;13687:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13677:4;13682:1;13677:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;13720:62;13737:4;13752:15;;;;;;;;;;;13770:11;13720:8;:62::i;:::-;13793:15;;;;;;;;;;;:66;;;13874:11;13900:1;13916:4;13943;13963:15;13793:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6392:1;6413:5:::0;6404:6;;:14;;;;;;;;;;;;;;;;;;13514:483;:::o;2629:246::-;2687:7;2716:1;2711;:6;2707:47;;;2741:1;2734:8;;;;2707:47;2764:9;2780:1;2776;:5;;;;:::i;:::-;2764:17;;2809:1;2804;2800;:5;;;;:::i;:::-;:10;2792:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2866:1;2859:8;;;2629:246;;;;;:::o;2883:132::-;2941:7;2968:39;2972:1;2975;2968:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2961:46;;2883:132;;;;:::o;13388:118::-;13448:50;13466:4;5717:42;13486:11;13448:9;:50::i;:::-;13388:118;:::o;15453:282::-;15609:7;15604:28;;15618:14;:12;:14::i;:::-;15604:28;15643:44;15661:6;15669:9;15680:6;15643:17;:44::i;:::-;15703:7;15698:29;;15712:15;:13;:15::i;:::-;15698:29;15453:282;;;;:::o;18428:166::-;18470:7;18491:15;18508;18527:19;:17;:19::i;:::-;18490:56;;;;18566:20;18578:7;18566;:11;;:20;;;;:::i;:::-;18559:27;;;;18428:166;:::o;3023:223::-;3143:7;3175:1;3171;:5;3178:12;3163:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3202:9;3218:1;3214;:5;;;;:::i;:::-;3202:17;;3237:1;3230:8;;;3023:223;;;;;:::o;9001:309::-;9061:1;9048:9;;:14;:30;;;;;9077:1;9066:7;;:12;9048:30;:47;;;;;9094:1;9082:8;;:13;9048:47;9044:60;;;9097:7;;9044:60;9140:9;;9120:17;:29;;;;9178:7;;9160:15;:25;;;;9215:8;;9196:16;:27;;;;9256:1;9244:9;:13;;;;9278:1;9268:7;:11;;;;9301:1;9290:8;:12;;;;9001:309;:::o;15743:610::-;15890:15;15920:23;15958:12;15985:23;16023:12;16050:13;16077:19;16088:7;16077:10;:19::i;:::-;15875:221;;;;;;;;;;;;16125:28;16145:7;16125;:15;16133:6;16125:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16107:7;:15;16115:6;16107:15;;;;;;;;;;;;;;;:46;;;;16185:39;16208:15;16185:7;:18;16193:9;16185:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16164:7;:18;16172:9;16164:18;;;;;;;;;;;;;;;:60;;;;16235:16;16245:5;16235:9;:16::i;:::-;16262:23;16274:4;16280;16262:11;:23::i;:::-;16318:9;16301:44;;16310:6;16301:44;;;16329:15;16301:44;;;;;;:::i;:::-;;;;;;;;15743:610;;;;;;;;;:::o;9318:155::-;9374:17;;9362:9;:29;;;;9412:15;;9402:7;:25;;;;9449:16;;9438:8;:27;;;;9318:155::o;18602:263::-;18653:7;18662;18682:15;18700:7;;18682:25;;18718:15;4759:12;18718:25;;18768:20;4759:12;18768:7;;:11;;:20;;;;:::i;:::-;18758:7;:30;18754:61;;;18798:7;;4759:12;18790:25;;;;;;;;18754:61;18840:7;18849;18832:25;;;;;;18602:263;;;:::o;16772:625::-;16872:7;16894;16916;16938;16960;16982;17018:23;17043:12;17057:13;17087:40;17099:7;17108:9;;17119:7;;17087:11;:40::i;:::-;17017:110;;;;;;17138:19;17160:10;:8;:10::i;:::-;17138:32;;17182:15;17199:23;17224:12;17253:46;17265:7;17274:4;17280:5;17287:11;17253;:46::i;:::-;17181:118;;;;;;17328:7;17337:15;17354:4;17360:15;17377:4;17383:5;17320:69;;;;;;;;;;;;;;;;;;;16772:625;;;;;;;:::o;2253:136::-;2311:7;2338:43;2342:1;2345;2338:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2331:50;;2253:136;;;;:::o;2066:179::-;2124:7;2144:9;2160:1;2156;:5;;;;:::i;:::-;2144:17;;2185:1;2180;:6;;2172:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2236:1;2229:8;;;2066:179;;;;:::o;16361:211::-;16414:19;16436:10;:8;:10::i;:::-;16414:32;;16457:13;16473:22;16483:11;16473:5;:9;;:22;;;;:::i;:::-;16457:38;;16531:33;16558:5;16531:7;:22;16547:4;16531:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;16506:7;:22;16522:4;16506:22;;;;;;;;;;;;;;;:58;;;;16361:211;;;:::o;16580:147::-;16658:17;16670:4;16658:7;;:11;;:17;;;;:::i;:::-;16648:7;:27;;;;16699:20;16714:4;16699:10;;:14;;:20;;;;:::i;:::-;16686:10;:33;;;;16580:147;;:::o;17405:471::-;17574:7;17596;17618;17653:12;17668:30;17694:3;17668:21;17680:8;17668:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;17653:45;;17709:13;17725:28;17749:3;17725:19;17737:6;17725:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;17709:44;;17764:23;17790:28;17812:5;17790:17;17802:4;17790:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17764:54;;17839:15;17856:4;17862:5;17831:37;;;;;;;;;17405:471;;;;;;;:::o;17884:536::-;18078:7;18100;18122;18157:15;18175:24;18187:11;18175:7;:11;;:24;;;;:::i;:::-;18157:42;;18210:12;18225:21;18234:11;18225:4;:8;;:21;;;;:::i;:::-;18210:36;;18257:13;18273:22;18283:11;18273:5;:9;;:22;;;;:::i;:::-;18257:38;;18306:23;18332:28;18354:5;18332:17;18344:4;18332:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;18306:54;;18381:7;18390:15;18407:4;18373:39;;;;;;;;;;17884:536;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:139::-;486:5;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;492:87;;;;:::o;585:262::-;644:6;693:2;681:9;672:7;668:23;664:32;661:2;;;709:1;706;699:12;661:2;752:1;777:53;822:7;813:6;802:9;798:22;777:53;:::i;:::-;767:63;;723:117;651:196;;;;:::o;853:284::-;923:6;972:2;960:9;951:7;947:23;943:32;940:2;;;988:1;985;978:12;940:2;1031:1;1056:64;1112:7;1103:6;1092:9;1088:22;1056:64;:::i;:::-;1046:74;;1002:128;930:207;;;;:::o;1143:407::-;1211:6;1219;1268:2;1256:9;1247:7;1243:23;1239:32;1236:2;;;1284:1;1281;1274:12;1236:2;1327:1;1352:53;1397:7;1388:6;1377:9;1373:22;1352:53;:::i;:::-;1342:63;;1298:117;1454:2;1480:53;1525:7;1516:6;1505:9;1501:22;1480:53;:::i;:::-;1470:63;;1425:118;1226:324;;;;;:::o;1556:552::-;1633:6;1641;1649;1698:2;1686:9;1677:7;1673:23;1669:32;1666:2;;;1714:1;1711;1704:12;1666:2;1757:1;1782:53;1827:7;1818:6;1807:9;1803:22;1782:53;:::i;:::-;1772:63;;1728:117;1884:2;1910:53;1955:7;1946:6;1935:9;1931:22;1910:53;:::i;:::-;1900:63;;1855:118;2012:2;2038:53;2083:7;2074:6;2063:9;2059:22;2038:53;:::i;:::-;2028:63;;1983:118;1656:452;;;;;:::o;2114:407::-;2182:6;2190;2239:2;2227:9;2218:7;2214:23;2210:32;2207:2;;;2255:1;2252;2245:12;2207:2;2298:1;2323:53;2368:7;2359:6;2348:9;2344:22;2323:53;:::i;:::-;2313:63;;2269:117;2425:2;2451:53;2496:7;2487:6;2476:9;2472:22;2451:53;:::i;:::-;2441:63;;2396:118;2197:324;;;;;:::o;2527:256::-;2583:6;2632:2;2620:9;2611:7;2607:23;2603:32;2600:2;;;2648:1;2645;2638:12;2600:2;2691:1;2716:50;2758:7;2749:6;2738:9;2734:22;2716:50;:::i;:::-;2706:60;;2662:114;2590:193;;;;:::o;2789:262::-;2848:6;2897:2;2885:9;2876:7;2872:23;2868:32;2865:2;;;2913:1;2910;2903:12;2865:2;2956:1;2981:53;3026:7;3017:6;3006:9;3002:22;2981:53;:::i;:::-;2971:63;;2927:117;2855:196;;;;:::o;3057:407::-;3125:6;3133;3182:2;3170:9;3161:7;3157:23;3153:32;3150:2;;;3198:1;3195;3188:12;3150:2;3241:1;3266:53;3311:7;3302:6;3291:9;3287:22;3266:53;:::i;:::-;3256:63;;3212:117;3368:2;3394:53;3439:7;3430:6;3419:9;3415:22;3394:53;:::i;:::-;3384:63;;3339:118;3140:324;;;;;:::o;3470:179::-;3539:10;3560:46;3602:3;3594:6;3560:46;:::i;:::-;3638:4;3633:3;3629:14;3615:28;;3550:99;;;;:::o;3655:108::-;3732:24;3750:5;3732:24;:::i;:::-;3727:3;3720:37;3710:53;;:::o;3769:118::-;3856:24;3874:5;3856:24;:::i;:::-;3851:3;3844:37;3834:53;;:::o;3923:732::-;4042:3;4071:54;4119:5;4071:54;:::i;:::-;4141:86;4220:6;4215:3;4141:86;:::i;:::-;4134:93;;4251:56;4301:5;4251:56;:::i;:::-;4330:7;4361:1;4346:284;4371:6;4368:1;4365:13;4346:284;;;4447:6;4441:13;4474:63;4533:3;4518:13;4474:63;:::i;:::-;4467:70;;4560:60;4613:6;4560:60;:::i;:::-;4550:70;;4406:224;4393:1;4390;4386:9;4381:14;;4346:284;;;4350:14;4646:3;4639:10;;4047:608;;;;;;;:::o;4661:109::-;4742:21;4757:5;4742:21;:::i;:::-;4737:3;4730:34;4720:50;;:::o;4776:183::-;4889:63;4946:5;4889:63;:::i;:::-;4884:3;4877:76;4867:92;;:::o;4965:147::-;5060:45;5099:5;5060:45;:::i;:::-;5055:3;5048:58;5038:74;;:::o;5118:364::-;5206:3;5234:39;5267:5;5234:39;:::i;:::-;5289:71;5353:6;5348:3;5289:71;:::i;:::-;5282:78;;5369:52;5414:6;5409:3;5402:4;5395:5;5391:16;5369:52;:::i;:::-;5446:29;5468:6;5446:29;:::i;:::-;5441:3;5437:39;5430:46;;5210:272;;;;;:::o;5488:366::-;5630:3;5651:67;5715:2;5710:3;5651:67;:::i;:::-;5644:74;;5727:93;5816:3;5727:93;:::i;:::-;5845:2;5840:3;5836:12;5829:19;;5634:220;;;:::o;5860:366::-;6002:3;6023:67;6087:2;6082:3;6023:67;:::i;:::-;6016:74;;6099:93;6188:3;6099:93;:::i;:::-;6217:2;6212:3;6208:12;6201:19;;6006:220;;;:::o;6232:366::-;6374:3;6395:67;6459:2;6454:3;6395:67;:::i;:::-;6388:74;;6471:93;6560:3;6471:93;:::i;:::-;6589:2;6584:3;6580:12;6573:19;;6378:220;;;:::o;6604:366::-;6746:3;6767:67;6831:2;6826:3;6767:67;:::i;:::-;6760:74;;6843:93;6932:3;6843:93;:::i;:::-;6961:2;6956:3;6952:12;6945:19;;6750:220;;;:::o;6976:366::-;7118:3;7139:67;7203:2;7198:3;7139:67;:::i;:::-;7132:74;;7215:93;7304:3;7215:93;:::i;:::-;7333:2;7328:3;7324:12;7317:19;;7122:220;;;:::o;7348:366::-;7490:3;7511:67;7575:2;7570:3;7511:67;:::i;:::-;7504:74;;7587:93;7676:3;7587:93;:::i;:::-;7705:2;7700:3;7696:12;7689:19;;7494:220;;;:::o;7720:366::-;7862:3;7883:67;7947:2;7942:3;7883:67;:::i;:::-;7876:74;;7959:93;8048:3;7959:93;:::i;:::-;8077:2;8072:3;8068:12;8061:19;;7866:220;;;:::o;8092:366::-;8234:3;8255:67;8319:2;8314:3;8255:67;:::i;:::-;8248:74;;8331:93;8420:3;8331:93;:::i;:::-;8449:2;8444:3;8440:12;8433:19;;8238:220;;;:::o;8464:366::-;8606:3;8627:67;8691:2;8686:3;8627:67;:::i;:::-;8620:74;;8703:93;8792:3;8703:93;:::i;:::-;8821:2;8816:3;8812:12;8805:19;;8610:220;;;:::o;8836:366::-;8978:3;8999:67;9063:2;9058:3;8999:67;:::i;:::-;8992:74;;9075:93;9164:3;9075:93;:::i;:::-;9193:2;9188:3;9184:12;9177:19;;8982:220;;;:::o;9208:366::-;9350:3;9371:67;9435:2;9430:3;9371:67;:::i;:::-;9364:74;;9447:93;9536:3;9447:93;:::i;:::-;9565:2;9560:3;9556:12;9549:19;;9354:220;;;:::o;9580:366::-;9722:3;9743:67;9807:2;9802:3;9743:67;:::i;:::-;9736:74;;9819:93;9908:3;9819:93;:::i;:::-;9937:2;9932:3;9928:12;9921:19;;9726:220;;;:::o;9952:366::-;10094:3;10115:67;10179:2;10174:3;10115:67;:::i;:::-;10108:74;;10191:93;10280:3;10191:93;:::i;:::-;10309:2;10304:3;10300:12;10293:19;;10098:220;;;:::o;10324:366::-;10466:3;10487:67;10551:2;10546:3;10487:67;:::i;:::-;10480:74;;10563:93;10652:3;10563:93;:::i;:::-;10681:2;10676:3;10672:12;10665:19;;10470:220;;;:::o;10696:366::-;10838:3;10859:67;10923:2;10918:3;10859:67;:::i;:::-;10852:74;;10935:93;11024:3;10935:93;:::i;:::-;11053:2;11048:3;11044:12;11037:19;;10842:220;;;:::o;11068:366::-;11210:3;11231:67;11295:2;11290:3;11231:67;:::i;:::-;11224:74;;11307:93;11396:3;11307:93;:::i;:::-;11425:2;11420:3;11416:12;11409:19;;11214:220;;;:::o;11440:366::-;11582:3;11603:67;11667:2;11662:3;11603:67;:::i;:::-;11596:74;;11679:93;11768:3;11679:93;:::i;:::-;11797:2;11792:3;11788:12;11781:19;;11586:220;;;:::o;11812:118::-;11899:24;11917:5;11899:24;:::i;:::-;11894:3;11887:37;11877:53;;:::o;11936:112::-;12019:22;12035:5;12019:22;:::i;:::-;12014:3;12007:35;11997:51;;:::o;12054:222::-;12147:4;12185:2;12174:9;12170:18;12162:26;;12198:71;12266:1;12255:9;12251:17;12242:6;12198:71;:::i;:::-;12152:124;;;;:::o;12282:210::-;12369:4;12407:2;12396:9;12392:18;12384:26;;12420:65;12482:1;12471:9;12467:17;12458:6;12420:65;:::i;:::-;12374:118;;;;:::o;12498:274::-;12617:4;12655:2;12644:9;12640:18;12632:26;;12668:97;12762:1;12751:9;12747:17;12738:6;12668:97;:::i;:::-;12622:150;;;;:::o;12778:313::-;12891:4;12929:2;12918:9;12914:18;12906:26;;12978:9;12972:4;12968:20;12964:1;12953:9;12949:17;12942:47;13006:78;13079:4;13070:6;13006:78;:::i;:::-;12998:86;;12896:195;;;;:::o;13097:419::-;13263:4;13301:2;13290:9;13286:18;13278:26;;13350:9;13344:4;13340:20;13336:1;13325:9;13321:17;13314:47;13378:131;13504:4;13378:131;:::i;:::-;13370:139;;13268:248;;;:::o;13522:419::-;13688:4;13726:2;13715:9;13711:18;13703:26;;13775:9;13769:4;13765:20;13761:1;13750:9;13746:17;13739:47;13803:131;13929:4;13803:131;:::i;:::-;13795:139;;13693:248;;;:::o;13947:419::-;14113:4;14151:2;14140:9;14136:18;14128:26;;14200:9;14194:4;14190:20;14186:1;14175:9;14171:17;14164:47;14228:131;14354:4;14228:131;:::i;:::-;14220:139;;14118:248;;;:::o;14372:419::-;14538:4;14576:2;14565:9;14561:18;14553:26;;14625:9;14619:4;14615:20;14611:1;14600:9;14596:17;14589:47;14653:131;14779:4;14653:131;:::i;:::-;14645:139;;14543:248;;;:::o;14797:419::-;14963:4;15001:2;14990:9;14986:18;14978:26;;15050:9;15044:4;15040:20;15036:1;15025:9;15021:17;15014:47;15078:131;15204:4;15078:131;:::i;:::-;15070:139;;14968:248;;;:::o;15222:419::-;15388:4;15426:2;15415:9;15411:18;15403:26;;15475:9;15469:4;15465:20;15461:1;15450:9;15446:17;15439:47;15503:131;15629:4;15503:131;:::i;:::-;15495:139;;15393:248;;;:::o;15647:419::-;15813:4;15851:2;15840:9;15836:18;15828:26;;15900:9;15894:4;15890:20;15886:1;15875:9;15871:17;15864:47;15928:131;16054:4;15928:131;:::i;:::-;15920:139;;15818:248;;;:::o;16072:419::-;16238:4;16276:2;16265:9;16261:18;16253:26;;16325:9;16319:4;16315:20;16311:1;16300:9;16296:17;16289:47;16353:131;16479:4;16353:131;:::i;:::-;16345:139;;16243:248;;;:::o;16497:419::-;16663:4;16701:2;16690:9;16686:18;16678:26;;16750:9;16744:4;16740:20;16736:1;16725:9;16721:17;16714:47;16778:131;16904:4;16778:131;:::i;:::-;16770:139;;16668:248;;;:::o;16922:419::-;17088:4;17126:2;17115:9;17111:18;17103:26;;17175:9;17169:4;17165:20;17161:1;17150:9;17146:17;17139:47;17203:131;17329:4;17203:131;:::i;:::-;17195:139;;17093:248;;;:::o;17347:419::-;17513:4;17551:2;17540:9;17536:18;17528:26;;17600:9;17594:4;17590:20;17586:1;17575:9;17571:17;17564:47;17628:131;17754:4;17628:131;:::i;:::-;17620:139;;17518:248;;;:::o;17772:419::-;17938:4;17976:2;17965:9;17961:18;17953:26;;18025:9;18019:4;18015:20;18011:1;18000:9;17996:17;17989:47;18053:131;18179:4;18053:131;:::i;:::-;18045:139;;17943:248;;;:::o;18197:419::-;18363:4;18401:2;18390:9;18386:18;18378:26;;18450:9;18444:4;18440:20;18436:1;18425:9;18421:17;18414:47;18478:131;18604:4;18478:131;:::i;:::-;18470:139;;18368:248;;;:::o;18622:419::-;18788:4;18826:2;18815:9;18811:18;18803:26;;18875:9;18869:4;18865:20;18861:1;18850:9;18846:17;18839:47;18903:131;19029:4;18903:131;:::i;:::-;18895:139;;18793:248;;;:::o;19047:419::-;19213:4;19251:2;19240:9;19236:18;19228:26;;19300:9;19294:4;19290:20;19286:1;19275:9;19271:17;19264:47;19328:131;19454:4;19328:131;:::i;:::-;19320:139;;19218:248;;;:::o;19472:419::-;19638:4;19676:2;19665:9;19661:18;19653:26;;19725:9;19719:4;19715:20;19711:1;19700:9;19696:17;19689:47;19753:131;19879:4;19753:131;:::i;:::-;19745:139;;19643:248;;;:::o;19897:419::-;20063:4;20101:2;20090:9;20086:18;20078:26;;20150:9;20144:4;20140:20;20136:1;20125:9;20121:17;20114:47;20178:131;20304:4;20178:131;:::i;:::-;20170:139;;20068:248;;;:::o;20322:222::-;20415:4;20453:2;20442:9;20438:18;20430:26;;20466:71;20534:1;20523:9;20519:17;20510:6;20466:71;:::i;:::-;20420:124;;;;:::o;20550:831::-;20813:4;20851:3;20840:9;20836:19;20828:27;;20865:71;20933:1;20922:9;20918:17;20909:6;20865:71;:::i;:::-;20946:80;21022:2;21011:9;21007:18;20998:6;20946:80;:::i;:::-;21073:9;21067:4;21063:20;21058:2;21047:9;21043:18;21036:48;21101:108;21204:4;21195:6;21101:108;:::i;:::-;21093:116;;21219:72;21287:2;21276:9;21272:18;21263:6;21219:72;:::i;:::-;21301:73;21369:3;21358:9;21354:19;21345:6;21301:73;:::i;:::-;20818:563;;;;;;;;:::o;21387:214::-;21476:4;21514:2;21503:9;21499:18;21491:26;;21527:67;21591:1;21580:9;21576:17;21567:6;21527:67;:::i;:::-;21481:120;;;;:::o;21607:132::-;21674:4;21697:3;21689:11;;21727:4;21722:3;21718:14;21710:22;;21679:60;;;:::o;21745:114::-;21812:6;21846:5;21840:12;21830:22;;21819:40;;;:::o;21865:99::-;21917:6;21951:5;21945:12;21935:22;;21924:40;;;:::o;21970:113::-;22040:4;22072;22067:3;22063:14;22055:22;;22045:38;;;:::o;22089:184::-;22188:11;22222:6;22217:3;22210:19;22262:4;22257:3;22253:14;22238:29;;22200:73;;;;:::o;22279:169::-;22363:11;22397:6;22392:3;22385:19;22437:4;22432:3;22428:14;22413:29;;22375:73;;;;:::o;22454:305::-;22494:3;22513:20;22531:1;22513:20;:::i;:::-;22508:25;;22547:20;22565:1;22547:20;:::i;:::-;22542:25;;22701:1;22633:66;22629:74;22626:1;22623:81;22620:2;;;22707:18;;:::i;:::-;22620:2;22751:1;22748;22744:9;22737:16;;22498:261;;;;:::o;22765:185::-;22805:1;22822:20;22840:1;22822:20;:::i;:::-;22817:25;;22856:20;22874:1;22856:20;:::i;:::-;22851:25;;22895:1;22885:2;;22900:18;;:::i;:::-;22885:2;22942:1;22939;22935:9;22930:14;;22807:143;;;;:::o;22956:348::-;22996:7;23019:20;23037:1;23019:20;:::i;:::-;23014:25;;23053:20;23071:1;23053:20;:::i;:::-;23048:25;;23241:1;23173:66;23169:74;23166:1;23163:81;23158:1;23151:9;23144:17;23140:105;23137:2;;;23248:18;;:::i;:::-;23137:2;23296:1;23293;23289:9;23278:20;;23004:300;;;;:::o;23310:191::-;23350:4;23370:20;23388:1;23370:20;:::i;:::-;23365:25;;23404:20;23422:1;23404:20;:::i;:::-;23399:25;;23443:1;23440;23437:8;23434:2;;;23448:18;;:::i;:::-;23434:2;23493:1;23490;23486:9;23478:17;;23355:146;;;;:::o;23507:96::-;23544:7;23573:24;23591:5;23573:24;:::i;:::-;23562:35;;23552:51;;;:::o;23609:90::-;23643:7;23686:5;23679:13;23672:21;23661:32;;23651:48;;;:::o;23705:126::-;23742:7;23782:42;23775:5;23771:54;23760:65;;23750:81;;;:::o;23837:77::-;23874:7;23903:5;23892:16;;23882:32;;;:::o;23920:86::-;23955:7;23995:4;23988:5;23984:16;23973:27;;23963:43;;;:::o;24012:178::-;24088:9;24121:63;24178:5;24121:63;:::i;:::-;24108:76;;24098:92;;;:::o;24196:139::-;24272:9;24305:24;24323:5;24305:24;:::i;:::-;24292:37;;24282:53;;;:::o;24341:121::-;24399:9;24432:24;24450:5;24432:24;:::i;:::-;24419:37;;24409:53;;;:::o;24468:307::-;24536:1;24546:113;24560:6;24557:1;24554:13;24546:113;;;24645:1;24640:3;24636:11;24630:18;24626:1;24621:3;24617:11;24610:39;24582:2;24579:1;24575:10;24570:15;;24546:113;;;24677:6;24674:1;24671:13;24668:2;;;24757:1;24748:6;24743:3;24739:16;24732:27;24668:2;24517:258;;;;:::o;24781:180::-;24829:77;24826:1;24819:88;24926:4;24923:1;24916:15;24950:4;24947:1;24940:15;24967:180;25015:77;25012:1;25005:88;25112:4;25109:1;25102:15;25136:4;25133:1;25126:15;25153:102;25194:6;25245:2;25241:7;25236:2;25229:5;25225:14;25221:28;25211:38;;25201:54;;;:::o;25261:222::-;25401:34;25397:1;25389:6;25385:14;25378:58;25470:5;25465:2;25457:6;25453:15;25446:30;25367:116;:::o;25489:174::-;25629:26;25625:1;25617:6;25613:14;25606:50;25595:68;:::o;25669:229::-;25809:34;25805:1;25797:6;25793:14;25786:58;25878:12;25873:2;25865:6;25861:15;25854:37;25775:123;:::o;25904:178::-;26044:30;26040:1;26032:6;26028:14;26021:54;26010:72;:::o;26088:225::-;26228:34;26224:1;26216:6;26212:14;26205:58;26297:8;26292:2;26284:6;26280:15;26273:33;26194:119;:::o;26319:221::-;26459:34;26455:1;26447:6;26443:14;26436:58;26528:4;26523:2;26515:6;26511:15;26504:29;26425:115;:::o;26546:165::-;26686:17;26682:1;26674:6;26670:14;26663:41;26652:59;:::o;26717:177::-;26857:29;26853:1;26845:6;26841:14;26834:53;26823:71;:::o;26900:220::-;27040:34;27036:1;27028:6;27024:14;27017:58;27109:3;27104:2;27096:6;27092:15;27085:28;27006:114;:::o;27126:182::-;27266:34;27262:1;27254:6;27250:14;27243:58;27232:76;:::o;27314:228::-;27454:34;27450:1;27442:6;27438:14;27431:58;27523:11;27518:2;27510:6;27506:15;27499:36;27420:122;:::o;27548:224::-;27688:34;27684:1;27676:6;27672:14;27665:58;27757:7;27752:2;27744:6;27740:15;27733:32;27654:118;:::o;27778:222::-;27918:34;27914:1;27906:6;27902:14;27895:58;27987:5;27982:2;27974:6;27970:15;27963:30;27884:116;:::o;28006:163::-;28146:15;28142:1;28134:6;28130:14;28123:39;28112:57;:::o;28175:223::-;28315:34;28311:1;28303:6;28299:14;28292:58;28384:6;28379:2;28371:6;28367:15;28360:31;28281:117;:::o;28404:241::-;28544:34;28540:1;28532:6;28528:14;28521:58;28613:24;28608:2;28600:6;28596:15;28589:49;28510:135;:::o;28651:162::-;28791:14;28787:1;28779:6;28775:14;28768:38;28757:56;:::o;28819:122::-;28892:24;28910:5;28892:24;:::i;:::-;28885:5;28882:35;28872:2;;28931:1;28928;28921:12;28872:2;28862:79;:::o;28947:116::-;29017:21;29032:5;29017:21;:::i;:::-;29010:5;29007:32;28997:2;;29053:1;29050;29043:12;28997:2;28987:76;:::o;29069:122::-;29142:24;29160:5;29142:24;:::i;:::-;29135:5;29132:35;29122:2;;29181:1;29178;29171:12;29122:2;29112:79;:::o

Swarm Source

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