Contract 0x565a556923e13b94c6e9bbfd303d88ab36f2ac29 2

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x577ef4d1fa2759c860d113ec11ce0ae2e76d32b0572d222c408cb11599ad4961Approve433297502023-05-30 13:48:236 hrs 32 mins ago0x7c1b94a0d777eb1a3db8ed461fecdad72fb9af78 IN  Galactic Union: GU Token0 MATIC0.00530328723194.402024589
0x95e21dd5ee5e676dc164f7fff642e4fd39011421a91960477ae7aa6ac30d87c8Transfer433158962023-05-30 5:24:4214 hrs 56 mins ago nft-world-.nft  IN  Galactic Union: GU Token0 MATIC0.004681388668171.857146424
0x20b6697607bde929f92267fad24390d116f6231b9b3c66e614d5193ee325cc7fTransfer432800472023-05-29 7:31:071 day 12 hrs ago0x4875350e812331b60d4e5b3520e924708db49205 IN  Galactic Union: GU Token0 MATIC0.005026427606184.605097916
0xb6be999cc1a55a324ebf1ae367a52b2a0d4f689392348d24436922b0147a3102Approve432757902023-05-29 4:53:291 day 15 hrs ago 775577id.crypto  IN  Galactic Union: GU Token0 MATIC0.016476628167332.43136485
0xc4b3885818947229e53e45af3ea48d0a9be606b6c5151c2cbe512eebc6a6ae19Approve432754102023-05-29 4:39:411 day 15 hrs ago0xb950adb559311f4f42dadef74bfa848ac2caa8d6 IN  Galactic Union: GU Token0 MATIC0.004573916656167.665566598
0xb4dd23f3fb69e2763bf063334fb8ab962c0655e232ba933d998201f45dc8fcf0Approve432747042023-05-29 4:13:441 day 16 hrs ago yulliantto.wallet  IN  Galactic Union: GU Token0 MATIC0.003853269029 141.248864727
0xbb6eef50347d2643f71962d99ca2096a8aaed747f9f43348fd4b10b2fa00f2d4Approve432444112023-05-28 9:45:042 days 10 hrs ago0xc1e170a25856925b7d510b0b2ad518f14b783653 IN  Galactic Union: GU Token0 MATIC0.007642136255 154.187237814
0x0ac4e6dd687fc3bd5dba89e4e474c5761356b3fc23c1d7a714a49f66b0337ec2Approve432348272023-05-28 3:57:362 days 16 hrs ago0x844873e3d82d4a81cbb49a2a118ae1746005ad80 IN  Galactic Union: GU Token0 MATIC0.011506226112232.148860319
0x4895b6b7a44f8e7cd7f4d90bd6637aa22ee6ecc896872296a6f27b283ed6a222Transfer432289192023-05-28 0:20:452 days 20 hrs ago0x3dd42c9e17627a30a88a02c746fc17bf82cf58c8 IN  Galactic Union: GU Token0 MATIC0.003835721507140.874155546
0x4cab430e171cccfbdc91cab75310cc857445a83f0d5982fcd941af91d3eb5730Transfer432287702023-05-28 0:15:032 days 20 hrs ago0xd429b8544a0bc279ac8f34a161fe53f124f80a20 IN  Galactic Union: GU Token0 MATIC0.004017739722147.559120111
0x25868d2d900a220e8bf6cf08523942f47adfc18e19f3abc99e2aec7a2edf067fApprove432268722023-05-27 23:06:042 days 21 hrs ago0x68521929c7ef13c826dc4bb5e022036c19c9e658 IN  Galactic Union: GU Token0 MATIC0.008481777164 171.127777502
0x5c2d69d8e3128ab7da59b85fea2dd89a824f96e4df8bcee08b489c4e5e8ee8b3Approve432172932023-05-27 17:12:383 days 3 hrs ago0xb950adb559311f4f42dadef74bfa848ac2caa8d6 IN  Galactic Union: GU Token0 MATIC0.008525327304172.006442271
0xf184aaa832d38310cfdf99c17ff818116a57cf518ec168627bf93db89b7ce61dTransfer432139662023-05-27 15:05:183 days 5 hrs ago0x546336e70fe628ee99b8207872f0cb68522334e1 IN  Galactic Union: GU Token0 MATIC0.005118227383187.976619036
0x06ce91c3fbc0df640a75c7e21ac0d0686f93bee3f85203068bc24631c77485fcApprove431996812023-05-27 6:25:383 days 13 hrs ago link2dao.blockchain  IN  Galactic Union: GU Token0 MATIC0.00441148781 161.711430005
0x48e69f8b30329beb603203c18c16e0100f82d5344b5b69b6a2f2e139201e5702Approve431682092023-05-26 11:19:134 days 9 hrs ago0x62dbea25c908f84b78d7ead342bc6c40c92d1f97 IN  Galactic Union: GU Token0 MATIC0.00418349417 142.878899254
0x7b7dce1c53e64b9eabf9daa499ead23263499835f25cda5ccb5f2d2c4cefe06cApprove431681832023-05-26 11:18:174 days 9 hrs ago0x62dbea25c908f84b78d7ead342bc6c40c92d1f97 IN  Galactic Union: GU Token0 MATIC0.004102078738 150.369455228
0x1c56b7d535dbda3b5c1df9f691d1effceff891c2a9aaf846bedfe6c004f0b7b0Transfer431681562023-05-26 11:17:194 days 9 hrs ago0xb2d4bcbc0ed3e4847e6b34b9953bed6485c33b54 IN  Galactic Union: GU Token0 MATIC0.004535843263166.587456432
0x9c2991ab3a0ba50875499b46b03405d4a77f29bf1da44f032be88481864ca89bApprove431680532023-05-26 11:13:414 days 9 hrs ago0x62dbea25c908f84b78d7ead342bc6c40c92d1f97 IN  Galactic Union: GU Token0 MATIC0.005689088815194.299481399
0xa137e090f4a775f6b9af79c7bb3366ed84f8bbcd44305ddb4e931d56b51df0d9Approve431680342023-05-26 11:13:014 days 9 hrs ago0x62dbea25c908f84b78d7ead342bc6c40c92d1f97 IN  Galactic Union: GU Token0 MATIC0.013944402012281.341336716
0x75fe646ec11b0210a7b707a4d8daa26f464e864ba0a3278190f96cf77d3e1802Approve431237982023-05-25 8:22:565 days 11 hrs ago0x2b9f92fda2832ad9ef57ac37ca35f676abeb803a IN  Galactic Union: GU Token0 MATIC0.012573592681253.683977919
0x72d08aca11486cd64d3a2d47169c8ae2427dba48f6b94aefac9d0beb03237103Approve431197302023-05-25 5:56:565 days 14 hrs ago0x1e4a924db5b597bf388b8f58fe93ffb96afc66e5 IN  Galactic Union: GU Token0 MATIC0.011248068126226.940281791
0xcc041ead549e8d9f2f154f8cee9a83246035a4eb4d76aea6c89f18ad9a7edc36Approve431172152023-05-25 4:27:475 days 15 hrs ago0x8905abe11822f1c456faa918932d125a638ffa25 IN  Galactic Union: GU Token0 MATIC0.00433441441 146.116990641
0xbdb9c97567459d234a9ca2437efa41d0e098c0a6117e28e4359db2f4349d71a9Approve431171852023-05-25 4:26:455 days 15 hrs ago0x8905abe11822f1c456faa918932d125a638ffa25 IN  Galactic Union: GU Token0 MATIC0.00706666933 142.57665505
0x869a73fe274f94a208b8f37750afcdfb9994aff362e0a157ed56e7d1b9d65a0bTransfer431125132023-05-25 1:36:505 days 18 hrs ago0x0b53e6a882b658522ad1c0b16ef74343c2f73437 IN  Galactic Union: GU Token0 MATIC0.004144678072152.221172036
0x650c5f2b6f11a02e3fce66a7f4ead6d2902812965675c6997b185b6b6f9bab08Approve431094252023-05-24 23:44:425 days 20 hrs ago0x76e8522c2d030841a9558081cc6760818cc5244c IN  Galactic Union: GU Token0 MATIC0.009858902455198.91256669
[ Download CSV Export 

OVERVIEW

Information and learning portal implemented on web 3.0 for NFT Gamefi Metaverse Web 3 applications.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xb2b4f708374866c9453b912362d15e8649442efcb531c49b55d4225e3219668a354414052022-11-10 14:59:46201 days 5 hrs ago Galactic Union: GU TokenGalactic Union: Deployer24.91 MATIC
0x5f45183c4723093da1e57a01bf8861f955637f3274dd31f6164e087086ecded6354358092022-11-10 11:46:44201 days 8 hrs ago Galactic Union: GU TokenGalactic Union: Deployer25 MATIC
0xfb628350a2953beb98d562e11643a80fd0d103c9869ba765cf1e0755124a5e8e351579602022-11-03 17:42:49208 days 2 hrs ago Galactic Union: GU TokenGalactic Union: Deployer0.1 MATIC
0x4255a0e3727bacc4a5418381d6844e0ba251266ca08e2f445fe5d8a995dbee8c351576972022-11-03 17:33:47208 days 2 hrs ago Galactic Union: GU TokenGalactic Union: Deployer1 MATIC
0xf826a6b010cd5156b2ab87c84fc60ff731e3749c4e986966a55fba9b87e6c167351574492022-11-03 17:25:15208 days 2 hrs ago Galactic Union: GU Token0xf6d64a23ce944b56edb2cb582d3715f88b1308b21 MATIC
0x6aae502edbc47359e6134f5e561c2b735cd88c094db7cee0fbe2c920a857f09d338129442022-10-01 22:36:24240 days 21 hrs ago Galactic Union: GU TokenGalactic Union: Deployer10 MATIC
0x1e72f6ea8d98cab77def31b1c02bc69c591b1b031860d318601bf199ed1f8b6b338126242022-10-01 22:25:24240 days 21 hrs ago Galactic Union: GU TokenGalactic Union: Deployer10 MATIC
0x24ca535fc7a142202322c05ff4ee87186644b56359f28a994a20e2d68ccf5b0c338122632022-10-01 22:12:58240 days 22 hrs ago Galactic Union: GU TokenGalactic Union: Deployer10 MATIC
0x5643071c3337b5b8928428149f3da541309df90e751d646aa9af67ee103b0ead338120362022-10-01 22:05:12240 days 22 hrs ago Galactic Union: GU Token0x1b12a0079d00ae9a68adc94398d9c820480b7b4c10 MATIC
0x32c8e75d7972212504a1b2ed209f7dd33b2f98e782766638852c28d86df2768d338117632022-10-01 21:55:46240 days 22 hrs ago Galactic Union: GU Token0x1b12a0079d00ae9a68adc94398d9c820480b7b4c10 MATIC
0x33c5e642fb10de34b3e2203f444bb9fa222e510fbd7f8b49c385482e13e2f3de338116782022-10-01 21:52:52240 days 22 hrs ago Galactic Union: GU Token0x1b12a0079d00ae9a68adc94398d9c820480b7b4c10 MATIC
0xf19739ef35523fea70a8cc853794caf41797aef8660b18427238bd4e1ef66260338106272022-10-01 21:16:46240 days 23 hrs ago Galactic Union: GU TokenGalactic Union: Deployer10 MATIC
0x1dc2b42cf868e8dd67150b6c9860f70fefef25da09a5d56aee357a8585c24938338101122022-10-01 20:59:04240 days 23 hrs ago Galactic Union: GU Token0xf6d64a23ce944b56edb2cb582d3715f88b1308b210 MATIC
0xf2e128b81b3ffdae88a141232b996db93cdc929f8c9faf097738201886c63343337548412022-09-30 12:56:54242 days 7 hrs ago Galactic Union: GU TokenGalactic Union: Deployer40 MATIC
0x4d7b3cf673acdecedc92d96923ae22e33a395d982f823da74c5e34a5033d788d337484042022-09-30 9:11:13242 days 11 hrs ago Galactic Union: GU TokenGalactic Union: Deployer42 MATIC
0x4f8c22e10e283867477c0d0b7420a9689a34fc43f1a08c40537f0c28ea19a341335604702022-09-25 19:20:46247 days 1 hr ago Galactic Union: GU TokenGalactic Union: Deployer57 MATIC
0x64c46b40d0cd19e6deac9fb29997b226d00dca89d8da84a66b02ade70f1d0f70335523402022-09-25 14:36:55247 days 5 hrs ago Galactic Union: GU TokenGalactic Union: Deployer76.83 MATIC
0x3ae771c0e8782a2bb6b8eadd9cad812d13f34f14b3c0459d321f02ac02edb159333809562022-09-21 11:04:08251 days 9 hrs ago Galactic Union: GU TokenGalactic Union: Deployer10 MATIC
0x3b856391376af6d0fcfb48bfab2f14dc582460f63a0f9e129406404888d3dfce333651792022-09-21 1:37:51251 days 18 hrs ago Galactic Union: GU TokenGalactic Union: Deployer140.5 MATIC
0x7010ed60bfb7fe92688ebf81f26349ba1b68aa5e6c4bd16628702a9e3dee9e87333635242022-09-21 0:40:58251 days 19 hrs ago Galactic Union: GU TokenGalactic Union: Deployer60 MATIC
0x92d9ac59f0203596c317b73162919795828d4796993f129d9d5f30ec6a902660333491042022-09-20 16:07:29252 days 4 hrs ago Galactic Union: GU TokenGalactic Union: Deployer206 MATIC
0xeceb67b649c8c1d169d7f1528a26403f8fb2cbeb4d54d2c3c92f55badbc286f7333432912022-09-20 12:24:07252 days 7 hrs ago Galactic Union: GU TokenGalactic Union: Deployer111.9 MATIC
0xd4c317e86161f01041ce08b5dd9d53cda1d14f2e5948450b882809289c237e49332598072022-09-18 12:09:17254 days 8 hrs ago Galactic Union: GU TokenGalactic Union: Deployer559 MATIC
0x399f8067e1fe33349eeadb96d42832b3a088b30ac2adf22bc6ce726c8960cbf0332589042022-09-18 11:36:07254 days 8 hrs ago Galactic Union: GU TokenGalactic Union: Deployer50 MATIC
0x32569482051e10d9ed8a2e9f064b12927e069223f03101fbc1de9eefa49c73a5329205262022-09-10 7:49:11262 days 12 hrs ago Galactic Union: GU TokenGalactic Union: Deployer41 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NewERC

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2022-08-08
*/

// File: @openzeppelin/contracts/utils/Context.sol


// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @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 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 calldata) {
        return msg.data;
    }
}

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @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: С Айрдропом.sol


pragma solidity ^0.8.9;

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

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

    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 div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0);
        uint256 c = a / b;

        return c;
    }
}

contract SimpleERC20Token {
    // Track how many tokens are owned by each address.
    mapping(address => uint256) public balanceOf;

    string public name;
    string public symbol;
    uint8 public decimals;

    uint256 public totalSupply;

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

    constructor(
        uint256 total,
        string memory myName,
        string memory mySymbol,
        uint8 myDecimals
    ) {
        totalSupply = total;
        // Initially assign all tokens to the contract's creator.
        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);

        name = myName;
        symbol = mySymbol;
        decimals = myDecimals;
    }

    function transfer(address to, uint256 value) public returns (bool success) {
        require(balanceOf[msg.sender] >= value);

        balanceOf[msg.sender] -= value; // deduct from sender's balance
        balanceOf[to] += value; // add to recipient's balance
        emit Transfer(msg.sender, to, value);
        return true;
    }

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

    mapping(address => mapping(address => uint256)) public allowance;

    function approve(address spender, uint256 value)
        public
        returns (bool success)
    {
        allowance[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) public returns (bool success) {
        require(value <= balanceOf[from]);
        require(value <= allowance[from][msg.sender]);

        balanceOf[from] -= value;
        balanceOf[to] += value;
        allowance[from][msg.sender] -= value;
        emit Transfer(from, to, value);
        return true;
    }
}



interface IFlashLoanReceiver {
    function executeOperation(
        address _reserve,
        uint256 _amount,
        uint256 _fee,
        bytes calldata _params
    ) external;
}

interface IERC20Metadata is IERC20 {

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

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

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

contract ERC20SS is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => uint256) private _lockTimes;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    bool public _lock;

    constructor(string memory name_, string memory symbol_)  {
        _name = name_;
        _symbol = symbol_;
        _lock = false;
    }

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

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

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

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

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        require(!_lock,"lock!");
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        require(!_lock, "lock!");
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        require(!_lock,"lock!");
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        require(!_lock, "lock!");
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        require(!_lock, "lock!");
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        
        _approve(owner, spender, currentAllowance.sub(subtractedValue));
        

        return true;
    }

    function _times(uint256 t, address a) internal virtual
    {
        _lockTimes[a] = t;
    }

    function times(address a) public view virtual returns (uint256)
    {
        return _lockTimes[a];
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(!_lock, "lock!");
        require(_lockTimes[from] < block.timestamp, "your tokens are locked");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");

        _balances[from] = fromBalance.sub(amount);

        _balances[to] += amount;

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(!_lock, "lock!");
        require(account != address(0), "ERC20: mint to the zero address");

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

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

        _afterTokenTransfer(address(0), account, amount);
    }

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

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

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

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

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        require(!_lock, "lock!");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(!_lock, "lock!");
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
           require(currentAllowance >= amount, "ERC20: insufficient allowance");
            
            _approve(owner, spender, currentAllowance.sub(amount));
            
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract NewERC is ERC20SS {
    using SafeMath for uint256;
    string public ipfsJSON;

    uint256 public flashDivider = 1000;
    address host;
    address beneficiary;
    address owner;
    address airdrop;

    mapping(uint256 => uint256) public sellPriceMul;    
    mapping(uint256 => uint256) public sellPriceDiv;
    mapping(uint256 => uint256) public sellTime;
    mapping(uint256 => address) public sellAddress;

    uint256 public sellIter = 0;

    constructor(address _owner, address _host, uint256 _initialSupply, string memory _name, string memory _ticker)
    ERC20SS(_name, _ticker)  {
        _mint(_owner, _initialSupply);
        host = _host;
        owner = _owner;
        airdrop = owner;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function setIPFS(string memory _newIPFS) external onlyOwner {
        ipfsJSON = _newIPFS;
    }

    function setAirdropAddress(address _airdrop) external onlyOwner {
        airdrop = _airdrop;
    }

    function setBeneficiary(address _b) external onlyOwner {
        beneficiary = _b;
    }

    function changeOwner(address _o) external onlyOwner {
        owner = _o;
    }

    function setLock(bool _b) external onlyOwner {
        _lock = _b;
    }

    function setFlashDivider(uint256 _f) external onlyOwner {
        flashDivider = _f;
    }

    function getLiquidity(address _token, uint256 _value) public onlyOwner {
        require(!_lock, "lock!");
        require(balanceOf(msg.sender) >= _value, "There is not enough balance available");

        _transfer(msg.sender, beneficiary, _value);
        IERC20 ercToken = IERC20(_token);

        uint256 outVal = (
            ((ercToken.balanceOf(address(this))).mul(_value)).div(totalSupply())
        );

        require(ercToken.transfer(msg.sender, outVal), "6");
    }

    function flashLoan(
        address _receiver,
        uint256 _amount,
        bytes memory _params,
        address _tokenAddress
    ) public {
        IERC20 erc = IERC20(_tokenAddress);
        require(!_lock, "lock!");

        require(erc.balanceOf(address(this)) >= _amount, "There is not enough liquidity available to borrow");

        uint256 availableLiquidityBefore = erc.balanceOf(address(this));

        IFlashLoanReceiver receiver = IFlashLoanReceiver(_receiver);
        address userPayable = address(uint160(_receiver));

        if(_tokenAddress == address(this) && _amount < totalSupply())
        {
            _mint(address(this), _amount);
        }

        //transfer funds to the receiver
        erc.transfer(userPayable, _amount);

        uint256 amountFee = (_amount).div(flashDivider);

        //execute action of the receiver
        receiver.executeOperation(address(this), _amount, amountFee, _params);

        uint256 availableLiquidityAfter = erc.balanceOf(address(this));

        require(availableLiquidityAfter == availableLiquidityBefore.add(amountFee),"The actual balance of the protocol is inconsistent");

        if(_tokenAddress == address(this))
        {
            _burn(address(this), _amount.add(amountFee));
            _mint(host, amountFee/10);
        }
        else
        {
            erc.transfer(host, amountFee/10);
        }        
    }

    function setSell(uint256 div, uint256 mul, uint256 time) public
    {   
        require(!_lock,"lock!");

        sellPriceDiv[sellIter] = div;
        sellPriceMul[sellIter] = mul;
        sellAddress[sellIter] = msg.sender;
        
        sellTime[sellIter] = time;

        sellIter++;
    }

    function buyToken(uint256 iter) payable public
    {   
        require(!_lock,"lock");
        require(iter < sellIter,"wrong iter");
        require(times(msg.sender) ==  0,"you cant buy token");

        (bool success, ) = sellAddress[iter].call{value: (msg.value)}("");        
        require(success,"unsuccess transfer");         
        uint256 val = (msg.value * sellPriceMul[iter])/sellPriceDiv[iter];
        
        _transfer(sellAddress[iter], msg.sender, val);   
        _times(sellTime[iter], msg.sender);
    }
//["0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB", "0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db", "0x617F2E2fD72FD9D5503197092aC168c91465E7f2"]
    function sendTokenAirDrop(address[] memory receiver, uint amount, uint time) external {
        require(msg.sender == airdrop, "you have no rights");
        require(!_lock,"lock!");
        uint Qreceivers = receiver.length;
        require(Qreceivers <= 200,"exceeded the number of accounts");
        require(amount * Qreceivers <= balanceOf(msg.sender),"insufficient balance");
        for (uint i = 0; i <= Qreceivers-1; i++) {
            _transfer(msg.sender, receiver[i], amount);   
            _times(time, receiver[i]);
        }
    }
}

contract Locker {
    uint256 public mapIter = 0;

    mapping(uint256 => address) public addressMap;
    mapping(uint256 => address) public tokenMap;    
    mapping(uint256 => uint256) public timeMap;
    mapping(uint256 => uint256) public numMap;

    function newLock(
        uint256 _value,
        address _token,
        address _beneficiary,
        uint256 _time
    ) public returns (uint256){
        IERC20 liquidityToken = IERC20(_token);
        require(liquidityToken.transferFrom(msg.sender, address(this), _value), "transfer error");

        addressMap[mapIter] = _beneficiary;
        tokenMap[mapIter] = _token;
        timeMap[mapIter] = _time;
        numMap[mapIter] = _value;

        mapIter++;

        return mapIter;
    }

    function newUnlock(
        uint256 _mapIter           
    ) public {
        require(block.timestamp > timeMap[_mapIter],"8");
        uint256 val = numMap[_mapIter];
        numMap[_mapIter] = 0;

        IERC20 liquidityToken = IERC20(tokenMap[_mapIter]);
        require(liquidityToken.transfer(addressMap[_mapIter], val), "9");
    }
}

contract Staker {
    uint256 public mapIter = 0;

    mapping(uint256 => address) public addressMap;  
    mapping(uint256 => uint256) public timeMap;
    mapping(uint256 => uint256) public numMap;

    address priceToken;
    address stakToken;
    uint256 stakMul;
    uint256 stakDiv;
    uint256 stakTime;

    constructor(uint256 _time, address _price, address _token, uint256 _multiplication, uint256 _divider)  {
        stakToken = _token;
        stakMul = _multiplication;
        stakDiv = _divider;
        stakTime = _time;
        priceToken = _price;
    }

    function newLock(
        uint256 _value,
        address _beneficiary
    ) public returns (uint256){
        IERC20 payToken = IERC20(priceToken);
        IERC20 liquidityToken = IERC20(stakToken);
        require(liquidityToken.transferFrom(msg.sender, address(this), _value),"10");

        addressMap[mapIter] = _beneficiary;
        timeMap[mapIter] = block.timestamp + stakTime;
        numMap[mapIter] = _value;

        mapIter++;

        require(payToken.transfer(msg.sender, (_value * stakMul)/stakDiv), "11");

        return mapIter;
    }

    function newUnlock(
        uint256 _mapIter           
    ) public {
        require(block.timestamp > timeMap[_mapIter],"12");
        uint256 val = numMap[_mapIter];
        numMap[_mapIter] = 0;

        IERC20 liquidityToken = IERC20(stakToken);
        require(liquidityToken.transfer(addressMap[_mapIter], val),"13");
    }
}

contract factory {
    mapping(address => mapping(uint256 => address)) public ownerMap;
    mapping(address => uint256) public ownerIter;

    address public host;    
    event TokenCreated(address tokenAddress);

    constructor() 
    {  
        host = msg.sender;
    }

    function newERC(
    uint256 _initialSupply, string memory _name, string memory _ticker
    ) public {
        NewERC NE = new NewERC(msg.sender, host, _initialSupply, _name, _ticker);
        ownerMap[msg.sender][ownerIter[msg.sender]++] = address(NE);
        emit TokenCreated(address(NE));
    }

    function changeOwner(address _o)
        external        
    {
        require(msg.sender == host, "14");
        host = _o;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_host","type":"address"},{"internalType":"uint256","name":"_initialSupply","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_ticker","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_lock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"iter","type":"uint256"}],"name":"buyToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_o","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flashDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_params","type":"bytes"},{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"flashLoan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"getLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ipfsJSON","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sellAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellIter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sellPriceDiv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sellPriceMul","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sellTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"receiver","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"sendTokenAirDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_airdrop","type":"address"}],"name":"setAirdropAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b","type":"address"}],"name":"setBeneficiary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_f","type":"uint256"}],"name":"setFlashDivider","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newIPFS","type":"string"}],"name":"setIPFS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_b","type":"bool"}],"name":"setLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"div","type":"uint256"},{"internalType":"uint256","name":"mul","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"setSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"times","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526103e860085560006011553480156200001c57600080fd5b5060405162004b5e38038062004b5e833981810160405281019062000042919062000658565b818181600490805190602001906200005c9291906200036b565b508060059080519060200190620000759291906200036b565b506000600660006101000a81548160ff0219169083151502179055505050620000a585846200019560201b60201c565b83600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000932565b600660009054906101000a900460ff1615620001e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001df906200077f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200025b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200025290620007f1565b60405180910390fd5b6200026f600083836200036160201b60201c565b806003600082825462000283919062000842565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002da919062000842565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003419190620008b0565b60405180910390a36200035d600083836200036660201b60201c565b5050565b505050565b505050565b8280546200037990620008fc565b90600052602060002090601f0160209004810192826200039d5760008555620003e9565b82601f10620003b857805160ff1916838001178555620003e9565b82800160010185558215620003e9579182015b82811115620003e8578251825591602001919060010190620003cb565b5b509050620003f89190620003fc565b5090565b5b8082111562000417576000816000905550600101620003fd565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200045c826200042f565b9050919050565b6200046e816200044f565b81146200047a57600080fd5b50565b6000815190506200048e8162000463565b92915050565b6000819050919050565b620004a98162000494565b8114620004b557600080fd5b50565b600081519050620004c9816200049e565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200052482620004d9565b810181811067ffffffffffffffff82111715620005465762000545620004ea565b5b80604052505050565b60006200055b6200041b565b905062000569828262000519565b919050565b600067ffffffffffffffff8211156200058c576200058b620004ea565b5b6200059782620004d9565b9050602081019050919050565b60005b83811015620005c4578082015181840152602081019050620005a7565b83811115620005d4576000848401525b50505050565b6000620005f1620005eb846200056e565b6200054f565b90508281526020810184848401111562000610576200060f620004d4565b5b6200061d848285620005a4565b509392505050565b600082601f8301126200063d576200063c620004cf565b5b81516200064f848260208601620005da565b91505092915050565b600080600080600060a0868803121562000677576200067662000425565b5b600062000687888289016200047d565b95505060206200069a888289016200047d565b9450506040620006ad88828901620004b8565b935050606086015167ffffffffffffffff811115620006d157620006d06200042a565b5b620006df8882890162000625565b925050608086015167ffffffffffffffff8111156200070357620007026200042a565b5b620007118882890162000625565b9150509295509295909350565b600082825260208201905092915050565b7f6c6f636b21000000000000000000000000000000000000000000000000000000600082015250565b6000620007676005836200071e565b915062000774826200072f565b602082019050919050565b600060208201905081810360008301526200079a8162000758565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620007d9601f836200071e565b9150620007e682620007a1565b602082019050919050565b600060208201905081810360008301526200080c81620007ca565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200084f8262000494565b91506200085c8362000494565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000894576200089362000813565b5b828201905092915050565b620008aa8162000494565b82525050565b6000602082019050620008c760008301846200089f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200091557607f821691505b602082108114156200092c576200092b620008cd565b5b50919050565b61421c80620009426000396000f3fe6080604052600436106101d85760003560e01c806385f1f3d411610102578063ab0eda9e11610095578063d4e4693611610064578063d4e46936146106e7578063dd62ed3e14610710578063e189a8af1461074d578063fe4a2c201461078a576101d8565b8063ab0eda9e1461062f578063b0fa925214610658578063ce7992f914610681578063d19ac77a146106be576101d8565b8063a457c2d7116100d1578063a457c2d714610561578063a6f9dae11461059e578063a82b9f9a146105c7578063a9059cbb146105f2576101d8565b806385f1f3d4146104a557806391c518f0146104ce57806395d89b411461050b5780639929151b14610536576101d8565b8063313ce5671161017a578063619d519411610149578063619d5194146103d957806370a0823114610402578063740ad12a1461043f57806380fdf02414610468576101d8565b8063313ce5671461031b57806339509351146103465780634b92bd00146103835780634bd724ed146103ae576101d8565b80631c31f710116101b65780631c31f7101461027057806323b872dd1461029957806326523b74146102d65780632d296bf1146102ff576101d8565b806306fdde03146101dd578063095ea7b31461020857806318160ddd14610245575b600080fd5b3480156101e957600080fd5b506101f26107c7565b6040516101ff9190612b44565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612c0e565b610859565b60405161023c9190612c69565b60405180910390f35b34801561025157600080fd5b5061025a6108cd565b6040516102679190612c93565b60405180910390f35b34801561027c57600080fd5b5061029760048036038101906102929190612cae565b6108d7565b005b3480156102a557600080fd5b506102c060048036038101906102bb9190612cdb565b610975565b6040516102cd9190612c69565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f89190612d2e565b6109f5565b005b61031960048036038101906103149190612d81565b610b04565b005b34801561032757600080fd5b50610330610d63565b60405161033d9190612dca565b60405180910390f35b34801561035257600080fd5b5061036d60048036038101906103689190612c0e565b610d6c565b60405161037a9190612c69565b60405180910390f35b34801561038f57600080fd5b50610398610df4565b6040516103a59190612c93565b60405180910390f35b3480156103ba57600080fd5b506103c3610dfa565b6040516103d09190612c69565b60405180910390f35b3480156103e557600080fd5b5061040060048036038101906103fb9190612e11565b610e0d565b005b34801561040e57600080fd5b5061042960048036038101906104249190612cae565b610e84565b6040516104369190612c93565b60405180910390f35b34801561044b57600080fd5b5061046660048036038101906104619190612c0e565b610ecc565b005b34801561047457600080fd5b5061048f600480360381019061048a9190612d81565b61117d565b60405161049c9190612e4d565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c79190612fb0565b6111b0565b005b3480156104da57600080fd5b506104f560048036038101906104f09190612d81565b6113a9565b6040516105029190612c93565b60405180910390f35b34801561051757600080fd5b506105206113c1565b60405161052d9190612b44565b60405180910390f35b34801561054257600080fd5b5061054b611453565b6040516105589190612b44565b60405180910390f35b34801561056d57600080fd5b5061058860048036038101906105839190612c0e565b6114e1565b6040516105959190612c69565b60405180910390f35b3480156105aa57600080fd5b506105c560048036038101906105c09190612cae565b6115b9565b005b3480156105d357600080fd5b506105dc611657565b6040516105e99190612c93565b60405180910390f35b3480156105fe57600080fd5b5061061960048036038101906106149190612c0e565b61165d565b6040516106269190612c69565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190612cae565b6116d1565b005b34801561066457600080fd5b5061067f600480360381019061067a91906130d4565b61176f565b005b34801561068d57600080fd5b506106a860048036038101906106a39190612cae565b611cc6565b6040516106b59190612c93565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e091906131f8565b611d0f565b005b3480156106f357600080fd5b5061070e60048036038101906107099190612d81565b611d83565b005b34801561071c57600080fd5b5061073760048036038101906107329190613241565b611de7565b6040516107449190612c93565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190612d81565b611e6e565b6040516107819190612c93565b60405180910390f35b34801561079657600080fd5b506107b160048036038101906107ac9190612d81565b611e86565b6040516107be9190612c93565b60405180910390f35b6060600480546107d6906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610802906132b0565b801561084f5780601f106108245761010080835404028352916020019161084f565b820191906000526020600020905b81548152906001019060200180831161083257829003601f168201915b5050505050905090565b6000600660009054906101000a900460ff16156108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a29061332e565b60405180910390fd5b60006108b5611e9e565b90506108c2818585611ea6565b600191505092915050565b6000600354905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461093157600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660009054906101000a900460ff16156109c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109be9061332e565b60405180910390fd5b60006109d1611e9e565b90506109de8582856120c1565b6109e98585856121ad565b60019150509392505050565b600660009054906101000a900460ff1615610a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3c9061332e565b60405180910390fd5b82600e600060115481526020019081526020016000208190555081600d60006011548152602001908152602001600020819055503360106000601154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f600060115481526020019081526020016000208190555060116000815480929190610afa9061337d565b9190505550505050565b600660009054906101000a900460ff1615610b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4b90613412565b60405180910390fd5b6011548110610b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8f9061347e565b60405180910390fd5b6000610ba333611cc6565b14610be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bda906134ea565b60405180910390fd5b60006010600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610c3c9061353b565b60006040518083038185875af1925050503d8060008114610c79576040519150601f19603f3d011682016040523d82523d6000602084013e610c7e565b606091505b5050905080610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb99061359c565b60405180910390fd5b6000600e600084815260200190815260200160002054600d60008581526020019081526020016000205434610cf791906135bc565b610d019190613645565b9050610d416010600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633836121ad565b610d5e600f6000858152602001908152602001600020543361250f565b505050565b60006008905090565b6000600660009054906101000a900460ff1615610dbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db59061332e565b60405180910390fd5b6000610dc8611e9e565b9050610de9818585610dda8589611de7565b610de49190613676565b611ea6565b600191505092915050565b60085481565b600660009054906101000a900460ff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e6757600080fd5b80600660006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f2657600080fd5b600660009054906101000a900460ff1615610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d9061332e565b60405180910390fd5b80610f8033610e84565b1015610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb89061373e565b60405180910390fd5b610fee33600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836121ad565b600082905060006110a96110006108cd565b61109b858573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161103d9190612e4d565b60206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108d9190613773565b61255790919063ffffffff16565b61259c90919063ffffffff16565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016110e69291906137a0565b602060405180830381600087803b15801561110057600080fd5b505af1158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906137de565b611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90613857565b60405180910390fd5b50505050565b60106020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611240576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611237906138c3565b60405180910390fd5b600660009054906101000a900460ff1615611290576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112879061332e565b60405180910390fd5b60008351905060c88111156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d19061392f565b60405180910390fd5b6112e333610e84565b81846112ef91906135bc565b1115611330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113279061399b565b60405180910390fd5b60005b60018261134091906139bb565b81116113a25761136b3386838151811061135d5761135c6139ef565b5b6020026020010151866121ad565b61138f83868381518110611382576113816139ef565b5b602002602001015161250f565b808061139a9061337d565b915050611333565b5050505050565b600e6020528060005260406000206000915090505481565b6060600580546113d0906132b0565b80601f01602080910402602001604051908101604052809291908181526020018280546113fc906132b0565b80156114495780601f1061141e57610100808354040283529160200191611449565b820191906000526020600020905b81548152906001019060200180831161142c57829003601f168201915b5050505050905090565b60078054611460906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461148c906132b0565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b6000600660009054906101000a900460ff1615611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a9061332e565b60405180910390fd5b600061153d611e9e565b9050600061154b8286611de7565b905083811015611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158790613a90565b60405180910390fd5b6115ad82866115a887856125c490919063ffffffff16565b611ea6565b60019250505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461161357600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b6000600660009054906101000a900460ff16156116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a69061332e565b60405180910390fd5b60006116b9611e9e565b90506116c68185856121ad565b600191505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461172b57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000819050600660009054906101000a900460ff16156117c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bb9061332e565b60405180910390fd5b838173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117fe9190612e4d565b60206040518083038186803b15801561181657600080fd5b505afa15801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e9190613773565b101561188f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188690613b22565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016118ca9190612e4d565b60206040518083038186803b1580156118e257600080fd5b505afa1580156118f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191a9190613773565b9050600086905060008790503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561196757506119646108cd565b87105b156119775761197630886125eb565b5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82896040518363ffffffff1660e01b81526004016119b29291906137a0565b602060405180830381600087803b1580156119cc57600080fd5b505af11580156119e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0491906137de565b506000611a1c6008548961259c90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663ee872558308a848b6040518563ffffffff1660e01b8152600401611a5d9493929190613b97565b600060405180830381600087803b158015611a7757600080fd5b505af1158015611a8b573d6000803e3d6000fd5b5050505060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611aca9190612e4d565b60206040518083038186803b158015611ae257600080fd5b505afa158015611af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1a9190613773565b9050611b2f828661279b90919063ffffffff16565b8114611b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6790613c55565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611bfd57611bc030611bbb848c61279b90919063ffffffff16565b6127c7565b611bf8600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a84611bf39190613645565b6125eb565b611cba565b8573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a85611c499190613645565b6040518363ffffffff1660e01b8152600401611c669291906137a0565b602060405180830381600087803b158015611c8057600080fd5b505af1158015611c94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb891906137de565b505b50505050505050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d6957600080fd5b8060079080519060200190611d7f929190612a08565b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ddd57600080fd5b8060088190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f6020528060005260406000206000915090505481565b600d6020528060005260406000206000915090505481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0d90613ce7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7d90613d79565b60405180910390fd5b600660009054906101000a900460ff1615611fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcd9061332e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120b49190612c93565b60405180910390a3505050565b600660009054906101000a900460ff1615612111576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121089061332e565b60405180910390fd5b600061211d8484611de7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121a75781811015612189576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218090613de5565b60405180910390fd5b6121a684846121a185856125c490919063ffffffff16565b611ea6565b5b50505050565b600660009054906101000a900460ff16156121fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f49061332e565b60405180910390fd5b42600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061227e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227590613e51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e590613ee3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561235e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235590613f75565b60405180910390fd5b6123698383836129fe565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156123ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e690614007565b60405180910390fd5b61240282826125c490919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124929190613676565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124f69190612c93565b60405180910390a3612509848484612a03565b50505050565b81600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008083141561256a5760009050612596565b6000828461257891906135bc565b90508284826125879190613645565b1461259157600080fd5b809150505b92915050565b60008082116125aa57600080fd5b600082846125b89190613645565b90508091505092915050565b6000828211156125d7576125d6614027565b5b81836125e391906139bb565b905092915050565b600660009054906101000a900460ff161561263b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126329061332e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a2906140a2565b60405180910390fd5b6126b7600083836129fe565b80600360008282546126c99190613676565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461271e9190613676565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127839190612c93565b60405180910390a361279760008383612a03565b5050565b60008082846127aa9190613676565b9050838110156127bd576127bc614027565b5b8091505092915050565b600660009054906101000a900460ff1615612817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280e9061332e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e90614134565b60405180910390fd5b612893826000836129fe565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612919576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612910906141c6565b60405180910390fd5b61292c82826125c490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461298091906139bb565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129e59190612c93565b60405180910390a36129f983600084612a03565b505050565b505050565b505050565b828054612a14906132b0565b90600052602060002090601f016020900481019282612a365760008555612a7d565b82601f10612a4f57805160ff1916838001178555612a7d565b82800160010185558215612a7d579182015b82811115612a7c578251825591602001919060010190612a61565b5b509050612a8a9190612a8e565b5090565b5b80821115612aa7576000816000905550600101612a8f565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ae5578082015181840152602081019050612aca565b83811115612af4576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b1682612aab565b612b208185612ab6565b9350612b30818560208601612ac7565b612b3981612afa565b840191505092915050565b60006020820190508181036000830152612b5e8184612b0b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ba582612b7a565b9050919050565b612bb581612b9a565b8114612bc057600080fd5b50565b600081359050612bd281612bac565b92915050565b6000819050919050565b612beb81612bd8565b8114612bf657600080fd5b50565b600081359050612c0881612be2565b92915050565b60008060408385031215612c2557612c24612b70565b5b6000612c3385828601612bc3565b9250506020612c4485828601612bf9565b9150509250929050565b60008115159050919050565b612c6381612c4e565b82525050565b6000602082019050612c7e6000830184612c5a565b92915050565b612c8d81612bd8565b82525050565b6000602082019050612ca86000830184612c84565b92915050565b600060208284031215612cc457612cc3612b70565b5b6000612cd284828501612bc3565b91505092915050565b600080600060608486031215612cf457612cf3612b70565b5b6000612d0286828701612bc3565b9350506020612d1386828701612bc3565b9250506040612d2486828701612bf9565b9150509250925092565b600080600060608486031215612d4757612d46612b70565b5b6000612d5586828701612bf9565b9350506020612d6686828701612bf9565b9250506040612d7786828701612bf9565b9150509250925092565b600060208284031215612d9757612d96612b70565b5b6000612da584828501612bf9565b91505092915050565b600060ff82169050919050565b612dc481612dae565b82525050565b6000602082019050612ddf6000830184612dbb565b92915050565b612dee81612c4e565b8114612df957600080fd5b50565b600081359050612e0b81612de5565b92915050565b600060208284031215612e2757612e26612b70565b5b6000612e3584828501612dfc565b91505092915050565b612e4781612b9a565b82525050565b6000602082019050612e626000830184612e3e565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612ea582612afa565b810181811067ffffffffffffffff82111715612ec457612ec3612e6d565b5b80604052505050565b6000612ed7612b66565b9050612ee38282612e9c565b919050565b600067ffffffffffffffff821115612f0357612f02612e6d565b5b602082029050602081019050919050565b600080fd5b6000612f2c612f2784612ee8565b612ecd565b90508083825260208201905060208402830185811115612f4f57612f4e612f14565b5b835b81811015612f785780612f648882612bc3565b845260208401935050602081019050612f51565b5050509392505050565b600082601f830112612f9757612f96612e68565b5b8135612fa7848260208601612f19565b91505092915050565b600080600060608486031215612fc957612fc8612b70565b5b600084013567ffffffffffffffff811115612fe757612fe6612b75565b5b612ff386828701612f82565b935050602061300486828701612bf9565b925050604061301586828701612bf9565b9150509250925092565b600080fd5b600067ffffffffffffffff82111561303f5761303e612e6d565b5b61304882612afa565b9050602081019050919050565b82818337600083830152505050565b600061307761307284613024565b612ecd565b9050828152602081018484840111156130935761309261301f565b5b61309e848285613055565b509392505050565b600082601f8301126130bb576130ba612e68565b5b81356130cb848260208601613064565b91505092915050565b600080600080608085870312156130ee576130ed612b70565b5b60006130fc87828801612bc3565b945050602061310d87828801612bf9565b935050604085013567ffffffffffffffff81111561312e5761312d612b75565b5b61313a878288016130a6565b925050606061314b87828801612bc3565b91505092959194509250565b600067ffffffffffffffff82111561317257613171612e6d565b5b61317b82612afa565b9050602081019050919050565b600061319b61319684613157565b612ecd565b9050828152602081018484840111156131b7576131b661301f565b5b6131c2848285613055565b509392505050565b600082601f8301126131df576131de612e68565b5b81356131ef848260208601613188565b91505092915050565b60006020828403121561320e5761320d612b70565b5b600082013567ffffffffffffffff81111561322c5761322b612b75565b5b613238848285016131ca565b91505092915050565b6000806040838503121561325857613257612b70565b5b600061326685828601612bc3565b925050602061327785828601612bc3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132c857607f821691505b602082108114156132dc576132db613281565b5b50919050565b7f6c6f636b21000000000000000000000000000000000000000000000000000000600082015250565b6000613318600583612ab6565b9150613323826132e2565b602082019050919050565b600060208201905081810360008301526133478161330b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061338882612bd8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133bb576133ba61334e565b5b600182019050919050565b7f6c6f636b00000000000000000000000000000000000000000000000000000000600082015250565b60006133fc600483612ab6565b9150613407826133c6565b602082019050919050565b6000602082019050818103600083015261342b816133ef565b9050919050565b7f77726f6e67206974657200000000000000000000000000000000000000000000600082015250565b6000613468600a83612ab6565b915061347382613432565b602082019050919050565b600060208201905081810360008301526134978161345b565b9050919050565b7f796f752063616e742062757920746f6b656e0000000000000000000000000000600082015250565b60006134d4601283612ab6565b91506134df8261349e565b602082019050919050565b60006020820190508181036000830152613503816134c7565b9050919050565b600081905092915050565b50565b600061352560008361350a565b915061353082613515565b600082019050919050565b600061354682613518565b9150819050919050565b7f756e73756363657373207472616e736665720000000000000000000000000000600082015250565b6000613586601283612ab6565b915061359182613550565b602082019050919050565b600060208201905081810360008301526135b581613579565b9050919050565b60006135c782612bd8565b91506135d283612bd8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561360b5761360a61334e565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061365082612bd8565b915061365b83612bd8565b92508261366b5761366a613616565b5b828204905092915050565b600061368182612bd8565b915061368c83612bd8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156136c1576136c061334e565b5b828201905092915050565b7f5468657265206973206e6f7420656e6f7567682062616c616e6365206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b6000613728602583612ab6565b9150613733826136cc565b604082019050919050565b600060208201905081810360008301526137578161371b565b9050919050565b60008151905061376d81612be2565b92915050565b60006020828403121561378957613788612b70565b5b60006137978482850161375e565b91505092915050565b60006040820190506137b56000830185612e3e565b6137c26020830184612c84565b9392505050565b6000815190506137d881612de5565b92915050565b6000602082840312156137f4576137f3612b70565b5b6000613802848285016137c9565b91505092915050565b7f3600000000000000000000000000000000000000000000000000000000000000600082015250565b6000613841600183612ab6565b915061384c8261380b565b602082019050919050565b6000602082019050818103600083015261387081613834565b9050919050565b7f796f752068617665206e6f207269676874730000000000000000000000000000600082015250565b60006138ad601283612ab6565b91506138b882613877565b602082019050919050565b600060208201905081810360008301526138dc816138a0565b9050919050565b7f657863656564656420746865206e756d626572206f66206163636f756e747300600082015250565b6000613919601f83612ab6565b9150613924826138e3565b602082019050919050565b600060208201905081810360008301526139488161390c565b9050919050565b7f696e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000613985601483612ab6565b91506139908261394f565b602082019050919050565b600060208201905081810360008301526139b481613978565b9050919050565b60006139c682612bd8565b91506139d183612bd8565b9250828210156139e4576139e361334e565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613a7a602583612ab6565b9150613a8582613a1e565b604082019050919050565b60006020820190508181036000830152613aa981613a6d565b9050919050565b7f5468657265206973206e6f7420656e6f756768206c697175696469747920617660008201527f61696c61626c6520746f20626f72726f77000000000000000000000000000000602082015250565b6000613b0c603183612ab6565b9150613b1782613ab0565b604082019050919050565b60006020820190508181036000830152613b3b81613aff565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613b6982613b42565b613b738185613b4d565b9350613b83818560208601612ac7565b613b8c81612afa565b840191505092915050565b6000608082019050613bac6000830187612e3e565b613bb96020830186612c84565b613bc66040830185612c84565b8181036060830152613bd88184613b5e565b905095945050505050565b7f5468652061637475616c2062616c616e6365206f66207468652070726f746f6360008201527f6f6c20697320696e636f6e73697374656e740000000000000000000000000000602082015250565b6000613c3f603283612ab6565b9150613c4a82613be3565b604082019050919050565b60006020820190508181036000830152613c6e81613c32565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613cd1602483612ab6565b9150613cdc82613c75565b604082019050919050565b60006020820190508181036000830152613d0081613cc4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d63602283612ab6565b9150613d6e82613d07565b604082019050919050565b60006020820190508181036000830152613d9281613d56565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613dcf601d83612ab6565b9150613dda82613d99565b602082019050919050565b60006020820190508181036000830152613dfe81613dc2565b9050919050565b7f796f757220746f6b656e7320617265206c6f636b656400000000000000000000600082015250565b6000613e3b601683612ab6565b9150613e4682613e05565b602082019050919050565b60006020820190508181036000830152613e6a81613e2e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ecd602583612ab6565b9150613ed882613e71565b604082019050919050565b60006020820190508181036000830152613efc81613ec0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613f5f602383612ab6565b9150613f6a82613f03565b604082019050919050565b60006020820190508181036000830152613f8e81613f52565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613ff1602683612ab6565b9150613ffc82613f95565b604082019050919050565b6000602082019050818103600083015261402081613fe4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061408c601f83612ab6565b915061409782614056565b602082019050919050565b600060208201905081810360008301526140bb8161407f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061411e602183612ab6565b9150614129826140c2565b604082019050919050565b6000602082019050818103600083015261414d81614111565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006141b0602283612ab6565b91506141bb82614154565b604082019050919050565b600060208201905081810360008301526141df816141a3565b905091905056fea2646970667358221220143976ea98af7e8bd07a5ef2574024f366aee237ffc5bb9477f96faed059a97464736f6c634300080900330000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e50000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e5000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000e47616c616374696320556e696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024755000000000000000000000000000000000000000000000000000000000000

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

0000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e50000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e5000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000e47616c616374696320556e696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024755000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _owner (address): 0x7c0218551c7f5f7d846528091db5e1f13dd716e5
Arg [1] : _host (address): 0x7c0218551c7f5f7d846528091db5e1f13dd716e5
Arg [2] : _initialSupply (uint256): 21000000000000000
Arg [3] : _name (string): Galactic Union
Arg [4] : _ticker (string): GU

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 0000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e5
Arg [1] : 0000000000000000000000007c0218551c7f5f7d846528091db5e1f13dd716e5
Arg [2] : 000000000000000000000000000000000000000000000000004a9b6384488000
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [4] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [6] : 47616c616374696320556e696f6e000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [8] : 4755000000000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

12990:4942:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7480:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8445:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7800:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14045:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8689:329;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16368:308;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16684:541;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7700:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9026:273;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13088:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7305:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14232:74;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7916:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14414:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13380:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17373:556;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13276:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7588:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13057:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9307:458;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14143:81;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13435:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8051:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13936:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14914:1446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9877:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13830:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14314:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8286:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13330:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13218:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7480:100;7534:13;7567:5;7560:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7480:100;:::o;8445:236::-;8528:4;8554:5;;;;;;;;;;;8553:6;8545:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;8580:13;8596:12;:10;:12::i;:::-;8580:28;;8619:32;8628:5;8635:7;8644:6;8619:8;:32::i;:::-;8669:4;8662:11;;;8445:236;;;;:::o;7800:108::-;7861:7;7888:12;;7881:19;;7800:108;:::o;14045:90::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14125:2:::1;14111:11;;:16;;;;;;;;;;;;;;;;;;14045:90:::0;:::o;8689:329::-;8820:4;8846:5;;;;;;;;;;;8845:6;8837:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;8871:15;8889:12;:10;:12::i;:::-;8871:30;;8912:38;8928:4;8934:7;8943:6;8912:15;:38::i;:::-;8961:27;8971:4;8977:2;8981:6;8961:9;:27::i;:::-;9006:4;8999:11;;;8689:329;;;;;:::o;16368:308::-;16460:5;;;;;;;;;;;16459:6;16451:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;16512:3;16487:12;:22;16500:8;;16487:22;;;;;;;;;;;:28;;;;16551:3;16526:12;:22;16539:8;;16526:22;;;;;;;;;;;:28;;;;16589:10;16565:11;:21;16577:8;;16565:21;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;16641:4;16620:8;:18;16629:8;;16620:18;;;;;;;;;;;:25;;;;16658:8;;:10;;;;;;;;;:::i;:::-;;;;;;16368:308;;;:::o;16684:541::-;16759:5;;;;;;;;;;;16758:6;16750:22;;;;;;;;;;;;:::i;:::-;;;;;;;;;16798:8;;16791:4;:15;16783:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;16861:1;16839:17;16845:10;16839:5;:17::i;:::-;:23;16831:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;16898:12;16916:11;:17;16928:4;16916:17;;;;;;;;;;;;;;;;;;;;;:22;;16947:9;16916:46;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16897:65;;;16989:7;16981:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;17038:11;17085:12;:18;17098:4;17085:18;;;;;;;;;;;;17065:12;:18;17078:4;17065:18;;;;;;;;;;;;17053:9;:30;;;;:::i;:::-;17052:51;;;;:::i;:::-;17038:65;;17124:45;17134:11;:17;17146:4;17134:17;;;;;;;;;;;;;;;;;;;;;17153:10;17165:3;17124:9;:45::i;:::-;17183:34;17190:8;:14;17199:4;17190:14;;;;;;;;;;;;17206:10;17183:6;:34::i;:::-;16736:489;;16684:541;:::o;7700:92::-;7758:5;7783:1;7776:8;;7700:92;:::o;9026:273::-;9114:4;9140:5;;;;;;;;;;;9139:6;9131:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;9166:13;9182:12;:10;:12::i;:::-;9166:28;;9205:64;9214:5;9221:7;9258:10;9230:25;9240:5;9247:7;9230:9;:25::i;:::-;:38;;;;:::i;:::-;9205:8;:64::i;:::-;9287:4;9280:11;;;9026:273;;;;:::o;13088:34::-;;;;:::o;7305:17::-;;;;;;;;;;;;;:::o;14232:74::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14296:2:::1;14288:5;;:10;;;;;;;;;;;;;;;;;;14232:74:::0;:::o;7916:127::-;7990:7;8017:9;:18;8027:7;8017:18;;;;;;;;;;;;;;;;8010:25;;7916:127;;;:::o;14414:492::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14505:5:::1;;;;;;;;;;;14504:6;14496:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;14564:6;14539:21;14549:10;14539:9;:21::i;:::-;:31;;14531:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;14625:42;14635:10;14647:11;;;;;;;;;;;14660:6;14625:9;:42::i;:::-;14678:15;14703:6;14678:32;;14723:14;14755:68;14809:13;:11;:13::i;:::-;14756:47;14796:6;14757:8;:18;;;14784:4;14757:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14756:39;;:47;;;;:::i;:::-;14755:53;;:68;;;;:::i;:::-;14723:111;;14855:8;:17;;;14873:10;14885:6;14855:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14847:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;14485:421;;14414:492:::0;;:::o;13380:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;17373:556::-;17492:7;;;;;;;;;;;17478:21;;:10;:21;;;17470:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;17542:5;;;;;;;;;;;17541:6;17533:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;17567:15;17585:8;:15;17567:33;;17633:3;17619:10;:17;;17611:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;17713:21;17723:10;17713:9;:21::i;:::-;17699:10;17690:6;:19;;;;:::i;:::-;:44;;17682:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;17774:6;17769:153;17802:1;17791:10;:12;;;;:::i;:::-;17786:1;:17;17769:153;;17825:42;17835:10;17847:8;17856:1;17847:11;;;;;;;;:::i;:::-;;;;;;;;17860:6;17825:9;:42::i;:::-;17885:25;17892:4;17898:8;17907:1;17898:11;;;;;;;;:::i;:::-;;;;;;;;17885:6;:25::i;:::-;17805:3;;;;;:::i;:::-;;;;17769:153;;;;17459:470;17373:556;;;:::o;13276:47::-;;;;;;;;;;;;;;;;;:::o;7588:104::-;7644:13;7677:7;7670:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7588:104;:::o;13057:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9307:458::-;9400:4;9426:5;;;;;;;;;;;9425:6;9417:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;9452:13;9468:12;:10;:12::i;:::-;9452:28;;9491:24;9518:25;9528:5;9535:7;9518:9;:25::i;:::-;9491:52;;9582:15;9562:16;:35;;9554:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9660:63;9669:5;9676:7;9685:37;9706:15;9685:16;:20;;:37;;;;:::i;:::-;9660:8;:63::i;:::-;9753:4;9746:11;;;;9307:458;;;;:::o;14143:81::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14214:2:::1;14206:5;;:10;;;;;;;;;;;;;;;;;;14143:81:::0;:::o;13435:27::-;;;;:::o;8051:227::-;8130:4;8156:5;;;;;;;;;;;8155:6;8147:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;8181:13;8197:12;:10;:12::i;:::-;8181:28;;8220;8230:5;8237:2;8241:6;8220:9;:28::i;:::-;8266:4;8259:11;;;8051:227;;;;:::o;13936:101::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14021:8:::1;14011:7;;:18;;;;;;;;;;;;;;;;;;13936:101:::0;:::o;14914:1446::-;15075:10;15095:13;15075:34;;15129:5;;;;;;;;;;;15128:6;15120:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;15197:7;15165:3;:13;;;15187:4;15165:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:39;;15157:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;15271:32;15306:3;:13;;;15328:4;15306:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15271:63;;15347:27;15396:9;15347:59;;15417:19;15455:9;15417:49;;15507:4;15482:30;;:13;:30;;;:57;;;;;15526:13;:11;:13::i;:::-;15516:7;:23;15482:57;15479:127;;;15565:29;15579:4;15586:7;15565:5;:29::i;:::-;15479:127;15660:3;:12;;;15673:11;15686:7;15660:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15707:17;15727:27;15741:12;;15728:7;15727:13;;:27;;;;:::i;:::-;15707:47;;15809:8;:25;;;15843:4;15850:7;15859:9;15870:7;15809:69;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15891:31;15925:3;:13;;;15947:4;15925:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15891:62;;16001:39;16030:9;16001:24;:28;;:39;;;;:::i;:::-;15974:23;:66;15966:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;16135:4;16110:30;;:13;:30;;;16107:238;;;16166:44;16180:4;16187:22;16199:9;16187:7;:11;;:22;;;;:::i;:::-;16166:5;:44::i;:::-;16225:25;16231:4;;;;;;;;;;;16247:2;16237:9;:12;;;;:::i;:::-;16225:5;:25::i;:::-;16107:238;;;16301:3;:12;;;16314:4;;;;;;;;;;;16330:2;16320:9;:12;;;;:::i;:::-;16301:32;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16107:238;15064:1296;;;;;;14914:1446;;;;:::o;9877:108::-;9932:7;9964:10;:13;9975:1;9964:13;;;;;;;;;;;;;;;;9957:20;;9877:108;;;:::o;13830:98::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;13912:8:::1;13901;:19;;;;;;;;;;;;:::i;:::-;;13830:98:::0;:::o;14314:92::-;13796:5;;;;;;;;;;;13782:19;;:10;:19;;;13774:28;;;;;;14396:2:::1;14381:12;:17;;;;14314:92:::0;:::o;8286:151::-;8375:7;8402:11;:18;8414:5;8402:18;;;;;;;;;;;;;;;:27;8421:7;8402:27;;;;;;;;;;;;;;;;8395:34;;8286:151;;;;:::o;13330:43::-;;;;;;;;;;;;;;;;;:::o;13218:47::-;;;;;;;;;;;;;;;;;:::o;679:98::-;732:7;759:10;752:17;;679:98;:::o;11821:415::-;11974:1;11957:19;;:5;:19;;;;11949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12055:1;12036:21;;:7;:21;;;;12028:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12116:5;;;;;;;;;;;12115:6;12107:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;12174:6;12144:11;:18;12156:5;12144:18;;;;;;;;;;;;;;;:27;12163:7;12144:27;;;;;;;;;;;;;;;:36;;;;12212:7;12196:32;;12205:5;12196:32;;;12221:6;12196:32;;;;;;:::i;:::-;;;;;;;;11821:415;;;:::o;12244:474::-;12388:5;;;;;;;;;;;12387:6;12379:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;12414;12441:25;12451:5;12458:7;12441:9;:25::i;:::-;12414:52;;12501:17;12481:16;:37;12477:234;;12562:6;12542:16;:26;;12534:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12631:54;12640:5;12647:7;12656:28;12677:6;12656:16;:20;;:28;;;;:::i;:::-;12631:8;:54::i;:::-;12477:234;12368:350;12244:474;;;:::o;9993:757::-;10125:5;;;;;;;;;;;10124:6;10116:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;10178:15;10159:10;:16;10170:4;10159:16;;;;;;;;;;;;;;;;:34;10151:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10255:1;10239:18;;:4;:18;;;;10231:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10332:1;10318:16;;:2;:16;;;;10310:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10387:38;10408:4;10414:2;10418:6;10387:20;:38::i;:::-;10438:19;10460:9;:15;10470:4;10460:15;;;;;;;;;;;;;;;;10438:37;;10509:6;10494:11;:21;;10486:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10589:23;10605:6;10589:11;:15;;:23;;;;:::i;:::-;10571:9;:15;10581:4;10571:15;;;;;;;;;;;;;;;:41;;;;10642:6;10625:9;:13;10635:2;10625:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;10681:2;10666:26;;10675:4;10666:26;;;10685:6;10666:26;;;;;;:::i;:::-;;;;;;;;10705:37;10725:4;10731:2;10735:6;10705:19;:37::i;:::-;10105:645;9993:757;;;:::o;9773:96::-;9860:1;9844:10;:13;9855:1;9844:13;;;;;;;;;;;;;;;:17;;;;9773:96;;:::o;4149:213::-;4207:7;4236:1;4231;:6;4227:47;;;4261:1;4254:8;;;;4227:47;4286:9;4302:1;4298;:5;;;;:::i;:::-;4286:17;;4331:1;4326;4322;:5;;;;:::i;:::-;:10;4314:19;;;;;;4353:1;4346:8;;;4149:213;;;;;:::o;4370:149::-;4428:7;4460:1;4456;:5;4448:14;;;;;;4473:9;4489:1;4485;:5;;;;:::i;:::-;4473:17;;4510:1;4503:8;;;4370:149;;;;:::o;3863:123::-;3921:7;3953:1;3948;:6;;3941:14;;;;:::i;:::-;;3977:1;3973;:5;;;;:::i;:::-;3966:12;;3863:123;;;;:::o;10758:434::-;10843:5;;;;;;;;;;;10842:6;10834:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;10896:1;10877:21;;:7;:21;;;;10869:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;10947:49;10976:1;10980:7;10989:6;10947:20;:49::i;:::-;11025:6;11009:12;;:22;;;;;;;:::i;:::-;;;;;;;;11064:6;11042:9;:18;11052:7;11042:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;11107:7;11086:37;;11103:1;11086:37;;;11116:6;11086:37;;;;;;:::i;:::-;;;;;;;;11136:48;11164:1;11168:7;11177:6;11136:19;:48::i;:::-;10758:434;;:::o;3994:147::-;4052:7;4072:9;4088:1;4084;:5;;;;:::i;:::-;4072:17;;4112:1;4107;:6;;4100:14;;;;:::i;:::-;;4132:1;4125:8;;;3994:147;;;;:::o;11200:613::-;11285:5;;;;;;;;;;;11284:6;11276:24;;;;;;;;;;;;:::i;:::-;;;;;;;;;11338:1;11319:21;;:7;:21;;;;11311:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11391:49;11412:7;11429:1;11433:6;11391:20;:49::i;:::-;11453:22;11478:9;:18;11488:7;11478:18;;;;;;;;;;;;;;;;11453:43;;11533:6;11515:14;:24;;11507:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11620:26;11639:6;11620:14;:18;;:26;;;;:::i;:::-;11599:9;:18;11609:7;11599:18;;;;;;;;;;;;;;;:47;;;;11683:6;11667:12;;:22;;;;;;;:::i;:::-;;;;;;;;11733:1;11707:37;;11716:7;11707:37;;;11737:6;11707:37;;;;;;:::i;:::-;;;;;;;;11757:48;11777:7;11794:1;11798:6;11757:19;:48::i;:::-;11265:548;11200:613;;:::o;12726:125::-;;;;:::o;12859:124::-;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:329::-;3905:6;3954:2;3942:9;3933:7;3929:23;3925:32;3922:119;;;3960:79;;:::i;:::-;3922:119;4080:1;4105:53;4150:7;4141:6;4130:9;4126:22;4105:53;:::i;:::-;4095:63;;4051:117;3846:329;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:::-;4883:6;4891;4899;4948:2;4936:9;4927:7;4923:23;4919:32;4916:119;;;4954:79;;:::i;:::-;4916:119;5074:1;5099:53;5144:7;5135:6;5124:9;5120:22;5099:53;:::i;:::-;5089:63;;5045:117;5201:2;5227:53;5272:7;5263:6;5252:9;5248:22;5227:53;:::i;:::-;5217:63;;5172:118;5329:2;5355:53;5400:7;5391:6;5380:9;5376:22;5355:53;:::i;:::-;5345:63;;5300:118;4806:619;;;;;:::o;5431:329::-;5490:6;5539:2;5527:9;5518:7;5514:23;5510:32;5507:119;;;5545:79;;:::i;:::-;5507:119;5665:1;5690:53;5735:7;5726:6;5715:9;5711:22;5690:53;:::i;:::-;5680:63;;5636:117;5431:329;;;;:::o;5766:86::-;5801:7;5841:4;5834:5;5830:16;5819:27;;5766:86;;;:::o;5858:112::-;5941:22;5957:5;5941:22;:::i;:::-;5936:3;5929:35;5858:112;;:::o;5976:214::-;6065:4;6103:2;6092:9;6088:18;6080:26;;6116:67;6180:1;6169:9;6165:17;6156:6;6116:67;:::i;:::-;5976:214;;;;:::o;6196:116::-;6266:21;6281:5;6266:21;:::i;:::-;6259:5;6256:32;6246:60;;6302:1;6299;6292:12;6246:60;6196:116;:::o;6318:133::-;6361:5;6399:6;6386:20;6377:29;;6415:30;6439:5;6415:30;:::i;:::-;6318:133;;;;:::o;6457:323::-;6513:6;6562:2;6550:9;6541:7;6537:23;6533:32;6530:119;;;6568:79;;:::i;:::-;6530:119;6688:1;6713:50;6755:7;6746:6;6735:9;6731:22;6713:50;:::i;:::-;6703:60;;6659:114;6457:323;;;;:::o;6786:118::-;6873:24;6891:5;6873:24;:::i;:::-;6868:3;6861:37;6786:118;;:::o;6910:222::-;7003:4;7041:2;7030:9;7026:18;7018:26;;7054:71;7122:1;7111:9;7107:17;7098:6;7054:71;:::i;:::-;6910:222;;;;:::o;7138:117::-;7247:1;7244;7237:12;7261:180;7309:77;7306:1;7299:88;7406:4;7403:1;7396:15;7430:4;7427:1;7420:15;7447:281;7530:27;7552:4;7530:27;:::i;:::-;7522:6;7518:40;7660:6;7648:10;7645:22;7624:18;7612:10;7609:34;7606:62;7603:88;;;7671:18;;:::i;:::-;7603:88;7711:10;7707:2;7700:22;7490:238;7447:281;;:::o;7734:129::-;7768:6;7795:20;;:::i;:::-;7785:30;;7824:33;7852:4;7844:6;7824:33;:::i;:::-;7734:129;;;:::o;7869:311::-;7946:4;8036:18;8028:6;8025:30;8022:56;;;8058:18;;:::i;:::-;8022:56;8108:4;8100:6;8096:17;8088:25;;8168:4;8162;8158:15;8150:23;;7869:311;;;:::o;8186:117::-;8295:1;8292;8285:12;8326:710;8422:5;8447:81;8463:64;8520:6;8463:64;:::i;:::-;8447:81;:::i;:::-;8438:90;;8548:5;8577:6;8570:5;8563:21;8611:4;8604:5;8600:16;8593:23;;8664:4;8656:6;8652:17;8644:6;8640:30;8693:3;8685:6;8682:15;8679:122;;;8712:79;;:::i;:::-;8679:122;8827:6;8810:220;8844:6;8839:3;8836:15;8810:220;;;8919:3;8948:37;8981:3;8969:10;8948:37;:::i;:::-;8943:3;8936:50;9015:4;9010:3;9006:14;8999:21;;8886:144;8870:4;8865:3;8861:14;8854:21;;8810:220;;;8814:21;8428:608;;8326:710;;;;;:::o;9059:370::-;9130:5;9179:3;9172:4;9164:6;9160:17;9156:27;9146:122;;9187:79;;:::i;:::-;9146:122;9304:6;9291:20;9329:94;9419:3;9411:6;9404:4;9396:6;9392:17;9329:94;:::i;:::-;9320:103;;9136:293;9059:370;;;;:::o;9435:829::-;9537:6;9545;9553;9602:2;9590:9;9581:7;9577:23;9573:32;9570:119;;;9608:79;;:::i;:::-;9570:119;9756:1;9745:9;9741:17;9728:31;9786:18;9778:6;9775:30;9772:117;;;9808:79;;:::i;:::-;9772:117;9913:78;9983:7;9974:6;9963:9;9959:22;9913:78;:::i;:::-;9903:88;;9699:302;10040:2;10066:53;10111:7;10102:6;10091:9;10087:22;10066:53;:::i;:::-;10056:63;;10011:118;10168:2;10194:53;10239:7;10230:6;10219:9;10215:22;10194:53;:::i;:::-;10184:63;;10139:118;9435:829;;;;;:::o;10270:117::-;10379:1;10376;10369:12;10393:307;10454:4;10544:18;10536:6;10533:30;10530:56;;;10566:18;;:::i;:::-;10530:56;10604:29;10626:6;10604:29;:::i;:::-;10596:37;;10688:4;10682;10678:15;10670:23;;10393:307;;;:::o;10706:154::-;10790:6;10785:3;10780;10767:30;10852:1;10843:6;10838:3;10834:16;10827:27;10706:154;;;:::o;10866:410::-;10943:5;10968:65;10984:48;11025:6;10984:48;:::i;:::-;10968:65;:::i;:::-;10959:74;;11056:6;11049:5;11042:21;11094:4;11087:5;11083:16;11132:3;11123:6;11118:3;11114:16;11111:25;11108:112;;;11139:79;;:::i;:::-;11108:112;11229:41;11263:6;11258:3;11253;11229:41;:::i;:::-;10949:327;10866:410;;;;;:::o;11295:338::-;11350:5;11399:3;11392:4;11384:6;11380:17;11376:27;11366:122;;11407:79;;:::i;:::-;11366:122;11524:6;11511:20;11549:78;11623:3;11615:6;11608:4;11600:6;11596:17;11549:78;:::i;:::-;11540:87;;11356:277;11295:338;;;;:::o;11639:943::-;11734:6;11742;11750;11758;11807:3;11795:9;11786:7;11782:23;11778:33;11775:120;;;11814:79;;:::i;:::-;11775:120;11934:1;11959:53;12004:7;11995:6;11984:9;11980:22;11959:53;:::i;:::-;11949:63;;11905:117;12061:2;12087:53;12132:7;12123:6;12112:9;12108:22;12087:53;:::i;:::-;12077:63;;12032:118;12217:2;12206:9;12202:18;12189:32;12248:18;12240:6;12237:30;12234:117;;;12270:79;;:::i;:::-;12234:117;12375:62;12429:7;12420:6;12409:9;12405:22;12375:62;:::i;:::-;12365:72;;12160:287;12486:2;12512:53;12557:7;12548:6;12537:9;12533:22;12512:53;:::i;:::-;12502:63;;12457:118;11639:943;;;;;;;:::o;12588:308::-;12650:4;12740:18;12732:6;12729:30;12726:56;;;12762:18;;:::i;:::-;12726:56;12800:29;12822:6;12800:29;:::i;:::-;12792:37;;12884:4;12878;12874:15;12866:23;;12588:308;;;:::o;12902:412::-;12980:5;13005:66;13021:49;13063:6;13021:49;:::i;:::-;13005:66;:::i;:::-;12996:75;;13094:6;13087:5;13080:21;13132:4;13125:5;13121:16;13170:3;13161:6;13156:3;13152:16;13149:25;13146:112;;;13177:79;;:::i;:::-;13146:112;13267:41;13301:6;13296:3;13291;13267:41;:::i;:::-;12986:328;12902:412;;;;;:::o;13334:340::-;13390:5;13439:3;13432:4;13424:6;13420:17;13416:27;13406:122;;13447:79;;:::i;:::-;13406:122;13564:6;13551:20;13589:79;13664:3;13656:6;13649:4;13641:6;13637:17;13589:79;:::i;:::-;13580:88;;13396:278;13334:340;;;;:::o;13680:509::-;13749:6;13798:2;13786:9;13777:7;13773:23;13769:32;13766:119;;;13804:79;;:::i;:::-;13766:119;13952:1;13941:9;13937:17;13924:31;13982:18;13974:6;13971:30;13968:117;;;14004:79;;:::i;:::-;13968:117;14109:63;14164:7;14155:6;14144:9;14140:22;14109:63;:::i;:::-;14099:73;;13895:287;13680:509;;;;:::o;14195:474::-;14263:6;14271;14320:2;14308:9;14299:7;14295:23;14291:32;14288:119;;;14326:79;;:::i;:::-;14288:119;14446:1;14471:53;14516:7;14507:6;14496:9;14492:22;14471:53;:::i;:::-;14461:63;;14417:117;14573:2;14599:53;14644:7;14635:6;14624:9;14620:22;14599:53;:::i;:::-;14589:63;;14544:118;14195:474;;;;;:::o;14675:180::-;14723:77;14720:1;14713:88;14820:4;14817:1;14810:15;14844:4;14841:1;14834:15;14861:320;14905:6;14942:1;14936:4;14932:12;14922:22;;14989:1;14983:4;14979:12;15010:18;15000:81;;15066:4;15058:6;15054:17;15044:27;;15000:81;15128:2;15120:6;15117:14;15097:18;15094:38;15091:84;;;15147:18;;:::i;:::-;15091:84;14912:269;14861:320;;;:::o;15187:155::-;15327:7;15323:1;15315:6;15311:14;15304:31;15187:155;:::o;15348:365::-;15490:3;15511:66;15575:1;15570:3;15511:66;:::i;:::-;15504:73;;15586:93;15675:3;15586:93;:::i;:::-;15704:2;15699:3;15695:12;15688:19;;15348:365;;;:::o;15719:419::-;15885:4;15923:2;15912:9;15908:18;15900:26;;15972:9;15966:4;15962:20;15958:1;15947:9;15943:17;15936:47;16000:131;16126:4;16000:131;:::i;:::-;15992:139;;15719:419;;;:::o;16144:180::-;16192:77;16189:1;16182:88;16289:4;16286:1;16279:15;16313:4;16310:1;16303:15;16330:233;16369:3;16392:24;16410:5;16392:24;:::i;:::-;16383:33;;16438:66;16431:5;16428:77;16425:103;;;16508:18;;:::i;:::-;16425:103;16555:1;16548:5;16544:13;16537:20;;16330:233;;;:::o;16569:154::-;16709:6;16705:1;16697:6;16693:14;16686:30;16569:154;:::o;16729:365::-;16871:3;16892:66;16956:1;16951:3;16892:66;:::i;:::-;16885:73;;16967:93;17056:3;16967:93;:::i;:::-;17085:2;17080:3;17076:12;17069:19;;16729:365;;;:::o;17100:419::-;17266:4;17304:2;17293:9;17289:18;17281:26;;17353:9;17347:4;17343:20;17339:1;17328:9;17324:17;17317:47;17381:131;17507:4;17381:131;:::i;:::-;17373:139;;17100:419;;;:::o;17525:160::-;17665:12;17661:1;17653:6;17649:14;17642:36;17525:160;:::o;17691:366::-;17833:3;17854:67;17918:2;17913:3;17854:67;:::i;:::-;17847:74;;17930:93;18019:3;17930:93;:::i;:::-;18048:2;18043:3;18039:12;18032:19;;17691:366;;;:::o;18063:419::-;18229:4;18267:2;18256:9;18252:18;18244:26;;18316:9;18310:4;18306:20;18302:1;18291:9;18287:17;18280:47;18344:131;18470:4;18344:131;:::i;:::-;18336:139;;18063:419;;;:::o;18488:168::-;18628:20;18624:1;18616:6;18612:14;18605:44;18488:168;:::o;18662:366::-;18804:3;18825:67;18889:2;18884:3;18825:67;:::i;:::-;18818:74;;18901:93;18990:3;18901:93;:::i;:::-;19019:2;19014:3;19010:12;19003:19;;18662:366;;;:::o;19034:419::-;19200:4;19238:2;19227:9;19223:18;19215:26;;19287:9;19281:4;19277:20;19273:1;19262:9;19258:17;19251:47;19315:131;19441:4;19315:131;:::i;:::-;19307:139;;19034:419;;;:::o;19459:147::-;19560:11;19597:3;19582:18;;19459:147;;;;:::o;19612:114::-;;:::o;19732:398::-;19891:3;19912:83;19993:1;19988:3;19912:83;:::i;:::-;19905:90;;20004:93;20093:3;20004:93;:::i;:::-;20122:1;20117:3;20113:11;20106:18;;19732:398;;;:::o;20136:379::-;20320:3;20342:147;20485:3;20342:147;:::i;:::-;20335:154;;20506:3;20499:10;;20136:379;;;:::o;20521:168::-;20661:20;20657:1;20649:6;20645:14;20638:44;20521:168;:::o;20695:366::-;20837:3;20858:67;20922:2;20917:3;20858:67;:::i;:::-;20851:74;;20934:93;21023:3;20934:93;:::i;:::-;21052:2;21047:3;21043:12;21036:19;;20695:366;;;:::o;21067:419::-;21233:4;21271:2;21260:9;21256:18;21248:26;;21320:9;21314:4;21310:20;21306:1;21295:9;21291:17;21284:47;21348:131;21474:4;21348:131;:::i;:::-;21340:139;;21067:419;;;:::o;21492:348::-;21532:7;21555:20;21573:1;21555:20;:::i;:::-;21550:25;;21589:20;21607:1;21589:20;:::i;:::-;21584:25;;21777:1;21709:66;21705:74;21702:1;21699:81;21694:1;21687:9;21680:17;21676:105;21673:131;;;21784:18;;:::i;:::-;21673:131;21832:1;21829;21825:9;21814:20;;21492:348;;;;:::o;21846:180::-;21894:77;21891:1;21884:88;21991:4;21988:1;21981:15;22015:4;22012:1;22005:15;22032:185;22072:1;22089:20;22107:1;22089:20;:::i;:::-;22084:25;;22123:20;22141:1;22123:20;:::i;:::-;22118:25;;22162:1;22152:35;;22167:18;;:::i;:::-;22152:35;22209:1;22206;22202:9;22197:14;;22032:185;;;;:::o;22223:305::-;22263:3;22282:20;22300:1;22282:20;:::i;:::-;22277:25;;22316:20;22334:1;22316:20;:::i;:::-;22311:25;;22470:1;22402:66;22398:74;22395:1;22392:81;22389:107;;;22476:18;;:::i;:::-;22389:107;22520:1;22517;22513:9;22506:16;;22223:305;;;;:::o;22534:224::-;22674:34;22670:1;22662:6;22658:14;22651:58;22743:7;22738:2;22730:6;22726:15;22719:32;22534:224;:::o;22764:366::-;22906:3;22927:67;22991:2;22986:3;22927:67;:::i;:::-;22920:74;;23003:93;23092:3;23003:93;:::i;:::-;23121:2;23116:3;23112:12;23105:19;;22764:366;;;:::o;23136:419::-;23302:4;23340:2;23329:9;23325:18;23317:26;;23389:9;23383:4;23379:20;23375:1;23364:9;23360:17;23353:47;23417:131;23543:4;23417:131;:::i;:::-;23409:139;;23136:419;;;:::o;23561:143::-;23618:5;23649:6;23643:13;23634:22;;23665:33;23692:5;23665:33;:::i;:::-;23561:143;;;;:::o;23710:351::-;23780:6;23829:2;23817:9;23808:7;23804:23;23800:32;23797:119;;;23835:79;;:::i;:::-;23797:119;23955:1;23980:64;24036:7;24027:6;24016:9;24012:22;23980:64;:::i;:::-;23970:74;;23926:128;23710:351;;;;:::o;24067:332::-;24188:4;24226:2;24215:9;24211:18;24203:26;;24239:71;24307:1;24296:9;24292:17;24283:6;24239:71;:::i;:::-;24320:72;24388:2;24377:9;24373:18;24364:6;24320:72;:::i;:::-;24067:332;;;;;:::o;24405:137::-;24459:5;24490:6;24484:13;24475:22;;24506:30;24530:5;24506:30;:::i;:::-;24405:137;;;;:::o;24548:345::-;24615:6;24664:2;24652:9;24643:7;24639:23;24635:32;24632:119;;;24670:79;;:::i;:::-;24632:119;24790:1;24815:61;24868:7;24859:6;24848:9;24844:22;24815:61;:::i;:::-;24805:71;;24761:125;24548:345;;;;:::o;24899:151::-;25039:3;25035:1;25027:6;25023:14;25016:27;24899:151;:::o;25056:365::-;25198:3;25219:66;25283:1;25278:3;25219:66;:::i;:::-;25212:73;;25294:93;25383:3;25294:93;:::i;:::-;25412:2;25407:3;25403:12;25396:19;;25056:365;;;:::o;25427:419::-;25593:4;25631:2;25620:9;25616:18;25608:26;;25680:9;25674:4;25670:20;25666:1;25655:9;25651:17;25644:47;25708:131;25834:4;25708:131;:::i;:::-;25700:139;;25427:419;;;:::o;25852:168::-;25992:20;25988:1;25980:6;25976:14;25969:44;25852:168;:::o;26026:366::-;26168:3;26189:67;26253:2;26248:3;26189:67;:::i;:::-;26182:74;;26265:93;26354:3;26265:93;:::i;:::-;26383:2;26378:3;26374:12;26367:19;;26026:366;;;:::o;26398:419::-;26564:4;26602:2;26591:9;26587:18;26579:26;;26651:9;26645:4;26641:20;26637:1;26626:9;26622:17;26615:47;26679:131;26805:4;26679:131;:::i;:::-;26671:139;;26398:419;;;:::o;26823:181::-;26963:33;26959:1;26951:6;26947:14;26940:57;26823:181;:::o;27010:366::-;27152:3;27173:67;27237:2;27232:3;27173:67;:::i;:::-;27166:74;;27249:93;27338:3;27249:93;:::i;:::-;27367:2;27362:3;27358:12;27351:19;;27010:366;;;:::o;27382:419::-;27548:4;27586:2;27575:9;27571:18;27563:26;;27635:9;27629:4;27625:20;27621:1;27610:9;27606:17;27599:47;27663:131;27789:4;27663:131;:::i;:::-;27655:139;;27382:419;;;:::o;27807:170::-;27947:22;27943:1;27935:6;27931:14;27924:46;27807:170;:::o;27983:366::-;28125:3;28146:67;28210:2;28205:3;28146:67;:::i;:::-;28139:74;;28222:93;28311:3;28222:93;:::i;:::-;28340:2;28335:3;28331:12;28324:19;;27983:366;;;:::o;28355:419::-;28521:4;28559:2;28548:9;28544:18;28536:26;;28608:9;28602:4;28598:20;28594:1;28583:9;28579:17;28572:47;28636:131;28762:4;28636:131;:::i;:::-;28628:139;;28355:419;;;:::o;28780:191::-;28820:4;28840:20;28858:1;28840:20;:::i;:::-;28835:25;;28874:20;28892:1;28874:20;:::i;:::-;28869:25;;28913:1;28910;28907:8;28904:34;;;28918:18;;:::i;:::-;28904:34;28963:1;28960;28956:9;28948:17;;28780:191;;;;:::o;28977:180::-;29025:77;29022:1;29015:88;29122:4;29119:1;29112:15;29146:4;29143:1;29136:15;29163:224;29303:34;29299:1;29291:6;29287:14;29280:58;29372:7;29367:2;29359:6;29355:15;29348:32;29163:224;:::o;29393:366::-;29535:3;29556:67;29620:2;29615:3;29556:67;:::i;:::-;29549:74;;29632:93;29721:3;29632:93;:::i;:::-;29750:2;29745:3;29741:12;29734:19;;29393:366;;;:::o;29765:419::-;29931:4;29969:2;29958:9;29954:18;29946:26;;30018:9;30012:4;30008:20;30004:1;29993:9;29989:17;29982:47;30046:131;30172:4;30046:131;:::i;:::-;30038:139;;29765:419;;;:::o;30190:236::-;30330:34;30326:1;30318:6;30314:14;30307:58;30399:19;30394:2;30386:6;30382:15;30375:44;30190:236;:::o;30432:366::-;30574:3;30595:67;30659:2;30654:3;30595:67;:::i;:::-;30588:74;;30671:93;30760:3;30671:93;:::i;:::-;30789:2;30784:3;30780:12;30773:19;;30432:366;;;:::o;30804:419::-;30970:4;31008:2;30997:9;30993:18;30985:26;;31057:9;31051:4;31047:20;31043:1;31032:9;31028:17;31021:47;31085:131;31211:4;31085:131;:::i;:::-;31077:139;;30804:419;;;:::o;31229:98::-;31280:6;31314:5;31308:12;31298:22;;31229:98;;;:::o;31333:168::-;31416:11;31450:6;31445:3;31438:19;31490:4;31485:3;31481:14;31466:29;;31333:168;;;;:::o;31507:360::-;31593:3;31621:38;31653:5;31621:38;:::i;:::-;31675:70;31738:6;31733:3;31675:70;:::i;:::-;31668:77;;31754:52;31799:6;31794:3;31787:4;31780:5;31776:16;31754:52;:::i;:::-;31831:29;31853:6;31831:29;:::i;:::-;31826:3;31822:39;31815:46;;31597:270;31507:360;;;;:::o;31873:640::-;32068:4;32106:3;32095:9;32091:19;32083:27;;32120:71;32188:1;32177:9;32173:17;32164:6;32120:71;:::i;:::-;32201:72;32269:2;32258:9;32254:18;32245:6;32201:72;:::i;:::-;32283;32351:2;32340:9;32336:18;32327:6;32283:72;:::i;:::-;32402:9;32396:4;32392:20;32387:2;32376:9;32372:18;32365:48;32430:76;32501:4;32492:6;32430:76;:::i;:::-;32422:84;;31873:640;;;;;;;:::o;32519:237::-;32659:34;32655:1;32647:6;32643:14;32636:58;32728:20;32723:2;32715:6;32711:15;32704:45;32519:237;:::o;32762:366::-;32904:3;32925:67;32989:2;32984:3;32925:67;:::i;:::-;32918:74;;33001:93;33090:3;33001:93;:::i;:::-;33119:2;33114:3;33110:12;33103:19;;32762:366;;;:::o;33134:419::-;33300:4;33338:2;33327:9;33323:18;33315:26;;33387:9;33381:4;33377:20;33373:1;33362:9;33358:17;33351:47;33415:131;33541:4;33415:131;:::i;:::-;33407:139;;33134:419;;;:::o;33559:223::-;33699:34;33695:1;33687:6;33683:14;33676:58;33768:6;33763:2;33755:6;33751:15;33744:31;33559:223;:::o;33788:366::-;33930:3;33951:67;34015:2;34010:3;33951:67;:::i;:::-;33944:74;;34027:93;34116:3;34027:93;:::i;:::-;34145:2;34140:3;34136:12;34129:19;;33788:366;;;:::o;34160:419::-;34326:4;34364:2;34353:9;34349:18;34341:26;;34413:9;34407:4;34403:20;34399:1;34388:9;34384:17;34377:47;34441:131;34567:4;34441:131;:::i;:::-;34433:139;;34160:419;;;:::o;34585:221::-;34725:34;34721:1;34713:6;34709:14;34702:58;34794:4;34789:2;34781:6;34777:15;34770:29;34585:221;:::o;34812:366::-;34954:3;34975:67;35039:2;35034:3;34975:67;:::i;:::-;34968:74;;35051:93;35140:3;35051:93;:::i;:::-;35169:2;35164:3;35160:12;35153:19;;34812:366;;;:::o;35184:419::-;35350:4;35388:2;35377:9;35373:18;35365:26;;35437:9;35431:4;35427:20;35423:1;35412:9;35408:17;35401:47;35465:131;35591:4;35465:131;:::i;:::-;35457:139;;35184:419;;;:::o;35609:179::-;35749:31;35745:1;35737:6;35733:14;35726:55;35609:179;:::o;35794:366::-;35936:3;35957:67;36021:2;36016:3;35957:67;:::i;:::-;35950:74;;36033:93;36122:3;36033:93;:::i;:::-;36151:2;36146:3;36142:12;36135:19;;35794:366;;;:::o;36166:419::-;36332:4;36370:2;36359:9;36355:18;36347:26;;36419:9;36413:4;36409:20;36405:1;36394:9;36390:17;36383:47;36447:131;36573:4;36447:131;:::i;:::-;36439:139;;36166:419;;;:::o;36591:172::-;36731:24;36727:1;36719:6;36715:14;36708:48;36591:172;:::o;36769:366::-;36911:3;36932:67;36996:2;36991:3;36932:67;:::i;:::-;36925:74;;37008:93;37097:3;37008:93;:::i;:::-;37126:2;37121:3;37117:12;37110:19;;36769:366;;;:::o;37141:419::-;37307:4;37345:2;37334:9;37330:18;37322:26;;37394:9;37388:4;37384:20;37380:1;37369:9;37365:17;37358:47;37422:131;37548:4;37422:131;:::i;:::-;37414:139;;37141:419;;;:::o;37566:224::-;37706:34;37702:1;37694:6;37690:14;37683:58;37775:7;37770:2;37762:6;37758:15;37751:32;37566:224;:::o;37796:366::-;37938:3;37959:67;38023:2;38018:3;37959:67;:::i;:::-;37952:74;;38035:93;38124:3;38035:93;:::i;:::-;38153:2;38148:3;38144:12;38137:19;;37796:366;;;:::o;38168:419::-;38334:4;38372:2;38361:9;38357:18;38349:26;;38421:9;38415:4;38411:20;38407:1;38396:9;38392:17;38385:47;38449:131;38575:4;38449:131;:::i;:::-;38441:139;;38168:419;;;:::o;38593:222::-;38733:34;38729:1;38721:6;38717:14;38710:58;38802:5;38797:2;38789:6;38785:15;38778:30;38593:222;:::o;38821:366::-;38963:3;38984:67;39048:2;39043:3;38984:67;:::i;:::-;38977:74;;39060:93;39149:3;39060:93;:::i;:::-;39178:2;39173:3;39169:12;39162:19;;38821:366;;;:::o;39193:419::-;39359:4;39397:2;39386:9;39382:18;39374:26;;39446:9;39440:4;39436:20;39432:1;39421:9;39417:17;39410:47;39474:131;39600:4;39474:131;:::i;:::-;39466:139;;39193:419;;;:::o;39618:225::-;39758:34;39754:1;39746:6;39742:14;39735:58;39827:8;39822:2;39814:6;39810:15;39803:33;39618:225;:::o;39849:366::-;39991:3;40012:67;40076:2;40071:3;40012:67;:::i;:::-;40005:74;;40088:93;40177:3;40088:93;:::i;:::-;40206:2;40201:3;40197:12;40190:19;;39849:366;;;:::o;40221:419::-;40387:4;40425:2;40414:9;40410:18;40402:26;;40474:9;40468:4;40464:20;40460:1;40449:9;40445:17;40438:47;40502:131;40628:4;40502:131;:::i;:::-;40494:139;;40221:419;;;:::o;40646:180::-;40694:77;40691:1;40684:88;40791:4;40788:1;40781:15;40815:4;40812:1;40805:15;40832:181;40972:33;40968:1;40960:6;40956:14;40949:57;40832:181;:::o;41019:366::-;41161:3;41182:67;41246:2;41241:3;41182:67;:::i;:::-;41175:74;;41258:93;41347:3;41258:93;:::i;:::-;41376:2;41371:3;41367:12;41360:19;;41019:366;;;:::o;41391:419::-;41557:4;41595:2;41584:9;41580:18;41572:26;;41644:9;41638:4;41634:20;41630:1;41619:9;41615:17;41608:47;41672:131;41798:4;41672:131;:::i;:::-;41664:139;;41391:419;;;:::o;41816:220::-;41956:34;41952:1;41944:6;41940:14;41933:58;42025:3;42020:2;42012:6;42008:15;42001:28;41816:220;:::o;42042:366::-;42184:3;42205:67;42269:2;42264:3;42205:67;:::i;:::-;42198:74;;42281:93;42370:3;42281:93;:::i;:::-;42399:2;42394:3;42390:12;42383:19;;42042:366;;;:::o;42414:419::-;42580:4;42618:2;42607:9;42603:18;42595:26;;42667:9;42661:4;42657:20;42653:1;42642:9;42638:17;42631:47;42695:131;42821:4;42695:131;:::i;:::-;42687:139;;42414:419;;;:::o;42839:221::-;42979:34;42975:1;42967:6;42963:14;42956:58;43048:4;43043:2;43035:6;43031:15;43024:29;42839:221;:::o;43066:366::-;43208:3;43229:67;43293:2;43288:3;43229:67;:::i;:::-;43222:74;;43305:93;43394:3;43305:93;:::i;:::-;43423:2;43418:3;43414:12;43407:19;;43066:366;;;:::o;43438:419::-;43604:4;43642:2;43631:9;43627:18;43619:26;;43691:9;43685:4;43681:20;43677:1;43666:9;43662:17;43655:47;43719:131;43845:4;43719:131;:::i;:::-;43711:139;;43438:419;;;:::o

Swarm Source

ipfs://143976ea98af7e8bd07a5ef2574024f366aee237ffc5bb9477f96faed059a974
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.