b83d9cb7-09ac-4e3f-afa9-1ff09b9e4430
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31060 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 76174 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 76175 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 76176 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 76177 | capability.graph | complete | 1 / 3 | 1 week ago |
| 76178 | detector.run | complete | 1 / 3 | 1 week ago |
| 76179 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1475407] OpenAI Codex v0.77.0 (research preview)
[codex:1475407] --------
[codex:1475407] workdir: /tmp/codex-multi-_j9_jpcu
[codex:1475407] model: gpt-5.2-codex
[codex:1475407] provider: openai
[codex:1475407] approval: never
[codex:1475407] sandbox: read-only
[codex:1475407] reasoning effort: xhigh
[codex:1475407] reasoning summaries: auto
[codex:1475407] session id: 019b7a1b-bcef-7c02-83fc-b09b5b207429
[codex:1475407] --------
[codex:1475407] user
[codex:1475407] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1475407]
[codex:1475407] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1475407]
[codex:1475407] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1475407] - Gas inefficiency, code quality, naming, or best practices
[codex:1475407] - Theoretical vulnerabilities without a clear extraction path
[codex:1475407] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1475407] - Front-running unless it enables theft beyond MEV
[codex:1475407] - DoS, griefing, or issues that don't result in attacker profit
[codex:1475407] - Missing events, view function issues, or informational findings
[codex:1475407]
[codex:1475407] HIGH-VALUE PATTERNS TO HUNT:
[codex:1475407] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1475407] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1475407] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1475407] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1475407] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1475407] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1475407] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1475407] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1475407] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1475407]
[codex:1475407] For each finding, you MUST provide:
[codex:1475407] 1. Exact file and line numbers of vulnerable code
[codex:1475407] 2. Step-by-step exploit transaction sequence
[codex:1475407] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1475407]
[codex:1475407] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1475407]
[codex:1475407] Output MUST be valid JSON matching the provided schema.
[codex:1475407] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1475407] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1475407] mcp startup: no servers
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Preparing to read AUDIT_BUNDLE.txt**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc ls in /tmp/codex-multi-_j9_jpcu succeeded in 5ms:
[codex:1475407] AUDIT_BUNDLE.txt
[codex:1475407] codex-output-schema.json
[codex:1475407] contracts
[codex:1475407] exec
[codex:1475407] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-_j9_jpcu succeeded in 6ms:
[codex:1475407] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1475407]
[codex:1475407] ================================================================================
[codex:1475407] FILE: contracts/contracts/PackageVersioned.sol
[codex:1475407] ================================================================================
[codex:1475407] // SPDX-License-Identifier: MIT OR Apache-2.0
[codex:1475407] pragma solidity >=0.6.11;
[codex:1475407]
[codex:1475407] /**
[codex:1475407] * @title PackageVersioned
[codex:1475407] * @notice Package version getter for contracts
[codex:1475407] **/
[codex:1475407] abstract contract PackageVersioned {
[codex:1475407] // GENERATED CODE - DO NOT EDIT
[codex:1475407] string public constant PACKAGE_VERSION = "9.0.9";
[codex:1475407] }
[codex:1475407]
[codex:1475407] ================================================================================
[codex:1475407] FILE: contracts/contracts/client/GasRouter.sol
[codex:1475407] ================================================================================
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Scanning contracts for vulnerabilities**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc 'rg -n "withdraw|claim|transfer|mint|burn|redeem|deposit|bridge|rebalance|hook" contracts/contracts -g"*.sol"' in /tmp/codex-multi-_j9_jpcu succeeded in 9ms:
[codex:1475407] contracts/contracts/interfaces/hooks/IPostDispatchHook.sol:37: * @notice Returns an enum that represents the type of hook
[codex:1475407] contracts/contracts/interfaces/hooks/IPostDispatchHook.sol:39: function hookType() external view returns (uint8);
[codex:1475407] contracts/contracts/interfaces/hooks/IPostDispatchHook.sol:42: * @notice Returns whether the hook supports metadata
[codex:1475407] contracts/contracts/interfaces/hooks/IPostDispatchHook.sol:44: * @return Whether the hook supports metadata
[codex:1475407] contracts/contracts/interfaces/hooks/IPostDispatchHook.sol:52: * @param metadata The metadata required for the hook
[codex:1475407] contracts/contracts/interfaces/hooks/IPostDispatchHook.sol:62: * @param metadata The metadata required for the hook
[codex:1475407] contracts/contracts/interfaces/ITokenBridge.sol:17: function transferRemote(
[codex:1475407] contracts/contracts/interfaces/ITokenBridge.sol:24: * @notice Provide the value transfer quote
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:32: * @title Hyperlane ERC20 Token Collateral that wraps an existing ERC20 with remote transfer functionality.
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:54: address _hook,
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:58: _MailboxClient_initialize(_hook, _interchainSecurityModule, _owner);
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:84: function _transferFromSender(
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:95: function _transferTo(
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:103: function _rebalance(
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:107: ValueTransferBridge bridge
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:109: wrappedToken.safeApprove({spender: address(bridge), value: amount});
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:110: MovableCollateralRouter._rebalance({
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:114: bridge: bridge
[codex:1475407] contracts/contracts/interfaces/IMailbox.sol:5:import {IPostDispatchHook} from "./hooks/IPostDispatchHook.sol";
[codex:1475407] contracts/contracts/token/interfaces/ValueTransferBridge.sol:16: function transferRemote(
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Listing contracts folder**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc 'rg -n "contract" contracts/contracts/token -g"*.sol"' in /tmp/codex-multi-_j9_jpcu succeeded in 8ms:
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:24:import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:25:import {Address} from "@openzeppelin/contracts/utils/Address.sol";
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:26:import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:27:import {Context} from "@openzeppelin/contracts/utils/Context.sol";
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:28:import {ContextUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol";
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:35:contract HypERC20Collateral is MovableCollateralRouter {
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:81: * @dev Transfers `_amount` of `wrappedToken` from `msg.sender` to this contract.
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol:92: * @dev Transfers `_amount` of `wrappedToken` from this contract to `_recipient`.
[codex:1475407] contracts/contracts/token/libs/FungibleTokenRouter.sol:10:abstract contract FungibleTokenRouter is TokenRouter {
[codex:1475407] contracts/contracts/token/libs/TokenRouter.sol:14:abstract contract TokenRouter is GasRouter, ITokenBridge {
[codex:1475407] contracts/contracts/token/libs/MovableCollateralRouter.sol:7:import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
[codex:1475407] contracts/contracts/token/libs/MovableCollateralRouter.sol:9:import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1475407] contracts/contracts/token/libs/MovableCollateralRouter.sol:10:import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1475407] contracts/contracts/token/libs/MovableCollateralRouter.sol:12:abstract contract MovableCollateralRouter is FungibleTokenRouter {
[codex:1475407] contracts/contracts/token/libs/MovableCollateralRouter.sol:136: /// See https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v5.3.0-rc.0/contracts/utils/structs/EnumerableSet.sol#L126
[codex:1475407] contracts/contracts/token/libs/MovableCollateralRouter.sol:144: /// @dev A helper for `_clear`. See https://github.com/OpenZeppelin/openzeppelin-contracts/blob/39f5a0284e7eb539354e44b76fcbb69033b22b56/contracts/utils/Arrays.sol#L466
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Checking token directories**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc 'ls contracts/contracts/token' in /tmp/codex-multi-_j9_jpcu succeeded in 6ms:
[codex:1475407] HypERC20Collateral.sol
[codex:1475407] interfaces
[codex:1475407] libs
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Inspecting HypERC20Collateral component**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc "sed -n '1,200p' contracts/contracts/token/HypERC20Collateral.sol" in /tmp/codex-multi-_j9_jpcu succeeded in 5ms:
[codex:1475407] // SPDX-License-Identifier: MIT OR Apache-2.0
[codex:1475407] pragma solidity >=0.8.0;
[codex:1475407]
[codex:1475407] /*@@@@@@@ @@@@@@@@@
[codex:1475407] @@@@@@@@@ @@@@@@@@@
[codex:1475407] @@@@@@@@@ @@@@@@@@@
[codex:1475407] @@@@@@@@@ @@@@@@@@@
[codex:1475407] @@@@@@@@@@@@@@@@@@@@@@@@@
[codex:1475407] @@@@@ HYPERLANE @@@@@@@
[codex:1475407] @@@@@@@@@@@@@@@@@@@@@@@@@
[codex:1475407] @@@@@@@@@ @@@@@@@@@
[codex:1475407] @@@@@@@@@ @@@@@@@@@
[codex:1475407] @@@@@@@@@ @@@@@@@@@
[codex:1475407] @@@@@@@@@ @@@@@@@@*/
[codex:1475407]
[codex:1475407] // ============ Internal Imports ============
[codex:1475407] import {TokenMessage} from "./libs/TokenMessage.sol";
[codex:1475407] import {TokenRouter} from "./libs/TokenRouter.sol";
[codex:1475407] import {FungibleTokenRouter} from "./libs/FungibleTokenRouter.sol";
[codex:1475407] import {MovableCollateralRouter} from "./libs/MovableCollateralRouter.sol";
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Reviewing related contract files**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc 'find contracts/contracts -maxdepth 2 -type f -name "*.sol"' in /tmp/codex-multi-_j9_jpcu succeeded in 6ms:
[codex:1475407] contracts/contracts/PackageVersioned.sol
[codex:1475407] contracts/contracts/libs/EnumerableMapExtended.sol
[codex:1475407] contracts/contracts/libs/TypeCasts.sol
[codex:1475407] contracts/contracts/libs/Message.sol
[codex:1475407] contracts/contracts/token/HypERC20Collateral.sol
[codex:1475407] contracts/contracts/client/Router.sol
[codex:1475407] contracts/contracts/client/MailboxClient.sol
[codex:1475407] contracts/contracts/client/GasRouter.sol
[codex:1475407] contracts/contracts/interfaces/IMailbox.sol
[codex:1475407] contracts/contracts/interfaces/IInterchainSecurityModule.sol
[codex:1475407] contracts/contracts/interfaces/ITokenBridge.sol
[codex:1475407] contracts/contracts/interfaces/IMessageRecipient.sol
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Analyzing unprotected initialize exploit potential**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc "nl -ba contracts/contracts/token/HypERC20Collateral.sol | sed -n '1,140p'" in /tmp/codex-multi-_j9_jpcu succeeded in 6ms:
[codex:1475407] 1 // SPDX-License-Identifier: MIT OR Apache-2.0
[codex:1475407] 2 pragma solidity >=0.8.0;
[codex:1475407] 3
[codex:1475407] 4 /*@@@@@@@ @@@@@@@@@
[codex:1475407] 5 @@@@@@@@@ @@@@@@@@@
[codex:1475407] 6 @@@@@@@@@ @@@@@@@@@
[codex:1475407] 7 @@@@@@@@@ @@@@@@@@@
[codex:1475407] 8 @@@@@@@@@@@@@@@@@@@@@@@@@
[codex:1475407] 9 @@@@@ HYPERLANE @@@@@@@
[codex:1475407] 10 @@@@@@@@@@@@@@@@@@@@@@@@@
[codex:1475407] 11 @@@@@@@@@ @@@@@@@@@
[codex:1475407] 12 @@@@@@@@@ @@@@@@@@@
[codex:1475407] 13 @@@@@@@@@ @@@@@@@@@
[codex:1475407] 14 @@@@@@@@@ @@@@@@@@*/
[codex:1475407] 15
[codex:1475407] 16 // ============ Internal Imports ============
[codex:1475407] 17 import {TokenMessage} from "./libs/TokenMessage.sol";
[codex:1475407] 18 import {TokenRouter} from "./libs/TokenRouter.sol";
[codex:1475407] 19 import {FungibleTokenRouter} from "./libs/FungibleTokenRouter.sol";
[codex:1475407] 20 import {MovableCollateralRouter} from "./libs/MovableCollateralRouter.sol";
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Marking key function lines**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc "nl -ba contracts/contracts/token/libs/MovableCollateralRouter.sol | sed -n '1,220p'" in /tmp/codex-multi-_j9_jpcu succeeded in 6ms:
[codex:1475407] 1 // SPDX-License-Identifier: Apache-2.0
[codex:1475407] 2 pragma solidity >=0.8.0;
[codex:1475407] 3
[codex:1475407] 4 import {Router} from "../../client/Router.sol";
[codex:1475407] 5 import {FungibleTokenRouter} from "./FungibleTokenRouter.sol";
[codex:1475407] 6 import {ValueTransferBridge} from "../interfaces/ValueTransferBridge.sol";
[codex:1475407] 7 import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
[codex:1475407] 8
[codex:1475407] 9 import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1475407] 10 import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1475407] 11
[codex:1475407] 12 abstract contract MovableCollateralRouter is FungibleTokenRouter {
[codex:1475407] 13 using SafeERC20 for IERC20;
[codex:1475407] 14 using EnumerableSet for EnumerableSet.AddressSet;
[codex:1475407] 15
[codex:1475407] 16 /// @notice Mapping of domain to allowed rebalance recipient.
[codex:1475407] 17 /// @dev Keys constrained to a subset of Router.domains()
[codex:1475407] 18 mapping(uint32 routerDomain => bytes32 recipient) public allowedRecipient;
[codex:1475407] 19
[codex:1475407] 20 /// @notice Mapping of domain to allowed rebalance bridges.
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Evaluating initialization and exploit possibilities**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc "nl -ba contracts/contracts/client/MailboxClient.sol | sed -n '80,170p'" in /tmp/codex-multi-_j9_jpcu succeeded in 6ms:
[codex:1475407] 80 virtual
[codex:1475407] 81 returns (IInterchainSecurityModule)
[codex:1475407] 82 {
[codex:1475407] 83 return _interchainSecurityModule;
[codex:1475407] 84 }
[codex:1475407] 85
[codex:1475407] 86 /**
[codex:1475407] 87 * @notice Sets the address of the application's custom hook.
[codex:1475407] 88 * @param _hook The address of the hook contract.
[codex:1475407] 89 */
[codex:1475407] 90 function setHook(
[codex:1475407] 91 address _hook
[codex:1475407] 92 ) public virtual onlyContractOrNull(_hook) onlyOwner {
[codex:1475407] 93 hook = IPostDispatchHook(_hook);
[codex:1475407] 94 emit HookSet(_hook);
[codex:1475407] 95 }
[codex:1475407] 96
[codex:1475407] 97 /**
[codex:1475407] 98 * @notice Sets the address of the application's custom interchain security module.
[codex:1475407] 99 * @param _module The address of the interchain security module contract.
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Analyzing unprotected initialize vulnerability**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-_j9_jpcu succeeded in 5ms:
[codex:1475407] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Summarizing vulnerability reporting format and analysis**
[codex:1475407]
[codex:1475407] I'll outline the JSON structure required for reporting—including no_findings, summary, and findings with detailed evidence, locations, exploit scenarios, and profit estimates. I'm carefully weighing whether the unprotected initialize function counts as a concrete vulnerability given typical upgradeable contract patterns and the risk if initialization is omitted; this potential proxy hijacking fits the user's high-value pattern criteria, so I lean toward reporting it. I’m also scanning for other vulnerabilities like assembly storage manipulation or unchecked math but find no clear exploits there.
[codex:1475407] exec
[codex:1475407] /bin/bash -lc "sed -n '1,200p' contracts/contracts/libs/TypeCasts.sol" in /tmp/codex-multi-_j9_jpcu succeeded in 5ms:
[codex:1475407] // SPDX-License-Identifier: MIT OR Apache-2.0
[codex:1475407] pragma solidity >=0.6.11;
[codex:1475407]
[codex:1475407] library TypeCasts {
[codex:1475407] // alignment preserving cast
[codex:1475407] function addressToBytes32(address _addr) internal pure returns (bytes32) {
[codex:1475407] return bytes32(uint256(uint160(_addr)));
[codex:1475407] }
[codex:1475407]
[codex:1475407] // alignment preserving cast
[codex:1475407] function bytes32ToAddress(bytes32 _buf) internal pure returns (address) {
[codex:1475407] require(
[codex:1475407] uint256(_buf) <= uint256(type(uint160).max),
[codex:1475407] "TypeCasts: bytes32ToAddress overflow"
[codex:1475407] );
[codex:1475407] return address(uint160(uint256(_buf)));
[codex:1475407] }
[codex:1475407] }
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Checking for message library**
[codex:1475407] exec
[codex:1475407] /bin/bash -lc "sed -n '1,220p' contracts/contracts/libs/Message.sol" in /tmp/codex-multi-_j9_jpcu succeeded in 5ms:
[codex:1475407] // SPDX-License-Identifier: MIT OR Apache-2.0
[codex:1475407] pragma solidity >=0.8.0;
[codex:1475407]
[codex:1475407] import {TypeCasts} from "./TypeCasts.sol";
[codex:1475407]
[codex:1475407] /**
[codex:1475407] * @title Hyperlane Message Library
[codex:1475407] * @notice Library for formatted messages used by Mailbox
[codex:1475407] **/
[codex:1475407] library Message {
[codex:1475407] using TypeCasts for bytes32;
[codex:1475407]
[codex:1475407] uint256 private constant VERSION_OFFSET = 0;
[codex:1475407] uint256 private constant NONCE_OFFSET = 1;
[codex:1475407] uint256 private constant ORIGIN_OFFSET = 5;
[codex:1475407] uint256 private constant SENDER_OFFSET = 9;
[codex:1475407] uint256 private constant DESTINATION_OFFSET = 41;
[codex:1475407] uint256 private constant RECIPIENT_OFFSET = 45;
[codex:1475407] uint256 private constant BODY_OFFSET = 77;
[codex:1475407]
[codex:1475407]
[codex:1475407] thinking
[codex:1475407] **Analyzing unprotected initializer vulnerability**
[codex:1475407] codex
[codex:1475407] {"no_findings":false,"summary":"One exploitable initialization takeover enables draining all collateral if the contract is deployed without being initialized atomically.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initialize allows ownership takeover and collateral drain","exploit_scenario":"1) Contract is deployed but `initialize` is not called atomically (e.g., proxy deployed without init data or delayed setup). 2) Attacker calls `initialize(_hook, _ism, attacker)` to become owner. 3) As owner, attacker calls `approveTokenForBridge(wrappedToken, attackerEOA)` to grant themselves unlimited allowance. 4) Attacker calls `wrappedToken.transferFrom(address(HypERC20Collateral), attacker, balance)` to drain collateral. Profit: up to the full `wrappedToken` balance held by the router.","recommendation":"Require atomic initialization (pass init calldata to the proxy constructor) and/or add deployment-time safeguards (e.g., restrict `initialize` to a deployer-only address or call `_MailboxClient_initialize` in the constructor for non-proxy deployments). Disable initializers on the implementation if using proxies.","evidence":"`initialize` is public with no access control and calls `_MailboxClient_initialize`, which transfers ownership to the supplied `_owner`. Once owner, `approveTokenForBridge` can grant unlimited allowance to any address, enabling a direct `transferFrom` drain.","locations":["contracts/contracts/token/HypERC20Collateral.sol:53","contracts/contracts/client/MailboxClient.sol:109","contracts/contracts/token/libs/MovableCollateralRouter.sol:91"]}]}
[codex:1475407] tokens used
[codex:1475407] 50,412
[codex:1475407] {"no_findings":false,"summary":"One exploitable initialization takeover enables draining all collateral if the contract is deployed without being initialized atomically.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initialize allows ownership takeover and collateral drain","exploit_scenario":"1) Contract is deployed but `initialize` is not called atomically (e.g., proxy deployed without init data or delayed setup). 2) Attacker calls `initialize(_hook, _ism, attacker)` to become owner. 3) As owner, attacker calls `approveTokenForBridge(wrappedToken, attackerEOA)` to grant themselves unlimited allowance. 4) Attacker calls `wrappedToken.transferFrom(address(HypERC20Collateral), attacker, balance)` to drain collateral. Profit: up to the full `wrappedToken` balance held by the router.","recommendation":"Require atomic initialization (pass init calldata to the proxy constructor) and/or add deployment-time safeguards (e.g., restrict `initialize` to a deployer-only address or call `_MailboxClient_initialize` in the constructor for non-proxy deployments). Disable initializers on the implementation if using proxies.","evidence":"`initialize` is public with no access control and calls `_MailboxClient_initialize`, which transfers ownership to the supplied `_owner`. Once owner, `approveTokenForBridge` can grant unlimited allowance to any address, enabling a direct `transferFrom` drain.","locations":["contracts/contracts/token/HypERC20Collateral.sol:53","contracts/contracts/client/MailboxClient.sol:109","contracts/contracts/token/libs/MovableCollateralRouter.sol:91"]}]}
{
"codex": {
"ran_at": "2026-01-01T15:13:22.298706+00:00",
"returncode": 0
},
"summary": "One exploitable initialization takeover enables draining all collateral if the contract is deployed without being initialized atomically.",
"raw_final": {
"summary": "One exploitable initialization takeover enables draining all collateral if the contract is deployed without being initialized atomically.",
"findings": [
{
"title": "Unprotected initialize allows ownership takeover and collateral drain",
"category": "upgradeability",
"evidence": "`initialize` is public with no access control and calls `_MailboxClient_initialize`, which transfers ownership to the supplied `_owner`. Once owner, `approveTokenForBridge` can grant unlimited allowance to any address, enabling a direct `transferFrom` drain.",
"severity": "critical",
"locations": [
"contracts/contracts/token/HypERC20Collateral.sol:53",
"contracts/contracts/client/MailboxClient.sol:109",
"contracts/contracts/token/libs/MovableCollateralRouter.sol:91"
],
"recommendation": "Require atomic initialization (pass init calldata to the proxy constructor) and/or add deployment-time safeguards (e.g., restrict `initialize` to a deployer-only address or call `_MailboxClient_initialize` in the constructor for non-proxy deployments). Disable initializers on the implementation if using proxies.",
"exploit_scenario": "1) Contract is deployed but `initialize` is not called atomically (e.g., proxy deployed without init data or delayed setup). 2) Attacker calls `initialize(_hook, _ism, attacker)` to become owner. 3) As owner, attacker calls `approveTokenForBridge(wrappedToken, attackerEOA)` to grant themselves unlimited allowance. 4) Attacker calls `wrappedToken.transferFrom(address(HypERC20Collateral), attacker, balance)` to drain collateral. Profit: up to the full `wrappedToken` balance held by the router."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x02a0 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x81b4e8b4 00000019: GT 0000001a: PUSH2 0x016e 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xc69c8ce2 00000024: GT 00000025: PUSH2 0x00cb 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xf2ed8c53 0000002f: GT 00000030: PUSH2 0x007f 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xf51e181a 0000003a: GT 0000003b: PUSH2 0x0064 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf51e181a 00000045: EQ 00000046: PUSH2 0x07f9 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xfa57f157 00000050: EQ 00000051: PUSH2 0x082d 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfbaca44c 0000005b: EQ 0000005c: PUSH2 0x084d 0000005f: JUMPI 00000060: PUSH1 0x00 00000062: DUP1 00000063: REVERT 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xf2ed8c53 0000006b: EQ 0000006c: PUSH2 0x07b9 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xf2fde38b 00000076: EQ 00000077: PUSH2 0x07d9 0000007a: JUMPI 0000007b: PUSH1 0x00 0000007d: DUP1 0000007e: REVERT 0000007f: JUMPDEST 00000080: DUP1 00000081: PUSH4 0xde523cf3 00000086: GT 00000087: PUSH2 0x00b0 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0xde523cf3 00000091: EQ 00000092: PUSH2 0x074e 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0xe9198bf9 0000009c: EQ 0000009d: PUSH2 0x0779 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xefae508a 000000a7: EQ 000000a8: PUSH2 0x0799 000000ab: JUMPI 000000ac: PUSH1 0x00 000000ae: DUP1 000000af: REVERT 000000b0: JUMPDEST 000000b1: DUP1 000000b2: PUSH4 0xc69c8ce2 000000b7: EQ 000000b8: PUSH2 0x0705 000000bb: JUMPI 000000bc: DUP1 000000bd: PUSH4 0xd5438eae 000000c2: EQ 000000c3: PUSH2 0x071a 000000c6: JUMPI 000000c7: PUSH1 0x00 000000c9: DUP1 000000ca: REVERT 000000cb: JUMPDEST 000000cc: DUP1 000000cd: PUSH4 0x996c6cc3 000000d2: GT 000000d3: PUSH2 0x0122 000000d6: JUMPI 000000d7: DUP1 000000d8: PUSH4 0xb49c53a7 000000dd: GT 000000de: PUSH2 0x0107 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0xb49c53a7 000000e8: EQ 000000e9: PUSH2 0x06a5 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0xc0c53b8b 000000f3: EQ 000000f4: PUSH2 0x06c5 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0xc3827115 000000fe: EQ 000000ff: PUSH2 0x06e5 00000102: JUMPI 00000103: PUSH1 0x00 00000105: DUP1 00000106: REVERT 00000107: JUMPDEST 00000108: DUP1 00000109: PUSH4 0x996c6cc3 0000010e: EQ 0000010f: PUSH2 0x0651 00000112: JUMPI 00000113: DUP1 00000114: PUSH4 0xb1bd6436 00000119: EQ 0000011a: PUSH2 0x0685 0000011d: JUMPI 0000011e: PUSH1 0x00 00000120: DUP1 00000121: REVERT 00000122: JUMPDEST 00000123: DUP1 00000124: PUSH4 0x8d3638f4 00000129: GT 0000012a: PUSH2 0x0153 0000012d: JUMPI 0000012e: DUP1 0000012f: PUSH4 0x8d3638f4 00000134: EQ 00000135: PUSH2 0x0587 00000138: JUMPI 00000139: DUP1 0000013a: PUSH4 0x8da5cb5b 0000013f: EQ 00000140: PUSH2 0x05d0 00000143: JUMPI 00000144: DUP1 00000145: PUSH4 0x93c44847 0000014a: EQ 0000014b: PUSH2 0x05fb 0000014e: JUMPI 0000014f: PUSH1 0x00 00000151: DUP1 00000152: REVERT 00000153: JUMPDEST 00000154: DUP1 00000155: PUSH4 0x81b4e8b4 0000015a: EQ 0000015b: PUSH2 0x0547 0000015e: JUMPI 0000015f: DUP1 00000160: PUSH4 0x8bd90b82 00000165: EQ 00000166: PUSH2 0x055a 00000169: JUMPI 0000016a: PUSH1 0x00 0000016c: DUP1 0000016d: REVERT 0000016e: JUMPDEST 0000016f: DUP1 00000170: PUSH4 0x4e38a81d 00000175: GT 00000176: PUSH2 0x021c 00000179: JUMPI 0000017a: DUP1 0000017b: PUSH4 0x715018a6 00000180: GT 00000181: PUSH2 0x01d0 00000184: JUMPI 00000185: DUP1 00000186: PUSH4 0x775313a1 0000018b: GT 0000018c: PUSH2 0x01b5 0000018f: JUMPI 00000190: DUP1 00000191: PUSH4 0x775313a1 00000196: EQ 00000197: PUSH2 0x049b 0000019a: JUMPI 0000019b: DUP1 0000019c: PUSH4 0x77e2dc7a 000001a1: EQ 000001a2: PUSH2 0x04c8 000001a5: JUMPI 000001a6: DUP1 000001a7: PUSH4 0x7f5a7c7b 000001ac: EQ 000001ad: PUSH2 0x04f5 000001b0: JUMPI 000001b1: PUSH1 0x00 000001b3: DUP1 000001b4: REVERT 000001b5: JUMPDEST 000001b6: DUP1 000001b7: PUSH4 0x715018a6 000001bc: EQ 000001bd: PUSH2 0x0466 000001c0: JUMPI 000001c1: DUP1 000001c2: PUSH4 0x71a15b38 000001c7: EQ 000001c8: PUSH2 0x047b 000001cb: JUMPI 000001cc: PUSH1 0x00 000001ce: DUP1 000001cf: REVERT 000001d0: JUMPDEST 000001d1: DUP1 000001d2: PUSH4 0x56d5d475 000001d7: GT 000001d8: PUSH2 0x0201 000001db: JUMPI 000001dc: DUP1 000001dd: PUSH4 0x56d5d475 000001e2: EQ 000001e3: PUSH2 0x0420 000001e6: JUMPI 000001e7: DUP1 000001e8: PUSH4 0x6a99c333 000001ed: EQ 000001ee: PUSH2 0x0433 000001f1: JUMPI 000001f2: DUP1 000001f3: PUSH4 0x70a08231 000001f8: EQ 000001f9: PUSH2 0x0446 000001fc: JUMPI 000001fd: PUSH1 0x00 000001ff: DUP1 00000200: REVERT 00000201: JUMPDEST 00000202: DUP1 00000203: PUSH4 0x4e38a81d 00000208: EQ 00000209: PUSH2 0x03ed 0000020c: JUMPI 0000020d: DUP1 0000020e: PUSH4 0x51debffc 00000213: EQ 00000214: PUSH2 0x040d 00000217: JUMPI 00000218: PUSH1 0x00 0000021a: DUP1 0000021b: REVERT 0000021c: JUMPDEST 0000021d: DUP1 0000021e: PUSH4 0x2ead72f6 00000223: GT 00000224: PUSH2 0x0273 00000227: JUMPI 00000228: DUP1 00000229: PUSH4 0x43bc4b9a 0000022e: GT 0000022f: PUSH2 0x0258 00000232: JUMPI 00000233: DUP1 00000234: PUSH4 0x43bc4b9a 00000239: EQ 0000023a: PUSH2 0x038b 0000023d: JUMPI 0000023e: DUP1 0000023f: PUSH4 0x440df4f4 00000244: EQ 00000245: PUSH2 0x03ab 00000248: JUMPI 00000249: DUP1 0000024a: PUSH4 0x49d462ef 0000024f: EQ 00000250: PUSH2 0x03cd 00000253: JUMPI 00000254: PUSH1 0x00 00000256: DUP1 00000257: REVERT 00000258: JUMPDEST 00000259: DUP1 0000025a: PUSH4 0x2ead72f6 0000025f: EQ 00000260: PUSH2 0x033d 00000263: JUMPI 00000264: DUP1 00000265: PUSH4 0x3dfd3873 0000026a: EQ 0000026b: PUSH2 0x036b 0000026e: JUMPI 0000026f: PUSH1 0x00 00000271: DUP1 00000272: REVERT 00000273: JUMPDEST 00000274: DUP1 00000275: PUSH4 0x0c979919 0000027a: EQ 0000027b: PUSH2 0x02a5 0000027e: JUMPI 0000027f: DUP1 00000280: PUSH4 0x0e72cc06 00000285: EQ 00000286: PUSH2 0x02c7 00000289: JUMPI 0000028a: DUP1 0000028b: PUSH4 0x1ba83149 00000290: EQ 00000291: PUSH2 0x02e7 00000294: JUMPI 00000295: DUP1 00000296: PUSH4 0x2c2d8089 0000029b: EQ 0000029c: PUSH2 0x031d 0000029f: JUMPI 000002a0: JUMPDEST 000002a1: PUSH1 0x00 000002a3: DUP1 000002a4: REVERT 000002a5: JUMPDEST 000002a6: CALLVALUE 000002a7: DUP1 000002a8: ISZERO 000002a9: PUSH2 0x02b1 000002ac: JUMPI 000002ad: PUSH1 0x00 000002af: DUP1 000002b0: REVERT 000002b1: JUMPDEST 000002b2: POP 000002b3: PUSH2 0x02c5 000002b6: PUSH2 0x02c0 000002b9: CALLDATASIZE 000002ba: PUSH1 0x04 000002bc: PUSH2 0x2d9a 000002bf: JUMP 000002c0: JUMPDEST 000002c1: PUSH2 0x086d 000002c4: JUMP 000002c5: JUMPDEST 000002c6: STOP 000002c7: JUMPDEST 000002c8: CALLVALUE 000002c9: DUP1 000002ca: ISZERO 000002cb: PUSH2 0x02d3 000002ce: JUMPI 000002cf: PUSH1 0x00 000002d1: DUP1 000002d2: REVERT 000002d3: JUMPDEST 000002d4: POP 000002d5: PUSH2 0x02c5 000002d8: PUSH2 0x02e2 000002db: CALLDATASIZE 000002dc: PUSH1 0x04 000002de: PUSH2 0x2d9a 000002e1: JUMP 000002e2: JUMPDEST 000002e3: PUSH2 0x0884 000002e6: JUMP 000002e7: JUMPDEST 000002e8: CALLVALUE 000002e9: DUP1 000002ea: ISZERO 000002eb: PUSH2 0x02f3 000002ee: JUMPI 000002ef: PUSH1 0x00 000002f1: DUP1 000002f2: REVERT 000002f3: JUMPDEST 000002f4: POP 000002f5: PUSH2 0x0307 000002f8: PUSH2 0x0302 000002fb: CALLDATASIZE 000002fc: PUSH1 0x04 000002fe: PUSH2 0x2dd0 00000301: JUMP 00000302: JUMPDEST 00000303: PUSH2 0x09d2 00000306: JUMP 00000307: JUMPDEST 00000308: PUSH1 0x40 0000030a: MLOAD 0000030b: PUSH2 0x0314 0000030e: SWAP2 0000030f: SWAP1 00000310: PUSH2 0x2deb 00000313: JUMP 00000314: JUMPDEST 00000315: PUSH1 0x40 00000317: MLOAD 00000318: DUP1 00000319: SWAP2 0000031a: SUB 0000031b: SWAP1 0000031c: RETURN 0000031d: JUMPDEST 0000031e: CALLVALUE 0000031f: DUP1 00000320: ISZERO 00000321: PUSH2 0x0329 00000324: JUMPI 00000325: PUSH1 0x00 00000327: DUP1 00000328: REVERT 00000329: JUMPDEST 0000032a: POP 0000032b: PUSH2 0x02c5 0000032e: PUSH2 0x0338 00000331: CALLDATASIZE 00000332: PUSH1 0x04 00000334: PUSH2 0x2e45 00000337: JUMP 00000338: JUMPDEST 00000339: PUSH2 0x09f9 0000033c: JUMP 0000033d: JUMPDEST 0000033e: CALLVALUE 0000033f: DUP1 00000340: ISZERO 00000341: PUSH2 0x0349 00000344: JUMPI 00000345: PUSH1 0x00 00000347: DUP1 00000348: REVERT 00000349: JUMPDEST 0000034a: POP 0000034b: PUSH2 0x035d 0000034e: PUSH2 0x0358 00000351: CALLDATASIZE 00000352: PUSH1 0x04 00000354: PUSH2 0x2dd0 00000357: JUMP 00000358: JUMPDEST 00000359: PUSH2 0x0a24 0000035c: JUMP 0000035d: JUMPDEST 0000035e: PUSH1 0x40 00000360: MLOAD 00000361: SWAP1 00000362: DUP2 00000363: MSTORE 00000364: PUSH1 0x20 00000366: ADD 00000367: PUSH2 0x0314 0000036a: JUMP 0000036b: JUMPDEST 0000036c: CALLVALUE 0000036d: DUP1 0000036e: ISZERO 0000036f: PUSH2 0x0377 00000372: JUMPI 00000373: PUSH1 0x00 00000375: DUP1 00000376: REVERT 00000377: JUMPDEST 00000378: POP 00000379: PUSH2 0x02c5 0000037c: PUSH2 0x0386 0000037f: CALLDATASIZE 00000380: PUSH1 0x04 00000382: PUSH2 0x2d9a 00000385: JUMP 00000386: JUMPDEST 00000387: PUSH2 0x0a43 0000038a: JUMP 0000038b: JUMPDEST 0000038c: CALLVALUE 0000038d: DUP1 0000038e: ISZERO 0000038f: PUSH2 0x0397 00000392: JUMPI 00000393: PUSH1 0x00 00000395: DUP1 00000396: REVERT 00000397: JUMPDEST 00000398: POP 00000399: PUSH2 0x02c5 0000039c: PUSH2 0x03a6 0000039f: CALLDATASIZE 000003a0: PUSH1 0x04 000003a2: PUSH2 0x2d9a 000003a5: JUMP 000003a6: JUMPDEST 000003a7: PUSH2 0x0b84 000003aa: JUMP 000003ab: JUMPDEST 000003ac: CALLVALUE 000003ad: DUP1 000003ae: ISZERO 000003af: PUSH2 0x03b7 000003b2: JUMPI 000003b3: PUSH1 0x00 000003b5: DUP1 000003b6: REVERT 000003b7: JUMPDEST 000003b8: POP 000003b9: PUSH2 0x03c0 000003bc: PUSH2 0x0b97 000003bf: JUMP 000003c0: JUMPDEST 000003c1: PUSH1 0x40 000003c3: MLOAD 000003c4: PUSH2 0x0314 000003c7: SWAP2 000003c8: SWAP1 000003c9: PUSH2 0x2e6f 000003cc: JUMP 000003cd: JUMPDEST 000003ce: CALLVALUE 000003cf: DUP1 000003d0: ISZERO 000003d1: PUSH2 0x03d9 000003d4: JUMPI 000003d5: PUSH1 0x00 000003d7: DUP1 000003d8: REVERT 000003d9: JUMPDEST 000003da: POP 000003db: PUSH2 0x02c5 000003de: PUSH2 0x03e8 000003e1: CALLDATASIZE 000003e2: PUSH1 0x04 000003e4: PUSH2 0x2e45 000003e7: JUMP 000003e8: JUMPDEST 000003e9: PUSH2 0x0ba8 000003ec: JUMP 000003ed: JUMPDEST 000003ee: CALLVALUE 000003ef: DUP1 000003f0: ISZERO 000003f1: PUSH2 0x03f9 000003f4: JUMPI 000003f5: PUSH1 0x00 000003f7: DUP1 000003f8: REVERT 000003f9: JUMPDEST 000003fa: POP 000003fb: PUSH2 0x02c5 000003fe: PUSH2 0x0408 00000401: CALLDATASIZE 00000402: PUSH1 0x04 00000404: PUSH2 0x2ead 00000407: JUMP 00000408: JUMPDEST 00000409: PUSH2 0x0bba 0000040c: JUMP 0000040d: JUMPDEST 0000040e: PUSH2 0x035d 00000411: PUSH2 0x041b 00000414: CALLDATASIZE 00000415: PUSH1 0x04 00000417: PUSH2 0x2f26 0000041a: JUMP 0000041b: JUMPDEST 0000041c: PUSH2 0x0be9 0000041f: JUMP 00000420: JUMPDEST 00000421: PUSH2 0x02c5 00000424: PUSH2 0x042e 00000427: CALLDATASIZE 00000428: PUSH1 0x04 0000042a: PUSH2 0x2fa0 0000042d: JUMP 0000042e: JUMPDEST 0000042f: PUSH2 0x0c3b 00000432: JUMP 00000433: JUMPDEST 00000434: PUSH2 0x02c5 00000437: PUSH2 0x0441 0000043a: CALLDATASIZE 0000043b: PUSH1 0x04 0000043d: PUSH2 0x2ffa 00000440: JUMP 00000441: JUMPDEST 00000442: PUSH2 0x0daf 00000445: JUMP 00000446: JUMPDEST 00000447: CALLVALUE 00000448: DUP1 00000449: ISZERO 0000044a: PUSH2 0x0452 0000044d: JUMPI 0000044e: PUSH1 0x00 00000450: DUP1 00000451: REVERT 00000452: JUMPDEST 00000453: POP 00000454: PUSH2 0x035d 00000457: PUSH2 0x0461 0000045a: CALLDATASIZE 0000045b: PUSH1 0x04 0000045d: PUSH2 0x2d9a 00000460: JUMP 00000461: JUMPDEST 00000462: PUSH2 0x0f48 00000465: JUMP 00000466: JUMPDEST 00000467: CALLVALUE 00000468: DUP1 00000469: ISZERO 0000046a: PUSH2 0x0472 0000046d: JUMPI 0000046e: PUSH1 0x00 00000470: DUP1 00000471: REVERT 00000472: JUMPDEST 00000473: POP 00000474: PUSH2 0x02c5 00000477: PUSH2 0x0ffd 0000047a: JUMP 0000047b: JUMPDEST 0000047c: CALLVALUE 0000047d: DUP1 0000047e: ISZERO 0000047f: PUSH2 0x0487 00000482: JUMPI 00000483: PUSH1 0x00 00000485: DUP1 00000486: REVERT 00000487: JUMPDEST 00000488: POP 00000489: PUSH2 0x02c5 0000048c: PUSH2 0x0496 0000048f: CALLDATASIZE 00000490: PUSH1 0x04 00000492: PUSH2 0x307f 00000495: JUMP 00000496: JUMPDEST 00000497: PUSH2 0x1011 0000049a: JUMP 0000049b: JUMPDEST 0000049c: CALLVALUE 0000049d: DUP1 0000049e: ISZERO 0000049f: PUSH2 0x04a7 000004a2: JUMPI 000004a3: PUSH1 0x00 000004a5: DUP1 000004a6: REVERT 000004a7: JUMPDEST 000004a8: POP 000004a9: PUSH2 0x035d 000004ac: PUSH2 0x04b6 000004af: CALLDATASIZE 000004b0: PUSH1 0x04 000004b2: PUSH2 0x2dd0 000004b5: JUMP 000004b6: JUMPDEST 000004b7: PUSH1 0xca 000004b9: PUSH1 0x20 000004bb: MSTORE 000004bc: PUSH1 0x00 000004be: SWAP1 000004bf: DUP2 000004c0: MSTORE 000004c1: PUSH1 0x40 000004c3: SWAP1 000004c4: KECCAK256 000004c5: SLOAD 000004c6: DUP2 000004c7: JUMP 000004c8: JUMPDEST 000004c9: CALLVALUE 000004ca: DUP1 000004cb: ISZERO 000004cc: PUSH2 0x04d4 000004cf: JUMPI 000004d0: PUSH1 0x00 000004d2: DUP1 000004d3: REVERT 000004d4: JUMPDEST 000004d5: POP 000004d6: PUSH2 0x035d 000004d9: PUSH2 0x04e3 000004dc: CALLDATASIZE 000004dd: PUSH1 0x04 000004df: PUSH2 0x2dd0 000004e2: JUMP 000004e3: JUMPDEST 000004e4: PUSH1 0xcb 000004e6: PUSH1 0x20 000004e8: MSTORE 000004e9: PUSH1 0x00 000004eb: SWAP1 000004ec: DUP2 000004ed: MSTORE 000004ee: PUSH1 0x40 000004f0: SWAP1 000004f1: KECCAK256 000004f2: SLOAD 000004f3: DUP2 000004f4: JUMP 000004f5: JUMPDEST 000004f6: CALLVALUE 000004f7: DUP1 000004f8: ISZERO 000004f9: PUSH2 0x0501 000004fc: JUMPI 000004fd: PUSH1 0x00 000004ff: DUP1 00000500: REVERT 00000501: JUMPDEST 00000502: POP 00000503: PUSH1 0x65 00000505: SLOAD 00000506: PUSH2 0x0522 00000509: SWAP1 0000050a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000051f: AND 00000520: DUP2 00000521: JUMP 00000522: JUMPDEST 00000523: PUSH1 0x40 00000525: MLOAD 00000526: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000053b: SWAP1 0000053c: SWAP2 0000053d: AND 0000053e: DUP2 0000053f: MSTORE 00000540: PUSH1 0x20 00000542: ADD 00000543: PUSH2 0x0314 00000546: JUMP 00000547: JUMPDEST 00000548: PUSH2 0x035d 0000054b: PUSH2 0x0555 0000054e: CALLDATASIZE 0000054f: PUSH1 0x04 00000551: PUSH2 0x30c1 00000554: JUMP 00000555: JUMPDEST 00000556: PUSH2 0x106c 00000559: JUMP 0000055a: JUMPDEST 0000055b: CALLVALUE 0000055c: DUP1 0000055d: ISZERO 0000055e: PUSH2 0x0566 00000561: JUMPI 00000562: PUSH1 0x00 00000564: DUP1 00000565: REVERT 00000566: JUMPDEST 00000567: POP 00000568: PUSH2 0x057a 0000056b: PUSH2 0x0575 0000056e: CALLDATASIZE 0000056f: PUSH1 0x04 00000571: PUSH2 0x30c1 00000574: JUMP 00000575: JUMPDEST 00000576: PUSH2 0x107a 00000579: JUMP 0000057a: JUMPDEST 0000057b: PUSH1 0x40 0000057d: MLOAD 0000057e: PUSH2 0x0314 00000581: SWAP2 00000582: SWAP1 00000583: PUSH2 0x30f4 00000586: JUMP 00000587: JUMPDEST 00000588: CALLVALUE 00000589: DUP1 0000058a: ISZERO 0000058b: PUSH2 0x0593 0000058e: JUMPI 0000058f: PUSH1 0x00 00000591: DUP1 00000592: REVERT 00000593: JUMPDEST 00000594: POP 00000595: PUSH2 0x05bb 00000598: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 000005b9: DUP2 000005ba: JUMP 000005bb: JUMPDEST 000005bc: PUSH1 0x40 000005be: MLOAD 000005bf: PUSH4 0xffffffff 000005c4: SWAP1 000005c5: SWAP2 000005c6: AND 000005c7: DUP2 000005c8: MSTORE 000005c9: PUSH1 0x20 000005cb: ADD 000005cc: PUSH2 0x0314 000005cf: JUMP 000005d0: JUMPDEST 000005d1: CALLVALUE 000005d2: DUP1 000005d3: ISZERO 000005d4: PUSH2 0x05dc 000005d7: JUMPI 000005d8: PUSH1 0x00 000005da: DUP1 000005db: REVERT 000005dc: JUMPDEST 000005dd: POP 000005de: PUSH1 0x33 000005e0: SLOAD 000005e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005f6: AND 000005f7: PUSH2 0x0522 000005fa: JUMP 000005fb: JUMPDEST 000005fc: CALLVALUE 000005fd: DUP1 000005fe: ISZERO 000005ff: PUSH2 0x0607 00000602: JUMPI 00000603: PUSH1 0x00 00000605: DUP1 00000606: REVERT 00000607: JUMPDEST 00000608: POP 00000609: PUSH2 0x0644 0000060c: PUSH1 0x40 0000060e: MLOAD 0000060f: DUP1 00000610: PUSH1 0x40 00000612: ADD 00000613: PUSH1 0x40 00000615: MSTORE 00000616: DUP1 00000617: PUSH1 0x05 00000619: DUP2 0000061a: MSTORE 0000061b: PUSH1 0x20 0000061d: ADD 0000061e: PUSH32 0x392e302e39000000000000000000000000000000000000000000000000000000 0000063f: DUP2 00000640: MSTORE 00000641: POP 00000642: DUP2 00000643: JUMP 00000644: JUMPDEST 00000645: PUSH1 0x40 00000647: MLOAD 00000648: PUSH2 0x0314 0000064b: SWAP2 0000064c: SWAP1 0000064d: PUSH2 0x31c7 00000650: JUMP 00000651: JUMPDEST 00000652: CALLVALUE 00000653: DUP1 00000654: ISZERO 00000655: PUSH2 0x065d 00000658: JUMPI 00000659: PUSH1 0x00 0000065b: DUP1 0000065c: REVERT 0000065d: JUMPDEST 0000065e: POP 0000065f: PUSH2 0x0522 00000662: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00000683: DUP2 00000684: JUMP 00000685: JUMPDEST 00000686: CALLVALUE 00000687: DUP1 00000688: ISZERO 00000689: PUSH2 0x0691 0000068c: JUMPI 0000068d: PUSH1 0x00 0000068f: DUP1 00000690: REVERT 00000691: JUMPDEST 00000692: POP 00000693: PUSH2 0x02c5 00000696: PUSH2 0x06a0 00000699: CALLDATASIZE 0000069a: PUSH1 0x04 0000069c: PUSH2 0x31da 0000069f: JUMP 000006a0: JUMPDEST 000006a1: PUSH2 0x117d 000006a4: JUMP 000006a5: JUMPDEST 000006a6: CALLVALUE 000006a7: DUP1 000006a8: ISZERO 000006a9: PUSH2 0x06b1 000006ac: JUMPI 000006ad: PUSH1 0x00 000006af: DUP1 000006b0: REVERT 000006b1: JUMPDEST 000006b2: POP 000006b3: PUSH2 0x02c5 000006b6: PUSH2 0x06c0 000006b9: CALLDATASIZE 000006ba: PUSH1 0x04 000006bc: PUSH2 0x2e45 000006bf: JUMP 000006c0: JUMPDEST 000006c1: PUSH2 0x11ee 000006c4: JUMP 000006c5: JUMPDEST 000006c6: CALLVALUE 000006c7: DUP1 000006c8: ISZERO 000006c9: PUSH2 0x06d1 000006cc: JUMPI 000006cd: PUSH1 0x00 000006cf: DUP1 000006d0: REVERT 000006d1: JUMPDEST 000006d2: POP 000006d3: PUSH2 0x02c5 000006d6: PUSH2 0x06e0 000006d9: CALLDATASIZE 000006da: PUSH1 0x04 000006dc: PUSH2 0x324f 000006df: JUMP 000006e0: JUMPDEST 000006e1: PUSH2 0x1200 000006e4: JUMP 000006e5: JUMPDEST 000006e6: CALLVALUE 000006e7: DUP1 000006e8: ISZERO 000006e9: PUSH2 0x06f1 000006ec: JUMPI 000006ed: PUSH1 0x00 000006ef: DUP1 000006f0: REVERT 000006f1: JUMPDEST 000006f2: POP 000006f3: PUSH2 0x02c5 000006f6: PUSH2 0x0700 000006f9: CALLDATASIZE 000006fa: PUSH1 0x04 000006fc: PUSH2 0x2dd0 000006ff: JUMP 00000700: JUMPDEST 00000701: PUSH2 0x1397 00000704: JUMP 00000705: JUMPDEST 00000706: CALLVALUE 00000707: DUP1 00000708: ISZERO 00000709: PUSH2 0x0711 0000070c: JUMPI 0000070d: PUSH1 0x00 0000070f: DUP1 00000710: REVERT 00000711: JUMPDEST 00000712: POP 00000713: PUSH2 0x0307 00000716: PUSH2 0x13b6 00000719: JUMP 0000071a: JUMPDEST 0000071b: CALLVALUE 0000071c: DUP1 0000071d: ISZERO 0000071e: PUSH2 0x0726 00000721: JUMPI 00000722: PUSH1 0x00 00000724: DUP1 00000725: REVERT 00000726: JUMPDEST 00000727: POP 00000728: PUSH2 0x0522 0000072b: PUSH32 0x000000000000000000000000c005dc82818d67af737725bd4bf75435d065d239 0000074c: DUP2 0000074d: JUMP 0000074e: JUMPDEST 0000074f: CALLVALUE 00000750: DUP1 00000751: ISZERO 00000752: PUSH2 0x075a 00000755: JUMPI 00000756: PUSH1 0x00 00000758: DUP1 00000759: REVERT 0000075a: JUMPDEST 0000075b: POP 0000075c: PUSH1 0x66 0000075e: SLOAD 0000075f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000774: AND 00000775: PUSH2 0x0522 00000778: JUMP 00000779: JUMPDEST 0000077a: CALLVALUE 0000077b: DUP1 0000077c: ISZERO 0000077d: PUSH2 0x0785 00000780: JUMPI 00000781: PUSH1 0x00 00000783: DUP1 00000784: REVERT 00000785: JUMPDEST 00000786: POP 00000787: PUSH2 0x02c5 0000078a: PUSH2 0x0794 0000078d: CALLDATASIZE 0000078e: PUSH1 0x04 00000790: PUSH2 0x328f 00000793: JUMP 00000794: JUMPDEST 00000795: PUSH2 0x13c2 00000798: JUMP 00000799: JUMPDEST 0000079a: CALLVALUE 0000079b: DUP1 0000079c: ISZERO 0000079d: PUSH2 0x07a5 000007a0: JUMPI 000007a1: PUSH1 0x00 000007a3: DUP1 000007a4: REVERT 000007a5: JUMPDEST 000007a6: POP 000007a7: PUSH2 0x02c5 000007aa: PUSH2 0x07b4 000007ad: CALLDATASIZE 000007ae: PUSH1 0x04 000007b0: PUSH2 0x2dd0 000007b3: JUMP 000007b4: JUMPDEST 000007b5: PUSH2 0x14a1 000007b8: JUMP 000007b9: JUMPDEST 000007ba: CALLVALUE 000007bb: DUP1 000007bc: ISZERO 000007bd: PUSH2 0x07c5 000007c0: JUMPI 000007c1: PUSH1 0x00 000007c3: DUP1 000007c4: REVERT 000007c5: JUMPDEST 000007c6: POP 000007c7: PUSH2 0x035d 000007ca: PUSH2 0x07d4 000007cd: CALLDATASIZE 000007ce: PUSH1 0x04 000007d0: PUSH2 0x2dd0 000007d3: JUMP 000007d4: JUMPDEST 000007d5: PUSH2 0x14b5 000007d8: JUMP 000007d9: JUMPDEST 000007da: CALLVALUE 000007db: DUP1 000007dc: ISZERO 000007dd: PUSH2 0x07e5 000007e0: JUMPI 000007e1: PUSH1 0x00 000007e3: DUP1 000007e4: REVERT 000007e5: JUMPDEST 000007e6: POP 000007e7: PUSH2 0x02c5 000007ea: PUSH2 0x07f4 000007ed: CALLDATASIZE 000007ee: PUSH1 0x04 000007f0: PUSH2 0x2d9a 000007f3: JUMP 000007f4: JUMPDEST 000007f5: PUSH2 0x14e2 000007f8: JUMP 000007f9: JUMPDEST 000007fa: CALLVALUE 000007fb: DUP1 000007fc: ISZERO 000007fd: PUSH2 0x0805 00000800: JUMPI 00000801: PUSH1 0x00 00000803: DUP1 00000804: REVERT 00000805: JUMPDEST 00000806: POP 00000807: PUSH2 0x035d 0000080a: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 0000082b: DUP2 0000082c: JUMP 0000082d: JUMPDEST 0000082e: CALLVALUE 0000082f: DUP1 00000830: ISZERO 00000831: PUSH2 0x0839 00000834: JUMPI 00000835: PUSH1 0x00 00000837: DUP1 00000838: REVERT 00000839: JUMPDEST 0000083a: POP 0000083b: PUSH2 0x02c5 0000083e: PUSH2 0x0848 00000841: CALLDATASIZE 00000842: PUSH1 0x04 00000844: PUSH2 0x32ef 00000847: JUMP 00000848: JUMPDEST 00000849: PUSH2 0x1596 0000084c: JUMP 0000084d: JUMPDEST 0000084e: CALLVALUE 0000084f: DUP1 00000850: ISZERO 00000851: PUSH2 0x0859 00000854: JUMPI 00000855: PUSH1 0x00 00000857: DUP1 00000858: REVERT 00000859: JUMPDEST 0000085a: POP 0000085b: PUSH2 0x02c5 0000085e: PUSH2 0x0868 00000861: CALLDATASIZE 00000862: PUSH1 0x04 00000864: PUSH2 0x2ead 00000867: JUMP 00000868: JUMPDEST 00000869: PUSH2 0x15df 0000086c: JUMP 0000086d: JUMPDEST 0000086e: PUSH2 0x0875 00000871: PUSH2 0x1613 00000874: JUMP 00000875: JUMPDEST 00000876: PUSH2 0x0880 00000879: PUSH1 0xcd 0000087b: DUP3 0000087c: PUSH2 0x1694 0000087f: JUMP 00000880: JUMPDEST 00000881: POP 00000882: POP 00000883: JUMP 00000884: JUMPDEST 00000885: DUP1 00000886: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000089b: DUP2 0000089c: AND 0000089d: EXTCODESIZE 0000089e: ISZERO 0000089f: ISZERO 000008a0: DUP1 000008a1: PUSH2 0x08be 000008a4: JUMPI 000008a5: POP 000008a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008bb: DUP2 000008bc: AND 000008bd: ISZERO 000008be: JUMPDEST 000008bf: PUSH2 0x094f 000008c2: JUMPI 000008c3: PUSH1 0x40 000008c5: MLOAD 000008c6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000008e7: DUP2 000008e8: MSTORE 000008e9: PUSH1 0x20 000008eb: PUSH1 0x04 000008ed: DUP3 000008ee: ADD 000008ef: MSTORE 000008f0: PUSH1 0x27 000008f2: PUSH1 0x24 000008f4: DUP3 000008f5: ADD 000008f6: MSTORE 000008f7: PUSH32 0x4d61696c626f78436c69656e743a20696e76616c696420636f6e747261637420 00000918: PUSH1 0x44 0000091a: DUP3 0000091b: ADD 0000091c: MSTORE 0000091d: PUSH32 0x73657474696e6700000000000000000000000000000000000000000000000000 0000093e: PUSH1 0x64 00000940: DUP3 00000941: ADD 00000942: MSTORE 00000943: PUSH1 0x84 00000945: ADD 00000946: JUMPDEST 00000947: PUSH1 0x40 00000949: MLOAD 0000094a: DUP1 0000094b: SWAP2 0000094c: SUB 0000094d: SWAP1 0000094e: REVERT 0000094f: JUMPDEST 00000950: PUSH2 0x0957 00000953: PUSH2 0x1613 00000956: JUMP 00000957: JUMPDEST 00000958: PUSH1 0x66 0000095a: DUP1 0000095b: SLOAD 0000095c: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 0000097d: AND 0000097e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000993: DUP5 00000994: AND 00000995: SWAP1 00000996: DUP2 00000997: OR 00000998: SWAP1 00000999: SWAP2 0000099a: SSTORE 0000099b: PUSH1 0x40 0000099d: MLOAD 0000099e: SWAP1 0000099f: DUP2 000009a0: MSTORE 000009a1: PUSH32 0xc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799 000009c2: SWAP1 000009c3: PUSH1 0x20 000009c5: ADD 000009c6: JUMPDEST 000009c7: PUSH1 0x40 000009c9: MLOAD 000009ca: DUP1 000009cb: SWAP2 000009cc: SUB 000009cd: SWAP1 000009ce: LOG1 000009cf: POP 000009d0: POP 000009d1: JUMP 000009d2: JUMPDEST 000009d3: PUSH4 0xffffffff 000009d8: DUP2 000009d9: AND 000009da: PUSH1 0x00 000009dc: SWAP1 000009dd: DUP2 000009de: MSTORE 000009df: PUSH1 0xcc 000009e1: PUSH1 0x20 000009e3: MSTORE 000009e4: PUSH1 0x40 000009e6: SWAP1 000009e7: KECCAK256 000009e8: PUSH1 0x60 000009ea: SWAP1 000009eb: PUSH2 0x09f3 000009ee: SWAP1 000009ef: PUSH2 0x16bd 000009f2: JUMP 000009f3: JUMPDEST 000009f4: SWAP3 000009f5: SWAP2 000009f6: POP 000009f7: POP 000009f8: JUMP 000009f9: JUMPDEST 000009fa: PUSH2 0x0a01 000009fd: PUSH2 0x1613 00000a00: JUMP 00000a01: JUMPDEST 00000a02: PUSH2 0x0a0a 00000a05: DUP3 00000a06: PUSH2 0x16ca 00000a09: JUMP 00000a0a: JUMPDEST 00000a0b: POP 00000a0c: PUSH4 0xffffffff 00000a11: SWAP1 00000a12: SWAP2 00000a13: AND 00000a14: PUSH1 0x00 00000a16: SWAP1 00000a17: DUP2 00000a18: MSTORE 00000a19: PUSH1 0xcb 00000a1b: PUSH1 0x20 00000a1d: MSTORE 00000a1e: PUSH1 0x40 00000a20: SWAP1 00000a21: KECCAK256 00000a22: SSTORE 00000a23: JUMP 00000a24: JUMPDEST 00000a25: PUSH1 0x00 00000a27: DUP1 00000a28: PUSH2 0x0a3b 00000a2b: PUSH1 0x97 00000a2d: PUSH4 0xffffffff 00000a32: DUP1 00000a33: DUP7 00000a34: AND 00000a35: SWAP1 00000a36: PUSH2 0x172f 00000a39: AND 00000a3a: JUMP 00000a3b: JUMPDEST 00000a3c: SWAP5 00000a3d: SWAP4 00000a3e: POP 00000a3f: POP 00000a40: POP 00000a41: POP 00000a42: JUMP 00000a43: JUMPDEST 00000a44: DUP1 00000a45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a5a: DUP2 00000a5b: AND 00000a5c: EXTCODESIZE 00000a5d: ISZERO 00000a5e: ISZERO 00000a5f: DUP1 00000a60: PUSH2 0x0a7d 00000a63: JUMPI 00000a64: POP 00000a65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a7a: DUP2 00000a7b: AND 00000a7c: ISZERO 00000a7d: JUMPDEST 00000a7e: PUSH2 0x0b09 00000a81: JUMPI 00000a82: PUSH1 0x40 00000a84: MLOAD 00000a85: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000aa6: DUP2 00000aa7: MSTORE 00000aa8: PUSH1 0x20 00000aaa: PUSH1 0x04 00000aac: DUP3 00000aad: ADD 00000aae: MSTORE 00000aaf: PUSH1 0x27 00000ab1: PUSH1 0x24 00000ab3: DUP3 00000ab4: ADD 00000ab5: MSTORE 00000ab6: PUSH32 0x4d61696c626f78436c69656e743a20696e76616c696420636f6e747261637420 00000ad7: PUSH1 0x44 00000ad9: DUP3 00000ada: ADD 00000adb: MSTORE 00000adc: PUSH32 0x73657474696e6700000000000000000000000000000000000000000000000000 00000afd: PUSH1 0x64 00000aff: DUP3 00000b00: ADD 00000b01: MSTORE 00000b02: PUSH1 0x84 00000b04: ADD 00000b05: PUSH2 0x0946 00000b08: JUMP 00000b09: JUMPDEST 00000b0a: PUSH2 0x0b11 00000b0d: PUSH2 0x1613 00000b10: JUMP 00000b11: JUMPDEST 00000b12: PUSH1 0x65 00000b14: DUP1 00000b15: SLOAD 00000b16: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000b37: AND 00000b38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b4d: DUP5 00000b4e: AND 00000b4f: SWAP1 00000b50: DUP2 00000b51: OR 00000b52: SWAP1 00000b53: SWAP2 00000b54: SSTORE 00000b55: PUSH1 0x40 00000b57: MLOAD 00000b58: SWAP1 00000b59: DUP2 00000b5a: MSTORE 00000b5b: PUSH32 0x4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a 00000b7c: SWAP1 00000b7d: PUSH1 0x20 00000b7f: ADD 00000b80: PUSH2 0x09c6 00000b83: JUMP 00000b84: JUMPDEST 00000b85: PUSH2 0x0b8c 00000b88: PUSH2 0x1613 00000b8b: JUMP 00000b8c: JUMPDEST 00000b8d: PUSH2 0x0880 00000b90: PUSH1 0xcd 00000b92: DUP3 00000b93: PUSH2 0x1748 00000b96: JUMP 00000b97: JUMPDEST 00000b98: PUSH1 0x60 00000b9a: PUSH2 0x0ba3 00000b9d: PUSH1 0x97 00000b9f: PUSH2 0x176a 00000ba2: JUMP 00000ba3: JUMPDEST 00000ba4: SWAP1 00000ba5: POP 00000ba6: SWAP1 00000ba7: JUMP 00000ba8: JUMPDEST 00000ba9: PUSH2 0x0bb0 00000bac: PUSH2 0x1613 00000baf: JUMP 00000bb0: JUMPDEST 00000bb1: PUSH2 0x0880 00000bb4: DUP3 00000bb5: DUP3 00000bb6: PUSH2 0x181b 00000bb9: JUMP 00000bba: JUMPDEST 00000bbb: PUSH2 0x0bc2 00000bbe: PUSH2 0x1613 00000bc1: JUMP 00000bc2: JUMPDEST 00000bc3: PUSH4 0xffffffff 00000bc8: DUP1 00000bc9: DUP4 00000bca: AND 00000bcb: PUSH1 0x00 00000bcd: SWAP1 00000bce: DUP2 00000bcf: MSTORE 00000bd0: PUSH1 0xcc 00000bd2: PUSH1 0x20 00000bd4: MSTORE 00000bd5: PUSH1 0x40 00000bd7: SWAP1 00000bd8: KECCAK256 00000bd9: PUSH2 0x0be4 00000bdc: SWAP2 00000bdd: DUP4 00000bde: SWAP1 00000bdf: PUSH2 0x1748 00000be2: AND 00000be3: JUMP 00000be4: JUMPDEST 00000be5: POP 00000be6: POP 00000be7: POP 00000be8: JUMP 00000be9: JUMPDEST 00000bea: PUSH1 0x00 00000bec: PUSH2 0x0c30 00000bef: DUP8 00000bf0: DUP8 00000bf1: DUP8 00000bf2: CALLVALUE 00000bf3: DUP9 00000bf4: DUP9 00000bf5: DUP1 00000bf6: DUP1 00000bf7: PUSH1 0x1f 00000bf9: ADD 00000bfa: PUSH1 0x20 00000bfc: DUP1 00000bfd: SWAP2 00000bfe: DIV 00000bff: MUL 00000c00: PUSH1 0x20 00000c02: ADD 00000c03: PUSH1 0x40 00000c05: MLOAD 00000c06: SWAP1 00000c07: DUP2 00000c08: ADD 00000c09: PUSH1 0x40 00000c0b: MSTORE 00000c0c: DUP1 00000c0d: SWAP4 00000c0e: SWAP3 00000c0f: SWAP2 00000c10: SWAP1 00000c11: DUP2 00000c12: DUP2 00000c13: MSTORE 00000c14: PUSH1 0x20 00000c16: ADD 00000c17: DUP4 00000c18: DUP4 00000c19: DUP1 00000c1a: DUP3 00000c1b: DUP5 00000c1c: CALLDATACOPY 00000c1d: PUSH1 0x00 00000c1f: SWAP3 00000c20: ADD 00000c21: SWAP2 00000c22: SWAP1 00000c23: SWAP2 00000c24: MSTORE 00000c25: POP 00000c26: DUP11 00000c27: SWAP3 00000c28: POP 00000c29: PUSH2 0x1869 00000c2c: SWAP2 00000c2d: POP 00000c2e: POP 00000c2f: JUMP 00000c30: JUMPDEST 00000c31: SWAP8 00000c32: SWAP7 00000c33: POP 00000c34: POP 00000c35: POP 00000c36: POP 00000c37: POP 00000c38: POP 00000c39: POP 00000c3a: JUMP 00000c3b: JUMPDEST 00000c3c: CALLER 00000c3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c52: PUSH32 0x000000000000000000000000c005dc82818d67af737725bd4bf75435d065d239 00000c73: AND 00000c74: EQ 00000c75: PUSH2 0x0d00 00000c78: JUMPI 00000c79: PUSH1 0x40 00000c7b: MLOAD 00000c7c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c9d: DUP2 00000c9e: MSTORE 00000c9f: PUSH1 0x20 00000ca1: PUSH1 0x04 00000ca3: DUP3 00000ca4: ADD 00000ca5: MSTORE 00000ca6: PUSH1 0x21 00000ca8: PUSH1 0x24 00000caa: DUP3 00000cab: ADD 00000cac: MSTORE 00000cad: PUSH32 0x4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f 00000cce: PUSH1 0x44 00000cd0: DUP3 00000cd1: ADD 00000cd2: MSTORE 00000cd3: PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 00000cf4: PUSH1 0x64 00000cf6: DUP3 00000cf7: ADD 00000cf8: MSTORE 00000cf9: PUSH1 0x84 00000cfb: ADD 00000cfc: PUSH2 0x0946 00000cff: JUMP 00000d00: JUMPDEST 00000d01: PUSH1 0x00 00000d03: PUSH2 0x0d0b 00000d06: DUP6 00000d07: PUSH2 0x16ca 00000d0a: JUMP 00000d0b: JUMPDEST 00000d0c: SWAP1 00000d0d: POP 00000d0e: DUP4 00000d0f: DUP2 00000d10: EQ 00000d11: PUSH2 0x0d9c 00000d14: JUMPI 00000d15: PUSH1 0x40 00000d17: MLOAD 00000d18: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d39: DUP2 00000d3a: MSTORE 00000d3b: PUSH1 0x20 00000d3d: PUSH1 0x04 00000d3f: DUP3 00000d40: ADD 00000d41: MSTORE 00000d42: PUSH1 0x25 00000d44: PUSH1 0x24 00000d46: DUP3 00000d47: ADD 00000d48: MSTORE 00000d49: PUSH32 0x456e726f6c6c656420726f7574657220646f6573206e6f74206d617463682073 00000d6a: PUSH1 0x44 00000d6c: DUP3 00000d6d: ADD 00000d6e: MSTORE 00000d6f: PUSH32 0x656e646572000000000000000000000000000000000000000000000000000000 00000d90: PUSH1 0x64 00000d92: DUP3 00000d93: ADD 00000d94: MSTORE 00000d95: PUSH1 0x84 00000d97: ADD 00000d98: PUSH2 0x0946 00000d9b: JUMP 00000d9c: JUMPDEST 00000d9d: PUSH2 0x0da8 00000da0: DUP6 00000da1: DUP6 00000da2: DUP6 00000da3: DUP6 00000da4: PUSH2 0x18f0 00000da7: JUMP 00000da8: JUMPDEST 00000da9: POP 00000daa: POP 00000dab: POP 00000dac: POP 00000dad: POP 00000dae: JUMP 00000daf: JUMPDEST 00000db0: PUSH2 0x0dba 00000db3: PUSH1 0xcd 00000db5: CALLER 00000db6: PUSH2 0x1972 00000db9: JUMP 00000dba: JUMPDEST 00000dbb: PUSH2 0x0e20 00000dbe: JUMPI 00000dbf: PUSH1 0x40 00000dc1: MLOAD 00000dc2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000de3: DUP2 00000de4: MSTORE 00000de5: PUSH1 0x20 00000de7: PUSH1 0x04 00000de9: DUP3 00000dea: ADD 00000deb: MSTORE 00000dec: PUSH1 0x14 00000dee: PUSH1 0x24 00000df0: DUP3 00000df1: ADD 00000df2: MSTORE 00000df3: PUSH32 0x4d43523a204f6e6c7920526562616c616e636572000000000000000000000000 00000e14: PUSH1 0x44 00000e16: DUP3 00000e17: ADD 00000e18: MSTORE 00000e19: PUSH1 0x64 00000e1b: ADD 00000e1c: PUSH2 0x0946 00000e1f: JUMP 00000e20: JUMPDEST 00000e21: PUSH4 0xffffffff 00000e26: DUP1 00000e27: DUP5 00000e28: AND 00000e29: PUSH1 0x00 00000e2b: SWAP1 00000e2c: DUP2 00000e2d: MSTORE 00000e2e: PUSH1 0xcc 00000e30: PUSH1 0x20 00000e32: MSTORE 00000e33: PUSH1 0x40 00000e35: SWAP1 00000e36: KECCAK256 00000e37: DUP5 00000e38: SWAP2 00000e39: DUP4 00000e3a: SWAP2 00000e3b: SWAP1 00000e3c: PUSH2 0x0e49 00000e3f: SWAP1 00000e40: DUP3 00000e41: SWAP1 00000e42: DUP5 00000e43: SWAP1 00000e44: PUSH2 0x1972 00000e47: AND 00000e48: JUMP 00000e49: JUMPDEST 00000e4a: PUSH2 0x0eaf 00000e4d: JUMPI 00000e4e: PUSH1 0x40 00000e50: MLOAD 00000e51: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e72: DUP2 00000e73: MSTORE 00000e74: PUSH1 0x20 00000e76: PUSH1 0x04 00000e78: DUP3 00000e79: ADD 00000e7a: MSTORE 00000e7b: PUSH1 0x17 00000e7d: PUSH1 0x24 00000e7f: DUP3 00000e80: ADD 00000e81: MSTORE 00000e82: PUSH32 0x4d43523a204e6f7420616c6c6f77656420627269646765000000000000000000 00000ea3: PUSH1 0x44 00000ea5: DUP3 00000ea6: ADD 00000ea7: MSTORE 00000ea8: PUSH1 0x64 00000eaa: ADD 00000eab: PUSH2 0x0946 00000eae: JUMP 00000eaf: JUMPDEST 00000eb0: PUSH4 0xffffffff 00000eb5: DUP7 00000eb6: AND 00000eb7: PUSH1 0x00 00000eb9: SWAP1 00000eba: DUP2 00000ebb: MSTORE 00000ebc: PUSH1 0xcb 00000ebe: PUSH1 0x20 00000ec0: MSTORE 00000ec1: PUSH1 0x40 00000ec3: SWAP1 00000ec4: KECCAK256 00000ec5: SLOAD 00000ec6: CALLER 00000ec7: SWAP1 00000ec8: DUP1 00000ec9: PUSH2 0x0ed8 00000ecc: JUMPI 00000ecd: PUSH2 0x0ed5 00000ed0: DUP9 00000ed1: PUSH2 0x16ca 00000ed4: JUMP 00000ed5: JUMPDEST 00000ed6: SWAP1 00000ed7: POP 00000ed8: JUMPDEST 00000ed9: PUSH2 0x0ee4 00000edc: DUP9 00000edd: DUP3 00000ede: DUP10 00000edf: DUP10 00000ee0: PUSH2 0x19a1 00000ee3: JUMP 00000ee4: JUMPDEST 00000ee5: PUSH1 0x40 00000ee7: DUP1 00000ee8: MLOAD 00000ee9: DUP3 00000eea: DUP2 00000eeb: MSTORE 00000eec: PUSH1 0x20 00000eee: DUP2 00000eef: ADD 00000ef0: DUP10 00000ef1: SWAP1 00000ef2: MSTORE 00000ef3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f08: DUP5 00000f09: AND 00000f0a: SWAP2 00000f0b: PUSH4 0xffffffff 00000f10: DUP12 00000f11: AND 00000f12: SWAP2 00000f13: PUSH32 0xb1e1b117ddf429b1b8a359fe0e978f0ae191c0f70e0babfea7acaad1b0ee8a2d 00000f34: SWAP2 00000f35: ADD 00000f36: JUMPDEST 00000f37: PUSH1 0x40 00000f39: MLOAD 00000f3a: DUP1 00000f3b: SWAP2 00000f3c: SUB 00000f3d: SWAP1 00000f3e: LOG3 00000f3f: POP 00000f40: POP 00000f41: POP 00000f42: POP 00000f43: POP 00000f44: POP 00000f45: POP 00000f46: POP 00000f47: JUMP 00000f48: JUMPDEST 00000f49: PUSH1 0x40 00000f4b: MLOAD 00000f4c: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00000f6d: DUP2 00000f6e: MSTORE 00000f6f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f84: DUP3 00000f85: DUP2 00000f86: AND 00000f87: PUSH1 0x04 00000f89: DUP4 00000f8a: ADD 00000f8b: MSTORE 00000f8c: PUSH1 0x00 00000f8e: SWAP2 00000f8f: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00000fb0: SWAP1 00000fb1: SWAP2 00000fb2: AND 00000fb3: SWAP1 00000fb4: PUSH4 0x70a08231 00000fb9: SWAP1 00000fba: PUSH1 0x24 00000fbc: ADD 00000fbd: PUSH1 0x20 00000fbf: PUSH1 0x40 00000fc1: MLOAD 00000fc2: DUP1 00000fc3: DUP4 00000fc4: SUB 00000fc5: DUP2 00000fc6: DUP7 00000fc7: GAS 00000fc8: STATICCALL 00000fc9: ISZERO 00000fca: DUP1 00000fcb: ISZERO 00000fcc: PUSH2 0x0fd9 00000fcf: JUMPI 00000fd0: RETURNDATASIZE 00000fd1: PUSH1 0x00 00000fd3: DUP1 00000fd4: RETURNDATACOPY 00000fd5: RETURNDATASIZE 00000fd6: PUSH1 0x00 00000fd8: REVERT 00000fd9: JUMPDEST 00000fda: POP 00000fdb: POP 00000fdc: POP 00000fdd: POP 00000fde: PUSH1 0x40 00000fe0: MLOAD 00000fe1: RETURNDATASIZE 00000fe2: PUSH1 0x1f 00000fe4: NOT 00000fe5: PUSH1 0x1f 00000fe7: DUP3 00000fe8: ADD 00000fe9: AND 00000fea: DUP3 00000feb: ADD 00000fec: DUP1 00000fed: PUSH1 0x40 00000fef: MSTORE 00000ff0: POP 00000ff1: DUP2 00000ff2: ADD 00000ff3: SWAP1 00000ff4: PUSH2 0x09f3 00000ff7: SWAP2 00000ff8: SWAP1 00000ff9: PUSH2 0x330d 00000ffc: JUMP 00000ffd: JUMPDEST 00000ffe: PUSH2 0x1005 00001001: PUSH2 0x1613 00001004: JUMP 00001005: JUMPDEST 00001006: PUSH2 0x100f 00001009: PUSH1 0x00 0000100b: PUSH2 0x19ee 0000100e: JUMP 0000100f: JUMPDEST 00001010: JUMP 00001011: JUMPDEST 00001012: PUSH2 0x1019 00001015: PUSH2 0x1613 00001018: JUMP 00001019: JUMPDEST 0000101a: DUP1 0000101b: PUSH1 0x00 0000101d: JUMPDEST 0000101e: DUP2 0000101f: DUP2 00001020: LT 00001021: ISZERO 00001022: PUSH2 0x1066 00001025: JUMPI 00001026: PUSH2 0x1054 00001029: DUP5 0000102a: DUP5 0000102b: DUP4 0000102c: DUP2 0000102d: DUP2 0000102e: LT 0000102f: PUSH2 0x103a 00001032: JUMPI 00001033: PUSH2 0x103a 00001036: PUSH2 0x3326 00001039: JUMP 0000103a: JUMPDEST 0000103b: SWAP1 0000103c: POP 0000103d: PUSH1 0x20 0000103f: MUL 00001040: ADD 00001041: PUSH1 0x20 00001043: DUP2 00001044: ADD 00001045: SWAP1 00001046: PUSH2 0x104f 00001049: SWAP2 0000104a: SWAP1 0000104b: PUSH2 0x2dd0 0000104e: JUMP 0000104f: JUMPDEST 00001050: PUSH2 0x1a65 00001053: JUMP 00001054: JUMPDEST 00001055: PUSH2 0x105f 00001058: PUSH1 0x01 0000105a: DUP3 0000105b: PUSH2 0x3384 0000105e: JUMP 0000105f: JUMPDEST 00001060: SWAP1 00001061: POP 00001062: PUSH2 0x101d 00001065: JUMP 00001066: JUMPDEST 00001067: POP 00001068: POP 00001069: POP 0000106a: POP 0000106b: JUMP 0000106c: JUMPDEST 0000106d: PUSH1 0x00 0000106f: PUSH2 0x0a3b 00001072: DUP5 00001073: DUP5 00001074: DUP5 00001075: CALLVALUE 00001076: PUSH2 0x1a99 00001079: JUMP 0000107a: JUMPDEST 0000107b: PUSH1 0x40 0000107d: DUP1 0000107e: MLOAD 0000107f: PUSH1 0x02 00001081: DUP1 00001082: DUP3 00001083: MSTORE 00001084: PUSH1 0x60 00001086: DUP3 00001087: DUP2 00001088: ADD 00001089: SWAP1 0000108a: SWAP4 0000108b: MSTORE 0000108c: DUP2 0000108d: PUSH1 0x20 0000108f: ADD 00001090: JUMPDEST 00001091: PUSH1 0x40 00001093: DUP1 00001094: MLOAD 00001095: DUP1 00001096: DUP3 00001097: ADD 00001098: SWAP1 00001099: SWAP2 0000109a: MSTORE 0000109b: PUSH1 0x00 0000109d: DUP1 0000109e: DUP3 0000109f: MSTORE 000010a0: PUSH1 0x20 000010a2: DUP3 000010a3: ADD 000010a4: MSTORE 000010a5: DUP2 000010a6: MSTORE 000010a7: PUSH1 0x20 000010a9: ADD 000010aa: SWAP1 000010ab: PUSH1 0x01 000010ad: SWAP1 000010ae: SUB 000010af: SWAP1 000010b0: DUP2 000010b1: PUSH2 0x1090 000010b4: JUMPI 000010b5: SWAP1 000010b6: POP 000010b7: POP 000010b8: SWAP1 000010b9: POP 000010ba: PUSH1 0x40 000010bc: MLOAD 000010bd: DUP1 000010be: PUSH1 0x40 000010c0: ADD 000010c1: PUSH1 0x40 000010c3: MSTORE 000010c4: DUP1 000010c5: PUSH1 0x00 000010c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010dc: AND 000010dd: DUP2 000010de: MSTORE 000010df: PUSH1 0x20 000010e1: ADD 000010e2: PUSH2 0x10ec 000010e5: DUP7 000010e6: DUP7 000010e7: DUP7 000010e8: PUSH2 0x1ad2 000010eb: JUMP 000010ec: JUMPDEST 000010ed: DUP2 000010ee: MSTORE 000010ef: POP 000010f0: DUP2 000010f1: PUSH1 0x00 000010f3: DUP2 000010f4: MLOAD 000010f5: DUP2 000010f6: LT 000010f7: PUSH2 0x1102 000010fa: JUMPI 000010fb: PUSH2 0x1102 000010fe: PUSH2 0x3326 00001101: JUMP 00001102: JUMPDEST 00001103: PUSH1 0x20 00001105: MUL 00001106: PUSH1 0x20 00001108: ADD 00001109: ADD 0000110a: DUP2 0000110b: SWAP1 0000110c: MSTORE 0000110d: POP 0000110e: PUSH1 0x40 00001110: MLOAD 00001111: DUP1 00001112: PUSH1 0x40 00001114: ADD 00001115: PUSH1 0x40 00001117: MSTORE 00001118: DUP1 00001119: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 0000113a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000114f: AND 00001150: DUP2 00001151: MSTORE 00001152: PUSH1 0x20 00001154: ADD 00001155: DUP4 00001156: DUP2 00001157: MSTORE 00001158: POP 00001159: DUP2 0000115a: PUSH1 0x01 0000115c: DUP2 0000115d: MLOAD 0000115e: DUP2 0000115f: LT 00001160: PUSH2 0x116b 00001163: JUMPI 00001164: PUSH2 0x116b 00001167: PUSH2 0x3326 0000116a: JUMP 0000116b: JUMPDEST 0000116c: PUSH1 0x20 0000116e: MUL 0000116f: PUSH1 0x20 00001171: ADD 00001172: ADD 00001173: DUP2 00001174: SWAP1 00001175: MSTORE 00001176: POP 00001177: SWAP4 00001178: SWAP3 00001179: POP 0000117a: POP 0000117b: POP 0000117c: JUMP 0000117d: JUMPDEST 0000117e: PUSH2 0x1185 00001181: PUSH2 0x1613 00001184: JUMP 00001185: JUMPDEST 00001186: PUSH1 0x00 00001188: JUMPDEST 00001189: DUP2 0000118a: DUP2 0000118b: LT 0000118c: ISZERO 0000118d: PUSH2 0x0be4 00001190: JUMPI 00001191: PUSH2 0x11dc 00001194: DUP4 00001195: DUP4 00001196: DUP4 00001197: DUP2 00001198: DUP2 00001199: LT 0000119a: PUSH2 0x11a5 0000119d: JUMPI 0000119e: PUSH2 0x11a5 000011a1: PUSH2 0x3326 000011a4: JUMP 000011a5: JUMPDEST 000011a6: PUSH2 0x11bb 000011a9: SWAP3 000011aa: PUSH1 0x20 000011ac: PUSH1 0x40 000011ae: SWAP1 000011af: SWAP3 000011b0: MUL 000011b1: ADD 000011b2: SWAP1 000011b3: DUP2 000011b4: ADD 000011b5: SWAP2 000011b6: POP 000011b7: PUSH2 0x2dd0 000011ba: JUMP 000011bb: JUMPDEST 000011bc: DUP5 000011bd: DUP5 000011be: DUP5 000011bf: DUP2 000011c0: DUP2 000011c1: LT 000011c2: PUSH2 0x11cd 000011c5: JUMPI 000011c6: PUSH2 0x11cd 000011c9: PUSH2 0x3326 000011cc: JUMP 000011cd: JUMPDEST 000011ce: SWAP1 000011cf: POP 000011d0: PUSH1 0x40 000011d2: MUL 000011d3: ADD 000011d4: PUSH1 0x20 000011d6: ADD 000011d7: CALLDATALOAD 000011d8: PUSH2 0x181b 000011db: JUMP 000011dc: JUMPDEST 000011dd: PUSH2 0x11e7 000011e0: PUSH1 0x01 000011e2: DUP3 000011e3: PUSH2 0x3384 000011e6: JUMP 000011e7: JUMPDEST 000011e8: SWAP1 000011e9: POP 000011ea: PUSH2 0x1188 000011ed: JUMP 000011ee: JUMPDEST 000011ef: PUSH2 0x11f6 000011f2: PUSH2 0x1613 000011f5: JUMP 000011f6: JUMPDEST 000011f7: PUSH2 0x0880 000011fa: DUP3 000011fb: DUP3 000011fc: PUSH2 0x1b1b 000011ff: JUMP 00001200: JUMPDEST 00001201: PUSH1 0x00 00001203: SLOAD 00001204: PUSH2 0x0100 00001207: SWAP1 00001208: DIV 00001209: PUSH1 0xff 0000120b: AND 0000120c: ISZERO 0000120d: DUP1 0000120e: DUP1 0000120f: ISZERO 00001210: PUSH2 0x1220 00001213: JUMPI 00001214: POP 00001215: PUSH1 0x00 00001217: SLOAD 00001218: PUSH1 0x01 0000121a: PUSH1 0xff 0000121c: SWAP1 0000121d: SWAP2 0000121e: AND 0000121f: LT 00001220: JUMPDEST 00001221: DUP1 00001222: PUSH2 0x123a 00001225: JUMPI 00001226: POP 00001227: ADDRESS 00001228: EXTCODESIZE 00001229: ISZERO 0000122a: DUP1 0000122b: ISZERO 0000122c: PUSH2 0x123a 0000122f: JUMPI 00001230: POP 00001231: PUSH1 0x00 00001233: SLOAD 00001234: PUSH1 0xff 00001236: AND 00001237: PUSH1 0x01 00001239: EQ 0000123a: JUMPDEST 0000123b: PUSH2 0x12c6 0000123e: JUMPI 0000123f: PUSH1 0x40 00001241: MLOAD 00001242: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001263: DUP2 00001264: MSTORE 00001265: PUSH1 0x20 00001267: PUSH1 0x04 00001269: DUP3 0000126a: ADD 0000126b: MSTORE 0000126c: PUSH1 0x2e 0000126e: PUSH1 0x24 00001270: DUP3 00001271: ADD 00001272: MSTORE 00001273: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00001294: PUSH1 0x44 00001296: DUP3 00001297: ADD 00001298: MSTORE 00001299: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000 000012ba: PUSH1 0x64 000012bc: DUP3 000012bd: ADD 000012be: MSTORE 000012bf: PUSH1 0x84 000012c1: ADD 000012c2: PUSH2 0x0946 000012c5: JUMP 000012c6: JUMPDEST 000012c7: PUSH1 0x00 000012c9: DUP1 000012ca: SLOAD 000012cb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000012ec: AND 000012ed: PUSH1 0x01 000012ef: OR 000012f0: SWAP1 000012f1: SSTORE 000012f2: DUP1 000012f3: ISZERO 000012f4: PUSH2 0x1324 000012f7: JUMPI 000012f8: PUSH1 0x00 000012fa: DUP1 000012fb: SLOAD 000012fc: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 0000131d: AND 0000131e: PUSH2 0x0100 00001321: OR 00001322: SWAP1 00001323: SSTORE 00001324: JUMPDEST 00001325: PUSH2 0x132f 00001328: DUP5 00001329: DUP5 0000132a: DUP5 0000132b: PUSH2 0x1b31 0000132e: JUMP 0000132f: JUMPDEST 00001330: DUP1 00001331: ISZERO 00001332: PUSH2 0x1066 00001335: JUMPI 00001336: PUSH1 0x00 00001338: DUP1 00001339: SLOAD 0000133a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 0000135b: AND 0000135c: SWAP1 0000135d: SSTORE 0000135e: PUSH1 0x40 00001360: MLOAD 00001361: PUSH1 0x01 00001363: DUP2 00001364: MSTORE 00001365: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00001386: SWAP1 00001387: PUSH1 0x20 00001389: ADD 0000138a: PUSH1 0x40 0000138c: MLOAD 0000138d: DUP1 0000138e: SWAP2 0000138f: SUB 00001390: SWAP1 00001391: LOG1 00001392: POP 00001393: POP 00001394: POP 00001395: POP 00001396: JUMP 00001397: JUMPDEST 00001398: PUSH2 0x139f 0000139b: PUSH2 0x1613 0000139e: JUMP 0000139f: JUMPDEST 000013a0: PUSH4 0xffffffff 000013a5: AND 000013a6: PUSH1 0x00 000013a8: SWAP1 000013a9: DUP2 000013aa: MSTORE 000013ab: PUSH1 0xcb 000013ad: PUSH1 0x20 000013af: MSTORE 000013b0: PUSH1 0x40 000013b2: DUP2 000013b3: KECCAK256 000013b4: SSTORE 000013b5: JUMP 000013b6: JUMPDEST 000013b7: PUSH1 0x60 000013b9: PUSH2 0x0ba3 000013bc: PUSH1 0xcd 000013be: PUSH2 0x16bd 000013c1: JUMP 000013c2: JUMPDEST 000013c3: PUSH2 0x13ca 000013c6: PUSH2 0x1613 000013c9: JUMP 000013ca: JUMPDEST 000013cb: DUP3 000013cc: DUP2 000013cd: EQ 000013ce: PUSH2 0x1433 000013d1: JUMPI 000013d2: PUSH1 0x40 000013d4: MLOAD 000013d5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000013f6: DUP2 000013f7: MSTORE 000013f8: PUSH1 0x20 000013fa: PUSH1 0x04 000013fc: DUP3 000013fd: ADD 000013fe: MSTORE 000013ff: PUSH1 0x07 00001401: PUSH1 0x24 00001403: DUP3 00001404: ADD 00001405: MSTORE 00001406: PUSH32 0x216c656e67746800000000000000000000000000000000000000000000000000 00001427: PUSH1 0x44 00001429: DUP3 0000142a: ADD 0000142b: MSTORE 0000142c: PUSH1 0x64 0000142e: ADD 0000142f: PUSH2 0x0946 00001432: JUMP 00001433: JUMPDEST 00001434: DUP3 00001435: PUSH1 0x00 00001437: JUMPDEST 00001438: DUP2 00001439: DUP2 0000143a: LT 0000143b: ISZERO 0000143c: PUSH2 0x1499 0000143f: JUMPI 00001440: PUSH2 0x1487 00001443: DUP7 00001444: DUP7 00001445: DUP4 00001446: DUP2 00001447: DUP2 00001448: LT 00001449: PUSH2 0x1454 0000144c: JUMPI 0000144d: PUSH2 0x1454 00001450: PUSH2 0x3326 00001453: JUMP 00001454: JUMPDEST 00001455: SWAP1 00001456: POP 00001457: PUSH1 0x20 00001459: MUL 0000145a: ADD 0000145b: PUSH1 0x20 0000145d: DUP2 0000145e: ADD 0000145f: SWAP1 00001460: PUSH2 0x1469 00001463: SWAP2 00001464: SWAP1 00001465: PUSH2 0x2dd0 00001468: JUMP 00001469: JUMPDEST 0000146a: DUP6 0000146b: DUP6 0000146c: DUP5 0000146d: DUP2 0000146e: DUP2 0000146f: LT 00001470: PUSH2 0x147b 00001473: JUMPI 00001474: PUSH2 0x147b 00001477: PUSH2 0x3326 0000147a: JUMP 0000147b: JUMPDEST 0000147c: SWAP1 0000147d: POP 0000147e: PUSH1 0x20 00001480: MUL 00001481: ADD 00001482: CALLDATALOAD 00001483: PUSH2 0x1b1b 00001486: JUMP 00001487: JUMPDEST 00001488: PUSH2 0x1492 0000148b: PUSH1 0x01 0000148d: DUP3 0000148e: PUSH2 0x3384 00001491: JUMP 00001492: JUMPDEST 00001493: SWAP1 00001494: POP 00001495: PUSH2 0x1437 00001498: JUMP 00001499: JUMPDEST 0000149a: POP 0000149b: POP 0000149c: POP 0000149d: POP 0000149e: POP 0000149f: POP 000014a0: JUMP 000014a1: JUMPDEST 000014a2: PUSH2 0x14a9 000014a5: PUSH2 0x1613 000014a8: JUMP 000014a9: JUMPDEST 000014aa: PUSH2 0x14b2 000014ad: DUP2 000014ae: PUSH2 0x1a65 000014b1: JUMP 000014b2: JUMPDEST 000014b3: POP 000014b4: JUMP 000014b5: JUMPDEST 000014b6: PUSH1 0x00 000014b8: PUSH2 0x09f3 000014bb: DUP3 000014bc: DUP3 000014bd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000014de: PUSH2 0x1ad2 000014e1: JUMP 000014e2: JUMPDEST 000014e3: PUSH2 0x14ea 000014e6: PUSH2 0x1613 000014e9: JUMP 000014ea: JUMPDEST 000014eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001500: DUP2 00001501: AND 00001502: PUSH2 0x158d 00001505: JUMPI 00001506: PUSH1 0x40 00001508: MLOAD 00001509: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000152a: DUP2 0000152b: MSTORE 0000152c: PUSH1 0x20 0000152e: PUSH1 0x04 00001530: DUP3 00001531: ADD 00001532: MSTORE 00001533: PUSH1 0x26 00001535: PUSH1 0x24 00001537: DUP3 00001538: ADD 00001539: MSTORE 0000153a: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 0000155b: PUSH1 0x44 0000155d: DUP3 0000155e: ADD 0000155f: MSTORE 00001560: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 00001581: PUSH1 0x64 00001583: DUP3 00001584: ADD 00001585: MSTORE 00001586: PUSH1 0x84 00001588: ADD 00001589: PUSH2 0x0946 0000158c: JUMP 0000158d: JUMPDEST 0000158e: PUSH2 0x14b2 00001591: DUP2 00001592: PUSH2 0x19ee 00001595: JUMP 00001596: JUMPDEST 00001597: PUSH2 0x159e 0000159a: PUSH2 0x1613 0000159d: JUMP 0000159e: JUMPDEST 0000159f: PUSH2 0x0880 000015a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015b7: DUP4 000015b8: AND 000015b9: DUP3 000015ba: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000015db: PUSH2 0x1beb 000015de: JUMP 000015df: JUMPDEST 000015e0: PUSH2 0x15e7 000015e3: PUSH2 0x1613 000015e6: JUMP 000015e7: JUMPDEST 000015e8: PUSH2 0x15f0 000015eb: DUP3 000015ec: PUSH2 0x16ca 000015ef: JUMP 000015f0: JUMPDEST 000015f1: POP 000015f2: PUSH4 0xffffffff 000015f7: DUP1 000015f8: DUP4 000015f9: AND 000015fa: PUSH1 0x00 000015fc: SWAP1 000015fd: DUP2 000015fe: MSTORE 000015ff: PUSH1 0xcc 00001601: PUSH1 0x20 00001603: MSTORE 00001604: PUSH1 0x40 00001606: SWAP1 00001607: KECCAK256 00001608: PUSH2 0x0be4 0000160b: SWAP2 0000160c: DUP4 0000160d: SWAP1 0000160e: PUSH2 0x1694 00001611: AND 00001612: JUMP 00001613: JUMPDEST 00001614: PUSH1 0x33 00001616: SLOAD 00001617: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000162c: AND 0000162d: CALLER 0000162e: EQ 0000162f: PUSH2 0x100f 00001632: JUMPI 00001633: PUSH1 0x40 00001635: MLOAD 00001636: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001657: DUP2 00001658: MSTORE 00001659: PUSH1 0x20 0000165b: PUSH1 0x04 0000165d: DUP3 0000165e: ADD 0000165f: DUP2 00001660: SWAP1 00001661: MSTORE 00001662: PUSH1 0x24 00001664: DUP3 00001665: ADD 00001666: MSTORE 00001667: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001688: PUSH1 0x44 0000168a: DUP3 0000168b: ADD 0000168c: MSTORE 0000168d: PUSH1 0x64 0000168f: ADD 00001690: PUSH2 0x0946 00001693: JUMP 00001694: JUMPDEST 00001695: PUSH1 0x00 00001697: PUSH2 0x16b6 0000169a: DUP4 0000169b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016b0: DUP5 000016b1: AND 000016b2: PUSH2 0x1deb 000016b5: JUMP 000016b6: JUMPDEST 000016b7: SWAP4 000016b8: SWAP3 000016b9: POP 000016ba: POP 000016bb: POP 000016bc: JUMP 000016bd: JUMPDEST 000016be: PUSH1 0x60 000016c0: PUSH1 0x00 000016c2: PUSH2 0x16b6 000016c5: DUP4 000016c6: PUSH2 0x1e3a 000016c9: JUMP 000016ca: JUMPDEST 000016cb: PUSH1 0x00 000016cd: DUP1 000016ce: DUP1 000016cf: PUSH2 0x16e2 000016d2: PUSH1 0x97 000016d4: PUSH4 0xffffffff 000016d9: DUP1 000016da: DUP8 000016db: AND 000016dc: SWAP1 000016dd: PUSH2 0x172f 000016e0: AND 000016e1: JUMP 000016e2: JUMPDEST 000016e3: SWAP2 000016e4: POP 000016e5: SWAP2 000016e6: POP 000016e7: DUP2 000016e8: ISZERO 000016e9: PUSH2 0x16f3 000016ec: JUMPI 000016ed: SWAP4 000016ee: SWAP3 000016ef: POP 000016f0: POP 000016f1: POP 000016f2: JUMP 000016f3: JUMPDEST 000016f4: PUSH2 0x16fc 000016f7: DUP5 000016f8: PUSH2 0x1e96 000016fb: JUMP 000016fc: JUMPDEST 000016fd: PUSH1 0x40 000016ff: MLOAD 00001700: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001721: DUP2 00001722: MSTORE 00001723: PUSH1 0x04 00001725: ADD 00001726: PUSH2 0x0946 00001729: SWAP2 0000172a: SWAP1 0000172b: PUSH2 0x31c7 0000172e: JUMP 0000172f: JUMPDEST 00001730: PUSH1 0x00 00001732: DUP1 00001733: PUSH2 0x173c 00001736: DUP5 00001737: DUP5 00001738: PUSH2 0x1ecd 0000173b: JUMP 0000173c: JUMPDEST 0000173d: SWAP2 0000173e: POP 0000173f: SWAP2 00001740: POP 00001741: JUMPDEST 00001742: SWAP3 00001743: POP 00001744: SWAP3 00001745: SWAP1 00001746: POP 00001747: JUMP 00001748: JUMPDEST 00001749: PUSH1 0x00 0000174b: PUSH2 0x16b6 0000174e: DUP4 0000174f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001764: DUP5 00001765: AND 00001766: PUSH2 0x1f07 00001769: JUMP 0000176a: JUMPDEST 0000176b: PUSH1 0x60 0000176d: PUSH1 0x00 0000176f: PUSH2 0x1777 00001772: DUP4 00001773: PUSH2 0x1ffa 00001776: JUMP 00001777: JUMPDEST 00001778: SWAP1 00001779: POP 0000177a: DUP1 0000177b: MLOAD 0000177c: PUSH8 0xffffffffffffffff 00001785: DUP2 00001786: GT 00001787: ISZERO 00001788: PUSH2 0x1793 0000178b: JUMPI 0000178c: PUSH2 0x1793 0000178f: PUSH2 0x3397 00001792: JUMP 00001793: JUMPDEST 00001794: PUSH1 0x40 00001796: MLOAD 00001797: SWAP1 00001798: DUP1 00001799: DUP3 0000179a: MSTORE 0000179b: DUP1 0000179c: PUSH1 0x20 0000179e: MUL 0000179f: PUSH1 0x20 000017a1: ADD 000017a2: DUP3 000017a3: ADD 000017a4: PUSH1 0x40 000017a6: MSTORE 000017a7: DUP1 000017a8: ISZERO 000017a9: PUSH2 0x17bc 000017ac: JUMPI 000017ad: DUP2 000017ae: PUSH1 0x20 000017b0: ADD 000017b1: PUSH1 0x20 000017b3: DUP3 000017b4: MUL 000017b5: DUP1 000017b6: CALLDATASIZE 000017b7: DUP4 000017b8: CALLDATACOPY 000017b9: ADD 000017ba: SWAP1 000017bb: POP 000017bc: JUMPDEST 000017bd: POP 000017be: SWAP2 000017bf: POP 000017c0: PUSH1 0x00 000017c2: JUMPDEST 000017c3: DUP2 000017c4: MLOAD 000017c5: DUP2 000017c6: LT 000017c7: ISZERO 000017c8: PUSH2 0x1814 000017cb: JUMPI 000017cc: DUP2 000017cd: DUP2 000017ce: DUP2 000017cf: MLOAD 000017d0: DUP2 000017d1: LT 000017d2: PUSH2 0x17dd 000017d5: JUMPI 000017d6: PUSH2 0x17dd 000017d9: PUSH2 0x3326 000017dc: JUMP 000017dd: JUMPDEST 000017de: PUSH1 0x20 000017e0: MUL 000017e1: PUSH1 0x20 000017e3: ADD 000017e4: ADD 000017e5: MLOAD 000017e6: DUP4 000017e7: DUP3 000017e8: DUP2 000017e9: MLOAD 000017ea: DUP2 000017eb: LT 000017ec: PUSH2 0x17f7 000017ef: JUMPI 000017f0: PUSH2 0x17f7 000017f3: PUSH2 0x3326 000017f6: JUMP 000017f7: JUMPDEST 000017f8: PUSH4 0xffffffff 000017fd: SWAP1 000017fe: SWAP3 000017ff: AND 00001800: PUSH1 0x20 00001802: SWAP3 00001803: DUP4 00001804: MUL 00001805: SWAP2 00001806: SWAP1 00001807: SWAP2 00001808: ADD 00001809: SWAP1 0000180a: SWAP2 0000180b: ADD 0000180c: MSTORE 0000180d: PUSH1 0x01 0000180f: ADD 00001810: PUSH2 0x17c2 00001813: JUMP 00001814: JUMPDEST 00001815: POP 00001816: POP 00001817: SWAP2 00001818: SWAP1 00001819: POP 0000181a: JUMP 0000181b: JUMPDEST 0000181c: PUSH4 0xffffffff 00001821: DUP3 00001822: AND 00001823: PUSH1 0x00 00001825: DUP2 00001826: DUP2 00001827: MSTORE 00001828: PUSH1 0xca 0000182a: PUSH1 0x20 0000182c: SWAP1 0000182d: DUP2 0000182e: MSTORE 0000182f: PUSH1 0x40 00001831: SWAP2 00001832: DUP3 00001833: SWAP1 00001834: KECCAK256 00001835: DUP5 00001836: SWAP1 00001837: SSTORE 00001838: DUP2 00001839: MLOAD 0000183a: SWAP3 0000183b: DUP4 0000183c: MSTORE 0000183d: DUP3 0000183e: ADD 0000183f: DUP4 00001840: SWAP1 00001841: MSTORE 00001842: PUSH32 0xc3de732a98b24a2b5c6f67e8a7fb057ffc14046b83968a2c73e4148d2fba978b 00001863: SWAP2 00001864: ADD 00001865: PUSH2 0x09c6 00001868: JUMP 00001869: JUMPDEST 0000186a: PUSH1 0x00 0000186c: DUP1 0000186d: PUSH2 0x1875 00001870: DUP7 00001871: PUSH2 0x208b 00001874: JUMP 00001875: JUMPDEST 00001876: SWAP1 00001877: POP 00001878: PUSH1 0x00 0000187a: PUSH2 0x1882 0000187d: DUP8 0000187e: PUSH2 0x20e3 00001881: JUMP 00001882: JUMPDEST 00001883: SWAP1 00001884: POP 00001885: PUSH1 0x00 00001887: PUSH2 0x1891 0000188a: DUP10 0000188b: DUP4 0000188c: DUP6 0000188d: PUSH2 0x210f 00001890: JUMP 00001891: JUMPDEST 00001892: SWAP1 00001893: POP 00001894: PUSH2 0x18a0 00001897: DUP11 00001898: DUP9 00001899: DUP4 0000189a: DUP10 0000189b: DUP10 0000189c: PUSH2 0x213e 0000189f: JUMP 000018a0: JUMPDEST 000018a1: SWAP4 000018a2: POP 000018a3: DUP9 000018a4: DUP11 000018a5: PUSH4 0xffffffff 000018aa: AND 000018ab: PUSH32 0xd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec 000018cc: DUP5 000018cd: PUSH1 0x40 000018cf: MLOAD 000018d0: PUSH2 0x18db 000018d3: SWAP2 000018d4: DUP2 000018d5: MSTORE 000018d6: PUSH1 0x20 000018d8: ADD 000018d9: SWAP1 000018da: JUMP 000018db: JUMPDEST 000018dc: PUSH1 0x40 000018de: MLOAD 000018df: DUP1 000018e0: SWAP2 000018e1: SUB 000018e2: SWAP1 000018e3: LOG3 000018e4: POP 000018e5: POP 000018e6: POP 000018e7: SWAP7 000018e8: SWAP6 000018e9: POP 000018ea: POP 000018eb: POP 000018ec: POP 000018ed: POP 000018ee: POP 000018ef: JUMP 000018f0: JUMPDEST 000018f1: PUSH1 0x00 000018f3: PUSH2 0x18fc 000018f6: DUP4 000018f7: DUP4 000018f8: PUSH2 0x21f1 000018fb: JUMP 000018fc: JUMPDEST 000018fd: SWAP1 000018fe: POP 000018ff: PUSH1 0x00 00001901: PUSH2 0x190a 00001904: DUP5 00001905: DUP5 00001906: PUSH2 0x221a 00001909: JUMP 0000190a: JUMPDEST 0000190b: SWAP1 0000190c: POP 0000190d: CALLDATASIZE 0000190e: PUSH1 0x00 00001910: PUSH2 0x1919 00001913: DUP7 00001914: DUP7 00001915: PUSH2 0x222a 00001918: JUMP 00001919: JUMPDEST 0000191a: SWAP2 0000191b: POP 0000191c: SWAP2 0000191d: POP 0000191e: PUSH2 0x1939 00001921: PUSH2 0x1929 00001924: DUP6 00001925: PUSH2 0x223a 00001928: JUMP 00001929: JUMPDEST 0000192a: PUSH2 0x1932 0000192d: DUP6 0000192e: PUSH2 0x22e3 00001931: JUMP 00001932: JUMPDEST 00001933: DUP5 00001934: DUP5 00001935: PUSH2 0x230f 00001938: JUMP 00001939: JUMPDEST 0000193a: DUP4 0000193b: DUP9 0000193c: PUSH4 0xffffffff 00001941: AND 00001942: PUSH32 0xba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a6 00001963: DUP6 00001964: PUSH1 0x40 00001966: MLOAD 00001967: PUSH2 0x0f36 0000196a: SWAP2 0000196b: DUP2 0000196c: MSTORE 0000196d: PUSH1 0x20 0000196f: ADD 00001970: SWAP1 00001971: JUMP 00001972: JUMPDEST 00001973: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001988: DUP2 00001989: AND 0000198a: PUSH1 0x00 0000198c: SWAP1 0000198d: DUP2 0000198e: MSTORE 0000198f: PUSH1 0x01 00001991: DUP4 00001992: ADD 00001993: PUSH1 0x20 00001995: MSTORE 00001996: PUSH1 0x40 00001998: DUP2 00001999: KECCAK256 0000199a: SLOAD 0000199b: ISZERO 0000199c: ISZERO 0000199d: PUSH2 0x16b6 000019a0: JUMP 000019a1: JUMPDEST 000019a2: PUSH2 0x19e2 000019a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019ba: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 000019db: AND 000019dc: DUP3 000019dd: DUP5 000019de: PUSH2 0x1beb 000019e1: JUMP 000019e2: JUMPDEST 000019e3: PUSH2 0x1066 000019e6: DUP5 000019e7: DUP5 000019e8: DUP5 000019e9: DUP5 000019ea: PUSH2 0x2350 000019ed: JUMP 000019ee: JUMPDEST 000019ef: PUSH1 0x33 000019f1: DUP1 000019f2: SLOAD 000019f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a08: DUP4 00001a09: DUP2 00001a0a: AND 00001a0b: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001a2c: DUP4 00001a2d: AND 00001a2e: DUP2 00001a2f: OR 00001a30: SWAP1 00001a31: SWAP4 00001a32: SSTORE 00001a33: PUSH1 0x40 00001a35: MLOAD 00001a36: SWAP2 00001a37: AND 00001a38: SWAP2 00001a39: SWAP1 00001a3a: DUP3 00001a3b: SWAP1 00001a3c: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001a5d: SWAP1 00001a5e: PUSH1 0x00 00001a60: SWAP1 00001a61: LOG3 00001a62: POP 00001a63: POP 00001a64: JUMP 00001a65: JUMPDEST 00001a66: PUSH4 0xffffffff 00001a6b: DUP2 00001a6c: AND 00001a6d: PUSH1 0x00 00001a6f: SWAP1 00001a70: DUP2 00001a71: MSTORE 00001a72: PUSH1 0xcb 00001a74: PUSH1 0x20 00001a76: SWAP1 00001a77: DUP2 00001a78: MSTORE 00001a79: PUSH1 0x40 00001a7b: DUP1 00001a7c: DUP4 00001a7d: KECCAK256 00001a7e: DUP4 00001a7f: SWAP1 00001a80: SSTORE 00001a81: PUSH1 0xcc 00001a83: SWAP1 00001a84: SWAP2 00001a85: MSTORE 00001a86: SWAP1 00001a87: KECCAK256 00001a88: PUSH2 0x1a90 00001a8b: SWAP1 00001a8c: PUSH2 0x23f6 00001a8f: JUMP 00001a90: JUMPDEST 00001a91: PUSH2 0x14b2 00001a94: DUP2 00001a95: PUSH2 0x244e 00001a98: JUMP 00001a99: JUMPDEST 00001a9a: PUSH1 0x00 00001a9c: PUSH2 0x1ac9 00001a9f: DUP6 00001aa0: DUP6 00001aa1: DUP6 00001aa2: DUP6 00001aa3: PUSH2 0x1aab 00001aa6: DUP11 00001aa7: PUSH2 0x24a3 00001aaa: JUMP 00001aab: JUMPDEST 00001aac: PUSH1 0x65 00001aae: SLOAD 00001aaf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ac4: AND 00001ac5: PUSH2 0x1869 00001ac8: JUMP 00001ac9: JUMPDEST 00001aca: SWAP6 00001acb: SWAP5 00001acc: POP 00001acd: POP 00001ace: POP 00001acf: POP 00001ad0: POP 00001ad1: JUMP 00001ad2: JUMPDEST 00001ad3: PUSH1 0x40 00001ad5: DUP1 00001ad6: MLOAD 00001ad7: PUSH1 0x20 00001ad9: DUP2 00001ada: ADD 00001adb: DUP5 00001adc: SWAP1 00001add: MSTORE 00001ade: DUP1 00001adf: DUP3 00001ae0: ADD 00001ae1: DUP4 00001ae2: SWAP1 00001ae3: MSTORE 00001ae4: DUP2 00001ae5: MLOAD 00001ae6: DUP1 00001ae7: DUP3 00001ae8: SUB 00001ae9: DUP4 00001aea: ADD 00001aeb: DUP2 00001aec: MSTORE 00001aed: PUSH1 0x60 00001aef: SWAP1 00001af0: SWAP2 00001af1: ADD 00001af2: SWAP1 00001af3: SWAP2 00001af4: MSTORE 00001af5: PUSH1 0x00 00001af7: SWAP1 00001af8: PUSH2 0x0a3b 00001afb: SWAP1 00001afc: DUP6 00001afd: SWAP1 00001afe: PUSH1 0x65 00001b00: SLOAD 00001b01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b16: AND 00001b17: PUSH2 0x24c5 00001b1a: JUMP 00001b1b: JUMPDEST 00001b1c: PUSH2 0x0880 00001b1f: PUSH1 0x97 00001b21: PUSH4 0xffffffff 00001b26: DUP1 00001b27: DUP6 00001b28: AND 00001b29: SWAP1 00001b2a: DUP5 00001b2b: SWAP1 00001b2c: PUSH2 0x24db 00001b2f: AND 00001b30: JUMP 00001b31: JUMPDEST 00001b32: PUSH1 0x00 00001b34: SLOAD 00001b35: PUSH2 0x0100 00001b38: SWAP1 00001b39: DIV 00001b3a: PUSH1 0xff 00001b3c: AND 00001b3d: PUSH2 0x1bc8 00001b40: JUMPI 00001b41: PUSH1 0x40 00001b43: MLOAD 00001b44: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001b65: DUP2 00001b66: MSTORE 00001b67: PUSH1 0x20 00001b69: PUSH1 0x04 00001b6b: DUP3 00001b6c: ADD 00001b6d: MSTORE 00001b6e: PUSH1 0x2b 00001b70: PUSH1 0x24 00001b72: DUP3 00001b73: ADD 00001b74: MSTORE 00001b75: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 00001b96: PUSH1 0x44 00001b98: DUP3 00001b99: ADD 00001b9a: MSTORE 00001b9b: PUSH32 0x6e697469616c697a696e67000000000000000000000000000000000000000000 00001bbc: PUSH1 0x64 00001bbe: DUP3 00001bbf: ADD 00001bc0: MSTORE 00001bc1: PUSH1 0x84 00001bc3: ADD 00001bc4: PUSH2 0x0946 00001bc7: JUMP 00001bc8: JUMPDEST 00001bc9: PUSH2 0x1bd0 00001bcc: PUSH2 0x24e6 00001bcf: JUMP 00001bd0: JUMPDEST 00001bd1: PUSH2 0x1bd9 00001bd4: DUP4 00001bd5: PUSH2 0x0a43 00001bd8: JUMP 00001bd9: JUMPDEST 00001bda: PUSH2 0x1be2 00001bdd: DUP3 00001bde: PUSH2 0x0884 00001be1: JUMP 00001be2: JUMPDEST 00001be3: PUSH2 0x0be4 00001be6: DUP2 00001be7: PUSH2 0x19ee 00001bea: JUMP 00001beb: JUMPDEST 00001bec: DUP1 00001bed: ISZERO 00001bee: DUP1 00001bef: PUSH2 0x1c8b 00001bf2: JUMPI 00001bf3: POP 00001bf4: PUSH1 0x40 00001bf6: MLOAD 00001bf7: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000 00001c18: DUP2 00001c19: MSTORE 00001c1a: ADDRESS 00001c1b: PUSH1 0x04 00001c1d: DUP3 00001c1e: ADD 00001c1f: MSTORE 00001c20: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c35: DUP4 00001c36: DUP2 00001c37: AND 00001c38: PUSH1 0x24 00001c3a: DUP4 00001c3b: ADD 00001c3c: MSTORE 00001c3d: DUP5 00001c3e: AND 00001c3f: SWAP1 00001c40: PUSH4 0xdd62ed3e 00001c45: SWAP1 00001c46: PUSH1 0x44 00001c48: ADD 00001c49: PUSH1 0x20 00001c4b: PUSH1 0x40 00001c4d: MLOAD 00001c4e: DUP1 00001c4f: DUP4 00001c50: SUB 00001c51: DUP2 00001c52: DUP7 00001c53: GAS 00001c54: STATICCALL 00001c55: ISZERO 00001c56: DUP1 00001c57: ISZERO 00001c58: PUSH2 0x1c65 00001c5b: JUMPI 00001c5c: RETURNDATASIZE 00001c5d: PUSH1 0x00 00001c5f: DUP1 00001c60: RETURNDATACOPY 00001c61: RETURNDATASIZE 00001c62: PUSH1 0x00 00001c64: REVERT 00001c65: JUMPDEST 00001c66: POP 00001c67: POP 00001c68: POP 00001c69: POP 00001c6a: PUSH1 0x40 00001c6c: MLOAD 00001c6d: RETURNDATASIZE 00001c6e: PUSH1 0x1f 00001c70: NOT 00001c71: PUSH1 0x1f 00001c73: DUP3 00001c74: ADD 00001c75: AND 00001c76: DUP3 00001c77: ADD 00001c78: DUP1 00001c79: PUSH1 0x40 00001c7b: MSTORE 00001c7c: POP 00001c7d: DUP2 00001c7e: ADD 00001c7f: SWAP1 00001c80: PUSH2 0x1c89 00001c83: SWAP2 00001c84: SWAP1 00001c85: PUSH2 0x330d 00001c88: JUMP 00001c89: JUMPDEST 00001c8a: ISZERO 00001c8b: JUMPDEST 00001c8c: PUSH2 0x1d17 00001c8f: JUMPI 00001c90: PUSH1 0x40 00001c92: MLOAD 00001c93: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001cb4: DUP2 00001cb5: MSTORE 00001cb6: PUSH1 0x20 00001cb8: PUSH1 0x04 00001cba: DUP3 00001cbb: ADD 00001cbc: MSTORE 00001cbd: PUSH1 0x36 00001cbf: PUSH1 0x24 00001cc1: DUP3 00001cc2: ADD 00001cc3: MSTORE 00001cc4: PUSH32 0x5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f 00001ce5: PUSH1 0x44 00001ce7: DUP3 00001ce8: ADD 00001ce9: MSTORE 00001cea: PUSH32 0x20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000 00001d0b: PUSH1 0x64 00001d0d: DUP3 00001d0e: ADD 00001d0f: MSTORE 00001d10: PUSH1 0x84 00001d12: ADD 00001d13: PUSH2 0x0946 00001d16: JUMP 00001d17: JUMPDEST 00001d18: PUSH1 0x40 00001d1a: MLOAD 00001d1b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d30: DUP4 00001d31: AND 00001d32: PUSH1 0x24 00001d34: DUP3 00001d35: ADD 00001d36: MSTORE 00001d37: PUSH1 0x44 00001d39: DUP2 00001d3a: ADD 00001d3b: DUP3 00001d3c: SWAP1 00001d3d: MSTORE 00001d3e: PUSH2 0x0be4 00001d41: SWAP1 00001d42: DUP5 00001d43: SWAP1 00001d44: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 00001d65: SWAP1 00001d66: PUSH1 0x64 00001d68: ADD 00001d69: JUMPDEST 00001d6a: PUSH1 0x40 00001d6c: DUP1 00001d6d: MLOAD 00001d6e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001d8f: DUP2 00001d90: DUP5 00001d91: SUB 00001d92: ADD 00001d93: DUP2 00001d94: MSTORE 00001d95: SWAP2 00001d96: SWAP1 00001d97: MSTORE 00001d98: PUSH1 0x20 00001d9a: DUP2 00001d9b: ADD 00001d9c: DUP1 00001d9d: MLOAD 00001d9e: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001dbb: AND 00001dbc: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00001ddd: SWAP1 00001dde: SWAP4 00001ddf: AND 00001de0: SWAP3 00001de1: SWAP1 00001de2: SWAP3 00001de3: OR 00001de4: SWAP1 00001de5: SWAP2 00001de6: MSTORE 00001de7: PUSH2 0x2585 00001dea: JUMP 00001deb: JUMPDEST 00001dec: PUSH1 0x00 00001dee: DUP2 00001def: DUP2 00001df0: MSTORE 00001df1: PUSH1 0x01 00001df3: DUP4 00001df4: ADD 00001df5: PUSH1 0x20 00001df7: MSTORE 00001df8: PUSH1 0x40 00001dfa: DUP2 00001dfb: KECCAK256 00001dfc: SLOAD 00001dfd: PUSH2 0x1e32 00001e00: JUMPI 00001e01: POP 00001e02: DUP2 00001e03: SLOAD 00001e04: PUSH1 0x01 00001e06: DUP2 00001e07: DUP2 00001e08: ADD 00001e09: DUP5 00001e0a: SSTORE 00001e0b: PUSH1 0x00 00001e0d: DUP5 00001e0e: DUP2 00001e0f: MSTORE 00001e10: PUSH1 0x20 00001e12: DUP1 00001e13: DUP3 00001e14: KECCAK256 00001e15: SWAP1 00001e16: SWAP4 00001e17: ADD 00001e18: DUP5 00001e19: SWAP1 00001e1a: SSTORE 00001e1b: DUP5 00001e1c: SLOAD 00001e1d: DUP5 00001e1e: DUP3 00001e1f: MSTORE 00001e20: DUP3 00001e21: DUP7 00001e22: ADD 00001e23: SWAP1 00001e24: SWAP4 00001e25: MSTORE 00001e26: PUSH1 0x40 00001e28: SWAP1 00001e29: KECCAK256 00001e2a: SWAP2 00001e2b: SWAP1 00001e2c: SWAP2 00001e2d: SSTORE 00001e2e: PUSH2 0x09f3 00001e31: JUMP 00001e32: JUMPDEST 00001e33: POP 00001e34: PUSH1 0x00 00001e36: PUSH2 0x09f3 00001e39: JUMP 00001e3a: JUMPDEST 00001e3b: PUSH1 0x60 00001e3d: DUP2 00001e3e: PUSH1 0x00 00001e40: ADD 00001e41: DUP1 00001e42: SLOAD 00001e43: DUP1 00001e44: PUSH1 0x20 00001e46: MUL 00001e47: PUSH1 0x20 00001e49: ADD 00001e4a: PUSH1 0x40 00001e4c: MLOAD 00001e4d: SWAP1 00001e4e: DUP2 00001e4f: ADD 00001e50: PUSH1 0x40 00001e52: MSTORE 00001e53: DUP1 00001e54: SWAP3 00001e55: SWAP2 00001e56: SWAP1 00001e57: DUP2 00001e58: DUP2 00001e59: MSTORE 00001e5a: PUSH1 0x20 00001e5c: ADD 00001e5d: DUP3 00001e5e: DUP1 00001e5f: SLOAD 00001e60: DUP1 00001e61: ISZERO 00001e62: PUSH2 0x1e8a 00001e65: JUMPI 00001e66: PUSH1 0x20 00001e68: MUL 00001e69: DUP3 00001e6a: ADD 00001e6b: SWAP2 00001e6c: SWAP1 00001e6d: PUSH1 0x00 00001e6f: MSTORE 00001e70: PUSH1 0x20 00001e72: PUSH1 0x00 00001e74: KECCAK256 00001e75: SWAP1 00001e76: JUMPDEST 00001e77: DUP2 00001e78: SLOAD 00001e79: DUP2 00001e7a: MSTORE 00001e7b: PUSH1 0x20 00001e7d: ADD 00001e7e: SWAP1 00001e7f: PUSH1 0x01 00001e81: ADD 00001e82: SWAP1 00001e83: DUP1 00001e84: DUP4 00001e85: GT 00001e86: PUSH2 0x1e76 00001e89: JUMPI 00001e8a: JUMPDEST 00001e8b: POP 00001e8c: POP 00001e8d: POP 00001e8e: POP 00001e8f: POP 00001e90: SWAP1 00001e91: POP 00001e92: SWAP2 00001e93: SWAP1 00001e94: POP 00001e95: JUMP 00001e96: JUMPDEST 00001e97: PUSH1 0x60 00001e99: PUSH2 0x1ea7 00001e9c: DUP3 00001e9d: PUSH4 0xffffffff 00001ea2: AND 00001ea3: PUSH2 0x2694 00001ea6: JUMP 00001ea7: JUMPDEST 00001ea8: PUSH1 0x40 00001eaa: MLOAD 00001eab: PUSH1 0x20 00001ead: ADD 00001eae: PUSH2 0x1eb7 00001eb1: SWAP2 00001eb2: SWAP1 00001eb3: PUSH2 0x33c6 00001eb6: JUMP 00001eb7: JUMPDEST 00001eb8: PUSH1 0x40 00001eba: MLOAD 00001ebb: PUSH1 0x20 00001ebd: DUP2 00001ebe: DUP4 00001ebf: SUB 00001ec0: SUB 00001ec1: DUP2 00001ec2: MSTORE 00001ec3: SWAP1 00001ec4: PUSH1 0x40 00001ec6: MSTORE 00001ec7: SWAP1 00001ec8: POP 00001ec9: SWAP2 00001eca: SWAP1 00001ecb: POP 00001ecc: JUMP 00001ecd: JUMPDEST 00001ece: PUSH1 0x00 00001ed0: DUP2 00001ed1: DUP2 00001ed2: MSTORE 00001ed3: PUSH1 0x02 00001ed5: DUP4 00001ed6: ADD 00001ed7: PUSH1 0x20 00001ed9: MSTORE 00001eda: PUSH1 0x40 00001edc: DUP2 00001edd: KECCAK256 00001ede: SLOAD 00001edf: DUP2 00001ee0: SWAP1 00001ee1: DUP1 00001ee2: PUSH2 0x1efc 00001ee5: JUMPI 00001ee6: PUSH2 0x1eef 00001ee9: DUP6 00001eea: DUP6 00001eeb: PUSH2 0x2752 00001eee: JUMP 00001eef: JUMPDEST 00001ef0: SWAP3 00001ef1: POP 00001ef2: PUSH1 0x00 00001ef4: SWAP2 00001ef5: POP 00001ef6: PUSH2 0x1741 00001ef9: SWAP1 00001efa: POP 00001efb: JUMP 00001efc: JUMPDEST 00001efd: PUSH1 0x01 00001eff: SWAP3 00001f00: POP 00001f01: SWAP1 00001f02: POP 00001f03: PUSH2 0x1741 00001f06: JUMP 00001f07: JUMPDEST 00001f08: PUSH1 0x00 00001f0a: DUP2 00001f0b: DUP2 00001f0c: MSTORE 00001f0d: PUSH1 0x01 00001f0f: DUP4 00001f10: ADD 00001f11: PUSH1 0x20 00001f13: MSTORE 00001f14: PUSH1 0x40 00001f16: DUP2 00001f17: KECCAK256 00001f18: SLOAD 00001f19: DUP1 00001f1a: ISZERO 00001f1b: PUSH2 0x1ff0 00001f1e: JUMPI 00001f1f: PUSH1 0x00 00001f21: PUSH2 0x1f2b 00001f24: PUSH1 0x01 00001f26: DUP4 00001f27: PUSH2 0x340b 00001f2a: JUMP 00001f2b: JUMPDEST 00001f2c: DUP6 00001f2d: SLOAD 00001f2e: SWAP1 00001f2f: SWAP2 00001f30: POP 00001f31: PUSH1 0x00 00001f33: SWAP1 00001f34: PUSH2 0x1f3f 00001f37: SWAP1 00001f38: PUSH1 0x01 00001f3a: SWAP1 00001f3b: PUSH2 0x340b 00001f3e: JUMP 00001f3f: JUMPDEST 00001f40: SWAP1 00001f41: POP 00001f42: DUP2 00001f43: DUP2 00001f44: EQ 00001f45: PUSH2 0x1fa4 00001f48: JUMPI 00001f49: PUSH1 0x00 00001f4b: DUP7 00001f4c: PUSH1 0x00 00001f4e: ADD 00001f4f: DUP3 00001f50: DUP2 00001f51: SLOAD 00001f52: DUP2 00001f53: LT 00001f54: PUSH2 0x1f5f 00001f57: JUMPI 00001f58: PUSH2 0x1f5f 00001f5b: PUSH2 0x3326 00001f5e: JUMP 00001f5f: JUMPDEST 00001f60: SWAP1 00001f61: PUSH1 0x00 00001f63: MSTORE 00001f64: PUSH1 0x20 00001f66: PUSH1 0x00 00001f68: KECCAK256 00001f69: ADD 00001f6a: SLOAD 00001f6b: SWAP1 00001f6c: POP 00001f6d: DUP1 00001f6e: DUP8 00001f6f: PUSH1 0x00 00001f71: ADD 00001f72: DUP5 00001f73: DUP2 00001f74: SLOAD 00001f75: DUP2 00001f76: LT 00001f77: PUSH2 0x1f82 00001f7a: JUMPI 00001f7b: PUSH2 0x1f82 00001f7e: PUSH2 0x3326 00001f81: JUMP 00001f82: JUMPDEST 00001f83: PUSH1 0x00 00001f85: SWAP2 00001f86: DUP3 00001f87: MSTORE 00001f88: PUSH1 0x20 00001f8a: DUP1 00001f8b: DUP4 00001f8c: KECCAK256 00001f8d: SWAP1 00001f8e: SWAP2 00001f8f: ADD 00001f90: SWAP3 00001f91: SWAP1 00001f92: SWAP3 00001f93: SSTORE 00001f94: SWAP2 00001f95: DUP3 00001f96: MSTORE 00001f97: PUSH1 0x01 00001f99: DUP9 00001f9a: ADD 00001f9b: SWAP1 00001f9c: MSTORE 00001f9d: PUSH1 0x40 00001f9f: SWAP1 00001fa0: KECCAK256 00001fa1: DUP4 00001fa2: SWAP1 00001fa3: SSTORE 00001fa4: JUMPDEST 00001fa5: DUP6 00001fa6: SLOAD 00001fa7: DUP7 00001fa8: SWAP1 00001fa9: DUP1 00001faa: PUSH2 0x1fb5 00001fad: JUMPI 00001fae: PUSH2 0x1fb5 00001fb1: PUSH2 0x341e 00001fb4: JUMP 00001fb5: JUMPDEST 00001fb6: PUSH1 0x01 00001fb8: SWAP1 00001fb9: SUB 00001fba: DUP2 00001fbb: DUP2 00001fbc: SWAP1 00001fbd: PUSH1 0x00 00001fbf: MSTORE 00001fc0: PUSH1 0x20 00001fc2: PUSH1 0x00 00001fc4: KECCAK256 00001fc5: ADD 00001fc6: PUSH1 0x00 00001fc8: SWAP1 00001fc9: SSTORE 00001fca: SWAP1 00001fcb: SSTORE 00001fcc: DUP6 00001fcd: PUSH1 0x01 00001fcf: ADD 00001fd0: PUSH1 0x00 00001fd2: DUP7 00001fd3: DUP2 00001fd4: MSTORE 00001fd5: PUSH1 0x20 00001fd7: ADD 00001fd8: SWAP1 00001fd9: DUP2 00001fda: MSTORE 00001fdb: PUSH1 0x20 00001fdd: ADD 00001fde: PUSH1 0x00 00001fe0: KECCAK256 00001fe1: PUSH1 0x00 00001fe3: SWAP1 00001fe4: SSTORE 00001fe5: PUSH1 0x01 00001fe7: SWAP4 00001fe8: POP 00001fe9: POP 00001fea: POP 00001feb: POP 00001fec: PUSH2 0x09f3 00001fef: JUMP 00001ff0: JUMPDEST 00001ff1: PUSH1 0x00 00001ff3: SWAP2 00001ff4: POP 00001ff5: POP 00001ff6: PUSH2 0x09f3 00001ff9: JUMP 00001ffa: JUMPDEST 00001ffb: PUSH1 0x60 00001ffd: PUSH1 0x00 00001fff: PUSH2 0x2007 00002002: DUP4 00002003: PUSH2 0x275e 00002006: JUMP 00002007: JUMPDEST 00002008: SWAP1 00002009: POP 0000200a: DUP1 0000200b: PUSH8 0xffffffffffffffff 00002014: DUP2 00002015: GT 00002016: ISZERO 00002017: PUSH2 0x2022 0000201a: JUMPI 0000201b: PUSH2 0x2022 0000201e: PUSH2 0x3397 00002021: JUMP 00002022: JUMPDEST 00002023: PUSH1 0x40 00002025: MLOAD 00002026: SWAP1 00002027: DUP1 00002028: DUP3 00002029: MSTORE 0000202a: DUP1 0000202b: PUSH1 0x20 0000202d: MUL 0000202e: PUSH1 0x20 00002030: ADD 00002031: DUP3 00002032: ADD 00002033: PUSH1 0x40 00002035: MSTORE 00002036: DUP1 00002037: ISZERO 00002038: PUSH2 0x204b 0000203b: JUMPI 0000203c: DUP2 0000203d: PUSH1 0x20 0000203f: ADD 00002040: PUSH1 0x20 00002042: DUP3 00002043: MUL 00002044: DUP1 00002045: CALLDATASIZE 00002046: DUP4 00002047: CALLDATACOPY 00002048: ADD 00002049: SWAP1 0000204a: POP 0000204b: JUMPDEST 0000204c: POP 0000204d: SWAP2 0000204e: POP 0000204f: PUSH1 0x00 00002051: JUMPDEST 00002052: DUP2 00002053: DUP2 00002054: LT 00002055: ISZERO 00002056: PUSH2 0x1814 00002059: JUMPI 0000205a: PUSH2 0x2063 0000205d: DUP5 0000205e: DUP3 0000205f: PUSH2 0x2769 00002062: JUMP 00002063: JUMPDEST 00002064: PUSH1 0x00 00002066: SHR 00002067: DUP4 00002068: DUP3 00002069: DUP2 0000206a: MLOAD 0000206b: DUP2 0000206c: LT 0000206d: PUSH2 0x2078 00002070: JUMPI 00002071: PUSH2 0x2078 00002074: PUSH2 0x3326 00002077: JUMP 00002078: JUMPDEST 00002079: PUSH1 0x20 0000207b: SWAP1 0000207c: DUP2 0000207d: MUL 0000207e: SWAP2 0000207f: SWAP1 00002080: SWAP2 00002081: ADD 00002082: ADD 00002083: MSTORE 00002084: PUSH1 0x01 00002086: ADD 00002087: PUSH2 0x2051 0000208a: JUMP 0000208b: JUMPDEST 0000208c: PUSH1 0x60 0000208e: PUSH2 0x20cf 00002091: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020a6: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 000020c7: AND 000020c8: CALLER 000020c9: ADDRESS 000020ca: DUP6 000020cb: PUSH2 0x2775 000020ce: JUMP 000020cf: JUMPDEST 000020d0: POP 000020d1: POP 000020d2: PUSH1 0x40 000020d4: DUP1 000020d5: MLOAD 000020d6: PUSH1 0x20 000020d8: DUP2 000020d9: ADD 000020da: SWAP1 000020db: SWAP2 000020dc: MSTORE 000020dd: PUSH1 0x00 000020df: DUP2 000020e0: MSTORE 000020e1: SWAP1 000020e2: JUMP 000020e3: JUMPDEST 000020e4: PUSH1 0x00 000020e6: PUSH2 0x09f3 000020e9: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 0000210a: DUP4 0000210b: PUSH2 0x344d 0000210e: JUMP 0000210f: JUMPDEST 00002110: PUSH1 0x60 00002112: DUP4 00002113: DUP4 00002114: DUP4 00002115: PUSH1 0x40 00002117: MLOAD 00002118: PUSH1 0x20 0000211a: ADD 0000211b: PUSH2 0x2126 0000211e: SWAP4 0000211f: SWAP3 00002120: SWAP2 00002121: SWAP1 00002122: PUSH2 0x3464 00002125: JUMP 00002126: JUMPDEST 00002127: PUSH1 0x40 00002129: MLOAD 0000212a: PUSH1 0x20 0000212c: DUP2 0000212d: DUP4 0000212e: SUB 0000212f: SUB 00002130: DUP2 00002131: MSTORE 00002132: SWAP1 00002133: PUSH1 0x40 00002135: MSTORE 00002136: SWAP1 00002137: POP 00002138: SWAP4 00002139: SWAP3 0000213a: POP 0000213b: POP 0000213c: POP 0000213d: JUMP 0000213e: JUMPDEST 0000213f: PUSH1 0x00 00002141: DUP1 00002142: PUSH2 0x214a 00002145: DUP8 00002146: PUSH2 0x16ca 00002149: JUMP 0000214a: JUMPDEST 0000214b: SWAP1 0000214c: POP 0000214d: PUSH32 0x000000000000000000000000c005dc82818d67af737725bd4bf75435d065d239 0000216e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002183: AND 00002184: PUSH4 0x10b83dc0 00002189: DUP8 0000218a: DUP10 0000218b: DUP5 0000218c: DUP10 0000218d: DUP10 0000218e: DUP10 0000218f: PUSH1 0x40 00002191: MLOAD 00002192: DUP8 00002193: PUSH4 0xffffffff 00002198: AND 00002199: PUSH1 0xe0 0000219b: SHL 0000219c: DUP2 0000219d: MSTORE 0000219e: PUSH1 0x04 000021a0: ADD 000021a1: PUSH2 0x21ae 000021a4: SWAP6 000021a5: SWAP5 000021a6: SWAP4 000021a7: SWAP3 000021a8: SWAP2 000021a9: SWAP1 000021aa: PUSH2 0x3491 000021ad: JUMP 000021ae: JUMPDEST 000021af: PUSH1 0x20 000021b1: PUSH1 0x40 000021b3: MLOAD 000021b4: DUP1 000021b5: DUP4 000021b6: SUB 000021b7: DUP2 000021b8: DUP6 000021b9: DUP9 000021ba: GAS 000021bb: CALL 000021bc: ISZERO 000021bd: DUP1 000021be: ISZERO 000021bf: PUSH2 0x21cc 000021c2: JUMPI 000021c3: RETURNDATASIZE 000021c4: PUSH1 0x00 000021c6: DUP1 000021c7: RETURNDATACOPY 000021c8: RETURNDATASIZE 000021c9: PUSH1 0x00 000021cb: REVERT 000021cc: JUMPDEST 000021cd: POP 000021ce: POP 000021cf: POP 000021d0: POP 000021d1: POP 000021d2: PUSH1 0x40 000021d4: MLOAD 000021d5: RETURNDATASIZE 000021d6: PUSH1 0x1f 000021d8: NOT 000021d9: PUSH1 0x1f 000021db: DUP3 000021dc: ADD 000021dd: AND 000021de: DUP3 000021df: ADD 000021e0: DUP1 000021e1: PUSH1 0x40 000021e3: MSTORE 000021e4: POP 000021e5: DUP2 000021e6: ADD 000021e7: SWAP1 000021e8: PUSH2 0x0c30 000021eb: SWAP2 000021ec: SWAP1 000021ed: PUSH2 0x330d 000021f0: JUMP 000021f1: JUMPDEST 000021f2: PUSH1 0x00 000021f4: DUP3 000021f5: DUP2 000021f6: DUP4 000021f7: PUSH2 0x2201 000021fa: DUP3 000021fb: PUSH1 0x20 000021fd: PUSH2 0x34f1 00002200: JUMP 00002201: JUMPDEST 00002202: PUSH1 0xff 00002204: AND 00002205: SWAP3 00002206: PUSH2 0x2211 00002209: SWAP4 0000220a: SWAP3 0000220b: SWAP2 0000220c: SWAP1 0000220d: PUSH2 0x350a 00002210: JUMP 00002211: JUMPDEST 00002212: PUSH2 0x16b6 00002215: SWAP2 00002216: PUSH2 0x3534 00002219: JUMP 0000221a: JUMPDEST 0000221b: PUSH1 0x00 0000221d: DUP3 0000221e: PUSH1 0x20 00002220: DUP4 00002221: PUSH2 0x2201 00002224: DUP3 00002225: DUP1 00002226: PUSH2 0x34f1 00002229: JUMP 0000222a: JUMPDEST 0000222b: CALLDATASIZE 0000222c: PUSH1 0x00 0000222e: PUSH2 0x173c 00002231: DUP4 00002232: PUSH1 0x40 00002234: DUP2 00002235: DUP8 00002236: PUSH2 0x350a 00002239: JUMP 0000223a: JUMPDEST 0000223b: PUSH1 0x00 0000223d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002252: DUP3 00002253: GT 00002254: ISZERO 00002255: PUSH2 0x22df 00002258: JUMPI 00002259: PUSH1 0x40 0000225b: MLOAD 0000225c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000227d: DUP2 0000227e: MSTORE 0000227f: PUSH1 0x20 00002281: PUSH1 0x04 00002283: DUP3 00002284: ADD 00002285: MSTORE 00002286: PUSH1 0x24 00002288: DUP1 00002289: DUP3 0000228a: ADD 0000228b: MSTORE 0000228c: PUSH32 0x5479706543617374733a2062797465733332546f41646472657373206f766572 000022ad: PUSH1 0x44 000022af: DUP3 000022b0: ADD 000022b1: MSTORE 000022b2: PUSH32 0x666c6f7700000000000000000000000000000000000000000000000000000000 000022d3: PUSH1 0x64 000022d5: DUP3 000022d6: ADD 000022d7: MSTORE 000022d8: PUSH1 0x84 000022da: ADD 000022db: PUSH2 0x0946 000022de: JUMP 000022df: JUMPDEST 000022e0: POP 000022e1: SWAP1 000022e2: JUMP 000022e3: JUMPDEST 000022e4: PUSH1 0x00 000022e6: PUSH2 0x09f3 000022e9: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 0000230a: DUP4 0000230b: PUSH2 0x3570 0000230e: JUMP 0000230f: JUMPDEST 00002310: PUSH2 0x1066 00002313: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002328: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00002349: AND 0000234a: DUP6 0000234b: DUP6 0000234c: PUSH2 0x27d3 0000234f: JUMP 00002350: JUMPDEST 00002351: PUSH1 0x40 00002353: MLOAD 00002354: PUSH32 0x81b4e8b400000000000000000000000000000000000000000000000000000000 00002375: DUP2 00002376: MSTORE 00002377: PUSH4 0xffffffff 0000237c: DUP6 0000237d: AND 0000237e: PUSH1 0x04 00002380: DUP3 00002381: ADD 00002382: MSTORE 00002383: PUSH1 0x24 00002385: DUP2 00002386: ADD 00002387: DUP5 00002388: SWAP1 00002389: MSTORE 0000238a: PUSH1 0x44 0000238c: DUP2 0000238d: ADD 0000238e: DUP4 0000238f: SWAP1 00002390: MSTORE 00002391: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023a6: DUP3 000023a7: AND 000023a8: SWAP1 000023a9: PUSH4 0x81b4e8b4 000023ae: SWAP1 000023af: CALLVALUE 000023b0: SWAP1 000023b1: PUSH1 0x64 000023b3: ADD 000023b4: PUSH1 0x20 000023b6: PUSH1 0x40 000023b8: MLOAD 000023b9: DUP1 000023ba: DUP4 000023bb: SUB 000023bc: DUP2 000023bd: DUP6 000023be: DUP9 000023bf: GAS 000023c0: CALL 000023c1: ISZERO 000023c2: DUP1 000023c3: ISZERO 000023c4: PUSH2 0x23d1 000023c7: JUMPI 000023c8: RETURNDATASIZE 000023c9: PUSH1 0x00 000023cb: DUP1 000023cc: RETURNDATACOPY 000023cd: RETURNDATASIZE 000023ce: PUSH1 0x00 000023d0: REVERT 000023d1: JUMPDEST 000023d2: POP 000023d3: POP 000023d4: POP 000023d5: POP 000023d6: POP 000023d7: PUSH1 0x40 000023d9: MLOAD 000023da: RETURNDATASIZE 000023db: PUSH1 0x1f 000023dd: NOT 000023de: PUSH1 0x1f 000023e0: DUP3 000023e1: ADD 000023e2: AND 000023e3: DUP3 000023e4: ADD 000023e5: DUP1 000023e6: PUSH1 0x40 000023e8: MSTORE 000023e9: POP 000023ea: DUP2 000023eb: ADD 000023ec: SWAP1 000023ed: PUSH2 0x0da8 000023f0: SWAP2 000023f1: SWAP1 000023f2: PUSH2 0x330d 000023f5: JUMP 000023f6: JUMPDEST 000023f7: DUP1 000023f8: SLOAD 000023f9: PUSH1 0x00 000023fb: JUMPDEST 000023fc: DUP2 000023fd: DUP2 000023fe: LT 000023ff: ISZERO 00002400: PUSH2 0x2446 00002403: JUMPI 00002404: DUP3 00002405: PUSH1 0x01 00002407: ADD 00002408: PUSH1 0x00 0000240a: DUP5 0000240b: PUSH1 0x00 0000240d: ADD 0000240e: DUP4 0000240f: DUP2 00002410: SLOAD 00002411: DUP2 00002412: LT 00002413: PUSH2 0x241e 00002416: JUMPI 00002417: PUSH2 0x241e 0000241a: PUSH2 0x3326 0000241d: JUMP 0000241e: JUMPDEST 0000241f: SWAP1 00002420: PUSH1 0x00 00002422: MSTORE 00002423: PUSH1 0x20 00002425: PUSH1 0x00 00002427: KECCAK256 00002428: ADD 00002429: SLOAD 0000242a: DUP2 0000242b: MSTORE 0000242c: PUSH1 0x20 0000242e: ADD 0000242f: SWAP1 00002430: DUP2 00002431: MSTORE 00002432: PUSH1 0x20 00002434: ADD 00002435: PUSH1 0x00 00002437: KECCAK256 00002438: PUSH1 0x00 0000243a: SWAP1 0000243b: SSTORE 0000243c: DUP1 0000243d: PUSH1 0x01 0000243f: ADD 00002440: SWAP1 00002441: POP 00002442: PUSH2 0x23fb 00002445: JUMP 00002446: JUMPDEST 00002447: POP 00002448: POP 00002449: PUSH1 0x00 0000244b: SWAP1 0000244c: SSTORE 0000244d: JUMP 0000244e: JUMPDEST 0000244f: PUSH2 0x2462 00002452: PUSH1 0x97 00002454: PUSH4 0xffffffff 00002459: DUP1 0000245a: DUP5 0000245b: AND 0000245c: SWAP1 0000245d: PUSH2 0x2829 00002460: AND 00002461: JUMP 00002462: JUMPDEST 00002463: PUSH2 0x246b 00002466: DUP3 00002467: PUSH2 0x1e96 0000246a: JUMP 0000246b: JUMPDEST 0000246c: SWAP1 0000246d: PUSH2 0x0880 00002470: JUMPI 00002471: PUSH1 0x40 00002473: MLOAD 00002474: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002495: DUP2 00002496: MSTORE 00002497: PUSH1 0x04 00002499: ADD 0000249a: PUSH2 0x0946 0000249d: SWAP2 0000249e: SWAP1 0000249f: PUSH2 0x31c7 000024a2: JUMP 000024a3: JUMPDEST 000024a4: PUSH4 0xffffffff 000024a9: DUP2 000024aa: AND 000024ab: PUSH1 0x00 000024ad: SWAP1 000024ae: DUP2 000024af: MSTORE 000024b0: PUSH1 0xca 000024b2: PUSH1 0x20 000024b4: MSTORE 000024b5: PUSH1 0x40 000024b7: SWAP1 000024b8: KECCAK256 000024b9: SLOAD 000024ba: PUSH1 0x60 000024bc: SWAP1 000024bd: PUSH2 0x09f3 000024c0: SWAP1 000024c1: PUSH2 0x2835 000024c4: JUMP 000024c5: JUMPDEST 000024c6: PUSH1 0x00 000024c8: PUSH2 0x0a3b 000024cb: DUP5 000024cc: DUP5 000024cd: PUSH2 0x24d5 000024d0: DUP8 000024d1: PUSH2 0x24a3 000024d4: JUMP 000024d5: JUMPDEST 000024d6: DUP6 000024d7: PUSH2 0x2853 000024da: JUMP 000024db: JUMPDEST 000024dc: PUSH2 0x1066 000024df: DUP4 000024e0: DUP4 000024e1: DUP4 000024e2: PUSH2 0x2927 000024e5: JUMP 000024e6: JUMPDEST 000024e7: PUSH1 0x00 000024e9: SLOAD 000024ea: PUSH2 0x0100 000024ed: SWAP1 000024ee: DIV 000024ef: PUSH1 0xff 000024f1: AND 000024f2: PUSH2 0x257d 000024f5: JUMPI 000024f6: PUSH1 0x40 000024f8: MLOAD 000024f9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000251a: DUP2 0000251b: MSTORE 0000251c: PUSH1 0x20 0000251e: PUSH1 0x04 00002520: DUP3 00002521: ADD 00002522: MSTORE 00002523: PUSH1 0x2b 00002525: PUSH1 0x24 00002527: DUP3 00002528: ADD 00002529: MSTORE 0000252a: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 0000254b: PUSH1 0x44 0000254d: DUP3 0000254e: ADD 0000254f: MSTORE 00002550: PUSH32 0x6e697469616c697a696e67000000000000000000000000000000000000000000 00002571: PUSH1 0x64 00002573: DUP3 00002574: ADD 00002575: MSTORE 00002576: PUSH1 0x84 00002578: ADD 00002579: PUSH2 0x0946 0000257c: JUMP 0000257d: JUMPDEST 0000257e: PUSH2 0x100f 00002581: PUSH2 0x2944 00002584: JUMP 00002585: JUMPDEST 00002586: PUSH1 0x00 00002588: PUSH2 0x25e7 0000258b: DUP3 0000258c: PUSH1 0x40 0000258e: MLOAD 0000258f: DUP1 00002590: PUSH1 0x40 00002592: ADD 00002593: PUSH1 0x40 00002595: MSTORE 00002596: DUP1 00002597: PUSH1 0x20 00002599: DUP2 0000259a: MSTORE 0000259b: PUSH1 0x20 0000259d: ADD 0000259e: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 000025bf: DUP2 000025c0: MSTORE 000025c1: POP 000025c2: DUP6 000025c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025d8: AND 000025d9: PUSH2 0x29e4 000025dc: SWAP1 000025dd: SWAP3 000025de: SWAP2 000025df: SWAP1 000025e0: PUSH4 0xffffffff 000025e5: AND 000025e6: JUMP 000025e7: JUMPDEST 000025e8: SWAP1 000025e9: POP 000025ea: DUP1 000025eb: MLOAD 000025ec: PUSH1 0x00 000025ee: EQ 000025ef: DUP1 000025f0: PUSH2 0x2608 000025f3: JUMPI 000025f4: POP 000025f5: DUP1 000025f6: DUP1 000025f7: PUSH1 0x20 000025f9: ADD 000025fa: SWAP1 000025fb: MLOAD 000025fc: DUP2 000025fd: ADD 000025fe: SWAP1 000025ff: PUSH2 0x2608 00002602: SWAP2 00002603: SWAP1 00002604: PUSH2 0x35ab 00002607: JUMP 00002608: JUMPDEST 00002609: PUSH2 0x0be4 0000260c: JUMPI 0000260d: PUSH1 0x40 0000260f: MLOAD 00002610: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002631: DUP2 00002632: MSTORE 00002633: PUSH1 0x20 00002635: PUSH1 0x04 00002637: DUP3 00002638: ADD 00002639: MSTORE 0000263a: PUSH1 0x2a 0000263c: PUSH1 0x24 0000263e: DUP3 0000263f: ADD 00002640: MSTORE 00002641: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00002662: PUSH1 0x44 00002664: DUP3 00002665: ADD 00002666: MSTORE 00002667: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000 00002688: PUSH1 0x64 0000268a: DUP3 0000268b: ADD 0000268c: MSTORE 0000268d: PUSH1 0x84 0000268f: ADD 00002690: PUSH2 0x0946 00002693: JUMP 00002694: JUMPDEST 00002695: PUSH1 0x60 00002697: PUSH1 0x00 00002699: PUSH2 0x26a1 0000269c: DUP4 0000269d: PUSH2 0x29f3 000026a0: JUMP 000026a1: JUMPDEST 000026a2: PUSH1 0x01 000026a4: ADD 000026a5: SWAP1 000026a6: POP 000026a7: PUSH1 0x00 000026a9: DUP2 000026aa: PUSH8 0xffffffffffffffff 000026b3: DUP2 000026b4: GT 000026b5: ISZERO 000026b6: PUSH2 0x26c1 000026b9: JUMPI 000026ba: PUSH2 0x26c1 000026bd: PUSH2 0x3397 000026c0: JUMP 000026c1: JUMPDEST 000026c2: PUSH1 0x40 000026c4: MLOAD 000026c5: SWAP1 000026c6: DUP1 000026c7: DUP3 000026c8: MSTORE 000026c9: DUP1 000026ca: PUSH1 0x1f 000026cc: ADD 000026cd: PUSH1 0x1f 000026cf: NOT 000026d0: AND 000026d1: PUSH1 0x20 000026d3: ADD 000026d4: DUP3 000026d5: ADD 000026d6: PUSH1 0x40 000026d8: MSTORE 000026d9: DUP1 000026da: ISZERO 000026db: PUSH2 0x26eb 000026de: JUMPI 000026df: PUSH1 0x20 000026e1: DUP3 000026e2: ADD 000026e3: DUP2 000026e4: DUP1 000026e5: CALLDATASIZE 000026e6: DUP4 000026e7: CALLDATACOPY 000026e8: ADD 000026e9: SWAP1 000026ea: POP 000026eb: JUMPDEST 000026ec: POP 000026ed: SWAP1 000026ee: POP 000026ef: DUP2 000026f0: DUP2 000026f1: ADD 000026f2: PUSH1 0x20 000026f4: ADD 000026f5: JUMPDEST 000026f6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002717: ADD 00002718: PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 00002739: PUSH1 0x0a 0000273b: DUP7 0000273c: MOD 0000273d: BYTE 0000273e: DUP2 0000273f: MSTORE8 00002740: PUSH1 0x0a 00002742: DUP6 00002743: DIV 00002744: SWAP5 00002745: POP 00002746: DUP5 00002747: PUSH2 0x26f5 0000274a: JUMPI 0000274b: POP 0000274c: SWAP4 0000274d: SWAP3 0000274e: POP 0000274f: POP 00002750: POP 00002751: JUMP 00002752: JUMPDEST 00002753: PUSH1 0x00 00002755: PUSH2 0x16b6 00002758: DUP4 00002759: DUP4 0000275a: PUSH2 0x2ad5 0000275d: JUMP 0000275e: JUMPDEST 0000275f: PUSH1 0x00 00002761: PUSH2 0x09f3 00002764: DUP3 00002765: PUSH2 0x2aed 00002768: JUMP 00002769: JUMPDEST 0000276a: PUSH1 0x00 0000276c: PUSH2 0x16b6 0000276f: DUP4 00002770: DUP4 00002771: PUSH2 0x2af7 00002774: JUMP 00002775: JUMPDEST 00002776: PUSH1 0x40 00002778: MLOAD 00002779: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000278e: DUP1 0000278f: DUP6 00002790: AND 00002791: PUSH1 0x24 00002793: DUP4 00002794: ADD 00002795: MSTORE 00002796: DUP4 00002797: AND 00002798: PUSH1 0x44 0000279a: DUP3 0000279b: ADD 0000279c: MSTORE 0000279d: PUSH1 0x64 0000279f: DUP2 000027a0: ADD 000027a1: DUP3 000027a2: SWAP1 000027a3: MSTORE 000027a4: PUSH2 0x1066 000027a7: SWAP1 000027a8: DUP6 000027a9: SWAP1 000027aa: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 000027cb: SWAP1 000027cc: PUSH1 0x84 000027ce: ADD 000027cf: PUSH2 0x1d69 000027d2: JUMP 000027d3: JUMPDEST 000027d4: PUSH1 0x40 000027d6: MLOAD 000027d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027ec: DUP4 000027ed: AND 000027ee: PUSH1 0x24 000027f0: DUP3 000027f1: ADD 000027f2: MSTORE 000027f3: PUSH1 0x44 000027f5: DUP2 000027f6: ADD 000027f7: DUP3 000027f8: SWAP1 000027f9: MSTORE 000027fa: PUSH2 0x0be4 000027fd: SWAP1 000027fe: DUP5 000027ff: SWAP1 00002800: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00002821: SWAP1 00002822: PUSH1 0x64 00002824: ADD 00002825: PUSH2 0x1d69 00002828: JUMP 00002829: JUMPDEST 0000282a: PUSH1 0x00 0000282c: PUSH2 0x16b6 0000282f: DUP4 00002830: DUP4 00002831: PUSH2 0x2b21 00002834: JUMP 00002835: JUMPDEST 00002836: PUSH1 0x60 00002838: PUSH2 0x09f3 0000283b: PUSH1 0x00 0000283d: DUP4 0000283e: CALLER 0000283f: PUSH1 0x40 00002841: MLOAD 00002842: DUP1 00002843: PUSH1 0x20 00002845: ADD 00002846: PUSH1 0x40 00002848: MSTORE 00002849: DUP1 0000284a: PUSH1 0x00 0000284c: DUP2 0000284d: MSTORE 0000284e: POP 0000284f: PUSH2 0x2b3e 00002852: JUMP 00002853: JUMPDEST 00002854: PUSH1 0x00 00002856: DUP1 00002857: PUSH2 0x285f 0000285a: DUP7 0000285b: PUSH2 0x16ca 0000285e: JUMP 0000285f: JUMPDEST 00002860: PUSH1 0x40 00002862: MLOAD 00002863: PUSH32 0x81d2ea9500000000000000000000000000000000000000000000000000000000 00002884: DUP2 00002885: MSTORE 00002886: SWAP1 00002887: SWAP2 00002888: POP 00002889: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000289e: PUSH32 0x000000000000000000000000c005dc82818d67af737725bd4bf75435d065d239 000028bf: AND 000028c0: SWAP1 000028c1: PUSH4 0x81d2ea95 000028c6: SWAP1 000028c7: PUSH2 0x28dc 000028ca: SWAP1 000028cb: DUP10 000028cc: SWAP1 000028cd: DUP6 000028ce: SWAP1 000028cf: DUP11 000028d0: SWAP1 000028d1: DUP11 000028d2: SWAP1 000028d3: DUP11 000028d4: SWAP1 000028d5: PUSH1 0x04 000028d7: ADD 000028d8: PUSH2 0x3491 000028db: JUMP 000028dc: JUMPDEST 000028dd: PUSH1 0x20 000028df: PUSH1 0x40 000028e1: MLOAD 000028e2: DUP1 000028e3: DUP4 000028e4: SUB 000028e5: DUP2 000028e6: DUP7 000028e7: GAS 000028e8: STATICCALL 000028e9: ISZERO 000028ea: DUP1 000028eb: ISZERO 000028ec: PUSH2 0x28f9 000028ef: JUMPI 000028f0: RETURNDATASIZE 000028f1: PUSH1 0x00 000028f3: DUP1 000028f4: RETURNDATACOPY 000028f5: RETURNDATASIZE 000028f6: PUSH1 0x00 000028f8: REVERT 000028f9: JUMPDEST 000028fa: POP 000028fb: POP 000028fc: POP 000028fd: POP 000028fe: PUSH1 0x40 00002900: MLOAD 00002901: RETURNDATASIZE 00002902: PUSH1 0x1f 00002904: NOT 00002905: PUSH1 0x1f 00002907: DUP3 00002908: ADD 00002909: AND 0000290a: DUP3 0000290b: ADD 0000290c: DUP1 0000290d: PUSH1 0x40 0000290f: MSTORE 00002910: POP 00002911: DUP2 00002912: ADD 00002913: SWAP1 00002914: PUSH2 0x291d 00002917: SWAP2 00002918: SWAP1 00002919: PUSH2 0x330d 0000291c: JUMP 0000291d: JUMPDEST 0000291e: SWAP7 0000291f: SWAP6 00002920: POP 00002921: POP 00002922: POP 00002923: POP 00002924: POP 00002925: POP 00002926: JUMP 00002927: JUMPDEST 00002928: PUSH1 0x00 0000292a: DUP3 0000292b: DUP2 0000292c: MSTORE 0000292d: PUSH1 0x02 0000292f: DUP5 00002930: ADD 00002931: PUSH1 0x20 00002933: MSTORE 00002934: PUSH1 0x40 00002936: DUP2 00002937: KECCAK256 00002938: DUP3 00002939: SWAP1 0000293a: SSTORE 0000293b: PUSH2 0x0a3b 0000293e: DUP5 0000293f: DUP5 00002940: PUSH2 0x2b73 00002943: JUMP 00002944: JUMPDEST 00002945: PUSH1 0x00 00002947: SLOAD 00002948: PUSH2 0x0100 0000294b: SWAP1 0000294c: DIV 0000294d: PUSH1 0xff 0000294f: AND 00002950: PUSH2 0x29db 00002953: JUMPI 00002954: PUSH1 0x40 00002956: MLOAD 00002957: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002978: DUP2 00002979: MSTORE 0000297a: PUSH1 0x20 0000297c: PUSH1 0x04 0000297e: DUP3 0000297f: ADD 00002980: MSTORE 00002981: PUSH1 0x2b 00002983: PUSH1 0x24 00002985: DUP3 00002986: ADD 00002987: MSTORE 00002988: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 000029a9: PUSH1 0x44 000029ab: DUP3 000029ac: ADD 000029ad: MSTORE 000029ae: PUSH32 0x6e697469616c697a696e67000000000000000000000000000000000000000000 000029cf: PUSH1 0x64 000029d1: DUP3 000029d2: ADD 000029d3: MSTORE 000029d4: PUSH1 0x84 000029d6: ADD 000029d7: PUSH2 0x0946 000029da: JUMP 000029db: JUMPDEST 000029dc: PUSH2 0x100f 000029df: CALLER 000029e0: PUSH2 0x19ee 000029e3: JUMP 000029e4: JUMPDEST 000029e5: PUSH1 0x60 000029e7: PUSH2 0x0a3b 000029ea: DUP5 000029eb: DUP5 000029ec: PUSH1 0x00 000029ee: DUP6 000029ef: PUSH2 0x2b7f 000029f2: JUMP 000029f3: JUMPDEST 000029f4: PUSH1 0x00 000029f6: DUP1 000029f7: PUSH27 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000 00002a13: DUP4 00002a14: LT 00002a15: PUSH2 0x2a3c 00002a18: JUMPI 00002a19: PUSH27 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000 00002a35: DUP4 00002a36: DIV 00002a37: SWAP3 00002a38: POP 00002a39: PUSH1 0x40 00002a3b: ADD 00002a3c: JUMPDEST 00002a3d: PUSH14 0x04ee2d6d415b85acef8100000000 00002a4c: DUP4 00002a4d: LT 00002a4e: PUSH2 0x2a68 00002a51: JUMPI 00002a52: PUSH14 0x04ee2d6d415b85acef8100000000 00002a61: DUP4 00002a62: DIV 00002a63: SWAP3 00002a64: POP 00002a65: PUSH1 0x20 00002a67: ADD 00002a68: JUMPDEST 00002a69: PUSH7 0x2386f26fc10000 00002a71: DUP4 00002a72: LT 00002a73: PUSH2 0x2a86 00002a76: JUMPI 00002a77: PUSH7 0x2386f26fc10000 00002a7f: DUP4 00002a80: DIV 00002a81: SWAP3 00002a82: POP 00002a83: PUSH1 0x10 00002a85: ADD 00002a86: JUMPDEST 00002a87: PUSH4 0x05f5e100 00002a8c: DUP4 00002a8d: LT 00002a8e: PUSH2 0x2a9e 00002a91: JUMPI 00002a92: PUSH4 0x05f5e100 00002a97: DUP4 00002a98: DIV 00002a99: SWAP3 00002a9a: POP 00002a9b: PUSH1 0x08 00002a9d: ADD 00002a9e: JUMPDEST 00002a9f: PUSH2 0x2710 00002aa2: DUP4 00002aa3: LT 00002aa4: PUSH2 0x2ab2 00002aa7: JUMPI 00002aa8: PUSH2 0x2710 00002aab: DUP4 00002aac: DIV 00002aad: SWAP3 00002aae: POP 00002aaf: PUSH1 0x04 00002ab1: ADD 00002ab2: JUMPDEST 00002ab3: PUSH1 0x64 00002ab5: DUP4 00002ab6: LT 00002ab7: PUSH2 0x2ac4 00002aba: JUMPI 00002abb: PUSH1 0x64 00002abd: DUP4 00002abe: DIV 00002abf: SWAP3 00002ac0: POP 00002ac1: PUSH1 0x02 00002ac3: ADD 00002ac4: JUMPDEST 00002ac5: PUSH1 0x0a 00002ac7: DUP4 00002ac8: LT 00002ac9: PUSH2 0x09f3 00002acc: JUMPI 00002acd: PUSH1 0x01 00002acf: ADD 00002ad0: SWAP3 00002ad1: SWAP2 00002ad2: POP 00002ad3: POP 00002ad4: JUMP 00002ad5: JUMPDEST 00002ad6: PUSH1 0x00 00002ad8: DUP2 00002ad9: DUP2 00002ada: MSTORE 00002adb: PUSH1 0x01 00002add: DUP4 00002ade: ADD 00002adf: PUSH1 0x20 00002ae1: MSTORE 00002ae2: PUSH1 0x40 00002ae4: DUP2 00002ae5: KECCAK256 00002ae6: SLOAD 00002ae7: ISZERO 00002ae8: ISZERO 00002ae9: PUSH2 0x16b6 00002aec: JUMP 00002aed: JUMPDEST 00002aee: PUSH1 0x00 00002af0: PUSH2 0x09f3 00002af3: DUP3 00002af4: SLOAD 00002af5: SWAP1 00002af6: JUMP 00002af7: JUMPDEST 00002af8: PUSH1 0x00 00002afa: DUP3 00002afb: PUSH1 0x00 00002afd: ADD 00002afe: DUP3 00002aff: DUP2 00002b00: SLOAD 00002b01: DUP2 00002b02: LT 00002b03: PUSH2 0x2b0e 00002b06: JUMPI 00002b07: PUSH2 0x2b0e 00002b0a: PUSH2 0x3326 00002b0d: JUMP 00002b0e: JUMPDEST 00002b0f: SWAP1 00002b10: PUSH1 0x00 00002b12: MSTORE 00002b13: PUSH1 0x20 00002b15: PUSH1 0x00 00002b17: KECCAK256 00002b18: ADD 00002b19: SLOAD 00002b1a: SWAP1 00002b1b: POP 00002b1c: SWAP3 00002b1d: SWAP2 00002b1e: POP 00002b1f: POP 00002b20: JUMP 00002b21: JUMPDEST 00002b22: PUSH1 0x00 00002b24: DUP2 00002b25: DUP2 00002b26: MSTORE 00002b27: PUSH1 0x02 00002b29: DUP4 00002b2a: ADD 00002b2b: PUSH1 0x20 00002b2d: MSTORE 00002b2e: PUSH1 0x40 00002b30: DUP2 00002b31: KECCAK256 00002b32: DUP2 00002b33: SWAP1 00002b34: SSTORE 00002b35: PUSH2 0x16b6 00002b38: DUP4 00002b39: DUP4 00002b3a: PUSH2 0x2c8d 00002b3d: JUMP 00002b3e: JUMPDEST 00002b3f: PUSH1 0x60 00002b41: PUSH1 0x01 00002b43: DUP6 00002b44: DUP6 00002b45: DUP6 00002b46: DUP6 00002b47: PUSH1 0x40 00002b49: MLOAD 00002b4a: PUSH1 0x20 00002b4c: ADD 00002b4d: PUSH2 0x2b5a 00002b50: SWAP6 00002b51: SWAP5 00002b52: SWAP4 00002b53: SWAP3 00002b54: SWAP2 00002b55: SWAP1 00002b56: PUSH2 0x35cd 00002b59: JUMP 00002b5a: JUMPDEST 00002b5b: PUSH1 0x40 00002b5d: MLOAD 00002b5e: PUSH1 0x20 00002b60: DUP2 00002b61: DUP4 00002b62: SUB 00002b63: SUB 00002b64: DUP2 00002b65: MSTORE 00002b66: SWAP1 00002b67: PUSH1 0x40 00002b69: MSTORE 00002b6a: SWAP1 00002b6b: POP 00002b6c: SWAP5 00002b6d: SWAP4 00002b6e: POP 00002b6f: POP 00002b70: POP 00002b71: POP 00002b72: JUMP 00002b73: JUMPDEST 00002b74: PUSH1 0x00 00002b76: PUSH2 0x16b6 00002b79: DUP4 00002b7a: DUP4 00002b7b: PUSH2 0x1deb 00002b7e: JUMP 00002b7f: JUMPDEST 00002b80: PUSH1 0x60 00002b82: DUP3 00002b83: SELFBALANCE 00002b84: LT 00002b85: ISZERO 00002b86: PUSH2 0x2c11 00002b89: JUMPI 00002b8a: PUSH1 0x40 00002b8c: MLOAD 00002b8d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002bae: DUP2 00002baf: MSTORE 00002bb0: PUSH1 0x20 00002bb2: PUSH1 0x04 00002bb4: DUP3 00002bb5: ADD 00002bb6: MSTORE 00002bb7: PUSH1 0x26 00002bb9: PUSH1 0x24 00002bbb: DUP3 00002bbc: ADD 00002bbd: MSTORE 00002bbe: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00002bdf: PUSH1 0x44 00002be1: DUP3 00002be2: ADD 00002be3: MSTORE 00002be4: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000 00002c05: PUSH1 0x64 00002c07: DUP3 00002c08: ADD 00002c09: MSTORE 00002c0a: PUSH1 0x84 00002c0c: ADD 00002c0d: PUSH2 0x0946 00002c10: JUMP 00002c11: JUMPDEST 00002c12: PUSH1 0x00 00002c14: DUP1 00002c15: DUP7 00002c16: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c2b: AND 00002c2c: DUP6 00002c2d: DUP8 00002c2e: PUSH1 0x40 00002c30: MLOAD 00002c31: PUSH2 0x2c3a 00002c34: SWAP2 00002c35: SWAP1 00002c36: PUSH2 0x3652 00002c39: JUMP 00002c3a: JUMPDEST 00002c3b: PUSH1 0x00 00002c3d: PUSH1 0x40 00002c3f: MLOAD 00002c40: DUP1 00002c41: DUP4 00002c42: SUB 00002c43: DUP2 00002c44: DUP6 00002c45: DUP8 00002c46: GAS 00002c47: CALL 00002c48: SWAP3 00002c49: POP 00002c4a: POP 00002c4b: POP 00002c4c: RETURNDATASIZE 00002c4d: DUP1 00002c4e: PUSH1 0x00 00002c50: DUP2 00002c51: EQ 00002c52: PUSH2 0x2c77 00002c55: JUMPI 00002c56: PUSH1 0x40 00002c58: MLOAD 00002c59: SWAP2 00002c5a: POP 00002c5b: PUSH1 0x1f 00002c5d: NOT 00002c5e: PUSH1 0x3f 00002c60: RETURNDATASIZE 00002c61: ADD 00002c62: AND 00002c63: DUP3 00002c64: ADD 00002c65: PUSH1 0x40 00002c67: MSTORE 00002c68: RETURNDATASIZE 00002c69: DUP3 00002c6a: MSTORE 00002c6b: RETURNDATASIZE 00002c6c: PUSH1 0x00 00002c6e: PUSH1 0x20 00002c70: DUP5 00002c71: ADD 00002c72: RETURNDATACOPY 00002c73: PUSH2 0x2c7c 00002c76: JUMP 00002c77: JUMPDEST 00002c78: PUSH1 0x60 00002c7a: SWAP2 00002c7b: POP 00002c7c: JUMPDEST 00002c7d: POP 00002c7e: SWAP2 00002c7f: POP 00002c80: SWAP2 00002c81: POP 00002c82: PUSH2 0x0c30 00002c85: DUP8 00002c86: DUP4 00002c87: DUP4 00002c88: DUP8 00002c89: PUSH2 0x2c99 00002c8c: JUMP 00002c8d: JUMPDEST 00002c8e: PUSH1 0x00 00002c90: PUSH2 0x16b6 00002c93: DUP4 00002c94: DUP4 00002c95: PUSH2 0x1f07 00002c98: JUMP 00002c99: JUMPDEST 00002c9a: PUSH1 0x60 00002c9c: DUP4 00002c9d: ISZERO 00002c9e: PUSH2 0x2d2f 00002ca1: JUMPI 00002ca2: DUP3 00002ca3: MLOAD 00002ca4: PUSH1 0x00 00002ca6: SUB 00002ca7: PUSH2 0x2d28 00002caa: JUMPI 00002cab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cc0: DUP6 00002cc1: AND 00002cc2: EXTCODESIZE 00002cc3: PUSH2 0x2d28 00002cc6: JUMPI 00002cc7: PUSH1 0x40 00002cc9: MLOAD 00002cca: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002ceb: DUP2 00002cec: MSTORE 00002ced: PUSH1 0x20 00002cef: PUSH1 0x04 00002cf1: DUP3 00002cf2: ADD 00002cf3: MSTORE 00002cf4: PUSH1 0x1d 00002cf6: PUSH1 0x24 00002cf8: DUP3 00002cf9: ADD 00002cfa: MSTORE 00002cfb: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00002d1c: PUSH1 0x44 00002d1e: DUP3 00002d1f: ADD 00002d20: MSTORE 00002d21: PUSH1 0x64 00002d23: ADD 00002d24: PUSH2 0x0946 00002d27: JUMP 00002d28: JUMPDEST 00002d29: POP 00002d2a: DUP2 00002d2b: PUSH2 0x0a3b 00002d2e: JUMP 00002d2f: JUMPDEST 00002d30: PUSH2 0x0a3b 00002d33: DUP4 00002d34: DUP4 00002d35: DUP2 00002d36: MLOAD 00002d37: ISZERO 00002d38: PUSH2 0x2d44 00002d3b: JUMPI 00002d3c: DUP2 00002d3d: MLOAD 00002d3e: DUP1 00002d3f: DUP4 00002d40: PUSH1 0x20 00002d42: ADD 00002d43: REVERT 00002d44: JUMPDEST 00002d45: DUP1 00002d46: PUSH1 0x40 00002d48: MLOAD 00002d49: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002d6a: DUP2 00002d6b: MSTORE 00002d6c: PUSH1 0x04 00002d6e: ADD 00002d6f: PUSH2 0x0946 00002d72: SWAP2 00002d73: SWAP1 00002d74: PUSH2 0x31c7 00002d77: JUMP 00002d78: JUMPDEST 00002d79: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d8e: DUP2 00002d8f: AND 00002d90: DUP2 00002d91: EQ 00002d92: PUSH2 0x14b2 00002d95: JUMPI 00002d96: PUSH1 0x00 00002d98: DUP1 00002d99: REVERT 00002d9a: JUMPDEST 00002d9b: PUSH1 0x00 00002d9d: PUSH1 0x20 00002d9f: DUP3 00002da0: DUP5 00002da1: SUB 00002da2: SLT 00002da3: ISZERO 00002da4: PUSH2 0x2dac 00002da7: JUMPI 00002da8: PUSH1 0x00 00002daa: DUP1 00002dab: REVERT 00002dac: JUMPDEST 00002dad: DUP2 00002dae: CALLDATALOAD 00002daf: PUSH2 0x16b6 00002db2: DUP2 00002db3: PUSH2 0x2d78 00002db6: JUMP 00002db7: JUMPDEST 00002db8: DUP1 00002db9: CALLDATALOAD 00002dba: PUSH4 0xffffffff 00002dbf: DUP2 00002dc0: AND 00002dc1: DUP2 00002dc2: EQ 00002dc3: PUSH2 0x2dcb 00002dc6: JUMPI 00002dc7: PUSH1 0x00 00002dc9: DUP1 00002dca: REVERT 00002dcb: JUMPDEST 00002dcc: SWAP2 00002dcd: SWAP1 00002dce: POP 00002dcf: JUMP 00002dd0: JUMPDEST 00002dd1: PUSH1 0x00 00002dd3: PUSH1 0x20 00002dd5: DUP3 00002dd6: DUP5 00002dd7: SUB 00002dd8: SLT 00002dd9: ISZERO 00002dda: PUSH2 0x2de2 00002ddd: JUMPI 00002dde: PUSH1 0x00 00002de0: DUP1 00002de1: REVERT 00002de2: JUMPDEST 00002de3: PUSH2 0x16b6 00002de6: DUP3 00002de7: PUSH2 0x2db7 00002dea: JUMP 00002deb: JUMPDEST 00002dec: PUSH1 0x20 00002dee: DUP1 00002def: DUP3 00002df0: MSTORE 00002df1: DUP3 00002df2: MLOAD 00002df3: DUP3 00002df4: DUP3 00002df5: ADD 00002df6: DUP2 00002df7: SWAP1 00002df8: MSTORE 00002df9: PUSH1 0x00 00002dfb: SWAP2 00002dfc: SWAP1 00002dfd: DUP5 00002dfe: DUP3 00002dff: ADD 00002e00: SWAP1 00002e01: PUSH1 0x40 00002e03: DUP6 00002e04: ADD 00002e05: SWAP1 00002e06: DUP5 00002e07: JUMPDEST 00002e08: DUP2 00002e09: DUP2 00002e0a: LT 00002e0b: ISZERO 00002e0c: PUSH2 0x2e39 00002e0f: JUMPI 00002e10: DUP4 00002e11: MLOAD 00002e12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e27: AND 00002e28: DUP4 00002e29: MSTORE 00002e2a: SWAP3 00002e2b: DUP5 00002e2c: ADD 00002e2d: SWAP3 00002e2e: SWAP2 00002e2f: DUP5 00002e30: ADD 00002e31: SWAP2 00002e32: PUSH1 0x01 00002e34: ADD 00002e35: PUSH2 0x2e07 00002e38: JUMP 00002e39: JUMPDEST 00002e3a: POP 00002e3b: SWAP1 00002e3c: SWAP7 00002e3d: SWAP6 00002e3e: POP 00002e3f: POP 00002e40: POP 00002e41: POP 00002e42: POP 00002e43: POP 00002e44: JUMP 00002e45: JUMPDEST 00002e46: PUSH1 0x00 00002e48: DUP1 00002e49: PUSH1 0x40 00002e4b: DUP4 00002e4c: DUP6 00002e4d: SUB 00002e4e: SLT 00002e4f: ISZERO 00002e50: PUSH2 0x2e58 00002e53: JUMPI 00002e54: PUSH1 0x00 00002e56: DUP1 00002e57: REVERT 00002e58: JUMPDEST 00002e59: PUSH2 0x2e61 00002e5c: DUP4 00002e5d: PUSH2 0x2db7 00002e60: JUMP 00002e61: JUMPDEST 00002e62: SWAP5 00002e63: PUSH1 0x20 00002e65: SWAP4 00002e66: SWAP1 00002e67: SWAP4 00002e68: ADD 00002e69: CALLDATALOAD 00002e6a: SWAP4 00002e6b: POP 00002e6c: POP 00002e6d: POP 00002e6e: JUMP 00002e6f: JUMPDEST 00002e70: PUSH1 0x20 00002e72: DUP1 00002e73: DUP3 00002e74: MSTORE 00002e75: DUP3 00002e76: MLOAD 00002e77: DUP3 00002e78: DUP3 00002e79: ADD 00002e7a: DUP2 00002e7b: SWAP1 00002e7c: MSTORE 00002e7d: PUSH1 0x00 00002e7f: SWAP2 00002e80: SWAP1 00002e81: DUP5 00002e82: DUP3 00002e83: ADD 00002e84: SWAP1 00002e85: PUSH1 0x40 00002e87: DUP6 00002e88: ADD 00002e89: SWAP1 00002e8a: DUP5 00002e8b: JUMPDEST 00002e8c: DUP2 00002e8d: DUP2 00002e8e: LT 00002e8f: ISZERO 00002e90: PUSH2 0x2e39 00002e93: JUMPI 00002e94: DUP4 00002e95: MLOAD 00002e96: PUSH4 0xffffffff 00002e9b: AND 00002e9c: DUP4 00002e9d: MSTORE 00002e9e: SWAP3 00002e9f: DUP5 00002ea0: ADD 00002ea1: SWAP3 00002ea2: SWAP2 00002ea3: DUP5 00002ea4: ADD 00002ea5: SWAP2 00002ea6: PUSH1 0x01 00002ea8: ADD 00002ea9: PUSH2 0x2e8b 00002eac: JUMP 00002ead: JUMPDEST 00002eae: PUSH1 0x00 00002eb0: DUP1 00002eb1: PUSH1 0x40 00002eb3: DUP4 00002eb4: DUP6 00002eb5: SUB 00002eb6: SLT 00002eb7: ISZERO 00002eb8: PUSH2 0x2ec0 00002ebb: JUMPI 00002ebc: PUSH1 0x00 00002ebe: DUP1 00002ebf: REVERT 00002ec0: JUMPDEST 00002ec1: PUSH2 0x2ec9 00002ec4: DUP4 00002ec5: PUSH2 0x2db7 00002ec8: JUMP 00002ec9: JUMPDEST 00002eca: SWAP2 00002ecb: POP 00002ecc: PUSH1 0x20 00002ece: DUP4 00002ecf: ADD 00002ed0: CALLDATALOAD 00002ed1: PUSH2 0x2ed9 00002ed4: DUP2 00002ed5: PUSH2 0x2d78 00002ed8: JUMP 00002ed9: JUMPDEST 00002eda: DUP1 00002edb: SWAP2 00002edc: POP 00002edd: POP 00002ede: SWAP3 00002edf: POP 00002ee0: SWAP3 00002ee1: SWAP1 00002ee2: POP 00002ee3: JUMP 00002ee4: JUMPDEST 00002ee5: PUSH1 0x00 00002ee7: DUP1 00002ee8: DUP4 00002ee9: PUSH1 0x1f 00002eeb: DUP5 00002eec: ADD 00002eed: SLT 00002eee: PUSH2 0x2ef6 00002ef1: JUMPI 00002ef2: PUSH1 0x00 00002ef4: DUP1 00002ef5: REVERT 00002ef6: JUMPDEST 00002ef7: POP 00002ef8: DUP2 00002ef9: CALLDATALOAD 00002efa: PUSH8 0xffffffffffffffff 00002f03: DUP2 00002f04: GT 00002f05: ISZERO 00002f06: PUSH2 0x2f0e 00002f09: JUMPI 00002f0a: PUSH1 0x00 00002f0c: DUP1 00002f0d: REVERT 00002f0e: JUMPDEST 00002f0f: PUSH1 0x20 00002f11: DUP4 00002f12: ADD 00002f13: SWAP2 00002f14: POP 00002f15: DUP4 00002f16: PUSH1 0x20 00002f18: DUP3 00002f19: DUP6 00002f1a: ADD 00002f1b: ADD 00002f1c: GT 00002f1d: ISZERO 00002f1e: PUSH2 0x1741 00002f21: JUMPI 00002f22: PUSH1 0x00 00002f24: DUP1 00002f25: REVERT 00002f26: JUMPDEST 00002f27: PUSH1 0x00 00002f29: DUP1 00002f2a: PUSH1 0x00 00002f2c: DUP1 00002f2d: PUSH1 0x00 00002f2f: DUP1 00002f30: PUSH1 0xa0 00002f32: DUP8 00002f33: DUP10 00002f34: SUB 00002f35: SLT 00002f36: ISZERO 00002f37: PUSH2 0x2f3f 00002f3a: JUMPI 00002f3b: PUSH1 0x00 00002f3d: DUP1 00002f3e: REVERT 00002f3f: JUMPDEST 00002f40: PUSH2 0x2f48 00002f43: DUP8 00002f44: PUSH2 0x2db7 00002f47: JUMP 00002f48: JUMPDEST 00002f49: SWAP6 00002f4a: POP 00002f4b: PUSH1 0x20 00002f4d: DUP8 00002f4e: ADD 00002f4f: CALLDATALOAD 00002f50: SWAP5 00002f51: POP 00002f52: PUSH1 0x40 00002f54: DUP8 00002f55: ADD 00002f56: CALLDATALOAD 00002f57: SWAP4 00002f58: POP 00002f59: PUSH1 0x60 00002f5b: DUP8 00002f5c: ADD 00002f5d: CALLDATALOAD 00002f5e: PUSH8 0xffffffffffffffff 00002f67: DUP2 00002f68: GT 00002f69: ISZERO 00002f6a: PUSH2 0x2f72 00002f6d: JUMPI 00002f6e: PUSH1 0x00 00002f70: DUP1 00002f71: REVERT 00002f72: JUMPDEST 00002f73: PUSH2 0x2f7e 00002f76: DUP10 00002f77: DUP3 00002f78: DUP11 00002f79: ADD 00002f7a: PUSH2 0x2ee4 00002f7d: JUMP 00002f7e: JUMPDEST 00002f7f: SWAP1 00002f80: SWAP5 00002f81: POP 00002f82: SWAP3 00002f83: POP 00002f84: POP 00002f85: PUSH1 0x80 00002f87: DUP8 00002f88: ADD 00002f89: CALLDATALOAD 00002f8a: PUSH2 0x2f92 00002f8d: DUP2 00002f8e: PUSH2 0x2d78 00002f91: JUMP 00002f92: JUMPDEST 00002f93: DUP1 00002f94: SWAP2 00002f95: POP 00002f96: POP 00002f97: SWAP3 00002f98: SWAP6 00002f99: POP 00002f9a: SWAP3 00002f9b: SWAP6 00002f9c: POP 00002f9d: SWAP3 00002f9e: SWAP6 00002f9f: JUMP 00002fa0: JUMPDEST 00002fa1: PUSH1 0x00 00002fa3: DUP1 00002fa4: PUSH1 0x00 00002fa6: DUP1 00002fa7: PUSH1 0x60 00002fa9: DUP6 00002faa: DUP8 00002fab: SUB 00002fac: SLT 00002fad: ISZERO 00002fae: PUSH2 0x2fb6 00002fb1: JUMPI 00002fb2: PUSH1 0x00 00002fb4: DUP1 00002fb5: REVERT 00002fb6: JUMPDEST 00002fb7: PUSH2 0x2fbf 00002fba: DUP6 00002fbb: PUSH2 0x2db7 00002fbe: JUMP 00002fbf: JUMPDEST 00002fc0: SWAP4 00002fc1: POP 00002fc2: PUSH1 0x20 00002fc4: DUP6 00002fc5: ADD 00002fc6: CALLDATALOAD 00002fc7: SWAP3 00002fc8: POP 00002fc9: PUSH1 0x40 00002fcb: DUP6 00002fcc: ADD 00002fcd: CALLDATALOAD 00002fce: PUSH8 0xffffffffffffffff 00002fd7: DUP2 00002fd8: GT 00002fd9: ISZERO 00002fda: PUSH2 0x2fe2 00002fdd: JUMPI 00002fde: PUSH1 0x00 00002fe0: DUP1 00002fe1: REVERT 00002fe2: JUMPDEST 00002fe3: PUSH2 0x2fee 00002fe6: DUP8 00002fe7: DUP3 00002fe8: DUP9 00002fe9: ADD 00002fea: PUSH2 0x2ee4 00002fed: JUMP 00002fee: JUMPDEST 00002fef: SWAP6 00002ff0: SWAP9 00002ff1: SWAP5 00002ff2: SWAP8 00002ff3: POP 00002ff4: SWAP6 00002ff5: POP 00002ff6: POP 00002ff7: POP 00002ff8: POP 00002ff9: JUMP 00002ffa: JUMPDEST 00002ffb: PUSH1 0x00 00002ffd: DUP1 00002ffe: PUSH1 0x00 00003000: PUSH1 0x60 00003002: DUP5 00003003: DUP7 00003004: SUB 00003005: SLT 00003006: ISZERO 00003007: PUSH2 0x300f 0000300a: JUMPI 0000300b: PUSH1 0x00 0000300d: DUP1 0000300e: REVERT 0000300f: JUMPDEST 00003010: PUSH2 0x3018 00003013: DUP5 00003014: PUSH2 0x2db7 00003017: JUMP 00003018: JUMPDEST 00003019: SWAP3 0000301a: POP 0000301b: PUSH1 0x20 0000301d: DUP5 0000301e: ADD 0000301f: CALLDATALOAD 00003020: SWAP2 00003021: POP 00003022: PUSH1 0x40 00003024: DUP5 00003025: ADD 00003026: CALLDATALOAD 00003027: PUSH2 0x302f 0000302a: DUP2 0000302b: PUSH2 0x2d78 0000302e: JUMP 0000302f: JUMPDEST 00003030: DUP1 00003031: SWAP2 00003032: POP 00003033: POP 00003034: SWAP3 00003035: POP 00003036: SWAP3 00003037: POP 00003038: SWAP3 00003039: JUMP 0000303a: JUMPDEST 0000303b: PUSH1 0x00 0000303d: DUP1 0000303e: DUP4 0000303f: PUSH1 0x1f 00003041: DUP5 00003042: ADD 00003043: SLT 00003044: PUSH2 0x304c 00003047: JUMPI 00003048: PUSH1 0x00 0000304a: DUP1 0000304b: REVERT 0000304c: JUMPDEST 0000304d: POP 0000304e: DUP2 0000304f: CALLDATALOAD 00003050: PUSH8 0xffffffffffffffff 00003059: DUP2 0000305a: GT 0000305b: ISZERO 0000305c: PUSH2 0x3064 0000305f: JUMPI 00003060: PUSH1 0x00 00003062: DUP1 00003063: REVERT 00003064: JUMPDEST 00003065: PUSH1 0x20 00003067: DUP4 00003068: ADD 00003069: SWAP2 0000306a: POP 0000306b: DUP4 0000306c: PUSH1 0x20 0000306e: DUP3 0000306f: PUSH1 0x05 00003071: SHL 00003072: DUP6 00003073: ADD 00003074: ADD 00003075: GT 00003076: ISZERO 00003077: PUSH2 0x1741 0000307a: JUMPI 0000307b: PUSH1 0x00 0000307d: DUP1 0000307e: REVERT 0000307f: JUMPDEST 00003080: PUSH1 0x00 00003082: DUP1 00003083: PUSH1 0x20 00003085: DUP4 00003086: DUP6 00003087: SUB 00003088: SLT 00003089: ISZERO 0000308a: PUSH2 0x3092 0000308d: JUMPI 0000308e: PUSH1 0x00 00003090: DUP1 00003091: REVERT 00003092: JUMPDEST 00003093: DUP3 00003094: CALLDATALOAD 00003095: PUSH8 0xffffffffffffffff 0000309e: DUP2 0000309f: GT 000030a0: ISZERO 000030a1: PUSH2 0x30a9 000030a4: JUMPI 000030a5: PUSH1 0x00 000030a7: DUP1 000030a8: REVERT 000030a9: JUMPDEST 000030aa: PUSH2 0x30b5 000030ad: DUP6 000030ae: DUP3 000030af: DUP7 000030b0: ADD 000030b1: PUSH2 0x303a 000030b4: JUMP 000030b5: JUMPDEST 000030b6: SWAP1 000030b7: SWAP7 000030b8: SWAP1 000030b9: SWAP6 000030ba: POP 000030bb: SWAP4 000030bc: POP 000030bd: POP 000030be: POP 000030bf: POP 000030c0: JUMP 000030c1: JUMPDEST 000030c2: PUSH1 0x00 000030c4: DUP1 000030c5: PUSH1 0x00 000030c7: PUSH1 0x60 000030c9: DUP5 000030ca: DUP7 000030cb: SUB 000030cc: SLT 000030cd: ISZERO 000030ce: PUSH2 0x30d6 000030d1: JUMPI 000030d2: PUSH1 0x00 000030d4: DUP1 000030d5: REVERT 000030d6: JUMPDEST 000030d7: PUSH2 0x30df 000030da: DUP5 000030db: PUSH2 0x2db7 000030de: JUMP 000030df: JUMPDEST 000030e0: SWAP6 000030e1: PUSH1 0x20 000030e3: DUP6 000030e4: ADD 000030e5: CALLDATALOAD 000030e6: SWAP6 000030e7: POP 000030e8: PUSH1 0x40 000030ea: SWAP1 000030eb: SWAP5 000030ec: ADD 000030ed: CALLDATALOAD 000030ee: SWAP4 000030ef: SWAP3 000030f0: POP 000030f1: POP 000030f2: POP 000030f3: JUMP 000030f4: JUMPDEST 000030f5: PUSH1 0x20 000030f7: DUP1 000030f8: DUP3 000030f9: MSTORE 000030fa: DUP3 000030fb: MLOAD 000030fc: DUP3 000030fd: DUP3 000030fe: ADD 000030ff: DUP2 00003100: SWAP1 00003101: MSTORE 00003102: PUSH1 0x00 00003104: SWAP2 00003105: SWAP1 00003106: PUSH1 0x40 00003108: SWAP1 00003109: DUP2 0000310a: DUP6 0000310b: ADD 0000310c: SWAP1 0000310d: DUP7 0000310e: DUP5 0000310f: ADD 00003110: DUP6 00003111: JUMPDEST 00003112: DUP3 00003113: DUP2 00003114: LT 00003115: ISZERO 00003116: PUSH2 0x314c 00003119: JUMPI 0000311a: DUP2 0000311b: MLOAD 0000311c: DUP1 0000311d: MLOAD 0000311e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003133: AND 00003134: DUP6 00003135: MSTORE 00003136: DUP7 00003137: ADD 00003138: MLOAD 00003139: DUP7 0000313a: DUP6 0000313b: ADD 0000313c: MSTORE 0000313d: SWAP3 0000313e: DUP5 0000313f: ADD 00003140: SWAP3 00003141: SWAP1 00003142: DUP6 00003143: ADD 00003144: SWAP1 00003145: PUSH1 0x01 00003147: ADD 00003148: PUSH2 0x3111 0000314b: JUMP 0000314c: JUMPDEST 0000314d: POP 0000314e: SWAP2 0000314f: SWAP8 00003150: SWAP7 00003151: POP 00003152: POP 00003153: POP 00003154: POP 00003155: POP 00003156: POP 00003157: POP 00003158: JUMP 00003159: JUMPDEST 0000315a: PUSH1 0x00 0000315c: JUMPDEST 0000315d: DUP4 0000315e: DUP2 0000315f: LT 00003160: ISZERO 00003161: PUSH2 0x3174 00003164: JUMPI 00003165: DUP2 00003166: DUP2 00003167: ADD 00003168: MLOAD 00003169: DUP4 0000316a: DUP3 0000316b: ADD 0000316c: MSTORE 0000316d: PUSH1 0x20 0000316f: ADD 00003170: PUSH2 0x315c 00003173: JUMP 00003174: JUMPDEST 00003175: POP 00003176: POP 00003177: PUSH1 0x00 00003179: SWAP2 0000317a: ADD 0000317b: MSTORE 0000317c: JUMP 0000317d: JUMPDEST 0000317e: PUSH1 0x00 00003180: DUP2 00003181: MLOAD 00003182: DUP1 00003183: DUP5 00003184: MSTORE 00003185: PUSH2 0x3195 00003188: DUP2 00003189: PUSH1 0x20 0000318b: DUP7 0000318c: ADD 0000318d: PUSH1 0x20 0000318f: DUP7 00003190: ADD 00003191: PUSH2 0x3159 00003194: JUMP 00003195: JUMPDEST 00003196: PUSH1 0x1f 00003198: ADD 00003199: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000031ba: AND 000031bb: SWAP3 000031bc: SWAP1 000031bd: SWAP3 000031be: ADD 000031bf: PUSH1 0x20 000031c1: ADD 000031c2: SWAP3 000031c3: SWAP2 000031c4: POP 000031c5: POP 000031c6: JUMP 000031c7: JUMPDEST 000031c8: PUSH1 0x20 000031ca: DUP2 000031cb: MSTORE 000031cc: PUSH1 0x00 000031ce: PUSH2 0x16b6 000031d1: PUSH1 0x20 000031d3: DUP4 000031d4: ADD 000031d5: DUP5 000031d6: PUSH2 0x317d 000031d9: JUMP 000031da: JUMPDEST 000031db: PUSH1 0x00 000031dd: DUP1 000031de: PUSH1 0x20 000031e0: DUP4 000031e1: DUP6 000031e2: SUB 000031e3: SLT 000031e4: ISZERO 000031e5: PUSH2 0x31ed 000031e8: JUMPI 000031e9: PUSH1 0x00 000031eb: DUP1 000031ec: REVERT 000031ed: JUMPDEST 000031ee: DUP3 000031ef: CALLDATALOAD 000031f0: PUSH8 0xffffffffffffffff 000031f9: DUP1 000031fa: DUP3 000031fb: GT 000031fc: ISZERO 000031fd: PUSH2 0x3205 00003200: JUMPI 00003201: PUSH1 0x00 00003203: DUP1 00003204: REVERT 00003205: JUMPDEST 00003206: DUP2 00003207: DUP6 00003208: ADD 00003209: SWAP2 0000320a: POP 0000320b: DUP6 0000320c: PUSH1 0x1f 0000320e: DUP4 0000320f: ADD 00003210: SLT 00003211: PUSH2 0x3219 00003214: JUMPI 00003215: PUSH1 0x00 00003217: DUP1 00003218: REVERT 00003219: JUMPDEST 0000321a: DUP2 0000321b: CALLDATALOAD 0000321c: DUP2 0000321d: DUP2 0000321e: GT 0000321f: ISZERO 00003220: PUSH2 0x3228 00003223: JUMPI 00003224: PUSH1 0x00 00003226: DUP1 00003227: REVERT 00003228: JUMPDEST 00003229: DUP7 0000322a: PUSH1 0x20 0000322c: DUP3 0000322d: PUSH1 0x06 0000322f: SHL 00003230: DUP6 00003231: ADD 00003232: ADD 00003233: GT 00003234: ISZERO 00003235: PUSH2 0x323d 00003238: JUMPI 00003239: PUSH1 0x00 0000323b: DUP1 0000323c: REVERT 0000323d: JUMPDEST 0000323e: PUSH1 0x20 00003240: SWAP3 00003241: SWAP1 00003242: SWAP3 00003243: ADD 00003244: SWAP7 00003245: SWAP2 00003246: SWAP6 00003247: POP 00003248: SWAP1 00003249: SWAP4 0000324a: POP 0000324b: POP 0000324c: POP 0000324d: POP 0000324e: JUMP 0000324f: JUMPDEST 00003250: PUSH1 0x00 00003252: DUP1 00003253: PUSH1 0x00 00003255: PUSH1 0x60 00003257: DUP5 00003258: DUP7 00003259: SUB 0000325a: SLT 0000325b: ISZERO 0000325c: PUSH2 0x3264 0000325f: JUMPI 00003260: PUSH1 0x00 00003262: DUP1 00003263: REVERT 00003264: JUMPDEST 00003265: DUP4 00003266: CALLDATALOAD 00003267: PUSH2 0x326f 0000326a: DUP2 0000326b: PUSH2 0x2d78 0000326e: JUMP 0000326f: JUMPDEST 00003270: SWAP3 00003271: POP 00003272: PUSH1 0x20 00003274: DUP5 00003275: ADD 00003276: CALLDATALOAD 00003277: PUSH2 0x327f 0000327a: DUP2 0000327b: PUSH2 0x2d78 0000327e: JUMP 0000327f: JUMPDEST 00003280: SWAP2 00003281: POP 00003282: PUSH1 0x40 00003284: DUP5 00003285: ADD 00003286: CALLDATALOAD 00003287: PUSH2 0x302f 0000328a: DUP2 0000328b: PUSH2 0x2d78 0000328e: JUMP 0000328f: JUMPDEST 00003290: PUSH1 0x00 00003292: DUP1 00003293: PUSH1 0x00 00003295: DUP1 00003296: PUSH1 0x40 00003298: DUP6 00003299: DUP8 0000329a: SUB 0000329b: SLT 0000329c: ISZERO 0000329d: PUSH2 0x32a5 000032a0: JUMPI 000032a1: PUSH1 0x00 000032a3: DUP1 000032a4: REVERT 000032a5: JUMPDEST 000032a6: DUP5 000032a7: CALLDATALOAD 000032a8: PUSH8 0xffffffffffffffff 000032b1: DUP1 000032b2: DUP3 000032b3: GT 000032b4: ISZERO 000032b5: PUSH2 0x32bd 000032b8: JUMPI 000032b9: PUSH1 0x00 000032bb: DUP1 000032bc: REVERT 000032bd: JUMPDEST 000032be: PUSH2 0x32c9 000032c1: DUP9 000032c2: DUP4 000032c3: DUP10 000032c4: ADD 000032c5: PUSH2 0x303a 000032c8: JUMP 000032c9: JUMPDEST 000032ca: SWAP1 000032cb: SWAP7 000032cc: POP 000032cd: SWAP5 000032ce: POP 000032cf: PUSH1 0x20 000032d1: DUP8 000032d2: ADD 000032d3: CALLDATALOAD 000032d4: SWAP2 000032d5: POP 000032d6: DUP1 000032d7: DUP3 000032d8: GT 000032d9: ISZERO 000032da: PUSH2 0x32e2 000032dd: JUMPI 000032de: PUSH1 0x00 000032e0: DUP1 000032e1: REVERT 000032e2: JUMPDEST 000032e3: POP 000032e4: PUSH2 0x2fee 000032e7: DUP8 000032e8: DUP3 000032e9: DUP9 000032ea: ADD 000032eb: PUSH2 0x303a 000032ee: JUMP 000032ef: JUMPDEST 000032f0: PUSH1 0x00 000032f2: DUP1 000032f3: PUSH1 0x40 000032f5: DUP4 000032f6: DUP6 000032f7: SUB 000032f8: SLT 000032f9: ISZERO 000032fa: PUSH2 0x3302 000032fd: JUMPI 000032fe: PUSH1 0x00 00003300: DUP1 00003301: REVERT 00003302: JUMPDEST 00003303: DUP3 00003304: CALLDATALOAD 00003305: PUSH2 0x2ec9 00003308: DUP2 00003309: PUSH2 0x2d78 0000330c: JUMP 0000330d: JUMPDEST 0000330e: PUSH1 0x00 00003310: PUSH1 0x20 00003312: DUP3 00003313: DUP5 00003314: SUB 00003315: SLT 00003316: ISZERO 00003317: PUSH2 0x331f 0000331a: JUMPI 0000331b: PUSH1 0x00 0000331d: DUP1 0000331e: REVERT 0000331f: JUMPDEST 00003320: POP 00003321: MLOAD 00003322: SWAP2 00003323: SWAP1 00003324: POP 00003325: JUMP 00003326: JUMPDEST 00003327: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003348: PUSH1 0x00 0000334a: MSTORE 0000334b: PUSH1 0x32 0000334d: PUSH1 0x04 0000334f: MSTORE 00003350: PUSH1 0x24 00003352: PUSH1 0x00 00003354: REVERT 00003355: JUMPDEST 00003356: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003377: PUSH1 0x00 00003379: MSTORE 0000337a: PUSH1 0x11 0000337c: PUSH1 0x04 0000337e: MSTORE 0000337f: PUSH1 0x24 00003381: PUSH1 0x00 00003383: REVERT 00003384: JUMPDEST 00003385: DUP1 00003386: DUP3 00003387: ADD 00003388: DUP1 00003389: DUP3 0000338a: GT 0000338b: ISZERO 0000338c: PUSH2 0x09f3 0000338f: JUMPI 00003390: PUSH2 0x09f3 00003393: PUSH2 0x3355 00003396: JUMP 00003397: JUMPDEST 00003398: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000033b9: PUSH1 0x00 000033bb: MSTORE 000033bc: PUSH1 0x41 000033be: PUSH1 0x04 000033c0: MSTORE 000033c1: PUSH1 0x24 000033c3: PUSH1 0x00 000033c5: REVERT 000033c6: JUMPDEST 000033c7: PUSH32 0x4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000 000033e8: DUP2 000033e9: MSTORE 000033ea: PUSH1 0x00 000033ec: DUP3 000033ed: MLOAD 000033ee: PUSH2 0x33fe 000033f1: DUP2 000033f2: PUSH1 0x1f 000033f4: DUP6 000033f5: ADD 000033f6: PUSH1 0x20 000033f8: DUP8 000033f9: ADD 000033fa: PUSH2 0x3159 000033fd: JUMP 000033fe: JUMPDEST 000033ff: SWAP2 00003400: SWAP1 00003401: SWAP2 00003402: ADD 00003403: PUSH1 0x1f 00003405: ADD 00003406: SWAP3 00003407: SWAP2 00003408: POP 00003409: POP 0000340a: JUMP 0000340b: JUMPDEST 0000340c: DUP2 0000340d: DUP2 0000340e: SUB 0000340f: DUP2 00003410: DUP2 00003411: GT 00003412: ISZERO 00003413: PUSH2 0x09f3 00003416: JUMPI 00003417: PUSH2 0x09f3 0000341a: PUSH2 0x3355 0000341d: JUMP 0000341e: JUMPDEST 0000341f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003440: PUSH1 0x00 00003442: MSTORE 00003443: PUSH1 0x31 00003445: PUSH1 0x04 00003447: MSTORE 00003448: PUSH1 0x24 0000344a: PUSH1 0x00 0000344c: REVERT 0000344d: JUMPDEST 0000344e: DUP1 0000344f: DUP3 00003450: MUL 00003451: DUP2 00003452: ISZERO 00003453: DUP3 00003454: DUP3 00003455: DIV 00003456: DUP5 00003457: EQ 00003458: OR 00003459: PUSH2 0x09f3 0000345c: JUMPI 0000345d: PUSH2 0x09f3 00003460: PUSH2 0x3355 00003463: JUMP 00003464: JUMPDEST 00003465: DUP4 00003466: DUP2 00003467: MSTORE 00003468: DUP3 00003469: PUSH1 0x20 0000346b: DUP3 0000346c: ADD 0000346d: MSTORE 0000346e: PUSH1 0x00 00003470: DUP3 00003471: MLOAD 00003472: PUSH2 0x3482 00003475: DUP2 00003476: PUSH1 0x40 00003478: DUP6 00003479: ADD 0000347a: PUSH1 0x20 0000347c: DUP8 0000347d: ADD 0000347e: PUSH2 0x3159 00003481: JUMP 00003482: JUMPDEST 00003483: SWAP2 00003484: SWAP1 00003485: SWAP2 00003486: ADD 00003487: PUSH1 0x40 00003489: ADD 0000348a: SWAP5 0000348b: SWAP4 0000348c: POP 0000348d: POP 0000348e: POP 0000348f: POP 00003490: JUMP 00003491: JUMPDEST 00003492: PUSH4 0xffffffff 00003497: DUP7 00003498: AND 00003499: DUP2 0000349a: MSTORE 0000349b: DUP5 0000349c: PUSH1 0x20 0000349e: DUP3 0000349f: ADD 000034a0: MSTORE 000034a1: PUSH1 0xa0 000034a3: PUSH1 0x40 000034a5: DUP3 000034a6: ADD 000034a7: MSTORE 000034a8: PUSH1 0x00 000034aa: PUSH2 0x34b6 000034ad: PUSH1 0xa0 000034af: DUP4 000034b0: ADD 000034b1: DUP7 000034b2: PUSH2 0x317d 000034b5: JUMP 000034b6: JUMPDEST 000034b7: DUP3 000034b8: DUP2 000034b9: SUB 000034ba: PUSH1 0x60 000034bc: DUP5 000034bd: ADD 000034be: MSTORE 000034bf: PUSH2 0x34c8 000034c2: DUP2 000034c3: DUP7 000034c4: PUSH2 0x317d 000034c7: JUMP 000034c8: JUMPDEST 000034c9: SWAP2 000034ca: POP 000034cb: POP 000034cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034e1: DUP4 000034e2: AND 000034e3: PUSH1 0x80 000034e5: DUP4 000034e6: ADD 000034e7: MSTORE 000034e8: SWAP7 000034e9: SWAP6 000034ea: POP 000034eb: POP 000034ec: POP 000034ed: POP 000034ee: POP 000034ef: POP 000034f0: JUMP 000034f1: JUMPDEST 000034f2: PUSH1 0xff 000034f4: DUP2 000034f5: DUP2 000034f6: AND 000034f7: DUP4 000034f8: DUP3 000034f9: AND 000034fa: ADD 000034fb: SWAP1 000034fc: DUP2 000034fd: GT 000034fe: ISZERO 000034ff: PUSH2 0x09f3 00003502: JUMPI 00003503: PUSH2 0x09f3 00003506: PUSH2 0x3355 00003509: JUMP 0000350a: JUMPDEST 0000350b: PUSH1 0x00 0000350d: DUP1 0000350e: DUP6 0000350f: DUP6 00003510: GT 00003511: ISZERO 00003512: PUSH2 0x351a 00003515: JUMPI 00003516: PUSH1 0x00 00003518: DUP1 00003519: REVERT 0000351a: JUMPDEST 0000351b: DUP4 0000351c: DUP7 0000351d: GT 0000351e: ISZERO 0000351f: PUSH2 0x3527 00003522: JUMPI 00003523: PUSH1 0x00 00003525: DUP1 00003526: REVERT 00003527: JUMPDEST 00003528: POP 00003529: POP 0000352a: DUP3 0000352b: ADD 0000352c: SWAP4 0000352d: SWAP2 0000352e: SWAP1 0000352f: SWAP3 00003530: SUB 00003531: SWAP2 00003532: POP 00003533: JUMP 00003534: JUMPDEST 00003535: DUP1 00003536: CALLDATALOAD 00003537: PUSH1 0x20 00003539: DUP4 0000353a: LT 0000353b: ISZERO 0000353c: PUSH2 0x09f3 0000353f: JUMPI 00003540: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003561: PUSH1 0x20 00003563: DUP5 00003564: SWAP1 00003565: SUB 00003566: PUSH1 0x03 00003568: SHL 00003569: SHL 0000356a: AND 0000356b: SWAP3 0000356c: SWAP2 0000356d: POP 0000356e: POP 0000356f: JUMP 00003570: JUMPDEST 00003571: PUSH1 0x00 00003573: DUP3 00003574: PUSH2 0x35a6 00003577: JUMPI 00003578: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003599: PUSH1 0x00 0000359b: MSTORE 0000359c: PUSH1 0x12 0000359e: PUSH1 0x04 000035a0: MSTORE 000035a1: PUSH1 0x24 000035a3: PUSH1 0x00 000035a5: REVERT 000035a6: JUMPDEST 000035a7: POP 000035a8: DIV 000035a9: SWAP1 000035aa: JUMP 000035ab: JUMPDEST 000035ac: PUSH1 0x00 000035ae: PUSH1 0x20 000035b0: DUP3 000035b1: DUP5 000035b2: SUB 000035b3: SLT 000035b4: ISZERO 000035b5: PUSH2 0x35bd 000035b8: JUMPI 000035b9: PUSH1 0x00 000035bb: DUP1 000035bc: REVERT 000035bd: JUMPDEST 000035be: DUP2 000035bf: MLOAD 000035c0: DUP1 000035c1: ISZERO 000035c2: ISZERO 000035c3: DUP2 000035c4: EQ 000035c5: PUSH2 0x16b6 000035c8: JUMPI 000035c9: PUSH1 0x00 000035cb: DUP1 000035cc: REVERT 000035cd: JUMPDEST 000035ce: PUSH32 0xffff000000000000000000000000000000000000000000000000000000000000 000035ef: DUP7 000035f0: PUSH1 0xf0 000035f2: SHL 000035f3: AND 000035f4: DUP2 000035f5: MSTORE 000035f6: DUP5 000035f7: PUSH1 0x02 000035f9: DUP3 000035fa: ADD 000035fb: MSTORE 000035fc: DUP4 000035fd: PUSH1 0x22 000035ff: DUP3 00003600: ADD 00003601: MSTORE 00003602: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00003623: DUP4 00003624: PUSH1 0x60 00003626: SHL 00003627: AND 00003628: PUSH1 0x42 0000362a: DUP3 0000362b: ADD 0000362c: MSTORE 0000362d: PUSH1 0x00 0000362f: DUP3 00003630: MLOAD 00003631: PUSH2 0x3641 00003634: DUP2 00003635: PUSH1 0x56 00003637: DUP6 00003638: ADD 00003639: PUSH1 0x20 0000363b: DUP8 0000363c: ADD 0000363d: PUSH2 0x3159 00003640: JUMP 00003641: JUMPDEST 00003642: SWAP2 00003643: SWAP1 00003644: SWAP2 00003645: ADD 00003646: PUSH1 0x56 00003648: ADD 00003649: SWAP7 0000364a: SWAP6 0000364b: POP 0000364c: POP 0000364d: POP 0000364e: POP 0000364f: POP 00003650: POP 00003651: JUMP 00003652: JUMPDEST 00003653: PUSH1 0x00 00003655: DUP3 00003656: MLOAD 00003657: PUSH2 0x3664 0000365a: DUP2 0000365b: DUP5 0000365c: PUSH1 0x20 0000365e: DUP8 0000365f: ADD 00003660: PUSH2 0x3159 00003663: JUMP 00003664: JUMPDEST 00003665: SWAP2 00003666: SWAP1 00003667: SWAP2 00003668: ADD 00003669: SWAP3 0000366a: SWAP2 0000366b: POP 0000366c: POP 0000366d: JUMP 0000366e: INVALID 0000366f: LOG2 00003670: PUSH5 0x6970667358 00003676: UNKNOWN(0x22) 00003677: SLT 00003678: KECCAK256 00003679: PUSH20 0x57756c68e918a3fa13fb415ad67e3812ae810d16 0000368e: DUP14 0000368f: UNKNOWN(0xBA) 00003690: PUSH5 0x1a6c546d14 00003696: PUSH13 0x556564736f6c63430008160033
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | codex | Unprotected initialize allows ownership takeover and collateral drain | 90 | no | — |
viewevidence_json{
"evidence": "`initialize` is public with no access control and calls `_MailboxClient_initialize`, which transfers ownership to the supplied `_owner`. Once owner, `approveTokenForBridge` can grant unlimited allowance to any address, enabling a direct `transferFrom` drain.",
"locations": [
"contracts/contracts/token/HypERC20Collateral.sol:53",
"contracts/contracts/client/MailboxClient.sol:109",
"contracts/contracts/token/libs/MovableCollateralRouter.sol:91"
],
"recommendation": "Require atomic initialization (pass init calldata to the proxy constructor) and/or add deployment-time safeguards (e.g., restrict `initialize` to a deployer-only address or call `_MailboxClient_initialize` in the constructor for non-proxy deployments). Disable initializers on the implementation if using proxies.",
"exploit_scenario": "1) Contract is deployed but `initialize` is not called atomically (e.g., proxy deployed without init data or delayed setup). 2) Attacker calls `initialize(_hook, _ism, attacker)` to become owner. 3) As owner, attacker calls `approveTokenForBridge(wrappedToken, attackerEOA)` to grant themselves unlimited allowance. 4) Attacker calls `wrappedToken.transferFrom(address(HypERC20Collateral), attacker, balance)` to drain collateral. Profit: up to the full `wrappedToken` balance held by the router."
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x53902b508d7b47713dfcf8188d58316394725c15f19f984f02f842ffc29dce0b
call_targets:
0x817c51688c57ba79954e3063807128d61264acbf
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x53902b508d7b47713dfcf8188d58316394725c15f19f984f02f842ffc29dce0b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x817c51688c57ba79954e3063807128d61264acbf"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf51e181a",
"selector": "0xf51e181a",
"calldata_variants": [
"0xf51e181a",
"0xf51e181a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa57f157",
"selector": "0xfa57f157",
"calldata_variants": [
"0xfa57f157",
"0xfa57f1570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbaca44c",
"selector": "0xfbaca44c",
"calldata_variants": [
"0xfbaca44c",
"0xfbaca44c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2ed8c53",
"selector": "0xf2ed8c53",
"calldata_variants": [
"0xf2ed8c53",
"0xf2ed8c530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde523cf3",
"selector": "0xde523cf3",
"calldata_variants": [
"0xde523cf3",
"0xde523cf30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9198bf9",
"selector": "0xe9198bf9",
"calldata_variants": [
"0xe9198bf9",
"0xe9198bf90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xefae508a",
"selector": "0xefae508a",
"calldata_variants": [
"0xefae508a",
"0xefae508a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 8635,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 9152,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 11335,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [
{
"pc": 3132,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 3
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x53902b508d7b47713dfcf8188d58316394725c15f19f984f02f842ffc29dce0b
call_targets:
0x817c51688c57ba79954e3063807128d61264acbf
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x53902b508d7b47713dfcf8188d58316394725c15f19f984f02f842ffc29dce0b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x817c51688c57ba79954e3063807128d61264acbf"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf51e181a",
"selector": "0xf51e181a",
"calldata_variants": [
"0xf51e181a",
"0xf51e181a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa57f157",
"selector": "0xfa57f157",
"calldata_variants": [
"0xfa57f157",
"0xfa57f1570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbaca44c",
"selector": "0xfbaca44c",
"calldata_variants": [
"0xfbaca44c",
"0xfbaca44c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2ed8c53",
"selector": "0xf2ed8c53",
"calldata_variants": [
"0xf2ed8c53",
"0xf2ed8c530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde523cf3",
"selector": "0xde523cf3",
"calldata_variants": [
"0xde523cf3",
"0xde523cf30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9198bf9",
"selector": "0xe9198bf9",
"calldata_variants": [
"0xe9198bf9",
"0xe9198bf90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xefae508a",
"selector": "0xefae508a",
"calldata_variants": [
"0xefae508a",
"0xefae508a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 8635,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 9152,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 11335,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": [
{
"pc": 3132,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|