Polygon Sponsored slots available. Book your slot here!
ERC-20
Decentralized Web
Overview
Max Total Supply
50,000,000 PRNT
Holders
1,767 ( -0.057%)
Total Transfers
-
Market
Price
$0.00 @ 0.000000 POL
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Preprints
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2024-03-12 */ // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(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"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 amount) external returns (bool); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (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/token/ERC20/ERC20.sol // OpenZeppelin Contracts (last updated v4.9.0) (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.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * The default value of {decimals} is 18. To change this, you should override * this function so it returns a different value. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead 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}. * * 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 default value returned by this function, unless * it's 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: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, 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}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, 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}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, 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) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, 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) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * This 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: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, 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: * * - `account` 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; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(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"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _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. * * 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 Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - 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 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 {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been 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 _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } // File: @openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Burnable.sol) pragma solidity ^0.8.20; /** * @dev Extension of {ERC20} that allows token holders to destroy both their own * tokens and those that they have an allowance for, in a way that can be * recognized off-chain (via event analysis). */ abstract contract ERC20Burnable is Context, ERC20 { /** * @dev Destroys a `value` amount of tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 value) public virtual { _burn(_msgSender(), value); } /** * @dev Destroys a `value` amount of tokens from `account`, deducting from * the caller's allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `value`. */ function burnFrom(address account, uint256 value) public virtual { _spendAllowance(account, _msgSender(), value); _burn(account, value); } } // File: Token.sol pragma solidity ^0.8.18; contract Preprints is ERC20, ERC20Burnable, Ownable { uint256 public constant MAX_SUPPLY = 10000000000 * 10**18; constructor(uint256 initialSupply, address initialSupplyRecipient) ERC20("Preprints.io Token", "PRNT") { require(initialSupply <= MAX_SUPPLY, "Initial supply exceeds maximum supply"); _mint(initialSupplyRecipient, initialSupply); } function getMaxSupply() public pure returns (uint256) { return MAX_SUPPLY; } function mint(address to, uint256 amount) public onlyOwner { require(totalSupply() + amount <= MAX_SUPPLY, "Minting exceeds maximum supply"); _mint(to, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"initialSupplyRecipient","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMaxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801562000010575f80fd5b50604051620025823803806200258283398181016040528101906200003691906200042a565b6040518060400160405280601281526020017f5072657072696e74732e696f20546f6b656e00000000000000000000000000008152506040518060400160405280600481526020017f50524e54000000000000000000000000000000000000000000000000000000008152508160039081620000b39190620006ca565b508060049081620000c59190620006ca565b505050620000e8620000dc6200015460201b60201c565b6200015b60201b60201c565b6b204fce5e3e250261100000008211156200013a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001319062000832565b60405180910390fd5b6200014c81836200021e60201b60201c565b505062000953565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200028f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200028690620008a0565b60405180910390fd5b620002a25f83836200038360201b60201c565b8060025f828254620002b59190620008ed565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000364919062000938565b60405180910390a36200037f5f83836200038860201b60201c565b5050565b505050565b505050565b5f80fd5b5f819050919050565b620003a58162000391565b8114620003b0575f80fd5b50565b5f81519050620003c3816200039a565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620003f482620003c9565b9050919050565b6200040681620003e8565b811462000411575f80fd5b50565b5f815190506200042481620003fb565b92915050565b5f80604083850312156200044357620004426200038d565b5b5f6200045285828601620003b3565b9250506020620004658582860162000414565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620004eb57607f821691505b602082108103620005015762000500620004a6565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620005657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000528565b62000571868362000528565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620005b2620005ac620005a68462000391565b62000589565b62000391565b9050919050565b5f819050919050565b620005cd8362000592565b620005e5620005dc82620005b9565b84845462000534565b825550505050565b5f90565b620005fb620005ed565b62000608818484620005c2565b505050565b5b818110156200062f57620006235f82620005f1565b6001810190506200060e565b5050565b601f8211156200067e57620006488162000507565b620006538462000519565b8101602085101562000663578190505b6200067b620006728562000519565b8301826200060d565b50505b505050565b5f82821c905092915050565b5f620006a05f198460080262000683565b1980831691505092915050565b5f620006ba83836200068f565b9150826002028217905092915050565b620006d5826200046f565b67ffffffffffffffff811115620006f157620006f062000479565b5b620006fd8254620004d3565b6200070a82828562000633565b5f60209050601f83116001811462000740575f84156200072b578287015190505b620007378582620006ad565b865550620007a6565b601f198416620007508662000507565b5f5b82811015620007795784890151825560018201915060208501945060208101905062000752565b8683101562000799578489015162000795601f8916826200068f565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f496e697469616c20737570706c792065786365656473206d6178696d756d20735f8201527f7570706c79000000000000000000000000000000000000000000000000000000602082015250565b5f6200081a602583620007ae565b91506200082782620007be565b604082019050919050565b5f6020820190508181035f8301526200084b816200080c565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000888601f83620007ae565b9150620008958262000852565b602082019050919050565b5f6020820190508181035f830152620008b9816200087a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620008f98262000391565b9150620009068362000391565b9250828201905080821115620009215762000920620008c0565b5b92915050565b620009328162000391565b82525050565b5f6020820190506200094d5f83018462000927565b92915050565b611c2180620009615f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c80634c0f38c2116100ab57806395d89b411161006f57806395d89b41146102f5578063a457c2d714610313578063a9059cbb14610343578063dd62ed3e14610373578063f2fde38b146103a35761011f565b80634c0f38c21461026357806370a0823114610281578063715018a6146102b157806379cc6790146102bb5780638da5cb5b146102d75761011f565b8063313ce567116100f2578063313ce567146101bf57806332cb6b0c146101dd57806339509351146101fb57806340c10f191461022b57806342966c68146102475761011f565b806306fdde0314610123578063095ea7b31461014157806318160ddd1461017157806323b872dd1461018f575b5f80fd5b61012b6103bf565b6040516101389190611206565b60405180910390f35b61015b600480360381019061015691906112b7565b61044f565b604051610168919061130f565b60405180910390f35b610179610471565b6040516101869190611337565b60405180910390f35b6101a960048036038101906101a49190611350565b61047a565b6040516101b6919061130f565b60405180910390f35b6101c76104a8565b6040516101d491906113bb565b60405180910390f35b6101e56104b0565b6040516101f29190611337565b60405180910390f35b610215600480360381019061021091906112b7565b6104c0565b604051610222919061130f565b60405180910390f35b610245600480360381019061024091906112b7565b6104f6565b005b610261600480360381019061025c91906113d4565b61056d565b005b61026b610581565b6040516102789190611337565b60405180910390f35b61029b600480360381019061029691906113ff565b610594565b6040516102a89190611337565b60405180910390f35b6102b96105d9565b005b6102d560048036038101906102d091906112b7565b6105ec565b005b6102df61060c565b6040516102ec9190611439565b60405180910390f35b6102fd610634565b60405161030a9190611206565b60405180910390f35b61032d600480360381019061032891906112b7565b6106c4565b60405161033a919061130f565b60405180910390f35b61035d600480360381019061035891906112b7565b610739565b60405161036a919061130f565b60405180910390f35b61038d60048036038101906103889190611452565b61075b565b60405161039a9190611337565b60405180910390f35b6103bd60048036038101906103b891906113ff565b6107dd565b005b6060600380546103ce906114bd565b80601f01602080910402602001604051908101604052809291908181526020018280546103fa906114bd565b80156104455780601f1061041c57610100808354040283529160200191610445565b820191905f5260205f20905b81548152906001019060200180831161042857829003601f168201915b5050505050905090565b5f8061045961085f565b9050610466818585610866565b600191505092915050565b5f600254905090565b5f8061048461085f565b9050610491858285610a29565b61049c858585610ab4565b60019150509392505050565b5f6012905090565b6b204fce5e3e2502611000000081565b5f806104ca61085f565b90506104eb8185856104dc858961075b565b6104e6919061151a565b610866565b600191505092915050565b6104fe610d20565b6b204fce5e3e2502611000000081610514610471565b61051e919061151a565b111561055f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055690611597565b60405180910390fd5b6105698282610d9e565b5050565b61057e61057861085f565b82610eec565b50565b5f6b204fce5e3e25026110000000905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105e1610d20565b6105ea5f6110af565b565b6105fe826105f861085f565b83610a29565b6106088282610eec565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610643906114bd565b80601f016020809104026020016040519081016040528092919081815260200182805461066f906114bd565b80156106ba5780601f10610691576101008083540402835291602001916106ba565b820191905f5260205f20905b81548152906001019060200180831161069d57829003601f168201915b5050505050905090565b5f806106ce61085f565b90505f6106db828661075b565b905083811015610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071790611625565b60405180910390fd5b61072d8286868403610866565b60019250505092915050565b5f8061074361085f565b9050610750818585610ab4565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6107e5610d20565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610853576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084a906116b3565b60405180910390fd5b61085c816110af565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cb90611741565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610939906117cf565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a1c9190611337565b60405180910390a3505050565b5f610a34848461075b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610aae5781811015610aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9790611837565b60405180910390fd5b610aad8484848403610866565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b19906118c5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8790611953565b60405180910390fd5b610b9b838383611172565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c15906119e1565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d079190611337565b60405180910390a3610d1a848484611177565b50505050565b610d2861085f565b73ffffffffffffffffffffffffffffffffffffffff16610d4661060c565b73ffffffffffffffffffffffffffffffffffffffff1614610d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9390611a49565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0390611ab1565b60405180910390fd5b610e175f8383611172565b8060025f828254610e28919061151a565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ed59190611337565b60405180910390a3610ee85f8383611177565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5190611b3f565b60405180910390fd5b610f65825f83611172565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610fe8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdf90611bcd565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110979190611337565b60405180910390a36110aa835f84611177565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156111b3578082015181840152602081019050611198565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6111d88261117c565b6111e28185611186565b93506111f2818560208601611196565b6111fb816111be565b840191505092915050565b5f6020820190508181035f83015261121e81846111ce565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112538261122a565b9050919050565b61126381611249565b811461126d575f80fd5b50565b5f8135905061127e8161125a565b92915050565b5f819050919050565b61129681611284565b81146112a0575f80fd5b50565b5f813590506112b18161128d565b92915050565b5f80604083850312156112cd576112cc611226565b5b5f6112da85828601611270565b92505060206112eb858286016112a3565b9150509250929050565b5f8115159050919050565b611309816112f5565b82525050565b5f6020820190506113225f830184611300565b92915050565b61133181611284565b82525050565b5f60208201905061134a5f830184611328565b92915050565b5f805f6060848603121561136757611366611226565b5b5f61137486828701611270565b935050602061138586828701611270565b9250506040611396868287016112a3565b9150509250925092565b5f60ff82169050919050565b6113b5816113a0565b82525050565b5f6020820190506113ce5f8301846113ac565b92915050565b5f602082840312156113e9576113e8611226565b5b5f6113f6848285016112a3565b91505092915050565b5f6020828403121561141457611413611226565b5b5f61142184828501611270565b91505092915050565b61143381611249565b82525050565b5f60208201905061144c5f83018461142a565b92915050565b5f806040838503121561146857611467611226565b5b5f61147585828601611270565b925050602061148685828601611270565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806114d457607f821691505b6020821081036114e7576114e6611490565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61152482611284565b915061152f83611284565b9250828201905080821115611547576115466114ed565b5b92915050565b7f4d696e74696e672065786365656473206d6178696d756d20737570706c7900005f82015250565b5f611581601e83611186565b915061158c8261154d565b602082019050919050565b5f6020820190508181035f8301526115ae81611575565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61160f602583611186565b915061161a826115b5565b604082019050919050565b5f6020820190508181035f83015261163c81611603565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61169d602683611186565b91506116a882611643565b604082019050919050565b5f6020820190508181035f8301526116ca81611691565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61172b602483611186565b9150611736826116d1565b604082019050919050565b5f6020820190508181035f8301526117588161171f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6117b9602283611186565b91506117c48261175f565b604082019050919050565b5f6020820190508181035f8301526117e6816117ad565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611821601d83611186565b915061182c826117ed565b602082019050919050565b5f6020820190508181035f83015261184e81611815565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6118af602583611186565b91506118ba82611855565b604082019050919050565b5f6020820190508181035f8301526118dc816118a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61193d602383611186565b9150611948826118e3565b604082019050919050565b5f6020820190508181035f83015261196a81611931565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6119cb602683611186565b91506119d682611971565b604082019050919050565b5f6020820190508181035f8301526119f8816119bf565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611a33602083611186565b9150611a3e826119ff565b602082019050919050565b5f6020820190508181035f830152611a6081611a27565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f611a9b601f83611186565b9150611aa682611a67565b602082019050919050565b5f6020820190508181035f830152611ac881611a8f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f611b29602183611186565b9150611b3482611acf565b604082019050919050565b5f6020820190508181035f830152611b5681611b1d565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f611bb7602283611186565b9150611bc282611b5d565b604082019050919050565b5f6020820190508181035f830152611be481611bab565b905091905056fea264697066735822122056debbb7e6d690afe2b8d23e41cf611053119cde43d52ce6fd4f3a0eade75d2b64736f6c63430008180033000000000000000000000000000000000000000006765c793fa10079d0000000000000000000000000000000a432d7b3685df4ef356cf27052c03a57c67fd3db
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061011f575f3560e01c80634c0f38c2116100ab57806395d89b411161006f57806395d89b41146102f5578063a457c2d714610313578063a9059cbb14610343578063dd62ed3e14610373578063f2fde38b146103a35761011f565b80634c0f38c21461026357806370a0823114610281578063715018a6146102b157806379cc6790146102bb5780638da5cb5b146102d75761011f565b8063313ce567116100f2578063313ce567146101bf57806332cb6b0c146101dd57806339509351146101fb57806340c10f191461022b57806342966c68146102475761011f565b806306fdde0314610123578063095ea7b31461014157806318160ddd1461017157806323b872dd1461018f575b5f80fd5b61012b6103bf565b6040516101389190611206565b60405180910390f35b61015b600480360381019061015691906112b7565b61044f565b604051610168919061130f565b60405180910390f35b610179610471565b6040516101869190611337565b60405180910390f35b6101a960048036038101906101a49190611350565b61047a565b6040516101b6919061130f565b60405180910390f35b6101c76104a8565b6040516101d491906113bb565b60405180910390f35b6101e56104b0565b6040516101f29190611337565b60405180910390f35b610215600480360381019061021091906112b7565b6104c0565b604051610222919061130f565b60405180910390f35b610245600480360381019061024091906112b7565b6104f6565b005b610261600480360381019061025c91906113d4565b61056d565b005b61026b610581565b6040516102789190611337565b60405180910390f35b61029b600480360381019061029691906113ff565b610594565b6040516102a89190611337565b60405180910390f35b6102b96105d9565b005b6102d560048036038101906102d091906112b7565b6105ec565b005b6102df61060c565b6040516102ec9190611439565b60405180910390f35b6102fd610634565b60405161030a9190611206565b60405180910390f35b61032d600480360381019061032891906112b7565b6106c4565b60405161033a919061130f565b60405180910390f35b61035d600480360381019061035891906112b7565b610739565b60405161036a919061130f565b60405180910390f35b61038d60048036038101906103889190611452565b61075b565b60405161039a9190611337565b60405180910390f35b6103bd60048036038101906103b891906113ff565b6107dd565b005b6060600380546103ce906114bd565b80601f01602080910402602001604051908101604052809291908181526020018280546103fa906114bd565b80156104455780601f1061041c57610100808354040283529160200191610445565b820191905f5260205f20905b81548152906001019060200180831161042857829003601f168201915b5050505050905090565b5f8061045961085f565b9050610466818585610866565b600191505092915050565b5f600254905090565b5f8061048461085f565b9050610491858285610a29565b61049c858585610ab4565b60019150509392505050565b5f6012905090565b6b204fce5e3e2502611000000081565b5f806104ca61085f565b90506104eb8185856104dc858961075b565b6104e6919061151a565b610866565b600191505092915050565b6104fe610d20565b6b204fce5e3e2502611000000081610514610471565b61051e919061151a565b111561055f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055690611597565b60405180910390fd5b6105698282610d9e565b5050565b61057e61057861085f565b82610eec565b50565b5f6b204fce5e3e25026110000000905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105e1610d20565b6105ea5f6110af565b565b6105fe826105f861085f565b83610a29565b6106088282610eec565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610643906114bd565b80601f016020809104026020016040519081016040528092919081815260200182805461066f906114bd565b80156106ba5780601f10610691576101008083540402835291602001916106ba565b820191905f5260205f20905b81548152906001019060200180831161069d57829003601f168201915b5050505050905090565b5f806106ce61085f565b90505f6106db828661075b565b905083811015610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071790611625565b60405180910390fd5b61072d8286868403610866565b60019250505092915050565b5f8061074361085f565b9050610750818585610ab4565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6107e5610d20565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610853576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084a906116b3565b60405180910390fd5b61085c816110af565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cb90611741565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610939906117cf565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a1c9190611337565b60405180910390a3505050565b5f610a34848461075b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610aae5781811015610aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9790611837565b60405180910390fd5b610aad8484848403610866565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b19906118c5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8790611953565b60405180910390fd5b610b9b838383611172565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c15906119e1565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d079190611337565b60405180910390a3610d1a848484611177565b50505050565b610d2861085f565b73ffffffffffffffffffffffffffffffffffffffff16610d4661060c565b73ffffffffffffffffffffffffffffffffffffffff1614610d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9390611a49565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0390611ab1565b60405180910390fd5b610e175f8383611172565b8060025f828254610e28919061151a565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ed59190611337565b60405180910390a3610ee85f8383611177565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5190611b3f565b60405180910390fd5b610f65825f83611172565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610fe8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdf90611bcd565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110979190611337565b60405180910390a36110aa835f84611177565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156111b3578082015181840152602081019050611198565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6111d88261117c565b6111e28185611186565b93506111f2818560208601611196565b6111fb816111be565b840191505092915050565b5f6020820190508181035f83015261121e81846111ce565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112538261122a565b9050919050565b61126381611249565b811461126d575f80fd5b50565b5f8135905061127e8161125a565b92915050565b5f819050919050565b61129681611284565b81146112a0575f80fd5b50565b5f813590506112b18161128d565b92915050565b5f80604083850312156112cd576112cc611226565b5b5f6112da85828601611270565b92505060206112eb858286016112a3565b9150509250929050565b5f8115159050919050565b611309816112f5565b82525050565b5f6020820190506113225f830184611300565b92915050565b61133181611284565b82525050565b5f60208201905061134a5f830184611328565b92915050565b5f805f6060848603121561136757611366611226565b5b5f61137486828701611270565b935050602061138586828701611270565b9250506040611396868287016112a3565b9150509250925092565b5f60ff82169050919050565b6113b5816113a0565b82525050565b5f6020820190506113ce5f8301846113ac565b92915050565b5f602082840312156113e9576113e8611226565b5b5f6113f6848285016112a3565b91505092915050565b5f6020828403121561141457611413611226565b5b5f61142184828501611270565b91505092915050565b61143381611249565b82525050565b5f60208201905061144c5f83018461142a565b92915050565b5f806040838503121561146857611467611226565b5b5f61147585828601611270565b925050602061148685828601611270565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806114d457607f821691505b6020821081036114e7576114e6611490565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61152482611284565b915061152f83611284565b9250828201905080821115611547576115466114ed565b5b92915050565b7f4d696e74696e672065786365656473206d6178696d756d20737570706c7900005f82015250565b5f611581601e83611186565b915061158c8261154d565b602082019050919050565b5f6020820190508181035f8301526115ae81611575565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61160f602583611186565b915061161a826115b5565b604082019050919050565b5f6020820190508181035f83015261163c81611603565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61169d602683611186565b91506116a882611643565b604082019050919050565b5f6020820190508181035f8301526116ca81611691565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61172b602483611186565b9150611736826116d1565b604082019050919050565b5f6020820190508181035f8301526117588161171f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6117b9602283611186565b91506117c48261175f565b604082019050919050565b5f6020820190508181035f8301526117e6816117ad565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611821601d83611186565b915061182c826117ed565b602082019050919050565b5f6020820190508181035f83015261184e81611815565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6118af602583611186565b91506118ba82611855565b604082019050919050565b5f6020820190508181035f8301526118dc816118a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61193d602383611186565b9150611948826118e3565b604082019050919050565b5f6020820190508181035f83015261196a81611931565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6119cb602683611186565b91506119d682611971565b604082019050919050565b5f6020820190508181035f8301526119f8816119bf565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611a33602083611186565b9150611a3e826119ff565b602082019050919050565b5f6020820190508181035f830152611a6081611a27565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f611a9b601f83611186565b9150611aa682611a67565b602082019050919050565b5f6020820190508181035f830152611ac881611a8f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f611b29602183611186565b9150611b3482611acf565b604082019050919050565b5f6020820190508181035f830152611b5681611b1d565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f611bb7602283611186565b9150611bc282611b5d565b604082019050919050565b5f6020820190508181035f830152611be481611bab565b905091905056fea264697066735822122056debbb7e6d690afe2b8d23e41cf611053119cde43d52ce6fd4f3a0eade75d2b64736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000006765c793fa10079d0000000000000000000000000000000a432d7b3685df4ef356cf27052c03a57c67fd3db
-----Decoded View---------------
Arg [0] : initialSupply (uint256): 2000000000000000000000000000
Arg [1] : initialSupplyRecipient (address): 0xa432D7b3685df4EF356CF27052c03a57c67Fd3DB
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000006765c793fa10079d0000000
Arg [1] : 000000000000000000000000a432d7b3685df4ef356cf27052c03a57c67fd3db
Deployed Bytecode Sourcemap
21546:670:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9314:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11674:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10443:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12455:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10285:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21605:57;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13125:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22028:185;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20902:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21929:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10614:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2769:103;;;:::i;:::-;;21320:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2128:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9533:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13866:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10947:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11203:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3027:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9314:100;9368:13;9401:5;9394:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9314:100;:::o;11674:201::-;11757:4;11774:13;11790:12;:10;:12::i;:::-;11774:28;;11813:32;11822:5;11829:7;11838:6;11813:8;:32::i;:::-;11863:4;11856:11;;;11674:201;;;;:::o;10443:108::-;10504:7;10531:12;;10524:19;;10443:108;:::o;12455:261::-;12552:4;12569:15;12587:12;:10;:12::i;:::-;12569:30;;12610:38;12626:4;12632:7;12641:6;12610:15;:38::i;:::-;12659:27;12669:4;12675:2;12679:6;12659:9;:27::i;:::-;12704:4;12697:11;;;12455:261;;;;;:::o;10285:93::-;10343:5;10368:2;10361:9;;10285:93;:::o;21605:57::-;21642:20;21605:57;:::o;13125:238::-;13213:4;13230:13;13246:12;:10;:12::i;:::-;13230:28;;13269:64;13278:5;13285:7;13322:10;13294:25;13304:5;13311:7;13294:9;:25::i;:::-;:38;;;;:::i;:::-;13269:8;:64::i;:::-;13351:4;13344:11;;;13125:238;;;;:::o;22028:185::-;2014:13;:11;:13::i;:::-;21642:20:::1;22122:6;22106:13;:11;:13::i;:::-;:22;;;;:::i;:::-;:36;;22098:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;22188:17;22194:2;22198:6;22188:5;:17::i;:::-;22028:185:::0;;:::o;20902:89::-;20957:26;20963:12;:10;:12::i;:::-;20977:5;20957;:26::i;:::-;20902:89;:::o;21929:93::-;21974:7;21642:20;21995:18;;21929:93;:::o;10614:127::-;10688:7;10715:9;:18;10725:7;10715:18;;;;;;;;;;;;;;;;10708:25;;10614:127;;;:::o;2769:103::-;2014:13;:11;:13::i;:::-;2834:30:::1;2861:1;2834:18;:30::i;:::-;2769:103::o:0;21320:161::-;21396:45;21412:7;21421:12;:10;:12::i;:::-;21435:5;21396:15;:45::i;:::-;21452:21;21458:7;21467:5;21452;:21::i;:::-;21320:161;;:::o;2128:87::-;2174:7;2201:6;;;;;;;;;;;2194:13;;2128:87;:::o;9533:104::-;9589:13;9622:7;9615:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9533:104;:::o;13866:436::-;13959:4;13976:13;13992:12;:10;:12::i;:::-;13976:28;;14015:24;14042:25;14052:5;14059:7;14042:9;:25::i;:::-;14015:52;;14106:15;14086:16;:35;;14078:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14199:60;14208:5;14215:7;14243:15;14224:16;:34;14199:8;:60::i;:::-;14290:4;14283:11;;;;13866:436;;;;:::o;10947:193::-;11026:4;11043:13;11059:12;:10;:12::i;:::-;11043:28;;11082;11092:5;11099:2;11103:6;11082:9;:28::i;:::-;11128:4;11121:11;;;10947:193;;;;:::o;11203:151::-;11292:7;11319:11;:18;11331:5;11319:18;;;;;;;;;;;;;;;:27;11338:7;11319:27;;;;;;;;;;;;;;;;11312:34;;11203:151;;;;:::o;3027:201::-;2014:13;:11;:13::i;:::-;3136:1:::1;3116:22;;:8;:22;;::::0;3108:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3192:28;3211:8;3192:18;:28::i;:::-;3027:201:::0;:::o;679:98::-;732:7;759:10;752:17;;679:98;:::o;17859:346::-;17978:1;17961:19;;:5;:19;;;17953:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18059:1;18040:21;;:7;:21;;;18032:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18143:6;18113:11;:18;18125:5;18113:18;;;;;;;;;;;;;;;:27;18132:7;18113:27;;;;;;;;;;;;;;;:36;;;;18181:7;18165:32;;18174:5;18165:32;;;18190:6;18165:32;;;;;;:::i;:::-;;;;;;;;17859:346;;;:::o;18496:419::-;18597:24;18624:25;18634:5;18641:7;18624:9;:25::i;:::-;18597:52;;18684:17;18664:16;:37;18660:248;;18746:6;18726:16;:26;;18718:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18830:51;18839:5;18846:7;18874:6;18855:16;:25;18830:8;:51::i;:::-;18660:248;18586:329;18496:419;;;:::o;14772:806::-;14885:1;14869:18;;:4;:18;;;14861:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14962:1;14948:16;;:2;:16;;;14940:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15017:38;15038:4;15044:2;15048:6;15017:20;:38::i;:::-;15068:19;15090:9;:15;15100:4;15090:15;;;;;;;;;;;;;;;;15068:37;;15139:6;15124:11;:21;;15116:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15256:6;15242:11;:20;15224:9;:15;15234:4;15224:15;;;;;;;;;;;;;;;:38;;;;15459:6;15442:9;:13;15452:2;15442:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;15509:2;15494:26;;15503:4;15494:26;;;15513:6;15494:26;;;;;;:::i;:::-;;;;;;;;15533:37;15553:4;15559:2;15563:6;15533:19;:37::i;:::-;14850:728;14772:806;;;:::o;2293:132::-;2368:12;:10;:12::i;:::-;2357:23;;:7;:5;:7::i;:::-;:23;;;2349:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2293:132::o;15865:548::-;15968:1;15949:21;;:7;:21;;;15941:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;16019:49;16048:1;16052:7;16061:6;16019:20;:49::i;:::-;16097:6;16081:12;;:22;;;;;;;:::i;:::-;;;;;;;;16274:6;16252:9;:18;16262:7;16252:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;16328:7;16307:37;;16324:1;16307:37;;;16337:6;16307:37;;;;;;:::i;:::-;;;;;;;;16357:48;16385:1;16389:7;16398:6;16357:19;:48::i;:::-;15865:548;;:::o;16746:675::-;16849:1;16830:21;;:7;:21;;;16822:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16902:49;16923:7;16940:1;16944:6;16902:20;:49::i;:::-;16964:22;16989:9;:18;16999:7;16989:18;;;;;;;;;;;;;;;;16964:43;;17044:6;17026:14;:24;;17018:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17163:6;17146:14;:23;17125:9;:18;17135:7;17125:18;;;;;;;;;;;;;;;:44;;;;17280:6;17264:12;;:22;;;;;;;;;;;17341:1;17315:37;;17324:7;17315:37;;;17345:6;17315:37;;;;;;:::i;:::-;;;;;;;;17365:48;17385:7;17402:1;17406:6;17365:19;:48::i;:::-;16811:610;16746:675;;:::o;3388:191::-;3462:16;3481:6;;;;;;;;;;;3462:25;;3507:8;3498:6;;:17;;;;;;;;;;;;;;;;;;3562:8;3531:40;;3552:8;3531:40;;;;;;;;;;;;3451:128;3388:191;:::o;19515:91::-;;;;:::o;20210:90::-;;;;:::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:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:320;6585:6;6622:1;6616:4;6612:12;6602:22;;6669:1;6663:4;6659:12;6690:18;6680:81;;6746:4;6738:6;6734:17;6724:27;;6680:81;6808:2;6800:6;6797:14;6777:18;6774:38;6771:84;;6827:18;;:::i;:::-;6771:84;6592:269;6541:320;;;:::o;6867:180::-;6915:77;6912:1;6905:88;7012:4;7009:1;7002:15;7036:4;7033:1;7026:15;7053:191;7093:3;7112:20;7130:1;7112:20;:::i;:::-;7107:25;;7146:20;7164:1;7146:20;:::i;:::-;7141:25;;7189:1;7186;7182:9;7175:16;;7210:3;7207:1;7204:10;7201:36;;;7217:18;;:::i;:::-;7201:36;7053:191;;;;:::o;7250:180::-;7390:32;7386:1;7378:6;7374:14;7367:56;7250:180;:::o;7436:366::-;7578:3;7599:67;7663:2;7658:3;7599:67;:::i;:::-;7592:74;;7675:93;7764:3;7675:93;:::i;:::-;7793:2;7788:3;7784:12;7777:19;;7436:366;;;:::o;7808:419::-;7974:4;8012:2;8001:9;7997:18;7989:26;;8061:9;8055:4;8051:20;8047:1;8036:9;8032:17;8025:47;8089:131;8215:4;8089:131;:::i;:::-;8081:139;;7808:419;;;:::o;8233:224::-;8373:34;8369:1;8361:6;8357:14;8350:58;8442:7;8437:2;8429:6;8425:15;8418:32;8233:224;:::o;8463:366::-;8605:3;8626:67;8690:2;8685:3;8626:67;:::i;:::-;8619:74;;8702:93;8791:3;8702:93;:::i;:::-;8820:2;8815:3;8811:12;8804:19;;8463:366;;;:::o;8835:419::-;9001:4;9039:2;9028:9;9024:18;9016:26;;9088:9;9082:4;9078:20;9074:1;9063:9;9059:17;9052:47;9116:131;9242:4;9116:131;:::i;:::-;9108:139;;8835:419;;;:::o;9260:225::-;9400:34;9396:1;9388:6;9384:14;9377:58;9469:8;9464:2;9456:6;9452:15;9445:33;9260:225;:::o;9491:366::-;9633:3;9654:67;9718:2;9713:3;9654:67;:::i;:::-;9647:74;;9730:93;9819:3;9730:93;:::i;:::-;9848:2;9843:3;9839:12;9832:19;;9491:366;;;:::o;9863:419::-;10029:4;10067:2;10056:9;10052:18;10044:26;;10116:9;10110:4;10106:20;10102:1;10091:9;10087:17;10080:47;10144:131;10270:4;10144:131;:::i;:::-;10136:139;;9863:419;;;:::o;10288:223::-;10428:34;10424:1;10416:6;10412:14;10405:58;10497:6;10492:2;10484:6;10480:15;10473:31;10288:223;:::o;10517:366::-;10659:3;10680:67;10744:2;10739:3;10680:67;:::i;:::-;10673:74;;10756:93;10845:3;10756:93;:::i;:::-;10874:2;10869:3;10865:12;10858:19;;10517:366;;;:::o;10889:419::-;11055:4;11093:2;11082:9;11078:18;11070:26;;11142:9;11136:4;11132:20;11128:1;11117:9;11113:17;11106:47;11170:131;11296:4;11170:131;:::i;:::-;11162:139;;10889:419;;;:::o;11314:221::-;11454:34;11450:1;11442:6;11438:14;11431:58;11523:4;11518:2;11510:6;11506:15;11499:29;11314:221;:::o;11541:366::-;11683:3;11704:67;11768:2;11763:3;11704:67;:::i;:::-;11697:74;;11780:93;11869:3;11780:93;:::i;:::-;11898:2;11893:3;11889:12;11882:19;;11541:366;;;:::o;11913:419::-;12079:4;12117:2;12106:9;12102:18;12094:26;;12166:9;12160:4;12156:20;12152:1;12141:9;12137:17;12130:47;12194:131;12320:4;12194:131;:::i;:::-;12186:139;;11913:419;;;:::o;12338:179::-;12478:31;12474:1;12466:6;12462:14;12455:55;12338:179;:::o;12523:366::-;12665:3;12686:67;12750:2;12745:3;12686:67;:::i;:::-;12679:74;;12762:93;12851:3;12762:93;:::i;:::-;12880:2;12875:3;12871:12;12864:19;;12523:366;;;:::o;12895:419::-;13061:4;13099:2;13088:9;13084:18;13076:26;;13148:9;13142:4;13138:20;13134:1;13123:9;13119:17;13112:47;13176:131;13302:4;13176:131;:::i;:::-;13168:139;;12895:419;;;:::o;13320:224::-;13460:34;13456:1;13448:6;13444:14;13437:58;13529:7;13524:2;13516:6;13512:15;13505:32;13320:224;:::o;13550:366::-;13692:3;13713:67;13777:2;13772:3;13713:67;:::i;:::-;13706:74;;13789:93;13878:3;13789:93;:::i;:::-;13907:2;13902:3;13898:12;13891:19;;13550:366;;;:::o;13922:419::-;14088:4;14126:2;14115:9;14111:18;14103:26;;14175:9;14169:4;14165:20;14161:1;14150:9;14146:17;14139:47;14203:131;14329:4;14203:131;:::i;:::-;14195:139;;13922:419;;;:::o;14347:222::-;14487:34;14483:1;14475:6;14471:14;14464:58;14556:5;14551:2;14543:6;14539:15;14532:30;14347:222;:::o;14575:366::-;14717:3;14738:67;14802:2;14797:3;14738:67;:::i;:::-;14731:74;;14814:93;14903:3;14814:93;:::i;:::-;14932:2;14927:3;14923:12;14916:19;;14575:366;;;:::o;14947:419::-;15113:4;15151:2;15140:9;15136:18;15128:26;;15200:9;15194:4;15190:20;15186:1;15175:9;15171:17;15164:47;15228:131;15354:4;15228:131;:::i;:::-;15220:139;;14947:419;;;:::o;15372:225::-;15512:34;15508:1;15500:6;15496:14;15489:58;15581:8;15576:2;15568:6;15564:15;15557:33;15372:225;:::o;15603:366::-;15745:3;15766:67;15830:2;15825:3;15766:67;:::i;:::-;15759:74;;15842:93;15931:3;15842:93;:::i;:::-;15960:2;15955:3;15951:12;15944:19;;15603:366;;;:::o;15975:419::-;16141:4;16179:2;16168:9;16164:18;16156:26;;16228:9;16222:4;16218:20;16214:1;16203:9;16199:17;16192:47;16256:131;16382:4;16256:131;:::i;:::-;16248:139;;15975:419;;;:::o;16400:182::-;16540:34;16536:1;16528:6;16524:14;16517:58;16400:182;:::o;16588:366::-;16730:3;16751:67;16815:2;16810:3;16751:67;:::i;:::-;16744:74;;16827:93;16916:3;16827:93;:::i;:::-;16945:2;16940:3;16936:12;16929:19;;16588:366;;;:::o;16960:419::-;17126:4;17164:2;17153:9;17149:18;17141:26;;17213:9;17207:4;17203:20;17199:1;17188:9;17184:17;17177:47;17241:131;17367:4;17241:131;:::i;:::-;17233:139;;16960:419;;;:::o;17385:181::-;17525:33;17521:1;17513:6;17509:14;17502:57;17385:181;:::o;17572:366::-;17714:3;17735:67;17799:2;17794:3;17735:67;:::i;:::-;17728:74;;17811:93;17900:3;17811:93;:::i;:::-;17929:2;17924:3;17920:12;17913:19;;17572:366;;;:::o;17944:419::-;18110:4;18148:2;18137:9;18133:18;18125:26;;18197:9;18191:4;18187:20;18183:1;18172:9;18168:17;18161:47;18225:131;18351:4;18225:131;:::i;:::-;18217:139;;17944:419;;;:::o;18369:220::-;18509:34;18505:1;18497:6;18493:14;18486:58;18578:3;18573:2;18565:6;18561:15;18554:28;18369:220;:::o;18595:366::-;18737:3;18758:67;18822:2;18817:3;18758:67;:::i;:::-;18751:74;;18834:93;18923:3;18834:93;:::i;:::-;18952:2;18947:3;18943:12;18936:19;;18595:366;;;:::o;18967:419::-;19133:4;19171:2;19160:9;19156:18;19148:26;;19220:9;19214:4;19210:20;19206:1;19195:9;19191:17;19184:47;19248:131;19374:4;19248:131;:::i;:::-;19240:139;;18967:419;;;:::o;19392:221::-;19532:34;19528:1;19520:6;19516:14;19509:58;19601:4;19596:2;19588:6;19584:15;19577:29;19392:221;:::o;19619:366::-;19761:3;19782:67;19846:2;19841:3;19782:67;:::i;:::-;19775:74;;19858:93;19947:3;19858:93;:::i;:::-;19976:2;19971:3;19967:12;19960:19;;19619:366;;;:::o;19991:419::-;20157:4;20195:2;20184:9;20180:18;20172:26;;20244:9;20238:4;20234:20;20230:1;20219:9;20215:17;20208:47;20272:131;20398:4;20272:131;:::i;:::-;20264:139;;19991:419;;;:::o
Swarm Source
ipfs://56debbb7e6d690afe2b8d23e41cf611053119cde43d52ce6fd4f3a0eade75d2b
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.