Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
5071195 | 17 days ago | Contract Creation | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
NFTABSTW
Compiler Version
v0.8.17+commit.8df45f5f
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
london EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.0; import "@thirdweb-dev/contracts/eip/ERC1155.sol"; contract NFTABSTW is ERC1155 { constructor() ERC1155("NFT ABS Token", "NFTABS") {} }
// SPDX-License-Identifier: Apache 2.0 pragma solidity ^0.8.0; import "./interface/IERC1155.sol"; import "./interface/IERC1155Metadata.sol"; import "./interface/IERC1155Receiver.sol"; contract ERC1155 is IERC1155, IERC1155Metadata { /*////////////////////////////////////////////////////////////// State variables //////////////////////////////////////////////////////////////*/ string public name; string public symbol; /*////////////////////////////////////////////////////////////// Mappings //////////////////////////////////////////////////////////////*/ mapping(address => mapping(uint256 => uint256)) public balanceOf; mapping(address => mapping(address => bool)) public isApprovedForAll; mapping(uint256 => string) internal _uri; /*////////////////////////////////////////////////////////////// Constructor //////////////////////////////////////////////////////////////*/ constructor(string memory _name, string memory _symbol) { name = _name; symbol = _symbol; } /*////////////////////////////////////////////////////////////// View functions //////////////////////////////////////////////////////////////*/ function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) { return interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165 interfaceId == 0xd9b67a26 || // ERC165 Interface ID for ERC1155 interfaceId == 0x0e89341c; // ERC165 Interface ID for ERC1155MetadataURI } function uri(uint256 tokenId) public view virtual override returns (string memory) { return _uri[tokenId]; } function balanceOfBatch( address[] memory accounts, uint256[] memory ids ) public view virtual override returns (uint256[] memory) { require(accounts.length == ids.length, "LENGTH_MISMATCH"); uint256[] memory batchBalances = new uint256[](accounts.length); for (uint256 i = 0; i < accounts.length; ++i) { batchBalances[i] = balanceOf[accounts[i]][ids[i]]; } return batchBalances; } /*////////////////////////////////////////////////////////////// ERC1155 logic //////////////////////////////////////////////////////////////*/ function setApprovalForAll(address operator, bool approved) public virtual override { address owner = msg.sender; require(owner != operator, "APPROVING_SELF"); isApprovedForAll[owner][operator] = approved; emit ApprovalForAll(owner, operator, approved); } function safeTransferFrom( address from, address to, uint256 id, uint256 amount, bytes memory data ) public virtual override { require(from == msg.sender || isApprovedForAll[from][msg.sender], "!OWNER_OR_APPROVED"); _safeTransferFrom(from, to, id, amount, data); } function safeBatchTransferFrom( address from, address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data ) public virtual override { require(from == msg.sender || isApprovedForAll[from][msg.sender], "!OWNER_OR_APPROVED"); _safeBatchTransferFrom(from, to, ids, amounts, data); } /*////////////////////////////////////////////////////////////// Internal logic //////////////////////////////////////////////////////////////*/ function _safeTransferFrom( address from, address to, uint256 id, uint256 amount, bytes memory data ) internal virtual { require(to != address(0), "TO_ZERO_ADDR"); address operator = msg.sender; _beforeTokenTransfer(operator, from, to, _asSingletonArray(id), _asSingletonArray(amount), data); uint256 fromBalance = balanceOf[from][id]; require(fromBalance >= amount, "INSUFFICIENT_BAL"); unchecked { balanceOf[from][id] = fromBalance - amount; } balanceOf[to][id] += amount; emit TransferSingle(operator, from, to, id, amount); _doSafeTransferAcceptanceCheck(operator, from, to, id, amount, data); } function _safeBatchTransferFrom( address from, address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data ) internal virtual { require(ids.length == amounts.length, "LENGTH_MISMATCH"); require(to != address(0), "TO_ZERO_ADDR"); address operator = msg.sender; _beforeTokenTransfer(operator, from, to, ids, amounts, data); for (uint256 i = 0; i < ids.length; ++i) { uint256 id = ids[i]; uint256 amount = amounts[i]; uint256 fromBalance = balanceOf[from][id]; require(fromBalance >= amount, "INSUFFICIENT_BAL"); unchecked { balanceOf[from][id] = fromBalance - amount; } balanceOf[to][id] += amount; } emit TransferBatch(operator, from, to, ids, amounts); _doSafeBatchTransferAcceptanceCheck(operator, from, to, ids, amounts, data); } function _setTokenURI(uint256 tokenId, string memory newuri) internal virtual { _uri[tokenId] = newuri; } function _mint(address to, uint256 id, uint256 amount, bytes memory data) internal virtual { require(to != address(0), "TO_ZERO_ADDR"); address operator = msg.sender; _beforeTokenTransfer(operator, address(0), to, _asSingletonArray(id), _asSingletonArray(amount), data); balanceOf[to][id] += amount; emit TransferSingle(operator, address(0), to, id, amount); _doSafeTransferAcceptanceCheck(operator, address(0), to, id, amount, data); } function _mintBatch( address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data ) internal virtual { require(to != address(0), "TO_ZERO_ADDR"); require(ids.length == amounts.length, "LENGTH_MISMATCH"); address operator = msg.sender; _beforeTokenTransfer(operator, address(0), to, ids, amounts, data); for (uint256 i = 0; i < ids.length; i++) { balanceOf[to][ids[i]] += amounts[i]; } emit TransferBatch(operator, address(0), to, ids, amounts); _doSafeBatchTransferAcceptanceCheck(operator, address(0), to, ids, amounts, data); } function _burn(address from, uint256 id, uint256 amount) internal virtual { require(from != address(0), "FROM_ZERO_ADDR"); address operator = msg.sender; _beforeTokenTransfer(operator, from, address(0), _asSingletonArray(id), _asSingletonArray(amount), ""); uint256 fromBalance = balanceOf[from][id]; require(fromBalance >= amount, "INSUFFICIENT_BAL"); unchecked { balanceOf[from][id] = fromBalance - amount; } emit TransferSingle(operator, from, address(0), id, amount); } function _burnBatch(address from, uint256[] memory ids, uint256[] memory amounts) internal virtual { require(from != address(0), "FROM_ZERO_ADDR"); require(ids.length == amounts.length, "LENGTH_MISMATCH"); address operator = msg.sender; _beforeTokenTransfer(operator, from, address(0), ids, amounts, ""); for (uint256 i = 0; i < ids.length; i++) { uint256 id = ids[i]; uint256 amount = amounts[i]; uint256 fromBalance = balanceOf[from][id]; require(fromBalance >= amount, "INSUFFICIENT_BAL"); unchecked { balanceOf[from][id] = fromBalance - amount; } } emit TransferBatch(operator, from, address(0), ids, amounts); } function _beforeTokenTransfer( address operator, address from, address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data ) internal virtual {} function _doSafeTransferAcceptanceCheck( address operator, address from, address to, uint256 id, uint256 amount, bytes memory data ) private { if (to.code.length > 0) { try IERC1155Receiver(to).onERC1155Received(operator, from, id, amount, data) returns (bytes4 response) { if (response != IERC1155Receiver.onERC1155Received.selector) { revert("TOKENS_REJECTED"); } } catch Error(string memory reason) { revert(reason); } catch { revert("!ERC1155RECEIVER"); } } } function _doSafeBatchTransferAcceptanceCheck( address operator, address from, address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data ) private { if (to.code.length > 0) { try IERC1155Receiver(to).onERC1155BatchReceived(operator, from, ids, amounts, data) returns ( bytes4 response ) { if (response != IERC1155Receiver.onERC1155BatchReceived.selector) { revert("TOKENS_REJECTED"); } } catch Error(string memory reason) { revert(reason); } catch { revert("!ERC1155RECEIVER"); } } } function _asSingletonArray(uint256 element) private pure returns (uint256[] memory) { uint256[] memory array = new uint256[](1); array[0] = element; return array; } }
// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.0; /** @title ERC-1155 Multi Token Standard @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1155.md Note: The ERC-165 identifier for this interface is 0xd9b67a26. */ interface IERC1155 { /** @dev Either `TransferSingle` or `TransferBatch` MUST emit when tokens are transferred, including zero value transfers as well as minting or burning (see "Safe Transfer Rules" section of the standard). The `_operator` argument MUST be msg.sender. The `_from` argument MUST be the address of the holder whose balance is decreased. The `_to` argument MUST be the address of the recipient whose balance is increased. The `_id` argument MUST be the token type being transferred. The `_value` argument MUST be the number of tokens the holder balance is decreased by and match what the recipient balance is increased by. When minting/creating tokens, the `_from` argument MUST be set to `0x0` (i.e. zero address). When burning/destroying tokens, the `_to` argument MUST be set to `0x0` (i.e. zero address). */ event TransferSingle( address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _value ); /** @dev Either `TransferSingle` or `TransferBatch` MUST emit when tokens are transferred, including zero value transfers as well as minting or burning (see "Safe Transfer Rules" section of the standard). The `_operator` argument MUST be msg.sender. The `_from` argument MUST be the address of the holder whose balance is decreased. The `_to` argument MUST be the address of the recipient whose balance is increased. The `_ids` argument MUST be the list of tokens being transferred. The `_values` argument MUST be the list of number of tokens (matching the list and order of tokens specified in _ids) the holder balance is decreased by and match what the recipient balance is increased by. When minting/creating tokens, the `_from` argument MUST be set to `0x0` (i.e. zero address). When burning/destroying tokens, the `_to` argument MUST be set to `0x0` (i.e. zero address). */ event TransferBatch( address indexed _operator, address indexed _from, address indexed _to, uint256[] _ids, uint256[] _values ); /** @dev MUST emit when approval for a second party/operator address to manage all tokens for an owner address is enabled or disabled (absense of an event assumes disabled). */ event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved); /** @dev MUST emit when the URI is updated for a token ID. URIs are defined in RFC 3986. The URI MUST point a JSON file that conforms to the "ERC-1155 Metadata URI JSON Schema". */ event URI(string _value, uint256 indexed _id); /** @notice Transfers `_value` amount of an `_id` from the `_from` address to the `_to` address specified (with safety call). @dev Caller must be approved to manage the tokens being transferred out of the `_from` account (see "Approval" section of the standard). MUST revert if `_to` is the zero address. MUST revert if balance of holder for token `_id` is lower than the `_value` sent. MUST revert on any other error. MUST emit the `TransferSingle` event to reflect the balance change (see "Safe Transfer Rules" section of the standard). After the above conditions are met, this function MUST check if `_to` is a smart contract (e.g. code size > 0). If so, it MUST call `onERC1155Received` on `_to` and act appropriately (see "Safe Transfer Rules" section of the standard). @param _from Source address @param _to Target address @param _id ID of the token type @param _value Transfer amount @param _data Additional data with no specified format, MUST be sent unaltered in call to `onERC1155Received` on `_to` */ function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value, bytes calldata _data) external; /** @notice Transfers `_values` amount(s) of `_ids` from the `_from` address to the `_to` address specified (with safety call). @dev Caller must be approved to manage the tokens being transferred out of the `_from` account (see "Approval" section of the standard). MUST revert if `_to` is the zero address. MUST revert if length of `_ids` is not the same as length of `_values`. MUST revert if any of the balance(s) of the holder(s) for token(s) in `_ids` is lower than the respective amount(s) in `_values` sent to the recipient. MUST revert on any other error. MUST emit `TransferSingle` or `TransferBatch` event(s) such that all the balance changes are reflected (see "Safe Transfer Rules" section of the standard). Balance changes and events MUST follow the ordering of the arrays (_ids[0]/_values[0] before _ids[1]/_values[1], etc). After the above conditions for the transfer(s) in the batch are met, this function MUST check if `_to` is a smart contract (e.g. code size > 0). If so, it MUST call the relevant `ERC1155TokenReceiver` hook(s) on `_to` and act appropriately (see "Safe Transfer Rules" section of the standard). @param _from Source address @param _to Target address @param _ids IDs of each token type (order and length must match _values array) @param _values Transfer amounts per token type (order and length must match _ids array) @param _data Additional data with no specified format, MUST be sent unaltered in call to the `ERC1155TokenReceiver` hook(s) on `_to` */ function safeBatchTransferFrom( address _from, address _to, uint256[] calldata _ids, uint256[] calldata _values, bytes calldata _data ) external; /** @notice Get the balance of an account's Tokens. @param _owner The address of the token holder @param _id ID of the Token @return The _owner's balance of the Token type requested */ function balanceOf(address _owner, uint256 _id) external view returns (uint256); /** @notice Get the balance of multiple account/token pairs @param _owners The addresses of the token holders @param _ids ID of the Tokens @return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair) */ function balanceOfBatch( address[] calldata _owners, uint256[] calldata _ids ) external view returns (uint256[] memory); /** @notice Enable or disable approval for a third party ("operator") to manage all of the caller's tokens. @dev MUST emit the ApprovalForAll event on success. @param _operator Address to add to the set of authorized operators @param _approved True if the operator is approved, false to revoke approval */ function setApprovalForAll(address _operator, bool _approved) external; /** @notice Queries the approval status of an operator for a given owner. @param _owner The owner of the Tokens @param _operator Address of authorized operator @return True if the operator is approved, false if not */ function isApprovedForAll(address _owner, address _operator) external view returns (bool); }
// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.0; /** Note: The ERC-165 identifier for this interface is 0x0e89341c. */ interface IERC1155Metadata { /** @notice A distinct Uniform Resource Identifier (URI) for a given token. @dev URIs are defined in RFC 3986. The URI may point to a JSON file that conforms to the "ERC-1155 Metadata URI JSON Schema". @return URI string */ function uri(uint256 _id) external view returns (string memory); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC1155/IERC1155Receiver.sol) pragma solidity ^0.8.0; import "./IERC165.sol"; /** * @dev _Available since v3.1._ */ interface IERC1155Receiver is IERC165 { /** * @dev Handles the receipt of a single ERC1155 token type. This function is * called at the end of a `safeTransferFrom` after the balance has been updated. * * NOTE: To accept the transfer, this must return * `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` * (i.e. 0xf23a6e61, or its own function selector). * * @param operator The address which initiated the transfer (i.e. msg.sender) * @param from The address which previously owned the token * @param id The ID of the token being transferred * @param value The amount of tokens being transferred * @param data Additional data with no specified format * @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed */ function onERC1155Received( address operator, address from, uint256 id, uint256 value, bytes calldata data ) external returns (bytes4); /** * @dev Handles the receipt of a multiple ERC1155 token types. This function * is called at the end of a `safeBatchTransferFrom` after the balances have * been updated. * * NOTE: To accept the transfer(s), this must return * `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` * (i.e. 0xbc197c81, or its own function selector). * * @param operator The address which initiated the batch transfer (i.e. msg.sender) * @param from The address which previously owned the token * @param ids An array containing ids of each token being transferred (order and length must match values array) * @param values An array containing amounts of each token being transferred (order and length must match ids array) * @param data Additional data with no specified format * @return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` if transfer is allowed */ function onERC1155BatchReceived( address operator, address from, uint256[] calldata ids, uint256[] calldata values, bytes calldata data ) external returns (bytes4); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * [EIP](https://eips.ethereum.org/EIPS/eip-165). * * 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 * [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) * 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); }
{ "viaIR": false, "codegen": "yul", "remappings": [ "@openzeppelin/=lib/openzeppelin-contracts/", "@thirdweb-dev/=lib/contracts/", "@chainlink/=lib/contracts/lib/chainlink/", "@ds-test/=lib/contracts/lib/ds-test/src/", "@seaport/=lib/contracts/lib/seaport/contracts/", "@solady/=lib/contracts/lib/solady/", "@std/=lib/contracts/lib/forge-std/src/", "ERC721A-Upgradeable/=lib/contracts/lib/ERC721A-Upgradeable/contracts/", "ERC721A/=lib/contracts/lib/ERC721A/contracts/", "chainlink/=lib/contracts/lib/chainlink/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/", "contracts/=lib/contracts/contracts/", "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "erc721a-upgradeable/=lib/contracts/lib/ERC721A-Upgradeable/", "erc721a/=lib/contracts/lib/ERC721A/", "forge-std/=lib/forge-std/src/", "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/", "lib/sstore2/=lib/contracts/lib/dynamic-contracts/lib/sstore2/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "seaport-core/=lib/contracts/lib/seaport/lib/seaport-core/", "seaport-types/=lib/contracts/lib/seaport/lib/seaport-types/" ], "evmVersion": "london", "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "optimizer": { "enabled": true, "mode": "3", "fallback_to_optimizing_for_size": false, "disable_system_request_memoization": true }, "metadata": {}, "libraries": {}, "enableEraVMExtensions": false, "forceEVMLA": false }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"_value","type":"string"},{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
9c4d535b00000000000000000000000000000000000000000000000000000000000000000100022b5f827b0904c7206a694c731153bc7cc6525353eec66b47fe7f41124900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x0001000000000002000f0000000000020000000100200190000001640000c13d000000000801034f0000006001100270000001ef011001970000008003000039000000400030043f000000040010008c000003620000413d000000000208043b000000e002200270000001f60020009c000001800000213d000001fd0020009c000002020000a13d000001fe0020009c000002ea0000613d000001ff0020009c000003200000613d000002000020009c000003620000c13d000000a40010008c000003620000413d0000000002000416000000000002004b000003620000c13d0000000402800370000000000202043b000002030020009c000003620000213d0000002404800370000000000404043b000400000004001d000002030040009c000003620000213d0000004404800370000000000404043b000002040040009c000003620000213d0000002305400039000000000015004b000003620000813d0000000405400039000000000558034f000000000605043b000002040060009c000001fc0000213d00000005056002100000003f075000390000021407700197000002050070009c000001fc0000213d0000008007700039000000400070043f000000800060043f00000024044000390000000005450019000000000015004b000003620000213d000000000006004b000000460000613d000000000648034f000000000606043b000000200330003900000000006304350000002004400039000000000054004b0000003f0000413d0000006403800370000000000303043b000002040030009c000003620000213d0000002304300039000000000014004b000000000500001900000215050080410000021504400197000000000004004b00000000060000190000021506004041000002150040009c000000000605c019000000000006004b000003620000c13d0000000404300039000000000448034f000000000404043b000002040040009c000001fc0000213d00000005054002100000003f065000390000021406600197000000400700043d0000000006670019000600000007001d000000000076004b00000000070000390000000107004039000002040060009c000001fc0000213d0000000100700190000001fc0000c13d000000400060043f00000006060000290000000006460436000500000006001d00000024033000390000000005350019000000000015004b000003620000213d000000000004004b0000007a0000613d0000000604000029000000000638034f000000000606043b000000200440003900000000006404350000002003300039000000000053004b000000730000413d0000008403800370000000000403043b000002040040009c000003620000213d0000002303400039000000000013004b000000000500001900000215050080410000021503300197000000000003004b00000000060000190000021506004041000002150030009c000000000605c019000000000006004b000003620000c13d0000000405400039000000000358034f000000000303043b000002040030009c000001fc0000213d0000001f0630003900000225066001970000003f066000390000022506600197000000400700043d0000000006670019000200000007001d000000000076004b00000000070000390000000107004039000002040060009c000001fc0000213d0000000100700190000001fc0000c13d000000400060043f00000002060000290000000006360436000100000006001d00000000043400190000002404400039000000000014004b000003620000213d0000002001500039000000000418034f00000225053001980000001f0630018f0000000101500029000000b10000613d000000000704034f0000000108000029000000007907043c0000000008980436000000000018004b000000ad0000c13d000000000006004b000000be0000613d000000000454034f0000000305600210000000000601043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000041043500000001013000290000000000010435000902030020019b0000000001000411000000090010006b000005920000c13d00000006010000290000000002010433000000800100043d000000000021004b000004b80000c13d0000000402000029000302030020019c000001d60000613d000000000001004b0000000601000029000005b10000c13d000000400100043d000000400200003900000000022104360000004003100039000000800400043d00000000004304350000006003100039000000000004004b000000e00000613d000000800500003900000000060000190000002005500039000000000705043300000000037304360000000106600039000000000046004b000000da0000413d00000000041300490000000000420435000000060200002900000000040204330000000002430436000000000004004b000000ef0000613d000000000300001900000006050000290000002005500039000000000605043300000000026204360000000103300039000000000043004b000000e90000413d0000000002120049000001ef0020009c000001ef020080410000006002200210000001ef0010009c000001ef010080410000004001100210000000000112019f0000000002000414000001ef0020009c000001ef02008041000000c002200210000000000121019f0000021d011001c70000800d0200003900000004030000390000021e0400004100000000050004110000000906000029000000030700002907b607ac0000040f0000000100200190000003620000613d00000209010000410000000000100443000000040100002900000004001004430000000001000414000001ef0010009c000001ef01008041000000c0011002100000020a011001c7000080020200003907b607b10000040f0000000100200190000006260000613d000000000101043b000000000001004b000004050000613d000000400300043d0000004401300039000000a00200003900000000002104350000002401300039000000090200002900000000002104350000021f010000410000000000130435000000040130003900000000020004110000000000210435000000a401300039000000800200043d0000000000210435000b00000003001d000000c401300039000000000002004b000001310000613d000000800300003900000000040000190000002003300039000000000503043300000000015104360000000104400039000000000024004b0000012b0000413d0000000b030000290000000002310049000000040220008a00000064033000390000000000230435000000060200002900000000020204330000000001210436000000000002004b000001430000613d000000000300001900000006050000290000002005500039000000000405043300000000014104360000000103300039000000000023004b0000013d0000413d0000000b030000290000000002310049000000040220008a00000084033000390000000000230435000000020200002900000000020204330000000001210436000000000002004b0000000106000029000001560000613d000000000300001900000000041300190000000005630019000000000505043300000000005404350000002003300039000000000023004b0000014f0000413d0000000003120019000000000003043500000000030004140000000304000029000000040040008c000006770000c13d00000000050004150000000f0550008a00000005055002100000000003000031000000200030008c00000020040000390000000004034019000006ac0000013d0000000001000416000000000001004b000003620000c13d0000000d01000039000000800010043f000001f001000041000000a00010043f0000010001000039000000400010043f0000000601000039000000c00010043f000001f101000041000000e00010043f000000000100041a000000010210019000000001031002700000007f0330618f0000001f0030008c00000000010000390000000101002039000000000012004b000001dd0000613d0000021a01000041000000000010043f0000002201000039000000040010043f0000021b01000041000007b800010430000001f70020009c000002190000a13d000001f80020009c000003010000613d000001f90020009c000003540000613d000001fa0020009c000003620000c13d000000a40010008c000003620000413d0000000002000416000000000002004b000003620000c13d0000000402800370000000000202043b000b00000002001d000002030020009c000003620000213d0000002402800370000000000202043b000a00000002001d000002030020009c000003620000213d0000006402800370000000000202043b000800000002001d0000004402800370000000000202043b000900000002001d0000008402800370000000000302043b000002040030009c000003620000213d0000002302300039000000000012004b000003620000813d0000000404300039000000000248034f000000000202043b000002040020009c000001fc0000213d0000001f0520003900000225055001970000003f055000390000022505500197000002050050009c000001fc0000213d0000008005500039000000400050043f000000800020043f00000000032300190000002403300039000000000013004b000003620000213d0000002001400039000000000318034f00000225042001980000001f0520018f000000a001400039000001c20000613d000000a006000039000000000703034f000000007807043c0000000006860436000000000016004b000001be0000c13d000000000005004b000001cf0000613d000000000343034f0000000304500210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000a001200039000000000001043500000000020004110000000b0020006b000004250000c13d0000000a0000006b0000044a0000c13d000000400100043d00000044021000390000022003000041000000000032043500000024021000390000000c03000039000004be0000013d000000200030008c000001f50000413d000b00000003001d000000000000043f0000000001000414000001ef0010009c000001ef01008041000000c001100210000001f2011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000b020000290000001f0220003900000005022002700000000002210019000000000021004b000001f50000813d000000000001041b0000000101100039000000000021004b000001f10000413d000000a00100043d000001f3011001970000001a011001bf000000000010041b000000c00400043d000001f40040009c000002350000413d0000021a01000041000000000010043f0000004101000039000000040010043f0000021b01000041000007b800010430000002010020009c000002750000613d000002020020009c000003620000c13d000000240010008c000003620000413d0000000001000416000000000001004b000003620000c13d0000000401800370000000000201043b0000020c00200198000003620000c13d0000000101000039000002220020009c000003910000613d000002230020009c000003910000613d000002240020009c000003910000613d000000800000043f0000020f01000041000007b70001042e000001fb0020009c000002910000613d000001fc0020009c000003620000c13d0000000001000416000000000001004b000003620000c13d0000000103000039000000000203041a000000010520019000000001012002700000007f0410018f00000000010460190000001f0010008c00000000060000390000000106002039000000000662013f00000001006001900000017a0000c13d000000800010043f000000000005004b0000036e0000c13d0000022601200197000000a00010043f000000000004004b000000c001000039000000a001006039000003c00000013d0000000106000039000000000106041a000000010010019000000001031002700000007f0330618f0000001f0030008c00000000020000390000000102002039000000000121013f00000001001001900000017a0000c13d000000200030008c000002610000413d000a00000003001d000b00000004001d0000000101000039000000000010043f0000000001000414000001ef0010009c000001ef01008041000000c001100210000001f2011001c7000080100200003907b607b10000040f0000000100200190000003620000613d0000000b040000290000001f024000390000000502200270000000200040008c0000000002004019000000000301043b0000000a010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b0000000106000039000002610000813d000000000002041b0000000102200039000000000012004b0000025d0000413d0000001f0040008c000003640000a13d000b00000004001d000000000060043f0000000001000414000001ef0010009c000001ef01008041000000c001100210000001f2011001c7000080100200003907b607b10000040f0000000100200190000003620000613d0000000b070000290000022502700198000000000101043b000003940000c13d000000e0030000390000000106000039000003a30000013d000000440010008c000003620000413d0000000001000416000000000001004b000003620000c13d0000000401800370000000000101043b000002030010009c000003620000213d000000000010043f0000000201000039000000200010043f00000040020000390000000001000019000b00000008035307b607970000040f0000000b0200035f0000002402200370000000000202043b000000000020043f000000200010043f0000000001000019000000400200003907b607970000040f000000000101041a000000800010043f0000020f01000041000007b70001042e000000440010008c000003620000413d0000000002000416000000000002004b000003620000c13d0000000402800370000000000202043b000002040020009c000003620000213d0000002303200039000000000013004b000003620000813d0000000403200039000000000338034f000000000403043b000002040040009c000001fc0000213d00000005034002100000003f053000390000021405500197000002050050009c000001fc0000213d0000008005500039000000400050043f000000800040043f00000024022000390000000003230019000000000013004b000003620000213d000000000004004b000002b90000613d000000a004000039000000000528034f000000000505043b000002030050009c000003620000213d00000000045404360000002002200039000000000032004b000002b10000413d0000002402800370000000000202043b000002040020009c000003620000213d0000002303200039000000000013004b000000000400001900000215040040410000021503300197000000000003004b00000000050000190000021505002041000002150030009c000000000504c019000000000005004b000003620000613d0000000403200039000000000338034f000000000303043b000002040030009c000001fc0000213d00000005043002100000003f054000390000021405500197000000400600043d0000000005560019000900000006001d000000000065004b00000000060000390000000106004039000002040050009c000001fc0000213d0000000100600190000001fc0000c13d000000400050043f00000009050000290000000005350436000800000005001d00000024022000390000000004240019000000000014004b000003620000213d000000000003004b000004820000c13d000000800200043d000000000002004b0000000002000019000004920000613d000004b80000013d0000000001000416000000000001004b000003620000c13d000000000200041a000000010420019000000001012002700000007f0310018f00000000010360190000001f0010008c00000000050000390000000105002039000000000552013f00000001005001900000017a0000c13d000000800010043f000000000004004b0000037c0000c13d0000022601200197000000a00010043f000000000003004b000000c001000039000000a001006039000003c00000013d000000440010008c000003620000413d0000000001000416000000000001004b000003620000c13d0000000401800370000000000101043b000b00000001001d000002030010009c000003620000213d0000002401800370000000000201043b000000000002004b0000000001000039000000010100c039000a00000002001d000000000012004b000003620000c13d00000000020004110000000b0020006c000003d30000c13d0000020e01000041000000800010043f0000002001000039000000840010043f0000000e01000039000000a40010043f0000021101000041000000c40010043f0000021201000041000007b800010430000000240010008c000003620000413d0000000001000416000000000001004b000003620000c13d0000000401800370000000000101043b000000000010043f0000000401000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000400500043d000000000101043b000000000701041a000000010370019000000001067002700000007f0260018f00000000060260190000001f0060008c00000000040000390000000104002039000000000447013f00000001004001900000017a0000c13d0000000004650436000000000003004b000b00000005001d000004070000c13d00000226017001970000000000140435000000000002004b000000200200003900000000020060390000002002200039000000000105001907b607510000040f0000002001000039000000400200043d000a00000002001d00000000021204360000000b0100002907b607630000040f0000000a02000029000003ca0000013d000000440010008c000003620000413d0000000001000416000000000001004b000003620000c13d0000000401800370000000000101043b000002030010009c000003620000213d0000002402800370000000000202043b000b00000002001d000002030020009c000003810000a13d0000000001000019000007b800010430000000000004004b0000000001000019000003680000613d000000e00100043d0000000302400210000002270220027f0000022702200167000000000121016f0000000102400210000003ae0000013d000000000030043f000000020020008c0000037f0000413d000002130200004100000000040000190000000003040019000000000402041a000000a005300039000000000045043500000001022000390000002004300039000000000014004b000003730000413d000003bf0000013d000000000000043f000000020020008c000003b50000813d000000a001000039000003c00000013d000000000010043f0000000301000039000000200010043f0000004002000039000000000100001907b607970000040f0000000b02000029000000000020043f000000200010043f0000000001000019000000400200003907b607970000040f000000000101041a000000ff001001900000000001000039000000010100c039000000800010043f0000020f01000041000007b70001042e000000010320008a000000050330027000000000033100190000002004000039000000010330003900000001060000390000000005040019000000c0044000390000000004040433000000000041041b00000020045000390000000101100039000000000031004b0000039a0000c13d000000e003500039000000000072004b000003ac0000813d0000000302700210000000f80220018f000002270220027f00000227022001670000000003030433000000000223016f000000000021041b00000001017002100000000002060019000000000121019f000000000016041b000000200100003900000100001004430000012000000443000001f501000041000007b70001042e000002210200004100000000040000190000000003040019000000000402041a000000a005300039000000000045043500000001022000390000002004300039000000000014004b000003b70000413d000000c001300039000000800210008a000000800100003907b607510000040f0000002001000039000000400200043d000b00000002001d0000000002120436000000800100003907b607630000040f0000000b020000290000000001210049000001ef0010009c000001ef010080410000006001100210000001ef0020009c000001ef020080410000004002200210000000000121019f000007b70001042e000000000020043f0000000301000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000b02000029000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b000000000201041a00000226022001970000000a03000029000000000232019f000000000021041b000000400100043d0000000000310435000001ef0010009c000001ef0100804100000040011002100000000002000414000001ef0020009c000001ef02008041000000c002200210000000000112019f000001f2011001c70000800d020000390000000303000039000002100400004100000000050004110000000b0600002907b607ac0000040f0000000100200190000003620000613d0000000001000019000007b70001042e000800000007001d000900000004001d000a00000006001d000000000010043f0000000001000414000001ef0010009c000001ef01008041000000c001100210000001f2011001c7000080100200003907b607b10000040f0000000100200190000003620000613d0000000802000029000000020020008c00000000020000190000000b050000290000000a060000290000000907000029000003490000413d000000000101043b00000000020000190000000003270019000000000401041a000000000043043500000001011000390000002002200039000000000062004b0000041d0000413d000003490000013d0000000b01000029000000000010043f0000000301000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b000000000101041a000000ff00100190000001d40000c13d000000400100043d00000044021000390000021703000041000000000032043500000024021000390000001203000039000004be0000013d000000400200043d000002070020009c000001fc0000213d0000004001200039000000400010043f00000020012000390000000903000029000000000031043500000001010000390000000000120435000000400200043d000002070020009c000001fc0000213d0000004003200039000000400030043f00000020032000390000000804000029000000000043043500000000001204350000000b01000029000000000010043f0000000201000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000902000029000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b000000000101041a0007000800100074000004fe0000813d000000400100043d00000044021000390000021c03000041000000000032043500000024021000390000001003000039000004be0000013d0000000903000029000000000608034f000000000526034f000000000505043b000000200330003900000000005304350000002002200039000000000042004b000004840000413d00000009020000290000000002020433000000800300043d000000000023004b000004b80000c13d000002040020009c000001fc0000213d00000005032002100000003f043000390000021605400197000000400400043d000700000004001d0000000004450019000000000054004b00000000050000390000000105004039000002040040009c000001fc0000213d0000000100500190000001fc0000c13d000000400040043f00000007040000290000000002240436000600000002001d0000001f0230018f000000000003004b000004ad0000613d000000000118034f00000006040000290000000003340019000000001501043c0000000004540436000000000034004b000004a90000c13d000000000002004b000000800100043d000000000001004b000004c90000c13d000000400200043d000b00000002001d00000020010000390000000002120436000000070100002907b607750000040f000003c90000013d000000400100043d00000044021000390000021903000041000000000032043500000024021000390000000f0300003900000000003204350000020e020000410000000000210435000000040210003900000020030000390000000000320435000001ef0010009c000001ef01008041000000400110021000000218011001c7000007b8000104300000000003000019000b00000003001d0000000501300210000a00000001001d000000a00110003900000000010104330000020301100197000000000010043f0000000201000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000090200002900000000020204330000000b0020006c000006200000a13d0000000a0400002900000008024000290000000002020433000000000101043b000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000070200002900000000020204330000000b03000029000000000032004b000006200000a13d0000000a040000290000000602400029000000000101043b000000000101041a00000000001204350000000103300039000000800100043d000000000013004b000004ca0000413d000004b10000013d0000000b01000029000000000010043f0000000201000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000902000029000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000702000029000000000021041b0000000a01000029000000000010043f0000000201000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000902000029000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b000000000201041a000000080020002a0000074b0000413d00000008030000290000000002320019000000000021041b000000400100043d0000002002100039000000000032043500000009020000290000000000210435000001ef0010009c000001ef0100804100000040011002100000000002000414000001ef0020009c000001ef02008041000000c002200210000000000112019f00000206011001c70000800d020000390000000403000039000002080400004100000000050004110000000b060000290000000a0700002907b607ac0000040f0000000100200190000003620000613d000002090100004100000000001004430000000a0100002900000004001004430000000001000414000001ef0010009c000001ef01008041000000c0011002100000020a011001c7000080020200003907b607b10000040f0000000100200190000006260000613d000000000101043b000000000001004b000004050000613d000000400300043d0000008401300039000000a002000039000000000021043500000064013000390000000802000029000000000021043500000044013000390000000902000029000000000021043500000024013000390000000b0200002900000000002104350000020b010000410000000000130435000000040130003900000000020004110000000000210435000000a402300039000000800100043d0000000000120435000700000003001d000000c402300039000000000001004b000005840000613d00000000030000190000000004230019000000a005300039000000000505043300000000005404350000002003300039000000000013004b0000057d0000413d0000000002210019000000000002043500000000020004140000000a03000029000000040030008c000006270000c13d00000000050004150000000d0550008a00000005055002100000000003000031000000200030008c000000200400003900000000040340190000065a0000013d0000000901000029000000000010043f0000000301000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b000000000101041a000000ff00100190000000c40000c13d000004430000013d00000000020000190000000001010433000000000021004b000006200000a13d000800000002001d0000000501200210000000a0021000390000000002020433000b00000002001d00000005011000290000000001010433000a00000001001d0000000901000029000000000010043f0000000201000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000b02000029000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b000000000101041a0007000a001000740000047b0000413d0000000901000029000000000010043f0000000201000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000b02000029000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000702000029000000000021041b0000000301000029000000000010043f0000000201000039000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b0000000b02000029000000000020043f000000200010043f0000000001000414000001ef0010009c000001ef01008041000000c00110021000000206011001c7000080100200003907b607b10000040f0000000100200190000003620000613d000000000101043b000000000201041a0000000a03000029000000000032001a0000074b0000413d0000000002320019000000000021041b00000008020000290000000102200039000000800100043d000000000012004b0000000601000029000005b20000413d000000cf0000013d0000021a01000041000000000010043f0000003201000039000000040010043f0000021b01000041000007b800010430000000000001042f0000001f011000390000022501100197000000c401100039000001ef0010009c000001ef0100804100000060011002100000000703000029000001ef0030009c000001ef030080410000004003300210000000000131019f000001ef0020009c000001ef02008041000000c002200210000000000112019f0000000a0200002907b607ac0000040f0000006003100270000001ef03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000705700029000006470000613d000000000801034f0000000709000029000000008a08043c0000000009a90436000000000059004b000006430000c13d000000000006004b000006540000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00000000050004150000000c0550008a00000005055002100000000100200190000006ca0000613d0000001f01400039000000600110018f0000000702100029000000000012004b00000000010000390000000101004039000002040020009c000001fc0000213d0000000100100190000001fc0000c13d0000000004020019000000400020043f000000200030008c000003620000413d000000070100002900000000010104330000020c00100198000003620000c13d0000000502500270000000000201001f0000020d011001970000020b0010009c000004050000613d0000020e01000041000b00000004001d0000000000140435000000040140003907b607820000040f0000071f0000013d0000001f0220003900000225022001970000000b0400002900000000014100490000000001210019000001ef0010009c000001ef010080410000006001100210000001ef0040009c000001ef0200004100000000020440190000004002200210000000000121019f000001ef0030009c000001ef03008041000000c002300210000000000112019f000000030200002907b607ac0000040f0000006003100270000001ef03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000b05700029000006990000613d000000000801034f0000000b09000029000000008a08043c0000000009a90436000000000059004b000006950000c13d000000000006004b000006a60000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00000000050004150000000e0550008a00000005055002100000000100200190000006e40000613d0000001f01400039000000600110018f0000000b02100029000000000012004b00000000010000390000000101004039000002040020009c000001fc0000213d0000000100100190000001fc0000c13d0000000004020019000000400020043f000000200030008c000003620000413d0000000b0100002900000000010104330000020c00100198000003620000c13d0000000502500270000000000201001f0000020d011001970000021f0010009c000004050000613d0000020e01000041000a00000004001d0000000000140435000000040140003907b607820000040f0000000a02000029000007200000013d000000040230008c000007190000413d000000000400043d0000020c04400197000000000501043b0000020d05500197000000000445019f000000000040043f000000440030008c000007190000413d0000020d044001970000020e0040009c000007190000c13d000000040510037000000225062001980000001f0720018f000000400400043d0000000001640019000006fd0000613d000000000805034f0000000009040019000000008a08043c0000000009a90436000000000019004b000006df0000c13d000006fd0000013d000000040230008c000007190000413d000000000400043d0000020c04400197000000000501043b0000020d05500197000000000445019f000000000040043f000000440030008c000007190000413d0000020d044001970000020e0040009c000007190000c13d000000040510037000000225062001980000001f0720018f000000400400043d0000000001640019000006fd0000613d000000000805034f0000000009040019000000008a08043c0000000009a90436000000000019004b000006f90000c13d000000000007004b0000070a0000613d000000000565034f0000000306700210000000000701043300000000076701cf000000000767022f000000000505043b0000010006600089000000000565022f00000000056501cf000000000575019f00000000005104350000000005040433000002040050009c000007190000213d0000002401500039000000000031004b000007190000213d00000000014500190000000003010433000002040030009c000007190000213d000000000224001900000000063100190000002006600039000000000026004b000007290000a13d000000400200043d000b00000002001d0000020e010000410000000000120435000000040120003907b6078c0000040f0000000b020000290000000001210049000001ef0010009c000001ef010080410000006001100210000001ef0020009c000001ef020080410000004002200210000000000121019f000007b80001043000000000023500190000003f0220003900000225022001970000000004420019000000000024004b00000000020000390000000102004039000002040040009c000001fc0000213d0000000100200190000001fc0000c13d0000000003040019000000400040043f000000000001004b000007190000613d0000020e020000410000000004030019000b00000003001d0000000000230435000000040230003900000020030000390000000000320435000000240240003907b607630000040f0000000b020000290000000001210049000001ef0010009c000001ef01008041000001ef0020009c000001ef0200804100000060011002100000004002200210000000000121019f000007b8000104300000021a01000041000000000010043f0000001101000039000000040010043f0000021b01000041000007b8000104300000001f0220003900000225022001970000000001120019000000000021004b00000000020000390000000102004039000002040010009c0000075d0000213d00000001002001900000075d0000c13d000000400010043f000000000001042d0000021a01000041000000000010043f0000004101000039000000040010043f0000021b01000041000007b80001043000000000430104340000000001320436000000000003004b0000076f0000613d000000000200001900000000052100190000000006240019000000000606043300000000006504350000002002200039000000000032004b000007680000413d000000000231001900000000000204350000001f0230003900000225022001970000000001210019000000000001042d000000000301001900000000040104330000000001420436000000000004004b000007810000613d00000000020000190000002003300039000000000503043300000000015104360000000102200039000000000042004b0000077b0000413d000000000001042d00000040021000390000022803000041000000000032043500000020021000390000000f030000390000000000320435000000200200003900000000002104350000006001100039000000000001042d000000400210003900000229030000410000000000320435000000200210003900000010030000390000000000320435000000200200003900000000002104350000006001100039000000000001042d000000000001042f000001ef0010009c000001ef010080410000004001100210000001ef0020009c000001ef020080410000006002200210000000000112019f0000000002000414000001ef0020009c000001ef02008041000000c002200210000000000112019f0000021d011001c7000080100200003907b607b10000040f0000000100200190000007aa0000613d000000000101043b000000000001042d0000000001000019000007b800010430000007af002104210000000102000039000000000001042d0000000002000019000000000001042d000007b4002104230000000102000039000000000001042d0000000002000019000000000001042d000007b600000432000007b70001042e000007b80001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff4e46542041425320546f6b656e000000000000000000000000000000000000004e465441425300000000000000000000000000000000000000000000000000000200000000000000000000000000000000000020000000000000000000000000ffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000200000000000000000000000000000040000001000000000000000000000000000000000000000000000000000000000000000000000000004e1273f300000000000000000000000000000000000000000000000000000000a22cb46400000000000000000000000000000000000000000000000000000000a22cb46500000000000000000000000000000000000000000000000000000000e985e9c500000000000000000000000000000000000000000000000000000000f242432a000000000000000000000000000000000000000000000000000000004e1273f40000000000000000000000000000000000000000000000000000000095d89b410000000000000000000000000000000000000000000000000000000006fdde020000000000000000000000000000000000000000000000000000000006fdde03000000000000000000000000000000000000000000000000000000000e89341c000000000000000000000000000000000000000000000000000000002eb2c2d60000000000000000000000000000000000000000000000000000000000fdd58e0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffff7f0200000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbfc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f621806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000f23a6e610000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000008c379a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000017307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31415050524f56494e475f53454c460000000000000000000000000000000000000000000000000000000000000000000000000064000000800000000000000000b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fffffffffffffffe0214f574e45525f4f525f415050524f564544000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000004c454e4754485f4d49534d4154434800000000000000000000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000494e53554646494349454e545f42414c0000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fbbc197c8100000000000000000000000000000000000000000000000000000000544f5f5a45524f5f414444520000000000000000000000000000000000000000290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301ffc9a7000000000000000000000000000000000000000000000000000000000e89341c00000000000000000000000000000000000000000000000000000000d9b67a2600000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff544f4b454e535f52454a454354454400000000000000000000000000000000002145524331313535524543454956455200000000000000000000000000000000934dc17e2f25254eecdeb1ff3e6cccb7e226eabbc9017a94ff7d4be16da8b3d1
Loading...
Loading
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.