ETH Price: $3,434.61 (-1.42%)

Token

HARAMBE Token (RAMBE)
 

Overview

Max Total Supply

1,000,000,000 RAMBE

Holders

116 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 RAMBE

Value
$0.00
0x5262ea5134f4aa975799d568b28a1822772713ea
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Harambe Wisdom [$RAMBE] meme token is a tribute to the legendary gorilla who was shot and killed at the Cincinnati Zoo in 2016. Harambe Wisdom is a way to honor his legacy and ride the meme wave to heaven.

Public Sale Details

IDO Address : 0xC57dC0Fe36447437F9f5f38f1229D52c9F3c06cA
IDO Start Date : June 27, 2023
IDO End Date : July 10, 2023
IDO Price : 9,000,000 RAMBE/ ETH
Public Sale Allocation : 36%
IDO Launchpad : Pinksale 
Country : United Arab Emirates 
Soft Cap : 10 ETH Soft Cap
Hard Cap : 40 ETH Hard Cap
Token Distribution Date : July 10, 2023

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
RAMBE

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

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

//SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.7;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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

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

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

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

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

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

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

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

interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _tokengeneration(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: generation to the zero address");

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

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

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    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");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    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);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * generation and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be generated for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

library Address {
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

    function WETH() external pure returns (address);

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

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

contract RAMBE is ERC20, Ownable {
    using Address for address payable;

    IRouter public router;
    address public pair;

    bool private _liquidityMutex = false;
    bool private providingLiquidity = false;
    bool public tradingEnabled = false;

    uint256 public ThresholdAmount = 2e7 * 10**18;

    uint256 public genesis_block;
    uint256 private deadline = 1;

    address public marketingWallet = 0xa0E13E7CA54274173931349e4c3DA1223d4F701d;
    address public burnWallet = 0x000000000000000000000000000000000000dEaD;
	address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;

    struct Taxes {
        uint256 marketing;
        uint256 liquidity;
        uint256 burnTax;   
    }

    Taxes public buyTaxes = Taxes(2, 1, 1);
    Taxes public sellTaxes = Taxes(3, 2, 1);

    mapping(address => bool) public exemptFee;

    modifier mutexLock() {
        if (!_liquidityMutex) {
            _liquidityMutex = true;
            _;
            _liquidityMutex = false;
        }
    }

    constructor() ERC20("HARAMBE Token", "RAMBE") {
        _tokengeneration(msg.sender, 1e9 * 10**decimals());

        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;
        exemptFee[address(this)] = true;
        exemptFee[msg.sender] = true;
        exemptFee[marketingWallet] = true;
        exemptFee[burnWallet] = true;
        exemptFee[deadWallet] = true;

    }

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        override
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

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

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
        require(amount > 0, "Transfer amount must be greater than zero");

        if (!exemptFee[sender] && !exemptFee[recipient]) {
            require(tradingEnabled, "Trading not enabled");
        }

        uint256 feeswap;
        uint256 feesum;
        uint256 fee;
        Taxes memory currentTaxes;

        bool useLaunchFee = !exemptFee[sender] &&
            !exemptFee[recipient] &&
            block.number <= genesis_block + deadline;

        if (_liquidityMutex || exemptFee[sender] || exemptFee[recipient])
            fee = 0;

        else if (recipient == pair) {
            feeswap = sellTaxes.burnTax + sellTaxes.marketing + sellTaxes.liquidity;
            feesum = feeswap;
            currentTaxes = sellTaxes;
        } else if (sender == pair) {
            feeswap = buyTaxes.burnTax + buyTaxes.marketing + buyTaxes.liquidity;
            feesum = feeswap;
            currentTaxes = buyTaxes;
        }

        fee = ((amount * feesum) / 100);

        if (providingLiquidity && sender != pair) handle_fees(feeswap, currentTaxes);

        super._transfer(sender, recipient, amount - fee);
        if (fee > 0) {
    
            if (feeswap > 0) {
                uint256 feeAmount = ((amount * feeswap) / 100);
                super._transfer(sender, address(this), feeAmount);
            }

        }
    }

    function handle_fees(uint256 feeswap, Taxes memory swapTaxes) private mutexLock {

        if(feeswap == 0){
            return;
        }	

        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance >= ThresholdAmount) {
            if (ThresholdAmount > 1) {
                contractBalance = ThresholdAmount;
            }

            // Split the contract balance into halves
            uint256 denominator = feeswap * 2;
            uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) / denominator;
            uint256 AmountToSwap = contractBalance - tokensToAddLiquidityWith;
 
            uint256 initialBalance = address(this).balance;

            swapTokensForETH(AmountToSwap);

            uint256 deltaBalance = address(this).balance - initialBalance;
            uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity);
            uint256 bnbToAddLiquidityWith = (unitBalance * swapTaxes.liquidity);

            if (bnbToAddLiquidityWith > 0) {
                // Add liquidity to pancake
                addLiquidity(tokensToAddLiquidityWith, bnbToAddLiquidityWith);
            }

            uint256 marketingAmt = (unitBalance * 2 * swapTaxes.marketing);
            if (marketingAmt > 0) {
                payable(marketingWallet).sendValue(marketingAmt);
            }

            uint256 burnAmt = (unitBalance * 2 * swapTaxes.burnTax);
            if (burnAmt > 0) {
                payable(burnWallet).sendValue(burnAmt);
            }

        }
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        // generate the pancake pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tokenAmount);

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(router), tokenAmount);

        // add the liquidity
        router.addLiquidityETH{ value: ethAmount }(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            deadWallet,
            block.timestamp
        );
    }

    function updateLiquidityProvide(bool state) external onlyOwner {
        providingLiquidity = state;
    }

    function updateTreshhold(uint256 new_amount) external onlyOwner {
        ThresholdAmount = new_amount * 10**decimals();
    }

        function SetBuyTaxes(
        uint256 _marketing,
        uint256 _burn,
        uint256 _liquidity
    ) external onlyOwner {
        require((_marketing + _liquidity + _burn) <= 15, "Must keep fees at 15% or less");
        buyTaxes.marketing = _marketing;
        buyTaxes.liquidity = _liquidity;
        buyTaxes.burnTax = _burn;
    }

    function SetSellTaxes(
        uint256 _marketing,
        uint256 _liquidity,
        uint256 _burn
    ) external onlyOwner {
        require((_marketing + _liquidity + _burn) <= 15, "Must keep fees at 15% or less");
        sellTaxes.marketing = _marketing;
        sellTaxes.liquidity = _liquidity;
        sellTaxes.burnTax = _burn;
    }

    function updateRouterAndPair(address newRouter, address newPair) external onlyOwner {
        router = IRouter(newRouter);
        pair = newPair;
    }

   function enableTrading() external onlyOwner {
        require(!tradingEnabled, "Trading is already enabled");
        tradingEnabled = true;
        providingLiquidity = true;
        genesis_block = block.number;
    }

     function updatedeadline(uint256 _deadline) external onlyOwner {
        require(!tradingEnabled, "Can't change when trading has started");
        require(_deadline < 8,"Deadline should be less than 8 Blocks");
        deadline = _deadline;
    }
    
    function updateMarketingWallet(address newWallet) external onlyOwner {
        require(newWallet != address(0), "Fee Address cannot be zero address");
        require(newWallet != address(this), "Fee Address cannot be CA");
        marketingWallet = newWallet;
    }

    function updateburnWallet(address newWallet) external onlyOwner {
        require(newWallet != address(0), "Fee Address cannot be zero address");
        require(newWallet != address(this), "Fee Address cannot be CA");
        burnWallet = newWallet;
    }

    function updateExemptFee(address _address, bool state) external onlyOwner {
        exemptFee[_address] = state;
    }

    function bulkExemptFee(address[] memory accounts, bool state) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            exemptFee[accounts[i]] = state;
        }
    }

    function rescueETH() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(owner()).transfer(contractETHBalance);
    }

    function rescueERC20(address tokenAdd, uint256 amount) external onlyOwner {
        require(tokenAdd != address(this), "Owner can't claim contract's balance of its own tokens");
        IERC20(tokenAdd).transfer(owner(), amount);
    }

    // fallbacks
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"}],"name":"SetBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"}],"name":"SetSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ThresholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burnTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burnTax","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":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"},{"internalType":"address","name":"newPair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateburnWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadline","type":"uint256"}],"name":"updatedeadline","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600760146101000a81548160ff0219169083151502179055506000600760156101000a81548160ff0219169083151502179055506000600760166101000a81548160ff0219169083151502179055506a108b2a2c280290940000006008556001600a5573a0e13e7ca54274173931349e4c3da1223d4f701d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806060016040528060028152602001600181526020016001815250600d6000820151816000015560208201518160010155604082015181600201555050604051806060016040528060038152602001600281526020016001815250601060008201518160000155602082015181600101556040820151816002015550503480156200018e57600080fd5b506040518060400160405280600d81526020017f484152414d424520546f6b656e000000000000000000000000000000000000008152506040518060400160405280600581526020017f52414d4245000000000000000000000000000000000000000000000000000000815250816003908051906020019062000213929190620008e2565b5080600490805190602001906200022c929190620008e2565b5050506200024f62000243620006c960201b60201c565b620006d160201b60201c565b6200028f33620002646200079760201b60201c565b600a62000272919062000afc565b633b9aca0062000283919062000c39565b620007a060201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002f157600080fd5b505afa15801562000306573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032c9190620009a9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038f57600080fd5b505afa158015620003a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ca9190620009a9565b6040518363ffffffff1660e01b8152600401620003e992919062000a24565b602060405180830381600087803b1580156200040457600080fd5b505af115801562000419573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043f9190620009a9565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016013600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505062000df4565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000813576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200080a9062000a51565b60405180910390fd5b6200082760008383620008dd60201b60201c565b80600281905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620008d1919062000a73565b60405180910390a35050565b505050565b828054620008f09062000ce5565b90600052602060002090601f01602090048101928262000914576000855562000960565b82601f106200092f57805160ff191683800117855562000960565b8280016001018555821562000960579182015b828111156200095f57825182559160200191906001019062000942565b5b5090506200096f919062000973565b5090565b5b808211156200098e57600081600090555060010162000974565b5090565b600081519050620009a38162000dda565b92915050565b600060208284031215620009c257620009c162000d79565b5b6000620009d28482850162000992565b91505092915050565b620009e68162000c9a565b82525050565b6000620009fb60258362000a90565b915062000a088262000d8b565b604082019050919050565b62000a1e8162000cce565b82525050565b600060408201905062000a3b6000830185620009db565b62000a4a6020830184620009db565b9392505050565b6000602082019050818103600083015262000a6c81620009ec565b9050919050565b600060208201905062000a8a600083018462000a13565b92915050565b600082825260208201905092915050565b6000808291508390505b600185111562000af35780860481111562000acb5762000aca62000d1b565b5b600185161562000adb5780820291505b808102905062000aeb8562000d7e565b945062000aab565b94509492505050565b600062000b098262000cce565b915062000b168362000cd8565b925062000b457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b4d565b905092915050565b60008262000b5f576001905062000c32565b8162000b6f576000905062000c32565b816001811462000b88576002811462000b935762000bc9565b600191505062000c32565b60ff84111562000ba85762000ba762000d1b565b5b8360020a91508482111562000bc25762000bc162000d1b565b5b5062000c32565b5060208310610133831016604e8410600b841016171562000c035782820a90508381111562000bfd5762000bfc62000d1b565b5b62000c32565b62000c12848484600162000aa1565b9250905081840481111562000c2c5762000c2b62000d1b565b5b81810290505b9392505050565b600062000c468262000cce565b915062000c538362000cce565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c8f5762000c8e62000d1b565b5b828202905092915050565b600062000ca78262000cae565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000cfe57607f821691505b6020821081141562000d155762000d1462000d4a565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f45524332303a2067656e65726174696f6e20746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b62000de58162000c9a565b811462000df157600080fd5b50565b6146eb8062000e046000396000f3fe6080604052600436106102295760003560e01c806375f0a87411610123578063a9059cbb116100ab578063edaa11681161006f578063edaa116814610804578063f2fde38b1461082d578063f66895a314610856578063f887ea4014610883578063fbb63ac3146108ae57610230565b8063a9059cbb146106f9578063aacebbe314610736578063bcd5dd981461075f578063c5d32bb21461078a578063dd62ed3e146107c757610230565b80638cd4426d116100f25780638cd4426d146106125780638da5cb5b1461063b57806395d89b4114610666578063a457c2d714610691578063a8aa1b31146106ce57610230565b806375f0a8741461057857806385141a77146105a3578063864701a5146105ce5780638a8c523c146105fb57610230565b8063313ce567116101b15780634a2b3b13116101755780634a2b3b13146104a75780634ada218b146104d05780634e736f22146104fb57806370a0823114610524578063715018a61461056157610230565b8063313ce567146103c4578063355496ca146103ef57806339509351146104185780633a4559b01461045557806340b28c2f1461047e57610230565b80631340538f116101f85780631340538f146102f157806318160ddd1461031a57806320800a001461034557806323b872dd1461035c578063274a533c1461039957610230565b8063062287491461023557806306fdde0314610260578063095ea7b31461028b5780630e375a5c146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108d7565b6040516102579190613711565b60405180910390f35b34801561026c57600080fd5b506102756108fd565b60405161028291906137ec565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad919061313c565b61098f565b6040516102bf91906137b6565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea919061317c565b6109ad565b005b3480156102fd57600080fd5b50610318600480360381019061031391906131d8565b610abe565b005b34801561032657600080fd5b5061032f610b57565b60405161033c9190613a8e565b60405180910390f35b34801561035157600080fd5b5061035a610b61565b005b34801561036857600080fd5b50610383600480360381019061037e91906130a9565b610c33565b60405161039091906137b6565b60405180910390f35b3480156103a557600080fd5b506103ae610d34565b6040516103bb9190613a8e565b60405180910390f35b3480156103d057600080fd5b506103d9610d3a565b6040516103e69190613b3a565b60405180910390f35b3480156103fb57600080fd5b50610416600480360381019061041191906130fc565b610d43565b005b34801561042457600080fd5b5061043f600480360381019061043a919061313c565b610e1a565b60405161044c91906137b6565b60405180910390f35b34801561046157600080fd5b5061047c6004803603810190610477919061300f565b610ec6565b005b34801561048a57600080fd5b506104a560048036038101906104a09190613069565b611065565b005b3480156104b357600080fd5b506104ce60048036038101906104c9919061325f565b611167565b005b3480156104dc57600080fd5b506104e5611260565b6040516104f291906137b6565b60405180910390f35b34801561050757600080fd5b50610522600480360381019061051d919061325f565b611273565b005b34801561053057600080fd5b5061054b6004803603810190610546919061300f565b61136c565b6040516105589190613a8e565b60405180910390f35b34801561056d57600080fd5b506105766113b4565b005b34801561058457600080fd5b5061058d61143c565b60405161059a9190613711565b60405180910390f35b3480156105af57600080fd5b506105b8611462565b6040516105c59190613711565b60405180910390f35b3480156105da57600080fd5b506105e3611468565b6040516105f293929190613b03565b60405180910390f35b34801561060757600080fd5b50610610611480565b005b34801561061e57600080fd5b506106396004803603810190610634919061313c565b61158b565b005b34801561064757600080fd5b5061065061170f565b60405161065d9190613711565b60405180910390f35b34801561067257600080fd5b5061067b611739565b60405161068891906137ec565b60405180910390f35b34801561069d57600080fd5b506106b860048036038101906106b3919061313c565b6117cb565b6040516106c591906137b6565b60405180910390f35b3480156106da57600080fd5b506106e36118bf565b6040516106f09190613711565b60405180910390f35b34801561070557600080fd5b50610720600480360381019061071b919061313c565b6118e5565b60405161072d91906137b6565b60405180910390f35b34801561074257600080fd5b5061075d6004803603810190610758919061300f565b6118fc565b005b34801561076b57600080fd5b50610774611a9b565b6040516107819190613a8e565b60405180910390f35b34801561079657600080fd5b506107b160048036038101906107ac919061300f565b611aa1565b6040516107be91906137b6565b60405180910390f35b3480156107d357600080fd5b506107ee60048036038101906107e99190613069565b611ac1565b6040516107fb9190613a8e565b60405180910390f35b34801561081057600080fd5b5061082b60048036038101906108269190613232565b611b48565b005b34801561083957600080fd5b50610854600480360381019061084f919061300f565b611c61565b005b34801561086257600080fd5b5061086b611d59565b60405161087a93929190613b03565b60405180910390f35b34801561088f57600080fd5b50610898611d71565b6040516108a591906137d1565b60405180910390f35b3480156108ba57600080fd5b506108d560048036038101906108d09190613232565b611d97565b005b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606003805461090c90613f5c565b80601f016020809104026020016040519081016040528092919081815260200182805461093890613f5c565b80156109855780601f1061095a57610100808354040283529160200191610985565b820191906000526020600020905b81548152906001019060200180831161096857829003601f168201915b5050505050905090565b60006109a361099c611e3b565b8484611e43565b6001905092915050565b6109b5611e3b565b73ffffffffffffffffffffffffffffffffffffffff166109d361170f565b73ffffffffffffffffffffffffffffffffffffffff1614610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a209061398e565b60405180910390fd5b60005b8251811015610ab9578160136000858481518110610a4d57610a4c614095565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ab190613fbf565b915050610a2c565b505050565b610ac6611e3b565b73ffffffffffffffffffffffffffffffffffffffff16610ae461170f565b73ffffffffffffffffffffffffffffffffffffffff1614610b3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b319061398e565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b6000600254905090565b610b69611e3b565b73ffffffffffffffffffffffffffffffffffffffff16610b8761170f565b73ffffffffffffffffffffffffffffffffffffffff1614610bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd49061398e565b60405180910390fd5b6000479050610bea61170f565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c2f573d6000803e3d6000fd5b5050565b6000610c4084848461200e565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c8b611e3b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d029061396e565b60405180910390fd5b610d2885610d17611e3b565b8584610d239190613e58565b611e43565b60019150509392505050565b60095481565b60006012905090565b610d4b611e3b565b73ffffffffffffffffffffffffffffffffffffffff16610d6961170f565b73ffffffffffffffffffffffffffffffffffffffff1614610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db69061398e565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610ebc610e27611e3b565b848460016000610e35611e3b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eb79190613c06565b611e43565b6001905092915050565b610ece611e3b565b73ffffffffffffffffffffffffffffffffffffffff16610eec61170f565b73ffffffffffffffffffffffffffffffffffffffff1614610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f399061398e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa99061390e565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101890613a0e565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61106d611e3b565b73ffffffffffffffffffffffffffffffffffffffff1661108b61170f565b73ffffffffffffffffffffffffffffffffffffffff16146110e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d89061398e565b60405180910390fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b61116f611e3b565b73ffffffffffffffffffffffffffffffffffffffff1661118d61170f565b73ffffffffffffffffffffffffffffffffffffffff16146111e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111da9061398e565b60405180910390fd5b600f8282856111f29190613c06565b6111fc9190613c06565b111561123d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112349061382e565b60405180910390fd5b82600d6000018190555080600d6001018190555081600d60020181905550505050565b600760169054906101000a900460ff1681565b61127b611e3b565b73ffffffffffffffffffffffffffffffffffffffff1661129961170f565b73ffffffffffffffffffffffffffffffffffffffff16146112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e69061398e565b60405180910390fd5b600f8183856112fe9190613c06565b6113089190613c06565b1115611349576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113409061382e565b60405180910390fd5b826010600001819055508160106001018190555080601060020181905550505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113bc611e3b565b73ffffffffffffffffffffffffffffffffffffffff166113da61170f565b73ffffffffffffffffffffffffffffffffffffffff1614611430576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114279061398e565b60405180910390fd5b61143a6000612534565b565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b600d8060000154908060010154908060020154905083565b611488611e3b565b73ffffffffffffffffffffffffffffffffffffffff166114a661170f565b73ffffffffffffffffffffffffffffffffffffffff16146114fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f39061398e565b60405180910390fd5b600760169054906101000a900460ff161561154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154390613a4e565b60405180910390fd5b6001600760166101000a81548160ff0219169083151502179055506001600760156101000a81548160ff02191690831515021790555043600981905550565b611593611e3b565b73ffffffffffffffffffffffffffffffffffffffff166115b161170f565b73ffffffffffffffffffffffffffffffffffffffff1614611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061398e565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d9061388e565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61169a61170f565b836040518363ffffffff1660e01b81526004016116b892919061372c565b602060405180830381600087803b1580156116d257600080fd5b505af11580156116e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170a9190613205565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461174890613f5c565b80601f016020809104026020016040519081016040528092919081815260200182805461177490613f5c565b80156117c15780601f10611796576101008083540402835291602001916117c1565b820191906000526020600020905b8154815290600101906020018083116117a457829003601f168201915b5050505050905090565b600080600160006117da611e3b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188e90613a6e565b60405180910390fd5b6118b46118a2611e3b565b8585846118af9190613e58565b611e43565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006118f233848461200e565b6001905092915050565b611904611e3b565b73ffffffffffffffffffffffffffffffffffffffff1661192261170f565b73ffffffffffffffffffffffffffffffffffffffff1614611978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196f9061398e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119df9061390e565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4e90613a0e565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60136020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611b50611e3b565b73ffffffffffffffffffffffffffffffffffffffff16611b6e61170f565b73ffffffffffffffffffffffffffffffffffffffff1614611bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbb9061398e565b60405180910390fd5b600760169054906101000a900460ff1615611c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0b9061392e565b60405180910390fd5b60088110611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e9061394e565b60405180910390fd5b80600a8190555050565b611c69611e3b565b73ffffffffffffffffffffffffffffffffffffffff16611c8761170f565b73ffffffffffffffffffffffffffffffffffffffff1614611cdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49061398e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d449061384e565b60405180910390fd5b611d5681612534565b50565b60108060000154908060010154908060020154905083565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d9f611e3b565b73ffffffffffffffffffffffffffffffffffffffff16611dbd61170f565b73ffffffffffffffffffffffffffffffffffffffff1614611e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0a9061398e565b60405180910390fd5b611e1b610d3a565b600a611e279190613ce0565b81611e329190613dfe565b60088190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eaa90613a2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1a9061386e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120019190613a8e565b60405180910390a3505050565b60008111612051576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612048906139ae565b60405180910390fd5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120f55750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561214a57600760169054906101000a900460ff16612149576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612140906139ce565b60405180910390fd5b5b6000806000612157612ed2565b6000601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121fd5750601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122185750600a546009546122149190613c06565b4311155b9050600760149054906101000a900460ff168061227e5750601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806122d25750601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122e05760009250612444565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612393576010600101546010600001546010600201546123529190613c06565b61235c9190613c06565b9450849350601060405180606001604052908160008201548152602001600182015481526020016002820154815250509150612443565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141561244257600d60010154600d60000154600d600201546124059190613c06565b61240f9190613c06565b9450849350600d604051806060016040529081600082015481526020016001820154815260200160028201548152505091505b5b5b606484876124529190613dfe565b61245c9190613c5c565b9250600760159054906101000a900460ff1680156124c85750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b156124d8576124d785836125fa565b5b6124ee888885896124e99190613e58565b612819565b600083111561252a576000851115612529576000606486886125109190613dfe565b61251a9190613c5c565b9050612527893083612819565b505b5b5050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760149054906101000a900460ff16612815576001600760146101000a81548160ff0219169083151502179055506000821415612637576127f9565b60006126423061136c565b905060085481106127f7576001600854111561265e5760085490505b600060028461266d9190613dfe565b90506000818460200151846126829190613dfe565b61268c9190613c5c565b90506000818461269c9190613e58565b905060004790506126ac82612a98565b600081476126ba9190613e58565b905060008760200151866126ce9190613e58565b826126d99190613c5c565b905060008860200151826126ed9190613dfe565b90506000811115612703576127028682612cea565b5b600089600001516002846127179190613dfe565b6127219190613dfe565b905060008111156127785761277781600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612dd990919063ffffffff16565b5b60008a6040015160028561278c9190613dfe565b6127969190613dfe565b905060008111156127ed576127ec81600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612dd990919063ffffffff16565b5b5050505050505050505b505b6000600760146101000a81548160ff0219169083151502179055505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612889576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612880906139ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156128f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f09061380e565b60405180910390fd5b612904838383612ecd565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561298a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612981906138ae565b60405180910390fd5b81816129969190613e58565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a269190613c06565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a8a9190613a8e565b60405180910390a350505050565b6000600267ffffffffffffffff811115612ab557612ab46140c4565b5b604051908082528060200260200182016040528015612ae35781602001602082028036833780820191505090505b5090503081600081518110612afb57612afa614095565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612b9d57600080fd5b505afa158015612bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd5919061303c565b81600181518110612be957612be8614095565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c5030600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611e43565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612cb4959493929190613aa9565b600060405180830381600087803b158015612cce57600080fd5b505af1158015612ce2573d6000803e3d6000fd5b505050505050565b612d1730600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611e43565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612d8096959493929190613755565b6060604051808303818588803b158015612d9957600080fd5b505af1158015612dad573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612dd291906132b2565b5050505050565b80471015612e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e13906138ee565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051612e42906136fc565b60006040518083038185875af1925050503d8060008114612e7f576040519150601f19603f3d011682016040523d82523d6000602084013e612e84565b606091505b5050905080612ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ebf906138ce565b60405180910390fd5b505050565b505050565b60405180606001604052806000815260200160008152602001600081525090565b6000612f06612f0184613b7a565b613b55565b90508083825260208201905082856020860282011115612f2957612f286140f8565b5b60005b85811015612f595781612f3f8882612f63565b845260208401935060208301925050600181019050612f2c565b5050509392505050565b600081359050612f7281614670565b92915050565b600081519050612f8781614670565b92915050565b600082601f830112612fa257612fa16140f3565b5b8135612fb2848260208601612ef3565b91505092915050565b600081359050612fca81614687565b92915050565b600081519050612fdf81614687565b92915050565b600081359050612ff48161469e565b92915050565b6000815190506130098161469e565b92915050565b60006020828403121561302557613024614102565b5b600061303384828501612f63565b91505092915050565b60006020828403121561305257613051614102565b5b600061306084828501612f78565b91505092915050565b600080604083850312156130805761307f614102565b5b600061308e85828601612f63565b925050602061309f85828601612f63565b9150509250929050565b6000806000606084860312156130c2576130c1614102565b5b60006130d086828701612f63565b93505060206130e186828701612f63565b92505060406130f286828701612fe5565b9150509250925092565b6000806040838503121561311357613112614102565b5b600061312185828601612f63565b925050602061313285828601612fbb565b9150509250929050565b6000806040838503121561315357613152614102565b5b600061316185828601612f63565b925050602061317285828601612fe5565b9150509250929050565b6000806040838503121561319357613192614102565b5b600083013567ffffffffffffffff8111156131b1576131b06140fd565b5b6131bd85828601612f8d565b92505060206131ce85828601612fbb565b9150509250929050565b6000602082840312156131ee576131ed614102565b5b60006131fc84828501612fbb565b91505092915050565b60006020828403121561321b5761321a614102565b5b600061322984828501612fd0565b91505092915050565b60006020828403121561324857613247614102565b5b600061325684828501612fe5565b91505092915050565b60008060006060848603121561327857613277614102565b5b600061328686828701612fe5565b935050602061329786828701612fe5565b92505060406132a886828701612fe5565b9150509250925092565b6000806000606084860312156132cb576132ca614102565b5b60006132d986828701612ffa565b93505060206132ea86828701612ffa565b92505060406132fb86828701612ffa565b9150509250925092565b6000613311838361331d565b60208301905092915050565b61332681613e8c565b82525050565b61333581613e8c565b82525050565b600061334682613bb6565b6133508185613bd9565b935061335b83613ba6565b8060005b8381101561338c5781516133738882613305565b975061337e83613bcc565b92505060018101905061335f565b5085935050505092915050565b6133a281613e9e565b82525050565b6133b181613ee1565b82525050565b6133c081613ef3565b82525050565b60006133d182613bc1565b6133db8185613bf5565b93506133eb818560208601613f29565b6133f481614107565b840191505092915050565b600061340c602383613bf5565b915061341782614125565b604082019050919050565b600061342f601d83613bf5565b915061343a82614174565b602082019050919050565b6000613452602683613bf5565b915061345d8261419d565b604082019050919050565b6000613475602283613bf5565b9150613480826141ec565b604082019050919050565b6000613498603683613bf5565b91506134a38261423b565b604082019050919050565b60006134bb602683613bf5565b91506134c68261428a565b604082019050919050565b60006134de603a83613bf5565b91506134e9826142d9565b604082019050919050565b6000613501601d83613bf5565b915061350c82614328565b602082019050919050565b6000613524602283613bf5565b915061352f82614351565b604082019050919050565b6000613547602583613bf5565b9150613552826143a0565b604082019050919050565b600061356a602583613bf5565b9150613575826143ef565b604082019050919050565b600061358d602883613bf5565b91506135988261443e565b604082019050919050565b60006135b0602083613bf5565b91506135bb8261448d565b602082019050919050565b60006135d3602983613bf5565b91506135de826144b6565b604082019050919050565b60006135f6601383613bf5565b915061360182614505565b602082019050919050565b6000613619602583613bf5565b91506136248261452e565b604082019050919050565b600061363c600083613bea565b91506136478261457d565b600082019050919050565b600061365f601883613bf5565b915061366a82614580565b602082019050919050565b6000613682602483613bf5565b915061368d826145a9565b604082019050919050565b60006136a5601a83613bf5565b91506136b0826145f8565b602082019050919050565b60006136c8602583613bf5565b91506136d382614621565b604082019050919050565b6136e781613eca565b82525050565b6136f681613ed4565b82525050565b60006137078261362f565b9150819050919050565b6000602082019050613726600083018461332c565b92915050565b6000604082019050613741600083018561332c565b61374e60208301846136de565b9392505050565b600060c08201905061376a600083018961332c565b61377760208301886136de565b61378460408301876133b7565b61379160608301866133b7565b61379e608083018561332c565b6137ab60a08301846136de565b979650505050505050565b60006020820190506137cb6000830184613399565b92915050565b60006020820190506137e660008301846133a8565b92915050565b6000602082019050818103600083015261380681846133c6565b905092915050565b60006020820190508181036000830152613827816133ff565b9050919050565b6000602082019050818103600083015261384781613422565b9050919050565b6000602082019050818103600083015261386781613445565b9050919050565b6000602082019050818103600083015261388781613468565b9050919050565b600060208201905081810360008301526138a78161348b565b9050919050565b600060208201905081810360008301526138c7816134ae565b9050919050565b600060208201905081810360008301526138e7816134d1565b9050919050565b60006020820190508181036000830152613907816134f4565b9050919050565b6000602082019050818103600083015261392781613517565b9050919050565b600060208201905081810360008301526139478161353a565b9050919050565b600060208201905081810360008301526139678161355d565b9050919050565b6000602082019050818103600083015261398781613580565b9050919050565b600060208201905081810360008301526139a7816135a3565b9050919050565b600060208201905081810360008301526139c7816135c6565b9050919050565b600060208201905081810360008301526139e7816135e9565b9050919050565b60006020820190508181036000830152613a078161360c565b9050919050565b60006020820190508181036000830152613a2781613652565b9050919050565b60006020820190508181036000830152613a4781613675565b9050919050565b60006020820190508181036000830152613a6781613698565b9050919050565b60006020820190508181036000830152613a87816136bb565b9050919050565b6000602082019050613aa360008301846136de565b92915050565b600060a082019050613abe60008301886136de565b613acb60208301876133b7565b8181036040830152613add818661333b565b9050613aec606083018561332c565b613af960808301846136de565b9695505050505050565b6000606082019050613b1860008301866136de565b613b2560208301856136de565b613b3260408301846136de565b949350505050565b6000602082019050613b4f60008301846136ed565b92915050565b6000613b5f613b70565b9050613b6b8282613f8e565b919050565b6000604051905090565b600067ffffffffffffffff821115613b9557613b946140c4565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613c1182613eca565b9150613c1c83613eca565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c5157613c50614008565b5b828201905092915050565b6000613c6782613eca565b9150613c7283613eca565b925082613c8257613c81614037565b5b828204905092915050565b6000808291508390505b6001851115613cd757808604811115613cb357613cb2614008565b5b6001851615613cc25780820291505b8081029050613cd085614118565b9450613c97565b94509492505050565b6000613ceb82613eca565b9150613cf683613ed4565b9250613d237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d2b565b905092915050565b600082613d3b5760019050613df7565b81613d495760009050613df7565b8160018114613d5f5760028114613d6957613d98565b6001915050613df7565b60ff841115613d7b57613d7a614008565b5b8360020a915084821115613d9257613d91614008565b5b50613df7565b5060208310610133831016604e8410600b8410161715613dcd5782820a905083811115613dc857613dc7614008565b5b613df7565b613dda8484846001613c8d565b92509050818404811115613df157613df0614008565b5b81810290505b9392505050565b6000613e0982613eca565b9150613e1483613eca565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613e4d57613e4c614008565b5b828202905092915050565b6000613e6382613eca565b9150613e6e83613eca565b925082821015613e8157613e80614008565b5b828203905092915050565b6000613e9782613eaa565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613eec82613f05565b9050919050565b6000613efe82613eca565b9050919050565b6000613f1082613f17565b9050919050565b6000613f2282613eaa565b9050919050565b60005b83811015613f47578082015181840152602081019050613f2c565b83811115613f56576000848401525b50505050565b60006002820490506001821680613f7457607f821691505b60208210811415613f8857613f87614066565b5b50919050565b613f9782614107565b810181811067ffffffffffffffff82111715613fb657613fb56140c4565b5b80604052505050565b6000613fca82613eca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613ffd57613ffc614008565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4d757374206b656570206665657320617420313525206f72206c657373000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f46656520416464726573732063616e6e6f74206265207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e2774206368616e6765207768656e2074726164696e672068617320737460008201527f6172746564000000000000000000000000000000000000000000000000000000602082015250565b7f446561646c696e652073686f756c64206265206c657373207468616e2038204260008201527f6c6f636b73000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f46656520416464726573732063616e6e6f742062652043410000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c726561647920656e61626c6564000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61467981613e8c565b811461468457600080fd5b50565b61469081613e9e565b811461469b57600080fd5b50565b6146a781613eca565b81146146b257600080fd5b5056fea264697066735822122094b46a374640667f8c4dbe84e19668c0c390346b16a1224de712c0450a31688364736f6c63430008070033

Deployed Bytecode

0x6080604052600436106102295760003560e01c806375f0a87411610123578063a9059cbb116100ab578063edaa11681161006f578063edaa116814610804578063f2fde38b1461082d578063f66895a314610856578063f887ea4014610883578063fbb63ac3146108ae57610230565b8063a9059cbb146106f9578063aacebbe314610736578063bcd5dd981461075f578063c5d32bb21461078a578063dd62ed3e146107c757610230565b80638cd4426d116100f25780638cd4426d146106125780638da5cb5b1461063b57806395d89b4114610666578063a457c2d714610691578063a8aa1b31146106ce57610230565b806375f0a8741461057857806385141a77146105a3578063864701a5146105ce5780638a8c523c146105fb57610230565b8063313ce567116101b15780634a2b3b13116101755780634a2b3b13146104a75780634ada218b146104d05780634e736f22146104fb57806370a0823114610524578063715018a61461056157610230565b8063313ce567146103c4578063355496ca146103ef57806339509351146104185780633a4559b01461045557806340b28c2f1461047e57610230565b80631340538f116101f85780631340538f146102f157806318160ddd1461031a57806320800a001461034557806323b872dd1461035c578063274a533c1461039957610230565b8063062287491461023557806306fdde0314610260578063095ea7b31461028b5780630e375a5c146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108d7565b6040516102579190613711565b60405180910390f35b34801561026c57600080fd5b506102756108fd565b60405161028291906137ec565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad919061313c565b61098f565b6040516102bf91906137b6565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea919061317c565b6109ad565b005b3480156102fd57600080fd5b50610318600480360381019061031391906131d8565b610abe565b005b34801561032657600080fd5b5061032f610b57565b60405161033c9190613a8e565b60405180910390f35b34801561035157600080fd5b5061035a610b61565b005b34801561036857600080fd5b50610383600480360381019061037e91906130a9565b610c33565b60405161039091906137b6565b60405180910390f35b3480156103a557600080fd5b506103ae610d34565b6040516103bb9190613a8e565b60405180910390f35b3480156103d057600080fd5b506103d9610d3a565b6040516103e69190613b3a565b60405180910390f35b3480156103fb57600080fd5b50610416600480360381019061041191906130fc565b610d43565b005b34801561042457600080fd5b5061043f600480360381019061043a919061313c565b610e1a565b60405161044c91906137b6565b60405180910390f35b34801561046157600080fd5b5061047c6004803603810190610477919061300f565b610ec6565b005b34801561048a57600080fd5b506104a560048036038101906104a09190613069565b611065565b005b3480156104b357600080fd5b506104ce60048036038101906104c9919061325f565b611167565b005b3480156104dc57600080fd5b506104e5611260565b6040516104f291906137b6565b60405180910390f35b34801561050757600080fd5b50610522600480360381019061051d919061325f565b611273565b005b34801561053057600080fd5b5061054b6004803603810190610546919061300f565b61136c565b6040516105589190613a8e565b60405180910390f35b34801561056d57600080fd5b506105766113b4565b005b34801561058457600080fd5b5061058d61143c565b60405161059a9190613711565b60405180910390f35b3480156105af57600080fd5b506105b8611462565b6040516105c59190613711565b60405180910390f35b3480156105da57600080fd5b506105e3611468565b6040516105f293929190613b03565b60405180910390f35b34801561060757600080fd5b50610610611480565b005b34801561061e57600080fd5b506106396004803603810190610634919061313c565b61158b565b005b34801561064757600080fd5b5061065061170f565b60405161065d9190613711565b60405180910390f35b34801561067257600080fd5b5061067b611739565b60405161068891906137ec565b60405180910390f35b34801561069d57600080fd5b506106b860048036038101906106b3919061313c565b6117cb565b6040516106c591906137b6565b60405180910390f35b3480156106da57600080fd5b506106e36118bf565b6040516106f09190613711565b60405180910390f35b34801561070557600080fd5b50610720600480360381019061071b919061313c565b6118e5565b60405161072d91906137b6565b60405180910390f35b34801561074257600080fd5b5061075d6004803603810190610758919061300f565b6118fc565b005b34801561076b57600080fd5b50610774611a9b565b6040516107819190613a8e565b60405180910390f35b34801561079657600080fd5b506107b160048036038101906107ac919061300f565b611aa1565b6040516107be91906137b6565b60405180910390f35b3480156107d357600080fd5b506107ee60048036038101906107e99190613069565b611ac1565b6040516107fb9190613a8e565b60405180910390f35b34801561081057600080fd5b5061082b60048036038101906108269190613232565b611b48565b005b34801561083957600080fd5b50610854600480360381019061084f919061300f565b611c61565b005b34801561086257600080fd5b5061086b611d59565b60405161087a93929190613b03565b60405180910390f35b34801561088f57600080fd5b50610898611d71565b6040516108a591906137d1565b60405180910390f35b3480156108ba57600080fd5b506108d560048036038101906108d09190613232565b611d97565b005b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606003805461090c90613f5c565b80601f016020809104026020016040519081016040528092919081815260200182805461093890613f5c565b80156109855780601f1061095a57610100808354040283529160200191610985565b820191906000526020600020905b81548152906001019060200180831161096857829003601f168201915b5050505050905090565b60006109a361099c611e3b565b8484611e43565b6001905092915050565b6109b5611e3b565b73ffffffffffffffffffffffffffffffffffffffff166109d361170f565b73ffffffffffffffffffffffffffffffffffffffff1614610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a209061398e565b60405180910390fd5b60005b8251811015610ab9578160136000858481518110610a4d57610a4c614095565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ab190613fbf565b915050610a2c565b505050565b610ac6611e3b565b73ffffffffffffffffffffffffffffffffffffffff16610ae461170f565b73ffffffffffffffffffffffffffffffffffffffff1614610b3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b319061398e565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b6000600254905090565b610b69611e3b565b73ffffffffffffffffffffffffffffffffffffffff16610b8761170f565b73ffffffffffffffffffffffffffffffffffffffff1614610bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd49061398e565b60405180910390fd5b6000479050610bea61170f565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c2f573d6000803e3d6000fd5b5050565b6000610c4084848461200e565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c8b611e3b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d029061396e565b60405180910390fd5b610d2885610d17611e3b565b8584610d239190613e58565b611e43565b60019150509392505050565b60095481565b60006012905090565b610d4b611e3b565b73ffffffffffffffffffffffffffffffffffffffff16610d6961170f565b73ffffffffffffffffffffffffffffffffffffffff1614610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db69061398e565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610ebc610e27611e3b565b848460016000610e35611e3b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eb79190613c06565b611e43565b6001905092915050565b610ece611e3b565b73ffffffffffffffffffffffffffffffffffffffff16610eec61170f565b73ffffffffffffffffffffffffffffffffffffffff1614610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f399061398e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa99061390e565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101890613a0e565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61106d611e3b565b73ffffffffffffffffffffffffffffffffffffffff1661108b61170f565b73ffffffffffffffffffffffffffffffffffffffff16146110e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d89061398e565b60405180910390fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b61116f611e3b565b73ffffffffffffffffffffffffffffffffffffffff1661118d61170f565b73ffffffffffffffffffffffffffffffffffffffff16146111e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111da9061398e565b60405180910390fd5b600f8282856111f29190613c06565b6111fc9190613c06565b111561123d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112349061382e565b60405180910390fd5b82600d6000018190555080600d6001018190555081600d60020181905550505050565b600760169054906101000a900460ff1681565b61127b611e3b565b73ffffffffffffffffffffffffffffffffffffffff1661129961170f565b73ffffffffffffffffffffffffffffffffffffffff16146112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e69061398e565b60405180910390fd5b600f8183856112fe9190613c06565b6113089190613c06565b1115611349576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113409061382e565b60405180910390fd5b826010600001819055508160106001018190555080601060020181905550505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113bc611e3b565b73ffffffffffffffffffffffffffffffffffffffff166113da61170f565b73ffffffffffffffffffffffffffffffffffffffff1614611430576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114279061398e565b60405180910390fd5b61143a6000612534565b565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b600d8060000154908060010154908060020154905083565b611488611e3b565b73ffffffffffffffffffffffffffffffffffffffff166114a661170f565b73ffffffffffffffffffffffffffffffffffffffff16146114fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f39061398e565b60405180910390fd5b600760169054906101000a900460ff161561154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154390613a4e565b60405180910390fd5b6001600760166101000a81548160ff0219169083151502179055506001600760156101000a81548160ff02191690831515021790555043600981905550565b611593611e3b565b73ffffffffffffffffffffffffffffffffffffffff166115b161170f565b73ffffffffffffffffffffffffffffffffffffffff1614611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061398e565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d9061388e565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61169a61170f565b836040518363ffffffff1660e01b81526004016116b892919061372c565b602060405180830381600087803b1580156116d257600080fd5b505af11580156116e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170a9190613205565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461174890613f5c565b80601f016020809104026020016040519081016040528092919081815260200182805461177490613f5c565b80156117c15780601f10611796576101008083540402835291602001916117c1565b820191906000526020600020905b8154815290600101906020018083116117a457829003601f168201915b5050505050905090565b600080600160006117da611e3b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188e90613a6e565b60405180910390fd5b6118b46118a2611e3b565b8585846118af9190613e58565b611e43565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006118f233848461200e565b6001905092915050565b611904611e3b565b73ffffffffffffffffffffffffffffffffffffffff1661192261170f565b73ffffffffffffffffffffffffffffffffffffffff1614611978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196f9061398e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119df9061390e565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4e90613a0e565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60136020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611b50611e3b565b73ffffffffffffffffffffffffffffffffffffffff16611b6e61170f565b73ffffffffffffffffffffffffffffffffffffffff1614611bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbb9061398e565b60405180910390fd5b600760169054906101000a900460ff1615611c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0b9061392e565b60405180910390fd5b60088110611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e9061394e565b60405180910390fd5b80600a8190555050565b611c69611e3b565b73ffffffffffffffffffffffffffffffffffffffff16611c8761170f565b73ffffffffffffffffffffffffffffffffffffffff1614611cdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49061398e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d449061384e565b60405180910390fd5b611d5681612534565b50565b60108060000154908060010154908060020154905083565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d9f611e3b565b73ffffffffffffffffffffffffffffffffffffffff16611dbd61170f565b73ffffffffffffffffffffffffffffffffffffffff1614611e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0a9061398e565b60405180910390fd5b611e1b610d3a565b600a611e279190613ce0565b81611e329190613dfe565b60088190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eaa90613a2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1a9061386e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120019190613a8e565b60405180910390a3505050565b60008111612051576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612048906139ae565b60405180910390fd5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120f55750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561214a57600760169054906101000a900460ff16612149576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612140906139ce565b60405180910390fd5b5b6000806000612157612ed2565b6000601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121fd5750601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122185750600a546009546122149190613c06565b4311155b9050600760149054906101000a900460ff168061227e5750601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806122d25750601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122e05760009250612444565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612393576010600101546010600001546010600201546123529190613c06565b61235c9190613c06565b9450849350601060405180606001604052908160008201548152602001600182015481526020016002820154815250509150612443565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141561244257600d60010154600d60000154600d600201546124059190613c06565b61240f9190613c06565b9450849350600d604051806060016040529081600082015481526020016001820154815260200160028201548152505091505b5b5b606484876124529190613dfe565b61245c9190613c5c565b9250600760159054906101000a900460ff1680156124c85750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b156124d8576124d785836125fa565b5b6124ee888885896124e99190613e58565b612819565b600083111561252a576000851115612529576000606486886125109190613dfe565b61251a9190613c5c565b9050612527893083612819565b505b5b5050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760149054906101000a900460ff16612815576001600760146101000a81548160ff0219169083151502179055506000821415612637576127f9565b60006126423061136c565b905060085481106127f7576001600854111561265e5760085490505b600060028461266d9190613dfe565b90506000818460200151846126829190613dfe565b61268c9190613c5c565b90506000818461269c9190613e58565b905060004790506126ac82612a98565b600081476126ba9190613e58565b905060008760200151866126ce9190613e58565b826126d99190613c5c565b905060008860200151826126ed9190613dfe565b90506000811115612703576127028682612cea565b5b600089600001516002846127179190613dfe565b6127219190613dfe565b905060008111156127785761277781600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612dd990919063ffffffff16565b5b60008a6040015160028561278c9190613dfe565b6127969190613dfe565b905060008111156127ed576127ec81600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612dd990919063ffffffff16565b5b5050505050505050505b505b6000600760146101000a81548160ff0219169083151502179055505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612889576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612880906139ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156128f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f09061380e565b60405180910390fd5b612904838383612ecd565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561298a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612981906138ae565b60405180910390fd5b81816129969190613e58565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a269190613c06565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a8a9190613a8e565b60405180910390a350505050565b6000600267ffffffffffffffff811115612ab557612ab46140c4565b5b604051908082528060200260200182016040528015612ae35781602001602082028036833780820191505090505b5090503081600081518110612afb57612afa614095565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612b9d57600080fd5b505afa158015612bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd5919061303c565b81600181518110612be957612be8614095565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c5030600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611e43565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612cb4959493929190613aa9565b600060405180830381600087803b158015612cce57600080fd5b505af1158015612ce2573d6000803e3d6000fd5b505050505050565b612d1730600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611e43565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612d8096959493929190613755565b6060604051808303818588803b158015612d9957600080fd5b505af1158015612dad573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612dd291906132b2565b5050505050565b80471015612e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e13906138ee565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051612e42906136fc565b60006040518083038185875af1925050503d8060008114612e7f576040519150601f19603f3d011682016040523d82523d6000602084013e612e84565b606091505b5050905080612ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ebf906138ce565b60405180910390fd5b505050565b505050565b60405180606001604052806000815260200160008152602001600081525090565b6000612f06612f0184613b7a565b613b55565b90508083825260208201905082856020860282011115612f2957612f286140f8565b5b60005b85811015612f595781612f3f8882612f63565b845260208401935060208301925050600181019050612f2c565b5050509392505050565b600081359050612f7281614670565b92915050565b600081519050612f8781614670565b92915050565b600082601f830112612fa257612fa16140f3565b5b8135612fb2848260208601612ef3565b91505092915050565b600081359050612fca81614687565b92915050565b600081519050612fdf81614687565b92915050565b600081359050612ff48161469e565b92915050565b6000815190506130098161469e565b92915050565b60006020828403121561302557613024614102565b5b600061303384828501612f63565b91505092915050565b60006020828403121561305257613051614102565b5b600061306084828501612f78565b91505092915050565b600080604083850312156130805761307f614102565b5b600061308e85828601612f63565b925050602061309f85828601612f63565b9150509250929050565b6000806000606084860312156130c2576130c1614102565b5b60006130d086828701612f63565b93505060206130e186828701612f63565b92505060406130f286828701612fe5565b9150509250925092565b6000806040838503121561311357613112614102565b5b600061312185828601612f63565b925050602061313285828601612fbb565b9150509250929050565b6000806040838503121561315357613152614102565b5b600061316185828601612f63565b925050602061317285828601612fe5565b9150509250929050565b6000806040838503121561319357613192614102565b5b600083013567ffffffffffffffff8111156131b1576131b06140fd565b5b6131bd85828601612f8d565b92505060206131ce85828601612fbb565b9150509250929050565b6000602082840312156131ee576131ed614102565b5b60006131fc84828501612fbb565b91505092915050565b60006020828403121561321b5761321a614102565b5b600061322984828501612fd0565b91505092915050565b60006020828403121561324857613247614102565b5b600061325684828501612fe5565b91505092915050565b60008060006060848603121561327857613277614102565b5b600061328686828701612fe5565b935050602061329786828701612fe5565b92505060406132a886828701612fe5565b9150509250925092565b6000806000606084860312156132cb576132ca614102565b5b60006132d986828701612ffa565b93505060206132ea86828701612ffa565b92505060406132fb86828701612ffa565b9150509250925092565b6000613311838361331d565b60208301905092915050565b61332681613e8c565b82525050565b61333581613e8c565b82525050565b600061334682613bb6565b6133508185613bd9565b935061335b83613ba6565b8060005b8381101561338c5781516133738882613305565b975061337e83613bcc565b92505060018101905061335f565b5085935050505092915050565b6133a281613e9e565b82525050565b6133b181613ee1565b82525050565b6133c081613ef3565b82525050565b60006133d182613bc1565b6133db8185613bf5565b93506133eb818560208601613f29565b6133f481614107565b840191505092915050565b600061340c602383613bf5565b915061341782614125565b604082019050919050565b600061342f601d83613bf5565b915061343a82614174565b602082019050919050565b6000613452602683613bf5565b915061345d8261419d565b604082019050919050565b6000613475602283613bf5565b9150613480826141ec565b604082019050919050565b6000613498603683613bf5565b91506134a38261423b565b604082019050919050565b60006134bb602683613bf5565b91506134c68261428a565b604082019050919050565b60006134de603a83613bf5565b91506134e9826142d9565b604082019050919050565b6000613501601d83613bf5565b915061350c82614328565b602082019050919050565b6000613524602283613bf5565b915061352f82614351565b604082019050919050565b6000613547602583613bf5565b9150613552826143a0565b604082019050919050565b600061356a602583613bf5565b9150613575826143ef565b604082019050919050565b600061358d602883613bf5565b91506135988261443e565b604082019050919050565b60006135b0602083613bf5565b91506135bb8261448d565b602082019050919050565b60006135d3602983613bf5565b91506135de826144b6565b604082019050919050565b60006135f6601383613bf5565b915061360182614505565b602082019050919050565b6000613619602583613bf5565b91506136248261452e565b604082019050919050565b600061363c600083613bea565b91506136478261457d565b600082019050919050565b600061365f601883613bf5565b915061366a82614580565b602082019050919050565b6000613682602483613bf5565b915061368d826145a9565b604082019050919050565b60006136a5601a83613bf5565b91506136b0826145f8565b602082019050919050565b60006136c8602583613bf5565b91506136d382614621565b604082019050919050565b6136e781613eca565b82525050565b6136f681613ed4565b82525050565b60006137078261362f565b9150819050919050565b6000602082019050613726600083018461332c565b92915050565b6000604082019050613741600083018561332c565b61374e60208301846136de565b9392505050565b600060c08201905061376a600083018961332c565b61377760208301886136de565b61378460408301876133b7565b61379160608301866133b7565b61379e608083018561332c565b6137ab60a08301846136de565b979650505050505050565b60006020820190506137cb6000830184613399565b92915050565b60006020820190506137e660008301846133a8565b92915050565b6000602082019050818103600083015261380681846133c6565b905092915050565b60006020820190508181036000830152613827816133ff565b9050919050565b6000602082019050818103600083015261384781613422565b9050919050565b6000602082019050818103600083015261386781613445565b9050919050565b6000602082019050818103600083015261388781613468565b9050919050565b600060208201905081810360008301526138a78161348b565b9050919050565b600060208201905081810360008301526138c7816134ae565b9050919050565b600060208201905081810360008301526138e7816134d1565b9050919050565b60006020820190508181036000830152613907816134f4565b9050919050565b6000602082019050818103600083015261392781613517565b9050919050565b600060208201905081810360008301526139478161353a565b9050919050565b600060208201905081810360008301526139678161355d565b9050919050565b6000602082019050818103600083015261398781613580565b9050919050565b600060208201905081810360008301526139a7816135a3565b9050919050565b600060208201905081810360008301526139c7816135c6565b9050919050565b600060208201905081810360008301526139e7816135e9565b9050919050565b60006020820190508181036000830152613a078161360c565b9050919050565b60006020820190508181036000830152613a2781613652565b9050919050565b60006020820190508181036000830152613a4781613675565b9050919050565b60006020820190508181036000830152613a6781613698565b9050919050565b60006020820190508181036000830152613a87816136bb565b9050919050565b6000602082019050613aa360008301846136de565b92915050565b600060a082019050613abe60008301886136de565b613acb60208301876133b7565b8181036040830152613add818661333b565b9050613aec606083018561332c565b613af960808301846136de565b9695505050505050565b6000606082019050613b1860008301866136de565b613b2560208301856136de565b613b3260408301846136de565b949350505050565b6000602082019050613b4f60008301846136ed565b92915050565b6000613b5f613b70565b9050613b6b8282613f8e565b919050565b6000604051905090565b600067ffffffffffffffff821115613b9557613b946140c4565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613c1182613eca565b9150613c1c83613eca565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c5157613c50614008565b5b828201905092915050565b6000613c6782613eca565b9150613c7283613eca565b925082613c8257613c81614037565b5b828204905092915050565b6000808291508390505b6001851115613cd757808604811115613cb357613cb2614008565b5b6001851615613cc25780820291505b8081029050613cd085614118565b9450613c97565b94509492505050565b6000613ceb82613eca565b9150613cf683613ed4565b9250613d237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d2b565b905092915050565b600082613d3b5760019050613df7565b81613d495760009050613df7565b8160018114613d5f5760028114613d6957613d98565b6001915050613df7565b60ff841115613d7b57613d7a614008565b5b8360020a915084821115613d9257613d91614008565b5b50613df7565b5060208310610133831016604e8410600b8410161715613dcd5782820a905083811115613dc857613dc7614008565b5b613df7565b613dda8484846001613c8d565b92509050818404811115613df157613df0614008565b5b81810290505b9392505050565b6000613e0982613eca565b9150613e1483613eca565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613e4d57613e4c614008565b5b828202905092915050565b6000613e6382613eca565b9150613e6e83613eca565b925082821015613e8157613e80614008565b5b828203905092915050565b6000613e9782613eaa565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613eec82613f05565b9050919050565b6000613efe82613eca565b9050919050565b6000613f1082613f17565b9050919050565b6000613f2282613eaa565b9050919050565b60005b83811015613f47578082015181840152602081019050613f2c565b83811115613f56576000848401525b50505050565b60006002820490506001821680613f7457607f821691505b60208210811415613f8857613f87614066565b5b50919050565b613f9782614107565b810181811067ffffffffffffffff82111715613fb657613fb56140c4565b5b80604052505050565b6000613fca82613eca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613ffd57613ffc614008565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4d757374206b656570206665657320617420313525206f72206c657373000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f46656520416464726573732063616e6e6f74206265207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e2774206368616e6765207768656e2074726164696e672068617320737460008201527f6172746564000000000000000000000000000000000000000000000000000000602082015250565b7f446561646c696e652073686f756c64206265206c657373207468616e2038204260008201527f6c6f636b73000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f46656520416464726573732063616e6e6f742062652043410000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c726561647920656e61626c6564000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61467981613e8c565b811461468457600080fd5b50565b61469081613e9e565b811461469b57600080fd5b50565b6146a781613eca565b81146146b257600080fd5b5056fea264697066735822122094b46a374640667f8c4dbe84e19668c0c390346b16a1224de712c0450a31688364736f6c63430008070033

Deployed Bytecode Sourcemap

13672:10249:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14150:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2450:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15299:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23242:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20939:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3570;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23452:165;;;;;;;;;;;;;:::i;:::-;;15468:448;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13996:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3412:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23114:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15924:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22846:260;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21911:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21195:348;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13899:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21551:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3741:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12335:94;;;;;;;;;;;;;:::i;:::-;;14068:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14224:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14426:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;22073:224;;;;;;;;;;;;;:::i;:::-;;23625:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12112:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2669:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16180:410;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13782:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16598:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22568:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13942:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14519:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4360:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22306:250;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12437:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14471:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;13754:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21055:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14150:70;;;;;;;;;;;;;:::o;2450:100::-;2504:13;2537:5;2530:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2450:100;:::o;15299:161::-;15374:4;15391:39;15400:12;:10;:12::i;:::-;15414:7;15423:6;15391:8;:39::i;:::-;15448:4;15441:11;;15299:161;;;;:::o;23242:202::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23339:9:::1;23334:103;23358:8;:15;23354:1;:19;23334:103;;;23420:5;23395:9;:22;23405:8;23414:1;23405:11;;;;;;;;:::i;:::-;;;;;;;;23395:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;23375:3;;;;;:::i;:::-;;;;23334:103;;;;23242:202:::0;;:::o;20939:108::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21034:5:::1;21013:18;;:26;;;;;;;;;;;;;;;;;;20939:108:::0;:::o;3570:::-;3631:7;3658:12;;3651:19;;3570:108;:::o;23452:165::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23503:26:::1;23532:21;23503:50;;23572:7;:5;:7::i;:::-;23564:25;;:45;23590:18;23564:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;23492:125;23452:165::o:0;15468:448::-;15600:4;15617:36;15627:6;15635:9;15646:6;15617:9;:36::i;:::-;15666:24;15693:11;:19;15705:6;15693:19;;;;;;;;;;;;;;;:33;15713:12;:10;:12::i;:::-;15693:33;;;;;;;;;;;;;;;;15666:60;;15765:6;15745:16;:26;;15737:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;15827:57;15836:6;15844:12;:10;:12::i;:::-;15877:6;15858:16;:25;;;;:::i;:::-;15827:8;:57::i;:::-;15904:4;15897:11;;;15468:448;;;;;:::o;13996:28::-;;;;:::o;3412:93::-;3470:5;3495:2;3488:9;;3412:93;:::o;23114:120::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23221:5:::1;23199:9;:19;23209:8;23199:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;23114:120:::0;;:::o;15924:248::-;16040:4;16062:80;16071:12;:10;:12::i;:::-;16085:7;16131:10;16094:11;:25;16106:12;:10;:12::i;:::-;16094:25;;;;;;;;;;;;;;;:34;16120:7;16094:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;16062:8;:80::i;:::-;16160:4;16153:11;;15924:248;;;;:::o;22846:260::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22950:1:::1;22929:23;;:9;:23;;;;22921:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;23031:4;23010:26;;:9;:26;;;;23002:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;23089:9;23076:10;;:22;;;;;;;;;;;;;;;;;;22846:260:::0;:::o;21911:155::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22023:9:::1;22006:6;;:27;;;;;;;;;;;;;;;;;;22051:7;22044:4;;:14;;;;;;;;;;;;;;;;;;21911:155:::0;;:::o;21195:348::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21380:2:::1;21370:5;21357:10;21344;:23;;;;:::i;:::-;:31;;;;:::i;:::-;21343:39;;21335:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;21448:10;21427:8;:18;;:31;;;;21490:10;21469:8;:18;;:31;;;;21530:5;21511:8;:16;;:24;;;;21195:348:::0;;;:::o;13899:34::-;;;;;;;;;;;;;:::o;21551:352::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21737:2:::1;21727:5;21714:10;21701;:23;;;;:::i;:::-;:31;;;;:::i;:::-;21700:39;;21692:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;21806:10;21784:9;:19;;:32;;;;21849:10;21827:9;:19;;:32;;;;21890:5;21870:9;:17;;:25;;;;21551:352:::0;;;:::o;3741:127::-;3815:7;3842:9;:18;3852:7;3842:18;;;;;;;;;;;;;;;;3835:25;;3741:127;;;:::o;12335:94::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12400:21:::1;12418:1;12400:9;:21::i;:::-;12335:94::o:0;14068:75::-;;;;;;;;;;;;;:::o;14224:79::-;14261:42;14224:79;:::o;14426:38::-;;;;;;;;;;;;;;;;;;;:::o;22073:224::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22137:14:::1;;;;;;;;;;;22136:15;22128:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;22210:4;22193:14;;:21;;;;;;;;;;;;;;;;;;22246:4;22225:18;;:25;;;;;;;;;;;;;;;;;;22277:12;22261:13;:28;;;;22073:224::o:0;23625:238::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23738:4:::1;23718:25;;:8;:25;;;;23710:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;23820:8;23813:25;;;23839:7;:5;:7::i;:::-;23848:6;23813:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23625:238:::0;;:::o;12112:87::-;12158:7;12185:6;;;;;;;;;;;12178:13;;12112:87;:::o;2669:104::-;2725:13;2758:7;2751:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2669:104;:::o;16180:410::-;16301:4;16323:24;16350:11;:25;16362:12;:10;:12::i;:::-;16350:25;;;;;;;;;;;;;;;:34;16376:7;16350:34;;;;;;;;;;;;;;;;16323:61;;16423:15;16403:16;:35;;16395:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;16491:67;16500:12;:10;:12::i;:::-;16514:7;16542:15;16523:16;:34;;;;:::i;:::-;16491:8;:67::i;:::-;16578:4;16571:11;;;16180:410;;;;:::o;13782:19::-;;;;;;;;;;;;;:::o;16598:165::-;16676:4;16693:40;16703:10;16715:9;16726:6;16693:9;:40::i;:::-;16751:4;16744:11;;16598:165;;;;:::o;22568:270::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22677:1:::1;22656:23;;:9;:23;;;;22648:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;22758:4;22737:26;;:9;:26;;;;22729:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;22821:9;22803:15;;:27;;;;;;;;;;;;;;;;;;22568:270:::0;:::o;13942:45::-;;;;:::o;14519:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;4360:201::-;4494:7;4526:11;:18;4538:5;4526:18;;;;;;;;;;;;;;;:27;4545:7;4526:27;;;;;;;;;;;;;;;;4519:34;;4360:201;;;;:::o;22306:250::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22388:14:::1;;;;;;;;;;;22387:15;22379:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;22475:1;22463:9;:13;22455:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;22539:9;22528:8;:20;;;;22306:250:::0;:::o;12437:192::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12546:1:::1;12526:22;;:8;:22;;;;12518:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;12602:19;12612:8;12602:9;:19::i;:::-;12437:192:::0;:::o;14471:39::-;;;;;;;;;;;;;;;;;;;:::o;13754:21::-;;;;;;;;;;;;;:::o;21055:128::-;12258:12;:10;:12::i;:::-;12247:23;;:7;:5;:7::i;:::-;:23;;;12239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21165:10:::1;:8;:10::i;:::-;21161:2;:14;;;;:::i;:::-;21148:10;:27;;;;:::i;:::-;21130:15;:45;;;;21055:128:::0;:::o;172:98::-;225:7;252:10;245:17;;172:98;:::o;10411:380::-;10564:1;10547:19;;:5;:19;;;;10539:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10645:1;10626:21;;:7;:21;;;;10618:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10729:6;10699:11;:18;10711:5;10699:18;;;;;;;;;;;;;;;:27;10718:7;10699:27;;;;;;;;;;;;;;;:36;;;;10767:7;10751:32;;10760:5;10751:32;;;10776:6;10751:32;;;;;;:::i;:::-;;;;;;;;10411:380;;;:::o;16771:1510::-;16921:1;16912:6;:10;16904:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16986:9;:17;16996:6;16986:17;;;;;;;;;;;;;;;;;;;;;;;;;16985:18;:43;;;;;17008:9;:20;17018:9;17008:20;;;;;;;;;;;;;;;;;;;;;;;;;17007:21;16985:43;16981:122;;;17053:14;;;;;;;;;;;17045:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;16981:122;17115:15;17141:14;17166:11;17188:25;;:::i;:::-;17226:17;17247:9;:17;17257:6;17247:17;;;;;;;;;;;;;;;;;;;;;;;;;17246:18;:56;;;;;17282:9;:20;17292:9;17282:20;;;;;;;;;;;;;;;;;;;;;;;;;17281:21;17246:56;:113;;;;;17351:8;;17335:13;;:24;;;;:::i;:::-;17319:12;:40;;17246:113;17226:133;;17376:15;;;;;;;;;;;:36;;;;17395:9;:17;17405:6;17395:17;;;;;;;;;;;;;;;;;;;;;;;;;17376:36;:60;;;;17416:9;:20;17426:9;17416:20;;;;;;;;;;;;;;;;;;;;;;;;;17376:60;17372:485;;;17457:1;17451:7;;17372:485;;;17493:4;;;;;;;;;;;17480:17;;:9;:17;;;17476:381;;;17566:9;:19;;;17544:9;:19;;;17524:9;:17;;;:39;;;;:::i;:::-;:61;;;;:::i;:::-;17514:71;;17609:7;17600:16;;17646:9;17631:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17476:381;;;17687:4;;;;;;;;;;;17677:14;;:6;:14;;;17673:184;;;17758:8;:18;;;17737:8;:18;;;17718:8;:16;;;:37;;;;:::i;:::-;:58;;;;:::i;:::-;17708:68;;17800:7;17791:16;;17837:8;17822:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17673:184;17476:381;17372:485;17896:3;17886:6;17877;:15;;;;:::i;:::-;17876:23;;;;:::i;:::-;17869:31;;17917:18;;;;;;;;;;;:36;;;;;17949:4;;;;;;;;;;;17939:14;;:6;:14;;;;17917:36;17913:76;;;17955:34;17967:7;17976:12;17955:11;:34::i;:::-;17913:76;18002:48;18018:6;18026:9;18046:3;18037:6;:12;;;;:::i;:::-;18002:15;:48::i;:::-;18071:1;18065:3;:7;18061:213;;;18109:1;18099:7;:11;18095:166;;;18131:17;18173:3;18162:7;18153:6;:16;;;;:::i;:::-;18152:24;;;;:::i;:::-;18131:46;;18196:49;18212:6;18228:4;18235:9;18196:15;:49::i;:::-;18112:149;18095:166;18061:213;16893:1388;;;;;16771:1510;;;:::o;12637:173::-;12693:16;12712:6;;;;;;;;;;;12693:25;;12738:8;12729:6;;:17;;;;;;;;;;;;;;;;;;12793:8;12762:40;;12783:8;12762:40;;;;;;;;;;;;12682:128;12637:173;:::o;18289:1592::-;14606:15;;;;;;;;;;;14601:125;;14656:4;14638:15;;:22;;;;;;;;;;;;;;;;;;18396:1:::1;18385:7;:12;18382:49;;;18413:7;;18382:49;18444:23;18470:24;18488:4;18470:9;:24::i;:::-;18444:50;;18528:15;;18509;:34;18505:1369;;18582:1;18564:15;;:19;18560:93;;;18622:15;;18604:33;;18560:93;18724:19;18756:1;18746:7;:11;;;;:::i;:::-;18724:33;;18772:32;18849:11;18826:9;:19;;;18808:15;:37;;;;:::i;:::-;18807:53;;;;:::i;:::-;18772:88;;18875:20;18916:24;18898:15;:42;;;;:::i;:::-;18875:65;;18958:22;18983:21;18958:46;;19021:30;19038:12;19021:16;:30::i;:::-;19068:20;19115:14;19091:21;:38;;;;:::i;:::-;19068:61;;19144:19;19196:9;:19;;;19182:11;:33;;;;:::i;:::-;19166:12;:50;;;;:::i;:::-;19144:72;;19231:29;19278:9;:19;;;19264:11;:33;;;;:::i;:::-;19231:67;;19343:1;19319:21;:25;19315:172;;;19410:61;19423:24;19449:21;19410:12;:61::i;:::-;19315:172;19503:20;19545:9;:19;;;19541:1;19527:11;:15;;;;:::i;:::-;:37;;;;:::i;:::-;19503:62;;19599:1;19584:12;:16;19580:105;;;19621:48;19656:12;19629:15;;;;;;;;;;;19621:34;;;;:48;;;;:::i;:::-;19580:105;19701:15;19738:9;:17;;;19734:1;19720:11;:15;;;;:::i;:::-;:35;;;;:::i;:::-;19701:55;;19785:1;19775:7;:11;19771:90;;;19807:38;19837:7;19815:10;;;;;;;;;;;19807:29;;;;:38;;;;:::i;:::-;19771:90;18545:1329;;;;;;;;;18505:1369;18369:1512;14675:1;14709:5:::0;14691:15;;:23;;;;;;;;;;;;;;;;;;14601:125;18289:1592;;:::o;7873:638::-;8031:1;8013:20;;:6;:20;;;;8005:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8115:1;8094:23;;:9;:23;;;;8086:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8170:47;8191:6;8199:9;8210:6;8170:20;:47::i;:::-;8230:21;8254:9;:17;8264:6;8254:17;;;;;;;;;;;;;;;;8230:41;;8307:6;8290:13;:23;;8282:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8403:6;8387:13;:22;;;;:::i;:::-;8367:9;:17;8377:6;8367:17;;;;;;;;;;;;;;;:42;;;;8444:6;8420:9;:20;8430:9;8420:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;8485:9;8468:35;;8477:6;8468:35;;;8496:6;8468:35;;;;;;:::i;:::-;;;;;;;;7994:517;7873:638;;;:::o;19889:534::-;20015:21;20053:1;20039:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20015:40;;20084:4;20066;20071:1;20066:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20110:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20100:4;20105:1;20100:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20136:53;20153:4;20168:6;;;;;;;;;;;20177:11;20136:8;:53::i;:::-;20228:6;;;;;;;;;;;:57;;;20300:11;20326:1;20342:4;20369;20389:15;20228:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19944:479;19889:534;:::o;20431:500::-;20579:53;20596:4;20611:6;;;;;;;;;;;20620:11;20579:8;:53::i;:::-;20675:6;;;;;;;;;;;:22;;;20706:9;20740:4;20760:11;20786:1;20829;14261:42;20897:15;20675:248;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20431:500;;:::o;11555:319::-;11670:6;11645:21;:31;;11637:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;11724:12;11742:9;:14;;11765:6;11742:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11723:54;;;11796:7;11788:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11626:248;11555:319;;:::o;11400:125::-;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:133::-;1482:5;1520:6;1507:20;1498:29;;1536:30;1560:5;1536:30;:::i;:::-;1439:133;;;;:::o;1578:137::-;1632:5;1663:6;1657:13;1648:22;;1679:30;1703:5;1679:30;:::i;:::-;1578:137;;;;:::o;1721:139::-;1767:5;1805:6;1792:20;1783:29;;1821:33;1848:5;1821:33;:::i;:::-;1721:139;;;;:::o;1866:143::-;1923:5;1954:6;1948:13;1939:22;;1970:33;1997:5;1970:33;:::i;:::-;1866:143;;;;:::o;2015:329::-;2074:6;2123:2;2111:9;2102:7;2098:23;2094:32;2091:119;;;2129:79;;:::i;:::-;2091:119;2249:1;2274:53;2319:7;2310:6;2299:9;2295:22;2274:53;:::i;:::-;2264:63;;2220:117;2015:329;;;;:::o;2350:351::-;2420:6;2469:2;2457:9;2448:7;2444:23;2440:32;2437:119;;;2475:79;;:::i;:::-;2437:119;2595:1;2620:64;2676:7;2667:6;2656:9;2652:22;2620:64;:::i;:::-;2610:74;;2566:128;2350:351;;;;:::o;2707:474::-;2775:6;2783;2832:2;2820:9;2811:7;2807:23;2803:32;2800:119;;;2838:79;;:::i;:::-;2800:119;2958:1;2983:53;3028:7;3019:6;3008:9;3004:22;2983:53;:::i;:::-;2973:63;;2929:117;3085:2;3111:53;3156:7;3147:6;3136:9;3132:22;3111:53;:::i;:::-;3101:63;;3056:118;2707:474;;;;;:::o;3187:619::-;3264:6;3272;3280;3329:2;3317:9;3308:7;3304:23;3300:32;3297:119;;;3335:79;;:::i;:::-;3297:119;3455:1;3480:53;3525:7;3516:6;3505:9;3501:22;3480:53;:::i;:::-;3470:63;;3426:117;3582:2;3608:53;3653:7;3644:6;3633:9;3629:22;3608:53;:::i;:::-;3598:63;;3553:118;3710:2;3736:53;3781:7;3772:6;3761:9;3757:22;3736:53;:::i;:::-;3726:63;;3681:118;3187:619;;;;;:::o;3812:468::-;3877:6;3885;3934:2;3922:9;3913:7;3909:23;3905:32;3902:119;;;3940:79;;:::i;:::-;3902:119;4060:1;4085:53;4130:7;4121:6;4110:9;4106:22;4085:53;:::i;:::-;4075:63;;4031:117;4187:2;4213:50;4255:7;4246:6;4235:9;4231:22;4213:50;:::i;:::-;4203:60;;4158:115;3812:468;;;;;:::o;4286:474::-;4354:6;4362;4411:2;4399:9;4390:7;4386:23;4382:32;4379:119;;;4417:79;;:::i;:::-;4379:119;4537:1;4562:53;4607:7;4598:6;4587:9;4583:22;4562:53;:::i;:::-;4552:63;;4508:117;4664:2;4690:53;4735:7;4726:6;4715:9;4711:22;4690:53;:::i;:::-;4680:63;;4635:118;4286:474;;;;;:::o;4766:678::-;4856:6;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5067:1;5056:9;5052:17;5039:31;5097:18;5089:6;5086:30;5083:117;;;5119:79;;:::i;:::-;5083:117;5224:78;5294:7;5285:6;5274:9;5270:22;5224:78;:::i;:::-;5214:88;;5010:302;5351:2;5377:50;5419:7;5410:6;5399:9;5395:22;5377:50;:::i;:::-;5367:60;;5322:115;4766:678;;;;;:::o;5450:323::-;5506:6;5555:2;5543:9;5534:7;5530:23;5526:32;5523:119;;;5561:79;;:::i;:::-;5523:119;5681:1;5706:50;5748:7;5739:6;5728:9;5724:22;5706:50;:::i;:::-;5696:60;;5652:114;5450:323;;;;:::o;5779:345::-;5846:6;5895:2;5883:9;5874:7;5870:23;5866:32;5863:119;;;5901:79;;:::i;:::-;5863:119;6021:1;6046:61;6099:7;6090:6;6079:9;6075:22;6046:61;:::i;:::-;6036:71;;5992:125;5779:345;;;;:::o;6130:329::-;6189:6;6238:2;6226:9;6217:7;6213:23;6209:32;6206:119;;;6244:79;;:::i;:::-;6206:119;6364:1;6389:53;6434:7;6425:6;6414:9;6410:22;6389:53;:::i;:::-;6379:63;;6335:117;6130:329;;;;:::o;6465:619::-;6542:6;6550;6558;6607:2;6595:9;6586:7;6582:23;6578:32;6575:119;;;6613:79;;:::i;:::-;6575:119;6733:1;6758:53;6803:7;6794:6;6783:9;6779:22;6758:53;:::i;:::-;6748:63;;6704:117;6860:2;6886:53;6931:7;6922:6;6911:9;6907:22;6886:53;:::i;:::-;6876:63;;6831:118;6988:2;7014:53;7059:7;7050:6;7039:9;7035:22;7014:53;:::i;:::-;7004:63;;6959:118;6465:619;;;;;:::o;7090:663::-;7178:6;7186;7194;7243:2;7231:9;7222:7;7218:23;7214:32;7211:119;;;7249:79;;:::i;:::-;7211:119;7369:1;7394:64;7450:7;7441:6;7430:9;7426:22;7394:64;:::i;:::-;7384:74;;7340:128;7507:2;7533:64;7589:7;7580:6;7569:9;7565:22;7533:64;:::i;:::-;7523:74;;7478:129;7646:2;7672:64;7728:7;7719:6;7708:9;7704:22;7672:64;:::i;:::-;7662:74;;7617:129;7090:663;;;;;:::o;7759:179::-;7828:10;7849:46;7891:3;7883:6;7849:46;:::i;:::-;7927:4;7922:3;7918:14;7904:28;;7759:179;;;;:::o;7944:108::-;8021:24;8039:5;8021:24;:::i;:::-;8016:3;8009:37;7944:108;;:::o;8058:118::-;8145:24;8163:5;8145:24;:::i;:::-;8140:3;8133:37;8058:118;;:::o;8212:732::-;8331:3;8360:54;8408:5;8360:54;:::i;:::-;8430:86;8509:6;8504:3;8430:86;:::i;:::-;8423:93;;8540:56;8590:5;8540:56;:::i;:::-;8619:7;8650:1;8635:284;8660:6;8657:1;8654:13;8635:284;;;8736:6;8730:13;8763:63;8822:3;8807:13;8763:63;:::i;:::-;8756:70;;8849:60;8902:6;8849:60;:::i;:::-;8839:70;;8695:224;8682:1;8679;8675:9;8670:14;;8635:284;;;8639:14;8935:3;8928:10;;8336:608;;;8212:732;;;;:::o;8950:109::-;9031:21;9046:5;9031:21;:::i;:::-;9026:3;9019:34;8950:109;;:::o;9065:161::-;9167:52;9213:5;9167:52;:::i;:::-;9162:3;9155:65;9065:161;;:::o;9232:147::-;9327:45;9366:5;9327:45;:::i;:::-;9322:3;9315:58;9232:147;;:::o;9385:364::-;9473:3;9501:39;9534:5;9501:39;:::i;:::-;9556:71;9620:6;9615:3;9556:71;:::i;:::-;9549:78;;9636:52;9681:6;9676:3;9669:4;9662:5;9658:16;9636:52;:::i;:::-;9713:29;9735:6;9713:29;:::i;:::-;9708:3;9704:39;9697:46;;9477:272;9385:364;;;;:::o;9755:366::-;9897:3;9918:67;9982:2;9977:3;9918:67;:::i;:::-;9911:74;;9994:93;10083:3;9994:93;:::i;:::-;10112:2;10107:3;10103:12;10096:19;;9755:366;;;:::o;10127:::-;10269:3;10290:67;10354:2;10349:3;10290:67;:::i;:::-;10283:74;;10366:93;10455:3;10366:93;:::i;:::-;10484:2;10479:3;10475:12;10468:19;;10127:366;;;:::o;10499:::-;10641:3;10662:67;10726:2;10721:3;10662:67;:::i;:::-;10655:74;;10738:93;10827:3;10738:93;:::i;:::-;10856:2;10851:3;10847:12;10840:19;;10499:366;;;:::o;10871:::-;11013:3;11034:67;11098:2;11093:3;11034:67;:::i;:::-;11027:74;;11110:93;11199:3;11110:93;:::i;:::-;11228:2;11223:3;11219:12;11212:19;;10871:366;;;:::o;11243:::-;11385:3;11406:67;11470:2;11465:3;11406:67;:::i;:::-;11399:74;;11482:93;11571:3;11482:93;:::i;:::-;11600:2;11595:3;11591:12;11584:19;;11243:366;;;:::o;11615:::-;11757:3;11778:67;11842:2;11837:3;11778:67;:::i;:::-;11771:74;;11854:93;11943:3;11854:93;:::i;:::-;11972:2;11967:3;11963:12;11956:19;;11615:366;;;:::o;11987:::-;12129:3;12150:67;12214:2;12209:3;12150:67;:::i;:::-;12143:74;;12226:93;12315:3;12226:93;:::i;:::-;12344:2;12339:3;12335:12;12328:19;;11987:366;;;:::o;12359:::-;12501:3;12522:67;12586:2;12581:3;12522:67;:::i;:::-;12515:74;;12598:93;12687:3;12598:93;:::i;:::-;12716:2;12711:3;12707:12;12700:19;;12359:366;;;:::o;12731:::-;12873:3;12894:67;12958:2;12953:3;12894:67;:::i;:::-;12887:74;;12970:93;13059:3;12970:93;:::i;:::-;13088:2;13083:3;13079:12;13072:19;;12731:366;;;:::o;13103:::-;13245:3;13266:67;13330:2;13325:3;13266:67;:::i;:::-;13259:74;;13342:93;13431:3;13342:93;:::i;:::-;13460:2;13455:3;13451:12;13444:19;;13103:366;;;:::o;13475:::-;13617:3;13638:67;13702:2;13697:3;13638:67;:::i;:::-;13631:74;;13714:93;13803:3;13714:93;:::i;:::-;13832:2;13827:3;13823:12;13816:19;;13475:366;;;:::o;13847:::-;13989:3;14010:67;14074:2;14069:3;14010:67;:::i;:::-;14003:74;;14086:93;14175:3;14086:93;:::i;:::-;14204:2;14199:3;14195:12;14188:19;;13847:366;;;:::o;14219:::-;14361:3;14382:67;14446:2;14441:3;14382:67;:::i;:::-;14375:74;;14458:93;14547:3;14458:93;:::i;:::-;14576:2;14571:3;14567:12;14560:19;;14219:366;;;:::o;14591:::-;14733:3;14754:67;14818:2;14813:3;14754:67;:::i;:::-;14747:74;;14830:93;14919:3;14830:93;:::i;:::-;14948:2;14943:3;14939:12;14932:19;;14591:366;;;:::o;14963:::-;15105:3;15126:67;15190:2;15185:3;15126:67;:::i;:::-;15119:74;;15202:93;15291:3;15202:93;:::i;:::-;15320:2;15315:3;15311:12;15304:19;;14963:366;;;:::o;15335:::-;15477:3;15498:67;15562:2;15557:3;15498:67;:::i;:::-;15491:74;;15574:93;15663:3;15574:93;:::i;:::-;15692:2;15687:3;15683:12;15676:19;;15335:366;;;:::o;15707:398::-;15866:3;15887:83;15968:1;15963:3;15887:83;:::i;:::-;15880:90;;15979:93;16068:3;15979:93;:::i;:::-;16097:1;16092:3;16088:11;16081:18;;15707:398;;;:::o;16111:366::-;16253:3;16274:67;16338:2;16333:3;16274:67;:::i;:::-;16267:74;;16350:93;16439:3;16350:93;:::i;:::-;16468:2;16463:3;16459:12;16452:19;;16111:366;;;:::o;16483:::-;16625:3;16646:67;16710:2;16705:3;16646:67;:::i;:::-;16639:74;;16722:93;16811:3;16722:93;:::i;:::-;16840:2;16835:3;16831:12;16824:19;;16483:366;;;:::o;16855:::-;16997:3;17018:67;17082:2;17077:3;17018:67;:::i;:::-;17011:74;;17094:93;17183:3;17094:93;:::i;:::-;17212:2;17207:3;17203:12;17196:19;;16855:366;;;:::o;17227:::-;17369:3;17390:67;17454:2;17449:3;17390:67;:::i;:::-;17383:74;;17466:93;17555:3;17466:93;:::i;:::-;17584:2;17579:3;17575:12;17568:19;;17227:366;;;:::o;17599:118::-;17686:24;17704:5;17686:24;:::i;:::-;17681:3;17674:37;17599:118;;:::o;17723:112::-;17806:22;17822:5;17806:22;:::i;:::-;17801:3;17794:35;17723:112;;:::o;17841:379::-;18025:3;18047:147;18190:3;18047:147;:::i;:::-;18040:154;;18211:3;18204:10;;17841:379;;;:::o;18226:222::-;18319:4;18357:2;18346:9;18342:18;18334:26;;18370:71;18438:1;18427:9;18423:17;18414:6;18370:71;:::i;:::-;18226:222;;;;:::o;18454:332::-;18575:4;18613:2;18602:9;18598:18;18590:26;;18626:71;18694:1;18683:9;18679:17;18670:6;18626:71;:::i;:::-;18707:72;18775:2;18764:9;18760:18;18751:6;18707:72;:::i;:::-;18454:332;;;;;:::o;18792:807::-;19041:4;19079:3;19068:9;19064:19;19056:27;;19093:71;19161:1;19150:9;19146:17;19137:6;19093:71;:::i;:::-;19174:72;19242:2;19231:9;19227:18;19218:6;19174:72;:::i;:::-;19256:80;19332:2;19321:9;19317:18;19308:6;19256:80;:::i;:::-;19346;19422:2;19411:9;19407:18;19398:6;19346:80;:::i;:::-;19436:73;19504:3;19493:9;19489:19;19480:6;19436:73;:::i;:::-;19519;19587:3;19576:9;19572:19;19563:6;19519:73;:::i;:::-;18792:807;;;;;;;;;:::o;19605:210::-;19692:4;19730:2;19719:9;19715:18;19707:26;;19743:65;19805:1;19794:9;19790:17;19781:6;19743:65;:::i;:::-;19605:210;;;;:::o;19821:252::-;19929:4;19967:2;19956:9;19952:18;19944:26;;19980:86;20063:1;20052:9;20048:17;20039:6;19980:86;:::i;:::-;19821:252;;;;:::o;20079:313::-;20192:4;20230:2;20219:9;20215:18;20207:26;;20279:9;20273:4;20269:20;20265:1;20254:9;20250:17;20243:47;20307:78;20380:4;20371:6;20307:78;:::i;:::-;20299:86;;20079:313;;;;:::o;20398:419::-;20564:4;20602:2;20591:9;20587:18;20579:26;;20651:9;20645:4;20641:20;20637:1;20626:9;20622:17;20615:47;20679:131;20805:4;20679:131;:::i;:::-;20671:139;;20398:419;;;:::o;20823:::-;20989:4;21027:2;21016:9;21012:18;21004:26;;21076:9;21070:4;21066:20;21062:1;21051:9;21047:17;21040:47;21104:131;21230:4;21104:131;:::i;:::-;21096:139;;20823:419;;;:::o;21248:::-;21414:4;21452:2;21441:9;21437:18;21429:26;;21501:9;21495:4;21491:20;21487:1;21476:9;21472:17;21465:47;21529:131;21655:4;21529:131;:::i;:::-;21521:139;;21248:419;;;:::o;21673:::-;21839:4;21877:2;21866:9;21862:18;21854:26;;21926:9;21920:4;21916:20;21912:1;21901:9;21897:17;21890:47;21954:131;22080:4;21954:131;:::i;:::-;21946:139;;21673:419;;;:::o;22098:::-;22264:4;22302:2;22291:9;22287:18;22279:26;;22351:9;22345:4;22341:20;22337:1;22326:9;22322:17;22315:47;22379:131;22505:4;22379:131;:::i;:::-;22371:139;;22098:419;;;:::o;22523:::-;22689:4;22727:2;22716:9;22712:18;22704:26;;22776:9;22770:4;22766:20;22762:1;22751:9;22747:17;22740:47;22804:131;22930:4;22804:131;:::i;:::-;22796:139;;22523:419;;;:::o;22948:::-;23114:4;23152:2;23141:9;23137:18;23129:26;;23201:9;23195:4;23191:20;23187:1;23176:9;23172:17;23165:47;23229:131;23355:4;23229:131;:::i;:::-;23221:139;;22948:419;;;:::o;23373:::-;23539:4;23577:2;23566:9;23562:18;23554:26;;23626:9;23620:4;23616:20;23612:1;23601:9;23597:17;23590:47;23654:131;23780:4;23654:131;:::i;:::-;23646:139;;23373:419;;;:::o;23798:::-;23964:4;24002:2;23991:9;23987:18;23979:26;;24051:9;24045:4;24041:20;24037:1;24026:9;24022:17;24015:47;24079:131;24205:4;24079:131;:::i;:::-;24071:139;;23798:419;;;:::o;24223:::-;24389:4;24427:2;24416:9;24412:18;24404:26;;24476:9;24470:4;24466:20;24462:1;24451:9;24447:17;24440:47;24504:131;24630:4;24504:131;:::i;:::-;24496:139;;24223:419;;;:::o;24648:::-;24814:4;24852:2;24841:9;24837:18;24829:26;;24901:9;24895:4;24891:20;24887:1;24876:9;24872:17;24865:47;24929:131;25055:4;24929:131;:::i;:::-;24921:139;;24648:419;;;:::o;25073:::-;25239:4;25277:2;25266:9;25262:18;25254:26;;25326:9;25320:4;25316:20;25312:1;25301:9;25297:17;25290:47;25354:131;25480:4;25354:131;:::i;:::-;25346:139;;25073:419;;;:::o;25498:::-;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:::-;26089:4;26127:2;26116:9;26112:18;26104:26;;26176:9;26170:4;26166:20;26162:1;26151:9;26147:17;26140:47;26204:131;26330:4;26204:131;:::i;:::-;26196:139;;25923:419;;;:::o;26348:::-;26514:4;26552:2;26541:9;26537:18;26529:26;;26601:9;26595:4;26591:20;26587:1;26576:9;26572:17;26565:47;26629:131;26755:4;26629:131;:::i;:::-;26621:139;;26348:419;;;:::o;26773:::-;26939:4;26977:2;26966:9;26962:18;26954:26;;27026:9;27020:4;27016:20;27012:1;27001:9;26997:17;26990:47;27054:131;27180:4;27054:131;:::i;:::-;27046:139;;26773:419;;;:::o;27198:::-;27364:4;27402:2;27391:9;27387:18;27379:26;;27451:9;27445:4;27441:20;27437:1;27426:9;27422:17;27415:47;27479:131;27605:4;27479:131;:::i;:::-;27471:139;;27198:419;;;:::o;27623:::-;27789:4;27827:2;27816:9;27812:18;27804:26;;27876:9;27870:4;27866:20;27862:1;27851:9;27847:17;27840:47;27904:131;28030:4;27904:131;:::i;:::-;27896:139;;27623:419;;;:::o;28048:::-;28214:4;28252:2;28241:9;28237:18;28229:26;;28301:9;28295:4;28291:20;28287:1;28276:9;28272:17;28265:47;28329:131;28455:4;28329:131;:::i;:::-;28321:139;;28048:419;;;:::o;28473:::-;28639:4;28677:2;28666:9;28662:18;28654:26;;28726:9;28720:4;28716:20;28712:1;28701:9;28697:17;28690:47;28754:131;28880:4;28754:131;:::i;:::-;28746:139;;28473:419;;;:::o;28898:222::-;28991:4;29029:2;29018:9;29014:18;29006:26;;29042:71;29110:1;29099:9;29095:17;29086:6;29042:71;:::i;:::-;28898:222;;;;:::o;29126:831::-;29389:4;29427:3;29416:9;29412:19;29404:27;;29441:71;29509:1;29498:9;29494:17;29485:6;29441:71;:::i;:::-;29522:80;29598:2;29587:9;29583:18;29574:6;29522:80;:::i;:::-;29649:9;29643:4;29639:20;29634:2;29623:9;29619:18;29612:48;29677:108;29780:4;29771:6;29677:108;:::i;:::-;29669:116;;29795:72;29863:2;29852:9;29848:18;29839:6;29795:72;:::i;:::-;29877:73;29945:3;29934:9;29930:19;29921:6;29877:73;:::i;:::-;29126:831;;;;;;;;:::o;29963:442::-;30112:4;30150:2;30139:9;30135:18;30127:26;;30163:71;30231:1;30220:9;30216:17;30207:6;30163:71;:::i;:::-;30244:72;30312:2;30301:9;30297:18;30288:6;30244:72;:::i;:::-;30326;30394:2;30383:9;30379:18;30370:6;30326:72;:::i;:::-;29963:442;;;;;;:::o;30411:214::-;30500:4;30538:2;30527:9;30523:18;30515:26;;30551:67;30615:1;30604:9;30600:17;30591:6;30551:67;:::i;:::-;30411:214;;;;:::o;30631:129::-;30665:6;30692:20;;:::i;:::-;30682:30;;30721:33;30749:4;30741:6;30721:33;:::i;:::-;30631:129;;;:::o;30766:75::-;30799:6;30832:2;30826:9;30816:19;;30766:75;:::o;30847:311::-;30924:4;31014:18;31006:6;31003:30;31000:56;;;31036:18;;:::i;:::-;31000:56;31086:4;31078:6;31074:17;31066:25;;31146:4;31140;31136:15;31128:23;;30847:311;;;:::o;31164:132::-;31231:4;31254:3;31246:11;;31284:4;31279:3;31275:14;31267:22;;31164:132;;;:::o;31302:114::-;31369:6;31403:5;31397:12;31387:22;;31302:114;;;:::o;31422:99::-;31474:6;31508:5;31502:12;31492:22;;31422:99;;;:::o;31527:113::-;31597:4;31629;31624:3;31620:14;31612:22;;31527:113;;;:::o;31646:184::-;31745:11;31779:6;31774:3;31767:19;31819:4;31814:3;31810:14;31795:29;;31646:184;;;;:::o;31836:147::-;31937:11;31974:3;31959:18;;31836:147;;;;:::o;31989:169::-;32073:11;32107:6;32102:3;32095:19;32147:4;32142:3;32138:14;32123:29;;31989:169;;;;:::o;32164:305::-;32204:3;32223:20;32241:1;32223:20;:::i;:::-;32218:25;;32257:20;32275:1;32257:20;:::i;:::-;32252:25;;32411:1;32343:66;32339:74;32336:1;32333:81;32330:107;;;32417:18;;:::i;:::-;32330:107;32461:1;32458;32454:9;32447:16;;32164:305;;;;:::o;32475:185::-;32515:1;32532:20;32550:1;32532:20;:::i;:::-;32527:25;;32566:20;32584:1;32566:20;:::i;:::-;32561:25;;32605:1;32595:35;;32610:18;;:::i;:::-;32595:35;32652:1;32649;32645:9;32640:14;;32475:185;;;;:::o;32666:848::-;32727:5;32734:4;32758:6;32749:15;;32782:5;32773:14;;32796:712;32817:1;32807:8;32804:15;32796:712;;;32912:4;32907:3;32903:14;32897:4;32894:24;32891:50;;;32921:18;;:::i;:::-;32891:50;32971:1;32961:8;32957:16;32954:451;;;33386:4;33379:5;33375:16;33366:25;;32954:451;33436:4;33430;33426:15;33418:23;;33466:32;33489:8;33466:32;:::i;:::-;33454:44;;32796:712;;;32666:848;;;;;;;:::o;33520:281::-;33578:5;33602:23;33620:4;33602:23;:::i;:::-;33594:31;;33646:25;33662:8;33646:25;:::i;:::-;33634:37;;33690:104;33727:66;33717:8;33711:4;33690:104;:::i;:::-;33681:113;;33520:281;;;;:::o;33807:1073::-;33861:5;34052:8;34042:40;;34073:1;34064:10;;34075:5;;34042:40;34101:4;34091:36;;34118:1;34109:10;;34120:5;;34091:36;34187:4;34235:1;34230:27;;;;34271:1;34266:191;;;;34180:277;;34230:27;34248:1;34239:10;;34250:5;;;34266:191;34311:3;34301:8;34298:17;34295:43;;;34318:18;;:::i;:::-;34295:43;34367:8;34364:1;34360:16;34351:25;;34402:3;34395:5;34392:14;34389:40;;;34409:18;;:::i;:::-;34389:40;34442:5;;;34180:277;;34566:2;34556:8;34553:16;34547:3;34541:4;34538:13;34534:36;34516:2;34506:8;34503:16;34498:2;34492:4;34489:12;34485:35;34469:111;34466:246;;;34622:8;34616:4;34612:19;34603:28;;34657:3;34650:5;34647:14;34644:40;;;34664:18;;:::i;:::-;34644:40;34697:5;;34466:246;34737:42;34775:3;34765:8;34759:4;34756:1;34737:42;:::i;:::-;34722:57;;;;34811:4;34806:3;34802:14;34795:5;34792:25;34789:51;;;34820:18;;:::i;:::-;34789:51;34869:4;34862:5;34858:16;34849:25;;33807:1073;;;;;;:::o;34886:348::-;34926:7;34949:20;34967:1;34949:20;:::i;:::-;34944:25;;34983:20;35001:1;34983:20;:::i;:::-;34978:25;;35171:1;35103:66;35099:74;35096:1;35093:81;35088:1;35081:9;35074:17;35070:105;35067:131;;;35178:18;;:::i;:::-;35067:131;35226:1;35223;35219:9;35208:20;;34886:348;;;;:::o;35240:191::-;35280:4;35300:20;35318:1;35300:20;:::i;:::-;35295:25;;35334:20;35352:1;35334:20;:::i;:::-;35329:25;;35373:1;35370;35367:8;35364:34;;;35378:18;;:::i;:::-;35364:34;35423:1;35420;35416:9;35408:17;;35240:191;;;;:::o;35437:96::-;35474:7;35503:24;35521:5;35503:24;:::i;:::-;35492:35;;35437:96;;;:::o;35539:90::-;35573:7;35616:5;35609:13;35602:21;35591:32;;35539:90;;;:::o;35635:126::-;35672:7;35712:42;35705:5;35701:54;35690:65;;35635:126;;;:::o;35767:77::-;35804:7;35833:5;35822:16;;35767:77;;;:::o;35850:86::-;35885:7;35925:4;35918:5;35914:16;35903:27;;35850:86;;;:::o;35942:141::-;36007:9;36040:37;36071:5;36040:37;:::i;:::-;36027:50;;35942:141;;;:::o;36089:121::-;36147:9;36180:24;36198:5;36180:24;:::i;:::-;36167:37;;36089:121;;;:::o;36216:126::-;36266:9;36299:37;36330:5;36299:37;:::i;:::-;36286:50;;36216:126;;;:::o;36348:113::-;36398:9;36431:24;36449:5;36431:24;:::i;:::-;36418:37;;36348:113;;;:::o;36467:307::-;36535:1;36545:113;36559:6;36556:1;36553:13;36545:113;;;36644:1;36639:3;36635:11;36629:18;36625:1;36620:3;36616:11;36609:39;36581:2;36578:1;36574:10;36569:15;;36545:113;;;36676:6;36673:1;36670:13;36667:101;;;36756:1;36747:6;36742:3;36738:16;36731:27;36667:101;36516:258;36467:307;;;:::o;36780:320::-;36824:6;36861:1;36855:4;36851:12;36841:22;;36908:1;36902:4;36898:12;36929:18;36919:81;;36985:4;36977:6;36973:17;36963:27;;36919:81;37047:2;37039:6;37036:14;37016:18;37013:38;37010:84;;;37066:18;;:::i;:::-;37010:84;36831:269;36780:320;;;:::o;37106:281::-;37189:27;37211:4;37189:27;:::i;:::-;37181:6;37177:40;37319:6;37307:10;37304:22;37283:18;37271:10;37268:34;37265:62;37262:88;;;37330:18;;:::i;:::-;37262:88;37370:10;37366:2;37359:22;37149:238;37106:281;;:::o;37393:233::-;37432:3;37455:24;37473:5;37455:24;:::i;:::-;37446:33;;37501:66;37494:5;37491:77;37488:103;;;37571:18;;:::i;:::-;37488:103;37618:1;37611:5;37607:13;37600:20;;37393:233;;;:::o;37632:180::-;37680:77;37677:1;37670:88;37777:4;37774:1;37767:15;37801:4;37798:1;37791:15;37818:180;37866:77;37863:1;37856:88;37963:4;37960:1;37953:15;37987:4;37984:1;37977:15;38004:180;38052:77;38049:1;38042:88;38149:4;38146:1;38139:15;38173:4;38170:1;38163:15;38190:180;38238:77;38235:1;38228:88;38335:4;38332:1;38325:15;38359:4;38356:1;38349:15;38376:180;38424:77;38421:1;38414:88;38521:4;38518:1;38511:15;38545:4;38542:1;38535:15;38562:117;38671:1;38668;38661:12;38685:117;38794:1;38791;38784:12;38808:117;38917:1;38914;38907:12;38931:117;39040:1;39037;39030:12;39054:102;39095:6;39146:2;39142:7;39137:2;39130:5;39126:14;39122:28;39112:38;;39054:102;;;:::o;39162:::-;39204:8;39251:5;39248:1;39244:13;39223:34;;39162:102;;;:::o;39270:222::-;39410:34;39406:1;39398:6;39394:14;39387:58;39479:5;39474:2;39466:6;39462:15;39455:30;39270:222;:::o;39498:179::-;39638:31;39634:1;39626:6;39622:14;39615:55;39498:179;:::o;39683:225::-;39823:34;39819:1;39811:6;39807:14;39800:58;39892:8;39887:2;39879:6;39875:15;39868:33;39683:225;:::o;39914:221::-;40054:34;40050:1;40042:6;40038:14;40031:58;40123:4;40118:2;40110:6;40106:15;40099:29;39914:221;:::o;40141:241::-;40281:34;40277:1;40269:6;40265:14;40258:58;40350:24;40345:2;40337:6;40333:15;40326:49;40141:241;:::o;40388:225::-;40528:34;40524:1;40516:6;40512:14;40505:58;40597:8;40592:2;40584:6;40580:15;40573:33;40388:225;:::o;40619:245::-;40759:34;40755:1;40747:6;40743:14;40736:58;40828:28;40823:2;40815:6;40811:15;40804:53;40619:245;:::o;40870:179::-;41010:31;41006:1;40998:6;40994:14;40987:55;40870:179;:::o;41055:221::-;41195:34;41191:1;41183:6;41179:14;41172:58;41264:4;41259:2;41251:6;41247:15;41240:29;41055:221;:::o;41282:224::-;41422:34;41418:1;41410:6;41406:14;41399:58;41491:7;41486:2;41478:6;41474:15;41467:32;41282:224;:::o;41512:::-;41652:34;41648:1;41640:6;41636:14;41629:58;41721:7;41716:2;41708:6;41704:15;41697:32;41512:224;:::o;41742:227::-;41882:34;41878:1;41870:6;41866:14;41859:58;41951:10;41946:2;41938:6;41934:15;41927:35;41742:227;:::o;41975:182::-;42115:34;42111:1;42103:6;42099:14;42092:58;41975:182;:::o;42163:228::-;42303:34;42299:1;42291:6;42287:14;42280:58;42372:11;42367:2;42359:6;42355:15;42348:36;42163:228;:::o;42397:169::-;42537:21;42533:1;42525:6;42521:14;42514:45;42397:169;:::o;42572:224::-;42712:34;42708:1;42700:6;42696:14;42689:58;42781:7;42776:2;42768:6;42764:15;42757:32;42572:224;:::o;42802:114::-;;:::o;42922:174::-;43062:26;43058:1;43050:6;43046:14;43039:50;42922:174;:::o;43102:223::-;43242:34;43238:1;43230:6;43226:14;43219:58;43311:6;43306:2;43298:6;43294:15;43287:31;43102:223;:::o;43331:176::-;43471:28;43467:1;43459:6;43455:14;43448:52;43331:176;:::o;43513:224::-;43653:34;43649:1;43641:6;43637:14;43630:58;43722:7;43717:2;43709:6;43705:15;43698:32;43513:224;:::o;43743:122::-;43816:24;43834:5;43816:24;:::i;:::-;43809:5;43806:35;43796:63;;43855:1;43852;43845:12;43796:63;43743:122;:::o;43871:116::-;43941:21;43956:5;43941:21;:::i;:::-;43934:5;43931:32;43921:60;;43977:1;43974;43967:12;43921:60;43871:116;:::o;43993:122::-;44066:24;44084:5;44066:24;:::i;:::-;44059:5;44056:35;44046:63;;44105:1;44102;44095:12;44046:63;43993:122;:::o

Swarm Source

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