ETH Price: $2,941.19 (-0.57%)

Token

NArb ($NARB)

Overview

Max Total Supply

500,000,000,000,000 $NARB

Holders

9,344

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
10,100,000,000 $NARB

Value
$0.00
0x6421955561c872f17822aec1fe4c780d0843b038
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
NARB

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2023-05-06
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.7;

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


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

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     */
    function _createTotalSupply(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: zero address");

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

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

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

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

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

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

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    /**
     * @dev Hook that is called before any transfer of tokens. 
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. 
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

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

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

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

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



contract NARB is ERC20, Ownable {
    uint256 public marketingFee = 300; // 3%
    uint256 public rewardsFee = 300; // 3%
    address public marketingWallet = 0xCEc97f3C28aD714038d2233c5006fF81a0CefEA8;
    address public rewardsWallet = 0x5c61F0bb7452b150cC59a833AF61217DAAc520F2;

    // exlcude from fees
    mapping (address => bool) private _isExcludedFromFees;
  
    event ExcludeFromFees(address indexed account, bool isExcluded);


    constructor() ERC20("NArb", "$NARB") {
    	
        // exclude from paying fees or having max transaction amount
        excludeFromFees(owner(), true);
        excludeFromFees(marketingWallet, true);
        excludeFromFees(rewardsWallet, true);
        excludeFromFees(address(this), true);
        
        /*
            internal function  that is only called here,
            and CANNOT be called ever again
        */
        _createTotalSupply(owner(), 500000000000000 * (10**18));
    }

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

        if(amount == 0) {
            super._transfer(from, to, 0);
            return;
        }


        if(!_isExcludedFromFees[from] && 
            !_isExcludedFromFees[to]) {

            uint256 fees = amount*marketingFee/10000;
            uint256 rewardAmount = amount*rewardsFee/10000;

            if(fees > 0) {
                super._transfer(from, marketingWallet, fees);
            }

            if(rewardAmount > 0) {
                super._transfer(from, rewardsWallet, rewardAmount);
            }

            amount = amount-(fees+rewardAmount);

        }

        super._transfer(from, to, amount);

    }


    function excludeFromFees(address account, bool excluded) public onlyOwner {
        require(_isExcludedFromFees[account] != excluded, "Account is already the value of 'excluded'");
        _isExcludedFromFees[account] = excluded;

        emit ExcludeFromFees(account, excluded);
    }

    function isExcludedFromFees(address account) public view returns(bool) {
        return _isExcludedFromFees[account];
    }

    function setFees(uint256 _markFee, uint256 _rewFee) public onlyOwner() {
        require(_markFee <= 1000, "tax too high");
        require(_rewFee <= 1000, "tax too high");
        marketingFee = _markFee;
        rewardsFee = _rewFee;
    }



    function updateMarketingWallet(address _newWallet) public onlyOwner { 
        excludeFromFees(_newWallet, true);
        marketingWallet = _newWallet;
    }

        function updateRewardsWallet(address _newWallet) public onlyOwner {  
        excludeFromFees(_newWallet, true); 
        rewardsWallet = _newWallet;
    }


    function transferTokens(address _token) public onlyOwner{
        ERC20 theToken = ERC20(_token);
        theToken.transfer(msg.sender, theToken.balanceOf(address(this)));
    }

    


}

Contract Security Audit

Contract ABI

API
[{"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_markFee","type":"uint256"},{"internalType":"uint256","name":"_rewFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"transferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"updateRewardsWallet","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405261012c60065561012c60075573cec97f3c28ad714038d2233c5006ff81a0cefea8600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735c61f0bb7452b150cc59a833af61217daac520f2600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000c757600080fd5b506040518060400160405280600481526020017f4e417262000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f244e41524200000000000000000000000000000000000000000000000000000081525081600290805190602001906200014c929190620006a7565b50806003908051906020019062000165929190620006a7565b505050620001886200017c6200025c60201b60201c565b6200026460201b60201c565b620001aa6200019c6200032a60201b60201c565b60016200035460201b60201c565b620001df600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200035460201b60201c565b62000214600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200035460201b60201c565b620002273060016200035460201b60201c565b620002566200023b6200032a60201b60201c565b6d18a6e32246c99c60ad85000000006200052460201b60201c565b62000a47565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003646200025c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200038a6200032a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620003e3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003da906200082d565b60405180910390fd5b801515600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141562000479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000470906200084f565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620005189190620007ee565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000597576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200058e906200080b565b60405180910390fd5b620005ab600083836200069d60201b60201c565b8060046000828254620005bf91906200089f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200061691906200089f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200067d919062000871565b60405180910390a36200069960008383620006a260201b60201c565b5050565b505050565b505050565b828054620006b59062000912565b90600052602060002090601f016020900481019282620006d9576000855562000725565b82601f10620006f457805160ff191683800117855562000725565b8280016001018555821562000725579182015b828111156200072457825182559160200191906001019062000707565b5b50905062000734919062000738565b5090565b5b808211156200075357600081600090555060010162000739565b5090565b6200076281620008fc565b82525050565b6000620007776013836200088e565b91506200078482620009a6565b602082019050919050565b60006200079e6020836200088e565b9150620007ab82620009cf565b602082019050919050565b6000620007c5602a836200088e565b9150620007d282620009f8565b604082019050919050565b620007e88162000908565b82525050565b600060208201905062000805600083018462000757565b92915050565b60006020820190508181036000830152620008268162000768565b9050919050565b6000602082019050818103600083015262000848816200078f565b9050919050565b600060208201905081810360008301526200086a81620007b6565b9050919050565b6000602082019050620008886000830184620007dd565b92915050565b600082825260208201905092915050565b6000620008ac8262000908565b9150620008b98362000908565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620008f157620008f062000948565b5b828201905092915050565b60008115159050919050565b6000819050919050565b600060028204905060018216806200092b57607f821691505b6020821081141562000942576200094162000977565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f45524332303a207a65726f206164647265737300000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b6125d98062000a576000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb146103cd578063aacebbe3146103fd578063c024666814610419578063cfc0d02414610435578063dd62ed3e14610451578063f2fde38b1461048157610158565b806370a0823114610309578063715018a61461033957806375f0a874146103435780638da5cb5b1461036157806395d89b411461037f578063a457c2d71461039d57610158565b80632bb14e1d116101155780632bb14e1d14610231578063313ce5671461024f578063395093511461026d5780634fbee1931461029d5780635b35f9c9146102cd5780636b67c4df146102eb57610158565b806306fdde031461015d578063095ea7b31461017b5780630b78f9c0146101ab5780630c89a0df146101c757806318160ddd146101e357806323b872dd14610201575b600080fd5b61016561049d565b6040516101729190611dff565b60405180910390f35b61019560048036038101906101909190611ad0565b61052f565b6040516101a29190611de4565b60405180910390f35b6101c560048036038101906101c09190611b6a565b61054d565b005b6101e160048036038101906101dc91906119d0565b610665565b005b6101eb610800565b6040516101f89190611f81565b60405180910390f35b61021b60048036038101906102169190611a3d565b61080a565b6040516102289190611de4565b60405180910390f35b610239610902565b6040516102469190611f81565b60405180910390f35b610257610908565b6040516102649190611f9c565b60405180910390f35b61028760048036038101906102829190611ad0565b610911565b6040516102949190611de4565b60405180910390f35b6102b760048036038101906102b291906119d0565b6109bd565b6040516102c49190611de4565b60405180910390f35b6102d5610a13565b6040516102e29190611da0565b60405180910390f35b6102f3610a39565b6040516103009190611f81565b60405180910390f35b610323600480360381019061031e91906119d0565b610a3f565b6040516103309190611f81565b60405180910390f35b610341610a87565b005b61034b610b0f565b6040516103589190611da0565b60405180910390f35b610369610b35565b6040516103769190611da0565b60405180910390f35b610387610b5f565b6040516103949190611dff565b60405180910390f35b6103b760048036038101906103b29190611ad0565b610bf1565b6040516103c49190611de4565b60405180910390f35b6103e760048036038101906103e29190611ad0565b610cdc565b6040516103f49190611de4565b60405180910390f35b610417600480360381019061041291906119d0565b610cfa565b005b610433600480360381019061042e9190611a90565b610dc5565b005b61044f600480360381019061044a91906119d0565b610f7d565b005b61046b600480360381019061046691906119fd565b611048565b6040516104789190611f81565b60405180910390f35b61049b600480360381019061049691906119d0565b6110cf565b005b6060600280546104ac90612170565b80601f01602080910402602001604051908101604052809291908181526020018280546104d890612170565b80156105255780601f106104fa57610100808354040283529160200191610525565b820191906000526020600020905b81548152906001019060200180831161050857829003601f168201915b5050505050905090565b600061054361053c6111c7565b84846111cf565b6001905092915050565b6105556111c7565b73ffffffffffffffffffffffffffffffffffffffff16610573610b35565b73ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c090611ec1565b60405180910390fd5b6103e882111561060e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060590611f41565b60405180910390fd5b6103e8811115610653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064a90611f41565b60405180910390fd5b81600681905550806007819055505050565b61066d6111c7565b73ffffffffffffffffffffffffffffffffffffffff1661068b610b35565b73ffffffffffffffffffffffffffffffffffffffff16146106e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d890611ec1565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161073c9190611da0565b60206040518083038186803b15801561075457600080fd5b505afa158015610768573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078c9190611b3d565b6040518363ffffffff1660e01b81526004016107a9929190611dbb565b602060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190611b10565b505050565b6000600454905090565b600061081784848461139a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108626111c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d990611ea1565b60405180910390fd5b6108f6856108ee6111c7565b8584036111cf565b60019150509392505050565b60075481565b60006012905090565b60006109b361091e6111c7565b84846001600061092c6111c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109ae9190611fd3565b6111cf565b6001905092915050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a8f6111c7565b73ffffffffffffffffffffffffffffffffffffffff16610aad610b35565b73ffffffffffffffffffffffffffffffffffffffff1614610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afa90611ec1565b60405180910390fd5b610b0d6000611616565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610b6e90612170565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9a90612170565b8015610be75780601f10610bbc57610100808354040283529160200191610be7565b820191906000526020600020905b815481529060010190602001808311610bca57829003601f168201915b5050505050905090565b60008060016000610c006111c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb490611f61565b60405180910390fd5b610cd1610cc86111c7565b858584036111cf565b600191505092915050565b6000610cf0610ce96111c7565b848461139a565b6001905092915050565b610d026111c7565b73ffffffffffffffffffffffffffffffffffffffff16610d20610b35565b73ffffffffffffffffffffffffffffffffffffffff1614610d76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6d90611ec1565b60405180910390fd5b610d81816001610dc5565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dcd6111c7565b73ffffffffffffffffffffffffffffffffffffffff16610deb610b35565b73ffffffffffffffffffffffffffffffffffffffff1614610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890611ec1565b60405180910390fd5b801515600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecb90611f21565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610f719190611de4565b60405180910390a25050565b610f856111c7565b73ffffffffffffffffffffffffffffffffffffffff16610fa3610b35565b73ffffffffffffffffffffffffffffffffffffffff1614610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090611ec1565b60405180910390fd5b611004816001610dc5565b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110d76111c7565b73ffffffffffffffffffffffffffffffffffffffff166110f5610b35565b73ffffffffffffffffffffffffffffffffffffffff161461114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290611ec1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b290611e41565b60405180910390fd5b6111c481611616565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561123f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123690611f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690611e61565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161138d9190611f81565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561140a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140190611ee1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561147a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147190611e21565b60405180910390fd5b60008114156114945761148f838360006116dc565b611611565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115385750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561160557600061271060065483611550919061205a565b61155a9190612029565b905060006127106007548461156f919061205a565b6115799190612029565b905060008211156115b2576115b185600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116dc565b5b60008111156115e9576115e885600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836116dc565b5b80826115f59190611fd3565b8361160091906120b4565b925050505b6116108383836116dc565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561174c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174390611ee1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b390611e21565b60405180910390fd5b6117c783838361195d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561184d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184490611e81565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118e09190611fd3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119449190611f81565b60405180910390a3611957848484611962565b50505050565b505050565b505050565b6000813590506119768161255e565b92915050565b60008135905061198b81612575565b92915050565b6000815190506119a081612575565b92915050565b6000813590506119b58161258c565b92915050565b6000815190506119ca8161258c565b92915050565b6000602082840312156119e6576119e561222f565b5b60006119f484828501611967565b91505092915050565b60008060408385031215611a1457611a1361222f565b5b6000611a2285828601611967565b9250506020611a3385828601611967565b9150509250929050565b600080600060608486031215611a5657611a5561222f565b5b6000611a6486828701611967565b9350506020611a7586828701611967565b9250506040611a86868287016119a6565b9150509250925092565b60008060408385031215611aa757611aa661222f565b5b6000611ab585828601611967565b9250506020611ac68582860161197c565b9150509250929050565b60008060408385031215611ae757611ae661222f565b5b6000611af585828601611967565b9250506020611b06858286016119a6565b9150509250929050565b600060208284031215611b2657611b2561222f565b5b6000611b3484828501611991565b91505092915050565b600060208284031215611b5357611b5261222f565b5b6000611b61848285016119bb565b91505092915050565b60008060408385031215611b8157611b8061222f565b5b6000611b8f858286016119a6565b9250506020611ba0858286016119a6565b9150509250929050565b611bb3816120e8565b82525050565b611bc2816120fa565b82525050565b6000611bd382611fb7565b611bdd8185611fc2565b9350611bed81856020860161213d565b611bf681612234565b840191505092915050565b6000611c0e602383611fc2565b9150611c1982612245565b604082019050919050565b6000611c31602683611fc2565b9150611c3c82612294565b604082019050919050565b6000611c54602283611fc2565b9150611c5f826122e3565b604082019050919050565b6000611c77602683611fc2565b9150611c8282612332565b604082019050919050565b6000611c9a602883611fc2565b9150611ca582612381565b604082019050919050565b6000611cbd602083611fc2565b9150611cc8826123d0565b602082019050919050565b6000611ce0602583611fc2565b9150611ceb826123f9565b604082019050919050565b6000611d03602483611fc2565b9150611d0e82612448565b604082019050919050565b6000611d26602a83611fc2565b9150611d3182612497565b604082019050919050565b6000611d49600c83611fc2565b9150611d54826124e6565b602082019050919050565b6000611d6c602583611fc2565b9150611d778261250f565b604082019050919050565b611d8b81612126565b82525050565b611d9a81612130565b82525050565b6000602082019050611db56000830184611baa565b92915050565b6000604082019050611dd06000830185611baa565b611ddd6020830184611d82565b9392505050565b6000602082019050611df96000830184611bb9565b92915050565b60006020820190508181036000830152611e198184611bc8565b905092915050565b60006020820190508181036000830152611e3a81611c01565b9050919050565b60006020820190508181036000830152611e5a81611c24565b9050919050565b60006020820190508181036000830152611e7a81611c47565b9050919050565b60006020820190508181036000830152611e9a81611c6a565b9050919050565b60006020820190508181036000830152611eba81611c8d565b9050919050565b60006020820190508181036000830152611eda81611cb0565b9050919050565b60006020820190508181036000830152611efa81611cd3565b9050919050565b60006020820190508181036000830152611f1a81611cf6565b9050919050565b60006020820190508181036000830152611f3a81611d19565b9050919050565b60006020820190508181036000830152611f5a81611d3c565b9050919050565b60006020820190508181036000830152611f7a81611d5f565b9050919050565b6000602082019050611f966000830184611d82565b92915050565b6000602082019050611fb16000830184611d91565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611fde82612126565b9150611fe983612126565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561201e5761201d6121a2565b5b828201905092915050565b600061203482612126565b915061203f83612126565b92508261204f5761204e6121d1565b5b828204905092915050565b600061206582612126565b915061207083612126565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120a9576120a86121a2565b5b828202905092915050565b60006120bf82612126565b91506120ca83612126565b9250828210156120dd576120dc6121a2565b5b828203905092915050565b60006120f382612106565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561215b578082015181840152602081019050612140565b8381111561216a576000848401525b50505050565b6000600282049050600182168061218857607f821691505b6020821081141561219c5761219b612200565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b7f74617820746f6f20686967680000000000000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b612567816120e8565b811461257257600080fd5b50565b61257e816120fa565b811461258957600080fd5b50565b61259581612126565b81146125a057600080fd5b5056fea26469706673582212207e5ed52eb2f06749921b2cf0ce76de9565b54010b1b76c390146df870f53004c64736f6c63430008070033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb146103cd578063aacebbe3146103fd578063c024666814610419578063cfc0d02414610435578063dd62ed3e14610451578063f2fde38b1461048157610158565b806370a0823114610309578063715018a61461033957806375f0a874146103435780638da5cb5b1461036157806395d89b411461037f578063a457c2d71461039d57610158565b80632bb14e1d116101155780632bb14e1d14610231578063313ce5671461024f578063395093511461026d5780634fbee1931461029d5780635b35f9c9146102cd5780636b67c4df146102eb57610158565b806306fdde031461015d578063095ea7b31461017b5780630b78f9c0146101ab5780630c89a0df146101c757806318160ddd146101e357806323b872dd14610201575b600080fd5b61016561049d565b6040516101729190611dff565b60405180910390f35b61019560048036038101906101909190611ad0565b61052f565b6040516101a29190611de4565b60405180910390f35b6101c560048036038101906101c09190611b6a565b61054d565b005b6101e160048036038101906101dc91906119d0565b610665565b005b6101eb610800565b6040516101f89190611f81565b60405180910390f35b61021b60048036038101906102169190611a3d565b61080a565b6040516102289190611de4565b60405180910390f35b610239610902565b6040516102469190611f81565b60405180910390f35b610257610908565b6040516102649190611f9c565b60405180910390f35b61028760048036038101906102829190611ad0565b610911565b6040516102949190611de4565b60405180910390f35b6102b760048036038101906102b291906119d0565b6109bd565b6040516102c49190611de4565b60405180910390f35b6102d5610a13565b6040516102e29190611da0565b60405180910390f35b6102f3610a39565b6040516103009190611f81565b60405180910390f35b610323600480360381019061031e91906119d0565b610a3f565b6040516103309190611f81565b60405180910390f35b610341610a87565b005b61034b610b0f565b6040516103589190611da0565b60405180910390f35b610369610b35565b6040516103769190611da0565b60405180910390f35b610387610b5f565b6040516103949190611dff565b60405180910390f35b6103b760048036038101906103b29190611ad0565b610bf1565b6040516103c49190611de4565b60405180910390f35b6103e760048036038101906103e29190611ad0565b610cdc565b6040516103f49190611de4565b60405180910390f35b610417600480360381019061041291906119d0565b610cfa565b005b610433600480360381019061042e9190611a90565b610dc5565b005b61044f600480360381019061044a91906119d0565b610f7d565b005b61046b600480360381019061046691906119fd565b611048565b6040516104789190611f81565b60405180910390f35b61049b600480360381019061049691906119d0565b6110cf565b005b6060600280546104ac90612170565b80601f01602080910402602001604051908101604052809291908181526020018280546104d890612170565b80156105255780601f106104fa57610100808354040283529160200191610525565b820191906000526020600020905b81548152906001019060200180831161050857829003601f168201915b5050505050905090565b600061054361053c6111c7565b84846111cf565b6001905092915050565b6105556111c7565b73ffffffffffffffffffffffffffffffffffffffff16610573610b35565b73ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c090611ec1565b60405180910390fd5b6103e882111561060e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060590611f41565b60405180910390fd5b6103e8811115610653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064a90611f41565b60405180910390fd5b81600681905550806007819055505050565b61066d6111c7565b73ffffffffffffffffffffffffffffffffffffffff1661068b610b35565b73ffffffffffffffffffffffffffffffffffffffff16146106e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d890611ec1565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161073c9190611da0565b60206040518083038186803b15801561075457600080fd5b505afa158015610768573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078c9190611b3d565b6040518363ffffffff1660e01b81526004016107a9929190611dbb565b602060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190611b10565b505050565b6000600454905090565b600061081784848461139a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108626111c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d990611ea1565b60405180910390fd5b6108f6856108ee6111c7565b8584036111cf565b60019150509392505050565b60075481565b60006012905090565b60006109b361091e6111c7565b84846001600061092c6111c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109ae9190611fd3565b6111cf565b6001905092915050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a8f6111c7565b73ffffffffffffffffffffffffffffffffffffffff16610aad610b35565b73ffffffffffffffffffffffffffffffffffffffff1614610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afa90611ec1565b60405180910390fd5b610b0d6000611616565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610b6e90612170565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9a90612170565b8015610be75780601f10610bbc57610100808354040283529160200191610be7565b820191906000526020600020905b815481529060010190602001808311610bca57829003601f168201915b5050505050905090565b60008060016000610c006111c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb490611f61565b60405180910390fd5b610cd1610cc86111c7565b858584036111cf565b600191505092915050565b6000610cf0610ce96111c7565b848461139a565b6001905092915050565b610d026111c7565b73ffffffffffffffffffffffffffffffffffffffff16610d20610b35565b73ffffffffffffffffffffffffffffffffffffffff1614610d76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6d90611ec1565b60405180910390fd5b610d81816001610dc5565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dcd6111c7565b73ffffffffffffffffffffffffffffffffffffffff16610deb610b35565b73ffffffffffffffffffffffffffffffffffffffff1614610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890611ec1565b60405180910390fd5b801515600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecb90611f21565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610f719190611de4565b60405180910390a25050565b610f856111c7565b73ffffffffffffffffffffffffffffffffffffffff16610fa3610b35565b73ffffffffffffffffffffffffffffffffffffffff1614610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090611ec1565b60405180910390fd5b611004816001610dc5565b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110d76111c7565b73ffffffffffffffffffffffffffffffffffffffff166110f5610b35565b73ffffffffffffffffffffffffffffffffffffffff161461114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290611ec1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b290611e41565b60405180910390fd5b6111c481611616565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561123f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123690611f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690611e61565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161138d9190611f81565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561140a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140190611ee1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561147a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147190611e21565b60405180910390fd5b60008114156114945761148f838360006116dc565b611611565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115385750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561160557600061271060065483611550919061205a565b61155a9190612029565b905060006127106007548461156f919061205a565b6115799190612029565b905060008211156115b2576115b185600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116dc565b5b60008111156115e9576115e885600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836116dc565b5b80826115f59190611fd3565b8361160091906120b4565b925050505b6116108383836116dc565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561174c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174390611ee1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b390611e21565b60405180910390fd5b6117c783838361195d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561184d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184490611e81565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118e09190611fd3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119449190611f81565b60405180910390a3611957848484611962565b50505050565b505050565b505050565b6000813590506119768161255e565b92915050565b60008135905061198b81612575565b92915050565b6000815190506119a081612575565b92915050565b6000813590506119b58161258c565b92915050565b6000815190506119ca8161258c565b92915050565b6000602082840312156119e6576119e561222f565b5b60006119f484828501611967565b91505092915050565b60008060408385031215611a1457611a1361222f565b5b6000611a2285828601611967565b9250506020611a3385828601611967565b9150509250929050565b600080600060608486031215611a5657611a5561222f565b5b6000611a6486828701611967565b9350506020611a7586828701611967565b9250506040611a86868287016119a6565b9150509250925092565b60008060408385031215611aa757611aa661222f565b5b6000611ab585828601611967565b9250506020611ac68582860161197c565b9150509250929050565b60008060408385031215611ae757611ae661222f565b5b6000611af585828601611967565b9250506020611b06858286016119a6565b9150509250929050565b600060208284031215611b2657611b2561222f565b5b6000611b3484828501611991565b91505092915050565b600060208284031215611b5357611b5261222f565b5b6000611b61848285016119bb565b91505092915050565b60008060408385031215611b8157611b8061222f565b5b6000611b8f858286016119a6565b9250506020611ba0858286016119a6565b9150509250929050565b611bb3816120e8565b82525050565b611bc2816120fa565b82525050565b6000611bd382611fb7565b611bdd8185611fc2565b9350611bed81856020860161213d565b611bf681612234565b840191505092915050565b6000611c0e602383611fc2565b9150611c1982612245565b604082019050919050565b6000611c31602683611fc2565b9150611c3c82612294565b604082019050919050565b6000611c54602283611fc2565b9150611c5f826122e3565b604082019050919050565b6000611c77602683611fc2565b9150611c8282612332565b604082019050919050565b6000611c9a602883611fc2565b9150611ca582612381565b604082019050919050565b6000611cbd602083611fc2565b9150611cc8826123d0565b602082019050919050565b6000611ce0602583611fc2565b9150611ceb826123f9565b604082019050919050565b6000611d03602483611fc2565b9150611d0e82612448565b604082019050919050565b6000611d26602a83611fc2565b9150611d3182612497565b604082019050919050565b6000611d49600c83611fc2565b9150611d54826124e6565b602082019050919050565b6000611d6c602583611fc2565b9150611d778261250f565b604082019050919050565b611d8b81612126565b82525050565b611d9a81612130565b82525050565b6000602082019050611db56000830184611baa565b92915050565b6000604082019050611dd06000830185611baa565b611ddd6020830184611d82565b9392505050565b6000602082019050611df96000830184611bb9565b92915050565b60006020820190508181036000830152611e198184611bc8565b905092915050565b60006020820190508181036000830152611e3a81611c01565b9050919050565b60006020820190508181036000830152611e5a81611c24565b9050919050565b60006020820190508181036000830152611e7a81611c47565b9050919050565b60006020820190508181036000830152611e9a81611c6a565b9050919050565b60006020820190508181036000830152611eba81611c8d565b9050919050565b60006020820190508181036000830152611eda81611cb0565b9050919050565b60006020820190508181036000830152611efa81611cd3565b9050919050565b60006020820190508181036000830152611f1a81611cf6565b9050919050565b60006020820190508181036000830152611f3a81611d19565b9050919050565b60006020820190508181036000830152611f5a81611d3c565b9050919050565b60006020820190508181036000830152611f7a81611d5f565b9050919050565b6000602082019050611f966000830184611d82565b92915050565b6000602082019050611fb16000830184611d91565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611fde82612126565b9150611fe983612126565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561201e5761201d6121a2565b5b828201905092915050565b600061203482612126565b915061203f83612126565b92508261204f5761204e6121d1565b5b828204905092915050565b600061206582612126565b915061207083612126565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120a9576120a86121a2565b5b828202905092915050565b60006120bf82612126565b91506120ca83612126565b9250828210156120dd576120dc6121a2565b5b828203905092915050565b60006120f382612106565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561215b578082015181840152602081019050612140565b8381111561216a576000848401525b50505050565b6000600282049050600182168061218857607f821691505b6020821081141561219c5761219b612200565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b7f74617820746f6f20686967680000000000000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b612567816120e8565b811461257257600080fd5b50565b61257e816120fa565b811461258957600080fd5b50565b61259581612126565b81146125a057600080fd5b5056fea26469706673582212207e5ed52eb2f06749921b2cf0ce76de9565b54010b1b76c390146df870f53004c64736f6c63430008070033

Deployed Bytecode Sourcemap

9364:3137:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1721:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3119:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11707:247;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12306:180;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2309:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3354:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9449:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2151:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3956:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11574:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9575:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9403:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2480:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8731:94;;;:::i;:::-;;9493:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8245:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1940:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4281:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2669:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11966:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11276:290;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12138:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2907:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8980:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1721:100;1775:13;1808:5;1801:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1721:100;:::o;3119:169::-;3202:4;3219:39;3228:12;:10;:12::i;:::-;3242:7;3251:6;3219:8;:39::i;:::-;3276:4;3269:11;;3119:169;;;;:::o;11707:247::-;8476:12;:10;:12::i;:::-;8465:23;;:7;:5;:7::i;:::-;:23;;;8457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11809:4:::1;11797:8;:16;;11789:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;11860:4;11849:7;:15;;11841:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;11907:8;11892:12;:23;;;;11939:7;11926:10;:20;;;;11707:247:::0;;:::o;12306:180::-;8476:12;:10;:12::i;:::-;8465:23;;:7;:5;:7::i;:::-;:23;;;8457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12373:14:::1;12396:6;12373:30;;12414:8;:17;;;12432:10;12444:8;:18;;;12471:4;12444:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12414:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12362:124;12306:180:::0;:::o;2309:108::-;2370:7;2397:12;;2390:19;;2309:108;:::o;3354:492::-;3494:4;3511:36;3521:6;3529:9;3540:6;3511:9;:36::i;:::-;3560:24;3587:11;:19;3599:6;3587:19;;;;;;;;;;;;;;;:33;3607:12;:10;:12::i;:::-;3587:33;;;;;;;;;;;;;;;;3560:60;;3659:6;3639:16;:26;;3631:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;3746:57;3755:6;3763:12;:10;:12::i;:::-;3796:6;3777:16;:25;3746:8;:57::i;:::-;3834:4;3827:11;;;3354:492;;;;;:::o;9449:31::-;;;;:::o;2151:93::-;2209:5;2234:2;2227:9;;2151:93;:::o;3956:215::-;4044:4;4061:80;4070:12;:10;:12::i;:::-;4084:7;4130:10;4093:11;:25;4105:12;:10;:12::i;:::-;4093:25;;;;;;;;;;;;;;;:34;4119:7;4093:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4061:8;:80::i;:::-;4159:4;4152:11;;3956:215;;;;:::o;11574:125::-;11639:4;11663:19;:28;11683:7;11663:28;;;;;;;;;;;;;;;;;;;;;;;;;11656:35;;11574:125;;;:::o;9575:73::-;;;;;;;;;;;;;:::o;9403:33::-;;;;:::o;2480:127::-;2554:7;2581:9;:18;2591:7;2581:18;;;;;;;;;;;;;;;;2574:25;;2480:127;;;:::o;8731:94::-;8476:12;:10;:12::i;:::-;8465:23;;:7;:5;:7::i;:::-;:23;;;8457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8796:21:::1;8814:1;8796:9;:21::i;:::-;8731:94::o:0;9493:75::-;;;;;;;;;;;;;:::o;8245:87::-;8291:7;8318:6;;;;;;;;;;;8311:13;;8245:87;:::o;1940:104::-;1996:13;2029:7;2022:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1940:104;:::o;4281:413::-;4374:4;4391:24;4418:11;:25;4430:12;:10;:12::i;:::-;4418:25;;;;;;;;;;;;;;;:34;4444:7;4418:34;;;;;;;;;;;;;;;;4391:61;;4491:15;4471:16;:35;;4463:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4584:67;4593:12;:10;:12::i;:::-;4607:7;4635:15;4616:16;:34;4584:8;:67::i;:::-;4682:4;4675:11;;;4281:413;;;;:::o;2669:175::-;2755:4;2772:42;2782:12;:10;:12::i;:::-;2796:9;2807:6;2772:9;:42::i;:::-;2832:4;2825:11;;2669:175;;;;:::o;11966:160::-;8476:12;:10;:12::i;:::-;8465:23;;:7;:5;:7::i;:::-;:23;;;8457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12046:33:::1;12062:10;12074:4;12046:15;:33::i;:::-;12108:10;12090:15;;:28;;;;;;;;;;;;;;;;;;11966:160:::0;:::o;11276:290::-;8476:12;:10;:12::i;:::-;8465:23;;:7;:5;:7::i;:::-;:23;;;8457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11401:8:::1;11369:40;;:19;:28;11389:7;11369:28;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;11361:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;11498:8;11467:19;:28;11487:7;11467:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11540:7;11524:34;;;11549:8;11524:34;;;;;;:::i;:::-;;;;;;;;11276:290:::0;;:::o;12138:158::-;8476:12;:10;:12::i;:::-;8465:23;;:7;:5;:7::i;:::-;:23;;;8457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12217:33:::1;12233:10;12245:4;12217:15;:33::i;:::-;12278:10;12262:13;;:26;;;;;;;;;;;;;;;;;;12138:158:::0;:::o;2907:151::-;2996:7;3023:11;:18;3035:5;3023:18;;;;;;;;;;;;;;;:27;3042:7;3023:27;;;;;;;;;;;;;;;;3016:34;;2907:151;;;;:::o;8980:192::-;8476:12;:10;:12::i;:::-;8465:23;;:7;:5;:7::i;:::-;:23;;;8457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9089:1:::1;9069:22;;:8;:22;;;;9061:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9145:19;9155:8;9145:9;:19::i;:::-;8980:192:::0;:::o;1037:98::-;1090:7;1117:10;1110:17;;1037:98;:::o;6860:380::-;7013:1;6996:19;;:5;:19;;;;6988:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7094:1;7075:21;;:7;:21;;;;7067:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7178:6;7148:11;:18;7160:5;7148:18;;;;;;;;;;;;;;;:27;7167:7;7148:27;;;;;;;;;;;;;;;:36;;;;7216:7;7200:32;;7209:5;7200:32;;;7225:6;7200:32;;;;;;:::i;:::-;;;;;;;;6860:380;;;:::o;10338:928::-;10486:1;10470:18;;:4;:18;;;;10462:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10563:1;10549:16;;:2;:16;;;;10541:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10631:1;10621:6;:11;10618:92;;;10649:28;10665:4;10671:2;10675:1;10649:15;:28::i;:::-;10692:7;;10618:92;10728:19;:25;10748:4;10728:25;;;;;;;;;;;;;;;;;;;;;;;;;10727:26;:68;;;;;10772:19;:23;10792:2;10772:23;;;;;;;;;;;;;;;;;;;;;;;;;10771:24;10727:68;10724:487;;;10814:12;10849:5;10836:12;;10829:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;10814:40;;10869:20;10910:5;10899:10;;10892:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;10869:46;;10942:1;10935:4;:8;10932:92;;;10964:44;10980:4;10986:15;;;;;;;;;;;11003:4;10964:15;:44::i;:::-;10932:92;11058:1;11043:12;:16;11040:106;;;11080:50;11096:4;11102:13;;;;;;;;;;;11117:12;11080:15;:50::i;:::-;11040:106;11184:12;11179:4;:17;;;;:::i;:::-;11171:6;:26;;;;:::i;:::-;11162:35;;10797:414;;10724:487;11223:33;11239:4;11245:2;11249:6;11223:15;:33::i;:::-;10338:928;;;;:::o;9180:173::-;9236:16;9255:6;;;;;;;;;;;9236:25;;9281:8;9272:6;;:17;;;;;;;;;;;;;;;;;;9336:8;9305:40;;9326:8;9305:40;;;;;;;;;;;;9225:128;9180:173;:::o;4788:733::-;4946:1;4928:20;;:6;:20;;;;4920:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5030:1;5009:23;;:9;:23;;;;5001:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5085:47;5106:6;5114:9;5125:6;5085:20;:47::i;:::-;5145:21;5169:9;:17;5179:6;5169:17;;;;;;;;;;;;;;;;5145:41;;5222:6;5205:13;:23;;5197:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5343:6;5327:13;:22;5307:9;:17;5317:6;5307:17;;;;;;;;;;;;;;;:42;;;;5395:6;5371:9;:20;5381:9;5371:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5436:9;5419:35;;5428:6;5419:35;;;5447:6;5419:35;;;;;;:::i;:::-;;;;;;;;5467:46;5487:6;5495:9;5506:6;5467:19;:46::i;:::-;4909:612;4788:733;;;:::o;7331:125::-;;;;:::o;7546:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;152:133;;;;:::o;291:137::-;345:5;376:6;370:13;361:22;;392:30;416:5;392:30;:::i;:::-;291:137;;;;:::o;434:139::-;480:5;518:6;505:20;496:29;;534:33;561:5;534:33;:::i;:::-;434:139;;;;:::o;579:143::-;636:5;667:6;661:13;652:22;;683:33;710:5;683:33;:::i;:::-;579:143;;;;:::o;728:329::-;787:6;836:2;824:9;815:7;811:23;807:32;804:119;;;842:79;;:::i;:::-;804:119;962:1;987:53;1032:7;1023:6;1012:9;1008:22;987:53;:::i;:::-;977:63;;933:117;728:329;;;;:::o;1063:474::-;1131:6;1139;1188:2;1176:9;1167:7;1163:23;1159:32;1156:119;;;1194:79;;:::i;:::-;1156:119;1314:1;1339:53;1384:7;1375:6;1364:9;1360:22;1339:53;:::i;:::-;1329:63;;1285:117;1441:2;1467:53;1512:7;1503:6;1492:9;1488:22;1467:53;:::i;:::-;1457:63;;1412:118;1063:474;;;;;:::o;1543:619::-;1620:6;1628;1636;1685:2;1673:9;1664:7;1660:23;1656:32;1653:119;;;1691:79;;:::i;:::-;1653:119;1811:1;1836:53;1881:7;1872:6;1861:9;1857:22;1836:53;:::i;:::-;1826:63;;1782:117;1938:2;1964:53;2009:7;2000:6;1989:9;1985:22;1964:53;:::i;:::-;1954:63;;1909:118;2066:2;2092:53;2137:7;2128:6;2117:9;2113:22;2092:53;:::i;:::-;2082:63;;2037:118;1543:619;;;;;:::o;2168:468::-;2233:6;2241;2290:2;2278:9;2269:7;2265:23;2261:32;2258:119;;;2296:79;;:::i;:::-;2258:119;2416:1;2441:53;2486:7;2477:6;2466:9;2462:22;2441:53;:::i;:::-;2431:63;;2387:117;2543:2;2569:50;2611:7;2602:6;2591:9;2587:22;2569:50;:::i;:::-;2559:60;;2514:115;2168:468;;;;;:::o;2642:474::-;2710:6;2718;2767:2;2755:9;2746:7;2742:23;2738:32;2735:119;;;2773:79;;:::i;:::-;2735:119;2893:1;2918:53;2963:7;2954:6;2943:9;2939:22;2918:53;:::i;:::-;2908:63;;2864:117;3020:2;3046:53;3091:7;3082:6;3071:9;3067:22;3046:53;:::i;:::-;3036:63;;2991:118;2642:474;;;;;:::o;3122:345::-;3189:6;3238:2;3226:9;3217:7;3213:23;3209:32;3206:119;;;3244:79;;:::i;:::-;3206:119;3364:1;3389:61;3442:7;3433:6;3422:9;3418:22;3389:61;:::i;:::-;3379:71;;3335:125;3122:345;;;;:::o;3473:351::-;3543:6;3592:2;3580:9;3571:7;3567:23;3563:32;3560:119;;;3598:79;;:::i;:::-;3560:119;3718:1;3743:64;3799:7;3790:6;3779:9;3775:22;3743:64;:::i;:::-;3733:74;;3689:128;3473:351;;;;:::o;3830:474::-;3898:6;3906;3955:2;3943:9;3934:7;3930:23;3926:32;3923:119;;;3961:79;;:::i;:::-;3923:119;4081:1;4106:53;4151:7;4142:6;4131:9;4127:22;4106:53;:::i;:::-;4096:63;;4052:117;4208:2;4234:53;4279:7;4270:6;4259:9;4255:22;4234:53;:::i;:::-;4224:63;;4179:118;3830:474;;;;;:::o;4310:118::-;4397:24;4415:5;4397:24;:::i;:::-;4392:3;4385:37;4310:118;;:::o;4434:109::-;4515:21;4530:5;4515:21;:::i;:::-;4510:3;4503:34;4434:109;;:::o;4549:364::-;4637:3;4665:39;4698:5;4665:39;:::i;:::-;4720:71;4784:6;4779:3;4720:71;:::i;:::-;4713:78;;4800:52;4845:6;4840:3;4833:4;4826:5;4822:16;4800:52;:::i;:::-;4877:29;4899:6;4877:29;:::i;:::-;4872:3;4868:39;4861:46;;4641:272;4549:364;;;;:::o;4919:366::-;5061:3;5082:67;5146:2;5141:3;5082:67;:::i;:::-;5075:74;;5158:93;5247:3;5158:93;:::i;:::-;5276:2;5271:3;5267:12;5260:19;;4919:366;;;:::o;5291:::-;5433:3;5454:67;5518:2;5513:3;5454:67;:::i;:::-;5447:74;;5530:93;5619:3;5530:93;:::i;:::-;5648:2;5643:3;5639:12;5632:19;;5291:366;;;:::o;5663:::-;5805:3;5826:67;5890:2;5885:3;5826:67;:::i;:::-;5819:74;;5902:93;5991:3;5902:93;:::i;:::-;6020:2;6015:3;6011:12;6004:19;;5663:366;;;:::o;6035:::-;6177:3;6198:67;6262:2;6257:3;6198:67;:::i;:::-;6191:74;;6274:93;6363:3;6274:93;:::i;:::-;6392:2;6387:3;6383:12;6376:19;;6035:366;;;:::o;6407:::-;6549:3;6570:67;6634:2;6629:3;6570:67;:::i;:::-;6563:74;;6646:93;6735:3;6646:93;:::i;:::-;6764:2;6759:3;6755:12;6748:19;;6407:366;;;:::o;6779:::-;6921:3;6942:67;7006:2;7001:3;6942:67;:::i;:::-;6935:74;;7018:93;7107:3;7018:93;:::i;:::-;7136:2;7131:3;7127:12;7120:19;;6779:366;;;:::o;7151:::-;7293:3;7314:67;7378:2;7373:3;7314:67;:::i;:::-;7307:74;;7390:93;7479:3;7390:93;:::i;:::-;7508:2;7503:3;7499:12;7492:19;;7151:366;;;:::o;7523:::-;7665:3;7686:67;7750:2;7745:3;7686:67;:::i;:::-;7679:74;;7762:93;7851:3;7762:93;:::i;:::-;7880:2;7875:3;7871:12;7864:19;;7523:366;;;:::o;7895:::-;8037:3;8058:67;8122:2;8117:3;8058:67;:::i;:::-;8051:74;;8134:93;8223:3;8134:93;:::i;:::-;8252:2;8247:3;8243:12;8236:19;;7895:366;;;:::o;8267:::-;8409:3;8430:67;8494:2;8489:3;8430:67;:::i;:::-;8423:74;;8506:93;8595:3;8506:93;:::i;:::-;8624:2;8619:3;8615:12;8608:19;;8267:366;;;:::o;8639:::-;8781:3;8802:67;8866:2;8861:3;8802:67;:::i;:::-;8795:74;;8878:93;8967:3;8878:93;:::i;:::-;8996:2;8991:3;8987:12;8980:19;;8639:366;;;:::o;9011:118::-;9098:24;9116:5;9098:24;:::i;:::-;9093:3;9086:37;9011:118;;:::o;9135:112::-;9218:22;9234:5;9218:22;:::i;:::-;9213:3;9206:35;9135:112;;:::o;9253:222::-;9346:4;9384:2;9373:9;9369:18;9361:26;;9397:71;9465:1;9454:9;9450:17;9441:6;9397:71;:::i;:::-;9253:222;;;;:::o;9481:332::-;9602:4;9640:2;9629:9;9625:18;9617:26;;9653:71;9721:1;9710:9;9706:17;9697:6;9653:71;:::i;:::-;9734:72;9802:2;9791:9;9787:18;9778:6;9734:72;:::i;:::-;9481:332;;;;;:::o;9819:210::-;9906:4;9944:2;9933:9;9929:18;9921:26;;9957:65;10019:1;10008:9;10004:17;9995:6;9957:65;:::i;:::-;9819:210;;;;:::o;10035:313::-;10148:4;10186:2;10175:9;10171:18;10163:26;;10235:9;10229:4;10225:20;10221:1;10210:9;10206:17;10199:47;10263:78;10336:4;10327:6;10263:78;:::i;:::-;10255:86;;10035:313;;;;:::o;10354:419::-;10520:4;10558:2;10547:9;10543:18;10535:26;;10607:9;10601:4;10597:20;10593:1;10582:9;10578:17;10571:47;10635:131;10761:4;10635:131;:::i;:::-;10627:139;;10354:419;;;:::o;10779:::-;10945:4;10983:2;10972:9;10968:18;10960:26;;11032:9;11026:4;11022:20;11018:1;11007:9;11003:17;10996:47;11060:131;11186:4;11060:131;:::i;:::-;11052:139;;10779:419;;;:::o;11204:::-;11370:4;11408:2;11397:9;11393:18;11385:26;;11457:9;11451:4;11447:20;11443:1;11432:9;11428:17;11421:47;11485:131;11611:4;11485:131;:::i;:::-;11477:139;;11204:419;;;:::o;11629:::-;11795:4;11833:2;11822:9;11818:18;11810:26;;11882:9;11876:4;11872:20;11868:1;11857:9;11853:17;11846:47;11910:131;12036:4;11910:131;:::i;:::-;11902:139;;11629:419;;;:::o;12054:::-;12220:4;12258:2;12247:9;12243:18;12235:26;;12307:9;12301:4;12297:20;12293:1;12282:9;12278:17;12271:47;12335:131;12461:4;12335:131;:::i;:::-;12327:139;;12054:419;;;:::o;12479:::-;12645:4;12683:2;12672:9;12668:18;12660:26;;12732:9;12726:4;12722:20;12718:1;12707:9;12703:17;12696:47;12760:131;12886:4;12760:131;:::i;:::-;12752:139;;12479:419;;;:::o;12904:::-;13070:4;13108:2;13097:9;13093:18;13085:26;;13157:9;13151:4;13147:20;13143:1;13132:9;13128:17;13121:47;13185:131;13311:4;13185:131;:::i;:::-;13177:139;;12904:419;;;:::o;13329:::-;13495:4;13533:2;13522:9;13518:18;13510:26;;13582:9;13576:4;13572:20;13568:1;13557:9;13553:17;13546:47;13610:131;13736:4;13610:131;:::i;:::-;13602:139;;13329:419;;;:::o;13754:::-;13920:4;13958:2;13947:9;13943:18;13935:26;;14007:9;14001:4;13997:20;13993:1;13982:9;13978:17;13971:47;14035:131;14161:4;14035:131;:::i;:::-;14027:139;;13754:419;;;:::o;14179:::-;14345:4;14383:2;14372:9;14368:18;14360:26;;14432:9;14426:4;14422:20;14418:1;14407:9;14403:17;14396:47;14460:131;14586:4;14460:131;:::i;:::-;14452:139;;14179:419;;;:::o;14604:::-;14770:4;14808:2;14797:9;14793:18;14785:26;;14857:9;14851:4;14847:20;14843:1;14832:9;14828:17;14821:47;14885:131;15011:4;14885:131;:::i;:::-;14877:139;;14604:419;;;:::o;15029:222::-;15122:4;15160:2;15149:9;15145:18;15137:26;;15173:71;15241:1;15230:9;15226:17;15217:6;15173:71;:::i;:::-;15029:222;;;;:::o;15257:214::-;15346:4;15384:2;15373:9;15369:18;15361:26;;15397:67;15461:1;15450:9;15446:17;15437:6;15397:67;:::i;:::-;15257:214;;;;:::o;15558:99::-;15610:6;15644:5;15638:12;15628:22;;15558:99;;;:::o;15663:169::-;15747:11;15781:6;15776:3;15769:19;15821:4;15816:3;15812:14;15797:29;;15663:169;;;;:::o;15838:305::-;15878:3;15897:20;15915:1;15897:20;:::i;:::-;15892:25;;15931:20;15949:1;15931:20;:::i;:::-;15926:25;;16085:1;16017:66;16013:74;16010:1;16007:81;16004:107;;;16091:18;;:::i;:::-;16004:107;16135:1;16132;16128:9;16121:16;;15838:305;;;;:::o;16149:185::-;16189:1;16206:20;16224:1;16206:20;:::i;:::-;16201:25;;16240:20;16258:1;16240:20;:::i;:::-;16235:25;;16279:1;16269:35;;16284:18;;:::i;:::-;16269:35;16326:1;16323;16319:9;16314:14;;16149:185;;;;:::o;16340:348::-;16380:7;16403:20;16421:1;16403:20;:::i;:::-;16398:25;;16437:20;16455:1;16437:20;:::i;:::-;16432:25;;16625:1;16557:66;16553:74;16550:1;16547:81;16542:1;16535:9;16528:17;16524:105;16521:131;;;16632:18;;:::i;:::-;16521:131;16680:1;16677;16673:9;16662:20;;16340:348;;;;:::o;16694:191::-;16734:4;16754:20;16772:1;16754:20;:::i;:::-;16749:25;;16788:20;16806:1;16788:20;:::i;:::-;16783:25;;16827:1;16824;16821:8;16818:34;;;16832:18;;:::i;:::-;16818:34;16877:1;16874;16870:9;16862:17;;16694:191;;;;:::o;16891:96::-;16928:7;16957:24;16975:5;16957:24;:::i;:::-;16946:35;;16891:96;;;:::o;16993:90::-;17027:7;17070:5;17063:13;17056:21;17045:32;;16993:90;;;:::o;17089:126::-;17126:7;17166:42;17159:5;17155:54;17144:65;;17089:126;;;:::o;17221:77::-;17258:7;17287:5;17276:16;;17221:77;;;:::o;17304:86::-;17339:7;17379:4;17372:5;17368:16;17357:27;;17304:86;;;:::o;17396:307::-;17464:1;17474:113;17488:6;17485:1;17482:13;17474:113;;;17573:1;17568:3;17564:11;17558:18;17554:1;17549:3;17545:11;17538:39;17510:2;17507:1;17503:10;17498:15;;17474:113;;;17605:6;17602:1;17599:13;17596:101;;;17685:1;17676:6;17671:3;17667:16;17660:27;17596:101;17445:258;17396:307;;;:::o;17709:320::-;17753:6;17790:1;17784:4;17780:12;17770:22;;17837:1;17831:4;17827:12;17858:18;17848:81;;17914:4;17906:6;17902:17;17892:27;;17848:81;17976:2;17968:6;17965:14;17945:18;17942:38;17939:84;;;17995:18;;:::i;:::-;17939:84;17760:269;17709:320;;;:::o;18035:180::-;18083:77;18080:1;18073:88;18180:4;18177:1;18170:15;18204:4;18201:1;18194:15;18221:180;18269:77;18266:1;18259:88;18366:4;18363:1;18356:15;18390:4;18387:1;18380:15;18407:180;18455:77;18452:1;18445:88;18552:4;18549:1;18542:15;18576:4;18573:1;18566:15;18716:117;18825:1;18822;18815:12;18839:102;18880:6;18931:2;18927:7;18922:2;18915:5;18911:14;18907:28;18897:38;;18839:102;;;:::o;18947:222::-;19087:34;19083:1;19075:6;19071:14;19064:58;19156:5;19151:2;19143:6;19139:15;19132:30;18947:222;:::o;19175:225::-;19315:34;19311:1;19303:6;19299:14;19292:58;19384:8;19379:2;19371:6;19367:15;19360:33;19175:225;:::o;19406:221::-;19546:34;19542:1;19534:6;19530:14;19523:58;19615:4;19610:2;19602:6;19598:15;19591:29;19406:221;:::o;19633:225::-;19773:34;19769:1;19761:6;19757:14;19750:58;19842:8;19837:2;19829:6;19825:15;19818:33;19633:225;:::o;19864:227::-;20004:34;20000:1;19992:6;19988:14;19981:58;20073:10;20068:2;20060:6;20056:15;20049:35;19864:227;:::o;20097:182::-;20237:34;20233:1;20225:6;20221:14;20214:58;20097:182;:::o;20285:224::-;20425:34;20421:1;20413:6;20409:14;20402:58;20494:7;20489:2;20481:6;20477:15;20470:32;20285:224;:::o;20515:223::-;20655:34;20651:1;20643:6;20639:14;20632:58;20724:6;20719:2;20711:6;20707:15;20700:31;20515:223;:::o;20744:229::-;20884:34;20880:1;20872:6;20868:14;20861:58;20953:12;20948:2;20940:6;20936:15;20929:37;20744:229;:::o;20979:162::-;21119:14;21115:1;21107:6;21103:14;21096:38;20979:162;:::o;21147:224::-;21287:34;21283:1;21275:6;21271:14;21264:58;21356:7;21351:2;21343:6;21339:15;21332:32;21147:224;:::o;21377:122::-;21450:24;21468:5;21450:24;:::i;:::-;21443:5;21440:35;21430:63;;21489:1;21486;21479:12;21430:63;21377:122;:::o;21505:116::-;21575:21;21590:5;21575:21;:::i;:::-;21568:5;21565:32;21555:60;;21611:1;21608;21601:12;21555:60;21505:116;:::o;21627:122::-;21700:24;21718:5;21700:24;:::i;:::-;21693:5;21690:35;21680:63;;21739:1;21736;21729:12;21680:63;21627:122;:::o

Swarm Source

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