MATIC Price: $0.613525 (+1.95%)
Gas: 31 GWei
 

Overview

Max Total Supply

0

Holders

0

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
cliff

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 4: cliff - v1.9 final.sol
// SPDX-License-Identifier: MIT

/**
 *
 *  @title: IPMB Token Cliff Mechanism
 *  @date: 23-April-2024 
 *  @version: 1.9
 *  @author: IPMB Dev Team
 */

import "./IERC20.sol";
import "./Ownable.sol";

pragma solidity ^0.8.19;

contract cliff is Ownable {

    // declaration of variables
    bool public initWithdrawal;
    bool public emgWithdrawal;
    bool public setWallets;
    uint256 timeForUnlock;
    uint256 decimals;
    uint256 public counter;
    address public wallet1;
    address public wallet2;
    address public wallet3;
    uint256 public timeOfLastWithdrawal;
    IERC20 public ipmb;
    address public emrgWallet;

    // events 
    event cliffWithdrawalEvent(address wallet1, address wallet2, address wallet3, uint256 amount1, uint256 amount2, uint256 amount3);
    event initialWithdrawalEvent(address wallet1, address wallet2, address wallet3, uint256 amount1, uint256 amount2, uint256 amount3);
    event depositEvent(address wallet, uint256 amount);

    // constructor
    constructor(address _ipmb, address _emrgWallet) {
        ipmb = IERC20(_ipmb);
        timeForUnlock = 2592000; // unlock time for each period 30 days (2592000s)
        decimals = 18;
        emrgWallet = _emrgWallet;
    }

    // function to deposit funds
    // total amount to be deposited = 85500000

    function deposit() public onlyOwner {
        ipmb.transferFrom(msg.sender, address(this), 85500000 * (10 ** decimals));
        emit depositEvent(msg.sender, 85500000 * (10 ** decimals));
    }

    // function to set receiving addresses

    function setAddresses(address _wallet1, address _wallet2, address _wallet3) public onlyOwner {
        wallet1 = _wallet1;
        wallet2 = _wallet2;
        wallet3 = _wallet3;
        setWallets = true;
    }

    // function for initial withdrawal
    // total amount to be sent initially = 855000 

    function initialWithdrawal() public onlyOwner {
        require(setWallets == true, "Wallets Not Set");
        require(initWithdrawal == false, "Can only be called once");
        ipmb.transfer(wallet1, 400000 * 10 ** decimals);
        ipmb.transfer(wallet2, 400000 * 10 ** decimals);
        ipmb.transfer(wallet3, 55000 * 10 ** decimals);
        initWithdrawal = true;
        timeOfLastWithdrawal = block.timestamp;
        emit initialWithdrawalEvent(wallet1, wallet2, wallet3, 400000 * 10 ** decimals, 400000 * 10 ** decimals, 55000 * 10 ** decimals);
    }

    // function for cliff withdrawals
    
    function cliffWithdrawals() public onlyOwner {
        require(initWithdrawal == true, "Initialize 1st Withdrawl");
        uint256 blockCountTime = (block.timestamp - timeOfLastWithdrawal) / timeForUnlock;
        if (blockCountTime > 0) {
            ipmb.transfer(wallet1, 400000 * 10 ** decimals); // each period 40000000 * 1%
            ipmb.transfer(wallet2, 400000 * 10 ** decimals); // each period 40000000 * 1%
            ipmb.transfer(wallet3, 55000 * 10 ** decimals); // each period 5500000 * 1%
            counter = counter + 1;
            timeOfLastWithdrawal = timeOfLastWithdrawal + timeForUnlock;
            emit cliffWithdrawalEvent(wallet1, wallet2, wallet3, 400000 * 10 ** decimals, 400000 * 10 ** decimals, 55000 * 10 ** decimals);
        } else {
            revert("No period to claim");
        }
    }

    // function for emergency withdrawal after all periods have passed

    function emergencyWithdrawal() public {
        require(msg.sender == emrgWallet, "Can be called only from emergency wallet");
        require(emgWithdrawal == false, "Can only be called once");
        require(block.timestamp >= (timeOfLastWithdrawal + (timeForUnlock * (99 - counter))), "Period has not passed");
        ipmb.transfer(emrgWallet, ipmb.balanceOf(address(this)));
        emgWithdrawal = true;
    }

    // function to retrieve the balance of the contract address

    function retrieveBalance() public view returns (uint256) {
        return ipmb.balanceOf(address(this));
    }

}

File 2 of 4: Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.5;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

File 3 of 4: IERC20.sol
// SPDX-License-Identifier: MIT

/**
 *
 * @title IERC20
 */

pragma solidity ^0.8.5;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

// File: @openzeppelin/contracts/access/Ownable.sol

pragma solidity ^0.8.5;

/**
 * @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.
 *
 * By default, the owner account will be the one that deploys the contract. 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.
 */

 import "./Context.sol";
 
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_ipmb","type":"address"},{"internalType":"address","name":"_emrgWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":false,"internalType":"address","name":"wallet1","type":"address"},{"indexed":false,"internalType":"address","name":"wallet2","type":"address"},{"indexed":false,"internalType":"address","name":"wallet3","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount2","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount3","type":"uint256"}],"name":"cliffWithdrawalEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wallet1","type":"address"},{"indexed":false,"internalType":"address","name":"wallet2","type":"address"},{"indexed":false,"internalType":"address","name":"wallet3","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount2","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount3","type":"uint256"}],"name":"initialWithdrawalEvent","type":"event"},{"inputs":[],"name":"cliffWithdrawals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"counter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emergencyWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emgWithdrawal","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emrgWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initWithdrawal","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ipmb","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet1","type":"address"},{"internalType":"address","name":"_wallet2","type":"address"},{"internalType":"address","name":"_wallet3","type":"address"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setWallets","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeOfLastWithdrawal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wallet1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wallet2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wallet3","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405234801561000f575f80fd5b506040516122d73803806122d7833981810160405281019061003191906101da565b5f61004061017560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062278d0060018190555060126002819055508060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610218565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6101a982610180565b9050919050565b6101b98161019f565b81146101c3575f80fd5b50565b5f815190506101d4816101b0565b92915050565b5f80604083850312156101f0576101ef61017c565b5b5f6101fd858286016101c6565b925050602061020e858286016101c6565b9150509250929050565b6120b2806102255f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c806370efc6f5116100ab578063cb270c191161006f578063cb270c1914610275578063d0e30db014610293578063d79bd4991461029d578063f2fde38b146102bb578063ffdb1877146102d75761011f565b806370efc6f514610207578063715018a6146102115780638da5cb5b1461021b5780639afb319814610239578063c9cbbc87146102575761011f565b8063363bf964116100f2578063363bf9641461019b57806338635939146101b75780633c918bae146101c15780635b0a3843146101df57806361bc221a146101e95761011f565b80630b8d0a281461012357806319855690146101415780631a026c961461015f5780632d2667601461017d575b5f80fd5b61012b6102f5565b6040516101389190611737565b60405180910390f35b61014961031a565b6040516101569190611768565b60405180910390f35b610167610320565b6040516101749190611737565b60405180910390f35b610185610345565b60405161019291906117dc565b60405180910390f35b6101b560048036038101906101b09190611823565b61036a565b005b6101bf6104c5565b005b6101c9610991565b6040516101d69190611737565b60405180910390f35b6101e76109b6565b005b6101f1610c76565b6040516101fe9190611768565b60405180910390f35b61020f610c7c565b005b610219611165565b005b61022361129b565b6040516102309190611737565b60405180910390f35b6102416112c2565b60405161024e919061188d565b60405180910390f35b61025f6112d4565b60405161026c919061188d565b60405180910390f35b61027d6112e6565b60405161028a919061188d565b60405180910390f35b61029b6112f8565b005b6102a5611488565b6040516102b29190611768565b60405180910390f35b6102d560048036038101906102d091906118a6565b611527565b005b6102df6116cc565b6040516102ec9190611737565b60405180910390f35b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6103726116f1565b73ffffffffffffffffffffffffffffffffffffffff1661039061129b565b73ffffffffffffffffffffffffffffffffffffffff16146103e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103dd9061192b565b60405180910390fd5b8260045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f60166101000a81548160ff021916908315150217905550505050565b6104cd6116f1565b73ffffffffffffffffffffffffffffffffffffffff166104eb61129b565b73ffffffffffffffffffffffffffffffffffffffff1614610541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061192b565b60405180910390fd5b600115155f60169054906101000a900460ff16151514610596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058d90611993565b60405180910390fd5b5f15155f60149054906101000a900460ff161515146105ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e1906119fb565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a6106589190611b75565b62061a806106669190611bbf565b6040518363ffffffff1660e01b8152600401610683929190611c00565b6020604051808303815f875af115801561069f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c39190611c51565b5060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a6107329190611b75565b62061a806107409190611bbf565b6040518363ffffffff1660e01b815260040161075d929190611c00565b6020604051808303815f875af1158015610779573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079d9190611c51565b5060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a61080c9190611b75565b61d6d86108199190611bbf565b6040518363ffffffff1660e01b8152600401610836929190611c00565b6020604051808303815f875af1158015610852573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108769190611c51565b5060015f60146101000a81548160ff021916908315150217905550426007819055507fae12f8987f7f394b7f25ab303ac95e978418da814fd9ea9763e08a2b8883c0bb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a61092e9190611b75565b62061a8061093c9190611bbf565b600254600a61094b9190611b75565b62061a806109599190611bbf565b600254600a6109689190611b75565b61d6d86109759190611bbf565b60405161098796959493929190611c7c565b60405180910390a1565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3c90611d4b565b60405180910390fd5b5f15155f60159054906101000a900460ff16151514610a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a90906119fb565b60405180910390fd5b6003546063610aa89190611d69565b600154610ab59190611bbf565b600754610ac29190611d9c565b421015610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb90611e19565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bbd9190611737565b602060405180830381865afa158015610bd8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfc9190611e61565b6040518363ffffffff1660e01b8152600401610c19929190611c00565b6020604051808303815f875af1158015610c35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c599190611c51565b5060015f60156101000a81548160ff021916908315150217905550565b60035481565b610c846116f1565b73ffffffffffffffffffffffffffffffffffffffff16610ca261129b565b73ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef9061192b565b60405180910390fd5b600115155f60149054906101000a900460ff16151514610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4490611ed6565b60405180910390fd5b5f60015460075442610d5f9190611d69565b610d699190611f21565b90505f8111156111275760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a610de19190611b75565b62061a80610def9190611bbf565b6040518363ffffffff1660e01b8152600401610e0c929190611c00565b6020604051808303815f875af1158015610e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4c9190611c51565b5060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a610ebb9190611b75565b62061a80610ec99190611bbf565b6040518363ffffffff1660e01b8152600401610ee6929190611c00565b6020604051808303815f875af1158015610f02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f269190611c51565b5060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a610f959190611b75565b61d6d8610fa29190611bbf565b6040518363ffffffff1660e01b8152600401610fbf929190611c00565b6020604051808303815f875af1158015610fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fff9190611c51565b50600160035461100f9190611d9c565b6003819055506001546007546110259190611d9c565b6007819055507f973c71e31297165b9239639cddf4c96171e83ef729f9ea66095b3dd2095294eb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a6110c19190611b75565b62061a806110cf9190611bbf565b600254600a6110de9190611b75565b62061a806110ec9190611bbf565b600254600a6110fb9190611b75565b61d6d86111089190611bbf565b60405161111a96959493929190611c7c565b60405180910390a1611162565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115990611f9b565b60405180910390fd5b50565b61116d6116f1565b73ffffffffffffffffffffffffffffffffffffffff1661118b61129b565b73ffffffffffffffffffffffffffffffffffffffff16146111e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d89061192b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60169054906101000a900460ff1681565b5f60149054906101000a900460ff1681565b5f60159054906101000a900460ff1681565b6113006116f1565b73ffffffffffffffffffffffffffffffffffffffff1661131e61129b565b73ffffffffffffffffffffffffffffffffffffffff1614611374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136b9061192b565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330600254600a6113c29190611b75565b630518a0606113d19190611bbf565b6040518463ffffffff1660e01b81526004016113ef93929190611fb9565b6020604051808303815f875af115801561140b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142f9190611c51565b507f47170ad76c9bbdb15dfbafd993321119023982de922af38d00684afaac15b8ea33600254600a6114619190611b75565b630518a0606114709190611bbf565b60405161147e929190611c00565b60405180910390a1565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114e39190611737565b602060405180830381865afa1580156114fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115229190611e61565b905090565b61152f6116f1565b73ffffffffffffffffffffffffffffffffffffffff1661154d61129b565b73ffffffffffffffffffffffffffffffffffffffff16146115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a9061192b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116089061205e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611721826116f8565b9050919050565b61173181611717565b82525050565b5f60208201905061174a5f830184611728565b92915050565b5f819050919050565b61176281611750565b82525050565b5f60208201905061177b5f830184611759565b92915050565b5f819050919050565b5f6117a461179f61179a846116f8565b611781565b6116f8565b9050919050565b5f6117b58261178a565b9050919050565b5f6117c6826117ab565b9050919050565b6117d6816117bc565b82525050565b5f6020820190506117ef5f8301846117cd565b92915050565b5f80fd5b61180281611717565b811461180c575f80fd5b50565b5f8135905061181d816117f9565b92915050565b5f805f6060848603121561183a576118396117f5565b5b5f6118478682870161180f565b93505060206118588682870161180f565b92505060406118698682870161180f565b9150509250925092565b5f8115159050919050565b61188781611873565b82525050565b5f6020820190506118a05f83018461187e565b92915050565b5f602082840312156118bb576118ba6117f5565b5b5f6118c88482850161180f565b91505092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6119156020836118d1565b9150611920826118e1565b602082019050919050565b5f6020820190508181035f83015261194281611909565b9050919050565b7f57616c6c657473204e6f742053657400000000000000000000000000000000005f82015250565b5f61197d600f836118d1565b915061198882611949565b602082019050919050565b5f6020820190508181035f8301526119aa81611971565b9050919050565b7f43616e206f6e6c792062652063616c6c6564206f6e63650000000000000000005f82015250565b5f6119e56017836118d1565b91506119f0826119b1565b602082019050919050565b5f6020820190508181035f830152611a12816119d9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611a9b57808604811115611a7757611a76611a19565b5b6001851615611a865780820291505b8081029050611a9485611a46565b9450611a5b565b94509492505050565b5f82611ab35760019050611b6e565b81611ac0575f9050611b6e565b8160018114611ad65760028114611ae057611b0f565b6001915050611b6e565b60ff841115611af257611af1611a19565b5b8360020a915084821115611b0957611b08611a19565b5b50611b6e565b5060208310610133831016604e8410600b8410161715611b445782820a905083811115611b3f57611b3e611a19565b5b611b6e565b611b518484846001611a52565b92509050818404811115611b6857611b67611a19565b5b81810290505b9392505050565b5f611b7f82611750565b9150611b8a83611750565b9250611bb77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611aa4565b905092915050565b5f611bc982611750565b9150611bd483611750565b9250828202611be281611750565b91508282048414831517611bf957611bf8611a19565b5b5092915050565b5f604082019050611c135f830185611728565b611c206020830184611759565b9392505050565b611c3081611873565b8114611c3a575f80fd5b50565b5f81519050611c4b81611c27565b92915050565b5f60208284031215611c6657611c656117f5565b5b5f611c7384828501611c3d565b91505092915050565b5f60c082019050611c8f5f830189611728565b611c9c6020830188611728565b611ca96040830187611728565b611cb66060830186611759565b611cc36080830185611759565b611cd060a0830184611759565b979650505050505050565b7f43616e2062652063616c6c6564206f6e6c792066726f6d20656d657267656e635f8201527f792077616c6c6574000000000000000000000000000000000000000000000000602082015250565b5f611d356028836118d1565b9150611d4082611cdb565b604082019050919050565b5f6020820190508181035f830152611d6281611d29565b9050919050565b5f611d7382611750565b9150611d7e83611750565b9250828203905081811115611d9657611d95611a19565b5b92915050565b5f611da682611750565b9150611db183611750565b9250828201905080821115611dc957611dc8611a19565b5b92915050565b7f506572696f6420686173206e6f742070617373656400000000000000000000005f82015250565b5f611e036015836118d1565b9150611e0e82611dcf565b602082019050919050565b5f6020820190508181035f830152611e3081611df7565b9050919050565b611e4081611750565b8114611e4a575f80fd5b50565b5f81519050611e5b81611e37565b92915050565b5f60208284031215611e7657611e756117f5565b5b5f611e8384828501611e4d565b91505092915050565b7f496e697469616c697a65203173742057697468647261776c00000000000000005f82015250565b5f611ec06018836118d1565b9150611ecb82611e8c565b602082019050919050565b5f6020820190508181035f830152611eed81611eb4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611f2b82611750565b9150611f3683611750565b925082611f4657611f45611ef4565b5b828204905092915050565b7f4e6f20706572696f6420746f20636c61696d00000000000000000000000000005f82015250565b5f611f856012836118d1565b9150611f9082611f51565b602082019050919050565b5f6020820190508181035f830152611fb281611f79565b9050919050565b5f606082019050611fcc5f830186611728565b611fd96020830185611728565b611fe66040830184611759565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6120486026836118d1565b915061205382611fee565b604082019050919050565b5f6020820190508181035f8301526120758161203c565b905091905056fea2646970667358221220816b0787e68b3a132b5128a1928382e3f0008790d76a0e9d1dc5ae03fbb7dc9a64736f6c63430008190033000000000000000000000000ff22c94ffb6bb5d1df18beb5fd1dfe7583d3b214000000000000000000000000ad806e5478c630df601565b08c12ddd6615f9875

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061011f575f3560e01c806370efc6f5116100ab578063cb270c191161006f578063cb270c1914610275578063d0e30db014610293578063d79bd4991461029d578063f2fde38b146102bb578063ffdb1877146102d75761011f565b806370efc6f514610207578063715018a6146102115780638da5cb5b1461021b5780639afb319814610239578063c9cbbc87146102575761011f565b8063363bf964116100f2578063363bf9641461019b57806338635939146101b75780633c918bae146101c15780635b0a3843146101df57806361bc221a146101e95761011f565b80630b8d0a281461012357806319855690146101415780631a026c961461015f5780632d2667601461017d575b5f80fd5b61012b6102f5565b6040516101389190611737565b60405180910390f35b61014961031a565b6040516101569190611768565b60405180910390f35b610167610320565b6040516101749190611737565b60405180910390f35b610185610345565b60405161019291906117dc565b60405180910390f35b6101b560048036038101906101b09190611823565b61036a565b005b6101bf6104c5565b005b6101c9610991565b6040516101d69190611737565b60405180910390f35b6101e76109b6565b005b6101f1610c76565b6040516101fe9190611768565b60405180910390f35b61020f610c7c565b005b610219611165565b005b61022361129b565b6040516102309190611737565b60405180910390f35b6102416112c2565b60405161024e919061188d565b60405180910390f35b61025f6112d4565b60405161026c919061188d565b60405180910390f35b61027d6112e6565b60405161028a919061188d565b60405180910390f35b61029b6112f8565b005b6102a5611488565b6040516102b29190611768565b60405180910390f35b6102d560048036038101906102d091906118a6565b611527565b005b6102df6116cc565b6040516102ec9190611737565b60405180910390f35b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6103726116f1565b73ffffffffffffffffffffffffffffffffffffffff1661039061129b565b73ffffffffffffffffffffffffffffffffffffffff16146103e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103dd9061192b565b60405180910390fd5b8260045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f60166101000a81548160ff021916908315150217905550505050565b6104cd6116f1565b73ffffffffffffffffffffffffffffffffffffffff166104eb61129b565b73ffffffffffffffffffffffffffffffffffffffff1614610541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061192b565b60405180910390fd5b600115155f60169054906101000a900460ff16151514610596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058d90611993565b60405180910390fd5b5f15155f60149054906101000a900460ff161515146105ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e1906119fb565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a6106589190611b75565b62061a806106669190611bbf565b6040518363ffffffff1660e01b8152600401610683929190611c00565b6020604051808303815f875af115801561069f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c39190611c51565b5060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a6107329190611b75565b62061a806107409190611bbf565b6040518363ffffffff1660e01b815260040161075d929190611c00565b6020604051808303815f875af1158015610779573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079d9190611c51565b5060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a61080c9190611b75565b61d6d86108199190611bbf565b6040518363ffffffff1660e01b8152600401610836929190611c00565b6020604051808303815f875af1158015610852573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108769190611c51565b5060015f60146101000a81548160ff021916908315150217905550426007819055507fae12f8987f7f394b7f25ab303ac95e978418da814fd9ea9763e08a2b8883c0bb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a61092e9190611b75565b62061a8061093c9190611bbf565b600254600a61094b9190611b75565b62061a806109599190611bbf565b600254600a6109689190611b75565b61d6d86109759190611bbf565b60405161098796959493929190611c7c565b60405180910390a1565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3c90611d4b565b60405180910390fd5b5f15155f60159054906101000a900460ff16151514610a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a90906119fb565b60405180910390fd5b6003546063610aa89190611d69565b600154610ab59190611bbf565b600754610ac29190611d9c565b421015610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb90611e19565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bbd9190611737565b602060405180830381865afa158015610bd8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfc9190611e61565b6040518363ffffffff1660e01b8152600401610c19929190611c00565b6020604051808303815f875af1158015610c35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c599190611c51565b5060015f60156101000a81548160ff021916908315150217905550565b60035481565b610c846116f1565b73ffffffffffffffffffffffffffffffffffffffff16610ca261129b565b73ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef9061192b565b60405180910390fd5b600115155f60149054906101000a900460ff16151514610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4490611ed6565b60405180910390fd5b5f60015460075442610d5f9190611d69565b610d699190611f21565b90505f8111156111275760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a610de19190611b75565b62061a80610def9190611bbf565b6040518363ffffffff1660e01b8152600401610e0c929190611c00565b6020604051808303815f875af1158015610e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4c9190611c51565b5060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a610ebb9190611b75565b62061a80610ec99190611bbf565b6040518363ffffffff1660e01b8152600401610ee6929190611c00565b6020604051808303815f875af1158015610f02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f269190611c51565b5060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a610f959190611b75565b61d6d8610fa29190611bbf565b6040518363ffffffff1660e01b8152600401610fbf929190611c00565b6020604051808303815f875af1158015610fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fff9190611c51565b50600160035461100f9190611d9c565b6003819055506001546007546110259190611d9c565b6007819055507f973c71e31297165b9239639cddf4c96171e83ef729f9ea66095b3dd2095294eb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254600a6110c19190611b75565b62061a806110cf9190611bbf565b600254600a6110de9190611b75565b62061a806110ec9190611bbf565b600254600a6110fb9190611b75565b61d6d86111089190611bbf565b60405161111a96959493929190611c7c565b60405180910390a1611162565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115990611f9b565b60405180910390fd5b50565b61116d6116f1565b73ffffffffffffffffffffffffffffffffffffffff1661118b61129b565b73ffffffffffffffffffffffffffffffffffffffff16146111e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d89061192b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60169054906101000a900460ff1681565b5f60149054906101000a900460ff1681565b5f60159054906101000a900460ff1681565b6113006116f1565b73ffffffffffffffffffffffffffffffffffffffff1661131e61129b565b73ffffffffffffffffffffffffffffffffffffffff1614611374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136b9061192b565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330600254600a6113c29190611b75565b630518a0606113d19190611bbf565b6040518463ffffffff1660e01b81526004016113ef93929190611fb9565b6020604051808303815f875af115801561140b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142f9190611c51565b507f47170ad76c9bbdb15dfbafd993321119023982de922af38d00684afaac15b8ea33600254600a6114619190611b75565b630518a0606114709190611bbf565b60405161147e929190611c00565b60405180910390a1565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114e39190611737565b602060405180830381865afa1580156114fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115229190611e61565b905090565b61152f6116f1565b73ffffffffffffffffffffffffffffffffffffffff1661154d61129b565b73ffffffffffffffffffffffffffffffffffffffff16146115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a9061192b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116089061205e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611721826116f8565b9050919050565b61173181611717565b82525050565b5f60208201905061174a5f830184611728565b92915050565b5f819050919050565b61176281611750565b82525050565b5f60208201905061177b5f830184611759565b92915050565b5f819050919050565b5f6117a461179f61179a846116f8565b611781565b6116f8565b9050919050565b5f6117b58261178a565b9050919050565b5f6117c6826117ab565b9050919050565b6117d6816117bc565b82525050565b5f6020820190506117ef5f8301846117cd565b92915050565b5f80fd5b61180281611717565b811461180c575f80fd5b50565b5f8135905061181d816117f9565b92915050565b5f805f6060848603121561183a576118396117f5565b5b5f6118478682870161180f565b93505060206118588682870161180f565b92505060406118698682870161180f565b9150509250925092565b5f8115159050919050565b61188781611873565b82525050565b5f6020820190506118a05f83018461187e565b92915050565b5f602082840312156118bb576118ba6117f5565b5b5f6118c88482850161180f565b91505092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6119156020836118d1565b9150611920826118e1565b602082019050919050565b5f6020820190508181035f83015261194281611909565b9050919050565b7f57616c6c657473204e6f742053657400000000000000000000000000000000005f82015250565b5f61197d600f836118d1565b915061198882611949565b602082019050919050565b5f6020820190508181035f8301526119aa81611971565b9050919050565b7f43616e206f6e6c792062652063616c6c6564206f6e63650000000000000000005f82015250565b5f6119e56017836118d1565b91506119f0826119b1565b602082019050919050565b5f6020820190508181035f830152611a12816119d9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611a9b57808604811115611a7757611a76611a19565b5b6001851615611a865780820291505b8081029050611a9485611a46565b9450611a5b565b94509492505050565b5f82611ab35760019050611b6e565b81611ac0575f9050611b6e565b8160018114611ad65760028114611ae057611b0f565b6001915050611b6e565b60ff841115611af257611af1611a19565b5b8360020a915084821115611b0957611b08611a19565b5b50611b6e565b5060208310610133831016604e8410600b8410161715611b445782820a905083811115611b3f57611b3e611a19565b5b611b6e565b611b518484846001611a52565b92509050818404811115611b6857611b67611a19565b5b81810290505b9392505050565b5f611b7f82611750565b9150611b8a83611750565b9250611bb77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611aa4565b905092915050565b5f611bc982611750565b9150611bd483611750565b9250828202611be281611750565b91508282048414831517611bf957611bf8611a19565b5b5092915050565b5f604082019050611c135f830185611728565b611c206020830184611759565b9392505050565b611c3081611873565b8114611c3a575f80fd5b50565b5f81519050611c4b81611c27565b92915050565b5f60208284031215611c6657611c656117f5565b5b5f611c7384828501611c3d565b91505092915050565b5f60c082019050611c8f5f830189611728565b611c9c6020830188611728565b611ca96040830187611728565b611cb66060830186611759565b611cc36080830185611759565b611cd060a0830184611759565b979650505050505050565b7f43616e2062652063616c6c6564206f6e6c792066726f6d20656d657267656e635f8201527f792077616c6c6574000000000000000000000000000000000000000000000000602082015250565b5f611d356028836118d1565b9150611d4082611cdb565b604082019050919050565b5f6020820190508181035f830152611d6281611d29565b9050919050565b5f611d7382611750565b9150611d7e83611750565b9250828203905081811115611d9657611d95611a19565b5b92915050565b5f611da682611750565b9150611db183611750565b9250828201905080821115611dc957611dc8611a19565b5b92915050565b7f506572696f6420686173206e6f742070617373656400000000000000000000005f82015250565b5f611e036015836118d1565b9150611e0e82611dcf565b602082019050919050565b5f6020820190508181035f830152611e3081611df7565b9050919050565b611e4081611750565b8114611e4a575f80fd5b50565b5f81519050611e5b81611e37565b92915050565b5f60208284031215611e7657611e756117f5565b5b5f611e8384828501611e4d565b91505092915050565b7f496e697469616c697a65203173742057697468647261776c00000000000000005f82015250565b5f611ec06018836118d1565b9150611ecb82611e8c565b602082019050919050565b5f6020820190508181035f830152611eed81611eb4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611f2b82611750565b9150611f3683611750565b925082611f4657611f45611ef4565b5b828204905092915050565b7f4e6f20706572696f6420746f20636c61696d00000000000000000000000000005f82015250565b5f611f856012836118d1565b9150611f9082611f51565b602082019050919050565b5f6020820190508181035f830152611fb281611f79565b9050919050565b5f606082019050611fcc5f830186611728565b611fd96020830185611728565b611fe66040830184611759565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6120486026836118d1565b915061205382611fee565b604082019050919050565b5f6020820190508181035f8301526120758161203c565b905091905056fea2646970667358221220816b0787e68b3a132b5128a1928382e3f0008790d76a0e9d1dc5ae03fbb7dc9a64736f6c63430008190033

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

000000000000000000000000ff22c94ffb6bb5d1df18beb5fd1dfe7583d3b214000000000000000000000000ad806e5478c630df601565b08c12ddd6615f9875

-----Decoded View---------------
Arg [0] : _ipmb (address): 0xFF22c94FFb6bB5d1DF18bEb5fd1dFE7583D3B214
Arg [1] : _emrgWallet (address): 0xAD806E5478C630Df601565B08C12DDd6615f9875

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ff22c94ffb6bb5d1df18beb5fd1dfe7583d3b214
Arg [1] : 000000000000000000000000ad806e5478c630df601565b08c12ddd6615f9875


Deployed Bytecode Sourcemap

244:3855:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;515:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;573:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;486:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;615:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1614:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1932:574;;;:::i;:::-;;544:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3485:422;;;:::i;:::-;;457:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2559:844;;;:::i;:::-;;1816:148:2;;;:::i;:::-;;1165:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;377:22:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;312:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;345:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1363:197;;;:::i;:::-;;3982:112;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2119:244:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;640:25:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;515:22;;;;;;;;;;;;;:::o;573:35::-;;;;:::o;486:22::-;;;;;;;;;;;;;:::o;615:18::-;;;;;;;;;;;;;:::o;1614:216::-;1396:12:2;:10;:12::i;:::-;1385:23;;:7;:5;:7::i;:::-;:23;;;1377:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1728:8:3::1;1718:7;;:18;;;;;;;;;;;;;;;;;;1757:8;1747:7;;:18;;;;;;;;;;;;;;;;;;1786:8;1776:7;;:18;;;;;;;;;;;;;;;;;;1818:4;1805:10;;:17;;;;;;;;;;;;;;;;;;1614:216:::0;;;:::o;1932:574::-;1396:12:2;:10;:12::i;:::-;1385:23;;:7;:5;:7::i;:::-;:23;;;1377:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2011:4:3::1;1997:18;;:10;;;;;;;;;;;:18;;;1989:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2072:5;2054:23;;:14;;;;;;;;;;;:23;;;2046:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2116:4;;;;;;;;;;;:13;;;2130:7;;;;;;;;;;;2154:8;;2148:2;:14;;;;:::i;:::-;2139:6;:23;;;;:::i;:::-;2116:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2174:4;;;;;;;;;;;:13;;;2188:7;;;;;;;;;;;2212:8;;2206:2;:14;;;;:::i;:::-;2197:6;:23;;;;:::i;:::-;2174:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2232:4;;;;;;;;;;;:13;;;2246:7;;;;;;;;;;;2269:8;;2263:2;:14;;;;:::i;:::-;2255:5;:22;;;;:::i;:::-;2232:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2306:4;2289:14;;:21;;;;;;;;;;;;;;;;;;2344:15;2321:20;:38;;;;2375:123;2398:7;;;;;;;;;;;2407;;;;;;;;;;;2416;;;;;;;;;;;2440:8;;2434:2;:14;;;;:::i;:::-;2425:6;:23;;;;:::i;:::-;2465:8;;2459:2;:14;;;;:::i;:::-;2450:6;:23;;;;:::i;:::-;2489:8;;2483:2;:14;;;;:::i;:::-;2475:5;:22;;;;:::i;:::-;2375:123;;;;;;;;;;;:::i;:::-;;;;;;;;1932:574::o:0;544:22::-;;;;;;;;;;;;;:::o;3485:422::-;3556:10;;;;;;;;;;;3542:24;;:10;:24;;;3534:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;3647:5;3630:22;;:13;;;;;;;;;;;:22;;;3622:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3765:7;;3760:2;:12;;;;:::i;:::-;3743:13;;:30;;;;:::i;:::-;3719:20;;:55;;;;:::i;:::-;3699:15;:76;;3691:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;3812:4;;;;;;;;;;;:13;;;3826:10;;;;;;;;;;;3838:4;;;;;;;;;;;:14;;;3861:4;3838:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3812:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3895:4;3879:13;;:20;;;;;;;;;;;;;;;;;;3485:422::o;457:22::-;;;;:::o;2559:844::-;1396:12:2;:10;:12::i;:::-;1385:23;;:7;:5;:7::i;:::-;:23;;;1377:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2641:4:3::1;2623:22;;:14;;;;;;;;;;;:22;;;2615:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2685:22;2753:13;;2729:20;;2711:15;:38;;;;:::i;:::-;2710:56;;;;:::i;:::-;2685:81;;2798:1;2781:14;:18;2777:619;;;2816:4;;;;;;;;;;;:13;;;2830:7;;;;;;;;;;;2854:8;;2848:2;:14;;;;:::i;:::-;2839:6;:23;;;;:::i;:::-;2816:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2907:4;;;;;;;;;;;:13;;;2921:7;;;;;;;;;;;2945:8;;2939:2;:14;;;;:::i;:::-;2930:6;:23;;;;:::i;:::-;2907:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2998:4;;;;;;;;;;;:13;;;3012:7;;;;;;;;;;;3035:8;;3029:2;:14;;;;:::i;:::-;3021:5;:22;;;;:::i;:::-;2998:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3107:1;3097:7;;:11;;;;:::i;:::-;3087:7;:21;;;;3169:13;;3146:20;;:36;;;;:::i;:::-;3123:20;:59;;;;3202:121;3223:7;;;;;;;;;;;3232;;;;;;;;;;;3241;;;;;;;;;;;3265:8;;3259:2;:14;;;;:::i;:::-;3250:6;:23;;;;:::i;:::-;3290:8;;3284:2;:14;;;;:::i;:::-;3275:6;:23;;;;:::i;:::-;3314:8;;3308:2;:14;;;;:::i;:::-;3300:5;:22;;;;:::i;:::-;3202:121;;;;;;;;;;;:::i;:::-;;;;;;;;2777:619;;;3356:28;;;;;;;;;;:::i;:::-;;;;;;;;2777:619;2604:799;2559:844::o:0;1816:148:2:-;1396:12;:10;:12::i;:::-;1385:23;;:7;:5;:7::i;:::-;:23;;;1377:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1923:1:::1;1886:40;;1907:6;::::0;::::1;;;;;;;;1886:40;;;;;;;;;;;;1954:1;1937:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1816:148::o:0;1165:87::-;1211:7;1238:6;;;;;;;;;;;1231:13;;1165:87;:::o;377:22:3:-;;;;;;;;;;;;;:::o;312:26::-;;;;;;;;;;;;;:::o;345:25::-;;;;;;;;;;;;;:::o;1363:197::-;1396:12:2;:10;:12::i;:::-;1385:23;;:7;:5;:7::i;:::-;:23;;;1377:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1410:4:3::1;;;;;;;;;;;:17;;;1428:10;1448:4;1473:8;;1467:2;:14;;;;:::i;:::-;1455:8;:27;;;;:::i;:::-;1410:73;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1499:53;1512:10;1542:8;;1536:2;:14;;;;:::i;:::-;1524:8;:27;;;;:::i;:::-;1499:53;;;;;;;:::i;:::-;;;;;;;;1363:197::o:0;3982:112::-;4030:7;4057:4;;;;;;;;;;;:14;;;4080:4;4057:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4050:36;;3982:112;:::o;2119:244:2:-;1396:12;:10;:12::i;:::-;1385:23;;:7;:5;:7::i;:::-;:23;;;1377:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2228:1:::1;2208:22;;:8;:22;;::::0;2200:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2318:8;2289:38;;2310:6;::::0;::::1;;;;;;;;2289:38;;;;;;;;;;;;2347:8;2338:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2119:244:::0;:::o;640:25:3:-;;;;;;;;;;;;;:::o;605:98:0:-;658:7;685:10;678:17;;605:98;:::o;7:126:4:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:77::-;630:7;659:5;648:16;;593:77;;;:::o;676:118::-;763:24;781:5;763:24;:::i;:::-;758:3;751:37;676:118;;:::o;800:222::-;893:4;931:2;920:9;916:18;908:26;;944:71;1012:1;1001:9;997:17;988:6;944:71;:::i;:::-;800:222;;;;:::o;1028:60::-;1056:3;1077:5;1070:12;;1028:60;;;:::o;1094:142::-;1144:9;1177:53;1195:34;1204:24;1222:5;1204:24;:::i;:::-;1195:34;:::i;:::-;1177:53;:::i;:::-;1164:66;;1094:142;;;:::o;1242:126::-;1292:9;1325:37;1356:5;1325:37;:::i;:::-;1312:50;;1242:126;;;:::o;1374:140::-;1438:9;1471:37;1502:5;1471:37;:::i;:::-;1458:50;;1374:140;;;:::o;1520:159::-;1621:51;1666:5;1621:51;:::i;:::-;1616:3;1609:64;1520:159;;:::o;1685:250::-;1792:4;1830:2;1819:9;1815:18;1807:26;;1843:85;1925:1;1914:9;1910:17;1901:6;1843:85;:::i;:::-;1685:250;;;;:::o;2022:117::-;2131:1;2128;2121:12;2268:122;2341:24;2359:5;2341:24;:::i;:::-;2334:5;2331:35;2321:63;;2380:1;2377;2370:12;2321:63;2268:122;:::o;2396:139::-;2442:5;2480:6;2467:20;2458:29;;2496:33;2523:5;2496:33;:::i;:::-;2396:139;;;;:::o;2541:619::-;2618:6;2626;2634;2683:2;2671:9;2662:7;2658:23;2654:32;2651:119;;;2689:79;;:::i;:::-;2651:119;2809:1;2834:53;2879:7;2870:6;2859:9;2855:22;2834:53;:::i;:::-;2824:63;;2780:117;2936:2;2962:53;3007:7;2998:6;2987:9;2983:22;2962:53;:::i;:::-;2952:63;;2907:118;3064:2;3090:53;3135:7;3126:6;3115:9;3111:22;3090:53;:::i;:::-;3080:63;;3035:118;2541:619;;;;;:::o;3166:90::-;3200:7;3243:5;3236:13;3229:21;3218:32;;3166:90;;;:::o;3262:109::-;3343:21;3358:5;3343:21;:::i;:::-;3338:3;3331:34;3262:109;;:::o;3377:210::-;3464:4;3502:2;3491:9;3487:18;3479:26;;3515:65;3577:1;3566:9;3562:17;3553:6;3515:65;:::i;:::-;3377:210;;;;:::o;3593:329::-;3652:6;3701:2;3689:9;3680:7;3676:23;3672:32;3669:119;;;3707:79;;:::i;:::-;3669:119;3827:1;3852:53;3897:7;3888:6;3877:9;3873:22;3852:53;:::i;:::-;3842:63;;3798:117;3593:329;;;;:::o;3928:169::-;4012:11;4046:6;4041:3;4034:19;4086:4;4081:3;4077:14;4062:29;;3928:169;;;;:::o;4103:182::-;4243:34;4239:1;4231:6;4227:14;4220:58;4103:182;:::o;4291:366::-;4433:3;4454:67;4518:2;4513:3;4454:67;:::i;:::-;4447:74;;4530:93;4619:3;4530:93;:::i;:::-;4648:2;4643:3;4639:12;4632:19;;4291:366;;;:::o;4663:419::-;4829:4;4867:2;4856:9;4852:18;4844:26;;4916:9;4910:4;4906:20;4902:1;4891:9;4887:17;4880:47;4944:131;5070:4;4944:131;:::i;:::-;4936:139;;4663:419;;;:::o;5088:165::-;5228:17;5224:1;5216:6;5212:14;5205:41;5088:165;:::o;5259:366::-;5401:3;5422:67;5486:2;5481:3;5422:67;:::i;:::-;5415:74;;5498:93;5587:3;5498:93;:::i;:::-;5616:2;5611:3;5607:12;5600:19;;5259:366;;;:::o;5631:419::-;5797:4;5835:2;5824:9;5820:18;5812:26;;5884:9;5878:4;5874:20;5870:1;5859:9;5855:17;5848:47;5912:131;6038:4;5912:131;:::i;:::-;5904:139;;5631:419;;;:::o;6056:173::-;6196:25;6192:1;6184:6;6180:14;6173:49;6056:173;:::o;6235:366::-;6377:3;6398:67;6462:2;6457:3;6398:67;:::i;:::-;6391:74;;6474:93;6563:3;6474:93;:::i;:::-;6592:2;6587:3;6583:12;6576:19;;6235:366;;;:::o;6607:419::-;6773:4;6811:2;6800:9;6796:18;6788:26;;6860:9;6854:4;6850:20;6846:1;6835:9;6831:17;6824:47;6888:131;7014:4;6888:131;:::i;:::-;6880:139;;6607:419;;;:::o;7032:180::-;7080:77;7077:1;7070:88;7177:4;7174:1;7167:15;7201:4;7198:1;7191:15;7218:102;7260:8;7307:5;7304:1;7300:13;7279:34;;7218:102;;;:::o;7326:848::-;7387:5;7394:4;7418:6;7409:15;;7442:5;7433:14;;7456:712;7477:1;7467:8;7464:15;7456:712;;;7572:4;7567:3;7563:14;7557:4;7554:24;7551:50;;;7581:18;;:::i;:::-;7551:50;7631:1;7621:8;7617:16;7614:451;;;8046:4;8039:5;8035:16;8026:25;;7614:451;8096:4;8090;8086:15;8078:23;;8126:32;8149:8;8126:32;:::i;:::-;8114:44;;7456:712;;;7326:848;;;;;;;:::o;8180:1073::-;8234:5;8425:8;8415:40;;8446:1;8437:10;;8448:5;;8415:40;8474:4;8464:36;;8491:1;8482:10;;8493:5;;8464:36;8560:4;8608:1;8603:27;;;;8644:1;8639:191;;;;8553:277;;8603:27;8621:1;8612:10;;8623:5;;;8639:191;8684:3;8674:8;8671:17;8668:43;;;8691:18;;:::i;:::-;8668:43;8740:8;8737:1;8733:16;8724:25;;8775:3;8768:5;8765:14;8762:40;;;8782:18;;:::i;:::-;8762:40;8815:5;;;8553:277;;8939:2;8929:8;8926:16;8920:3;8914:4;8911:13;8907:36;8889:2;8879:8;8876:16;8871:2;8865:4;8862:12;8858:35;8842:111;8839:246;;;8995:8;8989:4;8985:19;8976:28;;9030:3;9023:5;9020:14;9017:40;;;9037:18;;:::i;:::-;9017:40;9070:5;;8839:246;9110:42;9148:3;9138:8;9132:4;9129:1;9110:42;:::i;:::-;9095:57;;;;9184:4;9179:3;9175:14;9168:5;9165:25;9162:51;;;9193:18;;:::i;:::-;9162:51;9242:4;9235:5;9231:16;9222:25;;8180:1073;;;;;;:::o;9259:285::-;9319:5;9343:23;9361:4;9343:23;:::i;:::-;9335:31;;9387:27;9405:8;9387:27;:::i;:::-;9375:39;;9433:104;9470:66;9460:8;9454:4;9433:104;:::i;:::-;9424:113;;9259:285;;;;:::o;9550:410::-;9590:7;9613:20;9631:1;9613:20;:::i;:::-;9608:25;;9647:20;9665:1;9647:20;:::i;:::-;9642:25;;9702:1;9699;9695:9;9724:30;9742:11;9724:30;:::i;:::-;9713:41;;9903:1;9894:7;9890:15;9887:1;9884:22;9864:1;9857:9;9837:83;9814:139;;9933:18;;:::i;:::-;9814:139;9598:362;9550:410;;;;:::o;9966:332::-;10087:4;10125:2;10114:9;10110:18;10102:26;;10138:71;10206:1;10195:9;10191:17;10182:6;10138:71;:::i;:::-;10219:72;10287:2;10276:9;10272:18;10263:6;10219:72;:::i;:::-;9966:332;;;;;:::o;10304:116::-;10374:21;10389:5;10374:21;:::i;:::-;10367:5;10364:32;10354:60;;10410:1;10407;10400:12;10354:60;10304:116;:::o;10426:137::-;10480:5;10511:6;10505:13;10496:22;;10527:30;10551:5;10527:30;:::i;:::-;10426:137;;;;:::o;10569:345::-;10636:6;10685:2;10673:9;10664:7;10660:23;10656:32;10653:119;;;10691:79;;:::i;:::-;10653:119;10811:1;10836:61;10889:7;10880:6;10869:9;10865:22;10836:61;:::i;:::-;10826:71;;10782:125;10569:345;;;;:::o;10920:775::-;11153:4;11191:3;11180:9;11176:19;11168:27;;11205:71;11273:1;11262:9;11258:17;11249:6;11205:71;:::i;:::-;11286:72;11354:2;11343:9;11339:18;11330:6;11286:72;:::i;:::-;11368;11436:2;11425:9;11421:18;11412:6;11368:72;:::i;:::-;11450;11518:2;11507:9;11503:18;11494:6;11450:72;:::i;:::-;11532:73;11600:3;11589:9;11585:19;11576:6;11532:73;:::i;:::-;11615;11683:3;11672:9;11668:19;11659:6;11615:73;:::i;:::-;10920:775;;;;;;;;;:::o;11701:227::-;11841:34;11837:1;11829:6;11825:14;11818:58;11910:10;11905:2;11897:6;11893:15;11886:35;11701:227;:::o;11934:366::-;12076:3;12097:67;12161:2;12156:3;12097:67;:::i;:::-;12090:74;;12173:93;12262:3;12173:93;:::i;:::-;12291:2;12286:3;12282:12;12275:19;;11934:366;;;:::o;12306:419::-;12472:4;12510:2;12499:9;12495:18;12487:26;;12559:9;12553:4;12549:20;12545:1;12534:9;12530:17;12523:47;12587:131;12713:4;12587:131;:::i;:::-;12579:139;;12306:419;;;:::o;12731:194::-;12771:4;12791:20;12809:1;12791:20;:::i;:::-;12786:25;;12825:20;12843:1;12825:20;:::i;:::-;12820:25;;12869:1;12866;12862:9;12854:17;;12893:1;12887:4;12884:11;12881:37;;;12898:18;;:::i;:::-;12881:37;12731:194;;;;:::o;12931:191::-;12971:3;12990:20;13008:1;12990:20;:::i;:::-;12985:25;;13024:20;13042:1;13024:20;:::i;:::-;13019:25;;13067:1;13064;13060:9;13053:16;;13088:3;13085:1;13082:10;13079:36;;;13095:18;;:::i;:::-;13079:36;12931:191;;;;:::o;13128:171::-;13268:23;13264:1;13256:6;13252:14;13245:47;13128:171;:::o;13305:366::-;13447:3;13468:67;13532:2;13527:3;13468:67;:::i;:::-;13461:74;;13544:93;13633:3;13544:93;:::i;:::-;13662:2;13657:3;13653:12;13646:19;;13305:366;;;:::o;13677:419::-;13843:4;13881:2;13870:9;13866:18;13858:26;;13930:9;13924:4;13920:20;13916:1;13905:9;13901:17;13894:47;13958:131;14084:4;13958:131;:::i;:::-;13950:139;;13677:419;;;:::o;14102:122::-;14175:24;14193:5;14175:24;:::i;:::-;14168:5;14165:35;14155:63;;14214:1;14211;14204:12;14155:63;14102:122;:::o;14230:143::-;14287:5;14318:6;14312:13;14303:22;;14334:33;14361:5;14334:33;:::i;:::-;14230:143;;;;:::o;14379:351::-;14449:6;14498:2;14486:9;14477:7;14473:23;14469:32;14466:119;;;14504:79;;:::i;:::-;14466:119;14624:1;14649:64;14705:7;14696:6;14685:9;14681:22;14649:64;:::i;:::-;14639:74;;14595:128;14379:351;;;;:::o;14736:174::-;14876:26;14872:1;14864:6;14860:14;14853:50;14736:174;:::o;14916:366::-;15058:3;15079:67;15143:2;15138:3;15079:67;:::i;:::-;15072:74;;15155:93;15244:3;15155:93;:::i;:::-;15273:2;15268:3;15264:12;15257:19;;14916:366;;;:::o;15288:419::-;15454:4;15492:2;15481:9;15477:18;15469:26;;15541:9;15535:4;15531:20;15527:1;15516:9;15512:17;15505:47;15569:131;15695:4;15569:131;:::i;:::-;15561:139;;15288:419;;;:::o;15713:180::-;15761:77;15758:1;15751:88;15858:4;15855:1;15848:15;15882:4;15879:1;15872:15;15899:185;15939:1;15956:20;15974:1;15956:20;:::i;:::-;15951:25;;15990:20;16008:1;15990:20;:::i;:::-;15985:25;;16029:1;16019:35;;16034:18;;:::i;:::-;16019:35;16076:1;16073;16069:9;16064:14;;15899:185;;;;:::o;16090:168::-;16230:20;16226:1;16218:6;16214:14;16207:44;16090:168;:::o;16264:366::-;16406:3;16427:67;16491:2;16486:3;16427:67;:::i;:::-;16420:74;;16503:93;16592:3;16503:93;:::i;:::-;16621:2;16616:3;16612:12;16605:19;;16264:366;;;:::o;16636:419::-;16802:4;16840:2;16829:9;16825:18;16817:26;;16889:9;16883:4;16879:20;16875:1;16864:9;16860:17;16853:47;16917:131;17043:4;16917:131;:::i;:::-;16909:139;;16636:419;;;:::o;17061:442::-;17210:4;17248:2;17237:9;17233:18;17225:26;;17261:71;17329:1;17318:9;17314:17;17305:6;17261:71;:::i;:::-;17342:72;17410:2;17399:9;17395:18;17386:6;17342:72;:::i;:::-;17424;17492:2;17481:9;17477:18;17468:6;17424:72;:::i;:::-;17061:442;;;;;;:::o;17509:225::-;17649:34;17645:1;17637:6;17633:14;17626:58;17718:8;17713:2;17705:6;17701:15;17694:33;17509:225;:::o;17740:366::-;17882:3;17903:67;17967:2;17962:3;17903:67;:::i;:::-;17896:74;;17979:93;18068:3;17979:93;:::i;:::-;18097:2;18092:3;18088:12;18081:19;;17740:366;;;:::o;18112:419::-;18278:4;18316:2;18305:9;18301:18;18293:26;;18365:9;18359:4;18355:20;18351:1;18340:9;18336:17;18329:47;18393:131;18519:4;18393:131;:::i;:::-;18385:139;;18112:419;;;:::o

Swarm Source

ipfs://816b0787e68b3a132b5128a1928382e3f0008790d76a0e9d1dc5ae03fbb7dc9a
Loading...
Loading
[ 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.