07e0721c-c079-4dc1-be4b-4e123bb0d340
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 |
|---|---|---|---|---|
| 31401 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77032 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 77033 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77034 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77035 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77036 | detector.run | complete | 1 / 3 | 1 week ago |
| 77037 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:842223] OpenAI Codex v0.77.0 (research preview)
[codex:842223] --------
[codex:842223] workdir: /tmp/codex-multi-cbpyz2r4
[codex:842223] model: gpt-5.2-codex
[codex:842223] provider: openai
[codex:842223] approval: never
[codex:842223] sandbox: read-only
[codex:842223] reasoning effort: xhigh
[codex:842223] reasoning summaries: auto
[codex:842223] session id: 019b813a-9fd6-76f3-b9b3-f4b10b14f177
[codex:842223] --------
[codex:842223] user
[codex:842223] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:842223]
[codex:842223] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:842223]
[codex:842223] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:842223] - Gas inefficiency, code quality, naming, or best practices
[codex:842223] - Theoretical vulnerabilities without a clear extraction path
[codex:842223] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:842223] - Front-running unless it enables theft beyond MEV
[codex:842223] - DoS, griefing, or issues that don't result in attacker profit
[codex:842223] - Missing events, view function issues, or informational findings
[codex:842223]
[codex:842223] HIGH-VALUE PATTERNS TO HUNT:
[codex:842223] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:842223] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:842223] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:842223] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:842223] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:842223] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:842223] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:842223] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:842223] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:842223]
[codex:842223] For each finding, you MUST provide:
[codex:842223] 1. Exact file and line numbers of vulnerable code
[codex:842223] 2. Step-by-step exploit transaction sequence
[codex:842223] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:842223]
[codex:842223] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:842223]
[codex:842223] Output MUST be valid JSON matching the provided schema.
[codex:842223] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:842223] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:842223] mcp startup: no servers
[codex:842223]
[codex:842223] thinking
[codex:842223] **Preparing to read AUDIT_BUNDLE.txt**
[codex:842223] exec
[codex:842223] /bin/bash -lc ls in /tmp/codex-multi-cbpyz2r4 succeeded in 6ms:
[codex:842223] AUDIT_BUNDLE.txt
[codex:842223] codex-output-schema.json
[codex:842223] contracts
[codex:842223]
[codex:842223] thinking
[codex:842223] **Reading AUDIT_BUNDLE.txt**
[codex:842223] exec
[codex:842223] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-cbpyz2r4 succeeded in 5ms:
[codex:842223] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:842223]
[codex:842223] ================================================================================
[codex:842223] FILE: contracts/contracts/implementations/DepositManager.sol
[codex:842223] ================================================================================
[codex:842223] // SPDX-License-Identifier: UNLICENSED
[codex:842223] pragma solidity 0.8.16;
[codex:842223]
[codex:842223] import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:842223] import {AddressUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol";
[codex:842223] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:842223] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:842223]
[codex:842223] import {IAccessControlManager} from "../interfaces/IAccessControlManager.sol";
[codex:842223] import {IDepositManager} from "../interfaces/IDepositManager.sol";
[codex:842223] import {INodeOperatorRegistry} from "../interfaces/INodeOperatorRegistry.sol";
[codex:842223]
[codex:842223] import {SwellLib} from "../libraries/SwellLib.sol";
[codex:842223] import {DepositDataRoot} from "../libraries/DepositDataRoot.sol";
[codex:842223]
[codex:842223]
[codex:842223] thinking
[codex:842223] **Planning vulnerability search in audit bundle**
[codex:842223]
[codex:842223] I'm preparing to comb through the large AUDIT_BUNDLE.txt carefully, using ripgrep to locate key functions like withdraw, transfer, and mint that might reveal exploits. I want to identify unprotected initializer functions or access control flaws in proxies, aiming to find concrete exploit paths with exact line numbers for any findings.
[codex:842223] exec
[codex:842223] /bin/bash -lc 'rg -n "withdraw|transfer|mint|burn|claim|redeem|exit|stake|unstake|deposit" -n contracts/contracts -S' in /tmp/codex-multi-cbpyz2r4 succeeded in 12ms:
[codex:842223] contracts/contracts/interfaces/IswETH.sol:57: * @dev Throw when the caller tries to burn 0 swETH
[codex:842223] contracts/contracts/interfaces/IswETH.sol:59: error CannotBurnZeroSwETH();
[codex:842223] contracts/contracts/interfaces/IswETH.sol:64: * @dev Event emitted when a user withdraws ETH for swETH
[codex:842223] contracts/contracts/interfaces/IswETH.sol:66: * @param swETHBurned Amount of SwETH burned in the transaction.
[codex:842223] contracts/contracts/interfaces/IswETH.sol:69: event ETHWithdrawn(
[codex:842223] contracts/contracts/interfaces/IswETH.sol:71: uint256 swETHBurned,
[codex:842223] contracts/contracts/interfaces/IswETH.sol:103: * @param totalETHDeposited Current total ETH staked at time of reprice.
[codex:842223] contracts/contracts/interfaces/IswETH.sol:110: uint256 totalETHDeposited
[codex:842223] contracts/contracts/interfaces/IswETH.sol:116: * @param swETHMinted The amount of swETH minted to the caller
[codex:842223] contracts/contracts/interfaces/IswETH.sol:120: event ETHDepositReceived(
[codex:842223] contracts/contracts/interfaces/IswETH.sol:123: uint256 swETHMinted,
[codex:842223] contracts/contracts/interfaces/IswETH.sol:124: uint256 newTotalETHDeposited,
[codex:842223] contracts/contracts/interfaces/IswETH.sol:162: * @dev This method withdraws contract's _token balance to a platform admin
[codex:842223] contracts/contracts/interfaces/IswETH.sol:163: * @param _token The ERC20 token to withdraw from the contract
[codex:842223] contracts/contracts/interfaces/IswETH.sol:165: function withdrawERC20(IERC20 _token) external;
[codex:842223] contracts/contracts/interfaces/IswETH.sol:180: * @dev Returns the total ETH that has been deposited over the protocols lifespan
[codex:842223] contracts/contracts/interfaces/IswETH.sol:181: * @return The current total amount of ETH that has been deposited
[codex:842223] contracts/contracts/interfaces/IswETH.sol:183: function totalETHDeposited() external view returns (uint256);
[codex:842223] contracts/contracts/interfaces/IswETH.sol:274: * @dev Deposits ETH into the contract
[codex:842223] contracts/contracts/interfaces/IswETH.sol:275: * @notice The amount of ETH deposited will be converted to SwETH at the current SwETH to ETH rate
[codex:842223]
[codex:842223] thinking
[codex:842223] **Considering broader file search**
[codex:842223] exec
[codex:842223] /bin/bash -lc 'rg --files contracts/contracts/implementations -g "*.sol"' in /tmp/codex-multi-cbpyz2r4 succeeded in 8ms:
[codex:842223] contracts/contracts/implementations/DepositManager.sol
[codex:842223]
[codex:842223] thinking
[codex:842223] **Listing contract directories**
[codex:842223] exec
[codex:842223] /bin/bash -lc 'find contracts/contracts -maxdepth 3 -type f -name "*.sol"' in /tmp/codex-multi-cbpyz2r4 succeeded in 7ms:
[codex:842223] contracts/contracts/implementations/DepositManager.sol
[codex:842223] contracts/contracts/libraries/SwellLib.sol
[codex:842223] contracts/contracts/libraries/DepositDataRoot.sol
[codex:842223] contracts/contracts/vendors/IDepositContract.sol
[codex:842223] contracts/contracts/vendors/IPoRAddresses.sol
[codex:842223] contracts/contracts/interfaces/IswEXIT.sol
[codex:842223] contracts/contracts/interfaces/IDepositManager.sol
[codex:842223] contracts/contracts/interfaces/INodeOperatorRegistry.sol
[codex:842223] contracts/contracts/interfaces/IAccessControlManager.sol
[codex:842223] contracts/contracts/interfaces/IswETH.sol
[codex:842223]
[codex:842223] thinking
[codex:842223] **Analyzing unprotected initialize vulnerability**
[codex:842223]
[codex:842223] I'm focusing on DepositManager as the main contract with potential risk. The key suspect is the unprotected external initialize function in this upgradeable proxy setup, which could let an attacker set a malicious AccessControlManager and bypass role checks, enabling withdrawal of ETH and ERC20 tokens. This classic proxy hijacking risk hinges on the contract being uninitialized after deployment—a deployment misconfiguration—but it fits a high-value pattern to flag. I'll now look for exact source lines and confirm exploit steps to back this up.
[codex:842223] exec
[codex:842223] /bin/bash -lc 'nl -ba contracts/contracts/implementations/DepositManager.sol' in /tmp/codex-multi-cbpyz2r4 succeeded in 6ms:
[codex:842223] 1 // SPDX-License-Identifier: UNLICENSED
[codex:842223] 2 pragma solidity 0.8.16;
[codex:842223] 3
[codex:842223] 4 import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:842223] 5 import {AddressUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol";
[codex:842223] 6 import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:842223] 7 import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:842223] 8
[codex:842223] 9 import {IAccessControlManager} from "../interfaces/IAccessControlManager.sol";
[codex:842223] 10 import {IDepositManager} from "../interfaces/IDepositManager.sol";
[codex:842223] 11 import {INodeOperatorRegistry} from "../interfaces/INodeOperatorRegistry.sol";
[codex:842223] 12
[codex:842223] 13 import {SwellLib} from "../libraries/SwellLib.sol";
[codex:842223] 14 import {DepositDataRoot} from "../libraries/DepositDataRoot.sol";
[codex:842223] 15
[codex:842223] 16 import {IDepositContract} from "../vendors/IDepositContract.sol";
[codex:842223] 17
[codex:842223] 18 /**
[codex:842223] 19 * @title DepositManager
[codex:842223] 20 * @author https://github.com/max-taylor
[codex:842223]
[codex:842223] thinking
[codex:842223] **Summarizing vulnerable initialization exploit**
[codex:842223] codex
[codex:842223] {"no_findings":false,"summary":"Found 1 critical issue that enables full proxy takeover and fund drain if the proxy is uninitialized.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initialize enables proxy hijack and ETH/ERC20 drain","exploit_scenario":"1) Attacker monitors for a freshly deployed (or upgraded) DepositManager proxy that has not been initialized in the same transaction. 2) Attacker deploys a malicious AccessControlManager contract that returns their address for swEXIT() and makes checkRole() a no-op. 3) Attacker calls initialize(...) on the proxy, setting AccessControlManager to their malicious contract. 4) Attacker calls transferETHForWithdrawRequests(...) from their EOA (now treated as swEXIT) to drain all ETH, and/or calls withdrawERC20(...) to drain any ERC20 balance.","recommendation":"Ensure the proxy is atomically initialized at deployment (e.g., pass encoded initialize data to the proxy constructor). If upgrades introduce new initializers, gate them with strict access control (e.g., onlyRole/onlyProxy + trusted admin) so arbitrary callers cannot initialize.","evidence":"initialize(...) is externally callable with only initializer and no access control, allowing any caller to set AccessControlManager. Once set, role checks and swEXIT checks can be bypassed via a malicious AccessControlManager.","locations":["contracts/contracts/implementations/DepositManager.sol:58","contracts/contracts/implementations/DepositManager.sol:74","contracts/contracts/implementations/DepositManager.sol:145"]}]}
[codex:842223] tokens used
[codex:842223] 47,894
[codex:842223] {"no_findings":false,"summary":"Found 1 critical issue that enables full proxy takeover and fund drain if the proxy is uninitialized.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initialize enables proxy hijack and ETH/ERC20 drain","exploit_scenario":"1) Attacker monitors for a freshly deployed (or upgraded) DepositManager proxy that has not been initialized in the same transaction. 2) Attacker deploys a malicious AccessControlManager contract that returns their address for swEXIT() and makes checkRole() a no-op. 3) Attacker calls initialize(...) on the proxy, setting AccessControlManager to their malicious contract. 4) Attacker calls transferETHForWithdrawRequests(...) from their EOA (now treated as swEXIT) to drain all ETH, and/or calls withdrawERC20(...) to drain any ERC20 balance.","recommendation":"Ensure the proxy is atomically initialized at deployment (e.g., pass encoded initialize data to the proxy constructor). If upgrades introduce new initializers, gate them with strict access control (e.g., onlyRole/onlyProxy + trusted admin) so arbitrary callers cannot initialize.","evidence":"initialize(...) is externally callable with only initializer and no access control, allowing any caller to set AccessControlManager. Once set, role checks and swEXIT checks can be bypassed via a malicious AccessControlManager.","locations":["contracts/contracts/implementations/DepositManager.sol:58","contracts/contracts/implementations/DepositManager.sol:74","contracts/contracts/implementations/DepositManager.sol:145"]}]}
{
"codex": {
"ran_at": "2026-01-03T00:22:28.044997+00:00",
"returncode": 0
},
"summary": "Found 1 critical issue that enables full proxy takeover and fund drain if the proxy is uninitialized.",
"raw_final": {
"summary": "Found 1 critical issue that enables full proxy takeover and fund drain if the proxy is uninitialized.",
"findings": [
{
"title": "Unprotected initialize enables proxy hijack and ETH/ERC20 drain",
"category": "upgradeability",
"evidence": "initialize(...) is externally callable with only initializer and no access control, allowing any caller to set AccessControlManager. Once set, role checks and swEXIT checks can be bypassed via a malicious AccessControlManager.",
"severity": "critical",
"locations": [
"contracts/contracts/implementations/DepositManager.sol:58",
"contracts/contracts/implementations/DepositManager.sol:74",
"contracts/contracts/implementations/DepositManager.sol:145"
],
"recommendation": "Ensure the proxy is atomically initialized at deployment (e.g., pass encoded initialize data to the proxy constructor). If upgrades introduce new initializers, gate them with strict access control (e.g., onlyRole/onlyProxy + trusted admin) so arbitrary callers cannot initialize.",
"exploit_scenario": "1) Attacker monitors for a freshly deployed (or upgraded) DepositManager proxy that has not been initialized in the same transaction. 2) Attacker deploys a malicious AccessControlManager contract that returns their address for swEXIT() and makes checkRole() a no-op. 3) Attacker calls initialize(...) on the proxy, setting AccessControlManager to their malicious contract. 4) Attacker calls transferETHForWithdrawRequests(...) from their EOA (now treated as swEXIT) to drain all ETH, and/or calls withdrawERC20(...) to drain any ERC20 balance."
}
],
"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 0x0074 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x56396715 00000019: GT 0000001a: PUSH2 0x004e 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x56396715 00000024: EQ 00000025: PUSH2 0x0154 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x902340a1 0000002f: EQ 00000030: PUSH2 0x0176 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xc4d66de8 0000003a: EQ 0000003b: PUSH2 0x019c 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf4f3b200 00000045: EQ 00000046: PUSH2 0x01bc 00000049: JUMPI 0000004a: PUSH2 0x00b0 0000004d: JUMP 0000004e: JUMPDEST 0000004f: DUP1 00000050: PUSH4 0x1558687a 00000055: EQ 00000056: PUSH2 0x00d5 00000059: JUMPI 0000005a: DUP1 0000005b: PUSH4 0x1bc2399f 00000060: EQ 00000061: PUSH2 0x0112 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0x2b8e227d 0000006b: EQ 0000006c: PUSH2 0x0134 0000006f: JUMPI 00000070: PUSH2 0x00b0 00000073: JUMP 00000074: JUMPDEST 00000075: CALLDATASIZE 00000076: PUSH2 0x00b0 00000079: JUMPI 0000007a: PUSH1 0x40 0000007c: MLOAD 0000007d: CALLVALUE 0000007e: DUP2 0000007f: MSTORE 00000080: CALLER 00000081: SWAP1 00000082: PUSH32 0xbfe611b001dfcd411432f7bf0d79b82b4b2ee81511edac123a3403c357fb972a 000000a3: SWAP1 000000a4: PUSH1 0x20 000000a6: ADD 000000a7: PUSH1 0x40 000000a9: MLOAD 000000aa: DUP1 000000ab: SWAP2 000000ac: SUB 000000ad: SWAP1 000000ae: LOG2 000000af: STOP 000000b0: JUMPDEST 000000b1: CALLVALUE 000000b2: DUP1 000000b3: ISZERO 000000b4: PUSH2 0x00bc 000000b7: JUMPI 000000b8: PUSH1 0x00 000000ba: DUP1 000000bb: REVERT 000000bc: JUMPDEST 000000bd: POP 000000be: PUSH1 0x40 000000c0: MLOAD 000000c1: PUSH3 0x393b6d 000000c5: PUSH1 0xe1 000000c7: SHL 000000c8: DUP2 000000c9: MSTORE 000000ca: PUSH1 0x04 000000cc: ADD 000000cd: PUSH1 0x40 000000cf: MLOAD 000000d0: DUP1 000000d1: SWAP2 000000d2: SUB 000000d3: SWAP1 000000d4: REVERT 000000d5: JUMPDEST 000000d6: CALLVALUE 000000d7: DUP1 000000d8: ISZERO 000000d9: PUSH2 0x00e1 000000dc: JUMPI 000000dd: PUSH1 0x00 000000df: DUP1 000000e0: REVERT 000000e1: JUMPDEST 000000e2: POP 000000e3: PUSH1 0x01 000000e5: SLOAD 000000e6: PUSH2 0x00f5 000000e9: SWAP1 000000ea: PUSH1 0x01 000000ec: PUSH1 0x01 000000ee: PUSH1 0xa0 000000f0: SHL 000000f1: SUB 000000f2: AND 000000f3: DUP2 000000f4: JUMP 000000f5: JUMPDEST 000000f6: PUSH1 0x40 000000f8: MLOAD 000000f9: PUSH1 0x01 000000fb: PUSH1 0x01 000000fd: PUSH1 0xa0 000000ff: SHL 00000100: SUB 00000101: SWAP1 00000102: SWAP2 00000103: AND 00000104: DUP2 00000105: MSTORE 00000106: PUSH1 0x20 00000108: ADD 00000109: JUMPDEST 0000010a: PUSH1 0x40 0000010c: MLOAD 0000010d: DUP1 0000010e: SWAP2 0000010f: SUB 00000110: SWAP1 00000111: RETURN 00000112: JUMPDEST 00000113: CALLVALUE 00000114: DUP1 00000115: ISZERO 00000116: PUSH2 0x011e 00000119: JUMPI 0000011a: PUSH1 0x00 0000011c: DUP1 0000011d: REVERT 0000011e: JUMPDEST 0000011f: POP 00000120: PUSH2 0x0132 00000123: PUSH2 0x012d 00000126: CALLDATASIZE 00000127: PUSH1 0x04 00000129: PUSH2 0x14fb 0000012c: JUMP 0000012d: JUMPDEST 0000012e: PUSH2 0x01dc 00000131: JUMP 00000132: JUMPDEST 00000133: STOP 00000134: JUMPDEST 00000135: CALLVALUE 00000136: DUP1 00000137: ISZERO 00000138: PUSH2 0x0140 0000013b: JUMPI 0000013c: PUSH1 0x00 0000013e: DUP1 0000013f: REVERT 00000140: JUMPDEST 00000141: POP 00000142: PUSH2 0x0132 00000145: PUSH2 0x014f 00000148: CALLDATASIZE 00000149: PUSH1 0x04 0000014b: PUSH2 0x1514 0000014e: JUMP 0000014f: JUMPDEST 00000150: PUSH2 0x02c6 00000153: JUMP 00000154: JUMPDEST 00000155: CALLVALUE 00000156: DUP1 00000157: ISZERO 00000158: PUSH2 0x0160 0000015b: JUMPI 0000015c: PUSH1 0x00 0000015e: DUP1 0000015f: REVERT 00000160: JUMPDEST 00000161: POP 00000162: PUSH2 0x0169 00000165: PUSH2 0x0800 00000168: JUMP 00000169: JUMPDEST 0000016a: PUSH1 0x40 0000016c: MLOAD 0000016d: PUSH2 0x0109 00000170: SWAP2 00000171: SWAP1 00000172: PUSH2 0x15df 00000175: JUMP 00000176: JUMPDEST 00000177: CALLVALUE 00000178: DUP1 00000179: ISZERO 0000017a: PUSH2 0x0182 0000017d: JUMPI 0000017e: PUSH1 0x00 00000180: DUP1 00000181: REVERT 00000182: JUMPDEST 00000183: POP 00000184: PUSH1 0x00 00000186: SLOAD 00000187: PUSH2 0x00f5 0000018a: SWAP1 0000018b: PUSH3 0x010000 0000018f: SWAP1 00000190: DIV 00000191: PUSH1 0x01 00000193: PUSH1 0x01 00000195: PUSH1 0xa0 00000197: SHL 00000198: SUB 00000199: AND 0000019a: DUP2 0000019b: JUMP 0000019c: JUMPDEST 0000019d: CALLVALUE 0000019e: DUP1 0000019f: ISZERO 000001a0: PUSH2 0x01a8 000001a3: JUMPI 000001a4: PUSH1 0x00 000001a6: DUP1 000001a7: REVERT 000001a8: JUMPDEST 000001a9: POP 000001aa: PUSH2 0x0132 000001ad: PUSH2 0x01b7 000001b0: CALLDATASIZE 000001b1: PUSH1 0x04 000001b3: PUSH2 0x160e 000001b6: JUMP 000001b7: JUMPDEST 000001b8: PUSH2 0x085c 000001bb: JUMP 000001bc: JUMPDEST 000001bd: CALLVALUE 000001be: DUP1 000001bf: ISZERO 000001c0: PUSH2 0x01c8 000001c3: JUMPI 000001c4: PUSH1 0x00 000001c6: DUP1 000001c7: REVERT 000001c8: JUMPDEST 000001c9: POP 000001ca: PUSH2 0x0132 000001cd: PUSH2 0x01d7 000001d0: CALLDATASIZE 000001d1: PUSH1 0x04 000001d3: PUSH2 0x160e 000001d6: JUMP 000001d7: JUMPDEST 000001d8: PUSH2 0x09bc 000001db: JUMP 000001dc: JUMPDEST 000001dd: PUSH1 0x00 000001df: PUSH1 0x02 000001e1: SWAP1 000001e2: SLOAD 000001e3: SWAP1 000001e4: PUSH2 0x0100 000001e7: EXP 000001e8: SWAP1 000001e9: DIV 000001ea: PUSH1 0x01 000001ec: PUSH1 0x01 000001ee: PUSH1 0xa0 000001f0: SHL 000001f1: SUB 000001f2: AND 000001f3: PUSH1 0x01 000001f5: PUSH1 0x01 000001f7: PUSH1 0xa0 000001f9: SHL 000001fa: SUB 000001fb: AND 000001fc: PUSH4 0xe1bce57a 00000201: PUSH1 0x40 00000203: MLOAD 00000204: DUP2 00000205: PUSH4 0xffffffff 0000020a: AND 0000020b: PUSH1 0xe0 0000020d: SHL 0000020e: DUP2 0000020f: MSTORE 00000210: PUSH1 0x04 00000212: ADD 00000213: PUSH1 0x20 00000215: PUSH1 0x40 00000217: MLOAD 00000218: DUP1 00000219: DUP4 0000021a: SUB 0000021b: DUP2 0000021c: DUP7 0000021d: GAS 0000021e: STATICCALL 0000021f: ISZERO 00000220: DUP1 00000221: ISZERO 00000222: PUSH2 0x022f 00000225: JUMPI 00000226: RETURNDATASIZE 00000227: PUSH1 0x00 00000229: DUP1 0000022a: RETURNDATACOPY 0000022b: RETURNDATASIZE 0000022c: PUSH1 0x00 0000022e: REVERT 0000022f: JUMPDEST 00000230: POP 00000231: POP 00000232: POP 00000233: POP 00000234: PUSH1 0x40 00000236: MLOAD 00000237: RETURNDATASIZE 00000238: PUSH1 0x1f 0000023a: NOT 0000023b: PUSH1 0x1f 0000023d: DUP3 0000023e: ADD 0000023f: AND 00000240: DUP3 00000241: ADD 00000242: DUP1 00000243: PUSH1 0x40 00000245: MSTORE 00000246: POP 00000247: DUP2 00000248: ADD 00000249: SWAP1 0000024a: PUSH2 0x0253 0000024d: SWAP2 0000024e: SWAP1 0000024f: PUSH2 0x162b 00000252: JUMP 00000253: JUMPDEST 00000254: PUSH1 0x01 00000256: PUSH1 0x01 00000258: PUSH1 0xa0 0000025a: SHL 0000025b: SUB 0000025c: AND 0000025d: CALLER 0000025e: PUSH1 0x01 00000260: PUSH1 0x01 00000262: PUSH1 0xa0 00000264: SHL 00000265: SUB 00000266: AND 00000267: EQ 00000268: PUSH2 0x0284 0000026b: JUMPI 0000026c: PUSH1 0x40 0000026e: MLOAD 0000026f: PUSH4 0x06bedee5 00000274: PUSH1 0xe3 00000276: SHL 00000277: DUP2 00000278: MSTORE 00000279: PUSH1 0x04 0000027b: ADD 0000027c: PUSH1 0x40 0000027e: MLOAD 0000027f: DUP1 00000280: SWAP2 00000281: SUB 00000282: SWAP1 00000283: REVERT 00000284: JUMPDEST 00000285: PUSH2 0x028e 00000288: CALLER 00000289: DUP3 0000028a: PUSH2 0x0aeb 0000028d: JUMP 0000028e: JUMPDEST 0000028f: PUSH1 0x40 00000291: MLOAD 00000292: DUP2 00000293: DUP2 00000294: MSTORE 00000295: CALLER 00000296: SWAP1 00000297: PUSH32 0x78f5cdad99320ec2ba57132d7dffb1d125775c823239e60ff5e9300fd4ac898c 000002b8: SWAP1 000002b9: PUSH1 0x20 000002bb: ADD 000002bc: PUSH1 0x40 000002be: MLOAD 000002bf: DUP1 000002c0: SWAP2 000002c1: SUB 000002c2: SWAP1 000002c3: LOG2 000002c4: POP 000002c5: JUMP 000002c6: JUMPDEST 000002c7: PUSH1 0x00 000002c9: SLOAD 000002ca: PUSH1 0x40 000002cc: MLOAD 000002cd: PUSH4 0x12d9a6ad 000002d2: PUSH1 0xe0 000002d4: SHL 000002d5: DUP2 000002d6: MSTORE 000002d7: PUSH32 0x902cbe3a02736af9827fb6a90bada39e955c0941e08f0c63b3a662a7b17a4e2b 000002f8: PUSH1 0x04 000002fa: DUP3 000002fb: ADD 000002fc: DUP2 000002fd: SWAP1 000002fe: MSTORE 000002ff: CALLER 00000300: PUSH1 0x24 00000302: DUP4 00000303: ADD 00000304: MSTORE 00000305: SWAP2 00000306: PUSH3 0x010000 0000030a: SWAP1 0000030b: DIV 0000030c: PUSH1 0x01 0000030e: PUSH1 0x01 00000310: PUSH1 0xa0 00000312: SHL 00000313: SUB 00000314: AND 00000315: SWAP1 00000316: PUSH4 0x12d9a6ad 0000031b: SWAP1 0000031c: PUSH1 0x44 0000031e: ADD 0000031f: PUSH1 0x00 00000321: PUSH1 0x40 00000323: MLOAD 00000324: DUP1 00000325: DUP4 00000326: SUB 00000327: DUP2 00000328: DUP7 00000329: DUP1 0000032a: EXTCODESIZE 0000032b: ISZERO 0000032c: DUP1 0000032d: ISZERO 0000032e: PUSH2 0x0336 00000331: JUMPI 00000332: PUSH1 0x00 00000334: DUP1 00000335: REVERT 00000336: JUMPDEST 00000337: POP 00000338: GAS 00000339: STATICCALL 0000033a: ISZERO 0000033b: DUP1 0000033c: ISZERO 0000033d: PUSH2 0x034a 00000340: JUMPI 00000341: RETURNDATASIZE 00000342: PUSH1 0x00 00000344: DUP1 00000345: RETURNDATACOPY 00000346: RETURNDATASIZE 00000347: PUSH1 0x00 00000349: REVERT 0000034a: JUMPDEST 0000034b: POP 0000034c: POP 0000034d: POP 0000034e: PUSH1 0x00 00000350: DUP5 00000351: SWAP1 00000352: SUB 00000353: SWAP1 00000354: POP 00000355: PUSH2 0x0371 00000358: JUMPI 00000359: PUSH1 0x40 0000035b: MLOAD 0000035c: PUSH4 0x1ec5a9df 00000361: PUSH1 0xe0 00000363: SHL 00000364: DUP2 00000365: MSTORE 00000366: PUSH1 0x04 00000368: ADD 00000369: PUSH1 0x40 0000036b: MLOAD 0000036c: DUP1 0000036d: SWAP2 0000036e: SUB 0000036f: SWAP1 00000370: REVERT 00000371: JUMPDEST 00000372: PUSH1 0x00 00000374: PUSH1 0x02 00000376: SWAP1 00000377: SLOAD 00000378: SWAP1 00000379: PUSH2 0x0100 0000037c: EXP 0000037d: SWAP1 0000037e: DIV 0000037f: PUSH1 0x01 00000381: PUSH1 0x01 00000383: PUSH1 0xa0 00000385: SHL 00000386: SUB 00000387: AND 00000388: PUSH1 0x01 0000038a: PUSH1 0x01 0000038c: PUSH1 0xa0 0000038e: SHL 0000038f: SUB 00000390: AND 00000391: PUSH4 0xd19a8502 00000396: PUSH1 0x40 00000398: MLOAD 00000399: DUP2 0000039a: PUSH4 0xffffffff 0000039f: AND 000003a0: PUSH1 0xe0 000003a2: SHL 000003a3: DUP2 000003a4: MSTORE 000003a5: PUSH1 0x04 000003a7: ADD 000003a8: PUSH1 0x20 000003aa: PUSH1 0x40 000003ac: MLOAD 000003ad: DUP1 000003ae: DUP4 000003af: SUB 000003b0: DUP2 000003b1: DUP7 000003b2: GAS 000003b3: STATICCALL 000003b4: ISZERO 000003b5: DUP1 000003b6: ISZERO 000003b7: PUSH2 0x03c4 000003ba: JUMPI 000003bb: RETURNDATASIZE 000003bc: PUSH1 0x00 000003be: DUP1 000003bf: RETURNDATACOPY 000003c0: RETURNDATASIZE 000003c1: PUSH1 0x00 000003c3: REVERT 000003c4: JUMPDEST 000003c5: POP 000003c6: POP 000003c7: POP 000003c8: POP 000003c9: PUSH1 0x40 000003cb: MLOAD 000003cc: RETURNDATASIZE 000003cd: PUSH1 0x1f 000003cf: NOT 000003d0: PUSH1 0x1f 000003d2: DUP3 000003d3: ADD 000003d4: AND 000003d5: DUP3 000003d6: ADD 000003d7: DUP1 000003d8: PUSH1 0x40 000003da: MSTORE 000003db: POP 000003dc: DUP2 000003dd: ADD 000003de: SWAP1 000003df: PUSH2 0x03e8 000003e2: SWAP2 000003e3: SWAP1 000003e4: PUSH2 0x1648 000003e7: JUMP 000003e8: JUMPDEST 000003e9: ISZERO 000003ea: PUSH2 0x0406 000003ed: JUMPI 000003ee: PUSH1 0x40 000003f0: MLOAD 000003f1: PUSH4 0xe014c4ff 000003f6: PUSH1 0xe0 000003f8: SHL 000003f9: DUP2 000003fa: MSTORE 000003fb: PUSH1 0x04 000003fd: ADD 000003fe: PUSH1 0x40 00000400: MLOAD 00000401: DUP1 00000402: SWAP2 00000403: SUB 00000404: SWAP1 00000405: REVERT 00000406: JUMPDEST 00000407: PUSH1 0x01 00000409: PUSH1 0x00 0000040b: SWAP1 0000040c: SLOAD 0000040d: SWAP1 0000040e: PUSH2 0x0100 00000411: EXP 00000412: SWAP1 00000413: DIV 00000414: PUSH1 0x01 00000416: PUSH1 0x01 00000418: PUSH1 0xa0 0000041a: SHL 0000041b: SUB 0000041c: AND 0000041d: PUSH1 0x01 0000041f: PUSH1 0x01 00000421: PUSH1 0xa0 00000423: SHL 00000424: SUB 00000425: AND 00000426: PUSH4 0xc5f2892f 0000042b: PUSH1 0x40 0000042d: MLOAD 0000042e: DUP2 0000042f: PUSH4 0xffffffff 00000434: AND 00000435: PUSH1 0xe0 00000437: SHL 00000438: DUP2 00000439: MSTORE 0000043a: PUSH1 0x04 0000043c: ADD 0000043d: PUSH1 0x20 0000043f: PUSH1 0x40 00000441: MLOAD 00000442: DUP1 00000443: DUP4 00000444: SUB 00000445: DUP2 00000446: DUP7 00000447: GAS 00000448: STATICCALL 00000449: ISZERO 0000044a: DUP1 0000044b: ISZERO 0000044c: PUSH2 0x0459 0000044f: JUMPI 00000450: RETURNDATASIZE 00000451: PUSH1 0x00 00000453: DUP1 00000454: RETURNDATACOPY 00000455: RETURNDATASIZE 00000456: PUSH1 0x00 00000458: REVERT 00000459: JUMPDEST 0000045a: POP 0000045b: POP 0000045c: POP 0000045d: POP 0000045e: PUSH1 0x40 00000460: MLOAD 00000461: RETURNDATASIZE 00000462: PUSH1 0x1f 00000464: NOT 00000465: PUSH1 0x1f 00000467: DUP3 00000468: ADD 00000469: AND 0000046a: DUP3 0000046b: ADD 0000046c: DUP1 0000046d: PUSH1 0x40 0000046f: MSTORE 00000470: POP 00000471: DUP2 00000472: ADD 00000473: SWAP1 00000474: PUSH2 0x047d 00000477: SWAP2 00000478: SWAP1 00000479: PUSH2 0x166a 0000047c: JUMP 0000047d: JUMPDEST 0000047e: DUP3 0000047f: EQ 00000480: PUSH2 0x049c 00000483: JUMPI 00000484: PUSH1 0x40 00000486: MLOAD 00000487: PUSH4 0x511fc763 0000048c: PUSH1 0xe0 0000048e: SHL 0000048f: DUP2 00000490: MSTORE 00000491: PUSH1 0x04 00000493: ADD 00000494: PUSH1 0x40 00000496: MLOAD 00000497: DUP1 00000498: SWAP2 00000499: SUB 0000049a: SWAP1 0000049b: REVERT 0000049c: JUMPDEST 0000049d: PUSH1 0x00 0000049f: DUP1 000004a0: PUSH1 0x02 000004a2: SWAP1 000004a3: SLOAD 000004a4: SWAP1 000004a5: PUSH2 0x0100 000004a8: EXP 000004a9: SWAP1 000004aa: DIV 000004ab: PUSH1 0x01 000004ad: PUSH1 0x01 000004af: PUSH1 0xa0 000004b1: SHL 000004b2: SUB 000004b3: AND 000004b4: PUSH1 0x01 000004b6: PUSH1 0x01 000004b8: PUSH1 0xa0 000004ba: SHL 000004bb: SUB 000004bc: AND 000004bd: PUSH4 0xe1bce57a 000004c2: PUSH1 0x40 000004c4: MLOAD 000004c5: DUP2 000004c6: PUSH4 0xffffffff 000004cb: AND 000004cc: PUSH1 0xe0 000004ce: SHL 000004cf: DUP2 000004d0: MSTORE 000004d1: PUSH1 0x04 000004d3: ADD 000004d4: PUSH1 0x20 000004d6: PUSH1 0x40 000004d8: MLOAD 000004d9: DUP1 000004da: DUP4 000004db: SUB 000004dc: DUP2 000004dd: DUP7 000004de: GAS 000004df: STATICCALL 000004e0: ISZERO 000004e1: DUP1 000004e2: ISZERO 000004e3: PUSH2 0x04f0 000004e6: JUMPI 000004e7: RETURNDATASIZE 000004e8: PUSH1 0x00 000004ea: DUP1 000004eb: RETURNDATACOPY 000004ec: RETURNDATASIZE 000004ed: PUSH1 0x00 000004ef: REVERT 000004f0: JUMPDEST 000004f1: POP 000004f2: POP 000004f3: POP 000004f4: POP 000004f5: PUSH1 0x40 000004f7: MLOAD 000004f8: RETURNDATASIZE 000004f9: PUSH1 0x1f 000004fb: NOT 000004fc: PUSH1 0x1f 000004fe: DUP3 000004ff: ADD 00000500: AND 00000501: DUP3 00000502: ADD 00000503: DUP1 00000504: PUSH1 0x40 00000506: MSTORE 00000507: POP 00000508: DUP2 00000509: ADD 0000050a: SWAP1 0000050b: PUSH2 0x0514 0000050e: SWAP2 0000050f: SWAP1 00000510: PUSH2 0x162b 00000513: JUMP 00000514: JUMPDEST 00000515: PUSH1 0x01 00000517: PUSH1 0x01 00000519: PUSH1 0xa0 0000051b: SHL 0000051c: SUB 0000051d: AND 0000051e: PUSH4 0x8545f689 00000523: PUSH1 0x40 00000525: MLOAD 00000526: DUP2 00000527: PUSH4 0xffffffff 0000052c: AND 0000052d: PUSH1 0xe0 0000052f: SHL 00000530: DUP2 00000531: MSTORE 00000532: PUSH1 0x04 00000534: ADD 00000535: PUSH1 0x20 00000537: PUSH1 0x40 00000539: MLOAD 0000053a: DUP1 0000053b: DUP4 0000053c: SUB 0000053d: DUP2 0000053e: DUP7 0000053f: GAS 00000540: STATICCALL 00000541: ISZERO 00000542: DUP1 00000543: ISZERO 00000544: PUSH2 0x0551 00000547: JUMPI 00000548: RETURNDATASIZE 00000549: PUSH1 0x00 0000054b: DUP1 0000054c: RETURNDATACOPY 0000054d: RETURNDATASIZE 0000054e: PUSH1 0x00 00000550: REVERT 00000551: JUMPDEST 00000552: POP 00000553: POP 00000554: POP 00000555: POP 00000556: PUSH1 0x40 00000558: MLOAD 00000559: RETURNDATASIZE 0000055a: PUSH1 0x1f 0000055c: NOT 0000055d: PUSH1 0x1f 0000055f: DUP3 00000560: ADD 00000561: AND 00000562: DUP3 00000563: ADD 00000564: DUP1 00000565: PUSH1 0x40 00000567: MSTORE 00000568: POP 00000569: DUP2 0000056a: ADD 0000056b: SWAP1 0000056c: PUSH2 0x0575 0000056f: SWAP2 00000570: SWAP1 00000571: PUSH2 0x166a 00000574: JUMP 00000575: JUMPDEST 00000576: SWAP1 00000577: POP 00000578: PUSH9 0x01bc16d674ec800000 00000582: DUP2 00000583: PUSH2 0x058c 00000586: DUP3 00000587: DUP8 00000588: PUSH2 0x1699 0000058b: JUMP 0000058c: JUMPDEST 0000058d: PUSH2 0x0596 00000590: SWAP2 00000591: SWAP1 00000592: PUSH2 0x16b8 00000595: JUMP 00000596: JUMPDEST 00000597: SELFBALANCE 00000598: LT 00000599: ISZERO 0000059a: PUSH2 0x05b6 0000059d: JUMPI 0000059e: PUSH1 0x40 000005a0: MLOAD 000005a1: PUSH4 0x5dd90557 000005a6: PUSH1 0xe1 000005a8: SHL 000005a9: DUP2 000005aa: MSTORE 000005ab: PUSH1 0x04 000005ad: ADD 000005ae: PUSH1 0x40 000005b0: MLOAD 000005b1: DUP1 000005b2: SWAP2 000005b3: SUB 000005b4: SWAP1 000005b5: REVERT 000005b6: JUMPDEST 000005b7: PUSH1 0x00 000005b9: DUP1 000005ba: PUSH1 0x02 000005bc: SWAP1 000005bd: SLOAD 000005be: SWAP1 000005bf: PUSH2 0x0100 000005c2: EXP 000005c3: SWAP1 000005c4: DIV 000005c5: PUSH1 0x01 000005c7: PUSH1 0x01 000005c9: PUSH1 0xa0 000005cb: SHL 000005cc: SUB 000005cd: AND 000005ce: PUSH1 0x01 000005d0: PUSH1 0x01 000005d2: PUSH1 0xa0 000005d4: SHL 000005d5: SUB 000005d6: AND 000005d7: PUSH4 0x9ffaaa3b 000005dc: PUSH1 0x40 000005de: MLOAD 000005df: DUP2 000005e0: PUSH4 0xffffffff 000005e5: AND 000005e6: PUSH1 0xe0 000005e8: SHL 000005e9: DUP2 000005ea: MSTORE 000005eb: PUSH1 0x04 000005ed: ADD 000005ee: PUSH1 0x20 000005f0: PUSH1 0x40 000005f2: MLOAD 000005f3: DUP1 000005f4: DUP4 000005f5: SUB 000005f6: DUP2 000005f7: DUP7 000005f8: GAS 000005f9: STATICCALL 000005fa: ISZERO 000005fb: DUP1 000005fc: ISZERO 000005fd: PUSH2 0x060a 00000600: JUMPI 00000601: RETURNDATASIZE 00000602: PUSH1 0x00 00000604: DUP1 00000605: RETURNDATACOPY 00000606: RETURNDATASIZE 00000607: PUSH1 0x00 00000609: REVERT 0000060a: JUMPDEST 0000060b: POP 0000060c: POP 0000060d: POP 0000060e: POP 0000060f: PUSH1 0x40 00000611: MLOAD 00000612: RETURNDATASIZE 00000613: PUSH1 0x1f 00000615: NOT 00000616: PUSH1 0x1f 00000618: DUP3 00000619: ADD 0000061a: AND 0000061b: DUP3 0000061c: ADD 0000061d: DUP1 0000061e: PUSH1 0x40 00000620: MSTORE 00000621: POP 00000622: DUP2 00000623: ADD 00000624: SWAP1 00000625: PUSH2 0x062e 00000628: SWAP2 00000629: SWAP1 0000062a: PUSH2 0x162b 0000062d: JUMP 0000062e: JUMPDEST 0000062f: PUSH1 0x01 00000631: PUSH1 0x01 00000633: PUSH1 0xa0 00000635: SHL 00000636: SUB 00000637: AND 00000638: PUSH4 0xc3953502 0000063d: DUP9 0000063e: DUP9 0000063f: PUSH1 0x40 00000641: MLOAD 00000642: DUP4 00000643: PUSH4 0xffffffff 00000648: AND 00000649: PUSH1 0xe0 0000064b: SHL 0000064c: DUP2 0000064d: MSTORE 0000064e: PUSH1 0x04 00000650: ADD 00000651: PUSH2 0x065b 00000654: SWAP3 00000655: SWAP2 00000656: SWAP1 00000657: PUSH2 0x16fa 0000065a: JUMP 0000065b: JUMPDEST 0000065c: PUSH1 0x00 0000065e: PUSH1 0x40 00000660: MLOAD 00000661: DUP1 00000662: DUP4 00000663: SUB 00000664: DUP2 00000665: PUSH1 0x00 00000667: DUP8 00000668: GAS 00000669: CALL 0000066a: ISZERO 0000066b: DUP1 0000066c: ISZERO 0000066d: PUSH2 0x067a 00000670: JUMPI 00000671: RETURNDATASIZE 00000672: PUSH1 0x00 00000674: DUP1 00000675: RETURNDATACOPY 00000676: RETURNDATASIZE 00000677: PUSH1 0x00 00000679: REVERT 0000067a: JUMPDEST 0000067b: POP 0000067c: POP 0000067d: POP 0000067e: POP 0000067f: PUSH1 0x40 00000681: MLOAD 00000682: RETURNDATASIZE 00000683: PUSH1 0x00 00000685: DUP3 00000686: RETURNDATACOPY 00000687: PUSH1 0x1f 00000689: RETURNDATASIZE 0000068a: SWAP1 0000068b: DUP2 0000068c: ADD 0000068d: PUSH1 0x1f 0000068f: NOT 00000690: AND 00000691: DUP3 00000692: ADD 00000693: PUSH1 0x40 00000695: MSTORE 00000696: PUSH2 0x06a2 00000699: SWAP2 0000069a: SWAP1 0000069b: DUP2 0000069c: ADD 0000069d: SWAP1 0000069e: PUSH2 0x186a 000006a1: JUMP 000006a2: JUMPDEST 000006a3: SWAP1 000006a4: POP 000006a5: PUSH1 0x00 000006a7: PUSH2 0x06ae 000006aa: PUSH2 0x0800 000006ad: JUMP 000006ae: JUMPDEST 000006af: DUP3 000006b0: MLOAD 000006b1: SWAP1 000006b2: SWAP2 000006b3: POP 000006b4: PUSH1 0x00 000006b6: JUMPDEST 000006b7: DUP2 000006b8: DUP2 000006b9: LT 000006ba: ISZERO 000006bb: PUSH2 0x07bb 000006be: JUMPI 000006bf: PUSH1 0x00 000006c1: PUSH2 0x0706 000006c4: DUP6 000006c5: DUP4 000006c6: DUP2 000006c7: MLOAD 000006c8: DUP2 000006c9: LT 000006ca: PUSH2 0x06d5 000006cd: JUMPI 000006ce: PUSH2 0x06d5 000006d1: PUSH2 0x197b 000006d4: JUMP 000006d5: JUMPDEST 000006d6: PUSH1 0x20 000006d8: MUL 000006d9: PUSH1 0x20 000006db: ADD 000006dc: ADD 000006dd: MLOAD 000006de: PUSH1 0x00 000006e0: ADD 000006e1: MLOAD 000006e2: DUP6 000006e3: DUP8 000006e4: DUP6 000006e5: DUP2 000006e6: MLOAD 000006e7: DUP2 000006e8: LT 000006e9: PUSH2 0x06f4 000006ec: JUMPI 000006ed: PUSH2 0x06f4 000006f0: PUSH2 0x197b 000006f3: JUMP 000006f4: JUMPDEST 000006f5: PUSH1 0x20 000006f7: MUL 000006f8: PUSH1 0x20 000006fa: ADD 000006fb: ADD 000006fc: MLOAD 000006fd: PUSH1 0x20 000006ff: ADD 00000700: MLOAD 00000701: DUP10 00000702: PUSH2 0x0c04 00000705: JUMP 00000706: JUMPDEST 00000707: PUSH1 0x01 00000709: SLOAD 0000070a: DUP7 0000070b: MLOAD 0000070c: SWAP2 0000070d: SWAP3 0000070e: POP 0000070f: PUSH1 0x01 00000711: PUSH1 0x01 00000713: PUSH1 0xa0 00000715: SHL 00000716: SUB 00000717: AND 00000718: SWAP1 00000719: PUSH4 0x22895118 0000071e: SWAP1 0000071f: DUP9 00000720: SWAP1 00000721: DUP9 00000722: SWAP1 00000723: DUP7 00000724: SWAP1 00000725: DUP2 00000726: LT 00000727: PUSH2 0x0732 0000072a: JUMPI 0000072b: PUSH2 0x0732 0000072e: PUSH2 0x197b 00000731: JUMP 00000732: JUMPDEST 00000733: PUSH1 0x20 00000735: MUL 00000736: PUSH1 0x20 00000738: ADD 00000739: ADD 0000073a: MLOAD 0000073b: PUSH1 0x00 0000073d: ADD 0000073e: MLOAD 0000073f: DUP8 00000740: DUP10 00000741: DUP8 00000742: DUP2 00000743: MLOAD 00000744: DUP2 00000745: LT 00000746: PUSH2 0x0751 00000749: JUMPI 0000074a: PUSH2 0x0751 0000074d: PUSH2 0x197b 00000750: JUMP 00000751: JUMPDEST 00000752: PUSH1 0x20 00000754: MUL 00000755: PUSH1 0x20 00000757: ADD 00000758: ADD 00000759: MLOAD 0000075a: PUSH1 0x20 0000075c: ADD 0000075d: MLOAD 0000075e: DUP7 0000075f: PUSH1 0x40 00000761: MLOAD 00000762: DUP7 00000763: PUSH4 0xffffffff 00000768: AND 00000769: PUSH1 0xe0 0000076b: SHL 0000076c: DUP2 0000076d: MSTORE 0000076e: PUSH1 0x04 00000770: ADD 00000771: PUSH2 0x077d 00000774: SWAP5 00000775: SWAP4 00000776: SWAP3 00000777: SWAP2 00000778: SWAP1 00000779: PUSH2 0x1991 0000077c: JUMP 0000077d: JUMPDEST 0000077e: PUSH1 0x00 00000780: PUSH1 0x40 00000782: MLOAD 00000783: DUP1 00000784: DUP4 00000785: SUB 00000786: DUP2 00000787: DUP6 00000788: DUP9 00000789: DUP1 0000078a: EXTCODESIZE 0000078b: ISZERO 0000078c: DUP1 0000078d: ISZERO 0000078e: PUSH2 0x0796 00000791: JUMPI 00000792: PUSH1 0x00 00000794: DUP1 00000795: REVERT 00000796: JUMPDEST 00000797: POP 00000798: GAS 00000799: CALL 0000079a: ISZERO 0000079b: DUP1 0000079c: ISZERO 0000079d: PUSH2 0x07aa 000007a0: JUMPI 000007a1: RETURNDATASIZE 000007a2: PUSH1 0x00 000007a4: DUP1 000007a5: RETURNDATACOPY 000007a6: RETURNDATASIZE 000007a7: PUSH1 0x00 000007a9: REVERT 000007aa: JUMPDEST 000007ab: POP 000007ac: POP 000007ad: POP 000007ae: POP 000007af: POP 000007b0: DUP2 000007b1: PUSH1 0x01 000007b3: ADD 000007b4: SWAP2 000007b5: POP 000007b6: POP 000007b7: PUSH2 0x06b6 000007ba: JUMP 000007bb: JUMPDEST 000007bc: POP 000007bd: PUSH32 0xffb1367626264d9733e4dcd7f14cd59fc3a2c15d50d1a41f1ee60c96f77a01dd 000007de: DUP10 000007df: DUP10 000007e0: PUSH1 0x40 000007e2: MLOAD 000007e3: PUSH2 0x07ed 000007e6: SWAP3 000007e7: SWAP2 000007e8: SWAP1 000007e9: PUSH2 0x16fa 000007ec: JUMP 000007ed: JUMPDEST 000007ee: PUSH1 0x40 000007f0: MLOAD 000007f1: DUP1 000007f2: SWAP2 000007f3: SUB 000007f4: SWAP1 000007f5: LOG1 000007f6: POP 000007f7: POP 000007f8: POP 000007f9: POP 000007fa: POP 000007fb: POP 000007fc: POP 000007fd: POP 000007fe: POP 000007ff: JUMP 00000800: JUMPDEST 00000801: PUSH1 0x40 00000803: DUP1 00000804: MLOAD 00000805: PUSH1 0x20 00000807: DUP1 00000808: DUP3 00000809: MSTORE 0000080a: DUP2 0000080b: DUP4 0000080c: ADD 0000080d: SWAP1 0000080e: SWAP3 0000080f: MSTORE 00000810: PUSH1 0x60 00000812: SWAP2 00000813: PUSH1 0x20 00000815: DUP3 00000816: ADD 00000817: DUP2 00000818: DUP1 00000819: CALLDATASIZE 0000081a: DUP4 0000081b: CALLDATACOPY 0000081c: ADD 0000081d: SWAP1 0000081e: POP 0000081f: POP 00000820: SWAP1 00000821: POP 00000822: PUSH1 0x01 00000824: PUSH1 0xf8 00000826: SHL 00000827: DUP2 00000828: PUSH1 0x00 0000082a: DUP2 0000082b: MLOAD 0000082c: DUP2 0000082d: LT 0000082e: PUSH2 0x0839 00000831: JUMPI 00000832: PUSH2 0x0839 00000835: PUSH2 0x197b 00000838: JUMP 00000839: JUMPDEST 0000083a: PUSH1 0x20 0000083c: ADD 0000083d: ADD 0000083e: SWAP1 0000083f: PUSH1 0x01 00000841: PUSH1 0x01 00000843: PUSH1 0xf8 00000845: SHL 00000846: SUB 00000847: NOT 00000848: AND 00000849: SWAP1 0000084a: DUP2 0000084b: PUSH1 0x00 0000084d: BYTE 0000084e: SWAP1 0000084f: MSTORE8 00000850: POP 00000851: ADDRESS 00000852: PUSH1 0x60 00000854: SHL 00000855: PUSH1 0x2c 00000857: DUP3 00000858: ADD 00000859: MSTORE 0000085a: SWAP1 0000085b: JUMP 0000085c: JUMPDEST 0000085d: PUSH1 0x00 0000085f: SLOAD 00000860: PUSH2 0x0100 00000863: SWAP1 00000864: DIV 00000865: PUSH1 0xff 00000867: AND 00000868: ISZERO 00000869: DUP1 0000086a: DUP1 0000086b: ISZERO 0000086c: PUSH2 0x087c 0000086f: JUMPI 00000870: POP 00000871: PUSH1 0x00 00000873: SLOAD 00000874: PUSH1 0x01 00000876: PUSH1 0xff 00000878: SWAP1 00000879: SWAP2 0000087a: AND 0000087b: LT 0000087c: JUMPDEST 0000087d: DUP1 0000087e: PUSH2 0x0896 00000881: JUMPI 00000882: POP 00000883: ADDRESS 00000884: EXTCODESIZE 00000885: ISZERO 00000886: DUP1 00000887: ISZERO 00000888: PUSH2 0x0896 0000088b: JUMPI 0000088c: POP 0000088d: PUSH1 0x00 0000088f: SLOAD 00000890: PUSH1 0xff 00000892: AND 00000893: PUSH1 0x01 00000895: EQ 00000896: JUMPDEST 00000897: PUSH2 0x08fe 0000089a: JUMPI 0000089b: PUSH1 0x40 0000089d: MLOAD 0000089e: PUSH3 0x461bcd 000008a2: PUSH1 0xe5 000008a4: SHL 000008a5: DUP2 000008a6: MSTORE 000008a7: PUSH1 0x20 000008a9: PUSH1 0x04 000008ab: DUP3 000008ac: ADD 000008ad: MSTORE 000008ae: PUSH1 0x2e 000008b0: PUSH1 0x24 000008b2: DUP3 000008b3: ADD 000008b4: MSTORE 000008b5: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 000008d6: PUSH1 0x44 000008d8: DUP3 000008d9: ADD 000008da: MSTORE 000008db: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 000008ea: PUSH1 0x92 000008ec: SHL 000008ed: PUSH1 0x64 000008ef: DUP3 000008f0: ADD 000008f1: MSTORE 000008f2: PUSH1 0x84 000008f4: ADD 000008f5: JUMPDEST 000008f6: PUSH1 0x40 000008f8: MLOAD 000008f9: DUP1 000008fa: SWAP2 000008fb: SUB 000008fc: SWAP1 000008fd: REVERT 000008fe: JUMPDEST 000008ff: PUSH1 0x00 00000901: DUP1 00000902: SLOAD 00000903: PUSH1 0xff 00000905: NOT 00000906: AND 00000907: PUSH1 0x01 00000909: OR 0000090a: SWAP1 0000090b: SSTORE 0000090c: DUP1 0000090d: ISZERO 0000090e: PUSH2 0x0921 00000911: JUMPI 00000912: PUSH1 0x00 00000914: DUP1 00000915: SLOAD 00000916: PUSH2 0xff00 00000919: NOT 0000091a: AND 0000091b: PUSH2 0x0100 0000091e: OR 0000091f: SWAP1 00000920: SSTORE 00000921: JUMPDEST 00000922: DUP2 00000923: PUSH2 0x092b 00000926: DUP2 00000927: PUSH2 0x0f5c 0000092a: JUMP 0000092b: JUMPDEST 0000092c: POP 0000092d: PUSH1 0x01 0000092f: DUP1 00000930: SLOAD 00000931: PUSH1 0x01 00000933: PUSH1 0x01 00000935: PUSH1 0xa0 00000937: SHL 00000938: SUB 00000939: NOT 0000093a: AND 0000093b: PUSH16 0x219ab540356cbb839cbe05303d7705fa 0000094c: OR 0000094d: SWAP1 0000094e: SSTORE 0000094f: PUSH1 0x00 00000951: DUP1 00000952: SLOAD 00000953: PUSH1 0x01 00000955: PUSH1 0x01 00000957: PUSH1 0xa0 00000959: SHL 0000095a: SUB 0000095b: DUP5 0000095c: AND 0000095d: PUSH3 0x010000 00000961: MUL 00000962: PUSH3 0x010000 00000966: PUSH1 0x01 00000968: PUSH1 0xb0 0000096a: SHL 0000096b: SUB 0000096c: NOT 0000096d: SWAP1 0000096e: SWAP2 0000096f: AND 00000970: OR 00000971: SWAP1 00000972: SSTORE 00000973: DUP1 00000974: ISZERO 00000975: PUSH2 0x09b8 00000978: JUMPI 00000979: PUSH1 0x00 0000097b: DUP1 0000097c: SLOAD 0000097d: PUSH2 0xff00 00000980: NOT 00000981: AND 00000982: SWAP1 00000983: SSTORE 00000984: PUSH1 0x40 00000986: MLOAD 00000987: PUSH1 0x01 00000989: DUP2 0000098a: MSTORE 0000098b: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 000009ac: SWAP1 000009ad: PUSH1 0x20 000009af: ADD 000009b0: PUSH1 0x40 000009b2: MLOAD 000009b3: DUP1 000009b4: SWAP2 000009b5: SUB 000009b6: SWAP1 000009b7: LOG1 000009b8: JUMPDEST 000009b9: POP 000009ba: POP 000009bb: JUMP 000009bc: JUMPDEST 000009bd: PUSH1 0x00 000009bf: SLOAD 000009c0: PUSH1 0x40 000009c2: MLOAD 000009c3: PUSH4 0x12d9a6ad 000009c8: PUSH1 0xe0 000009ca: SHL 000009cb: DUP2 000009cc: MSTORE 000009cd: PUSH32 0x4ff52032f36e32ac782042a01802e20394d4255c84a3c046490be98ab632691b 000009ee: PUSH1 0x04 000009f0: DUP3 000009f1: ADD 000009f2: DUP2 000009f3: SWAP1 000009f4: MSTORE 000009f5: CALLER 000009f6: PUSH1 0x24 000009f8: DUP4 000009f9: ADD 000009fa: MSTORE 000009fb: SWAP2 000009fc: PUSH3 0x010000 00000a00: SWAP1 00000a01: DIV 00000a02: PUSH1 0x01 00000a04: PUSH1 0x01 00000a06: PUSH1 0xa0 00000a08: SHL 00000a09: SUB 00000a0a: AND 00000a0b: SWAP1 00000a0c: PUSH4 0x12d9a6ad 00000a11: SWAP1 00000a12: PUSH1 0x44 00000a14: ADD 00000a15: PUSH1 0x00 00000a17: PUSH1 0x40 00000a19: MLOAD 00000a1a: DUP1 00000a1b: DUP4 00000a1c: SUB 00000a1d: DUP2 00000a1e: DUP7 00000a1f: DUP1 00000a20: EXTCODESIZE 00000a21: ISZERO 00000a22: DUP1 00000a23: ISZERO 00000a24: PUSH2 0x0a2c 00000a27: JUMPI 00000a28: PUSH1 0x00 00000a2a: DUP1 00000a2b: REVERT 00000a2c: JUMPDEST 00000a2d: POP 00000a2e: GAS 00000a2f: STATICCALL 00000a30: ISZERO 00000a31: DUP1 00000a32: ISZERO 00000a33: PUSH2 0x0a40 00000a36: JUMPI 00000a37: RETURNDATASIZE 00000a38: PUSH1 0x00 00000a3a: DUP1 00000a3b: RETURNDATACOPY 00000a3c: RETURNDATASIZE 00000a3d: PUSH1 0x00 00000a3f: REVERT 00000a40: JUMPDEST 00000a41: POP 00000a42: POP 00000a43: PUSH1 0x40 00000a45: MLOAD 00000a46: PUSH4 0x70a08231 00000a4b: PUSH1 0xe0 00000a4d: SHL 00000a4e: DUP2 00000a4f: MSTORE 00000a50: ADDRESS 00000a51: PUSH1 0x04 00000a53: DUP3 00000a54: ADD 00000a55: MSTORE 00000a56: PUSH1 0x00 00000a58: SWAP3 00000a59: POP 00000a5a: PUSH1 0x01 00000a5c: PUSH1 0x01 00000a5e: PUSH1 0xa0 00000a60: SHL 00000a61: SUB 00000a62: DUP6 00000a63: AND 00000a64: SWAP2 00000a65: POP 00000a66: PUSH4 0x70a08231 00000a6b: SWAP1 00000a6c: PUSH1 0x24 00000a6e: ADD 00000a6f: PUSH1 0x20 00000a71: PUSH1 0x40 00000a73: MLOAD 00000a74: DUP1 00000a75: DUP4 00000a76: SUB 00000a77: DUP2 00000a78: DUP7 00000a79: GAS 00000a7a: STATICCALL 00000a7b: ISZERO 00000a7c: DUP1 00000a7d: ISZERO 00000a7e: PUSH2 0x0a8b 00000a81: JUMPI 00000a82: RETURNDATASIZE 00000a83: PUSH1 0x00 00000a85: DUP1 00000a86: RETURNDATACOPY 00000a87: RETURNDATASIZE 00000a88: PUSH1 0x00 00000a8a: REVERT 00000a8b: JUMPDEST 00000a8c: POP 00000a8d: POP 00000a8e: POP 00000a8f: POP 00000a90: PUSH1 0x40 00000a92: MLOAD 00000a93: RETURNDATASIZE 00000a94: PUSH1 0x1f 00000a96: NOT 00000a97: PUSH1 0x1f 00000a99: DUP3 00000a9a: ADD 00000a9b: AND 00000a9c: DUP3 00000a9d: ADD 00000a9e: DUP1 00000a9f: PUSH1 0x40 00000aa1: MSTORE 00000aa2: POP 00000aa3: DUP2 00000aa4: ADD 00000aa5: SWAP1 00000aa6: PUSH2 0x0aaf 00000aa9: SWAP2 00000aaa: SWAP1 00000aab: PUSH2 0x166a 00000aae: JUMP 00000aaf: JUMPDEST 00000ab0: SWAP1 00000ab1: POP 00000ab2: DUP1 00000ab3: PUSH1 0x00 00000ab5: SUB 00000ab6: PUSH2 0x0ad2 00000ab9: JUMPI 00000aba: PUSH1 0x40 00000abc: MLOAD 00000abd: PUSH4 0x7dd28aa7 00000ac2: PUSH1 0xe1 00000ac4: SHL 00000ac5: DUP2 00000ac6: MSTORE 00000ac7: PUSH1 0x04 00000ac9: ADD 00000aca: PUSH1 0x40 00000acc: MLOAD 00000acd: DUP1 00000ace: SWAP2 00000acf: SUB 00000ad0: SWAP1 00000ad1: REVERT 00000ad2: JUMPDEST 00000ad3: PUSH2 0x0ae6 00000ad6: PUSH1 0x01 00000ad8: PUSH1 0x01 00000ada: PUSH1 0xa0 00000adc: SHL 00000add: SUB 00000ade: DUP5 00000adf: AND 00000ae0: CALLER 00000ae1: DUP4 00000ae2: PUSH2 0x0f86 00000ae5: JUMP 00000ae6: JUMPDEST 00000ae7: POP 00000ae8: POP 00000ae9: POP 00000aea: JUMP 00000aeb: JUMPDEST 00000aec: DUP1 00000aed: SELFBALANCE 00000aee: LT 00000aef: ISZERO 00000af0: PUSH2 0x0b3b 00000af3: JUMPI 00000af4: PUSH1 0x40 00000af6: MLOAD 00000af7: PUSH3 0x461bcd 00000afb: PUSH1 0xe5 00000afd: SHL 00000afe: DUP2 00000aff: MSTORE 00000b00: PUSH1 0x20 00000b02: PUSH1 0x04 00000b04: DUP3 00000b05: ADD 00000b06: MSTORE 00000b07: PUSH1 0x1d 00000b09: PUSH1 0x24 00000b0b: DUP3 00000b0c: ADD 00000b0d: MSTORE 00000b0e: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000 00000b2f: PUSH1 0x44 00000b31: DUP3 00000b32: ADD 00000b33: MSTORE 00000b34: PUSH1 0x64 00000b36: ADD 00000b37: PUSH2 0x08f5 00000b3a: JUMP 00000b3b: JUMPDEST 00000b3c: PUSH1 0x00 00000b3e: DUP3 00000b3f: PUSH1 0x01 00000b41: PUSH1 0x01 00000b43: PUSH1 0xa0 00000b45: SHL 00000b46: SUB 00000b47: AND 00000b48: DUP3 00000b49: PUSH1 0x40 00000b4b: MLOAD 00000b4c: PUSH1 0x00 00000b4e: PUSH1 0x40 00000b50: MLOAD 00000b51: DUP1 00000b52: DUP4 00000b53: SUB 00000b54: DUP2 00000b55: DUP6 00000b56: DUP8 00000b57: GAS 00000b58: CALL 00000b59: SWAP3 00000b5a: POP 00000b5b: POP 00000b5c: POP 00000b5d: RETURNDATASIZE 00000b5e: DUP1 00000b5f: PUSH1 0x00 00000b61: DUP2 00000b62: EQ 00000b63: PUSH2 0x0b88 00000b66: JUMPI 00000b67: PUSH1 0x40 00000b69: MLOAD 00000b6a: SWAP2 00000b6b: POP 00000b6c: PUSH1 0x1f 00000b6e: NOT 00000b6f: PUSH1 0x3f 00000b71: RETURNDATASIZE 00000b72: ADD 00000b73: AND 00000b74: DUP3 00000b75: ADD 00000b76: PUSH1 0x40 00000b78: MSTORE 00000b79: RETURNDATASIZE 00000b7a: DUP3 00000b7b: MSTORE 00000b7c: RETURNDATASIZE 00000b7d: PUSH1 0x00 00000b7f: PUSH1 0x20 00000b81: DUP5 00000b82: ADD 00000b83: RETURNDATACOPY 00000b84: PUSH2 0x0b8d 00000b87: JUMP 00000b88: JUMPDEST 00000b89: PUSH1 0x60 00000b8b: SWAP2 00000b8c: POP 00000b8d: JUMPDEST 00000b8e: POP 00000b8f: POP 00000b90: SWAP1 00000b91: POP 00000b92: DUP1 00000b93: PUSH2 0x0ae6 00000b96: JUMPI 00000b97: PUSH1 0x40 00000b99: MLOAD 00000b9a: PUSH3 0x461bcd 00000b9e: PUSH1 0xe5 00000ba0: SHL 00000ba1: DUP2 00000ba2: MSTORE 00000ba3: PUSH1 0x20 00000ba5: PUSH1 0x04 00000ba7: DUP3 00000ba8: ADD 00000ba9: MSTORE 00000baa: PUSH1 0x3a 00000bac: PUSH1 0x24 00000bae: DUP3 00000baf: ADD 00000bb0: MSTORE 00000bb1: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072 00000bd2: PUSH1 0x44 00000bd4: DUP3 00000bd5: ADD 00000bd6: MSTORE 00000bd7: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000 00000bf8: PUSH1 0x64 00000bfa: DUP3 00000bfb: ADD 00000bfc: MSTORE 00000bfd: PUSH1 0x84 00000bff: ADD 00000c00: PUSH2 0x08f5 00000c03: JUMP 00000c04: JUMPDEST 00000c05: PUSH1 0x00 00000c07: DUP1 00000c08: PUSH2 0x0c15 00000c0b: PUSH4 0x3b9aca00 00000c10: DUP5 00000c11: PUSH2 0x19dc 00000c14: JUMP 00000c15: JUMPDEST 00000c16: SWAP1 00000c17: POP 00000c18: PUSH1 0x00 00000c1a: PUSH2 0x0c22 00000c1d: DUP3 00000c1e: PUSH2 0x0fd8 00000c21: JUMP 00000c22: JUMPDEST 00000c23: SWAP1 00000c24: POP 00000c25: PUSH1 0x00 00000c27: PUSH1 0x02 00000c29: DUP9 00000c2a: PUSH1 0x00 00000c2c: PUSH1 0x80 00000c2e: SHL 00000c2f: PUSH1 0x40 00000c31: MLOAD 00000c32: PUSH1 0x20 00000c34: ADD 00000c35: PUSH2 0x0c3f 00000c38: SWAP3 00000c39: SWAP2 00000c3a: SWAP1 00000c3b: PUSH2 0x19fe 00000c3e: JUMP 00000c3f: JUMPDEST 00000c40: PUSH1 0x40 00000c42: DUP1 00000c43: MLOAD 00000c44: PUSH1 0x1f 00000c46: NOT 00000c47: DUP2 00000c48: DUP5 00000c49: SUB 00000c4a: ADD 00000c4b: DUP2 00000c4c: MSTORE 00000c4d: SWAP1 00000c4e: DUP3 00000c4f: SWAP1 00000c50: MSTORE 00000c51: PUSH2 0x0c59 00000c54: SWAP2 00000c55: PUSH2 0x1a36 00000c58: JUMP 00000c59: JUMPDEST 00000c5a: PUSH1 0x20 00000c5c: PUSH1 0x40 00000c5e: MLOAD 00000c5f: DUP1 00000c60: DUP4 00000c61: SUB 00000c62: DUP2 00000c63: DUP6 00000c64: GAS 00000c65: STATICCALL 00000c66: ISZERO 00000c67: DUP1 00000c68: ISZERO 00000c69: PUSH2 0x0c76 00000c6c: JUMPI 00000c6d: RETURNDATASIZE 00000c6e: PUSH1 0x00 00000c70: DUP1 00000c71: RETURNDATACOPY 00000c72: RETURNDATASIZE 00000c73: PUSH1 0x00 00000c75: REVERT 00000c76: JUMPDEST 00000c77: POP 00000c78: POP 00000c79: POP 00000c7a: PUSH1 0x40 00000c7c: MLOAD 00000c7d: RETURNDATASIZE 00000c7e: PUSH1 0x1f 00000c80: NOT 00000c81: PUSH1 0x1f 00000c83: DUP3 00000c84: ADD 00000c85: AND 00000c86: DUP3 00000c87: ADD 00000c88: DUP1 00000c89: PUSH1 0x40 00000c8b: MSTORE 00000c8c: POP 00000c8d: DUP2 00000c8e: ADD 00000c8f: SWAP1 00000c90: PUSH2 0x0c99 00000c93: SWAP2 00000c94: SWAP1 00000c95: PUSH2 0x166a 00000c98: JUMP 00000c99: JUMPDEST 00000c9a: SWAP1 00000c9b: POP 00000c9c: PUSH1 0x00 00000c9e: PUSH1 0x02 00000ca0: DUP1 00000ca1: PUSH2 0x0cac 00000ca4: DUP10 00000ca5: DUP5 00000ca6: PUSH1 0x40 00000ca8: PUSH2 0x118c 00000cab: JUMP 00000cac: JUMPDEST 00000cad: PUSH1 0x40 00000caf: MLOAD 00000cb0: PUSH1 0x20 00000cb2: ADD 00000cb3: PUSH2 0x0cbc 00000cb6: SWAP2 00000cb7: SWAP1 00000cb8: PUSH2 0x1a36 00000cbb: JUMP 00000cbc: JUMPDEST 00000cbd: PUSH1 0x40 00000cbf: DUP1 00000cc0: MLOAD 00000cc1: PUSH1 0x1f 00000cc3: NOT 00000cc4: DUP2 00000cc5: DUP5 00000cc6: SUB 00000cc7: ADD 00000cc8: DUP2 00000cc9: MSTORE 00000cca: SWAP1 00000ccb: DUP3 00000ccc: SWAP1 00000ccd: MSTORE 00000cce: PUSH2 0x0cd6 00000cd1: SWAP2 00000cd2: PUSH2 0x1a36 00000cd5: JUMP 00000cd6: JUMPDEST 00000cd7: PUSH1 0x20 00000cd9: PUSH1 0x40 00000cdb: MLOAD 00000cdc: DUP1 00000cdd: DUP4 00000cde: SUB 00000cdf: DUP2 00000ce0: DUP6 00000ce1: GAS 00000ce2: STATICCALL 00000ce3: ISZERO 00000ce4: DUP1 00000ce5: ISZERO 00000ce6: PUSH2 0x0cf3 00000ce9: JUMPI 00000cea: RETURNDATASIZE 00000ceb: PUSH1 0x00 00000ced: DUP1 00000cee: RETURNDATACOPY 00000cef: RETURNDATASIZE 00000cf0: PUSH1 0x00 00000cf2: REVERT 00000cf3: JUMPDEST 00000cf4: POP 00000cf5: POP 00000cf6: POP 00000cf7: PUSH1 0x40 00000cf9: MLOAD 00000cfa: RETURNDATASIZE 00000cfb: PUSH1 0x1f 00000cfd: NOT 00000cfe: PUSH1 0x1f 00000d00: DUP3 00000d01: ADD 00000d02: AND 00000d03: DUP3 00000d04: ADD 00000d05: DUP1 00000d06: PUSH1 0x40 00000d08: MSTORE 00000d09: POP 00000d0a: DUP2 00000d0b: ADD 00000d0c: SWAP1 00000d0d: PUSH2 0x0d16 00000d10: SWAP2 00000d11: SWAP1 00000d12: PUSH2 0x166a 00000d15: JUMP 00000d16: JUMPDEST 00000d17: PUSH1 0x02 00000d19: PUSH2 0x0d25 00000d1c: DUP11 00000d1d: PUSH1 0x40 00000d1f: PUSH1 0x20 00000d21: PUSH2 0x118c 00000d24: JUMP 00000d25: JUMPDEST 00000d26: PUSH1 0x40 00000d28: MLOAD 00000d29: PUSH2 0x0d38 00000d2c: SWAP2 00000d2d: SWAP1 00000d2e: PUSH1 0x00 00000d30: SWAP1 00000d31: PUSH1 0x20 00000d33: ADD 00000d34: PUSH2 0x1a52 00000d37: JUMP 00000d38: JUMPDEST 00000d39: PUSH1 0x40 00000d3b: DUP1 00000d3c: MLOAD 00000d3d: PUSH1 0x1f 00000d3f: NOT 00000d40: DUP2 00000d41: DUP5 00000d42: SUB 00000d43: ADD 00000d44: DUP2 00000d45: MSTORE 00000d46: SWAP1 00000d47: DUP3 00000d48: SWAP1 00000d49: MSTORE 00000d4a: PUSH2 0x0d52 00000d4d: SWAP2 00000d4e: PUSH2 0x1a36 00000d51: JUMP 00000d52: JUMPDEST 00000d53: PUSH1 0x20 00000d55: PUSH1 0x40 00000d57: MLOAD 00000d58: DUP1 00000d59: DUP4 00000d5a: SUB 00000d5b: DUP2 00000d5c: DUP6 00000d5d: GAS 00000d5e: STATICCALL 00000d5f: ISZERO 00000d60: DUP1 00000d61: ISZERO 00000d62: PUSH2 0x0d6f 00000d65: JUMPI 00000d66: RETURNDATASIZE 00000d67: PUSH1 0x00 00000d69: DUP1 00000d6a: RETURNDATACOPY 00000d6b: RETURNDATASIZE 00000d6c: PUSH1 0x00 00000d6e: REVERT 00000d6f: JUMPDEST 00000d70: POP 00000d71: POP 00000d72: POP 00000d73: PUSH1 0x40 00000d75: MLOAD 00000d76: RETURNDATASIZE 00000d77: PUSH1 0x1f 00000d79: NOT 00000d7a: PUSH1 0x1f 00000d7c: DUP3 00000d7d: ADD 00000d7e: AND 00000d7f: DUP3 00000d80: ADD 00000d81: DUP1 00000d82: PUSH1 0x40 00000d84: MSTORE 00000d85: POP 00000d86: DUP2 00000d87: ADD 00000d88: SWAP1 00000d89: PUSH2 0x0d92 00000d8c: SWAP2 00000d8d: SWAP1 00000d8e: PUSH2 0x166a 00000d91: JUMP 00000d92: JUMPDEST 00000d93: PUSH1 0x40 00000d95: DUP1 00000d96: MLOAD 00000d97: PUSH1 0x20 00000d99: DUP2 00000d9a: ADD 00000d9b: SWAP4 00000d9c: SWAP1 00000d9d: SWAP4 00000d9e: MSTORE 00000d9f: DUP3 00000da0: ADD 00000da1: MSTORE 00000da2: PUSH1 0x60 00000da4: ADD 00000da5: PUSH1 0x40 00000da7: DUP1 00000da8: MLOAD 00000da9: PUSH1 0x1f 00000dab: NOT 00000dac: DUP2 00000dad: DUP5 00000dae: SUB 00000daf: ADD 00000db0: DUP2 00000db1: MSTORE 00000db2: SWAP1 00000db3: DUP3 00000db4: SWAP1 00000db5: MSTORE 00000db6: PUSH2 0x0dbe 00000db9: SWAP2 00000dba: PUSH2 0x1a36 00000dbd: JUMP 00000dbe: JUMPDEST 00000dbf: PUSH1 0x20 00000dc1: PUSH1 0x40 00000dc3: MLOAD 00000dc4: DUP1 00000dc5: DUP4 00000dc6: SUB 00000dc7: DUP2 00000dc8: DUP6 00000dc9: GAS 00000dca: STATICCALL 00000dcb: ISZERO 00000dcc: DUP1 00000dcd: ISZERO 00000dce: PUSH2 0x0ddb 00000dd1: JUMPI 00000dd2: RETURNDATASIZE 00000dd3: PUSH1 0x00 00000dd5: DUP1 00000dd6: RETURNDATACOPY 00000dd7: RETURNDATASIZE 00000dd8: PUSH1 0x00 00000dda: REVERT 00000ddb: JUMPDEST 00000ddc: POP 00000ddd: POP 00000dde: POP 00000ddf: PUSH1 0x40 00000de1: MLOAD 00000de2: RETURNDATASIZE 00000de3: PUSH1 0x1f 00000de5: NOT 00000de6: PUSH1 0x1f 00000de8: DUP3 00000de9: ADD 00000dea: AND 00000deb: DUP3 00000dec: ADD 00000ded: DUP1 00000dee: PUSH1 0x40 00000df0: MSTORE 00000df1: POP 00000df2: DUP2 00000df3: ADD 00000df4: SWAP1 00000df5: PUSH2 0x0dfe 00000df8: SWAP2 00000df9: SWAP1 00000dfa: PUSH2 0x166a 00000dfd: JUMP 00000dfe: JUMPDEST 00000dff: SWAP1 00000e00: POP 00000e01: PUSH1 0x02 00000e03: DUP1 00000e04: DUP4 00000e05: DUP11 00000e06: PUSH1 0x40 00000e08: MLOAD 00000e09: PUSH1 0x20 00000e0b: ADD 00000e0c: PUSH2 0x0e16 00000e0f: SWAP3 00000e10: SWAP2 00000e11: SWAP1 00000e12: PUSH2 0x1a74 00000e15: JUMP 00000e16: JUMPDEST 00000e17: PUSH1 0x40 00000e19: DUP1 00000e1a: MLOAD 00000e1b: PUSH1 0x1f 00000e1d: NOT 00000e1e: DUP2 00000e1f: DUP5 00000e20: SUB 00000e21: ADD 00000e22: DUP2 00000e23: MSTORE 00000e24: SWAP1 00000e25: DUP3 00000e26: SWAP1 00000e27: MSTORE 00000e28: PUSH2 0x0e30 00000e2b: SWAP2 00000e2c: PUSH2 0x1a36 00000e2f: JUMP 00000e30: JUMPDEST 00000e31: PUSH1 0x20 00000e33: PUSH1 0x40 00000e35: MLOAD 00000e36: DUP1 00000e37: DUP4 00000e38: SUB 00000e39: DUP2 00000e3a: DUP6 00000e3b: GAS 00000e3c: STATICCALL 00000e3d: ISZERO 00000e3e: DUP1 00000e3f: ISZERO 00000e40: PUSH2 0x0e4d 00000e43: JUMPI 00000e44: RETURNDATASIZE 00000e45: PUSH1 0x00 00000e47: DUP1 00000e48: RETURNDATACOPY 00000e49: RETURNDATASIZE 00000e4a: PUSH1 0x00 00000e4c: REVERT 00000e4d: JUMPDEST 00000e4e: POP 00000e4f: POP 00000e50: POP 00000e51: PUSH1 0x40 00000e53: MLOAD 00000e54: RETURNDATASIZE 00000e55: PUSH1 0x1f 00000e57: NOT 00000e58: PUSH1 0x1f 00000e5a: DUP3 00000e5b: ADD 00000e5c: AND 00000e5d: DUP3 00000e5e: ADD 00000e5f: DUP1 00000e60: PUSH1 0x40 00000e62: MSTORE 00000e63: POP 00000e64: DUP2 00000e65: ADD 00000e66: SWAP1 00000e67: PUSH2 0x0e70 00000e6a: SWAP2 00000e6b: SWAP1 00000e6c: PUSH2 0x166a 00000e6f: JUMP 00000e70: JUMPDEST 00000e71: PUSH1 0x40 00000e73: MLOAD 00000e74: PUSH1 0x02 00000e76: SWAP1 00000e77: PUSH2 0x0e89 00000e7a: SWAP1 00000e7b: DUP8 00000e7c: SWAP1 00000e7d: PUSH1 0x00 00000e7f: SWAP1 00000e80: DUP8 00000e81: SWAP1 00000e82: PUSH1 0x20 00000e84: ADD 00000e85: PUSH2 0x1a9a 00000e88: JUMP 00000e89: JUMPDEST 00000e8a: PUSH1 0x40 00000e8c: DUP1 00000e8d: MLOAD 00000e8e: PUSH1 0x1f 00000e90: NOT 00000e91: DUP2 00000e92: DUP5 00000e93: SUB 00000e94: ADD 00000e95: DUP2 00000e96: MSTORE 00000e97: SWAP1 00000e98: DUP3 00000e99: SWAP1 00000e9a: MSTORE 00000e9b: PUSH2 0x0ea3 00000e9e: SWAP2 00000e9f: PUSH2 0x1a36 00000ea2: JUMP 00000ea3: JUMPDEST 00000ea4: PUSH1 0x20 00000ea6: PUSH1 0x40 00000ea8: MLOAD 00000ea9: DUP1 00000eaa: DUP4 00000eab: SUB 00000eac: DUP2 00000ead: DUP6 00000eae: GAS 00000eaf: STATICCALL 00000eb0: ISZERO 00000eb1: DUP1 00000eb2: ISZERO 00000eb3: PUSH2 0x0ec0 00000eb6: JUMPI 00000eb7: RETURNDATASIZE 00000eb8: PUSH1 0x00 00000eba: DUP1 00000ebb: RETURNDATACOPY 00000ebc: RETURNDATASIZE 00000ebd: PUSH1 0x00 00000ebf: REVERT 00000ec0: JUMPDEST 00000ec1: POP 00000ec2: POP 00000ec3: POP 00000ec4: PUSH1 0x40 00000ec6: MLOAD 00000ec7: RETURNDATASIZE 00000ec8: PUSH1 0x1f 00000eca: NOT 00000ecb: PUSH1 0x1f 00000ecd: DUP3 00000ece: ADD 00000ecf: AND 00000ed0: DUP3 00000ed1: ADD 00000ed2: DUP1 00000ed3: PUSH1 0x40 00000ed5: MSTORE 00000ed6: POP 00000ed7: DUP2 00000ed8: ADD 00000ed9: SWAP1 00000eda: PUSH2 0x0ee3 00000edd: SWAP2 00000ede: SWAP1 00000edf: PUSH2 0x166a 00000ee2: JUMP 00000ee3: JUMPDEST 00000ee4: PUSH1 0x40 00000ee6: DUP1 00000ee7: MLOAD 00000ee8: PUSH1 0x20 00000eea: DUP2 00000eeb: ADD 00000eec: SWAP4 00000eed: SWAP1 00000eee: SWAP4 00000eef: MSTORE 00000ef0: DUP3 00000ef1: ADD 00000ef2: MSTORE 00000ef3: PUSH1 0x60 00000ef5: ADD 00000ef6: PUSH1 0x40 00000ef8: DUP1 00000ef9: MLOAD 00000efa: PUSH1 0x1f 00000efc: NOT 00000efd: DUP2 00000efe: DUP5 00000eff: SUB 00000f00: ADD 00000f01: DUP2 00000f02: MSTORE 00000f03: SWAP1 00000f04: DUP3 00000f05: SWAP1 00000f06: MSTORE 00000f07: PUSH2 0x0f0f 00000f0a: SWAP2 00000f0b: PUSH2 0x1a36 00000f0e: JUMP 00000f0f: JUMPDEST 00000f10: PUSH1 0x20 00000f12: PUSH1 0x40 00000f14: MLOAD 00000f15: DUP1 00000f16: DUP4 00000f17: SUB 00000f18: DUP2 00000f19: DUP6 00000f1a: GAS 00000f1b: STATICCALL 00000f1c: ISZERO 00000f1d: DUP1 00000f1e: ISZERO 00000f1f: PUSH2 0x0f2c 00000f22: JUMPI 00000f23: RETURNDATASIZE 00000f24: PUSH1 0x00 00000f26: DUP1 00000f27: RETURNDATACOPY 00000f28: RETURNDATASIZE 00000f29: PUSH1 0x00 00000f2b: REVERT 00000f2c: JUMPDEST 00000f2d: POP 00000f2e: POP 00000f2f: POP 00000f30: PUSH1 0x40 00000f32: MLOAD 00000f33: RETURNDATASIZE 00000f34: PUSH1 0x1f 00000f36: NOT 00000f37: PUSH1 0x1f 00000f39: DUP3 00000f3a: ADD 00000f3b: AND 00000f3c: DUP3 00000f3d: ADD 00000f3e: DUP1 00000f3f: PUSH1 0x40 00000f41: MSTORE 00000f42: POP 00000f43: DUP2 00000f44: ADD 00000f45: SWAP1 00000f46: PUSH2 0x0f4f 00000f49: SWAP2 00000f4a: SWAP1 00000f4b: PUSH2 0x166a 00000f4e: JUMP 00000f4f: JUMPDEST 00000f50: SWAP10 00000f51: SWAP9 00000f52: POP 00000f53: POP 00000f54: POP 00000f55: POP 00000f56: POP 00000f57: POP 00000f58: POP 00000f59: POP 00000f5a: POP 00000f5b: JUMP 00000f5c: JUMPDEST 00000f5d: PUSH1 0x01 00000f5f: PUSH1 0x01 00000f61: PUSH1 0xa0 00000f63: SHL 00000f64: SUB 00000f65: DUP2 00000f66: AND 00000f67: PUSH2 0x0f83 00000f6a: JUMPI 00000f6b: PUSH1 0x40 00000f6d: MLOAD 00000f6e: PUSH4 0x1e7d7387 00000f73: PUSH1 0xe2 00000f75: SHL 00000f76: DUP2 00000f77: MSTORE 00000f78: PUSH1 0x04 00000f7a: ADD 00000f7b: PUSH1 0x40 00000f7d: MLOAD 00000f7e: DUP1 00000f7f: SWAP2 00000f80: SUB 00000f81: SWAP1 00000f82: REVERT 00000f83: JUMPDEST 00000f84: POP 00000f85: JUMP 00000f86: JUMPDEST 00000f87: PUSH1 0x40 00000f89: DUP1 00000f8a: MLOAD 00000f8b: PUSH1 0x01 00000f8d: PUSH1 0x01 00000f8f: PUSH1 0xa0 00000f91: SHL 00000f92: SUB 00000f93: DUP5 00000f94: AND 00000f95: PUSH1 0x24 00000f97: DUP3 00000f98: ADD 00000f99: MSTORE 00000f9a: PUSH1 0x44 00000f9c: DUP1 00000f9d: DUP3 00000f9e: ADD 00000f9f: DUP5 00000fa0: SWAP1 00000fa1: MSTORE 00000fa2: DUP3 00000fa3: MLOAD 00000fa4: DUP1 00000fa5: DUP4 00000fa6: SUB 00000fa7: SWAP1 00000fa8: SWAP2 00000fa9: ADD 00000faa: DUP2 00000fab: MSTORE 00000fac: PUSH1 0x64 00000fae: SWAP1 00000faf: SWAP2 00000fb0: ADD 00000fb1: SWAP1 00000fb2: SWAP2 00000fb3: MSTORE 00000fb4: PUSH1 0x20 00000fb6: DUP2 00000fb7: ADD 00000fb8: DUP1 00000fb9: MLOAD 00000fba: PUSH1 0x01 00000fbc: PUSH1 0x01 00000fbe: PUSH1 0xe0 00000fc0: SHL 00000fc1: SUB 00000fc2: AND 00000fc3: PUSH4 0xa9059cbb 00000fc8: PUSH1 0xe0 00000fca: SHL 00000fcb: OR 00000fcc: SWAP1 00000fcd: MSTORE 00000fce: PUSH2 0x0ae6 00000fd1: SWAP1 00000fd2: DUP5 00000fd3: SWAP1 00000fd4: PUSH2 0x1299 00000fd7: JUMP 00000fd8: JUMPDEST 00000fd9: PUSH1 0x40 00000fdb: DUP1 00000fdc: MLOAD 00000fdd: PUSH1 0x08 00000fdf: DUP1 00000fe0: DUP3 00000fe1: MSTORE 00000fe2: DUP2 00000fe3: DUP4 00000fe4: ADD 00000fe5: SWAP1 00000fe6: SWAP3 00000fe7: MSTORE 00000fe8: PUSH1 0x60 00000fea: SWAP2 00000feb: PUSH1 0x20 00000fed: DUP3 00000fee: ADD 00000fef: DUP2 00000ff0: DUP1 00000ff1: CALLDATASIZE 00000ff2: DUP4 00000ff3: CALLDATACOPY 00000ff4: ADD 00000ff5: SWAP1 00000ff6: POP 00000ff7: POP 00000ff8: SWAP1 00000ff9: POP 00000ffa: PUSH1 0xc0 00000ffc: DUP3 00000ffd: SWAP1 00000ffe: SHL 00000fff: DUP1 00001000: PUSH1 0x07 00001002: BYTE 00001003: PUSH1 0xf8 00001005: SHL 00001006: DUP3 00001007: PUSH1 0x00 00001009: DUP2 0000100a: MLOAD 0000100b: DUP2 0000100c: LT 0000100d: PUSH2 0x1018 00001010: JUMPI 00001011: PUSH2 0x1018 00001014: PUSH2 0x197b 00001017: JUMP 00001018: JUMPDEST 00001019: PUSH1 0x20 0000101b: ADD 0000101c: ADD 0000101d: SWAP1 0000101e: PUSH1 0x01 00001020: PUSH1 0x01 00001022: PUSH1 0xf8 00001024: SHL 00001025: SUB 00001026: NOT 00001027: AND 00001028: SWAP1 00001029: DUP2 0000102a: PUSH1 0x00 0000102c: BYTE 0000102d: SWAP1 0000102e: MSTORE8 0000102f: POP 00001030: DUP1 00001031: PUSH1 0x06 00001033: BYTE 00001034: PUSH1 0xf8 00001036: SHL 00001037: DUP3 00001038: PUSH1 0x01 0000103a: DUP2 0000103b: MLOAD 0000103c: DUP2 0000103d: LT 0000103e: PUSH2 0x1049 00001041: JUMPI 00001042: PUSH2 0x1049 00001045: PUSH2 0x197b 00001048: JUMP 00001049: JUMPDEST 0000104a: PUSH1 0x20 0000104c: ADD 0000104d: ADD 0000104e: SWAP1 0000104f: PUSH1 0x01 00001051: PUSH1 0x01 00001053: PUSH1 0xf8 00001055: SHL 00001056: SUB 00001057: NOT 00001058: AND 00001059: SWAP1 0000105a: DUP2 0000105b: PUSH1 0x00 0000105d: BYTE 0000105e: SWAP1 0000105f: MSTORE8 00001060: POP 00001061: DUP1 00001062: PUSH1 0x05 00001064: BYTE 00001065: PUSH1 0xf8 00001067: SHL 00001068: DUP3 00001069: PUSH1 0x02 0000106b: DUP2 0000106c: MLOAD 0000106d: DUP2 0000106e: LT 0000106f: PUSH2 0x107a 00001072: JUMPI 00001073: PUSH2 0x107a 00001076: PUSH2 0x197b 00001079: JUMP 0000107a: JUMPDEST 0000107b: PUSH1 0x20 0000107d: ADD 0000107e: ADD 0000107f: SWAP1 00001080: PUSH1 0x01 00001082: PUSH1 0x01 00001084: PUSH1 0xf8 00001086: SHL 00001087: SUB 00001088: NOT 00001089: AND 0000108a: SWAP1 0000108b: DUP2 0000108c: PUSH1 0x00 0000108e: BYTE 0000108f: SWAP1 00001090: MSTORE8 00001091: POP 00001092: DUP1 00001093: PUSH1 0x04 00001095: BYTE 00001096: PUSH1 0xf8 00001098: SHL 00001099: DUP3 0000109a: PUSH1 0x03 0000109c: DUP2 0000109d: MLOAD 0000109e: DUP2 0000109f: LT 000010a0: PUSH2 0x10ab 000010a3: JUMPI 000010a4: PUSH2 0x10ab 000010a7: PUSH2 0x197b 000010aa: JUMP 000010ab: JUMPDEST 000010ac: PUSH1 0x20 000010ae: ADD 000010af: ADD 000010b0: SWAP1 000010b1: PUSH1 0x01 000010b3: PUSH1 0x01 000010b5: PUSH1 0xf8 000010b7: SHL 000010b8: SUB 000010b9: NOT 000010ba: AND 000010bb: SWAP1 000010bc: DUP2 000010bd: PUSH1 0x00 000010bf: BYTE 000010c0: SWAP1 000010c1: MSTORE8 000010c2: POP 000010c3: DUP1 000010c4: PUSH1 0x03 000010c6: BYTE 000010c7: PUSH1 0xf8 000010c9: SHL 000010ca: DUP3 000010cb: PUSH1 0x04 000010cd: DUP2 000010ce: MLOAD 000010cf: DUP2 000010d0: LT 000010d1: PUSH2 0x10dc 000010d4: JUMPI 000010d5: PUSH2 0x10dc 000010d8: PUSH2 0x197b 000010db: JUMP 000010dc: JUMPDEST 000010dd: PUSH1 0x20 000010df: ADD 000010e0: ADD 000010e1: SWAP1 000010e2: PUSH1 0x01 000010e4: PUSH1 0x01 000010e6: PUSH1 0xf8 000010e8: SHL 000010e9: SUB 000010ea: NOT 000010eb: AND 000010ec: SWAP1 000010ed: DUP2 000010ee: PUSH1 0x00 000010f0: BYTE 000010f1: SWAP1 000010f2: MSTORE8 000010f3: POP 000010f4: DUP1 000010f5: PUSH1 0x02 000010f7: BYTE 000010f8: PUSH1 0xf8 000010fa: SHL 000010fb: DUP3 000010fc: PUSH1 0x05 000010fe: DUP2 000010ff: MLOAD 00001100: DUP2 00001101: LT 00001102: PUSH2 0x110d 00001105: JUMPI 00001106: PUSH2 0x110d 00001109: PUSH2 0x197b 0000110c: JUMP 0000110d: JUMPDEST 0000110e: PUSH1 0x20 00001110: ADD 00001111: ADD 00001112: SWAP1 00001113: PUSH1 0x01 00001115: PUSH1 0x01 00001117: PUSH1 0xf8 00001119: SHL 0000111a: SUB 0000111b: NOT 0000111c: AND 0000111d: SWAP1 0000111e: DUP2 0000111f: PUSH1 0x00 00001121: BYTE 00001122: SWAP1 00001123: MSTORE8 00001124: POP 00001125: DUP1 00001126: PUSH1 0x01 00001128: BYTE 00001129: PUSH1 0xf8 0000112b: SHL 0000112c: DUP3 0000112d: PUSH1 0x06 0000112f: DUP2 00001130: MLOAD 00001131: DUP2 00001132: LT 00001133: PUSH2 0x113e 00001136: JUMPI 00001137: PUSH2 0x113e 0000113a: PUSH2 0x197b 0000113d: JUMP 0000113e: JUMPDEST 0000113f: PUSH1 0x20 00001141: ADD 00001142: ADD 00001143: SWAP1 00001144: PUSH1 0x01 00001146: PUSH1 0x01 00001148: PUSH1 0xf8 0000114a: SHL 0000114b: SUB 0000114c: NOT 0000114d: AND 0000114e: SWAP1 0000114f: DUP2 00001150: PUSH1 0x00 00001152: BYTE 00001153: SWAP1 00001154: MSTORE8 00001155: POP 00001156: DUP1 00001157: PUSH1 0x00 00001159: BYTE 0000115a: PUSH1 0xf8 0000115c: SHL 0000115d: DUP3 0000115e: PUSH1 0x07 00001160: DUP2 00001161: MLOAD 00001162: DUP2 00001163: LT 00001164: PUSH2 0x116f 00001167: JUMPI 00001168: PUSH2 0x116f 0000116b: PUSH2 0x197b 0000116e: JUMP 0000116f: JUMPDEST 00001170: PUSH1 0x20 00001172: ADD 00001173: ADD 00001174: SWAP1 00001175: PUSH1 0x01 00001177: PUSH1 0x01 00001179: PUSH1 0xf8 0000117b: SHL 0000117c: SUB 0000117d: NOT 0000117e: AND 0000117f: SWAP1 00001180: DUP2 00001181: PUSH1 0x00 00001183: BYTE 00001184: SWAP1 00001185: MSTORE8 00001186: POP 00001187: POP 00001188: SWAP2 00001189: SWAP1 0000118a: POP 0000118b: JUMP 0000118c: JUMPDEST 0000118d: PUSH1 0x60 0000118f: DUP2 00001190: PUSH2 0x119a 00001193: DUP2 00001194: PUSH1 0x1f 00001196: PUSH2 0x16b8 00001199: JUMP 0000119a: JUMPDEST 0000119b: LT 0000119c: ISZERO 0000119d: PUSH2 0x11d9 000011a0: JUMPI 000011a1: PUSH1 0x40 000011a3: MLOAD 000011a4: PUSH3 0x461bcd 000011a8: PUSH1 0xe5 000011aa: SHL 000011ab: DUP2 000011ac: MSTORE 000011ad: PUSH1 0x20 000011af: PUSH1 0x04 000011b1: DUP3 000011b2: ADD 000011b3: MSTORE 000011b4: PUSH1 0x0e 000011b6: PUSH1 0x24 000011b8: DUP3 000011b9: ADD 000011ba: MSTORE 000011bb: PUSH14 0x736c6963655f6f766572666c6f77 000011ca: PUSH1 0x90 000011cc: SHL 000011cd: PUSH1 0x44 000011cf: DUP3 000011d0: ADD 000011d1: MSTORE 000011d2: PUSH1 0x64 000011d4: ADD 000011d5: PUSH2 0x08f5 000011d8: JUMP 000011d9: JUMPDEST 000011da: PUSH2 0x11e3 000011dd: DUP3 000011de: DUP5 000011df: PUSH2 0x16b8 000011e2: JUMP 000011e3: JUMPDEST 000011e4: DUP5 000011e5: MLOAD 000011e6: LT 000011e7: ISZERO 000011e8: PUSH2 0x1227 000011eb: JUMPI 000011ec: PUSH1 0x40 000011ee: MLOAD 000011ef: PUSH3 0x461bcd 000011f3: PUSH1 0xe5 000011f5: SHL 000011f6: DUP2 000011f7: MSTORE 000011f8: PUSH1 0x20 000011fa: PUSH1 0x04 000011fc: DUP3 000011fd: ADD 000011fe: MSTORE 000011ff: PUSH1 0x11 00001201: PUSH1 0x24 00001203: DUP3 00001204: ADD 00001205: MSTORE 00001206: PUSH17 0x736c6963655f6f75744f66426f756e6473 00001218: PUSH1 0x78 0000121a: SHL 0000121b: PUSH1 0x44 0000121d: DUP3 0000121e: ADD 0000121f: MSTORE 00001220: PUSH1 0x64 00001222: ADD 00001223: PUSH2 0x08f5 00001226: JUMP 00001227: JUMPDEST 00001228: PUSH1 0x60 0000122a: DUP3 0000122b: ISZERO 0000122c: DUP1 0000122d: ISZERO 0000122e: PUSH2 0x1246 00001231: JUMPI 00001232: PUSH1 0x40 00001234: MLOAD 00001235: SWAP2 00001236: POP 00001237: PUSH1 0x00 00001239: DUP3 0000123a: MSTORE 0000123b: PUSH1 0x20 0000123d: DUP3 0000123e: ADD 0000123f: PUSH1 0x40 00001241: MSTORE 00001242: PUSH2 0x1290 00001245: JUMP 00001246: JUMPDEST 00001247: PUSH1 0x40 00001249: MLOAD 0000124a: SWAP2 0000124b: POP 0000124c: PUSH1 0x1f 0000124e: DUP5 0000124f: AND 00001250: DUP1 00001251: ISZERO 00001252: PUSH1 0x20 00001254: MUL 00001255: DUP2 00001256: DUP5 00001257: ADD 00001258: ADD 00001259: DUP6 0000125a: DUP2 0000125b: ADD 0000125c: DUP8 0000125d: DUP4 0000125e: ISZERO 0000125f: PUSH1 0x20 00001261: MUL 00001262: DUP5 00001263: DUP12 00001264: ADD 00001265: ADD 00001266: ADD 00001267: JUMPDEST 00001268: DUP2 00001269: DUP4 0000126a: LT 0000126b: ISZERO 0000126c: PUSH2 0x127f 0000126f: JUMPI 00001270: DUP1 00001271: MLOAD 00001272: DUP4 00001273: MSTORE 00001274: PUSH1 0x20 00001276: SWAP3 00001277: DUP4 00001278: ADD 00001279: SWAP3 0000127a: ADD 0000127b: PUSH2 0x1267 0000127e: JUMP 0000127f: JUMPDEST 00001280: POP 00001281: POP 00001282: DUP6 00001283: DUP5 00001284: MSTORE 00001285: PUSH1 0x1f 00001287: ADD 00001288: PUSH1 0x1f 0000128a: NOT 0000128b: AND 0000128c: PUSH1 0x40 0000128e: MSTORE 0000128f: POP 00001290: JUMPDEST 00001291: POP 00001292: SWAP5 00001293: SWAP4 00001294: POP 00001295: POP 00001296: POP 00001297: POP 00001298: JUMP 00001299: JUMPDEST 0000129a: PUSH1 0x00 0000129c: PUSH2 0x12ee 0000129f: DUP3 000012a0: PUSH1 0x40 000012a2: MLOAD 000012a3: DUP1 000012a4: PUSH1 0x40 000012a6: ADD 000012a7: PUSH1 0x40 000012a9: MSTORE 000012aa: DUP1 000012ab: PUSH1 0x20 000012ad: DUP2 000012ae: MSTORE 000012af: PUSH1 0x20 000012b1: ADD 000012b2: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 000012d3: DUP2 000012d4: MSTORE 000012d5: POP 000012d6: DUP6 000012d7: PUSH1 0x01 000012d9: PUSH1 0x01 000012db: PUSH1 0xa0 000012dd: SHL 000012de: SUB 000012df: AND 000012e0: PUSH2 0x136b 000012e3: SWAP1 000012e4: SWAP3 000012e5: SWAP2 000012e6: SWAP1 000012e7: PUSH4 0xffffffff 000012ec: AND 000012ed: JUMP 000012ee: JUMPDEST 000012ef: DUP1 000012f0: MLOAD 000012f1: SWAP1 000012f2: SWAP2 000012f3: POP 000012f4: ISZERO 000012f5: PUSH2 0x0ae6 000012f8: JUMPI 000012f9: DUP1 000012fa: DUP1 000012fb: PUSH1 0x20 000012fd: ADD 000012fe: SWAP1 000012ff: MLOAD 00001300: DUP2 00001301: ADD 00001302: SWAP1 00001303: PUSH2 0x130c 00001306: SWAP2 00001307: SWAP1 00001308: PUSH2 0x1648 0000130b: JUMP 0000130c: JUMPDEST 0000130d: PUSH2 0x0ae6 00001310: JUMPI 00001311: PUSH1 0x40 00001313: MLOAD 00001314: PUSH3 0x461bcd 00001318: PUSH1 0xe5 0000131a: SHL 0000131b: DUP2 0000131c: MSTORE 0000131d: PUSH1 0x20 0000131f: PUSH1 0x04 00001321: DUP3 00001322: ADD 00001323: MSTORE 00001324: PUSH1 0x2a 00001326: PUSH1 0x24 00001328: DUP3 00001329: ADD 0000132a: MSTORE 0000132b: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 0000134c: PUSH1 0x44 0000134e: DUP3 0000134f: ADD 00001350: MSTORE 00001351: PUSH10 0x1bdd081cdd58d8d95959 0000135c: PUSH1 0xb2 0000135e: SHL 0000135f: PUSH1 0x64 00001361: DUP3 00001362: ADD 00001363: MSTORE 00001364: PUSH1 0x84 00001366: ADD 00001367: PUSH2 0x08f5 0000136a: JUMP 0000136b: JUMPDEST 0000136c: PUSH1 0x60 0000136e: PUSH2 0x137a 00001371: DUP5 00001372: DUP5 00001373: PUSH1 0x00 00001375: DUP6 00001376: PUSH2 0x1382 00001379: JUMP 0000137a: JUMPDEST 0000137b: SWAP5 0000137c: SWAP4 0000137d: POP 0000137e: POP 0000137f: POP 00001380: POP 00001381: JUMP 00001382: JUMPDEST 00001383: PUSH1 0x60 00001385: DUP3 00001386: SELFBALANCE 00001387: LT 00001388: ISZERO 00001389: PUSH2 0x13e3 0000138c: JUMPI 0000138d: PUSH1 0x40 0000138f: MLOAD 00001390: PUSH3 0x461bcd 00001394: PUSH1 0xe5 00001396: SHL 00001397: DUP2 00001398: MSTORE 00001399: PUSH1 0x20 0000139b: PUSH1 0x04 0000139d: DUP3 0000139e: ADD 0000139f: MSTORE 000013a0: PUSH1 0x26 000013a2: PUSH1 0x24 000013a4: DUP3 000013a5: ADD 000013a6: MSTORE 000013a7: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 000013c8: PUSH1 0x44 000013ca: DUP3 000013cb: ADD 000013cc: MSTORE 000013cd: PUSH6 0x1c8818d85b1b 000013d4: PUSH1 0xd2 000013d6: SHL 000013d7: PUSH1 0x64 000013d9: DUP3 000013da: ADD 000013db: MSTORE 000013dc: PUSH1 0x84 000013de: ADD 000013df: PUSH2 0x08f5 000013e2: JUMP 000013e3: JUMPDEST 000013e4: PUSH1 0x00 000013e6: DUP1 000013e7: DUP7 000013e8: PUSH1 0x01 000013ea: PUSH1 0x01 000013ec: PUSH1 0xa0 000013ee: SHL 000013ef: SUB 000013f0: AND 000013f1: DUP6 000013f2: DUP8 000013f3: PUSH1 0x40 000013f5: MLOAD 000013f6: PUSH2 0x13ff 000013f9: SWAP2 000013fa: SWAP1 000013fb: PUSH2 0x1a36 000013fe: JUMP 000013ff: JUMPDEST 00001400: PUSH1 0x00 00001402: PUSH1 0x40 00001404: MLOAD 00001405: DUP1 00001406: DUP4 00001407: SUB 00001408: DUP2 00001409: DUP6 0000140a: DUP8 0000140b: GAS 0000140c: CALL 0000140d: SWAP3 0000140e: POP 0000140f: POP 00001410: POP 00001411: RETURNDATASIZE 00001412: DUP1 00001413: PUSH1 0x00 00001415: DUP2 00001416: EQ 00001417: PUSH2 0x143c 0000141a: JUMPI 0000141b: PUSH1 0x40 0000141d: MLOAD 0000141e: SWAP2 0000141f: POP 00001420: PUSH1 0x1f 00001422: NOT 00001423: PUSH1 0x3f 00001425: RETURNDATASIZE 00001426: ADD 00001427: AND 00001428: DUP3 00001429: ADD 0000142a: PUSH1 0x40 0000142c: MSTORE 0000142d: RETURNDATASIZE 0000142e: DUP3 0000142f: MSTORE 00001430: RETURNDATASIZE 00001431: PUSH1 0x00 00001433: PUSH1 0x20 00001435: DUP5 00001436: ADD 00001437: RETURNDATACOPY 00001438: PUSH2 0x1441 0000143b: JUMP 0000143c: JUMPDEST 0000143d: PUSH1 0x60 0000143f: SWAP2 00001440: POP 00001441: JUMPDEST 00001442: POP 00001443: SWAP2 00001444: POP 00001445: SWAP2 00001446: POP 00001447: PUSH2 0x1452 0000144a: DUP8 0000144b: DUP4 0000144c: DUP4 0000144d: DUP8 0000144e: PUSH2 0x145d 00001451: JUMP 00001452: JUMPDEST 00001453: SWAP8 00001454: SWAP7 00001455: POP 00001456: POP 00001457: POP 00001458: POP 00001459: POP 0000145a: POP 0000145b: POP 0000145c: JUMP 0000145d: JUMPDEST 0000145e: PUSH1 0x60 00001460: DUP4 00001461: ISZERO 00001462: PUSH2 0x14cc 00001465: JUMPI 00001466: DUP3 00001467: MLOAD 00001468: PUSH1 0x00 0000146a: SUB 0000146b: PUSH2 0x14c5 0000146e: JUMPI 0000146f: PUSH1 0x01 00001471: PUSH1 0x01 00001473: PUSH1 0xa0 00001475: SHL 00001476: SUB 00001477: DUP6 00001478: AND 00001479: EXTCODESIZE 0000147a: PUSH2 0x14c5 0000147d: JUMPI 0000147e: PUSH1 0x40 00001480: MLOAD 00001481: PUSH3 0x461bcd 00001485: PUSH1 0xe5 00001487: SHL 00001488: DUP2 00001489: MSTORE 0000148a: PUSH1 0x20 0000148c: PUSH1 0x04 0000148e: DUP3 0000148f: ADD 00001490: MSTORE 00001491: PUSH1 0x1d 00001493: PUSH1 0x24 00001495: DUP3 00001496: ADD 00001497: MSTORE 00001498: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000014b9: PUSH1 0x44 000014bb: DUP3 000014bc: ADD 000014bd: MSTORE 000014be: PUSH1 0x64 000014c0: ADD 000014c1: PUSH2 0x08f5 000014c4: JUMP 000014c5: JUMPDEST 000014c6: POP 000014c7: DUP2 000014c8: PUSH2 0x137a 000014cb: JUMP 000014cc: JUMPDEST 000014cd: PUSH2 0x137a 000014d0: DUP4 000014d1: DUP4 000014d2: DUP2 000014d3: MLOAD 000014d4: ISZERO 000014d5: PUSH2 0x14e1 000014d8: JUMPI 000014d9: DUP2 000014da: MLOAD 000014db: DUP1 000014dc: DUP4 000014dd: PUSH1 0x20 000014df: ADD 000014e0: REVERT 000014e1: JUMPDEST 000014e2: DUP1 000014e3: PUSH1 0x40 000014e5: MLOAD 000014e6: PUSH3 0x461bcd 000014ea: PUSH1 0xe5 000014ec: SHL 000014ed: DUP2 000014ee: MSTORE 000014ef: PUSH1 0x04 000014f1: ADD 000014f2: PUSH2 0x08f5 000014f5: SWAP2 000014f6: SWAP1 000014f7: PUSH2 0x15df 000014fa: JUMP 000014fb: JUMPDEST 000014fc: PUSH1 0x00 000014fe: PUSH1 0x20 00001500: DUP3 00001501: DUP5 00001502: SUB 00001503: SLT 00001504: ISZERO 00001505: PUSH2 0x150d 00001508: JUMPI 00001509: PUSH1 0x00 0000150b: DUP1 0000150c: REVERT 0000150d: JUMPDEST 0000150e: POP 0000150f: CALLDATALOAD 00001510: SWAP2 00001511: SWAP1 00001512: POP 00001513: JUMP 00001514: JUMPDEST 00001515: PUSH1 0x00 00001517: DUP1 00001518: PUSH1 0x00 0000151a: PUSH1 0x40 0000151c: DUP5 0000151d: DUP7 0000151e: SUB 0000151f: SLT 00001520: ISZERO 00001521: PUSH2 0x1529 00001524: JUMPI 00001525: PUSH1 0x00 00001527: DUP1 00001528: REVERT 00001529: JUMPDEST 0000152a: DUP4 0000152b: CALLDATALOAD 0000152c: PUSH8 0xffffffffffffffff 00001535: DUP1 00001536: DUP3 00001537: GT 00001538: ISZERO 00001539: PUSH2 0x1541 0000153c: JUMPI 0000153d: PUSH1 0x00 0000153f: DUP1 00001540: REVERT 00001541: JUMPDEST 00001542: DUP2 00001543: DUP7 00001544: ADD 00001545: SWAP2 00001546: POP 00001547: DUP7 00001548: PUSH1 0x1f 0000154a: DUP4 0000154b: ADD 0000154c: SLT 0000154d: PUSH2 0x1555 00001550: JUMPI 00001551: PUSH1 0x00 00001553: DUP1 00001554: REVERT 00001555: JUMPDEST 00001556: DUP2 00001557: CALLDATALOAD 00001558: DUP2 00001559: DUP2 0000155a: GT 0000155b: ISZERO 0000155c: PUSH2 0x1564 0000155f: JUMPI 00001560: PUSH1 0x00 00001562: DUP1 00001563: REVERT 00001564: JUMPDEST 00001565: DUP8 00001566: PUSH1 0x20 00001568: DUP3 00001569: PUSH1 0x05 0000156b: SHL 0000156c: DUP6 0000156d: ADD 0000156e: ADD 0000156f: GT 00001570: ISZERO 00001571: PUSH2 0x1579 00001574: JUMPI 00001575: PUSH1 0x00 00001577: DUP1 00001578: REVERT 00001579: JUMPDEST 0000157a: PUSH1 0x20 0000157c: SWAP3 0000157d: DUP4 0000157e: ADD 0000157f: SWAP9 00001580: SWAP1 00001581: SWAP8 00001582: POP 00001583: SWAP6 00001584: SWAP1 00001585: SWAP2 00001586: ADD 00001587: CALLDATALOAD 00001588: SWAP5 00001589: SWAP4 0000158a: POP 0000158b: POP 0000158c: POP 0000158d: POP 0000158e: JUMP 0000158f: JUMPDEST 00001590: PUSH1 0x00 00001592: JUMPDEST 00001593: DUP4 00001594: DUP2 00001595: LT 00001596: ISZERO 00001597: PUSH2 0x15aa 0000159a: JUMPI 0000159b: DUP2 0000159c: DUP2 0000159d: ADD 0000159e: MLOAD 0000159f: DUP4 000015a0: DUP3 000015a1: ADD 000015a2: MSTORE 000015a3: PUSH1 0x20 000015a5: ADD 000015a6: PUSH2 0x1592 000015a9: JUMP 000015aa: JUMPDEST 000015ab: POP 000015ac: POP 000015ad: PUSH1 0x00 000015af: SWAP2 000015b0: ADD 000015b1: MSTORE 000015b2: JUMP 000015b3: JUMPDEST 000015b4: PUSH1 0x00 000015b6: DUP2 000015b7: MLOAD 000015b8: DUP1 000015b9: DUP5 000015ba: MSTORE 000015bb: PUSH2 0x15cb 000015be: DUP2 000015bf: PUSH1 0x20 000015c1: DUP7 000015c2: ADD 000015c3: PUSH1 0x20 000015c5: DUP7 000015c6: ADD 000015c7: PUSH2 0x158f 000015ca: JUMP 000015cb: JUMPDEST 000015cc: PUSH1 0x1f 000015ce: ADD 000015cf: PUSH1 0x1f 000015d1: NOT 000015d2: AND 000015d3: SWAP3 000015d4: SWAP1 000015d5: SWAP3 000015d6: ADD 000015d7: PUSH1 0x20 000015d9: ADD 000015da: SWAP3 000015db: SWAP2 000015dc: POP 000015dd: POP 000015de: JUMP 000015df: JUMPDEST 000015e0: PUSH1 0x20 000015e2: DUP2 000015e3: MSTORE 000015e4: PUSH1 0x00 000015e6: PUSH2 0x15f2 000015e9: PUSH1 0x20 000015eb: DUP4 000015ec: ADD 000015ed: DUP5 000015ee: PUSH2 0x15b3 000015f1: JUMP 000015f2: JUMPDEST 000015f3: SWAP4 000015f4: SWAP3 000015f5: POP 000015f6: POP 000015f7: POP 000015f8: JUMP 000015f9: JUMPDEST 000015fa: PUSH1 0x01 000015fc: PUSH1 0x01 000015fe: PUSH1 0xa0 00001600: SHL 00001601: SUB 00001602: DUP2 00001603: AND 00001604: DUP2 00001605: EQ 00001606: PUSH2 0x0f83 00001609: JUMPI 0000160a: PUSH1 0x00 0000160c: DUP1 0000160d: REVERT 0000160e: JUMPDEST 0000160f: PUSH1 0x00 00001611: PUSH1 0x20 00001613: DUP3 00001614: DUP5 00001615: SUB 00001616: SLT 00001617: ISZERO 00001618: PUSH2 0x1620 0000161b: JUMPI 0000161c: PUSH1 0x00 0000161e: DUP1 0000161f: REVERT 00001620: JUMPDEST 00001621: DUP2 00001622: CALLDATALOAD 00001623: PUSH2 0x15f2 00001626: DUP2 00001627: PUSH2 0x15f9 0000162a: JUMP 0000162b: JUMPDEST 0000162c: PUSH1 0x00 0000162e: PUSH1 0x20 00001630: DUP3 00001631: DUP5 00001632: SUB 00001633: SLT 00001634: ISZERO 00001635: PUSH2 0x163d 00001638: JUMPI 00001639: PUSH1 0x00 0000163b: DUP1 0000163c: REVERT 0000163d: JUMPDEST 0000163e: DUP2 0000163f: MLOAD 00001640: PUSH2 0x15f2 00001643: DUP2 00001644: PUSH2 0x15f9 00001647: JUMP 00001648: JUMPDEST 00001649: PUSH1 0x00 0000164b: PUSH1 0x20 0000164d: DUP3 0000164e: DUP5 0000164f: SUB 00001650: SLT 00001651: ISZERO 00001652: PUSH2 0x165a 00001655: JUMPI 00001656: PUSH1 0x00 00001658: DUP1 00001659: REVERT 0000165a: JUMPDEST 0000165b: DUP2 0000165c: MLOAD 0000165d: DUP1 0000165e: ISZERO 0000165f: ISZERO 00001660: DUP2 00001661: EQ 00001662: PUSH2 0x15f2 00001665: JUMPI 00001666: PUSH1 0x00 00001668: DUP1 00001669: REVERT 0000166a: JUMPDEST 0000166b: PUSH1 0x00 0000166d: PUSH1 0x20 0000166f: DUP3 00001670: DUP5 00001671: SUB 00001672: SLT 00001673: ISZERO 00001674: PUSH2 0x167c 00001677: JUMPI 00001678: PUSH1 0x00 0000167a: DUP1 0000167b: REVERT 0000167c: JUMPDEST 0000167d: POP 0000167e: MLOAD 0000167f: SWAP2 00001680: SWAP1 00001681: POP 00001682: JUMP 00001683: JUMPDEST 00001684: PUSH4 0x4e487b71 00001689: PUSH1 0xe0 0000168b: SHL 0000168c: PUSH1 0x00 0000168e: MSTORE 0000168f: PUSH1 0x11 00001691: PUSH1 0x04 00001693: MSTORE 00001694: PUSH1 0x24 00001696: PUSH1 0x00 00001698: REVERT 00001699: JUMPDEST 0000169a: PUSH1 0x00 0000169c: DUP2 0000169d: PUSH1 0x00 0000169f: NOT 000016a0: DIV 000016a1: DUP4 000016a2: GT 000016a3: DUP3 000016a4: ISZERO 000016a5: ISZERO 000016a6: AND 000016a7: ISZERO 000016a8: PUSH2 0x16b3 000016ab: JUMPI 000016ac: PUSH2 0x16b3 000016af: PUSH2 0x1683 000016b2: JUMP 000016b3: JUMPDEST 000016b4: POP 000016b5: MUL 000016b6: SWAP1 000016b7: JUMP 000016b8: JUMPDEST 000016b9: DUP1 000016ba: DUP3 000016bb: ADD 000016bc: DUP1 000016bd: DUP3 000016be: GT 000016bf: ISZERO 000016c0: PUSH2 0x16cb 000016c3: JUMPI 000016c4: PUSH2 0x16cb 000016c7: PUSH2 0x1683 000016ca: JUMP 000016cb: JUMPDEST 000016cc: SWAP3 000016cd: SWAP2 000016ce: POP 000016cf: POP 000016d0: JUMP 000016d1: JUMPDEST 000016d2: DUP2 000016d3: DUP4 000016d4: MSTORE 000016d5: DUP2 000016d6: DUP2 000016d7: PUSH1 0x20 000016d9: DUP6 000016da: ADD 000016db: CALLDATACOPY 000016dc: POP 000016dd: PUSH1 0x00 000016df: DUP3 000016e0: DUP3 000016e1: ADD 000016e2: PUSH1 0x20 000016e4: SWAP1 000016e5: DUP2 000016e6: ADD 000016e7: SWAP2 000016e8: SWAP1 000016e9: SWAP2 000016ea: MSTORE 000016eb: PUSH1 0x1f 000016ed: SWAP1 000016ee: SWAP2 000016ef: ADD 000016f0: PUSH1 0x1f 000016f2: NOT 000016f3: AND 000016f4: SWAP1 000016f5: SWAP2 000016f6: ADD 000016f7: ADD 000016f8: SWAP1 000016f9: JUMP 000016fa: JUMPDEST 000016fb: PUSH1 0x20 000016fd: DUP1 000016fe: DUP3 000016ff: MSTORE 00001700: DUP2 00001701: DUP2 00001702: ADD 00001703: DUP4 00001704: SWAP1 00001705: MSTORE 00001706: PUSH1 0x00 00001708: SWAP1 00001709: PUSH1 0x40 0000170b: PUSH1 0x05 0000170d: DUP6 0000170e: SWAP1 0000170f: SHL 00001710: DUP5 00001711: ADD 00001712: DUP2 00001713: ADD 00001714: SWAP1 00001715: DUP5 00001716: ADD 00001717: DUP7 00001718: DUP5 00001719: JUMPDEST 0000171a: DUP8 0000171b: DUP2 0000171c: LT 0000171d: ISZERO 0000171e: PUSH2 0x1789 00001721: JUMPI 00001722: DUP7 00001723: DUP5 00001724: SUB 00001725: PUSH1 0x3f 00001727: NOT 00001728: ADD 00001729: DUP4 0000172a: MSTORE 0000172b: DUP2 0000172c: CALLDATALOAD 0000172d: CALLDATASIZE 0000172e: DUP11 0000172f: SWAP1 00001730: SUB 00001731: PUSH1 0x1e 00001733: NOT 00001734: ADD 00001735: DUP2 00001736: SLT 00001737: PUSH2 0x173f 0000173a: JUMPI 0000173b: PUSH1 0x00 0000173d: DUP1 0000173e: REVERT 0000173f: JUMPDEST 00001740: DUP10 00001741: ADD 00001742: DUP6 00001743: DUP2 00001744: ADD 00001745: SWAP1 00001746: CALLDATALOAD 00001747: PUSH8 0xffffffffffffffff 00001750: DUP2 00001751: GT 00001752: ISZERO 00001753: PUSH2 0x175b 00001756: JUMPI 00001757: PUSH1 0x00 00001759: DUP1 0000175a: REVERT 0000175b: JUMPDEST 0000175c: DUP1 0000175d: CALLDATASIZE 0000175e: SUB 0000175f: DUP3 00001760: SGT 00001761: ISZERO 00001762: PUSH2 0x176a 00001765: JUMPI 00001766: PUSH1 0x00 00001768: DUP1 00001769: REVERT 0000176a: JUMPDEST 0000176b: PUSH2 0x1775 0000176e: DUP7 0000176f: DUP3 00001770: DUP5 00001771: PUSH2 0x16d1 00001774: JUMP 00001775: JUMPDEST 00001776: SWAP6 00001777: POP 00001778: POP 00001779: POP 0000177a: SWAP2 0000177b: DUP5 0000177c: ADD 0000177d: SWAP2 0000177e: SWAP1 0000177f: DUP5 00001780: ADD 00001781: SWAP1 00001782: PUSH1 0x01 00001784: ADD 00001785: PUSH2 0x1719 00001788: JUMP 00001789: JUMPDEST 0000178a: POP 0000178b: SWAP2 0000178c: SWAP8 0000178d: SWAP7 0000178e: POP 0000178f: POP 00001790: POP 00001791: POP 00001792: POP 00001793: POP 00001794: POP 00001795: JUMP 00001796: JUMPDEST 00001797: PUSH4 0x4e487b71 0000179c: PUSH1 0xe0 0000179e: SHL 0000179f: PUSH1 0x00 000017a1: MSTORE 000017a2: PUSH1 0x41 000017a4: PUSH1 0x04 000017a6: MSTORE 000017a7: PUSH1 0x24 000017a9: PUSH1 0x00 000017ab: REVERT 000017ac: JUMPDEST 000017ad: PUSH1 0x40 000017af: DUP1 000017b0: MLOAD 000017b1: SWAP1 000017b2: DUP2 000017b3: ADD 000017b4: PUSH8 0xffffffffffffffff 000017bd: DUP2 000017be: GT 000017bf: DUP3 000017c0: DUP3 000017c1: LT 000017c2: OR 000017c3: ISZERO 000017c4: PUSH2 0x17cf 000017c7: JUMPI 000017c8: PUSH2 0x17cf 000017cb: PUSH2 0x1796 000017ce: JUMP 000017cf: JUMPDEST 000017d0: PUSH1 0x40 000017d2: MSTORE 000017d3: SWAP1 000017d4: JUMP 000017d5: JUMPDEST 000017d6: PUSH1 0x40 000017d8: MLOAD 000017d9: PUSH1 0x1f 000017db: DUP3 000017dc: ADD 000017dd: PUSH1 0x1f 000017df: NOT 000017e0: AND 000017e1: DUP2 000017e2: ADD 000017e3: PUSH8 0xffffffffffffffff 000017ec: DUP2 000017ed: GT 000017ee: DUP3 000017ef: DUP3 000017f0: LT 000017f1: OR 000017f2: ISZERO 000017f3: PUSH2 0x17fe 000017f6: JUMPI 000017f7: PUSH2 0x17fe 000017fa: PUSH2 0x1796 000017fd: JUMP 000017fe: JUMPDEST 000017ff: PUSH1 0x40 00001801: MSTORE 00001802: SWAP2 00001803: SWAP1 00001804: POP 00001805: JUMP 00001806: JUMPDEST 00001807: PUSH1 0x00 00001809: DUP3 0000180a: PUSH1 0x1f 0000180c: DUP4 0000180d: ADD 0000180e: SLT 0000180f: PUSH2 0x1817 00001812: JUMPI 00001813: PUSH1 0x00 00001815: DUP1 00001816: REVERT 00001817: JUMPDEST 00001818: DUP2 00001819: MLOAD 0000181a: PUSH8 0xffffffffffffffff 00001823: DUP2 00001824: GT 00001825: ISZERO 00001826: PUSH2 0x1831 00001829: JUMPI 0000182a: PUSH2 0x1831 0000182d: PUSH2 0x1796 00001830: JUMP 00001831: JUMPDEST 00001832: PUSH2 0x1844 00001835: PUSH1 0x1f 00001837: DUP3 00001838: ADD 00001839: PUSH1 0x1f 0000183b: NOT 0000183c: AND 0000183d: PUSH1 0x20 0000183f: ADD 00001840: PUSH2 0x17d5 00001843: JUMP 00001844: JUMPDEST 00001845: DUP2 00001846: DUP2 00001847: MSTORE 00001848: DUP5 00001849: PUSH1 0x20 0000184b: DUP4 0000184c: DUP7 0000184d: ADD 0000184e: ADD 0000184f: GT 00001850: ISZERO 00001851: PUSH2 0x1859 00001854: JUMPI 00001855: PUSH1 0x00 00001857: DUP1 00001858: REVERT 00001859: JUMPDEST 0000185a: PUSH2 0x137a 0000185d: DUP3 0000185e: PUSH1 0x20 00001860: DUP4 00001861: ADD 00001862: PUSH1 0x20 00001864: DUP8 00001865: ADD 00001866: PUSH2 0x158f 00001869: JUMP 0000186a: JUMPDEST 0000186b: PUSH1 0x00 0000186d: PUSH1 0x20 0000186f: DUP1 00001870: DUP4 00001871: DUP6 00001872: SUB 00001873: SLT 00001874: ISZERO 00001875: PUSH2 0x187d 00001878: JUMPI 00001879: PUSH1 0x00 0000187b: DUP1 0000187c: REVERT 0000187d: JUMPDEST 0000187e: DUP3 0000187f: MLOAD 00001880: PUSH8 0xffffffffffffffff 00001889: DUP1 0000188a: DUP3 0000188b: GT 0000188c: ISZERO 0000188d: PUSH2 0x1895 00001890: JUMPI 00001891: PUSH1 0x00 00001893: DUP1 00001894: REVERT 00001895: JUMPDEST 00001896: DUP2 00001897: DUP6 00001898: ADD 00001899: SWAP2 0000189a: POP 0000189b: DUP6 0000189c: PUSH1 0x1f 0000189e: DUP4 0000189f: ADD 000018a0: SLT 000018a1: PUSH2 0x18a9 000018a4: JUMPI 000018a5: PUSH1 0x00 000018a7: DUP1 000018a8: REVERT 000018a9: JUMPDEST 000018aa: DUP2 000018ab: MLOAD 000018ac: DUP2 000018ad: DUP2 000018ae: GT 000018af: ISZERO 000018b0: PUSH2 0x18bb 000018b3: JUMPI 000018b4: PUSH2 0x18bb 000018b7: PUSH2 0x1796 000018ba: JUMP 000018bb: JUMPDEST 000018bc: DUP1 000018bd: PUSH1 0x05 000018bf: SHL 000018c0: PUSH2 0x18ca 000018c3: DUP6 000018c4: DUP3 000018c5: ADD 000018c6: PUSH2 0x17d5 000018c9: JUMP 000018ca: JUMPDEST 000018cb: SWAP2 000018cc: DUP3 000018cd: MSTORE 000018ce: DUP4 000018cf: DUP2 000018d0: ADD 000018d1: DUP6 000018d2: ADD 000018d3: SWAP2 000018d4: DUP6 000018d5: DUP2 000018d6: ADD 000018d7: SWAP1 000018d8: DUP10 000018d9: DUP5 000018da: GT 000018db: ISZERO 000018dc: PUSH2 0x18e4 000018df: JUMPI 000018e0: PUSH1 0x00 000018e2: DUP1 000018e3: REVERT 000018e4: JUMPDEST 000018e5: DUP7 000018e6: DUP7 000018e7: ADD 000018e8: SWAP3 000018e9: POP 000018ea: JUMPDEST 000018eb: DUP4 000018ec: DUP4 000018ed: LT 000018ee: ISZERO 000018ef: PUSH2 0x0f4f 000018f2: JUMPI 000018f3: DUP3 000018f4: MLOAD 000018f5: DUP6 000018f6: DUP2 000018f7: GT 000018f8: ISZERO 000018f9: PUSH2 0x1902 000018fc: JUMPI 000018fd: PUSH1 0x00 000018ff: DUP1 00001900: DUP2 00001901: REVERT 00001902: JUMPDEST 00001903: DUP7 00001904: ADD 00001905: PUSH1 0x40 00001907: DUP2 00001908: DUP13 00001909: SUB 0000190a: PUSH1 0x1f 0000190c: NOT 0000190d: ADD 0000190e: DUP2 0000190f: SGT 00001910: ISZERO 00001911: PUSH2 0x191a 00001914: JUMPI 00001915: PUSH1 0x00 00001917: DUP1 00001918: DUP2 00001919: REVERT 0000191a: JUMPDEST 0000191b: PUSH2 0x1922 0000191e: PUSH2 0x17ac 00001921: JUMP 00001922: JUMPDEST 00001923: DUP10 00001924: DUP4 00001925: ADD 00001926: MLOAD 00001927: DUP9 00001928: DUP2 00001929: GT 0000192a: ISZERO 0000192b: PUSH2 0x1934 0000192e: JUMPI 0000192f: PUSH1 0x00 00001931: DUP1 00001932: DUP2 00001933: REVERT 00001934: JUMPDEST 00001935: PUSH2 0x1942 00001938: DUP15 00001939: DUP13 0000193a: DUP4 0000193b: DUP8 0000193c: ADD 0000193d: ADD 0000193e: PUSH2 0x1806 00001941: JUMP 00001942: JUMPDEST 00001943: DUP3 00001944: MSTORE 00001945: POP 00001946: SWAP1 00001947: DUP3 00001948: ADD 00001949: MLOAD 0000194a: SWAP1 0000194b: DUP8 0000194c: DUP3 0000194d: GT 0000194e: ISZERO 0000194f: PUSH2 0x1958 00001952: JUMPI 00001953: PUSH1 0x00 00001955: DUP1 00001956: DUP2 00001957: REVERT 00001958: JUMPDEST 00001959: PUSH2 0x1966 0000195c: DUP14 0000195d: DUP12 0000195e: DUP5 0000195f: DUP7 00001960: ADD 00001961: ADD 00001962: PUSH2 0x1806 00001965: JUMP 00001966: JUMPDEST 00001967: DUP2 00001968: DUP12 00001969: ADD 0000196a: MSTORE 0000196b: DUP5 0000196c: MSTORE 0000196d: POP 0000196e: POP 0000196f: SWAP2 00001970: DUP7 00001971: ADD 00001972: SWAP2 00001973: SWAP1 00001974: DUP7 00001975: ADD 00001976: SWAP1 00001977: PUSH2 0x18ea 0000197a: JUMP 0000197b: JUMPDEST 0000197c: PUSH4 0x4e487b71 00001981: PUSH1 0xe0 00001983: SHL 00001984: PUSH1 0x00 00001986: MSTORE 00001987: PUSH1 0x32 00001989: PUSH1 0x04 0000198b: MSTORE 0000198c: PUSH1 0x24 0000198e: PUSH1 0x00 00001990: REVERT 00001991: JUMPDEST 00001992: PUSH1 0x80 00001994: DUP2 00001995: MSTORE 00001996: PUSH1 0x00 00001998: PUSH2 0x19a4 0000199b: PUSH1 0x80 0000199d: DUP4 0000199e: ADD 0000199f: DUP8 000019a0: PUSH2 0x15b3 000019a3: JUMP 000019a4: JUMPDEST 000019a5: DUP3 000019a6: DUP2 000019a7: SUB 000019a8: PUSH1 0x20 000019aa: DUP5 000019ab: ADD 000019ac: MSTORE 000019ad: PUSH2 0x19b6 000019b0: DUP2 000019b1: DUP8 000019b2: PUSH2 0x15b3 000019b5: JUMP 000019b6: JUMPDEST 000019b7: SWAP1 000019b8: POP 000019b9: DUP3 000019ba: DUP2 000019bb: SUB 000019bc: PUSH1 0x40 000019be: DUP5 000019bf: ADD 000019c0: MSTORE 000019c1: PUSH2 0x19ca 000019c4: DUP2 000019c5: DUP7 000019c6: PUSH2 0x15b3 000019c9: JUMP 000019ca: JUMPDEST 000019cb: SWAP2 000019cc: POP 000019cd: POP 000019ce: DUP3 000019cf: PUSH1 0x60 000019d1: DUP4 000019d2: ADD 000019d3: MSTORE 000019d4: SWAP6 000019d5: SWAP5 000019d6: POP 000019d7: POP 000019d8: POP 000019d9: POP 000019da: POP 000019db: JUMP 000019dc: JUMPDEST 000019dd: PUSH1 0x00 000019df: DUP3 000019e0: PUSH2 0x19f9 000019e3: JUMPI 000019e4: PUSH4 0x4e487b71 000019e9: PUSH1 0xe0 000019eb: SHL 000019ec: PUSH1 0x00 000019ee: MSTORE 000019ef: PUSH1 0x12 000019f1: PUSH1 0x04 000019f3: MSTORE 000019f4: PUSH1 0x24 000019f6: PUSH1 0x00 000019f8: REVERT 000019f9: JUMPDEST 000019fa: POP 000019fb: DIV 000019fc: SWAP1 000019fd: JUMP 000019fe: JUMPDEST 000019ff: PUSH1 0x00 00001a01: DUP4 00001a02: MLOAD 00001a03: PUSH2 0x1a10 00001a06: DUP2 00001a07: DUP5 00001a08: PUSH1 0x20 00001a0a: DUP9 00001a0b: ADD 00001a0c: PUSH2 0x158f 00001a0f: JUMP 00001a10: JUMPDEST 00001a11: PUSH16 0xffffffffffffffffffffffffffffffff 00001a22: NOT 00001a23: SWAP4 00001a24: SWAP1 00001a25: SWAP4 00001a26: AND 00001a27: SWAP2 00001a28: SWAP1 00001a29: SWAP3 00001a2a: ADD 00001a2b: SWAP1 00001a2c: DUP2 00001a2d: MSTORE 00001a2e: PUSH1 0x10 00001a30: ADD 00001a31: SWAP3 00001a32: SWAP2 00001a33: POP 00001a34: POP 00001a35: JUMP 00001a36: JUMPDEST 00001a37: PUSH1 0x00 00001a39: DUP3 00001a3a: MLOAD 00001a3b: PUSH2 0x1a48 00001a3e: DUP2 00001a3f: DUP5 00001a40: PUSH1 0x20 00001a42: DUP8 00001a43: ADD 00001a44: PUSH2 0x158f 00001a47: JUMP 00001a48: JUMPDEST 00001a49: SWAP2 00001a4a: SWAP1 00001a4b: SWAP2 00001a4c: ADD 00001a4d: SWAP3 00001a4e: SWAP2 00001a4f: POP 00001a50: POP 00001a51: JUMP 00001a52: JUMPDEST 00001a53: PUSH1 0x00 00001a55: DUP4 00001a56: MLOAD 00001a57: PUSH2 0x1a64 00001a5a: DUP2 00001a5b: DUP5 00001a5c: PUSH1 0x20 00001a5e: DUP9 00001a5f: ADD 00001a60: PUSH2 0x158f 00001a63: JUMP 00001a64: JUMPDEST 00001a65: SWAP2 00001a66: SWAP1 00001a67: SWAP2 00001a68: ADD 00001a69: SWAP2 00001a6a: DUP3 00001a6b: MSTORE 00001a6c: POP 00001a6d: PUSH1 0x20 00001a6f: ADD 00001a70: SWAP2 00001a71: SWAP1 00001a72: POP 00001a73: JUMP 00001a74: JUMPDEST 00001a75: DUP3 00001a76: DUP2 00001a77: MSTORE 00001a78: PUSH1 0x00 00001a7a: DUP3 00001a7b: MLOAD 00001a7c: PUSH2 0x1a8c 00001a7f: DUP2 00001a80: PUSH1 0x20 00001a82: DUP6 00001a83: ADD 00001a84: PUSH1 0x20 00001a86: DUP8 00001a87: ADD 00001a88: PUSH2 0x158f 00001a8b: JUMP 00001a8c: JUMPDEST 00001a8d: SWAP2 00001a8e: SWAP1 00001a8f: SWAP2 00001a90: ADD 00001a91: PUSH1 0x20 00001a93: ADD 00001a94: SWAP4 00001a95: SWAP3 00001a96: POP 00001a97: POP 00001a98: POP 00001a99: JUMP 00001a9a: JUMPDEST 00001a9b: PUSH1 0x00 00001a9d: DUP5 00001a9e: MLOAD 00001a9f: PUSH2 0x1aac 00001aa2: DUP2 00001aa3: DUP5 00001aa4: PUSH1 0x20 00001aa6: DUP10 00001aa7: ADD 00001aa8: PUSH2 0x158f 00001aab: JUMP 00001aac: JUMPDEST 00001aad: PUSH8 0xffffffffffffffff 00001ab6: NOT 00001ab7: SWAP5 00001ab8: SWAP1 00001ab9: SWAP5 00001aba: AND 00001abb: SWAP2 00001abc: SWAP1 00001abd: SWAP4 00001abe: ADD 00001abf: SWAP1 00001ac0: DUP2 00001ac1: MSTORE 00001ac2: PUSH1 0x18 00001ac4: DUP2 00001ac5: ADD 00001ac6: SWAP2 00001ac7: SWAP1 00001ac8: SWAP2 00001ac9: MSTORE 00001aca: PUSH1 0x38 00001acc: ADD 00001acd: SWAP3 00001ace: SWAP2 00001acf: POP 00001ad0: POP 00001ad1: JUMP 00001ad2: INVALID 00001ad3: LOG2 00001ad4: PUSH5 0x6970667358 00001ada: UNKNOWN(0x22) 00001adb: SLT 00001adc: KECCAK256 00001add: ADDMOD 00001ade: UNKNOWN(0x26) 00001adf: DUP1 00001ae0: TSTORE 00001ae1: SWAP15 00001ae2: BASEFEE 00001ae3: CALL 00001ae4: EXP 00001ae5: PUSH18 0x7fcf82f9d6914c0fcca12f81224ec3fe6ff2 00001af8: UNKNOWN(0x1F) 00001af9: MOD 00001afa: UNKNOWN(0x2B) 00001afb: PUSH27
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | codex | Unprotected initialize enables proxy hijack and ETH/ERC20 drain | 90 | no | — |
viewevidence_json{
"evidence": "initialize(...) is externally callable with only initializer and no access control, allowing any caller to set AccessControlManager. Once set, role checks and swEXIT checks can be bypassed via a malicious AccessControlManager.",
"locations": [
"contracts/contracts/implementations/DepositManager.sol:58",
"contracts/contracts/implementations/DepositManager.sol:74",
"contracts/contracts/implementations/DepositManager.sol:145"
],
"recommendation": "Ensure the proxy is atomically initialized at deployment (e.g., pass encoded initialize data to the proxy constructor). If upgrades introduce new initializers, gate them with strict access control (e.g., onlyRole/onlyProxy + trusted admin) so arbitrary callers cannot initialize.",
"exploit_scenario": "1) Attacker monitors for a freshly deployed (or upgraded) DepositManager proxy that has not been initialized in the same transaction. 2) Attacker deploys a malicious AccessControlManager contract that returns their address for swEXIT() and makes checkRole() a no-op. 3) Attacker calls initialize(...) on the proxy, setting AccessControlManager to their malicious contract. 4) Attacker calls transferETHForWithdrawRequests(...) from their EOA (now treated as swEXIT) to drain all ETH, and/or calls withdrawERC20(...) to drain any ERC20 balance."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x150c8bbf12de964863f712d6ab16bf90537c22a4b7c4c3d536af0f08a8714ad7
call_targets:
0xeee6207d514c2845394b5f4b9f12b6d155f4524b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x150c8bbf12de964863f712d6ab16bf90537c22a4b7c4c3d536af0f08a8714ad7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xeee6207d514c2845394b5f4b9f12b6d155f4524b"
],
"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": "0x56396715",
"selector": "0x56396715",
"calldata_variants": [
"0x56396715",
"0x563967150000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x902340a1",
"selector": "0x902340a1",
"calldata_variants": [
"0x902340a1",
"0x902340a10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf4f3b200",
"selector": "0xf4f3b200",
"calldata_variants": [
"0xf4f3b200",
"0xf4f3b2000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1558687a",
"selector": "0x1558687a",
"calldata_variants": [
"0x1558687a",
"0x1558687a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1bc2399f",
"selector": "0x1bc2399f",
"calldata_variants": [
"0x1bc2399f",
"0x1bc2399f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2b8e227d",
"selector": "0x2b8e227d",
"calldata_variants": [
"0x2b8e227d",
"0x2b8e227d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1641,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1945,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2904,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [],
"untrusted_call_count": 5
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x150c8bbf12de964863f712d6ab16bf90537c22a4b7c4c3d536af0f08a8714ad7
call_targets:
0xeee6207d514c2845394b5f4b9f12b6d155f4524b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x150c8bbf12de964863f712d6ab16bf90537c22a4b7c4c3d536af0f08a8714ad7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xeee6207d514c2845394b5f4b9f12b6d155f4524b"
],
"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": "0x56396715",
"selector": "0x56396715",
"calldata_variants": [
"0x56396715",
"0x563967150000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x902340a1",
"selector": "0x902340a1",
"calldata_variants": [
"0x902340a1",
"0x902340a10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf4f3b200",
"selector": "0xf4f3b200",
"calldata_variants": [
"0xf4f3b200",
"0xf4f3b2000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1558687a",
"selector": "0x1558687a",
"calldata_variants": [
"0x1558687a",
"0x1558687a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1bc2399f",
"selector": "0x1bc2399f",
"calldata_variants": [
"0x1bc2399f",
"0x1bc2399f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2b8e227d",
"selector": "0x2b8e227d",
"calldata_variants": [
"0x2b8e227d",
"0x2b8e227d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1641,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1945,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2904,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": []
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 5
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 21
}
|