ETH Price: $2,981.35 (+1.71%)
Gas: 2 Gwei

Token

Dracula (DRAC)
 

Overview

Max Total Supply

1,000,000,000 DRAC

Holders

73

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 DRAC

Value
$0.00
0x6c57628937dc1327b7ab73ef38a56fcd7caddc06
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
dracula

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

pragma solidity 0.8.20;

// SPDX-License-Identifier: MIT

/* 

TELEGRAM:https://t.me/draculaeth20
WEBSITE:https://www.draculaeth.xyz/
TWITTER:https://twitter.com/DraculaERC20

*/

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 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    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) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * 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 default value returned by this function, unless
     * it's 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:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, 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}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, 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}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @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) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, 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) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * This 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:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, 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:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

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

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(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");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

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

        _afterTokenTransfer(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 Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted 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 {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been 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 _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() external virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
}

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

contract dracula is ERC20, Ownable {

    mapping (address => bool) public exemptFromFees;
    mapping (address => bool) public exemptFromLimits;

    bool public tradingActive;

    mapping (address => bool) public isAMMPair;

    uint256 public maxTransaction;
    uint256 public maxWallet;

    address public operationsAddress;

    uint256 public buyTax;
    uint256 public sellTax;

    mapping(address => uint256) private _holderLastTransferBlock; // to hold last Transfers temporarily during launch
    bool public transferDelayEnabled = true;
    bool public limitsInEffect = true;

    bool private swapping;
    uint256 public swapTokensAtAmt;

    address public lpPair;
    IDexRouter public dexRouter;

    uint256 public constant FEE_DIVISOR = 10000;

    // events

    event UpdatedMaxTransaction(uint256 newMax);
    event UpdatedMaxWallet(uint256 newMax);
    event SetExemptFromFees(address _address, bool _isExempt);
    event SetExemptFromLimits(address _address, bool _isExempt);
    event RemovedLimits();
    event UpdatedBuyTax(uint256 newAmt);
    event UpdatedSellTax(uint256 newAmt);

    // constructor

    constructor(string memory _name, string memory _symbol)
        ERC20(_name, _symbol)
    {   
        address newOwner = 0xC5085AD4579b8eeB31459FAEeB42b542eC6588ff;
        _mint(newOwner, 1_000_000_000 * 1e18);
        uint256 _totalSupply = totalSupply();

        address _v2Router;

        // @dev assumes WETH pair
        if(block.chainid == 1){
            _v2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        } else if(block.chainid == 5){
            _v2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        } else {
            revert("Chain not configured");
        }

        dexRouter = IDexRouter(_v2Router);

        maxTransaction = _totalSupply * 15 / 1000;
        maxWallet = _totalSupply * 15 / 1000;
        swapTokensAtAmt = _totalSupply * 25 / 100000;

        operationsAddress = 0x598C394F73AFA41f04267a662BB6F9E8b440B139;

        buyTax = 4900; // 1% = 100
        sellTax = 7000; // 1% = 100

        lpPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH());

        isAMMPair[lpPair] = true;

        exemptFromLimits[lpPair] = true;
        exemptFromLimits[newOwner] = true;
        exemptFromLimits[address(this)] = true;
        exemptFromLimits[address(dexRouter)] = true;
        

        exemptFromFees[newOwner] = true;
        exemptFromFees[address(this)] = true;
        exemptFromFees[address(dexRouter)] = true;
        
 
        _approve(address(this), address(dexRouter), type(uint256).max);
        transferOwnership(newOwner);
    }

    receive() external payable {}

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual override {
        
        if(exemptFromFees[from] || exemptFromFees[to] || swapping){
            super._transfer(from,to,amount);
            return;
        }

        require(tradingActive, "Trading not active");

        if(limitsInEffect){
            checkLimits(from, to, amount);
        }

        amount -= handleTax(from, to, amount);

        super._transfer(from,to,amount);
    }

    function checkLimits(address from, address to, uint256 amount) internal {
        if (transferDelayEnabled){
            if (to != address(dexRouter) && !isAMMPair[to]){
                require(_holderLastTransferBlock[tx.origin] < block.number, "Transfer Delay enabled.");
                _holderLastTransferBlock[tx.origin] = block.number;
            }
        }

        // buy
        if (isAMMPair[from] && !exemptFromLimits[to]) {
            require(amount <= maxTransaction, "Max tx exceeded.");
            require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
        } 
        // sell
        else if (isAMMPair[to] && !exemptFromLimits[from]) {
            require(amount <= maxTransaction, "Max tx exceeded.");
        }
        else if(!exemptFromLimits[to]) {
            require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
        }
    }

    function handleTax(address from, address to, uint256 amount) internal returns (uint256){
        if(balanceOf(address(this)) >= swapTokensAtAmt && !swapping && !isAMMPair[from]) {
            swapping = true;
            swapBack();
            swapping = false;
        }
        
        uint256 tax = 0;

        // on sell
        if (isAMMPair[to] && sellTax > 0){
            tax = amount * sellTax / FEE_DIVISOR;
        }
        // on buy
        else if(isAMMPair[from] && buyTax > 0) {
            tax = amount * buyTax / FEE_DIVISOR;
        }
        
        if(tax > 0){    
            super._transfer(from, address(this), tax);
        }
        
        return tax;
    }

    function swapTokensForETH(uint256 tokenAmt) private {

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

        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmt,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function swapBack() private {

        uint256 contractBalance = balanceOf(address(this));
        
        if(contractBalance == 0) {return;}

        if(contractBalance > swapTokensAtAmt * 40){
            contractBalance = swapTokensAtAmt * 40;
        }
        
        swapTokensForETH(contractBalance);
            
        if(address(this).balance > 0){
            bool success;
            (success, ) = operationsAddress.call{value: address(this).balance}("");
        }
    }

    // owner functions

    function setExemptFromFees(address _address, bool _isExempt) external onlyOwner {
        require(_address != address(0), "Zero Address");
        exemptFromFees[_address] = _isExempt;
        emit SetExemptFromFees(_address, _isExempt);
    }

    function setExemptFromLimits(address _address, bool _isExempt) external onlyOwner {
        require(_address != address(0), "Zero Address");
        if(!_isExempt){
            require(_address != lpPair, "Pair");
        }
        exemptFromLimits[_address] = _isExempt;
        emit SetExemptFromLimits(_address, _isExempt);
    }

    function updateMaxTransaction(uint256 newNumInTokens) external onlyOwner {
        require(newNumInTokens >= (totalSupply() * 5 / 1000)/(10**decimals()), "Too low");
        maxTransaction = newNumInTokens * (10**decimals());
        emit UpdatedMaxTransaction(maxTransaction);
    }

    function updateMaxWallet(uint256 newNumInTokens) external onlyOwner {
        require(newNumInTokens >= (totalSupply() * 1 / 100)/(10**decimals()), "Too low");
        maxWallet = newNumInTokens * (10**decimals());
        emit UpdatedMaxWallet(maxWallet);
    }

    function updateTaxes(uint256 _buyTax, uint256 _sellTax) external onlyOwner {
        buyTax = _buyTax;
        emit UpdatedBuyTax(buyTax);
        sellTax = _sellTax;
        emit UpdatedSellTax(sellTax);
    }

    function enableTrading() external onlyOwner {
        require(!tradingActive, "Trading active");
        tradingActive = true;
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
        transferDelayEnabled = false;
        maxTransaction = totalSupply();
        maxWallet = totalSupply();
        emit RemovedLimits();
    }

    function disableTransferDelay() external onlyOwner {
        transferDelayEnabled = false;
    }

    function updateOperationsAddress(address _address) external onlyOwner {
        require(_address != address(0), "zero address");
        operationsAddress = _address;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromLimits","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmt","type":"uint256"}],"name":"UpdatedBuyTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"UpdatedMaxTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"UpdatedMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmt","type":"uint256"}],"name":"UpdatedSellTax","type":"event"},{"inputs":[],"name":"FEE_DIVISOR","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":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isAMMPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setExemptFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setExemptFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumInTokens","type":"uint256"}],"name":"updateMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumInTokens","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updateOperationsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160105f6101000a81548160ff0219169083151502179055506001601060016101000a81548160ff02191690831515021790555034801562000045575f80fd5b50604051620055783803806200557883398181016040528101906200006b919062000f42565b818181600390816200007e9190620011fc565b508060049081620000909190620011fc565b5050505f620000a4620008a360201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f73c5085ad4579b8eeb31459faeeb42b542ec6588ff905062000177816b033b2e3c9fd0803ce8000000620008aa60201b60201c565b5f6200018862000a0f60201b60201c565b90505f60014603620001b157737a250d5630b4cf539739df2c5dacb4c659f2488d905062000215565b60054603620001d757737a250d5630b4cf539739df2c5dacb4c659f2488d905062000214565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200020b906200133e565b60405180910390fd5b5b8060135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e8600f836200026791906200138b565b62000273919062001402565b600a819055506103e8600f836200028b91906200138b565b62000297919062001402565b600b81905550620186a0601983620002b091906200138b565b620002bc919062001402565b60118190555073598c394f73afa41f04267a662bb6f9e8b440b139600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611324600d81905550611b58600e8190555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000393573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003b991906200149a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000440573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200046691906200149a565b6040518363ffffffff1660e01b815260040162000485929190620014db565b6020604051808303815f875af1158015620004a2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004c891906200149a565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160095f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620008873060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000a1860201b60201c565b620008988362000be360201b60201c565b505050505062001804565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200091b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009129062001554565b60405180910390fd5b6200092e5f838362000db360201b60201c565b8060025f82825462000941919062001574565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009f09190620015bf565b60405180910390a362000a0b5f838362000db860201b60201c565b5050565b5f600254905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000a89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a80906200164e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000af190620016e2565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000bd69190620015bf565b60405180910390a3505050565b62000bf3620008a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000c84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c7b9062001750565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000cf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cec90620017e4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000e1e8262000dd6565b810181811067ffffffffffffffff8211171562000e405762000e3f62000de6565b5b80604052505050565b5f62000e5462000dbd565b905062000e62828262000e13565b919050565b5f67ffffffffffffffff82111562000e845762000e8362000de6565b5b62000e8f8262000dd6565b9050602081019050919050565b5f5b8381101562000ebb57808201518184015260208101905062000e9e565b5f8484015250505050565b5f62000edc62000ed68462000e67565b62000e49565b90508281526020810184848401111562000efb5762000efa62000dd2565b5b62000f0884828562000e9c565b509392505050565b5f82601f83011262000f275762000f2662000dce565b5b815162000f3984826020860162000ec6565b91505092915050565b5f806040838503121562000f5b5762000f5a62000dc6565b5b5f83015167ffffffffffffffff81111562000f7b5762000f7a62000dca565b5b62000f898582860162000f10565b925050602083015167ffffffffffffffff81111562000fad5762000fac62000dca565b5b62000fbb8582860162000f10565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200101457607f821691505b6020821081036200102a576200102962000fcf565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200108e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001051565b6200109a868362001051565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620010e4620010de620010d884620010b2565b620010bb565b620010b2565b9050919050565b5f819050919050565b620010ff83620010c4565b620011176200110e82620010eb565b8484546200105d565b825550505050565b5f90565b6200112d6200111f565b6200113a818484620010f4565b505050565b5b818110156200116157620011555f8262001123565b60018101905062001140565b5050565b601f821115620011b0576200117a8162001030565b620011858462001042565b8101602085101562001195578190505b620011ad620011a48562001042565b8301826200113f565b50505b505050565b5f82821c905092915050565b5f620011d25f1984600802620011b5565b1980831691505092915050565b5f620011ec8383620011c1565b9150826002028217905092915050565b620012078262000fc5565b67ffffffffffffffff81111562001223576200122262000de6565b5b6200122f825462000ffc565b6200123c82828562001165565b5f60209050601f83116001811462001272575f84156200125d578287015190505b620012698582620011df565b865550620012d8565b601f198416620012828662001030565b5f5b82811015620012ab5784890151825560018201915060208501945060208101905062001284565b86831015620012cb5784890151620012c7601f891682620011c1565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f436861696e206e6f7420636f6e666967757265640000000000000000000000005f82015250565b5f62001326601483620012e0565b91506200133382620012f0565b602082019050919050565b5f6020820190508181035f830152620013578162001318565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200139782620010b2565b9150620013a483620010b2565b9250828202620013b481620010b2565b91508282048414831517620013ce57620013cd6200135e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200140e82620010b2565b91506200141b83620010b2565b9250826200142e576200142d620013d5565b5b828204905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620014648262001439565b9050919050565b620014768162001458565b811462001481575f80fd5b50565b5f8151905062001494816200146b565b92915050565b5f60208284031215620014b257620014b162000dc6565b5b5f620014c18482850162001484565b91505092915050565b620014d58162001458565b82525050565b5f604082019050620014f05f830185620014ca565b620014ff6020830184620014ca565b9392505050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6200153c601f83620012e0565b9150620015498262001506565b602082019050919050565b5f6020820190508181035f8301526200156d816200152e565b9050919050565b5f6200158082620010b2565b91506200158d83620010b2565b9250828201905080821115620015a857620015a76200135e565b5b92915050565b620015b981620010b2565b82525050565b5f602082019050620015d45f830184620015ae565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62001636602483620012e0565b91506200164382620015da565b604082019050919050565b5f6020820190508181035f830152620016678162001628565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f620016ca602283620012e0565b9150620016d7826200166e565b604082019050919050565b5f6020820190508181035f830152620016fb81620016bc565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62001738602083620012e0565b9150620017458262001702565b602082019050919050565b5f6020820190508181035f83015262001769816200172a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f620017cc602683620012e0565b9150620017d98262001770565b604082019050919050565b5f6020820190508181035f830152620017fd81620017be565b9050919050565b613d6680620018125f395ff3fe608060405260043610610228575f3560e01c80638d3e6e4011610122578063c3f70b52116100aa578063e884f2601161006e578063e884f2601461080b578063ea4cfe1214610821578063ea6debd01461084b578063f2fde38b14610873578063f8b45b051461089b5761022f565b8063c3f70b5214610727578063c78d0fa014610751578063c876d0b91461077b578063cc1776d3146107a5578063dd62ed3e146107cf5761022f565b8063a13d1a2b116100f1578063a13d1a2b14610621578063a457c2d714610649578063a9059cbb14610685578063b0249cc6146106c1578063bbc0c742146106fd5761022f565b80638d3e6e40146105675780638da5cb5b146105a357806395d89b41146105cd5780639e93ad8e146105f75761022f565b806339509351116101b057806370a082311161017457806370a08231146104c1578063715018a6146104fd578063751039fc1461051357806377b27d1f146105295780638a8c523c146105515761022f565b806339509351146103cb578063452ed4f1146104075780634a62bb65146104315780634f7041a51461045b5780635a90a49e146104855761022f565b80631006ee0c116101f75780631006ee0c146102eb57806318160ddd146103135780631c499ab01461033d57806323b872dd14610365578063313ce567146103a15761022f565b80630517d13d1461023357806306fdde031461025b5780630758d92414610285578063095ea7b3146102af5761022f565b3661022f57005b5f80fd5b34801561023e575f80fd5b5061025960048036038101906102549190612b8f565b6108c5565b005b348015610266575f80fd5b5061026f610a3d565b60405161027c9190612c44565b60405180910390f35b348015610290575f80fd5b50610299610acd565b6040516102a69190612cde565b60405180910390f35b3480156102ba575f80fd5b506102d560048036038101906102d09190612d32565b610af2565b6040516102e29190612d8a565b60405180910390f35b3480156102f6575f80fd5b50610311600480360381019061030c9190612da3565b610b14565b005b34801561031e575f80fd5b50610327610c2e565b6040516103349190612df0565b60405180910390f35b348015610348575f80fd5b50610363600480360381019061035e9190612b8f565b610c37565b005b348015610370575f80fd5b5061038b60048036038101906103869190612e09565b610dae565b6040516103989190612d8a565b60405180910390f35b3480156103ac575f80fd5b506103b5610ddc565b6040516103c29190612e74565b60405180910390f35b3480156103d6575f80fd5b506103f160048036038101906103ec9190612d32565b610de4565b6040516103fe9190612d8a565b60405180910390f35b348015610412575f80fd5b5061041b610e1a565b6040516104289190612e9c565b60405180910390f35b34801561043c575f80fd5b50610445610e3f565b6040516104529190612d8a565b60405180910390f35b348015610466575f80fd5b5061046f610e52565b60405161047c9190612df0565b60405180910390f35b348015610490575f80fd5b506104ab60048036038101906104a69190612eb5565b610e58565b6040516104b89190612d8a565b60405180910390f35b3480156104cc575f80fd5b506104e760048036038101906104e29190612eb5565b610e75565b6040516104f49190612df0565b60405180910390f35b348015610508575f80fd5b50610511610eba565b005b34801561051e575f80fd5b5061052761100d565b005b348015610534575f80fd5b5061054f600480360381019061054a9190612f0a565b611120565b005b34801561055c575f80fd5b506105656112b5565b005b348015610572575f80fd5b5061058d60048036038101906105889190612eb5565b6113b6565b60405161059a9190612d8a565b60405180910390f35b3480156105ae575f80fd5b506105b76113d3565b6040516105c49190612e9c565b60405180910390f35b3480156105d8575f80fd5b506105e16113fb565b6040516105ee9190612c44565b60405180910390f35b348015610602575f80fd5b5061060b61148b565b6040516106189190612df0565b60405180910390f35b34801561062c575f80fd5b5061064760048036038101906106429190612f0a565b611491565b005b348015610654575f80fd5b5061066f600480360381019061066a9190612d32565b6116bb565b60405161067c9190612d8a565b60405180910390f35b348015610690575f80fd5b506106ab60048036038101906106a69190612d32565b611730565b6040516106b89190612d8a565b60405180910390f35b3480156106cc575f80fd5b506106e760048036038101906106e29190612eb5565b611752565b6040516106f49190612d8a565b60405180910390f35b348015610708575f80fd5b5061071161176f565b60405161071e9190612d8a565b60405180910390f35b348015610732575f80fd5b5061073b611781565b6040516107489190612df0565b60405180910390f35b34801561075c575f80fd5b50610765611787565b6040516107729190612df0565b60405180910390f35b348015610786575f80fd5b5061078f61178d565b60405161079c9190612d8a565b60405180910390f35b3480156107b0575f80fd5b506107b961179f565b6040516107c69190612df0565b60405180910390f35b3480156107da575f80fd5b506107f560048036038101906107f09190612f48565b6117a5565b6040516108029190612df0565b60405180910390f35b348015610816575f80fd5b5061081f611827565b005b34801561082c575f80fd5b506108356118d8565b6040516108429190612e9c565b60405180910390f35b348015610856575f80fd5b50610871600480360381019061086c9190612eb5565b6118fd565b005b34801561087e575f80fd5b5061089960048036038101906108949190612eb5565b611a44565b005b3480156108a6575f80fd5b506108af611c06565b6040516108bc9190612df0565b60405180910390f35b6108cd611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290612fd0565b60405180910390fd5b610963610ddc565b600a61096f919061314a565b6103e8600561097c610c2e565b6109869190613194565b6109909190613202565b61099a9190613202565b8110156109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d39061327c565b60405180910390fd5b6109e4610ddc565b600a6109f0919061314a565b816109fb9190613194565b600a819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600a54604051610a329190612df0565b60405180910390a150565b606060038054610a4c906132c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a78906132c7565b8015610ac35780601f10610a9a57610100808354040283529160200191610ac3565b820191905f5260205f20905b815481529060010190602001808311610aa657829003601f168201915b5050505050905090565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610afc611c0c565b9050610b09818585611c13565b600191505092915050565b610b1c611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba190612fd0565b60405180910390fd5b81600d819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600d54604051610be29190612df0565b60405180910390a180600e819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600e54604051610c229190612df0565b60405180910390a15050565b5f600254905090565b610c3f611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ccd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc490612fd0565b60405180910390fd5b610cd5610ddc565b600a610ce1919061314a565b60646001610ced610c2e565b610cf79190613194565b610d019190613202565b610d0b9190613202565b811015610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d449061327c565b60405180910390fd5b610d55610ddc565b600a610d61919061314a565b81610d6c9190613194565b600b819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600b54604051610da39190612df0565b60405180910390a150565b5f80610db8611c0c565b9050610dc5858285611dd6565b610dd0858585611e61565b60019150509392505050565b5f6012905090565b5f80610dee611c0c565b9050610e0f818585610e0085896117a5565b610e0a91906132f7565b611c13565b600191505092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060019054906101000a900460ff1681565b600d5481565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ec2611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4790612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611015611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a90612fd0565b60405180910390fd5b5f601060016101000a81548160ff0219169083151502179055505f60105f6101000a81548160ff0219169083151502179055506110de610c2e565b600a819055506110ec610c2e565b600b819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b611128611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad90612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121b90613374565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d82826040516112a9929190613392565b60405180910390a15050565b6112bd611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134290612fd0565b60405180910390fd5b60085f9054906101000a900460ff161561139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190613403565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461140a906132c7565b80601f0160208091040260200160405190810160405280929190818152602001828054611436906132c7565b80156114815780601f1061145857610100808354040283529160200191611481565b820191905f5260205f20905b81548152906001019060200180831161146457829003601f168201915b5050505050905090565b61271081565b611499611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e90612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158c90613374565b60405180910390fd5b8061162a5760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611629576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116209061346b565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce82826040516116af929190613392565b60405180910390a15050565b5f806116c5611c0c565b90505f6116d282866117a5565b905083811015611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e906134f9565b60405180910390fd5b6117248286868403611c13565b60019250505092915050565b5f8061173a611c0c565b9050611747818585611e61565b600191505092915050565b6009602052805f5260405f205f915054906101000a900460ff1681565b60085f9054906101000a900460ff1681565b600a5481565b60115481565b60105f9054906101000a900460ff1681565b600e5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61182f611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b490612fd0565b60405180910390fd5b5f60105f6101000a81548160ff021916908315150217905550565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611905611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a90612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f890613561565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a4c611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad190612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3f906135ef565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c789061367d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce69061370b565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611dc99190612df0565b60405180910390a3505050565b5f611de184846117a5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e5b5781811015611e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4490613773565b60405180910390fd5b611e5a8484848403611c13565b5b50505050565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611efc575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611f135750601060029054906101000a900460ff165b15611f2857611f23838383611fc0565b611fbb565b60085f9054906101000a900460ff16611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d906137db565b60405180910390fd5b601060019054906101000a900460ff1615611f9757611f9683838361222c565b5b611fa283838361268a565b81611fad91906137f9565b9050611fba838383611fc0565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361202e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120259061389c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361209c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120939061392a565b60405180910390fd5b6120a7838383612861565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561212a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612121906139b8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122139190612df0565b60405180910390a3612226848484612866565b50505050565b60105f9054906101000a900460ff16156123ac5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156122e4575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156123ab5743600f5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612368576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235f90613a20565b60405180910390fd5b43600f5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612449575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156124f057600a54811115612493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248a90613a88565b60405180910390fd5b600b5461249f83610e75565b826124aa91906132f7565b11156124eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e290613af0565b60405180910390fd5b612685565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561258d575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125dc57600a548111156125d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ce90613a88565b60405180910390fd5b612684565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661268357600b5461263683610e75565b8261264191906132f7565b1115612682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267990613af0565b60405180910390fd5b5b5b5b505050565b5f60115461269730610e75565b101580156126b25750601060029054906101000a900460ff16155b8015612705575060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612748576001601060026101000a81548160ff02191690831515021790555061272d61286b565b5f601060026101000a81548160ff0219169083151502179055505b5f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156127a057505f600e54115b156127c757612710600e54846127b69190613194565b6127c09190613202565b9050612842565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561281e57505f600d54115b1561284157612710600d54846128349190613194565b61283e9190613202565b90505b5b5f81111561285657612855853083611fc0565b5b809150509392505050565b505050565b505050565b5f61287530610e75565b90505f8103612884575061294c565b60286011546128939190613194565b8111156128ac5760286011546128a99190613194565b90505b6128b58161294e565b5f47111561294a575f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161290390613b3b565b5f6040518083038185875af1925050503d805f811461293d576040519150601f19603f3d011682016040523d82523d5f602084013e612942565b606091505b505080915050505b505b565b5f600267ffffffffffffffff81111561296a57612969613b4f565b5b6040519080825280602002602001820160405280156129985781602001602082028036833780820191505090505b50905030815f815181106129af576129ae613b7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a779190613bbd565b81600181518110612a8b57612a8a613b7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612b27959493929190613cd8565b5f604051808303815f87803b158015612b3e575f80fd5b505af1158015612b50573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b612b6e81612b5c565b8114612b78575f80fd5b50565b5f81359050612b8981612b65565b92915050565b5f60208284031215612ba457612ba3612b58565b5b5f612bb184828501612b7b565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612bf1578082015181840152602081019050612bd6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612c1682612bba565b612c208185612bc4565b9350612c30818560208601612bd4565b612c3981612bfc565b840191505092915050565b5f6020820190508181035f830152612c5c8184612c0c565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f612ca6612ca1612c9c84612c64565b612c83565b612c64565b9050919050565b5f612cb782612c8c565b9050919050565b5f612cc882612cad565b9050919050565b612cd881612cbe565b82525050565b5f602082019050612cf15f830184612ccf565b92915050565b5f612d0182612c64565b9050919050565b612d1181612cf7565b8114612d1b575f80fd5b50565b5f81359050612d2c81612d08565b92915050565b5f8060408385031215612d4857612d47612b58565b5b5f612d5585828601612d1e565b9250506020612d6685828601612b7b565b9150509250929050565b5f8115159050919050565b612d8481612d70565b82525050565b5f602082019050612d9d5f830184612d7b565b92915050565b5f8060408385031215612db957612db8612b58565b5b5f612dc685828601612b7b565b9250506020612dd785828601612b7b565b9150509250929050565b612dea81612b5c565b82525050565b5f602082019050612e035f830184612de1565b92915050565b5f805f60608486031215612e2057612e1f612b58565b5b5f612e2d86828701612d1e565b9350506020612e3e86828701612d1e565b9250506040612e4f86828701612b7b565b9150509250925092565b5f60ff82169050919050565b612e6e81612e59565b82525050565b5f602082019050612e875f830184612e65565b92915050565b612e9681612cf7565b82525050565b5f602082019050612eaf5f830184612e8d565b92915050565b5f60208284031215612eca57612ec9612b58565b5b5f612ed784828501612d1e565b91505092915050565b612ee981612d70565b8114612ef3575f80fd5b50565b5f81359050612f0481612ee0565b92915050565b5f8060408385031215612f2057612f1f612b58565b5b5f612f2d85828601612d1e565b9250506020612f3e85828601612ef6565b9150509250929050565b5f8060408385031215612f5e57612f5d612b58565b5b5f612f6b85828601612d1e565b9250506020612f7c85828601612d1e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612fba602083612bc4565b9150612fc582612f86565b602082019050919050565b5f6020820190508181035f830152612fe781612fae565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156130705780860481111561304c5761304b612fee565b5b600185161561305b5780820291505b80810290506130698561301b565b9450613030565b94509492505050565b5f826130885760019050613143565b81613095575f9050613143565b81600181146130ab57600281146130b5576130e4565b6001915050613143565b60ff8411156130c7576130c6612fee565b5b8360020a9150848211156130de576130dd612fee565b5b50613143565b5060208310610133831016604e8410600b84101617156131195782820a90508381111561311457613113612fee565b5b613143565b6131268484846001613027565b9250905081840481111561313d5761313c612fee565b5b81810290505b9392505050565b5f61315482612b5c565b915061315f83612e59565b925061318c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613079565b905092915050565b5f61319e82612b5c565b91506131a983612b5c565b92508282026131b781612b5c565b915082820484148315176131ce576131cd612fee565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61320c82612b5c565b915061321783612b5c565b925082613227576132266131d5565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f613266600783612bc4565b915061327182613232565b602082019050919050565b5f6020820190508181035f8301526132938161325a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806132de57607f821691505b6020821081036132f1576132f061329a565b5b50919050565b5f61330182612b5c565b915061330c83612b5c565b925082820190508082111561332457613323612fee565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f61335e600c83612bc4565b91506133698261332a565b602082019050919050565b5f6020820190508181035f83015261338b81613352565b9050919050565b5f6040820190506133a55f830185612e8d565b6133b26020830184612d7b565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f6133ed600e83612bc4565b91506133f8826133b9565b602082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f613455600483612bc4565b915061346082613421565b602082019050919050565b5f6020820190508181035f83015261348281613449565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6134e3602583612bc4565b91506134ee82613489565b604082019050919050565b5f6020820190508181035f830152613510816134d7565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f61354b600c83612bc4565b915061355682613517565b602082019050919050565b5f6020820190508181035f8301526135788161353f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6135d9602683612bc4565b91506135e48261357f565b604082019050919050565b5f6020820190508181035f830152613606816135cd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613667602483612bc4565b91506136728261360d565b604082019050919050565b5f6020820190508181035f8301526136948161365b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6136f5602283612bc4565b91506137008261369b565b604082019050919050565b5f6020820190508181035f830152613722816136e9565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f61375d601d83612bc4565b915061376882613729565b602082019050919050565b5f6020820190508181035f83015261378a81613751565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f6137c5601283612bc4565b91506137d082613791565b602082019050919050565b5f6020820190508181035f8301526137f2816137b9565b9050919050565b5f61380382612b5c565b915061380e83612b5c565b925082820390508181111561382657613825612fee565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613886602583612bc4565b91506138918261382c565b604082019050919050565b5f6020820190508181035f8301526138b38161387a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613914602383612bc4565b915061391f826138ba565b604082019050919050565b5f6020820190508181035f83015261394181613908565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6139a2602683612bc4565b91506139ad82613948565b604082019050919050565b5f6020820190508181035f8301526139cf81613996565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613a0a601783612bc4565b9150613a15826139d6565b602082019050919050565b5f6020820190508181035f830152613a37816139fe565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f613a72601083612bc4565b9150613a7d82613a3e565b602082019050919050565b5f6020820190508181035f830152613a9f81613a66565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613ada601383612bc4565b9150613ae582613aa6565b602082019050919050565b5f6020820190508181035f830152613b0781613ace565b9050919050565b5f81905092915050565b50565b5f613b265f83613b0e565b9150613b3182613b18565b5f82019050919050565b5f613b4582613b1b565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613bb781612d08565b92915050565b5f60208284031215613bd257613bd1612b58565b5b5f613bdf84828501613ba9565b91505092915050565b5f819050919050565b5f613c0b613c06613c0184613be8565b612c83565b612b5c565b9050919050565b613c1b81613bf1565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c5381612cf7565b82525050565b5f613c648383613c4a565b60208301905092915050565b5f602082019050919050565b5f613c8682613c21565b613c908185613c2b565b9350613c9b83613c3b565b805f5b83811015613ccb578151613cb28882613c59565b9750613cbd83613c70565b925050600181019050613c9e565b5085935050505092915050565b5f60a082019050613ceb5f830188612de1565b613cf86020830187613c12565b8181036040830152613d0a8186613c7c565b9050613d196060830185612e8d565b613d266080830184612de1565b969550505050505056fea2646970667358221220e7f3c019a9f255a6514be19d68ec2edcb03c1f00ce25a82652df01315057150464736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000744726163756c610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044452414300000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610228575f3560e01c80638d3e6e4011610122578063c3f70b52116100aa578063e884f2601161006e578063e884f2601461080b578063ea4cfe1214610821578063ea6debd01461084b578063f2fde38b14610873578063f8b45b051461089b5761022f565b8063c3f70b5214610727578063c78d0fa014610751578063c876d0b91461077b578063cc1776d3146107a5578063dd62ed3e146107cf5761022f565b8063a13d1a2b116100f1578063a13d1a2b14610621578063a457c2d714610649578063a9059cbb14610685578063b0249cc6146106c1578063bbc0c742146106fd5761022f565b80638d3e6e40146105675780638da5cb5b146105a357806395d89b41146105cd5780639e93ad8e146105f75761022f565b806339509351116101b057806370a082311161017457806370a08231146104c1578063715018a6146104fd578063751039fc1461051357806377b27d1f146105295780638a8c523c146105515761022f565b806339509351146103cb578063452ed4f1146104075780634a62bb65146104315780634f7041a51461045b5780635a90a49e146104855761022f565b80631006ee0c116101f75780631006ee0c146102eb57806318160ddd146103135780631c499ab01461033d57806323b872dd14610365578063313ce567146103a15761022f565b80630517d13d1461023357806306fdde031461025b5780630758d92414610285578063095ea7b3146102af5761022f565b3661022f57005b5f80fd5b34801561023e575f80fd5b5061025960048036038101906102549190612b8f565b6108c5565b005b348015610266575f80fd5b5061026f610a3d565b60405161027c9190612c44565b60405180910390f35b348015610290575f80fd5b50610299610acd565b6040516102a69190612cde565b60405180910390f35b3480156102ba575f80fd5b506102d560048036038101906102d09190612d32565b610af2565b6040516102e29190612d8a565b60405180910390f35b3480156102f6575f80fd5b50610311600480360381019061030c9190612da3565b610b14565b005b34801561031e575f80fd5b50610327610c2e565b6040516103349190612df0565b60405180910390f35b348015610348575f80fd5b50610363600480360381019061035e9190612b8f565b610c37565b005b348015610370575f80fd5b5061038b60048036038101906103869190612e09565b610dae565b6040516103989190612d8a565b60405180910390f35b3480156103ac575f80fd5b506103b5610ddc565b6040516103c29190612e74565b60405180910390f35b3480156103d6575f80fd5b506103f160048036038101906103ec9190612d32565b610de4565b6040516103fe9190612d8a565b60405180910390f35b348015610412575f80fd5b5061041b610e1a565b6040516104289190612e9c565b60405180910390f35b34801561043c575f80fd5b50610445610e3f565b6040516104529190612d8a565b60405180910390f35b348015610466575f80fd5b5061046f610e52565b60405161047c9190612df0565b60405180910390f35b348015610490575f80fd5b506104ab60048036038101906104a69190612eb5565b610e58565b6040516104b89190612d8a565b60405180910390f35b3480156104cc575f80fd5b506104e760048036038101906104e29190612eb5565b610e75565b6040516104f49190612df0565b60405180910390f35b348015610508575f80fd5b50610511610eba565b005b34801561051e575f80fd5b5061052761100d565b005b348015610534575f80fd5b5061054f600480360381019061054a9190612f0a565b611120565b005b34801561055c575f80fd5b506105656112b5565b005b348015610572575f80fd5b5061058d60048036038101906105889190612eb5565b6113b6565b60405161059a9190612d8a565b60405180910390f35b3480156105ae575f80fd5b506105b76113d3565b6040516105c49190612e9c565b60405180910390f35b3480156105d8575f80fd5b506105e16113fb565b6040516105ee9190612c44565b60405180910390f35b348015610602575f80fd5b5061060b61148b565b6040516106189190612df0565b60405180910390f35b34801561062c575f80fd5b5061064760048036038101906106429190612f0a565b611491565b005b348015610654575f80fd5b5061066f600480360381019061066a9190612d32565b6116bb565b60405161067c9190612d8a565b60405180910390f35b348015610690575f80fd5b506106ab60048036038101906106a69190612d32565b611730565b6040516106b89190612d8a565b60405180910390f35b3480156106cc575f80fd5b506106e760048036038101906106e29190612eb5565b611752565b6040516106f49190612d8a565b60405180910390f35b348015610708575f80fd5b5061071161176f565b60405161071e9190612d8a565b60405180910390f35b348015610732575f80fd5b5061073b611781565b6040516107489190612df0565b60405180910390f35b34801561075c575f80fd5b50610765611787565b6040516107729190612df0565b60405180910390f35b348015610786575f80fd5b5061078f61178d565b60405161079c9190612d8a565b60405180910390f35b3480156107b0575f80fd5b506107b961179f565b6040516107c69190612df0565b60405180910390f35b3480156107da575f80fd5b506107f560048036038101906107f09190612f48565b6117a5565b6040516108029190612df0565b60405180910390f35b348015610816575f80fd5b5061081f611827565b005b34801561082c575f80fd5b506108356118d8565b6040516108429190612e9c565b60405180910390f35b348015610856575f80fd5b50610871600480360381019061086c9190612eb5565b6118fd565b005b34801561087e575f80fd5b5061089960048036038101906108949190612eb5565b611a44565b005b3480156108a6575f80fd5b506108af611c06565b6040516108bc9190612df0565b60405180910390f35b6108cd611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290612fd0565b60405180910390fd5b610963610ddc565b600a61096f919061314a565b6103e8600561097c610c2e565b6109869190613194565b6109909190613202565b61099a9190613202565b8110156109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d39061327c565b60405180910390fd5b6109e4610ddc565b600a6109f0919061314a565b816109fb9190613194565b600a819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600a54604051610a329190612df0565b60405180910390a150565b606060038054610a4c906132c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a78906132c7565b8015610ac35780601f10610a9a57610100808354040283529160200191610ac3565b820191905f5260205f20905b815481529060010190602001808311610aa657829003601f168201915b5050505050905090565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610afc611c0c565b9050610b09818585611c13565b600191505092915050565b610b1c611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba190612fd0565b60405180910390fd5b81600d819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600d54604051610be29190612df0565b60405180910390a180600e819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600e54604051610c229190612df0565b60405180910390a15050565b5f600254905090565b610c3f611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ccd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc490612fd0565b60405180910390fd5b610cd5610ddc565b600a610ce1919061314a565b60646001610ced610c2e565b610cf79190613194565b610d019190613202565b610d0b9190613202565b811015610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d449061327c565b60405180910390fd5b610d55610ddc565b600a610d61919061314a565b81610d6c9190613194565b600b819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600b54604051610da39190612df0565b60405180910390a150565b5f80610db8611c0c565b9050610dc5858285611dd6565b610dd0858585611e61565b60019150509392505050565b5f6012905090565b5f80610dee611c0c565b9050610e0f818585610e0085896117a5565b610e0a91906132f7565b611c13565b600191505092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060019054906101000a900460ff1681565b600d5481565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ec2611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4790612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611015611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a90612fd0565b60405180910390fd5b5f601060016101000a81548160ff0219169083151502179055505f60105f6101000a81548160ff0219169083151502179055506110de610c2e565b600a819055506110ec610c2e565b600b819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b611128611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad90612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121b90613374565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d82826040516112a9929190613392565b60405180910390a15050565b6112bd611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134290612fd0565b60405180910390fd5b60085f9054906101000a900460ff161561139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190613403565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461140a906132c7565b80601f0160208091040260200160405190810160405280929190818152602001828054611436906132c7565b80156114815780601f1061145857610100808354040283529160200191611481565b820191905f5260205f20905b81548152906001019060200180831161146457829003601f168201915b5050505050905090565b61271081565b611499611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e90612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158c90613374565b60405180910390fd5b8061162a5760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611629576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116209061346b565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce82826040516116af929190613392565b60405180910390a15050565b5f806116c5611c0c565b90505f6116d282866117a5565b905083811015611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e906134f9565b60405180910390fd5b6117248286868403611c13565b60019250505092915050565b5f8061173a611c0c565b9050611747818585611e61565b600191505092915050565b6009602052805f5260405f205f915054906101000a900460ff1681565b60085f9054906101000a900460ff1681565b600a5481565b60115481565b60105f9054906101000a900460ff1681565b600e5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61182f611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b490612fd0565b60405180910390fd5b5f60105f6101000a81548160ff021916908315150217905550565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611905611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a90612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f890613561565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a4c611c0c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad190612fd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3f906135ef565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c789061367d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce69061370b565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611dc99190612df0565b60405180910390a3505050565b5f611de184846117a5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e5b5781811015611e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4490613773565b60405180910390fd5b611e5a8484848403611c13565b5b50505050565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611efc575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611f135750601060029054906101000a900460ff165b15611f2857611f23838383611fc0565b611fbb565b60085f9054906101000a900460ff16611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d906137db565b60405180910390fd5b601060019054906101000a900460ff1615611f9757611f9683838361222c565b5b611fa283838361268a565b81611fad91906137f9565b9050611fba838383611fc0565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361202e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120259061389c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361209c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120939061392a565b60405180910390fd5b6120a7838383612861565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561212a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612121906139b8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122139190612df0565b60405180910390a3612226848484612866565b50505050565b60105f9054906101000a900460ff16156123ac5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156122e4575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156123ab5743600f5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612368576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235f90613a20565b60405180910390fd5b43600f5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612449575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156124f057600a54811115612493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248a90613a88565b60405180910390fd5b600b5461249f83610e75565b826124aa91906132f7565b11156124eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e290613af0565b60405180910390fd5b612685565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561258d575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125dc57600a548111156125d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ce90613a88565b60405180910390fd5b612684565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661268357600b5461263683610e75565b8261264191906132f7565b1115612682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267990613af0565b60405180910390fd5b5b5b5b505050565b5f60115461269730610e75565b101580156126b25750601060029054906101000a900460ff16155b8015612705575060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612748576001601060026101000a81548160ff02191690831515021790555061272d61286b565b5f601060026101000a81548160ff0219169083151502179055505b5f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156127a057505f600e54115b156127c757612710600e54846127b69190613194565b6127c09190613202565b9050612842565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561281e57505f600d54115b1561284157612710600d54846128349190613194565b61283e9190613202565b90505b5b5f81111561285657612855853083611fc0565b5b809150509392505050565b505050565b505050565b5f61287530610e75565b90505f8103612884575061294c565b60286011546128939190613194565b8111156128ac5760286011546128a99190613194565b90505b6128b58161294e565b5f47111561294a575f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161290390613b3b565b5f6040518083038185875af1925050503d805f811461293d576040519150601f19603f3d011682016040523d82523d5f602084013e612942565b606091505b505080915050505b505b565b5f600267ffffffffffffffff81111561296a57612969613b4f565b5b6040519080825280602002602001820160405280156129985781602001602082028036833780820191505090505b50905030815f815181106129af576129ae613b7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a779190613bbd565b81600181518110612a8b57612a8a613b7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612b27959493929190613cd8565b5f604051808303815f87803b158015612b3e575f80fd5b505af1158015612b50573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b612b6e81612b5c565b8114612b78575f80fd5b50565b5f81359050612b8981612b65565b92915050565b5f60208284031215612ba457612ba3612b58565b5b5f612bb184828501612b7b565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612bf1578082015181840152602081019050612bd6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612c1682612bba565b612c208185612bc4565b9350612c30818560208601612bd4565b612c3981612bfc565b840191505092915050565b5f6020820190508181035f830152612c5c8184612c0c565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f612ca6612ca1612c9c84612c64565b612c83565b612c64565b9050919050565b5f612cb782612c8c565b9050919050565b5f612cc882612cad565b9050919050565b612cd881612cbe565b82525050565b5f602082019050612cf15f830184612ccf565b92915050565b5f612d0182612c64565b9050919050565b612d1181612cf7565b8114612d1b575f80fd5b50565b5f81359050612d2c81612d08565b92915050565b5f8060408385031215612d4857612d47612b58565b5b5f612d5585828601612d1e565b9250506020612d6685828601612b7b565b9150509250929050565b5f8115159050919050565b612d8481612d70565b82525050565b5f602082019050612d9d5f830184612d7b565b92915050565b5f8060408385031215612db957612db8612b58565b5b5f612dc685828601612b7b565b9250506020612dd785828601612b7b565b9150509250929050565b612dea81612b5c565b82525050565b5f602082019050612e035f830184612de1565b92915050565b5f805f60608486031215612e2057612e1f612b58565b5b5f612e2d86828701612d1e565b9350506020612e3e86828701612d1e565b9250506040612e4f86828701612b7b565b9150509250925092565b5f60ff82169050919050565b612e6e81612e59565b82525050565b5f602082019050612e875f830184612e65565b92915050565b612e9681612cf7565b82525050565b5f602082019050612eaf5f830184612e8d565b92915050565b5f60208284031215612eca57612ec9612b58565b5b5f612ed784828501612d1e565b91505092915050565b612ee981612d70565b8114612ef3575f80fd5b50565b5f81359050612f0481612ee0565b92915050565b5f8060408385031215612f2057612f1f612b58565b5b5f612f2d85828601612d1e565b9250506020612f3e85828601612ef6565b9150509250929050565b5f8060408385031215612f5e57612f5d612b58565b5b5f612f6b85828601612d1e565b9250506020612f7c85828601612d1e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612fba602083612bc4565b9150612fc582612f86565b602082019050919050565b5f6020820190508181035f830152612fe781612fae565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156130705780860481111561304c5761304b612fee565b5b600185161561305b5780820291505b80810290506130698561301b565b9450613030565b94509492505050565b5f826130885760019050613143565b81613095575f9050613143565b81600181146130ab57600281146130b5576130e4565b6001915050613143565b60ff8411156130c7576130c6612fee565b5b8360020a9150848211156130de576130dd612fee565b5b50613143565b5060208310610133831016604e8410600b84101617156131195782820a90508381111561311457613113612fee565b5b613143565b6131268484846001613027565b9250905081840481111561313d5761313c612fee565b5b81810290505b9392505050565b5f61315482612b5c565b915061315f83612e59565b925061318c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613079565b905092915050565b5f61319e82612b5c565b91506131a983612b5c565b92508282026131b781612b5c565b915082820484148315176131ce576131cd612fee565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61320c82612b5c565b915061321783612b5c565b925082613227576132266131d5565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f613266600783612bc4565b915061327182613232565b602082019050919050565b5f6020820190508181035f8301526132938161325a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806132de57607f821691505b6020821081036132f1576132f061329a565b5b50919050565b5f61330182612b5c565b915061330c83612b5c565b925082820190508082111561332457613323612fee565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f61335e600c83612bc4565b91506133698261332a565b602082019050919050565b5f6020820190508181035f83015261338b81613352565b9050919050565b5f6040820190506133a55f830185612e8d565b6133b26020830184612d7b565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f6133ed600e83612bc4565b91506133f8826133b9565b602082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f613455600483612bc4565b915061346082613421565b602082019050919050565b5f6020820190508181035f83015261348281613449565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6134e3602583612bc4565b91506134ee82613489565b604082019050919050565b5f6020820190508181035f830152613510816134d7565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f61354b600c83612bc4565b915061355682613517565b602082019050919050565b5f6020820190508181035f8301526135788161353f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6135d9602683612bc4565b91506135e48261357f565b604082019050919050565b5f6020820190508181035f830152613606816135cd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613667602483612bc4565b91506136728261360d565b604082019050919050565b5f6020820190508181035f8301526136948161365b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6136f5602283612bc4565b91506137008261369b565b604082019050919050565b5f6020820190508181035f830152613722816136e9565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f61375d601d83612bc4565b915061376882613729565b602082019050919050565b5f6020820190508181035f83015261378a81613751565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f6137c5601283612bc4565b91506137d082613791565b602082019050919050565b5f6020820190508181035f8301526137f2816137b9565b9050919050565b5f61380382612b5c565b915061380e83612b5c565b925082820390508181111561382657613825612fee565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613886602583612bc4565b91506138918261382c565b604082019050919050565b5f6020820190508181035f8301526138b38161387a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613914602383612bc4565b915061391f826138ba565b604082019050919050565b5f6020820190508181035f83015261394181613908565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6139a2602683612bc4565b91506139ad82613948565b604082019050919050565b5f6020820190508181035f8301526139cf81613996565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613a0a601783612bc4565b9150613a15826139d6565b602082019050919050565b5f6020820190508181035f830152613a37816139fe565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f613a72601083612bc4565b9150613a7d82613a3e565b602082019050919050565b5f6020820190508181035f830152613a9f81613a66565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613ada601383612bc4565b9150613ae582613aa6565b602082019050919050565b5f6020820190508181035f830152613b0781613ace565b9050919050565b5f81905092915050565b50565b5f613b265f83613b0e565b9150613b3182613b18565b5f82019050919050565b5f613b4582613b1b565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613bb781612d08565b92915050565b5f60208284031215613bd257613bd1612b58565b5b5f613bdf84828501613ba9565b91505092915050565b5f819050919050565b5f613c0b613c06613c0184613be8565b612c83565b612b5c565b9050919050565b613c1b81613bf1565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c5381612cf7565b82525050565b5f613c648383613c4a565b60208301905092915050565b5f602082019050919050565b5f613c8682613c21565b613c908185613c2b565b9350613c9b83613c3b565b805f5b83811015613ccb578151613cb28882613c59565b9750613cbd83613c70565b925050600181019050613c9e565b5085935050505092915050565b5f60a082019050613ceb5f830188612de1565b613cf86020830187613c12565b8181036040830152613d0a8186613c7c565b9050613d196060830185612e8d565b613d266080830184612de1565b969550505050505056fea2646970667358221220e7f3c019a9f255a6514be19d68ec2edcb03c1f00ce25a82652df01315057150464736f6c63430008140033

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

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000744726163756c610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044452414300000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Dracula
Arg [1] : _symbol (string): DRAC

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [3] : 44726163756c6100000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 4452414300000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16680:7957:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23179:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4319:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17392:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6679:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23748:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5448:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23474:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7460:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5290:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8130:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17364:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17255:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17031:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16724:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5619:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15850:150;;;;;;;;;;;;;:::i;:::-;;24114:231;;;;;;;;;;;;;:::i;:::-;;22577:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23971:135;;;;;;;;;;;;;:::i;:::-;;16778:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15636:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4538:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17428:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22832:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8871:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5952:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16870:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16836:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16921:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17325:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17209:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17059:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6208:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24353:98;;;;;;;;;;;;;:::i;:::-;;16990:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24459:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16008:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16957:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23179:287;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23321:10:::1;:8;:10::i;:::-;23317:2;:14;;;;:::i;:::-;23310:4;23306:1;23290:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;23289:43;;;;:::i;:::-;23271:14;:61;;23263:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;23394:10;:8;:10::i;:::-;23390:2;:14;;;;:::i;:::-;23372;:33;;;;:::i;:::-;23355:14;:50;;;;23421:37;23443:14;;23421:37;;;;;;:::i;:::-;;;;;;;;23179:287:::0;:::o;4319:100::-;4373:13;4406:5;4399:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4319:100;:::o;17392:27::-;;;;;;;;;;;;;:::o;6679:201::-;6762:4;6779:13;6795:12;:10;:12::i;:::-;6779:28;;6818:32;6827:5;6834:7;6843:6;6818:8;:32::i;:::-;6868:4;6861:11;;;6679:201;;;;:::o;23748:215::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23843:7:::1;23834:6;:16;;;;23866:21;23880:6;;23866:21;;;;;;:::i;:::-;;;;;;;;23908:8;23898:7;:18;;;;23932:23;23947:7;;23932:23;;;;;;:::i;:::-;;;;;;;;23748:215:::0;;:::o;5448:108::-;5509:7;5536:12;;5529:19;;5448:108;:::o;23474:266::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23610:10:::1;:8;:10::i;:::-;23606:2;:14;;;;:::i;:::-;23600:3;23596:1;23580:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:23;;;;:::i;:::-;23579:42;;;;:::i;:::-;23561:14;:60;;23553:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;23678:10;:8;:10::i;:::-;23674:2;:14;;;;:::i;:::-;23656;:33;;;;:::i;:::-;23644:9;:45;;;;23705:27;23722:9;;23705:27;;;;;;:::i;:::-;;;;;;;;23474:266:::0;:::o;7460:261::-;7557:4;7574:15;7592:12;:10;:12::i;:::-;7574:30;;7615:38;7631:4;7637:7;7646:6;7615:15;:38::i;:::-;7664:27;7674:4;7680:2;7684:6;7664:9;:27::i;:::-;7709:4;7702:11;;;7460:261;;;;;:::o;5290:93::-;5348:5;5373:2;5366:9;;5290:93;:::o;8130:238::-;8218:4;8235:13;8251:12;:10;:12::i;:::-;8235:28;;8274:64;8283:5;8290:7;8327:10;8299:25;8309:5;8316:7;8299:9;:25::i;:::-;:38;;;;:::i;:::-;8274:8;:64::i;:::-;8356:4;8349:11;;;8130:238;;;;:::o;17364:21::-;;;;;;;;;;;;;:::o;17255:33::-;;;;;;;;;;;;;:::o;17031:21::-;;;;:::o;16724:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;5619:127::-;5693:7;5720:9;:18;5730:7;5720:18;;;;;;;;;;;;;;;;5713:25;;5619:127;;;:::o;15850:150::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15959:1:::1;15922:40;;15943:6;;;;;;;;;;;15922:40;;;;;;;;;;;;15990:1;15973:6;;:19;;;;;;;;;;;;;;;;;;15850:150::o:0;24114:231::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24185:5:::1;24168:14;;:22;;;;;;;;;;;;;;;;;;24224:5;24201:20;;:28;;;;;;;;;;;;;;;;;;24257:13;:11;:13::i;:::-;24240:14;:30;;;;24293:13;:11;:13::i;:::-;24281:9;:25;;;;24322:15;;;;;;;;;;24114:231::o:0;22577:247::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22696:1:::1;22676:22;;:8;:22;;::::0;22668:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22753:9;22726:14;:24;22741:8;22726:24;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;22778:38;22796:8;22806:9;22778:38;;;;;;;:::i;:::-;;;;;;;;22577:247:::0;;:::o;23971:135::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24035:13:::1;;;;;;;;;;;24034:14;24026:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;24094:4;24078:13;;:20;;;;;;;;;;;;;;;;;;23971:135::o:0;16778:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;15636:79::-;15674:7;15701:6;;;;;;;;;;;15694:13;;15636:79;:::o;4538:104::-;4594:13;4627:7;4620:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4538:104;:::o;17428:43::-;17466:5;17428:43;:::o;22832:339::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22953:1:::1;22933:22;;:8;:22;;::::0;22925:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22987:9;22983:76;;23032:6;;;;;;;;;;;23020:18;;:8;:18;;::::0;23012:35:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22983:76;23098:9;23069:16;:26;23086:8;23069:26;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;23123:40;23143:8;23153:9;23123:40;;;;;;;:::i;:::-;;;;;;;;22832:339:::0;;:::o;8871:436::-;8964:4;8981:13;8997:12;:10;:12::i;:::-;8981:28;;9020:24;9047:25;9057:5;9064:7;9047:9;:25::i;:::-;9020:52;;9111:15;9091:16;:35;;9083:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9204:60;9213:5;9220:7;9248:15;9229:16;:34;9204:8;:60::i;:::-;9295:4;9288:11;;;;8871:436;;;;:::o;5952:193::-;6031:4;6048:13;6064:12;:10;:12::i;:::-;6048:28;;6087;6097:5;6104:2;6108:6;6087:9;:28::i;:::-;6133:4;6126:11;;;5952:193;;;;:::o;16870:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;16836:25::-;;;;;;;;;;;;;:::o;16921:29::-;;;;:::o;17325:30::-;;;;:::o;17209:39::-;;;;;;;;;;;;;:::o;17059:22::-;;;;:::o;6208:151::-;6297:7;6324:11;:18;6336:5;6324:18;;;;;;;;;;;;;;;:27;6343:7;6324:27;;;;;;;;;;;;;;;;6317:34;;6208:151;;;;:::o;24353:98::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24438:5:::1;24415:20;;:28;;;;;;;;;;;;;;;;;;24353:98::o:0;16990:32::-;;;;;;;;;;;;;:::o;24459:175::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24568:1:::1;24548:22;;:8;:22;;::::0;24540:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;24618:8;24598:17;;:28;;;;;;;;;;;;;;;;;;24459:175:::0;:::o;16008:244::-;15773:12;:10;:12::i;:::-;15763:22;;:6;;;;;;;;;;;:22;;;15755:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16117:1:::1;16097:22;;:8;:22;;::::0;16089:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16207:8;16178:38;;16199:6;;;;;;;;;;;16178:38;;;;;;;;;;;;16236:8;16227:6;;:17;;;;;;;;;;;;;;;;;;16008:244:::0;:::o;16957:24::-;;;;:::o;225:98::-;278:7;305:10;298:17;;225:98;:::o;12864:346::-;12983:1;12966:19;;:5;:19;;;12958:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13064:1;13045:21;;:7;:21;;;13037:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13148:6;13118:11;:18;13130:5;13118:18;;;;;;;;;;;;;;;:27;13137:7;13118:27;;;;;;;;;;;;;;;:36;;;;13186:7;13170:32;;13179:5;13170:32;;;13195:6;13170:32;;;;;;:::i;:::-;;;;;;;;12864:346;;;:::o;13501:419::-;13602:24;13629:25;13639:5;13646:7;13629:9;:25::i;:::-;13602:52;;13689:17;13669:16;:37;13665:248;;13751:6;13731:16;:26;;13723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13835:51;13844:5;13851:7;13879:6;13860:16;:25;13835:8;:51::i;:::-;13665:248;13591:329;13501:419;;;:::o;19481:523::-;19626:14;:20;19641:4;19626:20;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;19650:14;:18;19665:2;19650:18;;;;;;;;;;;;;;;;;;;;;;;;;19626:42;:54;;;;19672:8;;;;;;;;;;;19626:54;19623:137;;;19696:31;19712:4;19717:2;19720:6;19696:15;:31::i;:::-;19742:7;;19623:137;19780:13;;;;;;;;;;;19772:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;19832:14;;;;;;;;;;;19829:74;;;19862:29;19874:4;19880:2;19884:6;19862:11;:29::i;:::-;19829:74;19925:27;19935:4;19941:2;19945:6;19925:9;:27::i;:::-;19915:37;;;;;:::i;:::-;;;19965:31;19981:4;19986:2;19989:6;19965:15;:31::i;:::-;19481:523;;;;:::o;9777:806::-;9890:1;9874:18;;:4;:18;;;9866:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9967:1;9953:16;;:2;:16;;;9945:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10022:38;10043:4;10049:2;10053:6;10022:20;:38::i;:::-;10073:19;10095:9;:15;10105:4;10095:15;;;;;;;;;;;;;;;;10073:37;;10144:6;10129:11;:21;;10121:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10261:6;10247:11;:20;10229:9;:15;10239:4;10229:15;;;;;;;;;;;;;;;:38;;;;10464:6;10447:9;:13;10457:2;10447:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;10514:2;10499:26;;10508:4;10499:26;;;10518:6;10499:26;;;;;;:::i;:::-;;;;;;;;10538:37;10558:4;10564:2;10568:6;10538:19;:37::i;:::-;9855:728;9777:806;;;:::o;20012:908::-;20099:20;;;;;;;;;;;20095:288;;;20153:9;;;;;;;;;;;20139:24;;:2;:24;;;;:42;;;;;20168:9;:13;20178:2;20168:13;;;;;;;;;;;;;;;;;;;;;;;;;20167:14;20139:42;20135:237;;;20247:12;20209:24;:35;20234:9;20209:35;;;;;;;;;;;;;;;;:50;20201:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;20344:12;20306:24;:35;20331:9;20306:35;;;;;;;;;;;;;;;:50;;;;20135:237;20095:288;20415:9;:15;20425:4;20415:15;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;20435:16;:20;20452:2;20435:20;;;;;;;;;;;;;;;;;;;;;;;;;20434:21;20415:40;20411:502;;;20490:14;;20480:6;:24;;20472:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20574:9;;20557:13;20567:2;20557:9;:13::i;:::-;20548:6;:22;;;;:::i;:::-;:35;;20540:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20411:502;;;20656:9;:13;20666:2;20656:13;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;20674:16;:22;20691:4;20674:22;;;;;;;;;;;;;;;;;;;;;;;;;20673:23;20656:40;20652:261;;;20731:14;;20721:6;:24;;20713:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20652:261;;;20797:16;:20;20814:2;20797:20;;;;;;;;;;;;;;;;;;;;;;;;;20793:120;;20868:9;;20851:13;20861:2;20851:9;:13::i;:::-;20842:6;:22;;;;:::i;:::-;:35;;20834:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20793:120;20652:261;20411:502;20012:908;;;:::o;20928:712::-;21007:7;21057:15;;21029:24;21047:4;21029:9;:24::i;:::-;:43;;:56;;;;;21077:8;;;;;;;;;;;21076:9;21029:56;:76;;;;;21090:9;:15;21100:4;21090:15;;;;;;;;;;;;;;;;;;;;;;;;;21089:16;21029:76;21026:179;;;21133:4;21122:8;;:15;;;;;;;;;;;;;;;;;;21152:10;:8;:10::i;:::-;21188:5;21177:8;;:16;;;;;;;;;;;;;;;;;;21026:179;21225:11;21277:9;:13;21287:2;21277:13;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;;;21304:1;21294:7;;:11;21277:28;21273:226;;;17466:5;21336:7;;21327:6;:16;;;;:::i;:::-;:30;;;;:::i;:::-;21321:36;;21273:226;;;21406:9;:15;21416:4;21406:15;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;;21434:1;21425:6;;:10;21406:29;21403:96;;;17466:5;21467:6;;21458;:15;;;;:::i;:::-;:29;;;;:::i;:::-;21452:35;;21403:96;21273:226;21528:1;21522:3;:7;21519:83;;;21549:41;21565:4;21579;21586:3;21549:15;:41::i;:::-;21519:83;21629:3;21622:10;;;20928:712;;;;;:::o;14520:91::-;;;;:::o;15215:90::-;;;;:::o;22040:503::-;22081:23;22107:24;22125:4;22107:9;:24::i;:::-;22081:50;;22174:1;22155:15;:20;22152:34;;22178:7;;;22152:34;22237:2;22219:15;;:20;;;;:::i;:::-;22201:15;:38;22198:107;;;22291:2;22273:15;;:20;;;;:::i;:::-;22255:38;;22198:107;22325:33;22342:15;22325:16;:33::i;:::-;22410:1;22386:21;:25;22383:153;;;22427:12;22468:17;;;;;;;;;;;:22;;22498:21;22468:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22454:70;;;;;22412:124;22383:153;22068:475;22040:503;:::o;21648:384::-;21713:21;21751:1;21737:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21713:40;;21782:4;21764;21769:1;21764:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21808:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21798:4;21803:1;21798:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;21837:9;;;;;;;;;;;:60;;;21912:8;21935:1;21951:4;21978;21998:15;21837:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21700:332;21648:384;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:246::-;1386:1;1396:113;1410:6;1407:1;1404:13;1396:113;;;1495:1;1490:3;1486:11;1480:18;1476:1;1471:3;1467:11;1460:39;1432:2;1429:1;1425:10;1420:15;;1396:113;;;1543:1;1534:6;1529:3;1525:16;1518:27;1367:184;1305:246;;;:::o;1557:102::-;1598:6;1649:2;1645:7;1640:2;1633:5;1629:14;1625:28;1615:38;;1557:102;;;:::o;1665:377::-;1753:3;1781:39;1814:5;1781:39;:::i;:::-;1836:71;1900:6;1895:3;1836:71;:::i;:::-;1829:78;;1916:65;1974:6;1969:3;1962:4;1955:5;1951:16;1916:65;:::i;:::-;2006:29;2028:6;2006:29;:::i;:::-;2001:3;1997:39;1990:46;;1757:285;1665:377;;;;:::o;2048:313::-;2161:4;2199:2;2188:9;2184:18;2176:26;;2248:9;2242:4;2238:20;2234:1;2223:9;2219:17;2212:47;2276:78;2349:4;2340:6;2276:78;:::i;:::-;2268:86;;2048:313;;;;:::o;2367:126::-;2404:7;2444:42;2437:5;2433:54;2422:65;;2367:126;;;:::o;2499:60::-;2527:3;2548:5;2541:12;;2499:60;;;:::o;2565:142::-;2615:9;2648:53;2666:34;2675:24;2693:5;2675:24;:::i;:::-;2666:34;:::i;:::-;2648:53;:::i;:::-;2635:66;;2565:142;;;:::o;2713:126::-;2763:9;2796:37;2827:5;2796:37;:::i;:::-;2783:50;;2713:126;;;:::o;2845:144::-;2913:9;2946:37;2977:5;2946:37;:::i;:::-;2933:50;;2845:144;;;:::o;2995:167::-;3100:55;3149:5;3100:55;:::i;:::-;3095:3;3088:68;2995:167;;:::o;3168:258::-;3279:4;3317:2;3306:9;3302:18;3294:26;;3330:89;3416:1;3405:9;3401:17;3392:6;3330:89;:::i;:::-;3168:258;;;;:::o;3432:96::-;3469:7;3498:24;3516:5;3498:24;:::i;:::-;3487:35;;3432:96;;;:::o;3534:122::-;3607:24;3625:5;3607:24;:::i;:::-;3600:5;3597:35;3587:63;;3646:1;3643;3636:12;3587:63;3534:122;:::o;3662:139::-;3708:5;3746:6;3733:20;3724:29;;3762:33;3789:5;3762:33;:::i;:::-;3662:139;;;;:::o;3807:474::-;3875:6;3883;3932:2;3920:9;3911:7;3907:23;3903:32;3900:119;;;3938:79;;:::i;:::-;3900:119;4058:1;4083:53;4128:7;4119:6;4108:9;4104:22;4083:53;:::i;:::-;4073:63;;4029:117;4185:2;4211:53;4256:7;4247:6;4236:9;4232:22;4211:53;:::i;:::-;4201:63;;4156:118;3807:474;;;;;:::o;4287:90::-;4321:7;4364:5;4357:13;4350:21;4339:32;;4287:90;;;:::o;4383:109::-;4464:21;4479:5;4464:21;:::i;:::-;4459:3;4452:34;4383:109;;:::o;4498:210::-;4585:4;4623:2;4612:9;4608:18;4600:26;;4636:65;4698:1;4687:9;4683:17;4674:6;4636:65;:::i;:::-;4498:210;;;;:::o;4714:474::-;4782:6;4790;4839:2;4827:9;4818:7;4814:23;4810:32;4807:119;;;4845:79;;:::i;:::-;4807:119;4965:1;4990:53;5035:7;5026:6;5015:9;5011:22;4990:53;:::i;:::-;4980:63;;4936:117;5092:2;5118:53;5163:7;5154:6;5143:9;5139:22;5118:53;:::i;:::-;5108:63;;5063:118;4714:474;;;;;:::o;5194:118::-;5281:24;5299:5;5281:24;:::i;:::-;5276:3;5269:37;5194:118;;:::o;5318:222::-;5411:4;5449:2;5438:9;5434:18;5426:26;;5462:71;5530:1;5519:9;5515:17;5506:6;5462:71;:::i;:::-;5318:222;;;;:::o;5546:619::-;5623:6;5631;5639;5688:2;5676:9;5667:7;5663:23;5659:32;5656:119;;;5694:79;;:::i;:::-;5656:119;5814:1;5839:53;5884:7;5875:6;5864:9;5860:22;5839:53;:::i;:::-;5829:63;;5785:117;5941:2;5967:53;6012:7;6003:6;5992:9;5988:22;5967:53;:::i;:::-;5957:63;;5912:118;6069:2;6095:53;6140:7;6131:6;6120:9;6116:22;6095:53;:::i;:::-;6085:63;;6040:118;5546:619;;;;;:::o;6171:86::-;6206:7;6246:4;6239:5;6235:16;6224:27;;6171:86;;;:::o;6263:112::-;6346:22;6362:5;6346:22;:::i;:::-;6341:3;6334:35;6263:112;;:::o;6381:214::-;6470:4;6508:2;6497:9;6493:18;6485:26;;6521:67;6585:1;6574:9;6570:17;6561:6;6521:67;:::i;:::-;6381:214;;;;:::o;6601:118::-;6688:24;6706:5;6688:24;:::i;:::-;6683:3;6676:37;6601:118;;:::o;6725:222::-;6818:4;6856:2;6845:9;6841:18;6833:26;;6869:71;6937:1;6926:9;6922:17;6913:6;6869:71;:::i;:::-;6725:222;;;;:::o;6953:329::-;7012:6;7061:2;7049:9;7040:7;7036:23;7032:32;7029:119;;;7067:79;;:::i;:::-;7029:119;7187:1;7212:53;7257:7;7248:6;7237:9;7233:22;7212:53;:::i;:::-;7202:63;;7158:117;6953:329;;;;:::o;7288:116::-;7358:21;7373:5;7358:21;:::i;:::-;7351:5;7348:32;7338:60;;7394:1;7391;7384:12;7338:60;7288:116;:::o;7410:133::-;7453:5;7491:6;7478:20;7469:29;;7507:30;7531:5;7507:30;:::i;:::-;7410:133;;;;:::o;7549:468::-;7614:6;7622;7671:2;7659:9;7650:7;7646:23;7642:32;7639:119;;;7677:79;;:::i;:::-;7639:119;7797:1;7822:53;7867:7;7858:6;7847:9;7843:22;7822:53;:::i;:::-;7812:63;;7768:117;7924:2;7950:50;7992:7;7983:6;7972:9;7968:22;7950:50;:::i;:::-;7940:60;;7895:115;7549:468;;;;;:::o;8023:474::-;8091:6;8099;8148:2;8136:9;8127:7;8123:23;8119:32;8116:119;;;8154:79;;:::i;:::-;8116:119;8274:1;8299:53;8344:7;8335:6;8324:9;8320:22;8299:53;:::i;:::-;8289:63;;8245:117;8401:2;8427:53;8472:7;8463:6;8452:9;8448:22;8427:53;:::i;:::-;8417:63;;8372:118;8023:474;;;;;:::o;8503:182::-;8643:34;8639:1;8631:6;8627:14;8620:58;8503:182;:::o;8691:366::-;8833:3;8854:67;8918:2;8913:3;8854:67;:::i;:::-;8847:74;;8930:93;9019:3;8930:93;:::i;:::-;9048:2;9043:3;9039:12;9032:19;;8691:366;;;:::o;9063:419::-;9229:4;9267:2;9256:9;9252:18;9244:26;;9316:9;9310:4;9306:20;9302:1;9291:9;9287:17;9280:47;9344:131;9470:4;9344:131;:::i;:::-;9336:139;;9063:419;;;:::o;9488:180::-;9536:77;9533:1;9526:88;9633:4;9630:1;9623:15;9657:4;9654:1;9647:15;9674:102;9716:8;9763:5;9760:1;9756:13;9735:34;;9674:102;;;:::o;9782:848::-;9843:5;9850:4;9874:6;9865:15;;9898:5;9889:14;;9912:712;9933:1;9923:8;9920:15;9912:712;;;10028:4;10023:3;10019:14;10013:4;10010:24;10007:50;;;10037:18;;:::i;:::-;10007:50;10087:1;10077:8;10073:16;10070:451;;;10502:4;10495:5;10491:16;10482:25;;10070:451;10552:4;10546;10542:15;10534:23;;10582:32;10605:8;10582:32;:::i;:::-;10570:44;;9912:712;;;9782:848;;;;;;;:::o;10636:1073::-;10690:5;10881:8;10871:40;;10902:1;10893:10;;10904:5;;10871:40;10930:4;10920:36;;10947:1;10938:10;;10949:5;;10920:36;11016:4;11064:1;11059:27;;;;11100:1;11095:191;;;;11009:277;;11059:27;11077:1;11068:10;;11079:5;;;11095:191;11140:3;11130:8;11127:17;11124:43;;;11147:18;;:::i;:::-;11124:43;11196:8;11193:1;11189:16;11180:25;;11231:3;11224:5;11221:14;11218:40;;;11238:18;;:::i;:::-;11218:40;11271:5;;;11009:277;;11395:2;11385:8;11382:16;11376:3;11370:4;11367:13;11363:36;11345:2;11335:8;11332:16;11327:2;11321:4;11318:12;11314:35;11298:111;11295:246;;;11451:8;11445:4;11441:19;11432:28;;11486:3;11479:5;11476:14;11473:40;;;11493:18;;:::i;:::-;11473:40;11526:5;;11295:246;11566:42;11604:3;11594:8;11588:4;11585:1;11566:42;:::i;:::-;11551:57;;;;11640:4;11635:3;11631:14;11624:5;11621:25;11618:51;;;11649:18;;:::i;:::-;11618:51;11698:4;11691:5;11687:16;11678:25;;10636:1073;;;;;;:::o;11715:281::-;11773:5;11797:23;11815:4;11797:23;:::i;:::-;11789:31;;11841:25;11857:8;11841:25;:::i;:::-;11829:37;;11885:104;11922:66;11912:8;11906:4;11885:104;:::i;:::-;11876:113;;11715:281;;;;:::o;12002:410::-;12042:7;12065:20;12083:1;12065:20;:::i;:::-;12060:25;;12099:20;12117:1;12099:20;:::i;:::-;12094:25;;12154:1;12151;12147:9;12176:30;12194:11;12176:30;:::i;:::-;12165:41;;12355:1;12346:7;12342:15;12339:1;12336:22;12316:1;12309:9;12289:83;12266:139;;12385:18;;:::i;:::-;12266:139;12050:362;12002:410;;;;:::o;12418:180::-;12466:77;12463:1;12456:88;12563:4;12560:1;12553:15;12587:4;12584:1;12577:15;12604:185;12644:1;12661:20;12679:1;12661:20;:::i;:::-;12656:25;;12695:20;12713:1;12695:20;:::i;:::-;12690:25;;12734:1;12724:35;;12739:18;;:::i;:::-;12724:35;12781:1;12778;12774:9;12769:14;;12604:185;;;;:::o;12795:157::-;12935:9;12931:1;12923:6;12919:14;12912:33;12795:157;:::o;12958:365::-;13100:3;13121:66;13185:1;13180:3;13121:66;:::i;:::-;13114:73;;13196:93;13285:3;13196:93;:::i;:::-;13314:2;13309:3;13305:12;13298:19;;12958:365;;;:::o;13329:419::-;13495:4;13533:2;13522:9;13518:18;13510:26;;13582:9;13576:4;13572:20;13568:1;13557:9;13553:17;13546:47;13610:131;13736:4;13610:131;:::i;:::-;13602:139;;13329:419;;;:::o;13754:180::-;13802:77;13799:1;13792:88;13899:4;13896:1;13889:15;13923:4;13920:1;13913:15;13940:320;13984:6;14021:1;14015:4;14011:12;14001:22;;14068:1;14062:4;14058:12;14089:18;14079:81;;14145:4;14137:6;14133:17;14123:27;;14079:81;14207:2;14199:6;14196:14;14176:18;14173:38;14170:84;;14226:18;;:::i;:::-;14170:84;13991:269;13940:320;;;:::o;14266:191::-;14306:3;14325:20;14343:1;14325:20;:::i;:::-;14320:25;;14359:20;14377:1;14359:20;:::i;:::-;14354:25;;14402:1;14399;14395:9;14388:16;;14423:3;14420:1;14417:10;14414:36;;;14430:18;;:::i;:::-;14414:36;14266:191;;;;:::o;14463:162::-;14603:14;14599:1;14591:6;14587:14;14580:38;14463:162;:::o;14631:366::-;14773:3;14794:67;14858:2;14853:3;14794:67;:::i;:::-;14787:74;;14870:93;14959:3;14870:93;:::i;:::-;14988:2;14983:3;14979:12;14972:19;;14631:366;;;:::o;15003:419::-;15169:4;15207:2;15196:9;15192:18;15184:26;;15256:9;15250:4;15246:20;15242:1;15231:9;15227:17;15220:47;15284:131;15410:4;15284:131;:::i;:::-;15276:139;;15003:419;;;:::o;15428:320::-;15543:4;15581:2;15570:9;15566:18;15558:26;;15594:71;15662:1;15651:9;15647:17;15638:6;15594:71;:::i;:::-;15675:66;15737:2;15726:9;15722:18;15713:6;15675:66;:::i;:::-;15428:320;;;;;:::o;15754:164::-;15894:16;15890:1;15882:6;15878:14;15871:40;15754:164;:::o;15924:366::-;16066:3;16087:67;16151:2;16146:3;16087:67;:::i;:::-;16080:74;;16163:93;16252:3;16163:93;:::i;:::-;16281:2;16276:3;16272:12;16265:19;;15924:366;;;:::o;16296:419::-;16462:4;16500:2;16489:9;16485:18;16477:26;;16549:9;16543:4;16539:20;16535:1;16524:9;16520:17;16513:47;16577:131;16703:4;16577:131;:::i;:::-;16569:139;;16296:419;;;:::o;16721:154::-;16861:6;16857:1;16849:6;16845:14;16838:30;16721:154;:::o;16881:365::-;17023:3;17044:66;17108:1;17103:3;17044:66;:::i;:::-;17037:73;;17119:93;17208:3;17119:93;:::i;:::-;17237:2;17232:3;17228:12;17221:19;;16881:365;;;:::o;17252:419::-;17418:4;17456:2;17445:9;17441:18;17433:26;;17505:9;17499:4;17495:20;17491:1;17480:9;17476:17;17469:47;17533:131;17659:4;17533:131;:::i;:::-;17525:139;;17252:419;;;:::o;17677:224::-;17817:34;17813:1;17805:6;17801:14;17794:58;17886:7;17881:2;17873:6;17869:15;17862:32;17677:224;:::o;17907:366::-;18049:3;18070:67;18134:2;18129:3;18070:67;:::i;:::-;18063:74;;18146:93;18235:3;18146:93;:::i;:::-;18264:2;18259:3;18255:12;18248:19;;17907:366;;;:::o;18279:419::-;18445:4;18483:2;18472:9;18468:18;18460:26;;18532:9;18526:4;18522:20;18518:1;18507:9;18503:17;18496:47;18560:131;18686:4;18560:131;:::i;:::-;18552:139;;18279:419;;;:::o;18704:162::-;18844:14;18840:1;18832:6;18828:14;18821:38;18704:162;:::o;18872:366::-;19014:3;19035:67;19099:2;19094:3;19035:67;:::i;:::-;19028:74;;19111:93;19200:3;19111:93;:::i;:::-;19229:2;19224:3;19220:12;19213:19;;18872:366;;;:::o;19244:419::-;19410:4;19448:2;19437:9;19433:18;19425:26;;19497:9;19491:4;19487:20;19483:1;19472:9;19468:17;19461:47;19525:131;19651:4;19525:131;:::i;:::-;19517:139;;19244:419;;;:::o;19669:225::-;19809:34;19805:1;19797:6;19793:14;19786:58;19878:8;19873:2;19865:6;19861:15;19854:33;19669:225;:::o;19900:366::-;20042:3;20063:67;20127:2;20122:3;20063:67;:::i;:::-;20056:74;;20139:93;20228:3;20139:93;:::i;:::-;20257:2;20252:3;20248:12;20241:19;;19900:366;;;:::o;20272:419::-;20438:4;20476:2;20465:9;20461:18;20453:26;;20525:9;20519:4;20515:20;20511:1;20500:9;20496:17;20489:47;20553:131;20679:4;20553:131;:::i;:::-;20545:139;;20272:419;;;:::o;20697:223::-;20837:34;20833:1;20825:6;20821:14;20814:58;20906:6;20901:2;20893:6;20889:15;20882:31;20697:223;:::o;20926:366::-;21068:3;21089:67;21153:2;21148:3;21089:67;:::i;:::-;21082:74;;21165:93;21254:3;21165:93;:::i;:::-;21283:2;21278:3;21274:12;21267:19;;20926:366;;;:::o;21298:419::-;21464:4;21502:2;21491:9;21487:18;21479:26;;21551:9;21545:4;21541:20;21537:1;21526:9;21522:17;21515:47;21579:131;21705:4;21579:131;:::i;:::-;21571:139;;21298:419;;;:::o;21723:221::-;21863:34;21859:1;21851:6;21847:14;21840:58;21932:4;21927:2;21919:6;21915:15;21908:29;21723:221;:::o;21950:366::-;22092:3;22113:67;22177:2;22172:3;22113:67;:::i;:::-;22106:74;;22189:93;22278:3;22189:93;:::i;:::-;22307:2;22302:3;22298:12;22291:19;;21950:366;;;:::o;22322:419::-;22488:4;22526:2;22515:9;22511:18;22503:26;;22575:9;22569:4;22565:20;22561:1;22550:9;22546:17;22539:47;22603:131;22729:4;22603:131;:::i;:::-;22595:139;;22322:419;;;:::o;22747:179::-;22887:31;22883:1;22875:6;22871:14;22864:55;22747:179;:::o;22932:366::-;23074:3;23095:67;23159:2;23154:3;23095:67;:::i;:::-;23088:74;;23171:93;23260:3;23171:93;:::i;:::-;23289:2;23284:3;23280:12;23273:19;;22932:366;;;:::o;23304:419::-;23470:4;23508:2;23497:9;23493:18;23485:26;;23557:9;23551:4;23547:20;23543:1;23532:9;23528:17;23521:47;23585:131;23711:4;23585:131;:::i;:::-;23577:139;;23304:419;;;:::o;23729:168::-;23869:20;23865:1;23857:6;23853:14;23846:44;23729:168;:::o;23903:366::-;24045:3;24066:67;24130:2;24125:3;24066:67;:::i;:::-;24059:74;;24142:93;24231:3;24142:93;:::i;:::-;24260:2;24255:3;24251:12;24244:19;;23903:366;;;:::o;24275:419::-;24441:4;24479:2;24468:9;24464:18;24456:26;;24528:9;24522:4;24518:20;24514:1;24503:9;24499:17;24492:47;24556:131;24682:4;24556:131;:::i;:::-;24548:139;;24275:419;;;:::o;24700:194::-;24740:4;24760:20;24778:1;24760:20;:::i;:::-;24755:25;;24794:20;24812:1;24794:20;:::i;:::-;24789:25;;24838:1;24835;24831:9;24823:17;;24862:1;24856:4;24853:11;24850:37;;;24867:18;;:::i;:::-;24850:37;24700:194;;;;:::o;24900:224::-;25040:34;25036:1;25028:6;25024:14;25017:58;25109:7;25104:2;25096:6;25092:15;25085:32;24900:224;:::o;25130:366::-;25272:3;25293:67;25357:2;25352:3;25293:67;:::i;:::-;25286:74;;25369:93;25458:3;25369:93;:::i;:::-;25487:2;25482:3;25478:12;25471:19;;25130:366;;;:::o;25502:419::-;25668:4;25706:2;25695:9;25691:18;25683:26;;25755:9;25749:4;25745:20;25741:1;25730:9;25726:17;25719:47;25783:131;25909:4;25783:131;:::i;:::-;25775:139;;25502:419;;;:::o;25927:222::-;26067:34;26063:1;26055:6;26051:14;26044:58;26136:5;26131:2;26123:6;26119:15;26112:30;25927:222;:::o;26155:366::-;26297:3;26318:67;26382:2;26377:3;26318:67;:::i;:::-;26311:74;;26394:93;26483:3;26394:93;:::i;:::-;26512:2;26507:3;26503:12;26496:19;;26155:366;;;:::o;26527:419::-;26693:4;26731:2;26720:9;26716:18;26708:26;;26780:9;26774:4;26770:20;26766:1;26755:9;26751:17;26744:47;26808:131;26934:4;26808:131;:::i;:::-;26800:139;;26527:419;;;:::o;26952:225::-;27092:34;27088:1;27080:6;27076:14;27069:58;27161:8;27156:2;27148:6;27144:15;27137:33;26952:225;:::o;27183:366::-;27325:3;27346:67;27410:2;27405:3;27346:67;:::i;:::-;27339:74;;27422:93;27511:3;27422:93;:::i;:::-;27540:2;27535:3;27531:12;27524:19;;27183:366;;;:::o;27555:419::-;27721:4;27759:2;27748:9;27744:18;27736:26;;27808:9;27802:4;27798:20;27794:1;27783:9;27779:17;27772:47;27836:131;27962:4;27836:131;:::i;:::-;27828:139;;27555:419;;;:::o;27980:173::-;28120:25;28116:1;28108:6;28104:14;28097:49;27980:173;:::o;28159:366::-;28301:3;28322:67;28386:2;28381:3;28322:67;:::i;:::-;28315:74;;28398:93;28487:3;28398:93;:::i;:::-;28516:2;28511:3;28507:12;28500:19;;28159:366;;;:::o;28531:419::-;28697:4;28735:2;28724:9;28720:18;28712:26;;28784:9;28778:4;28774:20;28770:1;28759:9;28755:17;28748:47;28812:131;28938:4;28812:131;:::i;:::-;28804:139;;28531:419;;;:::o;28956:166::-;29096:18;29092:1;29084:6;29080:14;29073:42;28956:166;:::o;29128:366::-;29270:3;29291:67;29355:2;29350:3;29291:67;:::i;:::-;29284:74;;29367:93;29456:3;29367:93;:::i;:::-;29485:2;29480:3;29476:12;29469:19;;29128:366;;;:::o;29500:419::-;29666:4;29704:2;29693:9;29689:18;29681:26;;29753:9;29747:4;29743:20;29739:1;29728:9;29724:17;29717:47;29781:131;29907:4;29781:131;:::i;:::-;29773:139;;29500:419;;;:::o;29925:169::-;30065:21;30061:1;30053:6;30049:14;30042:45;29925:169;:::o;30100:366::-;30242:3;30263:67;30327:2;30322:3;30263:67;:::i;:::-;30256:74;;30339:93;30428:3;30339:93;:::i;:::-;30457:2;30452:3;30448:12;30441:19;;30100:366;;;:::o;30472:419::-;30638:4;30676:2;30665:9;30661:18;30653:26;;30725:9;30719:4;30715:20;30711:1;30700:9;30696:17;30689:47;30753:131;30879:4;30753:131;:::i;:::-;30745:139;;30472:419;;;:::o;30897:147::-;30998:11;31035:3;31020:18;;30897:147;;;;:::o;31050:114::-;;:::o;31170:398::-;31329:3;31350:83;31431:1;31426:3;31350:83;:::i;:::-;31343:90;;31442:93;31531:3;31442:93;:::i;:::-;31560:1;31555:3;31551:11;31544:18;;31170:398;;;:::o;31574:379::-;31758:3;31780:147;31923:3;31780:147;:::i;:::-;31773:154;;31944:3;31937:10;;31574:379;;;:::o;31959:180::-;32007:77;32004:1;31997:88;32104:4;32101:1;32094:15;32128:4;32125:1;32118:15;32145:180;32193:77;32190:1;32183:88;32290:4;32287:1;32280:15;32314:4;32311:1;32304:15;32331:143;32388:5;32419:6;32413:13;32404:22;;32435:33;32462:5;32435:33;:::i;:::-;32331:143;;;;:::o;32480:351::-;32550:6;32599:2;32587:9;32578:7;32574:23;32570:32;32567:119;;;32605:79;;:::i;:::-;32567:119;32725:1;32750:64;32806:7;32797:6;32786:9;32782:22;32750:64;:::i;:::-;32740:74;;32696:128;32480:351;;;;:::o;32837:85::-;32882:7;32911:5;32900:16;;32837:85;;;:::o;32928:158::-;32986:9;33019:61;33037:42;33046:32;33072:5;33046:32;:::i;:::-;33037:42;:::i;:::-;33019:61;:::i;:::-;33006:74;;32928:158;;;:::o;33092:147::-;33187:45;33226:5;33187:45;:::i;:::-;33182:3;33175:58;33092:147;;:::o;33245:114::-;33312:6;33346:5;33340:12;33330:22;;33245:114;;;:::o;33365:184::-;33464:11;33498:6;33493:3;33486:19;33538:4;33533:3;33529:14;33514:29;;33365:184;;;;:::o;33555:132::-;33622:4;33645:3;33637:11;;33675:4;33670:3;33666:14;33658:22;;33555:132;;;:::o;33693:108::-;33770:24;33788:5;33770:24;:::i;:::-;33765:3;33758:37;33693:108;;:::o;33807:179::-;33876:10;33897:46;33939:3;33931:6;33897:46;:::i;:::-;33975:4;33970:3;33966:14;33952:28;;33807:179;;;;:::o;33992:113::-;34062:4;34094;34089:3;34085:14;34077:22;;33992:113;;;:::o;34141:732::-;34260:3;34289:54;34337:5;34289:54;:::i;:::-;34359:86;34438:6;34433:3;34359:86;:::i;:::-;34352:93;;34469:56;34519:5;34469:56;:::i;:::-;34548:7;34579:1;34564:284;34589:6;34586:1;34583:13;34564:284;;;34665:6;34659:13;34692:63;34751:3;34736:13;34692:63;:::i;:::-;34685:70;;34778:60;34831:6;34778:60;:::i;:::-;34768:70;;34624:224;34611:1;34608;34604:9;34599:14;;34564:284;;;34568:14;34864:3;34857:10;;34265:608;;;34141:732;;;;:::o;34879:831::-;35142:4;35180:3;35169:9;35165:19;35157:27;;35194:71;35262:1;35251:9;35247:17;35238:6;35194:71;:::i;:::-;35275:80;35351:2;35340:9;35336:18;35327:6;35275:80;:::i;:::-;35402:9;35396:4;35392:20;35387:2;35376:9;35372:18;35365:48;35430:108;35533:4;35524:6;35430:108;:::i;:::-;35422:116;;35548:72;35616:2;35605:9;35601:18;35592:6;35548:72;:::i;:::-;35630:73;35698:3;35687:9;35683:19;35674:6;35630:73;:::i;:::-;34879:831;;;;;;;;:::o

Swarm Source

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