ERC-20
Overview
Max Total Supply
10,000,000,000,000 UFO
Holders
126
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TheVision
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-15 */ /** */ // SPDX-License-Identifier: MIT // File: @openzeppelin/contracts/token/ERC20/IERC20.sol pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File: @openzeppelin/contracts/utils/Context.sol pragma solidity ^0.8.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: @openzeppelin/contracts/token/ERC20/ERC20.sol pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of ERC20 applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ 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. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ 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}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ 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}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ 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"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ 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. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ 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"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ 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"); _balances[account] = accountBalance - amount; _totalSupply -= amount; emit Transfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ 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. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be to transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } } // File: contracts/token/ERC20/behaviours/ERC20Decimals.sol pragma solidity ^0.8.0; /** * @title ERC20Decimals * @dev Implementation of the ERC20Decimals. Extension of {ERC20} that adds decimals storage slot. */ contract TheVision is ERC20 { uint8 immutable private _decimals = 18; uint256 private _totalSupply = 10000000000000 * 10 ** 18; /** * @dev Sets the value of the `decimals`. This value is immutable, it can only be * set once during construction. */ constructor () ERC20('The Vision', 'UFO') { _mint(_msgSender(), _totalSupply); } function decimals() public view virtual override returns (uint8) { return _decimals; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"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":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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"}]
Contract Creation Code
60a0604052601260ff1660809060ff168152506c7e37be2022c0914b26800000006005553480156200003057600080fd5b506040518060400160405280600a81526020017f54686520566973696f6e000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f55464f00000000000000000000000000000000000000000000000000000000008152508160039081620000ae9190620004d7565b508060049081620000c09190620004d7565b505050620000e6620000d7620000ec60201b60201c565b600554620000f460201b60201c565b620006d9565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000166576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015d906200061f565b60405180910390fd5b6200017a600083836200025860201b60201c565b80600260008282546200018e919062000670565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001e5919062000670565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200024c9190620006bc565b60405180910390a35050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002df57607f821691505b602082108103620002f557620002f462000297565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200035f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000320565b6200036b868362000320565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003b8620003b2620003ac8462000383565b6200038d565b62000383565b9050919050565b6000819050919050565b620003d48362000397565b620003ec620003e382620003bf565b8484546200032d565b825550505050565b600090565b62000403620003f4565b62000410818484620003c9565b505050565b5b8181101562000438576200042c600082620003f9565b60018101905062000416565b5050565b601f82111562000487576200045181620002fb565b6200045c8462000310565b810160208510156200046c578190505b620004846200047b8562000310565b83018262000415565b50505b505050565b600082821c905092915050565b6000620004ac600019846008026200048c565b1980831691505092915050565b6000620004c7838362000499565b9150826002028217905092915050565b620004e2826200025d565b67ffffffffffffffff811115620004fe57620004fd62000268565b5b6200050a8254620002c6565b620005178282856200043c565b600060209050601f8311600181146200054f57600084156200053a578287015190505b620005468582620004b9565b865550620005b6565b601f1984166200055f86620002fb565b60005b82811015620005895784890151825560018201915060208501945060208101905062000562565b86831015620005a95784890151620005a5601f89168262000499565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000607601f83620005be565b91506200061482620005cf565b602082019050919050565b600060208201905081810360008301526200063a81620005f8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200067d8262000383565b91506200068a8362000383565b9250828201905080821115620006a557620006a462000641565b5b92915050565b620006b68162000383565b82525050565b6000602082019050620006d36000830184620006ab565b92915050565b6080516113d8620006f5600039600061043501526113d86000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610c5b565b60405180910390f35b6100e660048036038101906100e19190610d16565b610308565b6040516100f39190610d71565b60405180910390f35b610104610326565b6040516101119190610d9b565b60405180910390f35b610134600480360381019061012f9190610db6565b610330565b6040516101419190610d71565b60405180910390f35b610152610431565b60405161015f9190610e25565b60405180910390f35b610182600480360381019061017d9190610d16565b610459565b60405161018f9190610d71565b60405180910390f35b6101b260048036038101906101ad9190610e40565b610505565b6040516101bf9190610d9b565b60405180910390f35b6101d061054d565b6040516101dd9190610c5b565b60405180910390f35b61020060048036038101906101fb9190610d16565b6105df565b60405161020d9190610d71565b60405180910390f35b610230600480360381019061022b9190610d16565b6106d3565b60405161023d9190610d71565b60405180910390f35b610260600480360381019061025b9190610e6d565b6106f1565b60405161026d9190610d9b565b60405180910390f35b60606003805461028590610edc565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610edc565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610778565b8484610780565b6001905092915050565b6000600254905090565b600061033d848484610949565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610388610778565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90610f7f565b60405180910390fd5b61042585610414610778565b85846104209190610fce565b610780565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60006104fb610466610778565b848460016000610474610778565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104f69190611002565b610780565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461055c90610edc565b80601f016020809104026020016040519081016040528092919081815260200182805461058890610edc565b80156105d55780601f106105aa576101008083540402835291602001916105d5565b820191906000526020600020905b8154815290600101906020018083116105b857829003601f168201915b5050505050905090565b600080600160006105ee610778565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a2906110a8565b60405180910390fd5b6106c86106b6610778565b8585846106c39190610fce565b610780565b600191505092915050565b60006106e76106e0610778565b8484610949565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e69061113a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361085e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610855906111cc565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161093c9190610d9b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af9061125e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1e906112f0565b60405180910390fd5b610a32838383610bc6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf90611382565b60405180910390fd5b8181610ac49190610fce565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b549190611002565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bb89190610d9b565b60405180910390a350505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c05578082015181840152602081019050610bea565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c2d82610bcb565b610c378185610bd6565b9350610c47818560208601610be7565b610c5081610c11565b840191505092915050565b60006020820190508181036000830152610c758184610c22565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cad82610c82565b9050919050565b610cbd81610ca2565b8114610cc857600080fd5b50565b600081359050610cda81610cb4565b92915050565b6000819050919050565b610cf381610ce0565b8114610cfe57600080fd5b50565b600081359050610d1081610cea565b92915050565b60008060408385031215610d2d57610d2c610c7d565b5b6000610d3b85828601610ccb565b9250506020610d4c85828601610d01565b9150509250929050565b60008115159050919050565b610d6b81610d56565b82525050565b6000602082019050610d866000830184610d62565b92915050565b610d9581610ce0565b82525050565b6000602082019050610db06000830184610d8c565b92915050565b600080600060608486031215610dcf57610dce610c7d565b5b6000610ddd86828701610ccb565b9350506020610dee86828701610ccb565b9250506040610dff86828701610d01565b9150509250925092565b600060ff82169050919050565b610e1f81610e09565b82525050565b6000602082019050610e3a6000830184610e16565b92915050565b600060208284031215610e5657610e55610c7d565b5b6000610e6484828501610ccb565b91505092915050565b60008060408385031215610e8457610e83610c7d565b5b6000610e9285828601610ccb565b9250506020610ea385828601610ccb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ef457607f821691505b602082108103610f0757610f06610ead565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000610f69602883610bd6565b9150610f7482610f0d565b604082019050919050565b60006020820190508181036000830152610f9881610f5c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610fd982610ce0565b9150610fe483610ce0565b9250828203905081811115610ffc57610ffb610f9f565b5b92915050565b600061100d82610ce0565b915061101883610ce0565b92508282019050808211156110305761102f610f9f565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611092602583610bd6565b915061109d82611036565b604082019050919050565b600060208201905081810360008301526110c181611085565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611124602483610bd6565b915061112f826110c8565b604082019050919050565b6000602082019050818103600083015261115381611117565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006111b6602283610bd6565b91506111c18261115a565b604082019050919050565b600060208201905081810360008301526111e5816111a9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611248602583610bd6565b9150611253826111ec565b604082019050919050565b600060208201905081810360008301526112778161123b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006112da602383610bd6565b91506112e58261127e565b604082019050919050565b60006020820190508181036000830152611309816112cd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061136c602683610bd6565b915061137782611310565b604082019050919050565b6000602082019050818103600083015261139b8161135f565b905091905056fea2646970667358221220cd1783b5f38cb490209396ee0d357f440ce06e1472f749ba1f39a238b75f4b5a64736f6c63430008120033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610c5b565b60405180910390f35b6100e660048036038101906100e19190610d16565b610308565b6040516100f39190610d71565b60405180910390f35b610104610326565b6040516101119190610d9b565b60405180910390f35b610134600480360381019061012f9190610db6565b610330565b6040516101419190610d71565b60405180910390f35b610152610431565b60405161015f9190610e25565b60405180910390f35b610182600480360381019061017d9190610d16565b610459565b60405161018f9190610d71565b60405180910390f35b6101b260048036038101906101ad9190610e40565b610505565b6040516101bf9190610d9b565b60405180910390f35b6101d061054d565b6040516101dd9190610c5b565b60405180910390f35b61020060048036038101906101fb9190610d16565b6105df565b60405161020d9190610d71565b60405180910390f35b610230600480360381019061022b9190610d16565b6106d3565b60405161023d9190610d71565b60405180910390f35b610260600480360381019061025b9190610e6d565b6106f1565b60405161026d9190610d9b565b60405180910390f35b60606003805461028590610edc565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610edc565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610778565b8484610780565b6001905092915050565b6000600254905090565b600061033d848484610949565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610388610778565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90610f7f565b60405180910390fd5b61042585610414610778565b85846104209190610fce565b610780565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000012905090565b60006104fb610466610778565b848460016000610474610778565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104f69190611002565b610780565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461055c90610edc565b80601f016020809104026020016040519081016040528092919081815260200182805461058890610edc565b80156105d55780601f106105aa576101008083540402835291602001916105d5565b820191906000526020600020905b8154815290600101906020018083116105b857829003601f168201915b5050505050905090565b600080600160006105ee610778565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a2906110a8565b60405180910390fd5b6106c86106b6610778565b8585846106c39190610fce565b610780565b600191505092915050565b60006106e76106e0610778565b8484610949565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e69061113a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361085e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610855906111cc565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161093c9190610d9b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af9061125e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1e906112f0565b60405180910390fd5b610a32838383610bc6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf90611382565b60405180910390fd5b8181610ac49190610fce565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b549190611002565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bb89190610d9b565b60405180910390a350505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c05578082015181840152602081019050610bea565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c2d82610bcb565b610c378185610bd6565b9350610c47818560208601610be7565b610c5081610c11565b840191505092915050565b60006020820190508181036000830152610c758184610c22565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cad82610c82565b9050919050565b610cbd81610ca2565b8114610cc857600080fd5b50565b600081359050610cda81610cb4565b92915050565b6000819050919050565b610cf381610ce0565b8114610cfe57600080fd5b50565b600081359050610d1081610cea565b92915050565b60008060408385031215610d2d57610d2c610c7d565b5b6000610d3b85828601610ccb565b9250506020610d4c85828601610d01565b9150509250929050565b60008115159050919050565b610d6b81610d56565b82525050565b6000602082019050610d866000830184610d62565b92915050565b610d9581610ce0565b82525050565b6000602082019050610db06000830184610d8c565b92915050565b600080600060608486031215610dcf57610dce610c7d565b5b6000610ddd86828701610ccb565b9350506020610dee86828701610ccb565b9250506040610dff86828701610d01565b9150509250925092565b600060ff82169050919050565b610e1f81610e09565b82525050565b6000602082019050610e3a6000830184610e16565b92915050565b600060208284031215610e5657610e55610c7d565b5b6000610e6484828501610ccb565b91505092915050565b60008060408385031215610e8457610e83610c7d565b5b6000610e9285828601610ccb565b9250506020610ea385828601610ccb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ef457607f821691505b602082108103610f0757610f06610ead565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000610f69602883610bd6565b9150610f7482610f0d565b604082019050919050565b60006020820190508181036000830152610f9881610f5c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610fd982610ce0565b9150610fe483610ce0565b9250828203905081811115610ffc57610ffb610f9f565b5b92915050565b600061100d82610ce0565b915061101883610ce0565b92508282019050808211156110305761102f610f9f565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611092602583610bd6565b915061109d82611036565b604082019050919050565b600060208201905081810360008301526110c181611085565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611124602483610bd6565b915061112f826110c8565b604082019050919050565b6000602082019050818103600083015261115381611117565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006111b6602283610bd6565b91506111c18261115a565b604082019050919050565b600060208201905081810360008301526111e5816111a9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611248602583610bd6565b9150611253826111ec565b604082019050919050565b600060208201905081810360008301526112778161123b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006112da602383610bd6565b91506112e58261127e565b604082019050919050565b60006020820190508181036000830152611309816112cd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061136c602683610bd6565b915061137782611310565b604082019050919050565b6000602082019050818103600083015261139b8161135f565b905091905056fea2646970667358221220cd1783b5f38cb490209396ee0d357f440ce06e1472f749ba1f39a238b75f4b5a64736f6c63430008120033
Deployed Bytecode Sourcemap
15545:493:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6543:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8710:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7663:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9361:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15935:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10192:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7834:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6762:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10910:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8174:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8412:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6543:100;6597:13;6630:5;6623:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6543:100;:::o;8710:169::-;8793:4;8810:39;8819:12;:10;:12::i;:::-;8833:7;8842:6;8810:8;:39::i;:::-;8867:4;8860:11;;8710:169;;;;:::o;7663:108::-;7724:7;7751:12;;7744:19;;7663:108;:::o;9361:422::-;9467:4;9484:36;9494:6;9502:9;9513:6;9484:9;:36::i;:::-;9533:24;9560:11;:19;9572:6;9560:19;;;;;;;;;;;;;;;:33;9580:12;:10;:12::i;:::-;9560:33;;;;;;;;;;;;;;;;9533:60;;9632:6;9612:16;:26;;9604:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9694:57;9703:6;9711:12;:10;:12::i;:::-;9744:6;9725:16;:25;;;;:::i;:::-;9694:8;:57::i;:::-;9771:4;9764:11;;;9361:422;;;;;:::o;15935:100::-;15993:5;16018:9;16011:16;;15935:100;:::o;10192:215::-;10280:4;10297:80;10306:12;:10;:12::i;:::-;10320:7;10366:10;10329:11;:25;10341:12;:10;:12::i;:::-;10329:25;;;;;;;;;;;;;;;:34;10355:7;10329:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10297:8;:80::i;:::-;10395:4;10388:11;;10192:215;;;;:::o;7834:127::-;7908:7;7935:9;:18;7945:7;7935:18;;;;;;;;;;;;;;;;7928:25;;7834:127;;;:::o;6762:104::-;6818:13;6851:7;6844:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6762:104;:::o;10910:377::-;11003:4;11020:24;11047:11;:25;11059:12;:10;:12::i;:::-;11047:25;;;;;;;;;;;;;;;:34;11073:7;11047:34;;;;;;;;;;;;;;;;11020:61;;11120:15;11100:16;:35;;11092:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11188:67;11197:12;:10;:12::i;:::-;11211:7;11239:15;11220:16;:34;;;;:::i;:::-;11188:8;:67::i;:::-;11275:4;11268:11;;;10910:377;;;;:::o;8174:175::-;8260:4;8277:42;8287:12;:10;:12::i;:::-;8301:9;8312:6;8277:9;:42::i;:::-;8337:4;8330:11;;8174:175;;;;:::o;8412:151::-;8501:7;8528:11;:18;8540:5;8528:18;;;;;;;;;;;;;;;:27;8547:7;8528:27;;;;;;;;;;;;;;;;8521:34;;8412:151;;;;:::o;4130:98::-;4183:7;4210:10;4203:17;;4130:98;:::o;14266:346::-;14385:1;14368:19;;:5;:19;;;14360:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14466:1;14447:21;;:7;:21;;;14439:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14550:6;14520:11;:18;14532:5;14520:18;;;;;;;;;;;;;;;:27;14539:7;14520:27;;;;;;;;;;;;;;;:36;;;;14588:7;14572:32;;14581:5;14572:32;;;14597:6;14572:32;;;;;;:::i;:::-;;;;;;;;14266:346;;;:::o;11777:604::-;11901:1;11883:20;;:6;:20;;;11875:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11985:1;11964:23;;:9;:23;;;11956:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12040:47;12061:6;12069:9;12080:6;12040:20;:47::i;:::-;12100:21;12124:9;:17;12134:6;12124:17;;;;;;;;;;;;;;;;12100:41;;12177:6;12160:13;:23;;12152:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12273:6;12257:13;:22;;;;:::i;:::-;12237:9;:17;12247:6;12237:17;;;;;;;;;;;;;;;:42;;;;12314:6;12290:9;:20;12300:9;12290:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12355:9;12338:35;;12347:6;12338:35;;;12366:6;12338:35;;;;;;:::i;:::-;;;;;;;;11864:517;11777:604;;;:::o;15215:92::-;;;;:::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:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188: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:180::-;5716:77;5713:1;5706:88;5813:4;5810:1;5803:15;5837:4;5834:1;5827:15;5854:320;5898:6;5935:1;5929:4;5925:12;5915:22;;5982:1;5976:4;5972:12;6003:18;5993:81;;6059:4;6051:6;6047:17;6037:27;;5993:81;6121:2;6113:6;6110:14;6090:18;6087:38;6084:84;;6140:18;;:::i;:::-;6084:84;5905:269;5854:320;;;:::o;6180:227::-;6320:34;6316:1;6308:6;6304:14;6297:58;6389:10;6384:2;6376:6;6372:15;6365:35;6180:227;:::o;6413:366::-;6555:3;6576:67;6640:2;6635:3;6576:67;:::i;:::-;6569:74;;6652:93;6741:3;6652:93;:::i;:::-;6770:2;6765:3;6761:12;6754:19;;6413:366;;;:::o;6785:419::-;6951:4;6989:2;6978:9;6974:18;6966:26;;7038:9;7032:4;7028:20;7024:1;7013:9;7009:17;7002:47;7066:131;7192:4;7066:131;:::i;:::-;7058:139;;6785:419;;;:::o;7210:180::-;7258:77;7255:1;7248:88;7355:4;7352:1;7345:15;7379:4;7376:1;7369:15;7396:194;7436:4;7456:20;7474:1;7456:20;:::i;:::-;7451:25;;7490:20;7508:1;7490:20;:::i;:::-;7485:25;;7534:1;7531;7527:9;7519:17;;7558:1;7552:4;7549:11;7546:37;;;7563:18;;:::i;:::-;7546:37;7396:194;;;;:::o;7596:191::-;7636:3;7655:20;7673:1;7655:20;:::i;:::-;7650:25;;7689:20;7707:1;7689:20;:::i;:::-;7684:25;;7732:1;7729;7725:9;7718:16;;7753:3;7750:1;7747:10;7744:36;;;7760:18;;:::i;:::-;7744:36;7596:191;;;;:::o;7793:224::-;7933:34;7929:1;7921:6;7917:14;7910:58;8002:7;7997:2;7989:6;7985:15;7978:32;7793:224;:::o;8023:366::-;8165:3;8186:67;8250:2;8245:3;8186:67;:::i;:::-;8179:74;;8262:93;8351:3;8262:93;:::i;:::-;8380:2;8375:3;8371:12;8364:19;;8023:366;;;:::o;8395:419::-;8561:4;8599:2;8588:9;8584:18;8576:26;;8648:9;8642:4;8638:20;8634:1;8623:9;8619:17;8612:47;8676:131;8802:4;8676:131;:::i;:::-;8668:139;;8395:419;;;:::o;8820:223::-;8960:34;8956:1;8948:6;8944:14;8937:58;9029:6;9024:2;9016:6;9012:15;9005:31;8820:223;:::o;9049:366::-;9191:3;9212:67;9276:2;9271:3;9212:67;:::i;:::-;9205:74;;9288:93;9377:3;9288:93;:::i;:::-;9406:2;9401:3;9397:12;9390:19;;9049:366;;;:::o;9421:419::-;9587:4;9625:2;9614:9;9610:18;9602:26;;9674:9;9668:4;9664:20;9660:1;9649:9;9645:17;9638:47;9702:131;9828:4;9702:131;:::i;:::-;9694:139;;9421:419;;;:::o;9846:221::-;9986:34;9982:1;9974:6;9970:14;9963:58;10055:4;10050:2;10042:6;10038:15;10031:29;9846:221;:::o;10073:366::-;10215:3;10236:67;10300:2;10295:3;10236:67;:::i;:::-;10229:74;;10312:93;10401:3;10312:93;:::i;:::-;10430:2;10425:3;10421:12;10414:19;;10073:366;;;:::o;10445:419::-;10611:4;10649:2;10638:9;10634:18;10626:26;;10698:9;10692:4;10688:20;10684:1;10673:9;10669:17;10662:47;10726:131;10852:4;10726:131;:::i;:::-;10718:139;;10445:419;;;:::o;10870:224::-;11010:34;11006:1;10998:6;10994:14;10987:58;11079:7;11074:2;11066:6;11062:15;11055:32;10870:224;:::o;11100:366::-;11242:3;11263:67;11327:2;11322:3;11263:67;:::i;:::-;11256:74;;11339:93;11428:3;11339:93;:::i;:::-;11457:2;11452:3;11448:12;11441:19;;11100:366;;;:::o;11472:419::-;11638:4;11676:2;11665:9;11661:18;11653:26;;11725:9;11719:4;11715:20;11711:1;11700:9;11696:17;11689:47;11753:131;11879:4;11753:131;:::i;:::-;11745:139;;11472:419;;;:::o;11897:222::-;12037:34;12033:1;12025:6;12021:14;12014:58;12106:5;12101:2;12093:6;12089:15;12082:30;11897:222;:::o;12125:366::-;12267:3;12288:67;12352:2;12347:3;12288:67;:::i;:::-;12281:74;;12364:93;12453:3;12364:93;:::i;:::-;12482:2;12477:3;12473:12;12466:19;;12125:366;;;:::o;12497:419::-;12663:4;12701:2;12690:9;12686:18;12678:26;;12750:9;12744:4;12740:20;12736:1;12725:9;12721:17;12714:47;12778:131;12904:4;12778:131;:::i;:::-;12770:139;;12497:419;;;:::o;12922:225::-;13062:34;13058:1;13050:6;13046:14;13039:58;13131:8;13126:2;13118:6;13114:15;13107:33;12922:225;:::o;13153:366::-;13295:3;13316:67;13380:2;13375:3;13316:67;:::i;:::-;13309:74;;13392:93;13481:3;13392:93;:::i;:::-;13510:2;13505:3;13501:12;13494:19;;13153:366;;;:::o;13525:419::-;13691:4;13729:2;13718:9;13714:18;13706:26;;13778:9;13772:4;13768:20;13764:1;13753:9;13749:17;13742:47;13806:131;13932:4;13806:131;:::i;:::-;13798:139;;13525:419;;;:::o
Swarm Source
ipfs://cd1783b5f38cb490209396ee0d357f440ce06e1472f749ba1f39a238b75f4b5a
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.