Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 459 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20288511 | 16 days ago | IN | 0 ETH | 0.00009996 | ||||
Transfer | 20166252 | 33 days ago | IN | 0 ETH | 0.00015432 | ||||
Transfer | 20133444 | 38 days ago | IN | 0 ETH | 0.00039291 | ||||
Approve | 20118495 | 40 days ago | IN | 0 ETH | 0.0003548 | ||||
Approve | 20055684 | 49 days ago | IN | 0 ETH | 0.00037867 | ||||
Approve | 20053574 | 49 days ago | IN | 0 ETH | 0.00017212 | ||||
Approve | 19891137 | 72 days ago | IN | 0 ETH | 0.00030703 | ||||
Approve | 19797395 | 85 days ago | IN | 0 ETH | 0.00029584 | ||||
Approve | 19796972 | 85 days ago | IN | 0 ETH | 0.00040062 | ||||
Transfer | 19741912 | 93 days ago | IN | 0 ETH | 0.00036449 | ||||
Approve | 19699585 | 98 days ago | IN | 0 ETH | 0.00031295 | ||||
Transfer | 19609413 | 111 days ago | IN | 0 ETH | 0.00061102 | ||||
Approve | 19597497 | 113 days ago | IN | 0 ETH | 0.00084932 | ||||
Approve | 19555017 | 119 days ago | IN | 0 ETH | 0.00107356 | ||||
Approve | 19511168 | 125 days ago | IN | 0 ETH | 0.00101985 | ||||
Approve | 19482390 | 129 days ago | IN | 0 ETH | 0.00173704 | ||||
Approve | 19474595 | 130 days ago | IN | 0 ETH | 0.00159226 | ||||
Transfer | 19472402 | 130 days ago | IN | 0 ETH | 0.00153953 | ||||
Redeem | 19173966 | 172 days ago | IN | 0 ETH | 0.00100017 | ||||
Mint To | 19158937 | 174 days ago | IN | 0 ETH | 0.00042705 | ||||
Mint To | 19158819 | 174 days ago | IN | 0 ETH | 0.00047636 | ||||
Approve | 19158518 | 174 days ago | IN | 0 ETH | 0.00058798 | ||||
Mint To | 19158514 | 174 days ago | IN | 0 ETH | 0.00072008 | ||||
Approve | 19158418 | 174 days ago | IN | 0 ETH | 0.00057786 | ||||
Mint To | 19158413 | 174 days ago | IN | 0 ETH | 0.00065421 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
WGRLC
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-08 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; interface IBEP20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8); /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the token name. */ function name() external view returns (string memory); /** * @dev Returns the bep token owner. */ function getOwner() external view returns (address); /** * @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); } pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of ERC20 applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract BEP20 is IBEP20 { mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; address private _owner; /** * @dev Sets the values for {name} and {symbol}. * * The defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor (string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; _owner = msg.sender; } function setOwner(address newOwner) public virtual { require(msg.sender == getOwner(), "Not owner"); _owner = newOwner; } function getOwner() public view virtual override returns (address) { return _owner; } /** * @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 8; } /** * @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(msg.sender, 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(msg.sender, 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][msg.sender]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, msg.sender, 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(msg.sender, spender, _allowances[msg.sender][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[msg.sender][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(msg.sender, spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); _balances[account] = accountBalance - amount; _totalSupply -= amount; emit Transfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be to transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } } pragma solidity 0.8.6; abstract contract Burnable is BEP20 { event Redeem(uint256 amount, string grlcAddress); /** * @dev Redeem ERC20 into GRLC */ function redeem(uint256 amount, string memory grlcAddress) public virtual { _burn(msg.sender, amount); emit Redeem(amount, grlcAddress); } /** * @dev Destroys `amount` tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 amount) public virtual { _burn(msg.sender, amount); } /** * @dev Destroys `amount` 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 * `amount`. */ function burnFrom(address account, uint256 amount) public virtual { uint256 currentAllowance = allowance(account, msg.sender); require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance"); _approve(account, msg.sender, currentAllowance - amount); _burn(account, amount); } } pragma solidity ^0.8.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } pragma solidity ^0.8.0; /** * @dev String operations. */ library Strings { bytes16 private constant alphabet = "0123456789abcdef"; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. */ function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. */ function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = alphabet[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } } pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC165} interface. * * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check * for the additional interface id that will be supported. For example: * * ```solidity * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); * } * ``` * * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation. */ abstract contract ERC165 is IERC165 { /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } } /** * @dev External interface of AccessControl declared to support ERC165 detection. */ interface IAccessControl { function hasRole(bytes32 role, address account) external view returns (bool); function getRoleAdmin(bytes32 role) external view returns (bytes32); function grantRole(bytes32 role, address account) external; function revokeRole(bytes32 role, address account) external; function renounceRole(bytes32 role, address account) external; } /** * @dev Contract module that allows children to implement role-based access * control mechanisms. This is a lightweight version that doesn't allow enumerating role * members except through off-chain means by accessing the contract event logs. Some * applications may benefit from on-chain enumerability, for those cases see * {AccessControlEnumerable}. * * Roles are referred to by their `bytes32` identifier. These should be exposed * in the external API and be unique. The best way to achieve this is by * using `public constant` hash digests: * * ``` * bytes32 public constant MY_ROLE = keccak256("MY_ROLE"); * ``` * * Roles can be used to represent a set of permissions. To restrict access to a * function call, use {hasRole}: * * ``` * function foo() public { * require(hasRole(MY_ROLE, msg.sender)); * ... * } * ``` * * Roles can be granted and revoked dynamically via the {grantRole} and * {revokeRole} functions. Each role has an associated admin role, and only * accounts that have a role's admin role can call {grantRole} and {revokeRole}. * * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means * that only accounts with this role will be able to grant or revoke other * roles. More complex role relationships can be created by using * {_setRoleAdmin}. * * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to * grant and revoke this role. Extra precautions should be taken to secure * accounts that have been granted it. */ abstract contract AccessControl is Context, IAccessControl, ERC165 { struct RoleData { mapping (address => bool) members; bytes32 adminRole; } mapping (bytes32 => RoleData) private _roles; bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00; /** * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` * * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite * {RoleAdminChanged} not being emitted signaling this. * * _Available since v3.1._ */ event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole); /** * @dev Emitted when `account` is granted `role`. * * `sender` is the account that originated the contract call, an admin role * bearer except when using {_setupRole}. */ event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender); /** * @dev Emitted when `account` is revoked `role`. * * `sender` is the account that originated the contract call: * - if using `revokeRole`, it is the admin role bearer * - if using `renounceRole`, it is the role bearer (i.e. `account`) */ event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender); /** * @dev Modifier that checks that an account has a specific role. Reverts * with a standardized message including the required role. * * The format of the revert reason is given by the following regular expression: * * /^AccessControl: account (0x[0-9a-f]{20}) is missing role (0x[0-9a-f]{32})$/ * * _Available since v4.1._ */ modifier onlyRole(bytes32 role) { _checkRole(role, _msgSender()); _; } /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId); } /** * @dev Returns `true` if `account` has been granted `role`. */ function hasRole(bytes32 role, address account) public view override returns (bool) { return _roles[role].members[account]; } /** * @dev Revert with a standard message if `account` is missing `role`. * * The format of the revert reason is given by the following regular expression: * * /^AccessControl: account (0x[0-9a-f]{20}) is missing role (0x[0-9a-f]{32})$/ */ function _checkRole(bytes32 role, address account) internal view { if(!hasRole(role, account)) { revert(string(abi.encodePacked( "AccessControl: account ", Strings.toHexString(uint160(account), 20), " is missing role ", Strings.toHexString(uint256(role), 32) ))); } } /** * @dev Returns the admin role that controls `role`. See {grantRole} and * {revokeRole}. * * To change a role's admin, use {_setRoleAdmin}. */ function getRoleAdmin(bytes32 role) public view override returns (bytes32) { return _roles[role].adminRole; } /** * @dev Grants `role` to `account`. * * If `account` had not been already granted `role`, emits a {RoleGranted} * event. * * Requirements: * * - the caller must have ``role``'s admin role. */ function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { _grantRole(role, account); } /** * @dev Revokes `role` from `account`. * * If `account` had been granted `role`, emits a {RoleRevoked} event. * * Requirements: * * - the caller must have ``role``'s admin role. */ function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { _revokeRole(role, account); } /** * @dev Revokes `role` from the calling account. * * Roles are often managed via {grantRole} and {revokeRole}: this function's * purpose is to provide a mechanism for accounts to lose their privileges * if they are compromised (such as when a trusted device is misplaced). * * If the calling account had been granted `role`, emits a {RoleRevoked} * event. * * Requirements: * * - the caller must be `account`. */ function renounceRole(bytes32 role, address account) public virtual override { require(account == _msgSender(), "AccessControl: can only renounce roles for self"); _revokeRole(role, account); } /** * @dev Grants `role` to `account`. * * If `account` had not been already granted `role`, emits a {RoleGranted} * event. Note that unlike {grantRole}, this function doesn't perform any * checks on the calling account. * * [WARNING] * ==== * This function should only be called from the constructor when setting * up the initial roles for the system. * * Using this function in any other way is effectively circumventing the admin * system imposed by {AccessControl}. * ==== */ function _setupRole(bytes32 role, address account) internal virtual { _grantRole(role, account); } /** * @dev Sets `adminRole` as ``role``'s admin role. * * Emits a {RoleAdminChanged} event. */ function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual { emit RoleAdminChanged(role, getRoleAdmin(role), adminRole); _roles[role].adminRole = adminRole; } function _grantRole(bytes32 role, address account) private { if (!hasRole(role, account)) { _roles[role].members[account] = true; emit RoleGranted(role, account, _msgSender()); } } function _revokeRole(bytes32 role, address account) private { if (hasRole(role, account)) { _roles[role].members[account] = false; emit RoleRevoked(role, account, _msgSender()); } } } pragma solidity ^0.8.4; contract WGRLC is Burnable, AccessControl { bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); constructor(string memory name, string memory symbol) BEP20(name, symbol) { _setupRole(MINTER_ROLE, msg.sender); _setupRole(DEFAULT_ADMIN_ROLE, msg.sender); } function mint(uint256 amount) public virtual { require(hasRole(MINTER_ROLE, msg.sender), "Caller is not a minter"); _mint(msg.sender, amount); } function mintTo(address account, uint256 amount) public virtual { require(hasRole(MINTER_ROLE, msg.sender), "Caller is not a minter"); _mint(account, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"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":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"grlcAddress","type":"string"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","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":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"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":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"grlcAddress","type":"string"}],"name":"redeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200323a3803806200323a8339818101604052810190620000379190620003a6565b818181600390805190602001906200005192919062000278565b5080600490805190602001906200006a92919062000278565b5033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620000e07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620000fd60201b60201c565b620000f56000801b33620000fd60201b60201c565b5050620005af565b6200010f82826200011360201b60201c565b5050565b6200012582826200020560201b60201c565b620002015760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001a66200027060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b8280546200028690620004c0565b90600052602060002090601f016020900481019282620002aa5760008555620002f6565b82601f10620002c557805160ff1916838001178555620002f6565b82800160010185558215620002f6579182015b82811115620002f5578251825591602001919060010190620002d8565b5b50905062000305919062000309565b5090565b5b80821115620003245760008160009055506001016200030a565b5090565b60006200033f620003398462000454565b6200042b565b9050828152602081018484840111156200035e576200035d6200058f565b5b6200036b8482856200048a565b509392505050565b600082601f8301126200038b576200038a6200058a565b5b81516200039d84826020860162000328565b91505092915050565b60008060408385031215620003c057620003bf62000599565b5b600083015167ffffffffffffffff811115620003e157620003e062000594565b5b620003ef8582860162000373565b925050602083015167ffffffffffffffff81111562000413576200041262000594565b5b620004218582860162000373565b9150509250929050565b6000620004376200044a565b9050620004458282620004f6565b919050565b6000604051905090565b600067ffffffffffffffff8211156200047257620004716200055b565b5b6200047d826200059e565b9050602081019050919050565b60005b83811015620004aa5780820151818401526020810190506200048d565b83811115620004ba576000848401525b50505050565b60006002820490506001821680620004d957607f821691505b60208210811415620004f057620004ef6200052c565b5b50919050565b62000501826200059e565b810181811067ffffffffffffffff821117156200052357620005226200055b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b612c7b80620005bf6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063449a52f8116100de578063a0712d6811610097578063a9059cbb11610071578063a9059cbb146104a7578063d5391393146104d7578063d547741f146104f5578063dd62ed3e146105115761018e565b8063a0712d681461043d578063a217fddf14610459578063a457c2d7146104775761018e565b8063449a52f81461036957806370a082311461038557806379cc6790146103b5578063893d20e8146103d157806391d14854146103ef57806395d89b411461041f5761018e565b8063248a9ca31161014b578063313ce56711610125578063313ce567146102e357806336568abe14610301578063395093511461031d57806342966c681461034d5761018e565b8063248a9ca31461027b57806324b76fd5146102ab5780632f2ff15d146102c75761018e565b806301ffc9a71461019357806306fdde03146101c3578063095ea7b3146101e157806313af40351461021157806318160ddd1461022d57806323b872dd1461024b575b600080fd5b6101ad60048036038101906101a89190611d41565b610541565b6040516101ba9190612154565b60405180910390f35b6101cb6105bb565b6040516101d8919061218a565b60405180910390f35b6101fb60048036038101906101f69190611c94565b61064d565b6040516102089190612154565b60405180910390f35b61022b60048036038101906102269190611bd4565b610664565b005b61023561071d565b604051610242919061238c565b60405180910390f35b61026560048036038101906102609190611c41565b610727565b6040516102729190612154565b60405180910390f35b61029560048036038101906102909190611cd4565b61081a565b6040516102a2919061216f565b60405180910390f35b6102c560048036038101906102c09190611d9b565b61083a565b005b6102e160048036038101906102dc9190611d01565b610881565b005b6102eb6108aa565b6040516102f891906123d7565b60405180910390f35b61031b60048036038101906103169190611d01565b6108b3565b005b61033760048036038101906103329190611c94565b610936565b6040516103449190612154565b60405180910390f35b61036760048036038101906103629190611d6e565b6109d4565b005b610383600480360381019061037e9190611c94565b6109e1565b005b61039f600480360381019061039a9190611bd4565b610a58565b6040516103ac919061238c565b60405180910390f35b6103cf60048036038101906103ca9190611c94565b610aa0565b005b6103d9610b16565b6040516103e69190612139565b60405180910390f35b61040960048036038101906104049190611d01565b610b40565b6040516104169190612154565b60405180910390f35b610427610bab565b604051610434919061218a565b60405180910390f35b61045760048036038101906104529190611d6e565b610c3d565b005b610461610cb3565b60405161046e919061216f565b60405180910390f35b610491600480360381019061048c9190611c94565b610cba565b60405161049e9190612154565b60405180910390f35b6104c160048036038101906104bc9190611c94565b610da0565b6040516104ce9190612154565b60405180910390f35b6104df610db7565b6040516104ec919061216f565b60405180910390f35b61050f600480360381019061050a9190611d01565b610ddb565b005b61052b60048036038101906105269190611c01565b610e04565b604051610538919061238c565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105b457506105b382610e8b565b5b9050919050565b6060600380546105ca9061264a565b80601f01602080910402602001604051908101604052809291908181526020018280546105f69061264a565b80156106435780601f1061061857610100808354040283529160200191610643565b820191906000526020600020905b81548152906001019060200180831161062657829003601f168201915b5050505050905090565b600061065a338484610ef5565b6001905092915050565b61066c610b16565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d0906122ec565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600254905090565b60006107348484846110c0565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ef9061226c565b60405180910390fd5b61080e85338584610809919061251f565b610ef5565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b610844338361133f565b7fac53371cabea58bb8c918011b7e04223661aa0bdec79d7b68cd770ecc856aa6782826040516108759291906123a7565b60405180910390a15050565b61088a8261081a565b61089b81610896611513565b61151b565b6108a583836115b8565b505050565b60006008905090565b6108bb611513565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f9061234c565b60405180910390fd5b6109328282611699565b5050565b60006109ca338484600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c5919061246f565b610ef5565b6001905092915050565b6109de338261133f565b50565b610a0b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610b40565b610a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a419061224c565b60405180910390fd5b610a54828261177b565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610aac8333610e04565b905081811015610af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae89061228c565b60405180910390fd5b610b0783338484610b02919061251f565b610ef5565b610b11838361133f565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610bba9061264a565b80601f0160208091040260200160405190810160405280929190818152602001828054610be69061264a565b8015610c335780601f10610c0857610100808354040283529160200191610c33565b820191906000526020600020905b815481529060010190602001808311610c1657829003601f168201915b5050505050905090565b610c677f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610b40565b610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d9061224c565b60405180910390fd5b610cb0338261177b565b50565b6000801b81565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d769061232c565b60405180910390fd5b610d9533858584610d90919061251f565b610ef5565b600191505092915050565b6000610dad3384846110c0565b6001905092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610de48261081a565b610df581610df0611513565b61151b565b610dff8383611699565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c9061230c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc9061220c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110b3919061238c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611130576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611127906122cc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611197906121cc565b60405180910390fd5b6111ab8383836118cf565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611231576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112289061222c565b60405180910390fd5b818161123d919061251f565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112cd919061246f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611331919061238c565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a6906122ac565b60405180910390fd5b6113bb826000836118cf565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611441576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611438906121ec565b60405180910390fd5b818161144d919061251f565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546114a1919061251f565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611506919061238c565b60405180910390a3505050565b600033905090565b6115258282610b40565b6115b45761154a8173ffffffffffffffffffffffffffffffffffffffff1660146118d4565b6115588360001c60206118d4565b6040516020016115699291906120ff565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab919061218a565b60405180910390fd5b5050565b6115c28282610b40565b6116955760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061163a611513565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6116a38282610b40565b156117775760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061171c611513565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e29061236c565b60405180910390fd5b6117f7600083836118cf565b8060026000828254611809919061246f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461185e919061246f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118c3919061238c565b60405180910390a35050565b505050565b6060600060028360026118e791906124c5565b6118f1919061246f565b67ffffffffffffffff81111561190a5761190961273a565b5b6040519080825280601f01601f19166020018201604052801561193c5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106119745761197361270b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106119d8576119d761270b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611a1891906124c5565b611a22919061246f565b90505b6001811115611ac2577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611a6457611a6361270b565b5b1a60f81b828281518110611a7b57611a7a61270b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611abb90612620565b9050611a25565b5060008414611b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afd906121ac565b60405180910390fd5b8091505092915050565b6000611b23611b1e84612417565b6123f2565b905082815260208101848484011115611b3f57611b3e61276e565b5b611b4a8482856125de565b509392505050565b600081359050611b6181612be9565b92915050565b600081359050611b7681612c00565b92915050565b600081359050611b8b81612c17565b92915050565b600082601f830112611ba657611ba5612769565b5b8135611bb6848260208601611b10565b91505092915050565b600081359050611bce81612c2e565b92915050565b600060208284031215611bea57611be9612778565b5b6000611bf884828501611b52565b91505092915050565b60008060408385031215611c1857611c17612778565b5b6000611c2685828601611b52565b9250506020611c3785828601611b52565b9150509250929050565b600080600060608486031215611c5a57611c59612778565b5b6000611c6886828701611b52565b9350506020611c7986828701611b52565b9250506040611c8a86828701611bbf565b9150509250925092565b60008060408385031215611cab57611caa612778565b5b6000611cb985828601611b52565b9250506020611cca85828601611bbf565b9150509250929050565b600060208284031215611cea57611ce9612778565b5b6000611cf884828501611b67565b91505092915050565b60008060408385031215611d1857611d17612778565b5b6000611d2685828601611b67565b9250506020611d3785828601611b52565b9150509250929050565b600060208284031215611d5757611d56612778565b5b6000611d6584828501611b7c565b91505092915050565b600060208284031215611d8457611d83612778565b5b6000611d9284828501611bbf565b91505092915050565b60008060408385031215611db257611db1612778565b5b6000611dc085828601611bbf565b925050602083013567ffffffffffffffff811115611de157611de0612773565b5b611ded85828601611b91565b9150509250929050565b611e0081612553565b82525050565b611e0f81612565565b82525050565b611e1e81612571565b82525050565b6000611e2f82612448565b611e398185612453565b9350611e498185602086016125ed565b611e528161277d565b840191505092915050565b6000611e6882612448565b611e728185612464565b9350611e828185602086016125ed565b80840191505092915050565b6000611e9b602083612453565b9150611ea68261278e565b602082019050919050565b6000611ebe602383612453565b9150611ec9826127b7565b604082019050919050565b6000611ee1602283612453565b9150611eec82612806565b604082019050919050565b6000611f04602283612453565b9150611f0f82612855565b604082019050919050565b6000611f27602683612453565b9150611f32826128a4565b604082019050919050565b6000611f4a601683612453565b9150611f55826128f3565b602082019050919050565b6000611f6d602883612453565b9150611f788261291c565b604082019050919050565b6000611f90602483612453565b9150611f9b8261296b565b604082019050919050565b6000611fb3602183612453565b9150611fbe826129ba565b604082019050919050565b6000611fd6602583612453565b9150611fe182612a09565b604082019050919050565b6000611ff9600983612453565b915061200482612a58565b602082019050919050565b600061201c602483612453565b915061202782612a81565b604082019050919050565b600061203f601783612464565b915061204a82612ad0565b601782019050919050565b6000612062602583612453565b915061206d82612af9565b604082019050919050565b6000612085601183612464565b915061209082612b48565b601182019050919050565b60006120a8602f83612453565b91506120b382612b71565b604082019050919050565b60006120cb601f83612453565b91506120d682612bc0565b602082019050919050565b6120ea816125c7565b82525050565b6120f9816125d1565b82525050565b600061210a82612032565b91506121168285611e5d565b915061212182612078565b915061212d8284611e5d565b91508190509392505050565b600060208201905061214e6000830184611df7565b92915050565b60006020820190506121696000830184611e06565b92915050565b60006020820190506121846000830184611e15565b92915050565b600060208201905081810360008301526121a48184611e24565b905092915050565b600060208201905081810360008301526121c581611e8e565b9050919050565b600060208201905081810360008301526121e581611eb1565b9050919050565b6000602082019050818103600083015261220581611ed4565b9050919050565b6000602082019050818103600083015261222581611ef7565b9050919050565b6000602082019050818103600083015261224581611f1a565b9050919050565b6000602082019050818103600083015261226581611f3d565b9050919050565b6000602082019050818103600083015261228581611f60565b9050919050565b600060208201905081810360008301526122a581611f83565b9050919050565b600060208201905081810360008301526122c581611fa6565b9050919050565b600060208201905081810360008301526122e581611fc9565b9050919050565b6000602082019050818103600083015261230581611fec565b9050919050565b600060208201905081810360008301526123258161200f565b9050919050565b6000602082019050818103600083015261234581612055565b9050919050565b600060208201905081810360008301526123658161209b565b9050919050565b60006020820190508181036000830152612385816120be565b9050919050565b60006020820190506123a160008301846120e1565b92915050565b60006040820190506123bc60008301856120e1565b81810360208301526123ce8184611e24565b90509392505050565b60006020820190506123ec60008301846120f0565b92915050565b60006123fc61240d565b9050612408828261267c565b919050565b6000604051905090565b600067ffffffffffffffff8211156124325761243161273a565b5b61243b8261277d565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600061247a826125c7565b9150612485836125c7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124ba576124b96126ad565b5b828201905092915050565b60006124d0826125c7565b91506124db836125c7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612514576125136126ad565b5b828202905092915050565b600061252a826125c7565b9150612535836125c7565b925082821015612548576125476126ad565b5b828203905092915050565b600061255e826125a7565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561260b5780820151818401526020810190506125f0565b8381111561261a576000848401525b50505050565b600061262b826125c7565b9150600082141561263f5761263e6126ad565b5b600182039050919050565b6000600282049050600182168061266257607f821691505b60208210811415612676576126756126dc565b5b50919050565b6126858261277d565b810181811067ffffffffffffffff821117156126a4576126a361273a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f742061206d696e74657200000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b612bf281612553565b8114612bfd57600080fd5b50565b612c0981612571565b8114612c1457600080fd5b50565b612c208161257b565b8114612c2b57600080fd5b50565b612c37816125c7565b8114612c4257600080fd5b5056fea26469706673582212206a9a4994dd9fb6735642e3abae1e38bef889614dcb1bbd64aaf1762cc42fa02564736f6c6343000806003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000c577261707065642047524c43000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055747524c43000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063449a52f8116100de578063a0712d6811610097578063a9059cbb11610071578063a9059cbb146104a7578063d5391393146104d7578063d547741f146104f5578063dd62ed3e146105115761018e565b8063a0712d681461043d578063a217fddf14610459578063a457c2d7146104775761018e565b8063449a52f81461036957806370a082311461038557806379cc6790146103b5578063893d20e8146103d157806391d14854146103ef57806395d89b411461041f5761018e565b8063248a9ca31161014b578063313ce56711610125578063313ce567146102e357806336568abe14610301578063395093511461031d57806342966c681461034d5761018e565b8063248a9ca31461027b57806324b76fd5146102ab5780632f2ff15d146102c75761018e565b806301ffc9a71461019357806306fdde03146101c3578063095ea7b3146101e157806313af40351461021157806318160ddd1461022d57806323b872dd1461024b575b600080fd5b6101ad60048036038101906101a89190611d41565b610541565b6040516101ba9190612154565b60405180910390f35b6101cb6105bb565b6040516101d8919061218a565b60405180910390f35b6101fb60048036038101906101f69190611c94565b61064d565b6040516102089190612154565b60405180910390f35b61022b60048036038101906102269190611bd4565b610664565b005b61023561071d565b604051610242919061238c565b60405180910390f35b61026560048036038101906102609190611c41565b610727565b6040516102729190612154565b60405180910390f35b61029560048036038101906102909190611cd4565b61081a565b6040516102a2919061216f565b60405180910390f35b6102c560048036038101906102c09190611d9b565b61083a565b005b6102e160048036038101906102dc9190611d01565b610881565b005b6102eb6108aa565b6040516102f891906123d7565b60405180910390f35b61031b60048036038101906103169190611d01565b6108b3565b005b61033760048036038101906103329190611c94565b610936565b6040516103449190612154565b60405180910390f35b61036760048036038101906103629190611d6e565b6109d4565b005b610383600480360381019061037e9190611c94565b6109e1565b005b61039f600480360381019061039a9190611bd4565b610a58565b6040516103ac919061238c565b60405180910390f35b6103cf60048036038101906103ca9190611c94565b610aa0565b005b6103d9610b16565b6040516103e69190612139565b60405180910390f35b61040960048036038101906104049190611d01565b610b40565b6040516104169190612154565b60405180910390f35b610427610bab565b604051610434919061218a565b60405180910390f35b61045760048036038101906104529190611d6e565b610c3d565b005b610461610cb3565b60405161046e919061216f565b60405180910390f35b610491600480360381019061048c9190611c94565b610cba565b60405161049e9190612154565b60405180910390f35b6104c160048036038101906104bc9190611c94565b610da0565b6040516104ce9190612154565b60405180910390f35b6104df610db7565b6040516104ec919061216f565b60405180910390f35b61050f600480360381019061050a9190611d01565b610ddb565b005b61052b60048036038101906105269190611c01565b610e04565b604051610538919061238c565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105b457506105b382610e8b565b5b9050919050565b6060600380546105ca9061264a565b80601f01602080910402602001604051908101604052809291908181526020018280546105f69061264a565b80156106435780601f1061061857610100808354040283529160200191610643565b820191906000526020600020905b81548152906001019060200180831161062657829003601f168201915b5050505050905090565b600061065a338484610ef5565b6001905092915050565b61066c610b16565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d0906122ec565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600254905090565b60006107348484846110c0565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ef9061226c565b60405180910390fd5b61080e85338584610809919061251f565b610ef5565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b610844338361133f565b7fac53371cabea58bb8c918011b7e04223661aa0bdec79d7b68cd770ecc856aa6782826040516108759291906123a7565b60405180910390a15050565b61088a8261081a565b61089b81610896611513565b61151b565b6108a583836115b8565b505050565b60006008905090565b6108bb611513565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f9061234c565b60405180910390fd5b6109328282611699565b5050565b60006109ca338484600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c5919061246f565b610ef5565b6001905092915050565b6109de338261133f565b50565b610a0b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610b40565b610a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a419061224c565b60405180910390fd5b610a54828261177b565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610aac8333610e04565b905081811015610af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae89061228c565b60405180910390fd5b610b0783338484610b02919061251f565b610ef5565b610b11838361133f565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610bba9061264a565b80601f0160208091040260200160405190810160405280929190818152602001828054610be69061264a565b8015610c335780601f10610c0857610100808354040283529160200191610c33565b820191906000526020600020905b815481529060010190602001808311610c1657829003601f168201915b5050505050905090565b610c677f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610b40565b610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d9061224c565b60405180910390fd5b610cb0338261177b565b50565b6000801b81565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d769061232c565b60405180910390fd5b610d9533858584610d90919061251f565b610ef5565b600191505092915050565b6000610dad3384846110c0565b6001905092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610de48261081a565b610df581610df0611513565b61151b565b610dff8383611699565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c9061230c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc9061220c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110b3919061238c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611130576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611127906122cc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611197906121cc565b60405180910390fd5b6111ab8383836118cf565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611231576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112289061222c565b60405180910390fd5b818161123d919061251f565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112cd919061246f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611331919061238c565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a6906122ac565b60405180910390fd5b6113bb826000836118cf565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611441576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611438906121ec565b60405180910390fd5b818161144d919061251f565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546114a1919061251f565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611506919061238c565b60405180910390a3505050565b600033905090565b6115258282610b40565b6115b45761154a8173ffffffffffffffffffffffffffffffffffffffff1660146118d4565b6115588360001c60206118d4565b6040516020016115699291906120ff565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab919061218a565b60405180910390fd5b5050565b6115c28282610b40565b6116955760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061163a611513565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6116a38282610b40565b156117775760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061171c611513565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e29061236c565b60405180910390fd5b6117f7600083836118cf565b8060026000828254611809919061246f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461185e919061246f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118c3919061238c565b60405180910390a35050565b505050565b6060600060028360026118e791906124c5565b6118f1919061246f565b67ffffffffffffffff81111561190a5761190961273a565b5b6040519080825280601f01601f19166020018201604052801561193c5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106119745761197361270b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106119d8576119d761270b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611a1891906124c5565b611a22919061246f565b90505b6001811115611ac2577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611a6457611a6361270b565b5b1a60f81b828281518110611a7b57611a7a61270b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611abb90612620565b9050611a25565b5060008414611b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afd906121ac565b60405180910390fd5b8091505092915050565b6000611b23611b1e84612417565b6123f2565b905082815260208101848484011115611b3f57611b3e61276e565b5b611b4a8482856125de565b509392505050565b600081359050611b6181612be9565b92915050565b600081359050611b7681612c00565b92915050565b600081359050611b8b81612c17565b92915050565b600082601f830112611ba657611ba5612769565b5b8135611bb6848260208601611b10565b91505092915050565b600081359050611bce81612c2e565b92915050565b600060208284031215611bea57611be9612778565b5b6000611bf884828501611b52565b91505092915050565b60008060408385031215611c1857611c17612778565b5b6000611c2685828601611b52565b9250506020611c3785828601611b52565b9150509250929050565b600080600060608486031215611c5a57611c59612778565b5b6000611c6886828701611b52565b9350506020611c7986828701611b52565b9250506040611c8a86828701611bbf565b9150509250925092565b60008060408385031215611cab57611caa612778565b5b6000611cb985828601611b52565b9250506020611cca85828601611bbf565b9150509250929050565b600060208284031215611cea57611ce9612778565b5b6000611cf884828501611b67565b91505092915050565b60008060408385031215611d1857611d17612778565b5b6000611d2685828601611b67565b9250506020611d3785828601611b52565b9150509250929050565b600060208284031215611d5757611d56612778565b5b6000611d6584828501611b7c565b91505092915050565b600060208284031215611d8457611d83612778565b5b6000611d9284828501611bbf565b91505092915050565b60008060408385031215611db257611db1612778565b5b6000611dc085828601611bbf565b925050602083013567ffffffffffffffff811115611de157611de0612773565b5b611ded85828601611b91565b9150509250929050565b611e0081612553565b82525050565b611e0f81612565565b82525050565b611e1e81612571565b82525050565b6000611e2f82612448565b611e398185612453565b9350611e498185602086016125ed565b611e528161277d565b840191505092915050565b6000611e6882612448565b611e728185612464565b9350611e828185602086016125ed565b80840191505092915050565b6000611e9b602083612453565b9150611ea68261278e565b602082019050919050565b6000611ebe602383612453565b9150611ec9826127b7565b604082019050919050565b6000611ee1602283612453565b9150611eec82612806565b604082019050919050565b6000611f04602283612453565b9150611f0f82612855565b604082019050919050565b6000611f27602683612453565b9150611f32826128a4565b604082019050919050565b6000611f4a601683612453565b9150611f55826128f3565b602082019050919050565b6000611f6d602883612453565b9150611f788261291c565b604082019050919050565b6000611f90602483612453565b9150611f9b8261296b565b604082019050919050565b6000611fb3602183612453565b9150611fbe826129ba565b604082019050919050565b6000611fd6602583612453565b9150611fe182612a09565b604082019050919050565b6000611ff9600983612453565b915061200482612a58565b602082019050919050565b600061201c602483612453565b915061202782612a81565b604082019050919050565b600061203f601783612464565b915061204a82612ad0565b601782019050919050565b6000612062602583612453565b915061206d82612af9565b604082019050919050565b6000612085601183612464565b915061209082612b48565b601182019050919050565b60006120a8602f83612453565b91506120b382612b71565b604082019050919050565b60006120cb601f83612453565b91506120d682612bc0565b602082019050919050565b6120ea816125c7565b82525050565b6120f9816125d1565b82525050565b600061210a82612032565b91506121168285611e5d565b915061212182612078565b915061212d8284611e5d565b91508190509392505050565b600060208201905061214e6000830184611df7565b92915050565b60006020820190506121696000830184611e06565b92915050565b60006020820190506121846000830184611e15565b92915050565b600060208201905081810360008301526121a48184611e24565b905092915050565b600060208201905081810360008301526121c581611e8e565b9050919050565b600060208201905081810360008301526121e581611eb1565b9050919050565b6000602082019050818103600083015261220581611ed4565b9050919050565b6000602082019050818103600083015261222581611ef7565b9050919050565b6000602082019050818103600083015261224581611f1a565b9050919050565b6000602082019050818103600083015261226581611f3d565b9050919050565b6000602082019050818103600083015261228581611f60565b9050919050565b600060208201905081810360008301526122a581611f83565b9050919050565b600060208201905081810360008301526122c581611fa6565b9050919050565b600060208201905081810360008301526122e581611fc9565b9050919050565b6000602082019050818103600083015261230581611fec565b9050919050565b600060208201905081810360008301526123258161200f565b9050919050565b6000602082019050818103600083015261234581612055565b9050919050565b600060208201905081810360008301526123658161209b565b9050919050565b60006020820190508181036000830152612385816120be565b9050919050565b60006020820190506123a160008301846120e1565b92915050565b60006040820190506123bc60008301856120e1565b81810360208301526123ce8184611e24565b90509392505050565b60006020820190506123ec60008301846120f0565b92915050565b60006123fc61240d565b9050612408828261267c565b919050565b6000604051905090565b600067ffffffffffffffff8211156124325761243161273a565b5b61243b8261277d565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600061247a826125c7565b9150612485836125c7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124ba576124b96126ad565b5b828201905092915050565b60006124d0826125c7565b91506124db836125c7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612514576125136126ad565b5b828202905092915050565b600061252a826125c7565b9150612535836125c7565b925082821015612548576125476126ad565b5b828203905092915050565b600061255e826125a7565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561260b5780820151818401526020810190506125f0565b8381111561261a576000848401525b50505050565b600061262b826125c7565b9150600082141561263f5761263e6126ad565b5b600182039050919050565b6000600282049050600182168061266257607f821691505b60208210811415612676576126756126dc565b5b50919050565b6126858261277d565b810181811067ffffffffffffffff821117156126a4576126a361273a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f742061206d696e74657200000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b612bf281612553565b8114612bfd57600080fd5b50565b612c0981612571565b8114612c1457600080fd5b50565b612c208161257b565b8114612c2b57600080fd5b50565b612c37816125c7565b8114612c4257600080fd5b5056fea26469706673582212206a9a4994dd9fb6735642e3abae1e38bef889614dcb1bbd64aaf1762cc42fa02564736f6c63430008060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000c577261707065642047524c43000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055747524c43000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): Wrapped GRLC
Arg [1] : symbol (string): WGRLC
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [3] : 577261707065642047524c430000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 5747524c43000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
28520:674:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24027:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5469:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7633:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5148:144;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6588:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8282:418;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25338:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14407:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25723:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6431:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26771:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9109:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14684:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;29006:183;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6759:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15092:328;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5300:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24336:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5688:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28831:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22301:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9823:373;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7099:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28571:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26115:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7335:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24027:217;24112:4;24151:32;24136:47;;;:11;:47;;;;:100;;;;24200:36;24224:11;24200:23;:36::i;:::-;24136:100;24129:107;;24027:217;;;:::o;5469:100::-;5523:13;5556:5;5549:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5469:100;:::o;7633:167::-;7716:4;7733:37;7742:10;7754:7;7763:6;7733:8;:37::i;:::-;7788:4;7781:11;;7633:167;;;;:::o;5148:144::-;5232:10;:8;:10::i;:::-;5218:24;;:10;:24;;;5210:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;5276:8;5267:6;;:17;;;;;;;;;;;;;;;;;;5148:144;:::o;6588:108::-;6649:7;6676:12;;6669:19;;6588:108;:::o;8282:418::-;8388:4;8405:36;8415:6;8423:9;8434:6;8405:9;:36::i;:::-;8454:24;8481:11;:19;8493:6;8481:19;;;;;;;;;;;;;;;:31;8501:10;8481:31;;;;;;;;;;;;;;;;8454:58;;8551:6;8531:16;:26;;8523:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8613:55;8622:6;8630:10;8661:6;8642:16;:25;;;;:::i;:::-;8613:8;:55::i;:::-;8688:4;8681:11;;;8282:418;;;;;:::o;25338:123::-;25404:7;25431:6;:12;25438:4;25431:12;;;;;;;;;;;:22;;;25424:29;;25338:123;;;:::o;14407:161::-;14492:25;14498:10;14510:6;14492:5;:25::i;:::-;14533:27;14540:6;14548:11;14533:27;;;;;;;:::i;:::-;;;;;;;;14407:161;;:::o;25723:147::-;25806:18;25819:4;25806:12;:18::i;:::-;23905:30;23916:4;23922:12;:10;:12::i;:::-;23905:10;:30::i;:::-;25837:25:::1;25848:4;25854:7;25837:10;:25::i;:::-;25723:147:::0;;;:::o;6431:92::-;6489:5;6514:1;6507:8;;6431:92;:::o;26771:218::-;26878:12;:10;:12::i;:::-;26867:23;;:7;:23;;;26859:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;26955:26;26967:4;26973:7;26955:11;:26::i;:::-;26771:218;;:::o;9109:211::-;9197:4;9214:76;9223:10;9235:7;9279:10;9244:11;:23;9256:10;9244:23;;;;;;;;;;;;;;;:32;9268:7;9244:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;9214:8;:76::i;:::-;9308:4;9301:11;;9109:211;;;;:::o;14684:89::-;14740:25;14746:10;14758:6;14740:5;:25::i;:::-;14684:89;:::o;29006:183::-;29089:32;28609:24;29110:10;29089:7;:32::i;:::-;29081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;29159:22;29165:7;29174:6;29159:5;:22::i;:::-;29006:183;;:::o;6759:127::-;6833:7;6860:9;:18;6870:7;6860:18;;;;;;;;;;;;;;;;6853:25;;6759:127;;;:::o;15092:328::-;15169:24;15196:30;15206:7;15215:10;15196:9;:30::i;:::-;15169:57;;15265:6;15245:16;:26;;15237:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;15323:56;15332:7;15341:10;15372:6;15353:16;:25;;;;:::i;:::-;15323:8;:56::i;:::-;15390:22;15396:7;15405:6;15390:5;:22::i;:::-;15158:262;15092:328;;:::o;5300:99::-;5358:7;5385:6;;;;;;;;;;;5378:13;;5300:99;:::o;24336:139::-;24414:4;24438:6;:12;24445:4;24438:12;;;;;;;;;;;:20;;:29;24459:7;24438:29;;;;;;;;;;;;;;;;;;;;;;;;;24431:36;;24336:139;;;;:::o;5688:104::-;5744:13;5777:7;5770:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5688:104;:::o;28831:167::-;28895:32;28609:24;28916:10;28895:7;:32::i;:::-;28887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;28965:25;28971:10;28983:6;28965:5;:25::i;:::-;28831:167;:::o;22301:49::-;22346:4;22301:49;;;:::o;9823:373::-;9916:4;9933:24;9960:11;:23;9972:10;9960:23;;;;;;;;;;;;;;;:32;9984:7;9960:32;;;;;;;;;;;;;;;;9933:59;;10031:15;10011:16;:35;;10003:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10099:65;10108:10;10120:7;10148:15;10129:16;:34;;;;:::i;:::-;10099:8;:65::i;:::-;10184:4;10177:11;;;9823:373;;;;:::o;7099:173::-;7185:4;7202:40;7212:10;7224:9;7235:6;7202:9;:40::i;:::-;7260:4;7253:11;;7099:173;;;;:::o;28571:62::-;28609:24;28571:62;:::o;26115:149::-;26199:18;26212:4;26199:12;:18::i;:::-;23905:30;23916:4;23922:12;:10;:12::i;:::-;23905:10;:30::i;:::-;26230:26:::1;26242:4;26248:7;26230:11;:26::i;:::-;26115:149:::0;;;:::o;7335:151::-;7424:7;7451:11;:18;7463:5;7451:18;;;;;;;;;;;;;;;:27;7470:7;7451:27;;;;;;;;;;;;;;;;7444:34;;7335:151;;;;:::o;19851:157::-;19936:4;19975:25;19960:40;;;:11;:40;;;;19953:47;;19851:157;;;:::o;13175:346::-;13294:1;13277:19;;:5;:19;;;;13269:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13375:1;13356:21;;:7;:21;;;;13348:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13459:6;13429:11;:18;13441:5;13429:18;;;;;;;;;;;;;;;:27;13448:7;13429:27;;;;;;;;;;;;;;;:36;;;;13497:7;13481:32;;13490:5;13481:32;;;13506:6;13481:32;;;;;;:::i;:::-;;;;;;;;13175:346;;;:::o;10686:604::-;10810:1;10792:20;;:6;:20;;;;10784:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;10894:1;10873:23;;:9;:23;;;;10865:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10949:47;10970:6;10978:9;10989:6;10949:20;:47::i;:::-;11009:21;11033:9;:17;11043:6;11033:17;;;;;;;;;;;;;;;;11009:41;;11086:6;11069:13;:23;;11061:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11182:6;11166:13;:22;;;;:::i;:::-;11146:9;:17;11156:6;11146:17;;;;;;;;;;;;;;;:42;;;;11223:6;11199:9;:20;11209:9;11199:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;11264:9;11247:35;;11256:6;11247:35;;;11275:6;11247:35;;;;;;:::i;:::-;;;;;;;;10773:517;10686:604;;;:::o;12243:494::-;12346:1;12327:21;;:7;:21;;;;12319:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12399:49;12420:7;12437:1;12441:6;12399:20;:49::i;:::-;12461:22;12486:9;:18;12496:7;12486:18;;;;;;;;;;;;;;;;12461:43;;12541:6;12523:14;:24;;12515:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12635:6;12618:14;:23;;;;:::i;:::-;12597:9;:18;12607:7;12597:18;;;;;;;;;;;;;;;:44;;;;12668:6;12652:12;;:22;;;;;;;:::i;:::-;;;;;;;;12718:1;12692:37;;12701:7;12692:37;;;12722:6;12692:37;;;;;;:::i;:::-;;;;;;;;12308:429;12243:494;;:::o;15995:98::-;16048:7;16075:10;16068:17;;15995:98;:::o;24765:384::-;24845:22;24853:4;24859:7;24845;:22::i;:::-;24841:301;;24977:41;25005:7;24977:41;;25015:2;24977:19;:41::i;:::-;25075:38;25103:4;25095:13;;25110:2;25075:19;:38::i;:::-;24898:230;;;;;;;;;:::i;:::-;;;;;;;;;;;;;24884:246;;;;;;;;;;;:::i;:::-;;;;;;;;24841:301;24765:384;;:::o;28019:229::-;28094:22;28102:4;28108:7;28094;:22::i;:::-;28089:152;;28165:4;28133:6;:12;28140:4;28133:12;;;;;;;;;;;:20;;:29;28154:7;28133:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;28216:12;:10;:12::i;:::-;28189:40;;28207:7;28189:40;;28201:4;28189:40;;;;;;;;;;28089:152;28019:229;;:::o;28256:230::-;28331:22;28339:4;28345:7;28331;:22::i;:::-;28327:152;;;28402:5;28370:6;:12;28377:4;28370:12;;;;;;;;;;;:20;;:29;28391:7;28370:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;28454:12;:10;:12::i;:::-;28427:40;;28445:7;28427:40;;28439:4;28427:40;;;;;;;;;;28327:152;28256:230;;:::o;11572:338::-;11675:1;11656:21;;:7;:21;;;;11648:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11726:49;11755:1;11759:7;11768:6;11726:20;:49::i;:::-;11804:6;11788:12;;:22;;;;;;;:::i;:::-;;;;;;;;11843:6;11821:9;:18;11831:7;11821:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;11886:7;11865:37;;11882:1;11865:37;;;11895:6;11865:37;;;;;;:::i;:::-;;;;;;;;11572:338;;:::o;14124:92::-;;;;:::o;17893:447::-;17968:13;17994:19;18039:1;18030:6;18026:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;18016:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17994:47;;18052:15;:6;18059:1;18052:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;18078;:6;18085:1;18078:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;18109:9;18134:1;18125:6;18121:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;18109:26;;18104:131;18141:1;18137;:5;18104:131;;;18176:8;18193:3;18185:5;:11;18176:21;;;;;;;:::i;:::-;;;;;18164:6;18171:1;18164:9;;;;;;;;:::i;:::-;;;;;:33;;;;;;;;;;;18222:1;18212:11;;;;;18144:3;;;;:::i;:::-;;;18104:131;;;;18262:1;18253:5;:10;18245:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;18325:6;18311:21;;;17893:447;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;282:79;;:::i;:::-;251:2;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;;;;;;:::o;425:139::-;471:5;509:6;496:20;487:29;;525:33;552:5;525:33;:::i;:::-;477:87;;;;:::o;570:139::-;616:5;654:6;641:20;632:29;;670:33;697:5;670:33;:::i;:::-;622:87;;;;:::o;715:137::-;760:5;798:6;785:20;776:29;;814:32;840:5;814:32;:::i;:::-;766:86;;;;:::o;872:340::-;928:5;977:3;970:4;962:6;958:17;954:27;944:2;;985:79;;:::i;:::-;944:2;1102:6;1089:20;1127:79;1202:3;1194:6;1187:4;1179:6;1175:17;1127:79;:::i;:::-;1118:88;;934:278;;;;;:::o;1218:139::-;1264:5;1302:6;1289:20;1280:29;;1318:33;1345:5;1318:33;:::i;:::-;1270:87;;;;:::o;1363:329::-;1422:6;1471:2;1459:9;1450:7;1446:23;1442:32;1439:2;;;1477:79;;:::i;:::-;1439:2;1597:1;1622:53;1667:7;1658:6;1647:9;1643:22;1622:53;:::i;:::-;1612:63;;1568:117;1429:263;;;;:::o;1698:474::-;1766:6;1774;1823:2;1811:9;1802:7;1798:23;1794:32;1791:2;;;1829:79;;:::i;:::-;1791:2;1949:1;1974:53;2019:7;2010:6;1999:9;1995:22;1974:53;:::i;:::-;1964:63;;1920:117;2076:2;2102:53;2147:7;2138:6;2127:9;2123:22;2102:53;:::i;:::-;2092:63;;2047:118;1781:391;;;;;:::o;2178:619::-;2255:6;2263;2271;2320:2;2308:9;2299:7;2295:23;2291:32;2288:2;;;2326:79;;:::i;:::-;2288:2;2446:1;2471:53;2516:7;2507:6;2496:9;2492:22;2471:53;:::i;:::-;2461:63;;2417:117;2573:2;2599:53;2644:7;2635:6;2624:9;2620:22;2599:53;:::i;:::-;2589:63;;2544:118;2701:2;2727:53;2772:7;2763:6;2752:9;2748:22;2727:53;:::i;:::-;2717:63;;2672:118;2278:519;;;;;:::o;2803:474::-;2871:6;2879;2928:2;2916:9;2907:7;2903:23;2899:32;2896:2;;;2934:79;;:::i;:::-;2896:2;3054:1;3079:53;3124:7;3115:6;3104:9;3100:22;3079:53;:::i;:::-;3069:63;;3025:117;3181:2;3207:53;3252:7;3243:6;3232:9;3228:22;3207:53;:::i;:::-;3197:63;;3152:118;2886:391;;;;;:::o;3283:329::-;3342:6;3391:2;3379:9;3370:7;3366:23;3362:32;3359:2;;;3397:79;;:::i;:::-;3359:2;3517:1;3542:53;3587:7;3578:6;3567:9;3563:22;3542:53;:::i;:::-;3532:63;;3488:117;3349:263;;;;:::o;3618:474::-;3686:6;3694;3743:2;3731:9;3722:7;3718:23;3714:32;3711:2;;;3749:79;;:::i;:::-;3711:2;3869:1;3894:53;3939:7;3930:6;3919:9;3915:22;3894:53;:::i;:::-;3884:63;;3840:117;3996:2;4022:53;4067:7;4058:6;4047:9;4043:22;4022:53;:::i;:::-;4012:63;;3967:118;3701:391;;;;;:::o;4098:327::-;4156:6;4205:2;4193:9;4184:7;4180:23;4176:32;4173:2;;;4211:79;;:::i;:::-;4173:2;4331:1;4356:52;4400:7;4391:6;4380:9;4376:22;4356:52;:::i;:::-;4346:62;;4302:116;4163:262;;;;:::o;4431:329::-;4490:6;4539:2;4527:9;4518:7;4514:23;4510:32;4507:2;;;4545:79;;:::i;:::-;4507:2;4665:1;4690:53;4735:7;4726:6;4715:9;4711:22;4690:53;:::i;:::-;4680:63;;4636:117;4497:263;;;;:::o;4766:654::-;4844:6;4852;4901:2;4889:9;4880:7;4876:23;4872:32;4869:2;;;4907:79;;:::i;:::-;4869:2;5027:1;5052:53;5097:7;5088:6;5077:9;5073:22;5052:53;:::i;:::-;5042:63;;4998:117;5182:2;5171:9;5167:18;5154:32;5213:18;5205:6;5202:30;5199:2;;;5235:79;;:::i;:::-;5199:2;5340:63;5395:7;5386:6;5375:9;5371:22;5340:63;:::i;:::-;5330:73;;5125:288;4859:561;;;;;:::o;5426:118::-;5513:24;5531:5;5513:24;:::i;:::-;5508:3;5501:37;5491:53;;:::o;5550:109::-;5631:21;5646:5;5631:21;:::i;:::-;5626:3;5619:34;5609:50;;:::o;5665:118::-;5752:24;5770:5;5752:24;:::i;:::-;5747:3;5740:37;5730:53;;:::o;5789:364::-;5877:3;5905:39;5938:5;5905:39;:::i;:::-;5960:71;6024:6;6019:3;5960:71;:::i;:::-;5953:78;;6040:52;6085:6;6080:3;6073:4;6066:5;6062:16;6040:52;:::i;:::-;6117:29;6139:6;6117:29;:::i;:::-;6112:3;6108:39;6101:46;;5881:272;;;;;:::o;6159:377::-;6265:3;6293:39;6326:5;6293:39;:::i;:::-;6348:89;6430:6;6425:3;6348:89;:::i;:::-;6341:96;;6446:52;6491:6;6486:3;6479:4;6472:5;6468:16;6446:52;:::i;:::-;6523:6;6518:3;6514:16;6507:23;;6269:267;;;;;:::o;6542:366::-;6684:3;6705:67;6769:2;6764:3;6705:67;:::i;:::-;6698:74;;6781:93;6870:3;6781:93;:::i;:::-;6899:2;6894:3;6890:12;6883:19;;6688:220;;;:::o;6914:366::-;7056:3;7077:67;7141:2;7136:3;7077:67;:::i;:::-;7070:74;;7153:93;7242:3;7153:93;:::i;:::-;7271:2;7266:3;7262:12;7255:19;;7060:220;;;:::o;7286:366::-;7428:3;7449:67;7513:2;7508:3;7449:67;:::i;:::-;7442:74;;7525:93;7614:3;7525:93;:::i;:::-;7643:2;7638:3;7634:12;7627:19;;7432:220;;;:::o;7658:366::-;7800:3;7821:67;7885:2;7880:3;7821:67;:::i;:::-;7814:74;;7897:93;7986:3;7897:93;:::i;:::-;8015:2;8010:3;8006:12;7999:19;;7804:220;;;:::o;8030:366::-;8172:3;8193:67;8257:2;8252:3;8193:67;:::i;:::-;8186:74;;8269:93;8358:3;8269:93;:::i;:::-;8387:2;8382:3;8378:12;8371:19;;8176:220;;;:::o;8402:366::-;8544:3;8565:67;8629:2;8624:3;8565:67;:::i;:::-;8558:74;;8641:93;8730:3;8641:93;:::i;:::-;8759:2;8754:3;8750:12;8743:19;;8548:220;;;:::o;8774:366::-;8916:3;8937:67;9001:2;8996:3;8937:67;:::i;:::-;8930:74;;9013:93;9102:3;9013:93;:::i;:::-;9131:2;9126:3;9122:12;9115:19;;8920:220;;;:::o;9146:366::-;9288:3;9309:67;9373:2;9368:3;9309:67;:::i;:::-;9302:74;;9385:93;9474:3;9385:93;:::i;:::-;9503:2;9498:3;9494:12;9487:19;;9292:220;;;:::o;9518:366::-;9660:3;9681:67;9745:2;9740:3;9681:67;:::i;:::-;9674:74;;9757:93;9846:3;9757:93;:::i;:::-;9875:2;9870:3;9866:12;9859:19;;9664:220;;;:::o;9890:366::-;10032:3;10053:67;10117:2;10112:3;10053:67;:::i;:::-;10046:74;;10129:93;10218:3;10129:93;:::i;:::-;10247:2;10242:3;10238:12;10231:19;;10036:220;;;:::o;10262:365::-;10404:3;10425:66;10489:1;10484:3;10425:66;:::i;:::-;10418:73;;10500:93;10589:3;10500:93;:::i;:::-;10618:2;10613:3;10609:12;10602:19;;10408:219;;;:::o;10633:366::-;10775:3;10796:67;10860:2;10855:3;10796:67;:::i;:::-;10789:74;;10872:93;10961:3;10872:93;:::i;:::-;10990:2;10985:3;10981:12;10974:19;;10779:220;;;:::o;11005:402::-;11165:3;11186:85;11268:2;11263:3;11186:85;:::i;:::-;11179:92;;11280:93;11369:3;11280:93;:::i;:::-;11398:2;11393:3;11389:12;11382:19;;11169:238;;;:::o;11413:366::-;11555:3;11576:67;11640:2;11635:3;11576:67;:::i;:::-;11569:74;;11652:93;11741:3;11652:93;:::i;:::-;11770:2;11765:3;11761:12;11754:19;;11559:220;;;:::o;11785:402::-;11945:3;11966:85;12048:2;12043:3;11966:85;:::i;:::-;11959:92;;12060:93;12149:3;12060:93;:::i;:::-;12178:2;12173:3;12169:12;12162:19;;11949:238;;;:::o;12193:366::-;12335:3;12356:67;12420:2;12415:3;12356:67;:::i;:::-;12349:74;;12432:93;12521:3;12432:93;:::i;:::-;12550:2;12545:3;12541:12;12534:19;;12339:220;;;:::o;12565:366::-;12707:3;12728:67;12792:2;12787:3;12728:67;:::i;:::-;12721:74;;12804:93;12893:3;12804:93;:::i;:::-;12922:2;12917:3;12913:12;12906:19;;12711:220;;;:::o;12937:118::-;13024:24;13042:5;13024:24;:::i;:::-;13019:3;13012:37;13002:53;;:::o;13061:112::-;13144:22;13160:5;13144:22;:::i;:::-;13139:3;13132:35;13122:51;;:::o;13179:967::-;13561:3;13583:148;13727:3;13583:148;:::i;:::-;13576:155;;13748:95;13839:3;13830:6;13748:95;:::i;:::-;13741:102;;13860:148;14004:3;13860:148;:::i;:::-;13853:155;;14025:95;14116:3;14107:6;14025:95;:::i;:::-;14018:102;;14137:3;14130:10;;13565:581;;;;;:::o;14152:222::-;14245:4;14283:2;14272:9;14268:18;14260:26;;14296:71;14364:1;14353:9;14349:17;14340:6;14296:71;:::i;:::-;14250:124;;;;:::o;14380:210::-;14467:4;14505:2;14494:9;14490:18;14482:26;;14518:65;14580:1;14569:9;14565:17;14556:6;14518:65;:::i;:::-;14472:118;;;;:::o;14596:222::-;14689:4;14727:2;14716:9;14712:18;14704:26;;14740:71;14808:1;14797:9;14793:17;14784:6;14740:71;:::i;:::-;14694:124;;;;:::o;14824:313::-;14937:4;14975:2;14964:9;14960:18;14952:26;;15024:9;15018:4;15014:20;15010:1;14999:9;14995:17;14988:47;15052:78;15125:4;15116:6;15052:78;:::i;:::-;15044:86;;14942:195;;;;:::o;15143:419::-;15309:4;15347:2;15336:9;15332:18;15324:26;;15396:9;15390:4;15386:20;15382:1;15371:9;15367:17;15360:47;15424:131;15550:4;15424:131;:::i;:::-;15416:139;;15314:248;;;:::o;15568:419::-;15734:4;15772:2;15761:9;15757:18;15749:26;;15821:9;15815:4;15811:20;15807:1;15796:9;15792:17;15785:47;15849:131;15975:4;15849:131;:::i;:::-;15841:139;;15739:248;;;:::o;15993:419::-;16159:4;16197:2;16186:9;16182:18;16174:26;;16246:9;16240:4;16236:20;16232:1;16221:9;16217:17;16210:47;16274:131;16400:4;16274:131;:::i;:::-;16266:139;;16164:248;;;:::o;16418:419::-;16584:4;16622:2;16611:9;16607:18;16599:26;;16671:9;16665:4;16661:20;16657:1;16646:9;16642:17;16635:47;16699:131;16825:4;16699:131;:::i;:::-;16691:139;;16589:248;;;:::o;16843:419::-;17009:4;17047:2;17036:9;17032:18;17024:26;;17096:9;17090:4;17086:20;17082:1;17071:9;17067:17;17060:47;17124:131;17250:4;17124:131;:::i;:::-;17116:139;;17014:248;;;:::o;17268:419::-;17434:4;17472:2;17461:9;17457:18;17449:26;;17521:9;17515:4;17511:20;17507:1;17496:9;17492:17;17485:47;17549:131;17675:4;17549:131;:::i;:::-;17541:139;;17439:248;;;:::o;17693:419::-;17859:4;17897:2;17886:9;17882:18;17874:26;;17946:9;17940:4;17936:20;17932:1;17921:9;17917:17;17910:47;17974:131;18100:4;17974:131;:::i;:::-;17966:139;;17864:248;;;:::o;18118:419::-;18284:4;18322:2;18311:9;18307:18;18299:26;;18371:9;18365:4;18361:20;18357:1;18346:9;18342:17;18335:47;18399:131;18525:4;18399:131;:::i;:::-;18391:139;;18289:248;;;:::o;18543:419::-;18709:4;18747:2;18736:9;18732:18;18724:26;;18796:9;18790:4;18786:20;18782:1;18771:9;18767:17;18760:47;18824:131;18950:4;18824:131;:::i;:::-;18816:139;;18714:248;;;:::o;18968:419::-;19134:4;19172:2;19161:9;19157:18;19149:26;;19221:9;19215:4;19211:20;19207:1;19196:9;19192:17;19185:47;19249:131;19375:4;19249:131;:::i;:::-;19241:139;;19139:248;;;:::o;19393:419::-;19559:4;19597:2;19586:9;19582:18;19574:26;;19646:9;19640:4;19636:20;19632:1;19621:9;19617:17;19610:47;19674:131;19800:4;19674:131;:::i;:::-;19666:139;;19564:248;;;:::o;19818:419::-;19984:4;20022:2;20011:9;20007:18;19999:26;;20071:9;20065:4;20061:20;20057:1;20046:9;20042:17;20035:47;20099:131;20225:4;20099:131;:::i;:::-;20091:139;;19989:248;;;:::o;20243:419::-;20409:4;20447:2;20436:9;20432:18;20424:26;;20496:9;20490:4;20486:20;20482:1;20471:9;20467:17;20460:47;20524:131;20650:4;20524:131;:::i;:::-;20516:139;;20414:248;;;:::o;20668:419::-;20834:4;20872:2;20861:9;20857:18;20849:26;;20921:9;20915:4;20911:20;20907:1;20896:9;20892:17;20885:47;20949:131;21075:4;20949:131;:::i;:::-;20941:139;;20839:248;;;:::o;21093:419::-;21259:4;21297:2;21286:9;21282:18;21274:26;;21346:9;21340:4;21336:20;21332:1;21321:9;21317:17;21310:47;21374:131;21500:4;21374:131;:::i;:::-;21366:139;;21264:248;;;:::o;21518:222::-;21611:4;21649:2;21638:9;21634:18;21626:26;;21662:71;21730:1;21719:9;21715:17;21706:6;21662:71;:::i;:::-;21616:124;;;;:::o;21746:423::-;21887:4;21925:2;21914:9;21910:18;21902:26;;21938:71;22006:1;21995:9;21991:17;21982:6;21938:71;:::i;:::-;22056:9;22050:4;22046:20;22041:2;22030:9;22026:18;22019:48;22084:78;22157:4;22148:6;22084:78;:::i;:::-;22076:86;;21892:277;;;;;:::o;22175:214::-;22264:4;22302:2;22291:9;22287:18;22279:26;;22315:67;22379:1;22368:9;22364:17;22355:6;22315:67;:::i;:::-;22269:120;;;;:::o;22395:129::-;22429:6;22456:20;;:::i;:::-;22446:30;;22485:33;22513:4;22505:6;22485:33;:::i;:::-;22436:88;;;:::o;22530:75::-;22563:6;22596:2;22590:9;22580:19;;22570:35;:::o;22611:308::-;22673:4;22763:18;22755:6;22752:30;22749:2;;;22785:18;;:::i;:::-;22749:2;22823:29;22845:6;22823:29;:::i;:::-;22815:37;;22907:4;22901;22897:15;22889:23;;22678:241;;;:::o;22925:99::-;22977:6;23011:5;23005:12;22995:22;;22984:40;;;:::o;23030:169::-;23114:11;23148:6;23143:3;23136:19;23188:4;23183:3;23179:14;23164:29;;23126:73;;;;:::o;23205:148::-;23307:11;23344:3;23329:18;;23319:34;;;;:::o;23359:305::-;23399:3;23418:20;23436:1;23418:20;:::i;:::-;23413:25;;23452:20;23470:1;23452:20;:::i;:::-;23447:25;;23606:1;23538:66;23534:74;23531:1;23528:81;23525:2;;;23612:18;;:::i;:::-;23525:2;23656:1;23653;23649:9;23642:16;;23403:261;;;;:::o;23670:348::-;23710:7;23733:20;23751:1;23733:20;:::i;:::-;23728:25;;23767:20;23785:1;23767:20;:::i;:::-;23762:25;;23955:1;23887:66;23883:74;23880:1;23877:81;23872:1;23865:9;23858:17;23854:105;23851:2;;;23962:18;;:::i;:::-;23851:2;24010:1;24007;24003:9;23992:20;;23718:300;;;;:::o;24024:191::-;24064:4;24084:20;24102:1;24084:20;:::i;:::-;24079:25;;24118:20;24136:1;24118:20;:::i;:::-;24113:25;;24157:1;24154;24151:8;24148:2;;;24162:18;;:::i;:::-;24148:2;24207:1;24204;24200:9;24192:17;;24069:146;;;;:::o;24221:96::-;24258:7;24287:24;24305:5;24287:24;:::i;:::-;24276:35;;24266:51;;;:::o;24323:90::-;24357:7;24400:5;24393:13;24386:21;24375:32;;24365:48;;;:::o;24419:77::-;24456:7;24485:5;24474:16;;24464:32;;;:::o;24502:149::-;24538:7;24578:66;24571:5;24567:78;24556:89;;24546:105;;;:::o;24657:126::-;24694:7;24734:42;24727:5;24723:54;24712:65;;24702:81;;;:::o;24789:77::-;24826:7;24855:5;24844:16;;24834:32;;;:::o;24872:86::-;24907:7;24947:4;24940:5;24936:16;24925:27;;24915:43;;;:::o;24964:154::-;25048:6;25043:3;25038;25025:30;25110:1;25101:6;25096:3;25092:16;25085:27;25015:103;;;:::o;25124:307::-;25192:1;25202:113;25216:6;25213:1;25210:13;25202:113;;;25301:1;25296:3;25292:11;25286:18;25282:1;25277:3;25273:11;25266:39;25238:2;25235:1;25231:10;25226:15;;25202:113;;;25333:6;25330:1;25327:13;25324:2;;;25413:1;25404:6;25399:3;25395:16;25388:27;25324:2;25173:258;;;;:::o;25437:171::-;25476:3;25499:24;25517:5;25499:24;:::i;:::-;25490:33;;25545:4;25538:5;25535:15;25532:2;;;25553:18;;:::i;:::-;25532:2;25600:1;25593:5;25589:13;25582:20;;25480:128;;;:::o;25614:320::-;25658:6;25695:1;25689:4;25685:12;25675:22;;25742:1;25736:4;25732:12;25763:18;25753:2;;25819:4;25811:6;25807:17;25797:27;;25753:2;25881;25873:6;25870:14;25850:18;25847:38;25844:2;;;25900:18;;:::i;:::-;25844:2;25665:269;;;;:::o;25940:281::-;26023:27;26045:4;26023:27;:::i;:::-;26015:6;26011:40;26153:6;26141:10;26138:22;26117:18;26105:10;26102:34;26099:62;26096:2;;;26164:18;;:::i;:::-;26096:2;26204:10;26200:2;26193:22;25983:238;;;:::o;26227:180::-;26275:77;26272:1;26265:88;26372:4;26369:1;26362:15;26396:4;26393:1;26386:15;26413:180;26461:77;26458:1;26451:88;26558:4;26555:1;26548:15;26582:4;26579:1;26572:15;26599:180;26647:77;26644:1;26637:88;26744:4;26741:1;26734:15;26768:4;26765:1;26758:15;26785:180;26833:77;26830:1;26823:88;26930:4;26927:1;26920:15;26954:4;26951:1;26944:15;26971:117;27080:1;27077;27070:12;27094:117;27203:1;27200;27193:12;27217:117;27326:1;27323;27316:12;27340:117;27449:1;27446;27439:12;27463:102;27504:6;27555:2;27551:7;27546:2;27539:5;27535:14;27531:28;27521:38;;27511:54;;;:::o;27571:182::-;27711:34;27707:1;27699:6;27695:14;27688:58;27677:76;:::o;27759:222::-;27899:34;27895:1;27887:6;27883:14;27876:58;27968:5;27963:2;27955:6;27951:15;27944:30;27865:116;:::o;27987:221::-;28127:34;28123:1;28115:6;28111:14;28104:58;28196:4;28191:2;28183:6;28179:15;28172:29;28093:115;:::o;28214:221::-;28354:34;28350:1;28342:6;28338:14;28331:58;28423:4;28418:2;28410:6;28406:15;28399:29;28320:115;:::o;28441:225::-;28581:34;28577:1;28569:6;28565:14;28558:58;28650:8;28645:2;28637:6;28633:15;28626:33;28547:119;:::o;28672:172::-;28812:24;28808:1;28800:6;28796:14;28789:48;28778:66;:::o;28850:227::-;28990:34;28986:1;28978:6;28974:14;28967:58;29059:10;29054:2;29046:6;29042:15;29035:35;28956:121;:::o;29083:223::-;29223:34;29219:1;29211:6;29207:14;29200:58;29292:6;29287:2;29279:6;29275:15;29268:31;29189:117;:::o;29312:220::-;29452:34;29448:1;29440:6;29436:14;29429:58;29521:3;29516:2;29508:6;29504:15;29497:28;29418:114;:::o;29538:224::-;29678:34;29674:1;29666:6;29662:14;29655:58;29747:7;29742:2;29734:6;29730:15;29723:32;29644:118;:::o;29768:159::-;29908:11;29904:1;29896:6;29892:14;29885:35;29874:53;:::o;29933:223::-;30073:34;30069:1;30061:6;30057:14;30050:58;30142:6;30137:2;30129:6;30125:15;30118:31;30039:117;:::o;30162:173::-;30302:25;30298:1;30290:6;30286:14;30279:49;30268:67;:::o;30341:224::-;30481:34;30477:1;30469:6;30465:14;30458:58;30550:7;30545:2;30537:6;30533:15;30526:32;30447:118;:::o;30571:167::-;30711:19;30707:1;30699:6;30695:14;30688:43;30677:61;:::o;30744:234::-;30884:34;30880:1;30872:6;30868:14;30861:58;30953:17;30948:2;30940:6;30936:15;30929:42;30850:128;:::o;30984:181::-;31124:33;31120:1;31112:6;31108:14;31101:57;31090:75;:::o;31171:122::-;31244:24;31262:5;31244:24;:::i;:::-;31237:5;31234:35;31224:2;;31283:1;31280;31273:12;31224:2;31214:79;:::o;31299:122::-;31372:24;31390:5;31372:24;:::i;:::-;31365:5;31362:35;31352:2;;31411:1;31408;31401:12;31352:2;31342:79;:::o;31427:120::-;31499:23;31516:5;31499:23;:::i;:::-;31492:5;31489:34;31479:2;;31537:1;31534;31527:12;31479:2;31469:78;:::o;31553:122::-;31626:24;31644:5;31626:24;:::i;:::-;31619:5;31616:35;31606:2;;31665:1;31662;31655:12;31606:2;31596:79;:::o
Swarm Source
ipfs://6a9a4994dd9fb6735642e3abae1e38bef889614dcb1bbd64aaf1762cc42fa025
Loading...
Loading
Loading...
Loading
OVERVIEW
Wrapped version of Garlicoin.Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.