ERC-20
Overview
Max Total Supply
420,690,000,000,000 NAS
Holders
183
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
2,142,152,180,548.58060546875 NASValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
NASToken
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-07 */ // Sources flattened with hardhat v2.7.0 https://hardhat.org // File @openzeppelin/contracts/utils/[email protected] // SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.0 (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/[email protected] // OpenZeppelin Contracts v4.4.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 Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing 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/[email protected] // OpenZeppelin Contracts v4.4.0 (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/[email protected] // OpenZeppelin Contracts v4.4.0 (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/[email protected] // OpenZeppelin Contracts v4.4.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.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * 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}. * * The default 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"); unchecked { _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"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * 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: * * - `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"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * 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; _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; } _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 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 contracts/NASToken.sol pragma solidity ^0.8.0; contract NASToken is Ownable, ERC20 { bool public limited; uint256 public maxHoldingAmount; address public uniswapV2Pair; constructor(uint256 _totalSupply) ERC20("Not A Security", "NAS") { _mint(msg.sender, _totalSupply); } function setRule(bool _limited, address _uniswapV2Pair, uint256 _maxHoldingAmount) external onlyOwner { limited = _limited; uniswapV2Pair = _uniswapV2Pair; maxHoldingAmount = _maxHoldingAmount; } function _beforeTokenTransfer( address from, address to, uint256 amount ) override internal virtual { if (uniswapV2Pair == address(0)) { require(from == owner() || to == owner(), "trading is not started"); return; } if (limited && to != uniswapV2Pair) { require(super.balanceOf(to) + amount <= maxHoldingAmount, "Forbid"); } } function burn(uint256 value) external { _burn(msg.sender, value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"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":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"}],"name":"setRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162002bb438038062002bb4833981810160405281019062000037919062000603565b6040518060400160405280600e81526020017f4e6f7420412053656375726974790000000000000000000000000000000000008152506040518060400160405280600381526020017f4e41530000000000000000000000000000000000000000000000000000000000815250620000c3620000b76200010260201b60201c565b6200010a60201b60201c565b8160049081620000d49190620008a5565b508060059081620000e69190620008a5565b505050620000fb3382620001ce60201b60201c565b5062000b8b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000240576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200023790620009ed565b60405180910390fd5b62000254600083836200034760201b60201c565b806003600082825462000268919062000a3e565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002c0919062000a3e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000327919062000a8a565b60405180910390a362000343600083836200054c60201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200046a57620003ae6200055160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620004225750620003f36200055160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b62000464576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200045b9062000af7565b60405180910390fd5b62000547565b600660009054906101000a900460ff168015620004d55750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15620005465760075481620004f5846200057a60201b6200065e1760201c565b62000501919062000a3e565b111562000545576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200053c9062000b69565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080fd5b6000819050919050565b620005dd81620005c8565b8114620005e957600080fd5b50565b600081519050620005fd81620005d2565b92915050565b6000602082840312156200061c576200061b620005c3565b5b60006200062c84828501620005ec565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006b757607f821691505b602082108103620006cd57620006cc6200066f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006f8565b620007438683620006f8565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000786620007806200077a84620005c8565b6200075b565b620005c8565b9050919050565b6000819050919050565b620007a28362000765565b620007ba620007b1826200078d565b84845462000705565b825550505050565b600090565b620007d1620007c2565b620007de81848462000797565b505050565b5b818110156200080657620007fa600082620007c7565b600181019050620007e4565b5050565b601f82111562000855576200081f81620006d3565b6200082a84620006e8565b810160208510156200083a578190505b620008526200084985620006e8565b830182620007e3565b50505b505050565b600082821c905092915050565b60006200087a600019846008026200085a565b1980831691505092915050565b600062000895838362000867565b9150826002028217905092915050565b620008b08262000635565b67ffffffffffffffff811115620008cc57620008cb62000640565b5b620008d882546200069e565b620008e58282856200080a565b600060209050601f8311600181146200091d576000841562000908578287015190505b62000914858262000887565b86555062000984565b601f1984166200092d86620006d3565b60005b82811015620009575784890151825560018201915060208501945060208101905062000930565b8683101562000977578489015162000973601f89168262000867565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620009d5601f836200098c565b9150620009e2826200099d565b602082019050919050565b6000602082019050818103600083015262000a0881620009c6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000a4b82620005c8565b915062000a5883620005c8565b925082820190508082111562000a735762000a7262000a0f565b5b92915050565b62000a8481620005c8565b82525050565b600060208201905062000aa1600083018462000a79565b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000adf6016836200098c565b915062000aec8262000aa7565b602082019050919050565b6000602082019050818103600083015262000b128162000ad0565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600062000b516006836200098c565b915062000b5e8262000b19565b602082019050919050565b6000602082019050818103600083015262000b848162000b42565b9050919050565b6120198062000b9b6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad57806395d89b411161007157806395d89b41146102fa578063a457c2d714610318578063a9059cbb14610348578063dd62ed3e14610378578063f2fde38b146103a857610121565b8063715018a61461027a5780637abf9d2614610284578063860a32ec146102a057806389f9a1d3146102be5780638da5cb5b146102dc57610121565b8063313ce567116100f4578063313ce567146101c257806339509351146101e057806342966c681461021057806349bd5a5e1461022c57806370a082311461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103c4565b60405161013b91906114cc565b60405180910390f35b61015e60048036038101906101599190611587565b610456565b60405161016b91906115e2565b60405180910390f35b61017c610474565b604051610189919061160c565b60405180910390f35b6101ac60048036038101906101a79190611627565b61047e565b6040516101b991906115e2565b60405180910390f35b6101ca610576565b6040516101d79190611696565b60405180910390f35b6101fa60048036038101906101f59190611587565b61057f565b60405161020791906115e2565b60405180910390f35b61022a600480360381019061022591906116b1565b61062b565b005b610234610638565b60405161024191906116ed565b60405180910390f35b610264600480360381019061025f9190611708565b61065e565b604051610271919061160c565b60405180910390f35b6102826106a7565b005b61029e60048036038101906102999190611761565b61072f565b005b6102a8610812565b6040516102b591906115e2565b60405180910390f35b6102c6610825565b6040516102d3919061160c565b60405180910390f35b6102e461082b565b6040516102f191906116ed565b60405180910390f35b610302610854565b60405161030f91906114cc565b60405180910390f35b610332600480360381019061032d9190611587565b6108e6565b60405161033f91906115e2565b60405180910390f35b610362600480360381019061035d9190611587565b6109d1565b60405161036f91906115e2565b60405180910390f35b610392600480360381019061038d91906117b4565b6109ef565b60405161039f919061160c565b60405180910390f35b6103c260048036038101906103bd9190611708565b610a76565b005b6060600480546103d390611823565b80601f01602080910402602001604051908101604052809291908181526020018280546103ff90611823565b801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b5050505050905090565b600061046a610463610b6d565b8484610b75565b6001905092915050565b6000600354905090565b600061048b848484610d3e565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d6610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054d906118c6565b60405180910390fd5b61056a85610562610b6d565b858403610b75565b60019150509392505050565b60006012905090565b600061062161058c610b6d565b84846002600061059a610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461061c9190611915565b610b75565b6001905092915050565b6106353382610fc0565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106af610b6d565b73ffffffffffffffffffffffffffffffffffffffff166106cd61082b565b73ffffffffffffffffffffffffffffffffffffffff1614610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071a90611995565b60405180910390fd5b61072d6000611198565b565b610737610b6d565b73ffffffffffffffffffffffffffffffffffffffff1661075561082b565b73ffffffffffffffffffffffffffffffffffffffff16146107ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a290611995565b60405180910390fd5b82600660006101000a81548160ff02191690831515021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600781905550505050565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461086390611823565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90611823565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050905090565b600080600260006108f5610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990611a27565b60405180910390fd5b6109c66109bd610b6d565b85858403610b75565b600191505092915050565b60006109e56109de610b6d565b8484610d3e565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a7e610b6d565b73ffffffffffffffffffffffffffffffffffffffff16610a9c61082b565b73ffffffffffffffffffffffffffffffffffffffff1614610af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae990611995565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890611ab9565b60405180910390fd5b610b6a81611198565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb90611b4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611bdd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d31919061160c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490611c6f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390611d01565b60405180910390fd5b610e2783838361125c565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea590611d93565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f439190611915565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fa7919061160c565b60405180910390a3610fba848484611437565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690611e25565b60405180910390fd5b61103b8260008361125c565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b990611eb7565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461111a9190611ed7565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161117f919061160c565b60405180910390a361119383600084611437565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611369576112ba61082b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061132557506112f661082b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b90611f57565b60405180910390fd5b611432565b600660009054906101000a900460ff1680156113d35750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561143157600754816113e58461065e565b6113ef9190611915565b1115611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790611fc3565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561147657808201518184015260208101905061145b565b60008484015250505050565b6000601f19601f8301169050919050565b600061149e8261143c565b6114a88185611447565b93506114b8818560208601611458565b6114c181611482565b840191505092915050565b600060208201905081810360008301526114e68184611493565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061151e826114f3565b9050919050565b61152e81611513565b811461153957600080fd5b50565b60008135905061154b81611525565b92915050565b6000819050919050565b61156481611551565b811461156f57600080fd5b50565b6000813590506115818161155b565b92915050565b6000806040838503121561159e5761159d6114ee565b5b60006115ac8582860161153c565b92505060206115bd85828601611572565b9150509250929050565b60008115159050919050565b6115dc816115c7565b82525050565b60006020820190506115f760008301846115d3565b92915050565b61160681611551565b82525050565b600060208201905061162160008301846115fd565b92915050565b6000806000606084860312156116405761163f6114ee565b5b600061164e8682870161153c565b935050602061165f8682870161153c565b925050604061167086828701611572565b9150509250925092565b600060ff82169050919050565b6116908161167a565b82525050565b60006020820190506116ab6000830184611687565b92915050565b6000602082840312156116c7576116c66114ee565b5b60006116d584828501611572565b91505092915050565b6116e781611513565b82525050565b600060208201905061170260008301846116de565b92915050565b60006020828403121561171e5761171d6114ee565b5b600061172c8482850161153c565b91505092915050565b61173e816115c7565b811461174957600080fd5b50565b60008135905061175b81611735565b92915050565b60008060006060848603121561177a576117796114ee565b5b60006117888682870161174c565b93505060206117998682870161153c565b92505060406117aa86828701611572565b9150509250925092565b600080604083850312156117cb576117ca6114ee565b5b60006117d98582860161153c565b92505060206117ea8582860161153c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061183b57607f821691505b60208210810361184e5761184d6117f4565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006118b0602883611447565b91506118bb82611854565b604082019050919050565b600060208201905081810360008301526118df816118a3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061192082611551565b915061192b83611551565b9250828201905080821115611943576119426118e6565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061197f602083611447565b915061198a82611949565b602082019050919050565b600060208201905081810360008301526119ae81611972565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611a11602583611447565b9150611a1c826119b5565b604082019050919050565b60006020820190508181036000830152611a4081611a04565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611aa3602683611447565b9150611aae82611a47565b604082019050919050565b60006020820190508181036000830152611ad281611a96565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611b35602483611447565b9150611b4082611ad9565b604082019050919050565b60006020820190508181036000830152611b6481611b28565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611bc7602283611447565b9150611bd282611b6b565b604082019050919050565b60006020820190508181036000830152611bf681611bba565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611c59602583611447565b9150611c6482611bfd565b604082019050919050565b60006020820190508181036000830152611c8881611c4c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ceb602383611447565b9150611cf682611c8f565b604082019050919050565b60006020820190508181036000830152611d1a81611cde565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611d7d602683611447565b9150611d8882611d21565b604082019050919050565b60006020820190508181036000830152611dac81611d70565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e0f602183611447565b9150611e1a82611db3565b604082019050919050565b60006020820190508181036000830152611e3e81611e02565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ea1602283611447565b9150611eac82611e45565b604082019050919050565b60006020820190508181036000830152611ed081611e94565b9050919050565b6000611ee282611551565b9150611eed83611551565b9250828203905081811115611f0557611f046118e6565b5b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b6000611f41601683611447565b9150611f4c82611f0b565b602082019050919050565b60006020820190508181036000830152611f7081611f34565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b6000611fad600683611447565b9150611fb882611f77565b602082019050919050565b60006020820190508181036000830152611fdc81611fa0565b905091905056fea26469706673582212205ddc3be6090ae1ad55d684fec6470bba7cc4d59c6360133423df571981b83e0f64736f6c6343000812003300000000000000000000000000000000000014bddab3e51a57cff87a50000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad57806395d89b411161007157806395d89b41146102fa578063a457c2d714610318578063a9059cbb14610348578063dd62ed3e14610378578063f2fde38b146103a857610121565b8063715018a61461027a5780637abf9d2614610284578063860a32ec146102a057806389f9a1d3146102be5780638da5cb5b146102dc57610121565b8063313ce567116100f4578063313ce567146101c257806339509351146101e057806342966c681461021057806349bd5a5e1461022c57806370a082311461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103c4565b60405161013b91906114cc565b60405180910390f35b61015e60048036038101906101599190611587565b610456565b60405161016b91906115e2565b60405180910390f35b61017c610474565b604051610189919061160c565b60405180910390f35b6101ac60048036038101906101a79190611627565b61047e565b6040516101b991906115e2565b60405180910390f35b6101ca610576565b6040516101d79190611696565b60405180910390f35b6101fa60048036038101906101f59190611587565b61057f565b60405161020791906115e2565b60405180910390f35b61022a600480360381019061022591906116b1565b61062b565b005b610234610638565b60405161024191906116ed565b60405180910390f35b610264600480360381019061025f9190611708565b61065e565b604051610271919061160c565b60405180910390f35b6102826106a7565b005b61029e60048036038101906102999190611761565b61072f565b005b6102a8610812565b6040516102b591906115e2565b60405180910390f35b6102c6610825565b6040516102d3919061160c565b60405180910390f35b6102e461082b565b6040516102f191906116ed565b60405180910390f35b610302610854565b60405161030f91906114cc565b60405180910390f35b610332600480360381019061032d9190611587565b6108e6565b60405161033f91906115e2565b60405180910390f35b610362600480360381019061035d9190611587565b6109d1565b60405161036f91906115e2565b60405180910390f35b610392600480360381019061038d91906117b4565b6109ef565b60405161039f919061160c565b60405180910390f35b6103c260048036038101906103bd9190611708565b610a76565b005b6060600480546103d390611823565b80601f01602080910402602001604051908101604052809291908181526020018280546103ff90611823565b801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b5050505050905090565b600061046a610463610b6d565b8484610b75565b6001905092915050565b6000600354905090565b600061048b848484610d3e565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d6610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054d906118c6565b60405180910390fd5b61056a85610562610b6d565b858403610b75565b60019150509392505050565b60006012905090565b600061062161058c610b6d565b84846002600061059a610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461061c9190611915565b610b75565b6001905092915050565b6106353382610fc0565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106af610b6d565b73ffffffffffffffffffffffffffffffffffffffff166106cd61082b565b73ffffffffffffffffffffffffffffffffffffffff1614610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071a90611995565b60405180910390fd5b61072d6000611198565b565b610737610b6d565b73ffffffffffffffffffffffffffffffffffffffff1661075561082b565b73ffffffffffffffffffffffffffffffffffffffff16146107ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a290611995565b60405180910390fd5b82600660006101000a81548160ff02191690831515021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600781905550505050565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461086390611823565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90611823565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050905090565b600080600260006108f5610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990611a27565b60405180910390fd5b6109c66109bd610b6d565b85858403610b75565b600191505092915050565b60006109e56109de610b6d565b8484610d3e565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a7e610b6d565b73ffffffffffffffffffffffffffffffffffffffff16610a9c61082b565b73ffffffffffffffffffffffffffffffffffffffff1614610af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae990611995565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890611ab9565b60405180910390fd5b610b6a81611198565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb90611b4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611bdd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d31919061160c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490611c6f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390611d01565b60405180910390fd5b610e2783838361125c565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea590611d93565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f439190611915565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fa7919061160c565b60405180910390a3610fba848484611437565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690611e25565b60405180910390fd5b61103b8260008361125c565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b990611eb7565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461111a9190611ed7565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161117f919061160c565b60405180910390a361119383600084611437565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611369576112ba61082b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061132557506112f661082b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b90611f57565b60405180910390fd5b611432565b600660009054906101000a900460ff1680156113d35750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561143157600754816113e58461065e565b6113ef9190611915565b1115611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790611fc3565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561147657808201518184015260208101905061145b565b60008484015250505050565b6000601f19601f8301169050919050565b600061149e8261143c565b6114a88185611447565b93506114b8818560208601611458565b6114c181611482565b840191505092915050565b600060208201905081810360008301526114e68184611493565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061151e826114f3565b9050919050565b61152e81611513565b811461153957600080fd5b50565b60008135905061154b81611525565b92915050565b6000819050919050565b61156481611551565b811461156f57600080fd5b50565b6000813590506115818161155b565b92915050565b6000806040838503121561159e5761159d6114ee565b5b60006115ac8582860161153c565b92505060206115bd85828601611572565b9150509250929050565b60008115159050919050565b6115dc816115c7565b82525050565b60006020820190506115f760008301846115d3565b92915050565b61160681611551565b82525050565b600060208201905061162160008301846115fd565b92915050565b6000806000606084860312156116405761163f6114ee565b5b600061164e8682870161153c565b935050602061165f8682870161153c565b925050604061167086828701611572565b9150509250925092565b600060ff82169050919050565b6116908161167a565b82525050565b60006020820190506116ab6000830184611687565b92915050565b6000602082840312156116c7576116c66114ee565b5b60006116d584828501611572565b91505092915050565b6116e781611513565b82525050565b600060208201905061170260008301846116de565b92915050565b60006020828403121561171e5761171d6114ee565b5b600061172c8482850161153c565b91505092915050565b61173e816115c7565b811461174957600080fd5b50565b60008135905061175b81611735565b92915050565b60008060006060848603121561177a576117796114ee565b5b60006117888682870161174c565b93505060206117998682870161153c565b92505060406117aa86828701611572565b9150509250925092565b600080604083850312156117cb576117ca6114ee565b5b60006117d98582860161153c565b92505060206117ea8582860161153c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061183b57607f821691505b60208210810361184e5761184d6117f4565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006118b0602883611447565b91506118bb82611854565b604082019050919050565b600060208201905081810360008301526118df816118a3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061192082611551565b915061192b83611551565b9250828201905080821115611943576119426118e6565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061197f602083611447565b915061198a82611949565b602082019050919050565b600060208201905081810360008301526119ae81611972565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611a11602583611447565b9150611a1c826119b5565b604082019050919050565b60006020820190508181036000830152611a4081611a04565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611aa3602683611447565b9150611aae82611a47565b604082019050919050565b60006020820190508181036000830152611ad281611a96565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611b35602483611447565b9150611b4082611ad9565b604082019050919050565b60006020820190508181036000830152611b6481611b28565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611bc7602283611447565b9150611bd282611b6b565b604082019050919050565b60006020820190508181036000830152611bf681611bba565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611c59602583611447565b9150611c6482611bfd565b604082019050919050565b60006020820190508181036000830152611c8881611c4c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ceb602383611447565b9150611cf682611c8f565b604082019050919050565b60006020820190508181036000830152611d1a81611cde565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611d7d602683611447565b9150611d8882611d21565b604082019050919050565b60006020820190508181036000830152611dac81611d70565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e0f602183611447565b9150611e1a82611db3565b604082019050919050565b60006020820190508181036000830152611e3e81611e02565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ea1602283611447565b9150611eac82611e45565b604082019050919050565b60006020820190508181036000830152611ed081611e94565b9050919050565b6000611ee282611551565b9150611eed83611551565b9250828203905081811115611f0557611f046118e6565b5b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b6000611f41601683611447565b9150611f4c82611f0b565b602082019050919050565b60006020820190508181036000830152611f7081611f34565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b6000611fad600683611447565b9150611fb882611f77565b602082019050919050565b60006020820190508181036000830152611fdc81611fa0565b905091905056fea26469706673582212205ddc3be6090ae1ad55d684fec6470bba7cc4d59c6360133423df571981b83e0f64736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000014bddab3e51a57cff87a50000000
-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 420690000000000000000000000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000014bddab3e51a57cff87a50000000
Deployed Bytecode Sourcemap
19342:1034:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9312:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11479:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10432:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12130:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10274:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13031:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20292:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19449:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10603:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2713:103;;;:::i;:::-;;19609:227;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19385:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19411:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2062:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9531:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13749:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10943:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11181:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2971:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9312:100;9366:13;9399:5;9392:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9312:100;:::o;11479:169::-;11562:4;11579:39;11588:12;:10;:12::i;:::-;11602:7;11611:6;11579:8;:39::i;:::-;11636:4;11629:11;;11479:169;;;;:::o;10432:108::-;10493:7;10520:12;;10513:19;;10432:108;:::o;12130:492::-;12270:4;12287:36;12297:6;12305:9;12316:6;12287:9;:36::i;:::-;12336:24;12363:11;:19;12375:6;12363:19;;;;;;;;;;;;;;;:33;12383:12;:10;:12::i;:::-;12363:33;;;;;;;;;;;;;;;;12336:60;;12435:6;12415:16;:26;;12407:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12522:57;12531:6;12539:12;:10;:12::i;:::-;12572:6;12553:16;:25;12522:8;:57::i;:::-;12610:4;12603:11;;;12130:492;;;;;:::o;10274:93::-;10332:5;10357:2;10350:9;;10274:93;:::o;13031:215::-;13119:4;13136:80;13145:12;:10;:12::i;:::-;13159:7;13205:10;13168:11;:25;13180:12;:10;:12::i;:::-;13168:25;;;;;;;;;;;;;;;:34;13194:7;13168:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13136:8;:80::i;:::-;13234:4;13227:11;;13031:215;;;;:::o;20292:81::-;20341:24;20347:10;20359:5;20341;:24::i;:::-;20292:81;:::o;19449:28::-;;;;;;;;;;;;;:::o;10603:127::-;10677:7;10704:9;:18;10714:7;10704:18;;;;;;;;;;;;;;;;10697:25;;10603:127;;;:::o;2713:103::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2778:30:::1;2805:1;2778:18;:30::i;:::-;2713:103::o:0;19609:227::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19732:8:::1;19722:7;;:18;;;;;;;;;;;;;;;;;;19767:14;19751:13;;:30;;;;;;;;;;;;;;;;;;19811:17;19792:16;:36;;;;19609:227:::0;;;:::o;19385:19::-;;;;;;;;;;;;;:::o;19411:31::-;;;;:::o;2062:87::-;2108:7;2135:6;;;;;;;;;;;2128:13;;2062:87;:::o;9531:104::-;9587:13;9620:7;9613:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9531:104;:::o;13749:413::-;13842:4;13859:24;13886:11;:25;13898:12;:10;:12::i;:::-;13886:25;;;;;;;;;;;;;;;:34;13912:7;13886:34;;;;;;;;;;;;;;;;13859:61;;13959:15;13939:16;:35;;13931:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14052:67;14061:12;:10;:12::i;:::-;14075:7;14103:15;14084:16;:34;14052:8;:67::i;:::-;14150:4;14143:11;;;13749:413;;;;:::o;10943:175::-;11029:4;11046:42;11056:12;:10;:12::i;:::-;11070:9;11081:6;11046:9;:42::i;:::-;11106:4;11099:11;;10943:175;;;;:::o;11181:151::-;11270:7;11297:11;:18;11309:5;11297:18;;;;;;;;;;;;;;;:27;11316:7;11297:27;;;;;;;;;;;;;;;;11290:34;;11181:151;;;;:::o;2971:201::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3080:1:::1;3060:22;;:8;:22;;::::0;3052:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3136:28;3155:8;3136:18;:28::i;:::-;2971:201:::0;:::o;780:98::-;833:7;860:10;853:17;;780:98;:::o;17433:380::-;17586:1;17569:19;;:5;:19;;;17561:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17667:1;17648:21;;:7;:21;;;17640:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17751:6;17721:11;:18;17733:5;17721:18;;;;;;;;;;;;;;;:27;17740:7;17721:27;;;;;;;;;;;;;;;:36;;;;17789:7;17773:32;;17782:5;17773:32;;;17798:6;17773:32;;;;;;:::i;:::-;;;;;;;;17433:380;;;:::o;14652:733::-;14810:1;14792:20;;:6;:20;;;14784:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14894:1;14873:23;;:9;:23;;;14865:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14949:47;14970:6;14978:9;14989:6;14949:20;:47::i;:::-;15009:21;15033:9;:17;15043:6;15033:17;;;;;;;;;;;;;;;;15009:41;;15086:6;15069:13;:23;;15061:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15207:6;15191:13;:22;15171:9;:17;15181:6;15171:17;;;;;;;;;;;;;;;:42;;;;15259:6;15235:9;:20;15245:9;15235:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15300:9;15283:35;;15292:6;15283:35;;;15311:6;15283:35;;;;;;:::i;:::-;;;;;;;;15331:46;15351:6;15359:9;15370:6;15331:19;:46::i;:::-;14773:612;14652:733;;;:::o;16404:591::-;16507:1;16488:21;;:7;:21;;;16480:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16560:49;16581:7;16598:1;16602:6;16560:20;:49::i;:::-;16622:22;16647:9;:18;16657:7;16647:18;;;;;;;;;;;;;;;;16622:43;;16702:6;16684:14;:24;;16676:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16821:6;16804:14;:23;16783:9;:18;16793:7;16783:18;;;;;;;;;;;;;;;:44;;;;16865:6;16849:12;;:22;;;;;;;:::i;:::-;;;;;;;;16915:1;16889:37;;16898:7;16889:37;;;16919:6;16889:37;;;;;;:::i;:::-;;;;;;;;16939:48;16959:7;16976:1;16980:6;16939:19;:48::i;:::-;16469:526;16404:591;;:::o;3332:191::-;3406:16;3425:6;;;;;;;;;;;3406:25;;3451:8;3442:6;;:17;;;;;;;;;;;;;;;;;;3506:8;3475:40;;3496:8;3475:40;;;;;;;;;;;;3395:128;3332:191;:::o;19844:440::-;20016:1;19991:27;;:13;;;;;;;;;;;:27;;;19987:148;;20051:7;:5;:7::i;:::-;20043:15;;:4;:15;;;:32;;;;20068:7;:5;:7::i;:::-;20062:13;;:2;:13;;;20043:32;20035:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20117:7;;19987:148;20151:7;;;;;;;;;;;:30;;;;;20168:13;;;;;;;;;;;20162:19;;:2;:19;;;;20151:30;20147:130;;;20238:16;;20228:6;20206:19;20222:2;20206:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;20198:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20147:130;19844:440;;;;:::o;19142:124::-;;;;:::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:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:116::-;5945:21;5960:5;5945:21;:::i;:::-;5938:5;5935:32;5925:60;;5981:1;5978;5971:12;5925:60;5875:116;:::o;5997:133::-;6040:5;6078:6;6065:20;6056:29;;6094:30;6118:5;6094:30;:::i;:::-;5997:133;;;;:::o;6136:613::-;6210:6;6218;6226;6275:2;6263:9;6254:7;6250:23;6246:32;6243:119;;;6281:79;;:::i;:::-;6243:119;6401:1;6426:50;6468:7;6459:6;6448:9;6444:22;6426:50;:::i;:::-;6416:60;;6372:114;6525:2;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6496:118;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6136:613;;;;;:::o;6755:474::-;6823:6;6831;6880:2;6868:9;6859:7;6855:23;6851:32;6848:119;;;6886:79;;:::i;:::-;6848:119;7006:1;7031:53;7076:7;7067:6;7056:9;7052:22;7031:53;:::i;:::-;7021:63;;6977:117;7133:2;7159:53;7204:7;7195:6;7184:9;7180:22;7159:53;:::i;:::-;7149:63;;7104:118;6755:474;;;;;:::o;7235:180::-;7283:77;7280:1;7273:88;7380:4;7377:1;7370:15;7404:4;7401:1;7394:15;7421:320;7465:6;7502:1;7496:4;7492:12;7482:22;;7549:1;7543:4;7539:12;7570:18;7560:81;;7626:4;7618:6;7614:17;7604:27;;7560:81;7688:2;7680:6;7677:14;7657:18;7654:38;7651:84;;7707:18;;:::i;:::-;7651:84;7472:269;7421:320;;;:::o;7747:227::-;7887:34;7883:1;7875:6;7871:14;7864:58;7956:10;7951:2;7943:6;7939:15;7932:35;7747:227;:::o;7980:366::-;8122:3;8143:67;8207:2;8202:3;8143:67;:::i;:::-;8136:74;;8219:93;8308:3;8219:93;:::i;:::-;8337:2;8332:3;8328:12;8321:19;;7980:366;;;:::o;8352:419::-;8518:4;8556:2;8545:9;8541:18;8533:26;;8605:9;8599:4;8595:20;8591:1;8580:9;8576:17;8569:47;8633:131;8759:4;8633:131;:::i;:::-;8625:139;;8352:419;;;:::o;8777:180::-;8825:77;8822:1;8815:88;8922:4;8919:1;8912:15;8946:4;8943:1;8936:15;8963:191;9003:3;9022:20;9040:1;9022:20;:::i;:::-;9017:25;;9056:20;9074:1;9056:20;:::i;:::-;9051:25;;9099:1;9096;9092:9;9085:16;;9120:3;9117:1;9114:10;9111:36;;;9127:18;;:::i;:::-;9111:36;8963:191;;;;:::o;9160:182::-;9300:34;9296:1;9288:6;9284:14;9277:58;9160:182;:::o;9348:366::-;9490:3;9511:67;9575:2;9570:3;9511:67;:::i;:::-;9504:74;;9587:93;9676:3;9587:93;:::i;:::-;9705:2;9700:3;9696:12;9689:19;;9348:366;;;:::o;9720:419::-;9886:4;9924:2;9913:9;9909:18;9901:26;;9973:9;9967:4;9963:20;9959:1;9948:9;9944:17;9937:47;10001:131;10127:4;10001:131;:::i;:::-;9993:139;;9720:419;;;:::o;10145:224::-;10285:34;10281:1;10273:6;10269:14;10262:58;10354:7;10349:2;10341:6;10337:15;10330:32;10145:224;:::o;10375:366::-;10517:3;10538:67;10602:2;10597:3;10538:67;:::i;:::-;10531:74;;10614:93;10703:3;10614:93;:::i;:::-;10732:2;10727:3;10723:12;10716:19;;10375:366;;;:::o;10747:419::-;10913:4;10951:2;10940:9;10936:18;10928:26;;11000:9;10994:4;10990:20;10986:1;10975:9;10971:17;10964:47;11028:131;11154:4;11028:131;:::i;:::-;11020:139;;10747:419;;;:::o;11172:225::-;11312:34;11308:1;11300:6;11296:14;11289:58;11381:8;11376:2;11368:6;11364:15;11357:33;11172:225;:::o;11403:366::-;11545:3;11566:67;11630:2;11625:3;11566:67;:::i;:::-;11559:74;;11642:93;11731:3;11642:93;:::i;:::-;11760:2;11755:3;11751:12;11744:19;;11403:366;;;:::o;11775:419::-;11941:4;11979:2;11968:9;11964:18;11956:26;;12028:9;12022:4;12018:20;12014:1;12003:9;11999:17;11992:47;12056:131;12182:4;12056:131;:::i;:::-;12048:139;;11775:419;;;:::o;12200:223::-;12340:34;12336:1;12328:6;12324:14;12317:58;12409:6;12404:2;12396:6;12392:15;12385:31;12200:223;:::o;12429:366::-;12571:3;12592:67;12656:2;12651:3;12592:67;:::i;:::-;12585:74;;12668:93;12757:3;12668:93;:::i;:::-;12786:2;12781:3;12777:12;12770:19;;12429:366;;;:::o;12801:419::-;12967:4;13005:2;12994:9;12990:18;12982:26;;13054:9;13048:4;13044:20;13040:1;13029:9;13025:17;13018:47;13082:131;13208:4;13082:131;:::i;:::-;13074:139;;12801:419;;;:::o;13226:221::-;13366:34;13362:1;13354:6;13350:14;13343:58;13435:4;13430:2;13422:6;13418:15;13411:29;13226:221;:::o;13453:366::-;13595:3;13616:67;13680:2;13675:3;13616:67;:::i;:::-;13609:74;;13692:93;13781:3;13692:93;:::i;:::-;13810:2;13805:3;13801:12;13794:19;;13453:366;;;:::o;13825:419::-;13991:4;14029:2;14018:9;14014:18;14006:26;;14078:9;14072:4;14068:20;14064:1;14053:9;14049:17;14042:47;14106:131;14232:4;14106:131;:::i;:::-;14098:139;;13825:419;;;:::o;14250:224::-;14390:34;14386:1;14378:6;14374:14;14367:58;14459:7;14454:2;14446:6;14442:15;14435:32;14250:224;:::o;14480:366::-;14622:3;14643:67;14707:2;14702:3;14643:67;:::i;:::-;14636:74;;14719:93;14808:3;14719:93;:::i;:::-;14837:2;14832:3;14828:12;14821:19;;14480:366;;;:::o;14852:419::-;15018:4;15056:2;15045:9;15041:18;15033:26;;15105:9;15099:4;15095:20;15091:1;15080:9;15076:17;15069:47;15133:131;15259:4;15133:131;:::i;:::-;15125:139;;14852:419;;;:::o;15277:222::-;15417:34;15413:1;15405:6;15401:14;15394:58;15486:5;15481:2;15473:6;15469:15;15462:30;15277:222;:::o;15505:366::-;15647:3;15668:67;15732:2;15727:3;15668:67;:::i;:::-;15661:74;;15744:93;15833:3;15744:93;:::i;:::-;15862:2;15857:3;15853:12;15846:19;;15505:366;;;:::o;15877:419::-;16043:4;16081:2;16070:9;16066:18;16058:26;;16130:9;16124:4;16120:20;16116:1;16105:9;16101:17;16094:47;16158:131;16284:4;16158:131;:::i;:::-;16150:139;;15877:419;;;:::o;16302:225::-;16442:34;16438:1;16430:6;16426:14;16419:58;16511:8;16506:2;16498:6;16494:15;16487:33;16302:225;:::o;16533:366::-;16675:3;16696:67;16760:2;16755:3;16696:67;:::i;:::-;16689:74;;16772:93;16861:3;16772:93;:::i;:::-;16890:2;16885:3;16881:12;16874:19;;16533:366;;;:::o;16905:419::-;17071:4;17109:2;17098:9;17094:18;17086:26;;17158:9;17152:4;17148:20;17144:1;17133:9;17129:17;17122:47;17186:131;17312:4;17186:131;:::i;:::-;17178:139;;16905:419;;;:::o;17330:220::-;17470:34;17466:1;17458:6;17454:14;17447:58;17539:3;17534:2;17526:6;17522:15;17515:28;17330:220;:::o;17556:366::-;17698:3;17719:67;17783:2;17778:3;17719:67;:::i;:::-;17712:74;;17795:93;17884:3;17795:93;:::i;:::-;17913:2;17908:3;17904:12;17897:19;;17556:366;;;:::o;17928:419::-;18094:4;18132:2;18121:9;18117:18;18109:26;;18181:9;18175:4;18171:20;18167:1;18156:9;18152:17;18145:47;18209:131;18335:4;18209:131;:::i;:::-;18201:139;;17928:419;;;:::o;18353:221::-;18493:34;18489:1;18481:6;18477:14;18470:58;18562:4;18557:2;18549:6;18545:15;18538:29;18353:221;:::o;18580:366::-;18722:3;18743:67;18807:2;18802:3;18743:67;:::i;:::-;18736:74;;18819:93;18908:3;18819:93;:::i;:::-;18937:2;18932:3;18928:12;18921:19;;18580:366;;;:::o;18952:419::-;19118:4;19156:2;19145:9;19141:18;19133:26;;19205:9;19199:4;19195:20;19191:1;19180:9;19176:17;19169:47;19233:131;19359:4;19233:131;:::i;:::-;19225:139;;18952:419;;;:::o;19377:194::-;19417:4;19437:20;19455:1;19437:20;:::i;:::-;19432:25;;19471:20;19489:1;19471:20;:::i;:::-;19466:25;;19515:1;19512;19508:9;19500:17;;19539:1;19533:4;19530:11;19527:37;;;19544:18;;:::i;:::-;19527:37;19377:194;;;;:::o;19577:172::-;19717:24;19713:1;19705:6;19701:14;19694:48;19577:172;:::o;19755:366::-;19897:3;19918:67;19982:2;19977:3;19918:67;:::i;:::-;19911:74;;19994:93;20083:3;19994:93;:::i;:::-;20112:2;20107:3;20103:12;20096:19;;19755:366;;;:::o;20127:419::-;20293:4;20331:2;20320:9;20316:18;20308:26;;20380:9;20374:4;20370:20;20366:1;20355:9;20351:17;20344:47;20408:131;20534:4;20408:131;:::i;:::-;20400:139;;20127:419;;;:::o;20552:156::-;20692:8;20688:1;20680:6;20676:14;20669:32;20552:156;:::o;20714:365::-;20856:3;20877:66;20941:1;20936:3;20877:66;:::i;:::-;20870:73;;20952:93;21041:3;20952:93;:::i;:::-;21070:2;21065:3;21061:12;21054:19;;20714:365;;;:::o;21085:419::-;21251:4;21289:2;21278:9;21274:18;21266:26;;21338:9;21332:4;21328:20;21324:1;21313:9;21309:17;21302:47;21366:131;21492:4;21366:131;:::i;:::-;21358:139;;21085:419;;;:::o
Swarm Source
ipfs://5ddc3be6090ae1ad55d684fec6470bba7cc4d59c6360133423df571981b83e0f
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.