15d74803-b194-47ff-a9c9-6f468ca65436
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 |
|---|---|---|---|---|
| 31605 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 111428 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 111429 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 111430 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 111431 | capability.graph | complete | 1 / 3 | 1 week ago |
| 111432 | detector.run | complete | 1 / 3 | 1 week ago |
| 111433 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1257355] OpenAI Codex v0.77.0 (research preview)
[codex:1257355] --------
[codex:1257355] workdir: /tmp/codex-multi-smv5yx_z
[codex:1257355] model: gpt-5.2-codex
[codex:1257355] provider: openai
[codex:1257355] approval: never
[codex:1257355] sandbox: read-only
[codex:1257355] reasoning effort: xhigh
[codex:1257355] reasoning summaries: auto
[codex:1257355] session id: 019b87fa-13e4-7561-8d4e-7b092581ea84
[codex:1257355] --------
[codex:1257355] user
[codex:1257355] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1257355]
[codex:1257355] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1257355]
[codex:1257355] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1257355] - Gas inefficiency, code quality, naming, or best practices
[codex:1257355] - Theoretical vulnerabilities without a clear extraction path
[codex:1257355] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1257355] - Front-running unless it enables theft beyond MEV
[codex:1257355] - DoS, griefing, or issues that don't result in attacker profit
[codex:1257355] - Missing events, view function issues, or informational findings
[codex:1257355]
[codex:1257355] HIGH-VALUE PATTERNS TO HUNT:
[codex:1257355] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1257355] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1257355] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1257355] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1257355] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1257355] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1257355] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1257355] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1257355] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1257355]
[codex:1257355] For each finding, you MUST provide:
[codex:1257355] 1. Exact file and line numbers of vulnerable code
[codex:1257355] 2. Step-by-step exploit transaction sequence
[codex:1257355] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1257355]
[codex:1257355] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1257355]
[codex:1257355] Output MUST be valid JSON matching the provided schema.
[codex:1257355] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1257355] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1257355] mcp startup: no servers
[codex:1257355]
[codex:1257355] thinking
[codex:1257355] **Preparing to review audit instructions**
[codex:1257355] exec
[codex:1257355] /bin/bash -lc ls in /tmp/codex-multi-smv5yx_z succeeded in 5ms:
[codex:1257355] AUDIT_BUNDLE.txt
[codex:1257355] codex-output-schema.json
[codex:1257355] contracts
[codex:1257355] exec
[codex:1257355] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-smv5yx_z succeeded in 5ms:
[codex:1257355] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1257355]
[codex:1257355] ================================================================================
[codex:1257355] FILE: contracts/src/ETHVault.sol
[codex:1257355] ================================================================================
[codex:1257355] // SPDX-License-Identifier: BUSL-1.1
[codex:1257355] pragma solidity 0.8.28;
[codex:1257355]
[codex:1257355] import {IETHVault} from "./interfaces/IETHVault.sol";
[codex:1257355] import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1257355] import "@openzeppelin/contracts/access/Ownable.sol";
[codex:1257355] import "./interfaces/ITokiErrors.sol";
[codex:1257355] import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1257355] import "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
[codex:1257355] import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
[codex:1257355] import "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol";
[codex:1257355]
[codex:1257355] contract ETHVault is
[codex:1257355] ITokiErrors,
[codex:1257355] IETHVault,
[codex:1257355]
[codex:1257355] thinking
[codex:1257355] **Analyzing potential ETHVault vulnerabilities**
[codex:1257355] codex
[codex:1257355] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path found in ETHVault given trusted dependencies.","findings":[]}
[codex:1257355] tokens used
[codex:1257355] 9,389
[codex:1257355] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path found in ETHVault given trusted dependencies.","findings":[]}
{
"codex": {
"ran_at": "2026-01-04T07:48:44.533238+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable value-extraction path found in ETHVault given trusted dependencies.",
"raw_final": {
"summary": "No concrete, exploitable value-extraction path found in ETHVault given trusted dependencies.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: ISZERO 0000000a: PUSH2 0x00f0 0000000d: JUMPI 0000000e: JUMPDEST 0000000f: CALLDATASIZE 00000010: ISZERO 00000011: PUSH2 0x0018 00000014: JUMPI 00000015: PUSH0 00000016: DUP1 00000017: REVERT 00000018: JUMPDEST 00000019: PUSH2 0x0020 0000001c: PUSH2 0x20c6 0000001f: JUMP 00000020: JUMPDEST 00000021: CALLER 00000022: ISZERO 00000023: PUSH2 0x00c4 00000026: JUMPI 00000027: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000003c: CALLER 0000003d: AND 0000003e: PUSH0 0000003f: MSTORE 00000040: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000 00000061: PUSH1 0x20 00000063: MSTORE 00000064: PUSH2 0x006e 00000067: CALLVALUE 00000068: CALLER 00000069: PUSH0 0000006a: PUSH2 0x21fd 0000006d: JUMP 0000006e: JUMPDEST 0000006f: PUSH1 0x40 00000071: DUP1 00000072: MLOAD 00000073: CALLER 00000074: DUP2 00000075: MSTORE 00000076: CALLVALUE 00000077: PUSH1 0x20 00000079: DUP3 0000007a: ADD 0000007b: MSTORE 0000007c: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c 0000009d: SWAP2 0000009e: SWAP1 0000009f: LOG1 000000a0: PUSH0 000000a1: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 000000c2: TSTORE 000000c3: STOP 000000c4: JUMPDEST 000000c5: PUSH32 0xec442f0500000000000000000000000000000000000000000000000000000000 000000e6: PUSH0 000000e7: MSTORE 000000e8: PUSH0 000000e9: PUSH1 0x04 000000eb: MSTORE 000000ec: PUSH1 0x24 000000ee: PUSH0 000000ef: REVERT 000000f0: JUMPDEST 000000f1: PUSH0 000000f2: PUSH0 000000f3: CALLDATALOAD 000000f4: PUSH1 0xe0 000000f6: SHR 000000f7: DUP1 000000f8: PUSH4 0x06fdde03 000000fd: EQ 000000fe: PUSH2 0x1a29 00000101: JUMPI 00000102: DUP1 00000103: PUSH4 0x095ea7b3 00000108: EQ 00000109: PUSH2 0x195b 0000010c: JUMPI 0000010d: DUP1 0000010e: PUSH4 0x18160ddd 00000113: EQ 00000114: PUSH2 0x1901 00000117: JUMPI 00000118: DUP1 00000119: PUSH4 0x23b872dd 0000011e: EQ 0000011f: PUSH2 0x16f9 00000122: JUMPI 00000123: DUP1 00000124: PUSH4 0x29c80c2f 00000129: EQ 0000012a: PUSH2 0x1672 0000012d: JUMPI 0000012e: DUP1 0000012f: PUSH4 0x2e1a7d4d 00000134: EQ 00000135: PUSH2 0x1534 00000138: JUMPI 00000139: DUP1 0000013a: PUSH4 0x313ce567 0000013f: EQ 00000140: PUSH2 0x14fa 00000143: JUMPI 00000144: DUP1 00000145: PUSH4 0x40e9d2cc 0000014a: EQ 0000014b: PUSH2 0x1427 0000014e: JUMPI 0000014f: DUP1 00000150: PUSH4 0x4f1ef286 00000155: EQ 00000156: PUSH2 0x10b3 00000159: JUMPI 0000015a: DUP1 0000015b: PUSH4 0x52d1902d 00000160: EQ 00000161: PUSH2 0x0ff5 00000164: JUMPI 00000165: DUP1 00000166: PUSH4 0x70a08231 0000016b: EQ 0000016c: PUSH2 0x0f73 0000016f: JUMPI 00000170: DUP1 00000171: PUSH4 0x715018a6 00000176: EQ 00000177: PUSH2 0x0e97 0000017a: JUMPI 0000017b: DUP1 0000017c: PUSH4 0x8129fc1c 00000181: EQ 00000182: PUSH2 0x074b 00000185: JUMPI 00000186: DUP1 00000187: PUSH4 0x8da5cb5b 0000018c: EQ 0000018d: PUSH2 0x06da 00000190: JUMPI 00000191: DUP1 00000192: PUSH4 0x95d89b41 00000197: EQ 00000198: PUSH2 0x0585 0000019b: JUMPI 0000019c: DUP1 0000019d: PUSH4 0xa9059cbb 000001a2: EQ 000001a3: PUSH2 0x0535 000001a6: JUMPI 000001a7: DUP1 000001a8: PUSH4 0xad3cb1cc 000001ad: EQ 000001ae: PUSH2 0x04ba 000001b1: JUMPI 000001b2: DUP1 000001b3: PUSH4 0xd0e30db0 000001b8: EQ 000001b9: PUSH2 0x03b7 000001bc: JUMPI 000001bd: DUP1 000001be: PUSH4 0xdd5f0f68 000001c3: EQ 000001c4: PUSH2 0x02e1 000001c7: JUMPI 000001c8: DUP1 000001c9: PUSH4 0xdd62ed3e 000001ce: EQ 000001cf: PUSH2 0x022f 000001d2: JUMPI 000001d3: PUSH4 0xf2fde38b 000001d8: EQ 000001d9: PUSH2 0x01e2 000001dc: JUMPI 000001dd: POP 000001de: PUSH2 0x000e 000001e1: JUMP 000001e2: JUMPDEST 000001e3: CALLVALUE 000001e4: PUSH2 0x022c 000001e7: JUMPI 000001e8: PUSH1 0x20 000001ea: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000020b: CALLDATASIZE 0000020c: ADD 0000020d: SLT 0000020e: PUSH2 0x022c 00000211: JUMPI 00000212: PUSH2 0x0229 00000215: PUSH2 0x021c 00000218: PUSH2 0x1bb5 0000021b: JUMP 0000021c: JUMPDEST 0000021d: PUSH2 0x0224 00000220: PUSH2 0x213a 00000223: JUMP 00000224: JUMPDEST 00000225: PUSH2 0x1d23 00000228: JUMP 00000229: JUMPDEST 0000022a: DUP1 0000022b: RETURN 0000022c: JUMPDEST 0000022d: DUP1 0000022e: REVERT 0000022f: JUMPDEST 00000230: POP 00000231: CALLVALUE 00000232: PUSH2 0x022c 00000235: JUMPI 00000236: PUSH1 0x40 00000238: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000259: CALLDATASIZE 0000025a: ADD 0000025b: SLT 0000025c: PUSH2 0x022c 0000025f: JUMPI 00000260: PUSH2 0x0267 00000263: PUSH2 0x1bb5 00000266: JUMP 00000267: JUMPDEST 00000268: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000027d: PUSH2 0x02cb 00000280: PUSH2 0x0287 00000283: PUSH2 0x1bd8 00000286: JUMP 00000287: JUMPDEST 00000288: SWAP3 00000289: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000029e: AND 0000029f: PUSH0 000002a0: MSTORE 000002a1: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01 000002c2: PUSH1 0x20 000002c4: MSTORE 000002c5: PUSH1 0x40 000002c7: PUSH0 000002c8: KECCAK256 000002c9: SWAP1 000002ca: JUMP 000002cb: JUMPDEST 000002cc: SWAP2 000002cd: AND 000002ce: PUSH0 000002cf: MSTORE 000002d0: PUSH1 0x20 000002d2: MSTORE 000002d3: PUSH1 0x20 000002d5: PUSH1 0x40 000002d7: PUSH0 000002d8: KECCAK256 000002d9: SLOAD 000002da: PUSH1 0x40 000002dc: MLOAD 000002dd: SWAP1 000002de: DUP2 000002df: MSTORE 000002e0: RETURN 000002e1: JUMPDEST 000002e2: POP 000002e3: CALLVALUE 000002e4: PUSH2 0x022c 000002e7: JUMPI 000002e8: PUSH1 0x20 000002ea: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000030b: CALLDATASIZE 0000030c: ADD 0000030d: SLT 0000030e: PUSH2 0x022c 00000311: JUMPI 00000312: PUSH32 0x5fdfa96b8124163460b3b1b3e3ffa7d95b7dded3e3f58e7465d8853b052ddd80 00000333: PUSH1 0x20 00000335: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000034a: PUSH2 0x0351 0000034d: PUSH2 0x1bb5 00000350: JUMP 00000351: JUMPDEST 00000352: PUSH2 0x0359 00000355: PUSH2 0x213a 00000358: JUMP 00000359: JUMPDEST 0000035a: AND 0000035b: DUP1 0000035c: DUP5 0000035d: MSTORE 0000035e: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000 0000037f: DUP3 00000380: MSTORE 00000381: PUSH1 0x40 00000383: DUP5 00000384: KECCAK256 00000385: PUSH1 0x01 00000387: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000003a8: DUP3 000003a9: SLOAD 000003aa: AND 000003ab: OR 000003ac: SWAP1 000003ad: SSTORE 000003ae: PUSH1 0x40 000003b0: MLOAD 000003b1: SWAP1 000003b2: DUP2 000003b3: MSTORE 000003b4: LOG1 000003b5: DUP1 000003b6: RETURN 000003b7: JUMPDEST 000003b8: POP 000003b9: DUP1 000003ba: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000003db: CALLDATASIZE 000003dc: ADD 000003dd: SLT 000003de: PUSH2 0x022c 000003e1: JUMPI 000003e2: PUSH2 0x03e9 000003e5: PUSH2 0x20c6 000003e8: JUMP 000003e9: JUMPDEST 000003ea: CALLER 000003eb: ISZERO 000003ec: PUSH2 0x048e 000003ef: JUMPI 000003f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000405: CALLER 00000406: AND 00000407: PUSH0 00000408: MSTORE 00000409: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000 0000042a: PUSH1 0x20 0000042c: MSTORE 0000042d: PUSH2 0x0437 00000430: CALLVALUE 00000431: CALLER 00000432: PUSH0 00000433: PUSH2 0x21fd 00000436: JUMP 00000437: JUMPDEST 00000438: PUSH1 0x40 0000043a: DUP1 0000043b: MLOAD 0000043c: CALLER 0000043d: DUP2 0000043e: MSTORE 0000043f: CALLVALUE 00000440: PUSH1 0x20 00000442: DUP3 00000443: ADD 00000444: MSTORE 00000445: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c 00000466: SWAP2 00000467: SWAP1 00000468: LOG1 00000469: DUP1 0000046a: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 0000048b: TSTORE 0000048c: DUP1 0000048d: RETURN 0000048e: JUMPDEST 0000048f: DUP1 00000490: PUSH32 0xec442f0500000000000000000000000000000000000000000000000000000000 000004b1: PUSH1 0x24 000004b3: SWAP3 000004b4: MSTORE 000004b5: DUP1 000004b6: PUSH1 0x04 000004b8: MSTORE 000004b9: REVERT 000004ba: JUMPDEST 000004bb: POP 000004bc: CALLVALUE 000004bd: PUSH2 0x022c 000004c0: JUMPI 000004c1: DUP1 000004c2: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000004e3: CALLDATASIZE 000004e4: ADD 000004e5: SLT 000004e6: PUSH2 0x022c 000004e9: JUMPI 000004ea: POP 000004eb: PUSH2 0x0531 000004ee: PUSH1 0x40 000004f0: MLOAD 000004f1: PUSH2 0x04fb 000004f4: PUSH1 0x40 000004f6: DUP3 000004f7: PUSH2 0x1bfb 000004fa: JUMP 000004fb: JUMPDEST 000004fc: PUSH1 0x05 000004fe: DUP2 000004ff: MSTORE 00000500: PUSH32 0x352e302e30000000000000000000000000000000000000000000000000000000 00000521: PUSH1 0x20 00000523: DUP3 00000524: ADD 00000525: MSTORE 00000526: PUSH1 0x40 00000528: MLOAD 00000529: SWAP2 0000052a: DUP3 0000052b: SWAP2 0000052c: DUP3 0000052d: PUSH2 0x1b6d 00000530: JUMP 00000531: JUMPDEST 00000532: SUB 00000533: SWAP1 00000534: RETURN 00000535: JUMPDEST 00000536: POP 00000537: CALLVALUE 00000538: PUSH2 0x022c 0000053b: JUMPI 0000053c: PUSH1 0x40 0000053e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000055f: CALLDATASIZE 00000560: ADD 00000561: SLT 00000562: PUSH2 0x022c 00000565: JUMPI 00000566: PUSH2 0x057a 00000569: PUSH2 0x0570 0000056c: PUSH2 0x1bb5 0000056f: JUMP 00000570: JUMPDEST 00000571: PUSH1 0x24 00000573: CALLDATALOAD 00000574: SWAP1 00000575: CALLER 00000576: PUSH2 0x1e10 00000579: JUMP 0000057a: JUMPDEST 0000057b: PUSH1 0x20 0000057d: PUSH1 0x40 0000057f: MLOAD 00000580: PUSH1 0x01 00000582: DUP2 00000583: MSTORE 00000584: RETURN 00000585: JUMPDEST 00000586: POP 00000587: CALLVALUE 00000588: PUSH2 0x022c 0000058b: JUMPI 0000058c: DUP1 0000058d: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000005ae: CALLDATASIZE 000005af: ADD 000005b0: SLT 000005b1: PUSH2 0x022c 000005b4: JUMPI 000005b5: PUSH1 0x40 000005b7: MLOAD 000005b8: SWAP1 000005b9: DUP1 000005ba: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04 000005db: SLOAD 000005dc: SWAP1 000005dd: PUSH2 0x05e5 000005e0: DUP3 000005e1: PUSH2 0x1ca3 000005e4: JUMP 000005e5: JUMPDEST 000005e6: DUP1 000005e7: DUP6 000005e8: MSTORE 000005e9: SWAP2 000005ea: PUSH1 0x01 000005ec: DUP2 000005ed: AND 000005ee: SWAP1 000005ef: DUP2 000005f0: ISZERO 000005f1: PUSH2 0x0695 000005f4: JUMPI 000005f5: POP 000005f6: PUSH1 0x01 000005f8: EQ 000005f9: PUSH2 0x0619 000005fc: JUMPI 000005fd: JUMPDEST 000005fe: PUSH2 0x0531 00000601: DUP5 00000602: PUSH2 0x060d 00000605: DUP2 00000606: DUP7 00000607: SUB 00000608: DUP3 00000609: PUSH2 0x1bfb 0000060c: JUMP 0000060d: JUMPDEST 0000060e: PUSH1 0x40 00000610: MLOAD 00000611: SWAP2 00000612: DUP3 00000613: SWAP2 00000614: DUP3 00000615: PUSH2 0x1b6d 00000618: JUMP 00000619: JUMPDEST 0000061a: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04 0000063b: DUP2 0000063c: MSTORE 0000063d: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa 0000065e: SWAP4 0000065f: SWAP3 00000660: POP 00000661: SWAP1 00000662: JUMPDEST 00000663: DUP1 00000664: DUP3 00000665: LT 00000666: PUSH2 0x067b 00000669: JUMPI 0000066a: POP 0000066b: SWAP1 0000066c: SWAP2 0000066d: POP 0000066e: DUP2 0000066f: ADD 00000670: PUSH1 0x20 00000672: ADD 00000673: PUSH2 0x060d 00000676: DUP3 00000677: PUSH2 0x05fd 0000067a: JUMP 0000067b: JUMPDEST 0000067c: SWAP2 0000067d: SWAP3 0000067e: PUSH1 0x01 00000680: DUP2 00000681: PUSH1 0x20 00000683: SWAP3 00000684: SLOAD 00000685: DUP4 00000686: DUP6 00000687: DUP9 00000688: ADD 00000689: ADD 0000068a: MSTORE 0000068b: ADD 0000068c: SWAP2 0000068d: ADD 0000068e: SWAP1 0000068f: SWAP3 00000690: SWAP2 00000691: PUSH2 0x0662 00000694: JUMP 00000695: JUMPDEST 00000696: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000006b7: AND 000006b8: PUSH1 0x20 000006ba: DUP1 000006bb: DUP8 000006bc: ADD 000006bd: SWAP2 000006be: SWAP1 000006bf: SWAP2 000006c0: MSTORE 000006c1: SWAP3 000006c2: ISZERO 000006c3: ISZERO 000006c4: PUSH1 0x05 000006c6: SHL 000006c7: DUP6 000006c8: ADD 000006c9: SWAP1 000006ca: SWAP3 000006cb: ADD 000006cc: SWAP3 000006cd: POP 000006ce: PUSH2 0x060d 000006d1: SWAP2 000006d2: POP 000006d3: DUP4 000006d4: SWAP1 000006d5: POP 000006d6: PUSH2 0x05fd 000006d9: JUMP 000006da: JUMPDEST 000006db: POP 000006dc: CALLVALUE 000006dd: PUSH2 0x022c 000006e0: JUMPI 000006e1: DUP1 000006e2: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000703: CALLDATASIZE 00000704: ADD 00000705: SLT 00000706: PUSH2 0x022c 00000709: JUMPI 0000070a: PUSH1 0x20 0000070c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000721: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00000742: SLOAD 00000743: AND 00000744: PUSH1 0x40 00000746: MLOAD 00000747: SWAP1 00000748: DUP2 00000749: MSTORE 0000074a: RETURN 0000074b: JUMPDEST 0000074c: POP 0000074d: CALLVALUE 0000074e: PUSH2 0x022c 00000751: JUMPI 00000752: DUP1 00000753: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000774: CALLDATASIZE 00000775: ADD 00000776: SLT 00000777: PUSH2 0x022c 0000077a: JUMPI 0000077b: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 0000079c: SLOAD 0000079d: SWAP1 0000079e: PUSH1 0xff 000007a0: DUP3 000007a1: PUSH1 0x40 000007a3: SHR 000007a4: AND 000007a5: ISZERO 000007a6: SWAP2 000007a7: PUSH8 0xffffffffffffffff 000007b0: DUP2 000007b1: AND 000007b2: DUP1 000007b3: ISZERO 000007b4: SWAP1 000007b5: DUP2 000007b6: PUSH2 0x0e8f 000007b9: JUMPI 000007ba: JUMPDEST 000007bb: PUSH1 0x01 000007bd: EQ 000007be: SWAP1 000007bf: DUP2 000007c0: PUSH2 0x0e85 000007c3: JUMPI 000007c4: JUMPDEST 000007c5: ISZERO 000007c6: SWAP1 000007c7: DUP2 000007c8: PUSH2 0x0e7c 000007cb: JUMPI 000007cc: JUMPDEST 000007cd: POP 000007ce: PUSH2 0x0e54 000007d1: JUMPI 000007d2: DUP3 000007d3: PUSH1 0x01 000007d5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 000007f6: DUP4 000007f7: AND 000007f8: OR 000007f9: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 0000081a: SSTORE 0000081b: PUSH2 0x0dff 0000081e: JUMPI 0000081f: JUMPDEST 00000820: POP 00000821: PUSH1 0x40 00000823: DUP1 00000824: MLOAD 00000825: SWAP3 00000826: PUSH2 0x082f 00000829: DUP3 0000082a: DUP6 0000082b: PUSH2 0x1bfb 0000082e: JUMP 0000082f: JUMPDEST 00000830: PUSH1 0x10 00000832: DUP5 00000833: MSTORE 00000834: PUSH32 0x544f4b4920777261707065642045544800000000000000000000000000000000 00000855: PUSH1 0x20 00000857: DUP6 00000858: ADD 00000859: MSTORE 0000085a: DUP2 0000085b: MLOAD 0000085c: SWAP4 0000085d: PUSH2 0x0866 00000860: DUP4 00000861: DUP7 00000862: PUSH2 0x1bfb 00000865: JUMP 00000866: JUMPDEST 00000867: PUSH1 0x07 00000869: DUP6 0000086a: MSTORE 0000086b: PUSH32 0x746f6b6945544800000000000000000000000000000000000000000000000000 0000088c: PUSH1 0x20 0000088e: DUP7 0000088f: ADD 00000890: MSTORE 00000891: PUSH2 0x0898 00000894: PUSH2 0x21a6 00000897: JUMP 00000898: JUMPDEST 00000899: PUSH2 0x08a0 0000089c: PUSH2 0x21a6 0000089f: JUMP 000008a0: JUMPDEST 000008a1: DUP1 000008a2: MLOAD 000008a3: SWAP1 000008a4: PUSH8 0xffffffffffffffff 000008ad: DUP3 000008ae: GT 000008af: PUSH2 0x0dd2 000008b2: JUMPI 000008b3: DUP2 000008b4: SWAP1 000008b5: PUSH2 0x08de 000008b8: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03 000008d9: SLOAD 000008da: PUSH2 0x1ca3 000008dd: JUMP 000008de: JUMPDEST 000008df: PUSH1 0x1f 000008e1: DUP2 000008e2: GT 000008e3: PUSH2 0x0d45 000008e6: JUMPI 000008e7: JUMPDEST 000008e8: POP 000008e9: PUSH1 0x20 000008eb: SWAP1 000008ec: PUSH1 0x1f 000008ee: DUP4 000008ef: GT 000008f0: PUSH1 0x01 000008f2: EQ 000008f3: PUSH2 0x0c68 000008f6: JUMPI 000008f7: DUP7 000008f8: SWAP3 000008f9: PUSH2 0x0c5d 000008fc: JUMPI 000008fd: JUMPDEST 000008fe: POP 000008ff: POP 00000900: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000921: DUP3 00000922: PUSH1 0x01 00000924: SHL 00000925: SWAP3 00000926: PUSH1 0x03 00000928: SHL 00000929: SHR 0000092a: NOT 0000092b: AND 0000092c: OR 0000092d: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03 0000094e: SSTORE 0000094f: JUMPDEST 00000950: DUP4 00000951: MLOAD 00000952: PUSH8 0xffffffffffffffff 0000095b: DUP2 0000095c: GT 0000095d: PUSH2 0x0c30 00000960: JUMPI 00000961: PUSH2 0x098a 00000964: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04 00000985: SLOAD 00000986: PUSH2 0x1ca3 00000989: JUMP 0000098a: JUMPDEST 0000098b: PUSH1 0x1f 0000098d: DUP2 0000098e: GT 0000098f: PUSH2 0x0bae 00000992: JUMPI 00000993: JUMPDEST 00000994: POP 00000995: PUSH1 0x20 00000997: SWAP5 00000998: PUSH1 0x1f 0000099a: DUP3 0000099b: GT 0000099c: PUSH1 0x01 0000099e: EQ 0000099f: PUSH2 0x0ad0 000009a2: JUMPI 000009a3: SWAP5 000009a4: DUP5 000009a5: SWAP6 000009a6: DUP3 000009a7: SWAP4 000009a8: SWAP5 000009a9: SWAP6 000009aa: SWAP3 000009ab: PUSH2 0x0ac5 000009ae: JUMPI 000009af: JUMPDEST 000009b0: POP 000009b1: POP 000009b2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000009d3: DUP3 000009d4: PUSH1 0x01 000009d6: SHL 000009d7: SWAP3 000009d8: PUSH1 0x03 000009da: SHL 000009db: SHR 000009dc: NOT 000009dd: AND 000009de: OR 000009df: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04 00000a00: SSTORE 00000a01: JUMPDEST 00000a02: PUSH2 0x0a09 00000a05: PUSH2 0x21a6 00000a08: JUMP 00000a09: JUMPDEST 00000a0a: PUSH2 0x0a11 00000a0d: PUSH2 0x21a6 00000a10: JUMP 00000a11: JUMPDEST 00000a12: PUSH2 0x0a19 00000a15: PUSH2 0x21a6 00000a18: JUMP 00000a19: JUMPDEST 00000a1a: PUSH2 0x0a22 00000a1d: CALLER 00000a1e: PUSH2 0x1d23 00000a21: JUMP 00000a22: JUMPDEST 00000a23: PUSH2 0x0a2a 00000a26: PUSH2 0x21a6 00000a29: JUMP 00000a2a: JUMPDEST 00000a2b: PUSH2 0x0a32 00000a2e: JUMPI 00000a2f: POP 00000a30: DUP1 00000a31: RETURN 00000a32: JUMPDEST 00000a33: PUSH1 0x20 00000a35: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 00000a56: SWAP2 00000a57: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff 00000a78: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 00000a99: SLOAD 00000a9a: AND 00000a9b: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 00000abc: SSTORE 00000abd: MLOAD 00000abe: PUSH1 0x01 00000ac0: DUP2 00000ac1: MSTORE 00000ac2: LOG1 00000ac3: DUP1 00000ac4: RETURN 00000ac5: JUMPDEST 00000ac6: ADD 00000ac7: MLOAD 00000ac8: SWAP1 00000ac9: POP 00000aca: PUSH0 00000acb: DUP1 00000acc: PUSH2 0x09af 00000acf: JUMP 00000ad0: JUMPDEST 00000ad1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00000af2: DUP3 00000af3: AND 00000af4: SWAP6 00000af5: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04 00000b16: DUP7 00000b17: MSTORE 00000b18: DUP1 00000b19: DUP7 00000b1a: KECCAK256 00000b1b: SWAP2 00000b1c: DUP7 00000b1d: JUMPDEST 00000b1e: DUP9 00000b1f: DUP2 00000b20: LT 00000b21: PUSH2 0x0b96 00000b24: JUMPI 00000b25: POP 00000b26: DUP4 00000b27: PUSH1 0x01 00000b29: SWAP6 00000b2a: SWAP7 00000b2b: SWAP8 00000b2c: SWAP9 00000b2d: LT 00000b2e: PUSH2 0x0b5f 00000b31: JUMPI 00000b32: JUMPDEST 00000b33: POP 00000b34: POP 00000b35: POP 00000b36: DUP2 00000b37: SHL 00000b38: ADD 00000b39: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04 00000b5a: SSTORE 00000b5b: PUSH2 0x0a01 00000b5e: JUMP 00000b5f: JUMPDEST 00000b60: ADD 00000b61: MLOAD 00000b62: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000b83: PUSH1 0xf8 00000b85: DUP5 00000b86: PUSH1 0x03 00000b88: SHL 00000b89: AND 00000b8a: SHR 00000b8b: NOT 00000b8c: AND 00000b8d: SWAP1 00000b8e: SSTORE 00000b8f: PUSH0 00000b90: DUP1 00000b91: DUP1 00000b92: PUSH2 0x0b32 00000b95: JUMP 00000b96: JUMPDEST 00000b97: SWAP2 00000b98: SWAP3 00000b99: PUSH1 0x20 00000b9b: PUSH1 0x01 00000b9d: DUP2 00000b9e: SWAP3 00000b9f: DUP7 00000ba0: DUP6 00000ba1: ADD 00000ba2: MLOAD 00000ba3: DUP2 00000ba4: SSTORE 00000ba5: ADD 00000ba6: SWAP5 00000ba7: ADD 00000ba8: SWAP3 00000ba9: ADD 00000baa: PUSH2 0x0b1d 00000bad: JUMP 00000bae: JUMPDEST 00000baf: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04 00000bd0: DUP6 00000bd1: MSTORE 00000bd2: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa 00000bf3: PUSH1 0x1f 00000bf5: DUP4 00000bf6: ADD 00000bf7: PUSH1 0x05 00000bf9: SHR 00000bfa: DUP2 00000bfb: ADD 00000bfc: SWAP2 00000bfd: PUSH1 0x20 00000bff: DUP5 00000c00: LT 00000c01: PUSH2 0x0c26 00000c04: JUMPI 00000c05: JUMPDEST 00000c06: PUSH1 0x1f 00000c08: ADD 00000c09: PUSH1 0x05 00000c0b: SHR 00000c0c: ADD 00000c0d: SWAP1 00000c0e: JUMPDEST 00000c0f: DUP2 00000c10: DUP2 00000c11: LT 00000c12: PUSH2 0x0c1b 00000c15: JUMPI 00000c16: POP 00000c17: PUSH2 0x0993 00000c1a: JUMP 00000c1b: JUMPDEST 00000c1c: DUP6 00000c1d: DUP2 00000c1e: SSTORE 00000c1f: PUSH1 0x01 00000c21: ADD 00000c22: PUSH2 0x0c0e 00000c25: JUMP 00000c26: JUMPDEST 00000c27: SWAP1 00000c28: SWAP2 00000c29: POP 00000c2a: DUP2 00000c2b: SWAP1 00000c2c: PUSH2 0x0c05 00000c2f: JUMP 00000c30: JUMPDEST 00000c31: PUSH1 0x24 00000c33: DUP5 00000c34: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000c55: DUP2 00000c56: MSTORE 00000c57: PUSH1 0x41 00000c59: PUSH1 0x04 00000c5b: MSTORE 00000c5c: REVERT 00000c5d: JUMPDEST 00000c5e: ADD 00000c5f: MLOAD 00000c60: SWAP1 00000c61: POP 00000c62: PUSH0 00000c63: DUP1 00000c64: PUSH2 0x08fd 00000c67: JUMP 00000c68: JUMPDEST 00000c69: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03 00000c8a: DUP8 00000c8b: MSTORE 00000c8c: DUP2 00000c8d: DUP8 00000c8e: KECCAK256 00000c8f: SWAP3 00000c90: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00000cb1: AND 00000cb2: DUP8 00000cb3: JUMPDEST 00000cb4: DUP2 00000cb5: DUP2 00000cb6: LT 00000cb7: PUSH2 0x0d2d 00000cba: JUMPI 00000cbb: POP 00000cbc: SWAP1 00000cbd: DUP5 00000cbe: PUSH1 0x01 00000cc0: SWAP6 00000cc1: SWAP5 00000cc2: SWAP4 00000cc3: SWAP3 00000cc4: LT 00000cc5: PUSH2 0x0cf6 00000cc8: JUMPI 00000cc9: JUMPDEST 00000cca: POP 00000ccb: POP 00000ccc: POP 00000ccd: DUP2 00000cce: SHL 00000ccf: ADD 00000cd0: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03 00000cf1: SSTORE 00000cf2: PUSH2 0x094f 00000cf5: JUMP 00000cf6: JUMPDEST 00000cf7: ADD 00000cf8: MLOAD 00000cf9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000d1a: PUSH1 0xf8 00000d1c: DUP5 00000d1d: PUSH1 0x03 00000d1f: SHL 00000d20: AND 00000d21: SHR 00000d22: NOT 00000d23: AND 00000d24: SWAP1 00000d25: SSTORE 00000d26: PUSH0 00000d27: DUP1 00000d28: DUP1 00000d29: PUSH2 0x0cc9 00000d2c: JUMP 00000d2d: JUMPDEST 00000d2e: SWAP3 00000d2f: SWAP4 00000d30: PUSH1 0x20 00000d32: PUSH1 0x01 00000d34: DUP2 00000d35: SWAP3 00000d36: DUP8 00000d37: DUP7 00000d38: ADD 00000d39: MLOAD 00000d3a: DUP2 00000d3b: SSTORE 00000d3c: ADD 00000d3d: SWAP6 00000d3e: ADD 00000d3f: SWAP4 00000d40: ADD 00000d41: PUSH2 0x0cb3 00000d44: JUMP 00000d45: JUMPDEST 00000d46: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03 00000d67: DUP8 00000d68: MSTORE 00000d69: SWAP1 00000d6a: SWAP2 00000d6b: POP 00000d6c: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0 00000d8d: PUSH1 0x1f 00000d8f: DUP5 00000d90: ADD 00000d91: PUSH1 0x05 00000d93: SHR 00000d94: DUP2 00000d95: ADD 00000d96: SWAP2 00000d97: PUSH1 0x20 00000d99: DUP6 00000d9a: LT 00000d9b: PUSH2 0x0dc8 00000d9e: JUMPI 00000d9f: JUMPDEST 00000da0: SWAP1 00000da1: PUSH1 0x1f 00000da3: DUP6 00000da4: SWAP5 00000da5: SWAP4 00000da6: SWAP3 00000da7: ADD 00000da8: PUSH1 0x05 00000daa: SHR 00000dab: ADD 00000dac: SWAP1 00000dad: JUMPDEST 00000dae: DUP2 00000daf: DUP2 00000db0: LT 00000db1: PUSH2 0x0dba 00000db4: JUMPI 00000db5: POP 00000db6: PUSH2 0x08e7 00000db9: JUMP 00000dba: JUMPDEST 00000dbb: DUP8 00000dbc: DUP2 00000dbd: SSTORE 00000dbe: DUP5 00000dbf: SWAP4 00000dc0: POP 00000dc1: PUSH1 0x01 00000dc3: ADD 00000dc4: PUSH2 0x0dad 00000dc7: JUMP 00000dc8: JUMPDEST 00000dc9: SWAP1 00000dca: SWAP2 00000dcb: POP 00000dcc: DUP2 00000dcd: SWAP1 00000dce: PUSH2 0x0d9f 00000dd1: JUMP 00000dd2: JUMPDEST 00000dd3: PUSH1 0x24 00000dd5: DUP6 00000dd6: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000df7: DUP2 00000df8: MSTORE 00000df9: PUSH1 0x41 00000dfb: PUSH1 0x04 00000dfd: MSTORE 00000dfe: REVERT 00000dff: JUMPDEST 00000e00: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 00000e21: AND 00000e22: PUSH9 0x010000000000000001 00000e2c: OR 00000e2d: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 00000e4e: SSTORE 00000e4f: PUSH0 00000e50: PUSH2 0x081f 00000e53: JUMP 00000e54: JUMPDEST 00000e55: PUSH1 0x04 00000e57: DUP3 00000e58: PUSH32 0xf92ee8a900000000000000000000000000000000000000000000000000000000 00000e79: DUP2 00000e7a: MSTORE 00000e7b: REVERT 00000e7c: JUMPDEST 00000e7d: SWAP1 00000e7e: POP 00000e7f: ISZERO 00000e80: PUSH0 00000e81: PUSH2 0x07cc 00000e84: JUMP 00000e85: JUMPDEST 00000e86: ADDRESS 00000e87: EXTCODESIZE 00000e88: ISZERO 00000e89: SWAP2 00000e8a: POP 00000e8b: PUSH2 0x07c4 00000e8e: JUMP 00000e8f: JUMPDEST 00000e90: DUP5 00000e91: SWAP2 00000e92: POP 00000e93: PUSH2 0x07ba 00000e96: JUMP 00000e97: JUMPDEST 00000e98: POP 00000e99: CALLVALUE 00000e9a: PUSH2 0x022c 00000e9d: JUMPI 00000e9e: DUP1 00000e9f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000ec0: CALLDATASIZE 00000ec1: ADD 00000ec2: SLT 00000ec3: PUSH2 0x022c 00000ec6: JUMPI 00000ec7: PUSH2 0x0ece 00000eca: PUSH2 0x213a 00000ecd: JUMP 00000ece: JUMPDEST 00000ecf: DUP1 00000ed0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ee5: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00000f06: SLOAD 00000f07: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000f28: DUP2 00000f29: AND 00000f2a: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00000f4b: SSTORE 00000f4c: AND 00000f4d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000f6e: DUP3 00000f6f: DUP1 00000f70: LOG3 00000f71: DUP1 00000f72: RETURN 00000f73: JUMPDEST 00000f74: POP 00000f75: CALLVALUE 00000f76: PUSH2 0x022c 00000f79: JUMPI 00000f7a: PUSH1 0x20 00000f7c: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000f9d: CALLDATASIZE 00000f9e: ADD 00000f9f: SLT 00000fa0: PUSH2 0x022c 00000fa3: JUMPI 00000fa4: PUSH1 0x40 00000fa6: PUSH1 0x20 00000fa8: SWAP2 00000fa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fbe: PUSH2 0x0fc5 00000fc1: PUSH2 0x1bb5 00000fc4: JUMP 00000fc5: JUMPDEST 00000fc6: AND 00000fc7: DUP2 00000fc8: MSTORE 00000fc9: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00000fea: DUP4 00000feb: MSTORE 00000fec: KECCAK256 00000fed: SLOAD 00000fee: PUSH1 0x40 00000ff0: MLOAD 00000ff1: SWAP1 00000ff2: DUP2 00000ff3: MSTORE 00000ff4: RETURN 00000ff5: JUMPDEST 00000ff6: POP 00000ff7: CALLVALUE 00000ff8: PUSH2 0x022c 00000ffb: JUMPI 00000ffc: DUP1 00000ffd: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000101e: CALLDATASIZE 0000101f: ADD 00001020: SLT 00001021: PUSH2 0x022c 00001024: JUMPI 00001025: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000103a: PUSH32 0x000000000000000000000000dd95dae9c7b8975442937fbf8652505dbfb3dcf5 0000105b: AND 0000105c: ADDRESS 0000105d: SUB 0000105e: PUSH2 0x108b 00001061: JUMPI 00001062: PUSH1 0x20 00001064: PUSH1 0x40 00001066: MLOAD 00001067: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00001088: DUP2 00001089: MSTORE 0000108a: RETURN 0000108b: JUMPDEST 0000108c: DUP1 0000108d: PUSH32 0xe07c8dba00000000000000000000000000000000000000000000000000000000 000010ae: PUSH1 0x04 000010b0: SWAP3 000010b1: MSTORE 000010b2: REVERT 000010b3: JUMPDEST 000010b4: POP 000010b5: PUSH1 0x40 000010b7: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000010d8: CALLDATASIZE 000010d9: ADD 000010da: SLT 000010db: PUSH2 0x022c 000010de: JUMPI 000010df: PUSH2 0x10e6 000010e2: PUSH2 0x1bb5 000010e5: JUMP 000010e6: JUMPDEST 000010e7: PUSH1 0x24 000010e9: CALLDATALOAD 000010ea: SWAP1 000010eb: PUSH8 0xffffffffffffffff 000010f4: DUP3 000010f5: GT 000010f6: PUSH2 0x1423 000010f9: JUMPI 000010fa: CALLDATASIZE 000010fb: PUSH1 0x23 000010fd: DUP4 000010fe: ADD 000010ff: SLT 00001100: ISZERO 00001101: PUSH2 0x1423 00001104: JUMPI 00001105: DUP2 00001106: PUSH1 0x04 00001108: ADD 00001109: CALLDATALOAD 0000110a: SWAP1 0000110b: DUP4 0000110c: PUSH2 0x1114 0000110f: DUP4 00001110: PUSH2 0x1c69 00001113: JUMP 00001114: JUMPDEST 00001115: SWAP4 00001116: PUSH2 0x1122 00001119: PUSH1 0x40 0000111b: MLOAD 0000111c: SWAP6 0000111d: DUP7 0000111e: PUSH2 0x1bfb 00001121: JUMP 00001122: JUMPDEST 00001123: DUP4 00001124: DUP6 00001125: MSTORE 00001126: PUSH1 0x20 00001128: DUP6 00001129: ADD 0000112a: SWAP4 0000112b: CALLDATASIZE 0000112c: PUSH1 0x24 0000112e: DUP3 0000112f: DUP5 00001130: ADD 00001131: ADD 00001132: GT 00001133: PUSH2 0x1423 00001136: JUMPI 00001137: DUP1 00001138: PUSH1 0x24 0000113a: PUSH1 0x20 0000113c: SWAP4 0000113d: ADD 0000113e: DUP7 0000113f: CALLDATACOPY 00001140: DUP6 00001141: ADD 00001142: ADD 00001143: MSTORE 00001144: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001159: PUSH32 0x000000000000000000000000dd95dae9c7b8975442937fbf8652505dbfb3dcf5 0000117a: AND 0000117b: DUP1 0000117c: ADDRESS 0000117d: EQ 0000117e: SWAP1 0000117f: DUP2 00001180: ISZERO 00001181: PUSH2 0x13e1 00001184: JUMPI 00001185: JUMPDEST 00001186: POP 00001187: PUSH2 0x13b9 0000118a: JUMPI 0000118b: PUSH2 0x1192 0000118e: PUSH2 0x213a 00001191: JUMP 00001192: JUMPDEST 00001193: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011a8: DUP2 000011a9: AND 000011aa: SWAP3 000011ab: PUSH1 0x40 000011ad: MLOAD 000011ae: PUSH32 0x52d1902d00000000000000000000000000000000000000000000000000000000 000011cf: DUP2 000011d0: MSTORE 000011d1: PUSH1 0x20 000011d3: DUP2 000011d4: PUSH1 0x04 000011d6: DUP2 000011d7: DUP9 000011d8: GAS 000011d9: STATICCALL 000011da: DUP7 000011db: SWAP2 000011dc: DUP2 000011dd: PUSH2 0x1381 000011e0: JUMPI 000011e1: JUMPDEST 000011e2: POP 000011e3: PUSH2 0x1212 000011e6: JUMPI 000011e7: PUSH1 0x24 000011e9: DUP7 000011ea: DUP7 000011eb: PUSH32 0x4c9c8ce300000000000000000000000000000000000000000000000000000000 0000120c: DUP3 0000120d: MSTORE 0000120e: PUSH1 0x04 00001210: MSTORE 00001211: REVERT 00001212: JUMPDEST 00001213: SWAP4 00001214: DUP5 00001215: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00001236: DUP8 00001237: SWAP7 00001238: SUB 00001239: PUSH2 0x1356 0000123c: JUMPI 0000123d: POP 0000123e: DUP3 0000123f: EXTCODESIZE 00001240: ISZERO 00001241: PUSH2 0x132b 00001244: JUMPI 00001245: SWAP1 00001246: DUP2 00001247: DUP6 00001248: SWAP3 00001249: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 0000126a: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 0000128b: SLOAD 0000128c: AND 0000128d: OR 0000128e: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 000012af: SSTORE 000012b0: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b 000012d1: DUP4 000012d2: DUP1 000012d3: LOG2 000012d4: DUP1 000012d5: MLOAD 000012d6: ISZERO 000012d7: PUSH2 0x12f7 000012da: JUMPI 000012db: PUSH2 0x12f3 000012de: SWAP4 000012df: DUP3 000012e0: SWAP2 000012e1: MLOAD 000012e2: SWAP1 000012e3: DUP5 000012e4: GAS 000012e5: DELEGATECALL 000012e6: PUSH2 0x12ed 000012e9: PUSH2 0x1cf4 000012ec: JUMP 000012ed: JUMPDEST 000012ee: SWAP2 000012ef: PUSH2 0x2402 000012f2: JUMP 000012f3: JUMPDEST 000012f4: POP 000012f5: DUP1 000012f6: RETURN 000012f7: JUMPDEST 000012f8: POP 000012f9: POP 000012fa: POP 000012fb: POP 000012fc: CALLVALUE 000012fd: PUSH2 0x1303 00001300: JUMPI 00001301: DUP1 00001302: RETURN 00001303: JUMPDEST 00001304: DUP1 00001305: PUSH32 0xb398979f00000000000000000000000000000000000000000000000000000000 00001326: PUSH1 0x04 00001328: SWAP3 00001329: MSTORE 0000132a: REVERT 0000132b: JUMPDEST 0000132c: PUSH32 0x4c9c8ce300000000000000000000000000000000000000000000000000000000 0000134d: DUP6 0000134e: MSTORE 0000134f: PUSH1 0x04 00001351: MSTORE 00001352: PUSH1 0x24 00001354: DUP5 00001355: REVERT 00001356: JUMPDEST 00001357: PUSH32 0xaa1d49a400000000000000000000000000000000000000000000000000000000 00001378: DUP7 00001379: MSTORE 0000137a: PUSH1 0x04 0000137c: MSTORE 0000137d: PUSH1 0x24 0000137f: DUP6 00001380: REVERT 00001381: JUMPDEST 00001382: SWAP1 00001383: SWAP2 00001384: POP 00001385: PUSH1 0x20 00001387: DUP2 00001388: RETURNDATASIZE 00001389: PUSH1 0x20 0000138b: GT 0000138c: PUSH2 0x13b1 0000138f: JUMPI 00001390: JUMPDEST 00001391: DUP2 00001392: PUSH2 0x139d 00001395: PUSH1 0x20 00001397: SWAP4 00001398: DUP4 00001399: PUSH2 0x1bfb 0000139c: JUMP 0000139d: JUMPDEST 0000139e: DUP2 0000139f: ADD 000013a0: SUB 000013a1: SLT 000013a2: PUSH2 0x13ad 000013a5: JUMPI 000013a6: MLOAD 000013a7: SWAP1 000013a8: PUSH0 000013a9: PUSH2 0x11e1 000013ac: JUMP 000013ad: JUMPDEST 000013ae: DUP7 000013af: DUP1 000013b0: REVERT 000013b1: JUMPDEST 000013b2: RETURNDATASIZE 000013b3: SWAP2 000013b4: POP 000013b5: PUSH2 0x1390 000013b8: JUMP 000013b9: JUMPDEST 000013ba: PUSH1 0x04 000013bc: DUP5 000013bd: PUSH32 0xe07c8dba00000000000000000000000000000000000000000000000000000000 000013de: DUP2 000013df: MSTORE 000013e0: REVERT 000013e1: JUMPDEST 000013e2: SWAP1 000013e3: POP 000013e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013f9: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 0000141a: SLOAD 0000141b: AND 0000141c: EQ 0000141d: ISZERO 0000141e: PUSH0 0000141f: PUSH2 0x1185 00001422: JUMP 00001423: JUMPDEST 00001424: DUP3 00001425: DUP1 00001426: REVERT 00001427: JUMPDEST 00001428: POP 00001429: CALLVALUE 0000142a: PUSH2 0x022c 0000142d: JUMPI 0000142e: PUSH1 0x20 00001430: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001451: CALLDATASIZE 00001452: ADD 00001453: SLT 00001454: PUSH2 0x022c 00001457: JUMPI 00001458: PUSH32 0xcb1a78c515093d94f424921724c8d59393fa758e2bc9162c71501fde05c8100f 00001479: PUSH1 0x20 0000147b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001490: PUSH2 0x1497 00001493: PUSH2 0x1bb5 00001496: JUMP 00001497: JUMPDEST 00001498: PUSH2 0x149f 0000149b: PUSH2 0x213a 0000149e: JUMP 0000149f: JUMPDEST 000014a0: AND 000014a1: DUP1 000014a2: DUP5 000014a3: MSTORE 000014a4: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000 000014c5: DUP3 000014c6: MSTORE 000014c7: PUSH1 0x40 000014c9: DUP5 000014ca: KECCAK256 000014cb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000014ec: DUP2 000014ed: SLOAD 000014ee: AND 000014ef: SWAP1 000014f0: SSTORE 000014f1: PUSH1 0x40 000014f3: MLOAD 000014f4: SWAP1 000014f5: DUP2 000014f6: MSTORE 000014f7: LOG1 000014f8: DUP1 000014f9: RETURN 000014fa: JUMPDEST 000014fb: POP 000014fc: CALLVALUE 000014fd: PUSH2 0x022c 00001500: JUMPI 00001501: DUP1 00001502: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001523: CALLDATASIZE 00001524: ADD 00001525: SLT 00001526: PUSH2 0x022c 00001529: JUMPI 0000152a: PUSH1 0x20 0000152c: PUSH1 0x40 0000152e: MLOAD 0000152f: PUSH1 0x12 00001531: DUP2 00001532: MSTORE 00001533: RETURN 00001534: JUMPDEST 00001535: CALLVALUE 00001536: PUSH2 0x166e 00001539: JUMPI 0000153a: PUSH1 0x20 0000153c: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000155d: CALLDATASIZE 0000155e: ADD 0000155f: SLT 00001560: PUSH2 0x166e 00001563: JUMPI 00001564: PUSH1 0x04 00001566: CALLDATALOAD 00001567: PUSH2 0x156e 0000156a: PUSH2 0x20c6 0000156d: JUMP 0000156e: JUMPDEST 0000156f: CALLER 00001570: ISZERO 00001571: PUSH2 0x1642 00001574: JUMPI 00001575: PUSH0 00001576: DUP1 00001577: MSTORE 00001578: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000 00001599: PUSH1 0x20 0000159b: MSTORE 0000159c: PUSH2 0x15a6 0000159f: DUP2 000015a0: PUSH0 000015a1: CALLER 000015a2: PUSH2 0x21fd 000015a5: JUMP 000015a6: JUMPDEST 000015a7: PUSH1 0x40 000015a9: DUP1 000015aa: MLOAD 000015ab: CALLER 000015ac: DUP2 000015ad: MSTORE 000015ae: PUSH1 0x20 000015b0: DUP2 000015b1: ADD 000015b2: DUP4 000015b3: SWAP1 000015b4: MSTORE 000015b5: PUSH32 0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364 000015d6: SWAP2 000015d7: SWAP1 000015d8: LOG1 000015d9: PUSH0 000015da: DUP1 000015db: DUP1 000015dc: DUP1 000015dd: DUP5 000015de: CALLER 000015df: GAS 000015e0: CALL 000015e1: PUSH2 0x15e8 000015e4: PUSH2 0x1cf4 000015e7: JUMP 000015e8: JUMPDEST 000015e9: POP 000015ea: ISZERO 000015eb: PUSH2 0x1613 000015ee: JUMPI 000015ef: PUSH0 000015f0: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 00001611: TSTORE 00001612: STOP 00001613: JUMPDEST 00001614: PUSH32 0x14c434b900000000000000000000000000000000000000000000000000000000 00001635: PUSH0 00001636: MSTORE 00001637: CALLER 00001638: PUSH1 0x04 0000163a: MSTORE 0000163b: PUSH1 0x24 0000163d: MSTORE 0000163e: PUSH1 0x44 00001640: PUSH0 00001641: REVERT 00001642: JUMPDEST 00001643: PUSH32 0x96c6fd1e00000000000000000000000000000000000000000000000000000000 00001664: PUSH0 00001665: MSTORE 00001666: PUSH0 00001667: PUSH1 0x04 00001669: MSTORE 0000166a: PUSH1 0x24 0000166c: PUSH0 0000166d: REVERT 0000166e: JUMPDEST 0000166f: PUSH0 00001670: DUP1 00001671: REVERT 00001672: JUMPDEST 00001673: CALLVALUE 00001674: PUSH2 0x166e 00001677: JUMPI 00001678: PUSH1 0x20 0000167a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000169b: CALLDATASIZE 0000169c: ADD 0000169d: SLT 0000169e: PUSH2 0x166e 000016a1: JUMPI 000016a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016b7: PUSH2 0x16be 000016ba: PUSH2 0x1bb5 000016bd: JUMP 000016be: JUMPDEST 000016bf: AND 000016c0: PUSH0 000016c1: MSTORE 000016c2: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000 000016e3: PUSH1 0x20 000016e5: MSTORE 000016e6: PUSH1 0x20 000016e8: PUSH1 0xff 000016ea: PUSH1 0x40 000016ec: PUSH0 000016ed: KECCAK256 000016ee: SLOAD 000016ef: AND 000016f0: PUSH1 0x40 000016f2: MLOAD 000016f3: SWAP1 000016f4: ISZERO 000016f5: ISZERO 000016f6: DUP2 000016f7: MSTORE 000016f8: RETURN 000016f9: JUMPDEST 000016fa: CALLVALUE 000016fb: PUSH2 0x166e 000016fe: JUMPI 000016ff: PUSH1 0x60 00001701: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001722: CALLDATASIZE 00001723: ADD 00001724: SLT 00001725: PUSH2 0x166e 00001728: JUMPI 00001729: PUSH2 0x1730 0000172c: PUSH2 0x1bb5 0000172f: JUMP 00001730: JUMPDEST 00001731: PUSH2 0x1738 00001734: PUSH2 0x1bd8 00001737: JUMP 00001738: JUMPDEST 00001739: PUSH1 0x44 0000173b: CALLDATALOAD 0000173c: SWAP1 0000173d: PUSH2 0x1783 00001740: DUP4 00001741: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001756: AND 00001757: PUSH0 00001758: MSTORE 00001759: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01 0000177a: PUSH1 0x20 0000177c: MSTORE 0000177d: PUSH1 0x40 0000177f: PUSH0 00001780: KECCAK256 00001781: SWAP1 00001782: JUMP 00001783: JUMPDEST 00001784: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001799: CALLER 0000179a: AND 0000179b: PUSH0 0000179c: MSTORE 0000179d: PUSH1 0x20 0000179f: MSTORE 000017a0: PUSH1 0x40 000017a2: PUSH0 000017a3: KECCAK256 000017a4: SLOAD 000017a5: SWAP3 000017a6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000017c7: DUP5 000017c8: SUB 000017c9: PUSH2 0x17d7 000017cc: JUMPI 000017cd: JUMPDEST 000017ce: PUSH2 0x057a 000017d1: SWAP4 000017d2: POP 000017d3: PUSH2 0x1e10 000017d6: JUMP 000017d7: JUMPDEST 000017d8: DUP3 000017d9: DUP5 000017da: LT 000017db: PUSH2 0x18cd 000017de: JUMPI 000017df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017f4: DUP2 000017f5: AND 000017f6: ISZERO 000017f7: PUSH2 0x18a1 000017fa: JUMPI 000017fb: CALLER 000017fc: ISZERO 000017fd: PUSH2 0x1875 00001800: JUMPI 00001801: PUSH2 0x057a 00001804: SWAP4 00001805: PUSH2 0x184b 00001808: DUP3 00001809: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000181e: AND 0000181f: PUSH0 00001820: MSTORE 00001821: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01 00001842: PUSH1 0x20 00001844: MSTORE 00001845: PUSH1 0x40 00001847: PUSH0 00001848: KECCAK256 00001849: SWAP1 0000184a: JUMP 0000184b: JUMPDEST 0000184c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001861: CALLER 00001862: AND 00001863: PUSH0 00001864: MSTORE 00001865: PUSH1 0x20 00001867: MSTORE 00001868: DUP4 00001869: PUSH1 0x40 0000186b: PUSH0 0000186c: KECCAK256 0000186d: SWAP2 0000186e: SUB 0000186f: SWAP1 00001870: SSTORE 00001871: PUSH2 0x17cd 00001874: JUMP 00001875: JUMPDEST 00001876: PUSH32 0x94280d6200000000000000000000000000000000000000000000000000000000 00001897: PUSH0 00001898: MSTORE 00001899: PUSH0 0000189a: PUSH1 0x04 0000189c: MSTORE 0000189d: PUSH1 0x24 0000189f: PUSH0 000018a0: REVERT 000018a1: JUMPDEST 000018a2: PUSH32 0xe602df0500000000000000000000000000000000000000000000000000000000 000018c3: PUSH0 000018c4: MSTORE 000018c5: PUSH0 000018c6: PUSH1 0x04 000018c8: MSTORE 000018c9: PUSH1 0x24 000018cb: PUSH0 000018cc: REVERT 000018cd: JUMPDEST 000018ce: DUP3 000018cf: DUP5 000018d0: PUSH32 0xfb8f41b200000000000000000000000000000000000000000000000000000000 000018f1: PUSH0 000018f2: MSTORE 000018f3: CALLER 000018f4: PUSH1 0x04 000018f6: MSTORE 000018f7: PUSH1 0x24 000018f9: MSTORE 000018fa: PUSH1 0x44 000018fc: MSTORE 000018fd: PUSH1 0x64 000018ff: PUSH0 00001900: REVERT 00001901: JUMPDEST 00001902: CALLVALUE 00001903: PUSH2 0x166e 00001906: JUMPI 00001907: PUSH0 00001908: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001929: CALLDATASIZE 0000192a: ADD 0000192b: SLT 0000192c: PUSH2 0x166e 0000192f: JUMPI 00001930: PUSH1 0x20 00001932: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00001953: SLOAD 00001954: PUSH1 0x40 00001956: MLOAD 00001957: SWAP1 00001958: DUP2 00001959: MSTORE 0000195a: RETURN 0000195b: JUMPDEST 0000195c: CALLVALUE 0000195d: PUSH2 0x166e 00001960: JUMPI 00001961: PUSH1 0x40 00001963: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001984: CALLDATASIZE 00001985: ADD 00001986: SLT 00001987: PUSH2 0x166e 0000198a: JUMPI 0000198b: PUSH2 0x1992 0000198e: PUSH2 0x1bb5 00001991: JUMP 00001992: JUMPDEST 00001993: PUSH1 0x24 00001995: CALLDATALOAD 00001996: SWAP1 00001997: CALLER 00001998: ISZERO 00001999: PUSH2 0x18a1 0000199c: JUMPI 0000199d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019b2: AND 000019b3: SWAP1 000019b4: DUP2 000019b5: ISZERO 000019b6: PUSH2 0x1875 000019b9: JUMPI 000019ba: CALLER 000019bb: PUSH0 000019bc: SWAP1 000019bd: DUP2 000019be: MSTORE 000019bf: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01 000019e0: PUSH1 0x20 000019e2: MSTORE 000019e3: PUSH1 0x40 000019e5: SWAP1 000019e6: KECCAK256 000019e7: DUP3 000019e8: PUSH0 000019e9: MSTORE 000019ea: PUSH1 0x20 000019ec: MSTORE 000019ed: DUP1 000019ee: PUSH1 0x40 000019f0: PUSH0 000019f1: KECCAK256 000019f2: SSTORE 000019f3: PUSH1 0x40 000019f5: MLOAD 000019f6: SWAP1 000019f7: DUP2 000019f8: MSTORE 000019f9: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00001a1a: PUSH1 0x20 00001a1c: CALLER 00001a1d: SWAP3 00001a1e: LOG3 00001a1f: PUSH1 0x20 00001a21: PUSH1 0x40 00001a23: MLOAD 00001a24: PUSH1 0x01 00001a26: DUP2 00001a27: MSTORE 00001a28: RETURN 00001a29: JUMPDEST 00001a2a: CALLVALUE 00001a2b: PUSH2 0x166e 00001a2e: JUMPI 00001a2f: PUSH0 00001a30: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001a51: CALLDATASIZE 00001a52: ADD 00001a53: SLT 00001a54: PUSH2 0x166e 00001a57: JUMPI 00001a58: PUSH1 0x40 00001a5a: MLOAD 00001a5b: PUSH0 00001a5c: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03 00001a7d: SLOAD 00001a7e: PUSH2 0x1a86 00001a81: DUP2 00001a82: PUSH2 0x1ca3 00001a85: JUMP 00001a86: JUMPDEST 00001a87: DUP1 00001a88: DUP5 00001a89: MSTORE 00001a8a: SWAP1 00001a8b: PUSH1 0x01 00001a8d: DUP2 00001a8e: AND 00001a8f: SWAP1 00001a90: DUP2 00001a91: ISZERO 00001a92: PUSH2 0x1b2b 00001a95: JUMPI 00001a96: POP 00001a97: PUSH1 0x01 00001a99: EQ 00001a9a: PUSH2 0x1aae 00001a9d: JUMPI 00001a9e: JUMPDEST 00001a9f: PUSH2 0x0531 00001aa2: DUP4 00001aa3: PUSH2 0x060d 00001aa6: DUP2 00001aa7: DUP6 00001aa8: SUB 00001aa9: DUP3 00001aaa: PUSH2 0x1bfb 00001aad: JUMP 00001aae: JUMPDEST 00001aaf: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03 00001ad0: PUSH0 00001ad1: SWAP1 00001ad2: DUP2 00001ad3: MSTORE 00001ad4: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0 00001af5: SWAP4 00001af6: SWAP3 00001af7: POP 00001af8: SWAP1 00001af9: JUMPDEST 00001afa: DUP1 00001afb: DUP3 00001afc: LT 00001afd: PUSH2 0x1b11 00001b00: JUMPI 00001b01: POP 00001b02: SWAP1 00001b03: SWAP2 00001b04: POP 00001b05: DUP2 00001b06: ADD 00001b07: PUSH1 0x20 00001b09: ADD 00001b0a: PUSH2 0x060d 00001b0d: PUSH2 0x1a9e 00001b10: JUMP 00001b11: JUMPDEST 00001b12: SWAP2 00001b13: SWAP3 00001b14: PUSH1 0x01 00001b16: DUP2 00001b17: PUSH1 0x20 00001b19: SWAP3 00001b1a: SLOAD 00001b1b: DUP4 00001b1c: DUP6 00001b1d: DUP9 00001b1e: ADD 00001b1f: ADD 00001b20: MSTORE 00001b21: ADD 00001b22: SWAP2 00001b23: ADD 00001b24: SWAP1 00001b25: SWAP3 00001b26: SWAP2 00001b27: PUSH2 0x1af9 00001b2a: JUMP 00001b2b: JUMPDEST 00001b2c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001b4d: AND 00001b4e: PUSH1 0x20 00001b50: DUP1 00001b51: DUP7 00001b52: ADD 00001b53: SWAP2 00001b54: SWAP1 00001b55: SWAP2 00001b56: MSTORE 00001b57: SWAP2 00001b58: ISZERO 00001b59: ISZERO 00001b5a: PUSH1 0x05 00001b5c: SHL 00001b5d: DUP5 00001b5e: ADD 00001b5f: SWAP1 00001b60: SWAP2 00001b61: ADD 00001b62: SWAP2 00001b63: POP 00001b64: PUSH2 0x060d 00001b67: SWAP1 00001b68: POP 00001b69: PUSH2 0x1a9e 00001b6c: JUMP 00001b6d: JUMPDEST 00001b6e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001b8f: PUSH1 0x1f 00001b91: PUSH1 0x20 00001b93: PUSH1 0x40 00001b95: SWAP5 00001b96: DUP2 00001b97: DUP6 00001b98: MSTORE 00001b99: DUP1 00001b9a: MLOAD 00001b9b: SWAP2 00001b9c: DUP3 00001b9d: SWAP2 00001b9e: DUP3 00001b9f: DUP3 00001ba0: DUP9 00001ba1: ADD 00001ba2: MSTORE 00001ba3: ADD 00001ba4: DUP7 00001ba5: DUP7 00001ba6: ADD 00001ba7: MCOPY 00001ba8: PUSH0 00001ba9: DUP6 00001baa: DUP3 00001bab: DUP7 00001bac: ADD 00001bad: ADD 00001bae: MSTORE 00001baf: ADD 00001bb0: AND 00001bb1: ADD 00001bb2: ADD 00001bb3: SWAP1 00001bb4: JUMP 00001bb5: JUMPDEST 00001bb6: PUSH1 0x04 00001bb8: CALLDATALOAD 00001bb9: SWAP1 00001bba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bcf: DUP3 00001bd0: AND 00001bd1: DUP3 00001bd2: SUB 00001bd3: PUSH2 0x166e 00001bd6: JUMPI 00001bd7: JUMP 00001bd8: JUMPDEST 00001bd9: PUSH1 0x24 00001bdb: CALLDATALOAD 00001bdc: SWAP1 00001bdd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bf2: DUP3 00001bf3: AND 00001bf4: DUP3 00001bf5: SUB 00001bf6: PUSH2 0x166e 00001bf9: JUMPI 00001bfa: JUMP 00001bfb: JUMPDEST 00001bfc: SWAP1 00001bfd: PUSH1 0x1f 00001bff: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001c20: SWAP2 00001c21: ADD 00001c22: AND 00001c23: DUP2 00001c24: ADD 00001c25: SWAP1 00001c26: DUP2 00001c27: LT 00001c28: PUSH8 0xffffffffffffffff 00001c31: DUP3 00001c32: GT 00001c33: OR 00001c34: PUSH2 0x1c3c 00001c37: JUMPI 00001c38: PUSH1 0x40 00001c3a: MSTORE 00001c3b: JUMP 00001c3c: JUMPDEST 00001c3d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001c5e: PUSH0 00001c5f: MSTORE 00001c60: PUSH1 0x41 00001c62: PUSH1 0x04 00001c64: MSTORE 00001c65: PUSH1 0x24 00001c67: PUSH0 00001c68: REVERT 00001c69: JUMPDEST 00001c6a: PUSH8 0xffffffffffffffff 00001c73: DUP2 00001c74: GT 00001c75: PUSH2 0x1c3c 00001c78: JUMPI 00001c79: PUSH1 0x1f 00001c7b: ADD 00001c7c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001c9d: AND 00001c9e: PUSH1 0x20 00001ca0: ADD 00001ca1: SWAP1 00001ca2: JUMP 00001ca3: JUMPDEST 00001ca4: SWAP1 00001ca5: PUSH1 0x01 00001ca7: DUP3 00001ca8: DUP2 00001ca9: SHR 00001caa: SWAP3 00001cab: AND 00001cac: DUP1 00001cad: ISZERO 00001cae: PUSH2 0x1cea 00001cb1: JUMPI 00001cb2: JUMPDEST 00001cb3: PUSH1 0x20 00001cb5: DUP4 00001cb6: LT 00001cb7: EQ 00001cb8: PUSH2 0x1cbd 00001cbb: JUMPI 00001cbc: JUMP 00001cbd: JUMPDEST 00001cbe: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001cdf: PUSH0 00001ce0: MSTORE 00001ce1: PUSH1 0x22 00001ce3: PUSH1 0x04 00001ce5: MSTORE 00001ce6: PUSH1 0x24 00001ce8: PUSH0 00001ce9: REVERT 00001cea: JUMPDEST 00001ceb: SWAP2 00001cec: PUSH1 0x7f 00001cee: AND 00001cef: SWAP2 00001cf0: PUSH2 0x1cb2 00001cf3: JUMP 00001cf4: JUMPDEST 00001cf5: RETURNDATASIZE 00001cf6: ISZERO 00001cf7: PUSH2 0x1d1e 00001cfa: JUMPI 00001cfb: RETURNDATASIZE 00001cfc: SWAP1 00001cfd: PUSH2 0x1d05 00001d00: DUP3 00001d01: PUSH2 0x1c69 00001d04: JUMP 00001d05: JUMPDEST 00001d06: SWAP2 00001d07: PUSH2 0x1d13 00001d0a: PUSH1 0x40 00001d0c: MLOAD 00001d0d: SWAP4 00001d0e: DUP5 00001d0f: PUSH2 0x1bfb 00001d12: JUMP 00001d13: JUMPDEST 00001d14: DUP3 00001d15: MSTORE 00001d16: RETURNDATASIZE 00001d17: PUSH0 00001d18: PUSH1 0x20 00001d1a: DUP5 00001d1b: ADD 00001d1c: RETURNDATACOPY 00001d1d: JUMP 00001d1e: JUMPDEST 00001d1f: PUSH1 0x60 00001d21: SWAP1 00001d22: JUMP 00001d23: JUMPDEST 00001d24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d39: AND 00001d3a: DUP1 00001d3b: ISZERO 00001d3c: PUSH2 0x1de4 00001d3f: JUMPI 00001d40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d55: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00001d76: SLOAD 00001d77: DUP3 00001d78: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001d99: DUP3 00001d9a: AND 00001d9b: OR 00001d9c: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00001dbd: SSTORE 00001dbe: AND 00001dbf: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001de0: PUSH0 00001de1: DUP1 00001de2: LOG3 00001de3: JUMP 00001de4: JUMPDEST 00001de5: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000 00001e06: PUSH0 00001e07: MSTORE 00001e08: PUSH0 00001e09: PUSH1 0x04 00001e0b: MSTORE 00001e0c: PUSH1 0x24 00001e0e: PUSH0 00001e0f: REVERT 00001e10: JUMPDEST 00001e11: SWAP1 00001e12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e27: DUP3 00001e28: AND 00001e29: SWAP1 00001e2a: DUP2 00001e2b: ISZERO 00001e2c: PUSH2 0x1642 00001e2f: JUMPI 00001e30: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e45: DUP2 00001e46: AND 00001e47: SWAP3 00001e48: DUP4 00001e49: ISZERO 00001e4a: PUSH2 0x00c4 00001e4d: JUMPI 00001e4e: DUP4 00001e4f: PUSH0 00001e50: MSTORE 00001e51: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000 00001e72: PUSH1 0x20 00001e74: MSTORE 00001e75: PUSH1 0xff 00001e77: PUSH1 0x40 00001e79: PUSH0 00001e7a: KECCAK256 00001e7b: SLOAD 00001e7c: AND 00001e7d: ISZERO 00001e7e: PUSH0 00001e7f: EQ 00001e80: PUSH2 0x20b6 00001e83: JUMPI 00001e84: POP 00001e85: POP 00001e86: DUP1 00001e87: PUSH2 0x1ff8 00001e8a: JUMPI 00001e8b: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00001eac: SLOAD 00001ead: DUP4 00001eae: DUP2 00001eaf: ADD 00001eb0: DUP1 00001eb1: SWAP2 00001eb2: GT 00001eb3: PUSH2 0x1fcb 00001eb6: JUMPI 00001eb7: PUSH32 0xb4a87134099d10c48345145381989042ab07dc53e6e62a6511fca55438562e26 00001ed8: SWAP2 00001ed9: PUSH1 0x60 00001edb: SWAP2 00001edc: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00001efd: SSTORE 00001efe: JUMPDEST 00001eff: DUP5 00001f00: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00001f21: SLOAD 00001f22: SUB 00001f23: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00001f44: SSTORE 00001f45: PUSH0 00001f46: DUP2 00001f47: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001f68: PUSH1 0x20 00001f6a: PUSH1 0x40 00001f6c: MLOAD 00001f6d: DUP10 00001f6e: DUP2 00001f6f: MSTORE 00001f70: LOG3 00001f71: PUSH1 0x40 00001f73: MLOAD 00001f74: SWAP1 00001f75: DUP2 00001f76: MSTORE 00001f77: DUP4 00001f78: PUSH1 0x20 00001f7a: DUP3 00001f7b: ADD 00001f7c: MSTORE 00001f7d: DUP5 00001f7e: PUSH1 0x40 00001f80: DUP3 00001f81: ADD 00001f82: MSTORE 00001f83: LOG1 00001f84: PUSH0 00001f85: DUP1 00001f86: DUP1 00001f87: DUP1 00001f88: DUP6 00001f89: DUP6 00001f8a: GAS 00001f8b: CALL 00001f8c: PUSH2 0x1f93 00001f8f: PUSH2 0x1cf4 00001f92: JUMP 00001f93: JUMPDEST 00001f94: POP 00001f95: ISZERO 00001f96: PUSH2 0x1f9d 00001f99: JUMPI 00001f9a: POP 00001f9b: POP 00001f9c: JUMP 00001f9d: JUMPDEST 00001f9e: PUSH32 0x14c434b900000000000000000000000000000000000000000000000000000000 00001fbf: PUSH0 00001fc0: MSTORE 00001fc1: PUSH1 0x04 00001fc3: MSTORE 00001fc4: PUSH1 0x24 00001fc6: MSTORE 00001fc7: PUSH1 0x44 00001fc9: PUSH0 00001fca: REVERT 00001fcb: JUMPDEST 00001fcc: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001fed: PUSH0 00001fee: MSTORE 00001fef: PUSH1 0x11 00001ff1: PUSH1 0x04 00001ff3: MSTORE 00001ff4: PUSH1 0x24 00001ff6: PUSH0 00001ff7: REVERT 00001ff8: JUMPDEST 00001ff9: DUP1 00001ffa: PUSH0 00001ffb: MSTORE 00001ffc: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 0000201d: PUSH1 0x20 0000201f: MSTORE 00002020: PUSH1 0x40 00002022: PUSH0 00002023: KECCAK256 00002024: SLOAD 00002025: DUP4 00002026: DUP2 00002027: LT 00002028: PUSH2 0x2083 0000202b: JUMPI 0000202c: DUP2 0000202d: DUP5 0000202e: PUSH1 0x60 00002030: SWAP3 00002031: PUSH32 0xb4a87134099d10c48345145381989042ab07dc53e6e62a6511fca55438562e26 00002052: SWAP5 00002053: PUSH0 00002054: MSTORE 00002055: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00002076: PUSH1 0x20 00002078: MSTORE 00002079: SUB 0000207a: PUSH1 0x40 0000207c: PUSH0 0000207d: KECCAK256 0000207e: SSTORE 0000207f: PUSH2 0x1efe 00002082: JUMP 00002083: JUMPDEST 00002084: SWAP2 00002085: POP 00002086: PUSH32 0xe450d38c00000000000000000000000000000000000000000000000000000000 000020a7: PUSH0 000020a8: MSTORE 000020a9: PUSH1 0x04 000020ab: MSTORE 000020ac: PUSH1 0x24 000020ae: MSTORE 000020af: PUSH1 0x44 000020b1: MSTORE 000020b2: PUSH1 0x64 000020b4: PUSH0 000020b5: REVERT 000020b6: JUMPDEST 000020b7: SWAP1 000020b8: SWAP2 000020b9: POP 000020ba: PUSH2 0x20c4 000020bd: SWAP4 000020be: SWAP3 000020bf: POP 000020c0: PUSH2 0x21fd 000020c3: JUMP 000020c4: JUMPDEST 000020c5: JUMP 000020c6: JUMPDEST 000020c7: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 000020e8: TLOAD 000020e9: PUSH2 0x2112 000020ec: JUMPI 000020ed: PUSH1 0x01 000020ef: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 00002110: TSTORE 00002111: JUMP 00002112: JUMPDEST 00002113: PUSH32 0x3ee5aeb500000000000000000000000000000000000000000000000000000000 00002134: PUSH0 00002135: MSTORE 00002136: PUSH1 0x04 00002138: PUSH0 00002139: REVERT 0000213a: JUMPDEST 0000213b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002150: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00002171: SLOAD 00002172: AND 00002173: CALLER 00002174: SUB 00002175: PUSH2 0x217a 00002178: JUMPI 00002179: JUMP 0000217a: JUMPDEST 0000217b: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000 0000219c: PUSH0 0000219d: MSTORE 0000219e: CALLER 0000219f: PUSH1 0x04 000021a1: MSTORE 000021a2: PUSH1 0x24 000021a4: PUSH0 000021a5: REVERT 000021a6: JUMPDEST 000021a7: PUSH1 0xff 000021a9: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 000021ca: SLOAD 000021cb: PUSH1 0x40 000021cd: SHR 000021ce: AND 000021cf: ISZERO 000021d0: PUSH2 0x21d5 000021d3: JUMPI 000021d4: JUMP 000021d5: JUMPDEST 000021d6: PUSH32 0xd7e6bcf800000000000000000000000000000000000000000000000000000000 000021f7: PUSH0 000021f8: MSTORE 000021f9: PUSH1 0x04 000021fb: PUSH0 000021fc: REVERT 000021fd: JUMPDEST 000021fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002213: AND 00002214: SWAP1 00002215: DUP2 00002216: PUSH2 0x232f 00002219: JUMPI 0000221a: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 0000223b: SLOAD 0000223c: SWAP1 0000223d: DUP4 0000223e: DUP3 0000223f: ADD 00002240: DUP1 00002241: SWAP3 00002242: GT 00002243: PUSH2 0x1fcb 00002246: JUMPI 00002247: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000225c: PUSH1 0x20 0000225e: SWAP2 0000225f: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002280: SWAP4 00002281: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 000022a2: SSTORE 000022a3: JUMPDEST 000022a4: AND 000022a5: SWAP4 000022a6: DUP5 000022a7: PUSH2 0x22fa 000022aa: JUMPI 000022ab: DUP1 000022ac: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 000022cd: SLOAD 000022ce: SUB 000022cf: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 000022f0: SSTORE 000022f1: JUMPDEST 000022f2: PUSH1 0x40 000022f4: MLOAD 000022f5: SWAP1 000022f6: DUP2 000022f7: MSTORE 000022f8: LOG3 000022f9: JUMP 000022fa: JUMPDEST 000022fb: DUP5 000022fc: PUSH0 000022fd: MSTORE 000022fe: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 0000231f: DUP3 00002320: MSTORE 00002321: PUSH1 0x40 00002323: PUSH0 00002324: KECCAK256 00002325: DUP2 00002326: DUP2 00002327: SLOAD 00002328: ADD 00002329: SWAP1 0000232a: SSTORE 0000232b: PUSH2 0x22f1 0000232e: JUMP 0000232f: JUMPDEST 00002330: DUP2 00002331: PUSH0 00002332: MSTORE 00002333: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00002354: PUSH1 0x20 00002356: MSTORE 00002357: PUSH1 0x40 00002359: PUSH0 0000235a: KECCAK256 0000235b: SLOAD 0000235c: DUP4 0000235d: DUP2 0000235e: LT 0000235f: PUSH2 0x23ce 00002362: JUMPI 00002363: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002378: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002399: SWAP3 0000239a: DUP6 0000239b: PUSH1 0x20 0000239d: SWAP4 0000239e: DUP7 0000239f: PUSH0 000023a0: MSTORE 000023a1: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 000023c2: DUP6 000023c3: MSTORE 000023c4: SUB 000023c5: PUSH1 0x40 000023c7: PUSH0 000023c8: KECCAK256 000023c9: SSTORE 000023ca: PUSH2 0x22a3 000023cd: JUMP 000023ce: JUMPDEST 000023cf: SWAP2 000023d0: SWAP1 000023d1: POP 000023d2: PUSH32 0xe450d38c00000000000000000000000000000000000000000000000000000000 000023f3: PUSH0 000023f4: MSTORE 000023f5: PUSH1 0x04 000023f7: MSTORE 000023f8: PUSH1 0x24 000023fa: MSTORE 000023fb: PUSH1 0x44 000023fd: MSTORE 000023fe: PUSH1 0x64 00002400: PUSH0 00002401: REVERT 00002402: JUMPDEST 00002403: SWAP1 00002404: PUSH2 0x243f 00002407: JUMPI 00002408: POP 00002409: DUP1 0000240a: MLOAD 0000240b: ISZERO 0000240c: PUSH2 0x2417 0000240f: JUMPI 00002410: DUP1 00002411: MLOAD 00002412: SWAP1 00002413: PUSH1 0x20 00002415: ADD 00002416: REVERT 00002417: JUMPDEST 00002418: PUSH32 0xd6bda27500000000000000000000000000000000000000000000000000000000 00002439: PUSH0 0000243a: MSTORE 0000243b: PUSH1 0x04 0000243d: PUSH0 0000243e: REVERT 0000243f: JUMPDEST 00002440: DUP2 00002441: MLOAD 00002442: ISZERO 00002443: DUP1 00002444: PUSH2 0x2492 00002447: JUMPI 00002448: JUMPDEST 00002449: PUSH2 0x2450 0000244c: JUMPI 0000244d: POP 0000244e: SWAP1 0000244f: JUMP 00002450: JUMPDEST 00002451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002466: SWAP1 00002467: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000 00002488: PUSH0 00002489: MSTORE 0000248a: AND 0000248b: PUSH1 0x04 0000248d: MSTORE 0000248e: PUSH1 0x24 00002490: PUSH0 00002491: REVERT 00002492: JUMPDEST 00002493: POP 00002494: DUP1 00002495: EXTCODESIZE 00002496: ISZERO 00002497: PUSH2 0x2448 0000249a: JUMP 0000249b: INVALID 0000249c: LOG2 0000249d: PUSH5 0x6970667358 000024a3: UNKNOWN(0x22) 000024a4: SLT 000024a5: KECCAK256 000024a6: UNKNOWN(0x2C) 000024a7: UNKNOWN(0xE5) 000024a8: ADD 000024a9: PUSH7 0x21c11da54b56ad 000024b1: UNKNOWN(0xD0) 000024b2: CALLDATACOPY 000024b3: DUP3 000024b4: UNKNOWN(0xAD) 000024b5: UNKNOWN(0xD1) 000024b6: UNKNOWN(0xB2) 000024b7: PUSH25 0xf4c212af37fe07fecaccf3b9211764736f6c634300081c0033
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x97852802592bfc6d0027f31fa9dbac2702c343e5f113fda5a4a99c61d009b4ca
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x97852802592bfc6d0027f31fa9dbac2702c343e5f113fda5a4a99c61d009b4ca",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x29c80c2f",
"selector": "0x29c80c2f",
"calldata_variants": [
"0x29c80c2f",
"0x29c80c2f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x40e9d2cc",
"selector": "0x40e9d2cc",
"calldata_variants": [
"0x40e9d2cc",
"0x40e9d2cc0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4837,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xcb930620c2668d63d58c849906d8128ed2ab9a9f4e16b360e8d9114271014347
call_targets:
0xdd95dae9c7b8975442937fbf8652505dbfb3dcf5
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xcb930620c2668d63d58c849906d8128ed2ab9a9f4e16b360e8d9114271014347",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xdd95dae9c7b8975442937fbf8652505dbfb3dcf5"
],
"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": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x29c80c2f",
"selector": "0x29c80c2f",
"calldata_variants": [
"0x29c80c2f",
"0x29c80c2f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x40e9d2cc",
"selector": "0x40e9d2cc",
"calldata_variants": [
"0x40e9d2cc",
"0x40e9d2cc0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5600,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8075,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xcb930620c2668d63d58c849906d8128ed2ab9a9f4e16b360e8d9114271014347
call_targets:
0xdd95dae9c7b8975442937fbf8652505dbfb3dcf5
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xcb930620c2668d63d58c849906d8128ed2ab9a9f4e16b360e8d9114271014347",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xdd95dae9c7b8975442937fbf8652505dbfb3dcf5"
],
"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": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x29c80c2f",
"selector": "0x29c80c2f",
"calldata_variants": [
"0x29c80c2f",
"0x29c80c2f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x40e9d2cc",
"selector": "0x40e9d2cc",
"calldata_variants": [
"0x40e9d2cc",
"0x40e9d2cc0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5600,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8075,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|