9824b367-42cd-45ef-8a5b-28f569eddd3a
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 |
|---|---|---|---|---|
| 30713 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75274 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 75275 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 75276 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 75277 | capability.graph | complete | 1 / 3 | 1 week ago |
| 75278 | detector.run | complete | 1 / 3 | 1 week ago |
| 75279 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1067433] OpenAI Codex v0.77.0 (research preview)
[codex:1067433] --------
[codex:1067433] workdir: /tmp/codex-multi-cpq7lz7q
[codex:1067433] model: gpt-5.2-codex
[codex:1067433] provider: openai
[codex:1067433] approval: never
[codex:1067433] sandbox: read-only
[codex:1067433] reasoning effort: xhigh
[codex:1067433] reasoning summaries: auto
[codex:1067433] session id: 019b6fd3-5930-7f40-8fbb-fc2cbbd548e3
[codex:1067433] --------
[codex:1067433] user
[codex:1067433] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1067433] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1067433] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1067433]
[codex:1067433] Scope rules:
[codex:1067433] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1067433] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1067433]
[codex:1067433] Output MUST be valid JSON matching the provided schema.
[codex:1067433] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1067433] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1067433]
[codex:1067433] Output constraints (IMPORTANT):
[codex:1067433] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1067433] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1067433] mcp startup: no servers
[codex:1067433]
[codex:1067433] thinking
[codex:1067433] **Reading AUDIT_BUNDLE file**
[codex:1067433] exec
[codex:1067433] /bin/bash -lc ls in /tmp/codex-multi-cpq7lz7q succeeded in 5ms:
[codex:1067433] AUDIT_BUNDLE.txt
[codex:1067433] codex-output-schema.json
[codex:1067433] contracts
[codex:1067433] exec
[codex:1067433] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-cpq7lz7q succeeded in 5ms:
[codex:1067433] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1067433]
[codex:1067433] ================================================================================
[codex:1067433] FILE: contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:1067433] ================================================================================
[codex:1067433] // SPDX-License-Identifier: MIT
[codex:1067433] // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
[codex:1067433]
[codex:1067433] pragma solidity ^0.8.20;
[codex:1067433]
[codex:1067433] import {Context} from "../utils/Context.sol";
[codex:1067433]
[codex:1067433] /**
[codex:1067433] * @dev Contract module which provides a basic access control mechanism, where
[codex:1067433] * there is an account (an owner) that can be granted exclusive access to
[codex:1067433] * specific functions.
[codex:1067433] *
[codex:1067433] * The initial owner is set to the address provided by the deployer. This can
[codex:1067433] * later be changed with {transferOwnership}.
[codex:1067433] *
[codex:1067433]
[codex:1067433] thinking
[codex:1067433] **Auditing WethClaim contract**
[codex:1067433]
[codex:1067433] I'll carefully analyze the WethClaim contract focusing on potential vulnerabilities like reentrancy and access control. I'm checking how claim functions handle Merkle proofs, token transfers (especially unchecked ERC20 returns), and ownership restrictions. I'll pay special attention to line numbers for precise reporting and make sure to provide a JSON summary including findings and evidence.
[codex:1067433] exec
[codex:1067433] /bin/bash -lc 'nl -ba contracts/contracts/WethClaim.sol' in /tmp/codex-multi-cpq7lz7q succeeded in 5ms:
[codex:1067433] 1 // SPDX-License-Identifier: MIT
[codex:1067433] 2 pragma solidity ^0.8.20;
[codex:1067433] 3
[codex:1067433] 4 import "@openzeppelin/contracts/access/Ownable.sol";
[codex:1067433] 5 import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:1067433] 6 import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1067433] 7 import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
[codex:1067433] 8
[codex:1067433] 9 contract WethClaim is Ownable, ReentrancyGuard {
[codex:1067433] 10 using SafeERC20 for IERC20;
[codex:1067433] 11
[codex:1067433] 12 event Claim(address from, address to, address token, uint256 amount);
[codex:1067433] 13 event TokenSeized(address token, uint256 amount);
[codex:1067433] 14 event Paused(bool paused);
[codex:1067433] 15 event MerkleRootUpdated(bytes32 oldMerkleRoot, bytes32 newMerkleRoot);
[codex:1067433] 16 event ExcludedUpdated(address user, address token, uint256 amount);
[codex:1067433] 17
[codex:1067433] 18 address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
[codex:1067433] 19
[codex:1067433] 20 bytes32 public merkleRoot;
[codex:1067433]
[codex:1067433] thinking
[codex:1067433] **Generating vulnerability report JSON**
[codex:1067433] codex
[codex:1067433] {"no_findings":false,"summary":"Identified 1 low-severity issue related to unchecked ERC20 return values in claim payouts.","findings":[{"severity":"low","category":"other","title":"ERC20 transfer return value unchecked in claim payout","exploit_scenario":"If the deployed WETH address is non-standard (returns false instead of reverting on failure) or a fee-on-transfer token, `_claimAndTransfer` will mark the user as claimed and emit a Claim even though no tokens were transferred, permanently burning the user’s claim.","recommendation":"Use `SafeERC20.safeTransfer` (or explicitly check the returned boolean) when transferring WETH in `_claimAndTransfer`.","evidence":"`IERC20(WETH).transfer(to, amount - excluded[from]);` is called without checking the return value after `claimed[from]` is set to true.","locations":["contracts/contracts/WethClaim.sol:56"]}]}
[codex:1067433] tokens used
[codex:1067433] 19,418
[codex:1067433] {"no_findings":false,"summary":"Identified 1 low-severity issue related to unchecked ERC20 return values in claim payouts.","findings":[{"severity":"low","category":"other","title":"ERC20 transfer return value unchecked in claim payout","exploit_scenario":"If the deployed WETH address is non-standard (returns false instead of reverting on failure) or a fee-on-transfer token, `_claimAndTransfer` will mark the user as claimed and emit a Claim even though no tokens were transferred, permanently burning the user’s claim.","recommendation":"Use `SafeERC20.safeTransfer` (or explicitly check the returned boolean) when transferring WETH in `_claimAndTransfer`.","evidence":"`IERC20(WETH).transfer(to, amount - excluded[from]);` is called without checking the return value after `claimed[from]` is set to true.","locations":["contracts/contracts/WethClaim.sol:56"]}]}
{
"codex": {
"ran_at": "2025-12-30T15:15:59.592370+00:00",
"returncode": 0
},
"summary": "Identified 1 low-severity issue related to unchecked ERC20 return values in claim payouts.",
"raw_final": {
"summary": "Identified 1 low-severity issue related to unchecked ERC20 return values in claim payouts.",
"findings": [
{
"title": "ERC20 transfer return value unchecked in claim payout",
"category": "other",
"evidence": "`IERC20(WETH).transfer(to, amount - excluded[from]);` is called without checking the return value after `claimed[from]` is set to true.",
"severity": "low",
"locations": [
"contracts/contracts/WethClaim.sol:56"
],
"recommendation": "Use `SafeERC20.safeTransfer` (or explicitly check the returned boolean) when transferring WETH in `_claimAndTransfer`.",
"exploit_scenario": "If the deployed WETH address is non-standard (returns false instead of reverting on failure) or a fee-on-transfer token, `_claimAndTransfer` will mark the user as claimed and emit a Claim even though no tokens were transferred, permanently burning the user\u2019s claim."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x00f5 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x817dccf0 00000026: GT 00000027: PUSH2 0x0097 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xc0f4709f 00000031: GT 00000032: PUSH2 0x0066 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xc0f4709f 0000003c: EQ 0000003d: PUSH2 0x0238 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xc884ef83 00000047: EQ 00000048: PUSH2 0x0254 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xeb9253c0 00000052: EQ 00000053: PUSH2 0x0284 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xf2fde38b 0000005d: EQ 0000005e: PUSH2 0x02a0 00000061: JUMPI 00000062: PUSH2 0x00f5 00000065: JUMP 00000066: JUMPDEST 00000067: DUP1 00000068: PUSH4 0x817dccf0 0000006d: EQ 0000006e: PUSH2 0x01c4 00000071: JUMPI 00000072: DUP1 00000073: PUSH4 0x8da5cb5b 00000078: EQ 00000079: PUSH2 0x01e0 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0x91f744d5 00000083: EQ 00000084: PUSH2 0x01fe 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xad5c4648 0000008e: EQ 0000008f: PUSH2 0x021a 00000092: JUMPI 00000093: PUSH2 0x00f5 00000096: JUMP 00000097: JUMPDEST 00000098: DUP1 00000099: PUSH4 0x407b155a 0000009e: GT 0000009f: PUSH2 0x00d3 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x407b155a 000000a9: EQ 000000aa: PUSH2 0x0150 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x429cead1 000000b4: EQ 000000b5: PUSH2 0x016c 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x5c975abb 000000bf: EQ 000000c0: PUSH2 0x019c 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x715018a6 000000ca: EQ 000000cb: PUSH2 0x01ba 000000ce: JUMPI 000000cf: PUSH2 0x00f5 000000d2: JUMP 000000d3: JUMPDEST 000000d4: DUP1 000000d5: PUSH4 0x02329a29 000000da: EQ 000000db: PUSH2 0x00fa 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x2eb4a7ab 000000e5: EQ 000000e6: PUSH2 0x0116 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0x2f52ebb7 000000f0: EQ 000000f1: PUSH2 0x0134 000000f4: JUMPI 000000f5: JUMPDEST 000000f6: PUSH1 0x00 000000f8: DUP1 000000f9: REVERT 000000fa: JUMPDEST 000000fb: PUSH2 0x0114 000000fe: PUSH1 0x04 00000100: DUP1 00000101: CALLDATASIZE 00000102: SUB 00000103: DUP2 00000104: ADD 00000105: SWAP1 00000106: PUSH2 0x010f 00000109: SWAP2 0000010a: SWAP1 0000010b: PUSH2 0x1032 0000010e: JUMP 0000010f: JUMPDEST 00000110: PUSH2 0x02bc 00000113: JUMP 00000114: JUMPDEST 00000115: STOP 00000116: JUMPDEST 00000117: PUSH2 0x011e 0000011a: PUSH2 0x036d 0000011d: JUMP 0000011e: JUMPDEST 0000011f: PUSH1 0x40 00000121: MLOAD 00000122: PUSH2 0x012b 00000125: SWAP2 00000126: SWAP1 00000127: PUSH2 0x1078 0000012a: JUMP 0000012b: JUMPDEST 0000012c: PUSH1 0x40 0000012e: MLOAD 0000012f: DUP1 00000130: SWAP2 00000131: SUB 00000132: SWAP1 00000133: RETURN 00000134: JUMPDEST 00000135: PUSH2 0x014e 00000138: PUSH1 0x04 0000013a: DUP1 0000013b: CALLDATASIZE 0000013c: SUB 0000013d: DUP2 0000013e: ADD 0000013f: SWAP1 00000140: PUSH2 0x0149 00000143: SWAP2 00000144: SWAP1 00000145: PUSH2 0x124e 00000148: JUMP 00000149: JUMPDEST 0000014a: PUSH2 0x0373 0000014d: JUMP 0000014e: JUMPDEST 0000014f: STOP 00000150: JUMPDEST 00000151: PUSH2 0x016a 00000154: PUSH1 0x04 00000156: DUP1 00000157: CALLDATASIZE 00000158: SUB 00000159: DUP2 0000015a: ADD 0000015b: SWAP1 0000015c: PUSH2 0x0165 0000015f: SWAP2 00000160: SWAP1 00000161: PUSH2 0x1308 00000164: JUMP 00000165: JUMPDEST 00000166: PUSH2 0x0383 00000169: JUMP 0000016a: JUMPDEST 0000016b: STOP 0000016c: JUMPDEST 0000016d: PUSH2 0x0186 00000170: PUSH1 0x04 00000172: DUP1 00000173: CALLDATASIZE 00000174: SUB 00000175: DUP2 00000176: ADD 00000177: SWAP1 00000178: PUSH2 0x0181 0000017b: SWAP2 0000017c: SWAP1 0000017d: PUSH2 0x1377 00000180: JUMP 00000181: JUMPDEST 00000182: PUSH2 0x0394 00000185: JUMP 00000186: JUMPDEST 00000187: PUSH1 0x40 00000189: MLOAD 0000018a: PUSH2 0x0193 0000018d: SWAP2 0000018e: SWAP1 0000018f: PUSH2 0x13b3 00000192: JUMP 00000193: JUMPDEST 00000194: PUSH1 0x40 00000196: MLOAD 00000197: DUP1 00000198: SWAP2 00000199: SUB 0000019a: SWAP1 0000019b: RETURN 0000019c: JUMPDEST 0000019d: PUSH2 0x01a4 000001a0: PUSH2 0x03ac 000001a3: JUMP 000001a4: JUMPDEST 000001a5: PUSH1 0x40 000001a7: MLOAD 000001a8: PUSH2 0x01b1 000001ab: SWAP2 000001ac: SWAP1 000001ad: PUSH2 0x13dd 000001b0: JUMP 000001b1: JUMPDEST 000001b2: PUSH1 0x40 000001b4: MLOAD 000001b5: DUP1 000001b6: SWAP2 000001b7: SUB 000001b8: SWAP1 000001b9: RETURN 000001ba: JUMPDEST 000001bb: PUSH2 0x01c2 000001be: PUSH2 0x03bf 000001c1: JUMP 000001c2: JUMPDEST 000001c3: STOP 000001c4: JUMPDEST 000001c5: PUSH2 0x01de 000001c8: PUSH1 0x04 000001ca: DUP1 000001cb: CALLDATASIZE 000001cc: SUB 000001cd: DUP2 000001ce: ADD 000001cf: SWAP1 000001d0: PUSH2 0x01d9 000001d3: SWAP2 000001d4: SWAP1 000001d5: PUSH2 0x13f8 000001d8: JUMP 000001d9: JUMPDEST 000001da: PUSH2 0x03d3 000001dd: JUMP 000001de: JUMPDEST 000001df: STOP 000001e0: JUMPDEST 000001e1: PUSH2 0x01e8 000001e4: PUSH2 0x0546 000001e7: JUMP 000001e8: JUMPDEST 000001e9: PUSH1 0x40 000001eb: MLOAD 000001ec: PUSH2 0x01f5 000001ef: SWAP2 000001f0: SWAP1 000001f1: PUSH2 0x1447 000001f4: JUMP 000001f5: JUMPDEST 000001f6: PUSH1 0x40 000001f8: MLOAD 000001f9: DUP1 000001fa: SWAP2 000001fb: SUB 000001fc: SWAP1 000001fd: RETURN 000001fe: JUMPDEST 000001ff: PUSH2 0x0218 00000202: PUSH1 0x04 00000204: DUP1 00000205: CALLDATASIZE 00000206: SUB 00000207: DUP2 00000208: ADD 00000209: SWAP1 0000020a: PUSH2 0x0213 0000020d: SWAP2 0000020e: SWAP1 0000020f: PUSH2 0x1462 00000212: JUMP 00000213: JUMPDEST 00000214: PUSH2 0x056f 00000217: JUMP 00000218: JUMPDEST 00000219: STOP 0000021a: JUMPDEST 0000021b: PUSH2 0x0222 0000021e: PUSH2 0x05c2 00000221: JUMP 00000222: JUMPDEST 00000223: PUSH1 0x40 00000225: MLOAD 00000226: PUSH2 0x022f 00000229: SWAP2 0000022a: SWAP1 0000022b: PUSH2 0x1447 0000022e: JUMP 0000022f: JUMPDEST 00000230: PUSH1 0x40 00000232: MLOAD 00000233: DUP1 00000234: SWAP2 00000235: SUB 00000236: SWAP1 00000237: RETURN 00000238: JUMPDEST 00000239: PUSH2 0x0252 0000023c: PUSH1 0x04 0000023e: DUP1 0000023f: CALLDATASIZE 00000240: SUB 00000241: DUP2 00000242: ADD 00000243: SWAP1 00000244: PUSH2 0x024d 00000247: SWAP2 00000248: SWAP1 00000249: PUSH2 0x148f 0000024c: JUMP 0000024d: JUMPDEST 0000024e: PUSH2 0x05da 00000251: JUMP 00000252: JUMPDEST 00000253: STOP 00000254: JUMPDEST 00000255: PUSH2 0x026e 00000258: PUSH1 0x04 0000025a: DUP1 0000025b: CALLDATASIZE 0000025c: SUB 0000025d: DUP2 0000025e: ADD 0000025f: SWAP1 00000260: PUSH2 0x0269 00000263: SWAP2 00000264: SWAP1 00000265: PUSH2 0x1377 00000268: JUMP 00000269: JUMPDEST 0000026a: PUSH2 0x05f4 0000026d: JUMP 0000026e: JUMPDEST 0000026f: PUSH1 0x40 00000271: MLOAD 00000272: PUSH2 0x027b 00000275: SWAP2 00000276: SWAP1 00000277: PUSH2 0x13dd 0000027a: JUMP 0000027b: JUMPDEST 0000027c: PUSH1 0x40 0000027e: MLOAD 0000027f: DUP1 00000280: SWAP2 00000281: SUB 00000282: SWAP1 00000283: RETURN 00000284: JUMPDEST 00000285: PUSH2 0x029e 00000288: PUSH1 0x04 0000028a: DUP1 0000028b: CALLDATASIZE 0000028c: SUB 0000028d: DUP2 0000028e: ADD 0000028f: SWAP1 00000290: PUSH2 0x0299 00000293: SWAP2 00000294: SWAP1 00000295: PUSH2 0x13f8 00000298: JUMP 00000299: JUMPDEST 0000029a: PUSH2 0x0614 0000029d: JUMP 0000029e: JUMPDEST 0000029f: STOP 000002a0: JUMPDEST 000002a1: PUSH2 0x02ba 000002a4: PUSH1 0x04 000002a6: DUP1 000002a7: CALLDATASIZE 000002a8: SUB 000002a9: DUP2 000002aa: ADD 000002ab: SWAP1 000002ac: PUSH2 0x02b5 000002af: SWAP2 000002b0: SWAP1 000002b1: PUSH2 0x1377 000002b4: JUMP 000002b5: JUMPDEST 000002b6: PUSH2 0x068b 000002b9: JUMP 000002ba: JUMPDEST 000002bb: STOP 000002bc: JUMPDEST 000002bd: PUSH2 0x02c4 000002c0: PUSH2 0x0711 000002c3: JUMP 000002c4: JUMPDEST 000002c5: DUP1 000002c6: ISZERO 000002c7: ISZERO 000002c8: PUSH1 0x03 000002ca: PUSH1 0x00 000002cc: SWAP1 000002cd: SLOAD 000002ce: SWAP1 000002cf: PUSH2 0x0100 000002d2: EXP 000002d3: SWAP1 000002d4: DIV 000002d5: PUSH1 0xff 000002d7: AND 000002d8: ISZERO 000002d9: ISZERO 000002da: SUB 000002db: PUSH2 0x0319 000002de: JUMPI 000002df: PUSH1 0x40 000002e1: MLOAD 000002e2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000303: DUP2 00000304: MSTORE 00000305: PUSH1 0x04 00000307: ADD 00000308: PUSH2 0x0310 0000030b: SWAP1 0000030c: PUSH2 0x156f 0000030f: JUMP 00000310: JUMPDEST 00000311: PUSH1 0x40 00000313: MLOAD 00000314: DUP1 00000315: SWAP2 00000316: SUB 00000317: SWAP1 00000318: REVERT 00000319: JUMPDEST 0000031a: DUP1 0000031b: PUSH1 0x03 0000031d: PUSH1 0x00 0000031f: PUSH2 0x0100 00000322: EXP 00000323: DUP2 00000324: SLOAD 00000325: DUP2 00000326: PUSH1 0xff 00000328: MUL 00000329: NOT 0000032a: AND 0000032b: SWAP1 0000032c: DUP4 0000032d: ISZERO 0000032e: ISZERO 0000032f: MUL 00000330: OR 00000331: SWAP1 00000332: SSTORE 00000333: POP 00000334: PUSH32 0x0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd2 00000355: DUP2 00000356: PUSH1 0x40 00000358: MLOAD 00000359: PUSH2 0x0362 0000035c: SWAP2 0000035d: SWAP1 0000035e: PUSH2 0x13dd 00000361: JUMP 00000362: JUMPDEST 00000363: PUSH1 0x40 00000365: MLOAD 00000366: DUP1 00000367: SWAP2 00000368: SUB 00000369: SWAP1 0000036a: LOG1 0000036b: POP 0000036c: JUMP 0000036d: JUMPDEST 0000036e: PUSH1 0x02 00000370: SLOAD 00000371: DUP2 00000372: JUMP 00000373: JUMPDEST 00000374: PUSH2 0x037f 00000377: CALLER 00000378: CALLER 00000379: DUP5 0000037a: DUP5 0000037b: PUSH2 0x0798 0000037e: JUMP 0000037f: JUMPDEST 00000380: POP 00000381: POP 00000382: JUMP 00000383: JUMPDEST 00000384: PUSH2 0x038f 00000387: CALLER 00000388: DUP5 00000389: DUP5 0000038a: DUP5 0000038b: PUSH2 0x0798 0000038e: JUMP 0000038f: JUMPDEST 00000390: POP 00000391: POP 00000392: POP 00000393: JUMP 00000394: JUMPDEST 00000395: PUSH1 0x04 00000397: PUSH1 0x20 00000399: MSTORE 0000039a: DUP1 0000039b: PUSH1 0x00 0000039d: MSTORE 0000039e: PUSH1 0x40 000003a0: PUSH1 0x00 000003a2: KECCAK256 000003a3: PUSH1 0x00 000003a5: SWAP2 000003a6: POP 000003a7: SWAP1 000003a8: POP 000003a9: SLOAD 000003aa: DUP2 000003ab: JUMP 000003ac: JUMPDEST 000003ad: PUSH1 0x03 000003af: PUSH1 0x00 000003b1: SWAP1 000003b2: SLOAD 000003b3: SWAP1 000003b4: PUSH2 0x0100 000003b7: EXP 000003b8: SWAP1 000003b9: DIV 000003ba: PUSH1 0xff 000003bc: AND 000003bd: DUP2 000003be: JUMP 000003bf: JUMPDEST 000003c0: PUSH2 0x03c7 000003c3: PUSH2 0x0711 000003c6: JUMP 000003c7: JUMPDEST 000003c8: PUSH2 0x03d1 000003cb: PUSH1 0x00 000003cd: PUSH2 0x0b4f 000003d0: JUMP 000003d1: JUMPDEST 000003d2: JUMP 000003d3: JUMPDEST 000003d4: PUSH2 0x03db 000003d7: PUSH2 0x0711 000003da: JUMP 000003db: JUMPDEST 000003dc: PUSH1 0x05 000003de: PUSH1 0x00 000003e0: DUP4 000003e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003f6: AND 000003f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000040c: AND 0000040d: DUP2 0000040e: MSTORE 0000040f: PUSH1 0x20 00000411: ADD 00000412: SWAP1 00000413: DUP2 00000414: MSTORE 00000415: PUSH1 0x20 00000417: ADD 00000418: PUSH1 0x00 0000041a: KECCAK256 0000041b: PUSH1 0x00 0000041d: SWAP1 0000041e: SLOAD 0000041f: SWAP1 00000420: PUSH2 0x0100 00000423: EXP 00000424: SWAP1 00000425: DIV 00000426: PUSH1 0xff 00000428: AND 00000429: ISZERO 0000042a: PUSH2 0x0468 0000042d: JUMPI 0000042e: PUSH1 0x40 00000430: MLOAD 00000431: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000452: DUP2 00000453: MSTORE 00000454: PUSH1 0x04 00000456: ADD 00000457: PUSH2 0x045f 0000045a: SWAP1 0000045b: PUSH2 0x15db 0000045e: JUMP 0000045f: JUMPDEST 00000460: PUSH1 0x40 00000462: MLOAD 00000463: DUP1 00000464: SWAP2 00000465: SUB 00000466: SWAP1 00000467: REVERT 00000468: JUMPDEST 00000469: PUSH1 0x04 0000046b: PUSH1 0x00 0000046d: DUP4 0000046e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000483: AND 00000484: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000499: AND 0000049a: DUP2 0000049b: MSTORE 0000049c: PUSH1 0x20 0000049e: ADD 0000049f: SWAP1 000004a0: DUP2 000004a1: MSTORE 000004a2: PUSH1 0x20 000004a4: ADD 000004a5: PUSH1 0x00 000004a7: KECCAK256 000004a8: SLOAD 000004a9: DUP2 000004aa: EQ 000004ab: PUSH2 0x0542 000004ae: JUMPI 000004af: DUP1 000004b0: PUSH1 0x04 000004b2: PUSH1 0x00 000004b4: DUP5 000004b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004ca: AND 000004cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004e0: AND 000004e1: DUP2 000004e2: MSTORE 000004e3: PUSH1 0x20 000004e5: ADD 000004e6: SWAP1 000004e7: DUP2 000004e8: MSTORE 000004e9: PUSH1 0x20 000004eb: ADD 000004ec: PUSH1 0x00 000004ee: KECCAK256 000004ef: DUP2 000004f0: SWAP1 000004f1: SSTORE 000004f2: POP 000004f3: PUSH32 0xc5f4d2d234f92ba130f00e7f3e58be87e8e741dda9be9dbc6747de98392d7aef 00000514: DUP3 00000515: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0000052a: DUP4 0000052b: PUSH1 0x40 0000052d: MLOAD 0000052e: PUSH2 0x0539 00000531: SWAP4 00000532: SWAP3 00000533: SWAP2 00000534: SWAP1 00000535: PUSH2 0x15fb 00000538: JUMP 00000539: JUMPDEST 0000053a: PUSH1 0x40 0000053c: MLOAD 0000053d: DUP1 0000053e: SWAP2 0000053f: SUB 00000540: SWAP1 00000541: LOG1 00000542: JUMPDEST 00000543: POP 00000544: POP 00000545: JUMP 00000546: JUMPDEST 00000547: PUSH1 0x00 00000549: DUP1 0000054a: PUSH1 0x00 0000054c: SWAP1 0000054d: SLOAD 0000054e: SWAP1 0000054f: PUSH2 0x0100 00000552: EXP 00000553: SWAP1 00000554: DIV 00000555: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000056a: AND 0000056b: SWAP1 0000056c: POP 0000056d: SWAP1 0000056e: JUMP 0000056f: JUMPDEST 00000570: PUSH2 0x0577 00000573: PUSH2 0x0711 00000576: JUMP 00000577: JUMPDEST 00000578: PUSH1 0x00 0000057a: PUSH1 0x02 0000057c: SLOAD 0000057d: SWAP1 0000057e: POP 0000057f: DUP2 00000580: PUSH1 0x02 00000582: DUP2 00000583: SWAP1 00000584: SSTORE 00000585: POP 00000586: PUSH32 0xfd69edeceaf1d6832d935be1fba54ca93bf17e71520c6c9ffc08d6e9529f8757 000005a7: DUP2 000005a8: DUP4 000005a9: PUSH1 0x40 000005ab: MLOAD 000005ac: PUSH2 0x05b6 000005af: SWAP3 000005b0: SWAP2 000005b1: SWAP1 000005b2: PUSH2 0x1632 000005b5: JUMP 000005b6: JUMPDEST 000005b7: PUSH1 0x40 000005b9: MLOAD 000005ba: DUP1 000005bb: SWAP2 000005bc: SUB 000005bd: SWAP1 000005be: LOG1 000005bf: POP 000005c0: POP 000005c1: JUMP 000005c2: JUMPDEST 000005c3: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000005d8: DUP2 000005d9: JUMP 000005da: JUMPDEST 000005db: PUSH2 0x05e2 000005de: PUSH2 0x0711 000005e1: JUMP 000005e2: JUMPDEST 000005e3: PUSH2 0x05ee 000005e6: DUP5 000005e7: DUP5 000005e8: DUP5 000005e9: DUP5 000005ea: PUSH2 0x0798 000005ed: JUMP 000005ee: JUMPDEST 000005ef: POP 000005f0: POP 000005f1: POP 000005f2: POP 000005f3: JUMP 000005f4: JUMPDEST 000005f5: PUSH1 0x05 000005f7: PUSH1 0x20 000005f9: MSTORE 000005fa: DUP1 000005fb: PUSH1 0x00 000005fd: MSTORE 000005fe: PUSH1 0x40 00000600: PUSH1 0x00 00000602: KECCAK256 00000603: PUSH1 0x00 00000605: SWAP2 00000606: POP 00000607: SLOAD 00000608: SWAP1 00000609: PUSH2 0x0100 0000060c: EXP 0000060d: SWAP1 0000060e: DIV 0000060f: PUSH1 0xff 00000611: AND 00000612: DUP2 00000613: JUMP 00000614: JUMPDEST 00000615: PUSH2 0x061c 00000618: PUSH2 0x0711 0000061b: JUMP 0000061c: JUMPDEST 0000061d: PUSH2 0x064e 00000620: PUSH2 0x0627 00000623: PUSH2 0x0546 00000626: JUMP 00000627: JUMPDEST 00000628: DUP3 00000629: DUP5 0000062a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000063f: AND 00000640: PUSH2 0x0c13 00000643: SWAP1 00000644: SWAP3 00000645: SWAP2 00000646: SWAP1 00000647: PUSH4 0xffffffff 0000064c: AND 0000064d: JUMP 0000064e: JUMPDEST 0000064f: PUSH32 0xb930d7c3c6896f70ea10a959f1d9a7c04e0467138efa4c7040570d4b8f4894b6 00000670: DUP3 00000671: DUP3 00000672: PUSH1 0x40 00000674: MLOAD 00000675: PUSH2 0x067f 00000678: SWAP3 00000679: SWAP2 0000067a: SWAP1 0000067b: PUSH2 0x165b 0000067e: JUMP 0000067f: JUMPDEST 00000680: PUSH1 0x40 00000682: MLOAD 00000683: DUP1 00000684: SWAP2 00000685: SUB 00000686: SWAP1 00000687: LOG1 00000688: POP 00000689: POP 0000068a: JUMP 0000068b: JUMPDEST 0000068c: PUSH2 0x0693 0000068f: PUSH2 0x0711 00000692: JUMP 00000693: JUMPDEST 00000694: PUSH1 0x00 00000696: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ab: AND 000006ac: DUP2 000006ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006c2: AND 000006c3: SUB 000006c4: PUSH2 0x0705 000006c7: JUMPI 000006c8: PUSH1 0x00 000006ca: PUSH1 0x40 000006cc: MLOAD 000006cd: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000 000006ee: DUP2 000006ef: MSTORE 000006f0: PUSH1 0x04 000006f2: ADD 000006f3: PUSH2 0x06fc 000006f6: SWAP2 000006f7: SWAP1 000006f8: PUSH2 0x1447 000006fb: JUMP 000006fc: JUMPDEST 000006fd: PUSH1 0x40 000006ff: MLOAD 00000700: DUP1 00000701: SWAP2 00000702: SUB 00000703: SWAP1 00000704: REVERT 00000705: JUMPDEST 00000706: PUSH2 0x070e 00000709: DUP2 0000070a: PUSH2 0x0b4f 0000070d: JUMP 0000070e: JUMPDEST 0000070f: POP 00000710: JUMP 00000711: JUMPDEST 00000712: PUSH2 0x0719 00000715: PUSH2 0x0c92 00000718: JUMP 00000719: JUMPDEST 0000071a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000072f: AND 00000730: PUSH2 0x0737 00000733: PUSH2 0x0546 00000736: JUMP 00000737: JUMPDEST 00000738: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000074d: AND 0000074e: EQ 0000074f: PUSH2 0x0796 00000752: JUMPI 00000753: PUSH2 0x075a 00000756: PUSH2 0x0c92 00000759: JUMP 0000075a: JUMPDEST 0000075b: PUSH1 0x40 0000075d: MLOAD 0000075e: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000 0000077f: DUP2 00000780: MSTORE 00000781: PUSH1 0x04 00000783: ADD 00000784: PUSH2 0x078d 00000787: SWAP2 00000788: SWAP1 00000789: PUSH2 0x1447 0000078c: JUMP 0000078d: JUMPDEST 0000078e: PUSH1 0x40 00000790: MLOAD 00000791: DUP1 00000792: SWAP2 00000793: SUB 00000794: SWAP1 00000795: REVERT 00000796: JUMPDEST 00000797: JUMP 00000798: JUMPDEST 00000799: PUSH2 0x07a0 0000079c: PUSH2 0x0c9a 0000079f: JUMP 000007a0: JUMPDEST 000007a1: PUSH1 0x00 000007a3: ISZERO 000007a4: ISZERO 000007a5: PUSH1 0x05 000007a7: PUSH1 0x00 000007a9: DUP7 000007aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007bf: AND 000007c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007d5: AND 000007d6: DUP2 000007d7: MSTORE 000007d8: PUSH1 0x20 000007da: ADD 000007db: SWAP1 000007dc: DUP2 000007dd: MSTORE 000007de: PUSH1 0x20 000007e0: ADD 000007e1: PUSH1 0x00 000007e3: KECCAK256 000007e4: PUSH1 0x00 000007e6: SWAP1 000007e7: SLOAD 000007e8: SWAP1 000007e9: PUSH2 0x0100 000007ec: EXP 000007ed: SWAP1 000007ee: DIV 000007ef: PUSH1 0xff 000007f1: AND 000007f2: ISZERO 000007f3: ISZERO 000007f4: EQ 000007f5: PUSH2 0x0833 000007f8: JUMPI 000007f9: PUSH1 0x40 000007fb: MLOAD 000007fc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000081d: DUP2 0000081e: MSTORE 0000081f: PUSH1 0x04 00000821: ADD 00000822: PUSH2 0x082a 00000825: SWAP1 00000826: PUSH2 0x16d0 00000829: JUMP 0000082a: JUMPDEST 0000082b: PUSH1 0x40 0000082d: MLOAD 0000082e: DUP1 0000082f: SWAP2 00000830: SUB 00000831: SWAP1 00000832: REVERT 00000833: JUMPDEST 00000834: PUSH1 0x03 00000836: PUSH1 0x00 00000838: SWAP1 00000839: SLOAD 0000083a: SWAP1 0000083b: PUSH2 0x0100 0000083e: EXP 0000083f: SWAP1 00000840: DIV 00000841: PUSH1 0xff 00000843: AND 00000844: ISZERO 00000845: PUSH2 0x0883 00000848: JUMPI 00000849: PUSH1 0x40 0000084b: MLOAD 0000084c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000086d: DUP2 0000086e: MSTORE 0000086f: PUSH1 0x04 00000871: ADD 00000872: PUSH2 0x087a 00000875: SWAP1 00000876: PUSH2 0x173c 00000879: JUMP 0000087a: JUMPDEST 0000087b: PUSH1 0x40 0000087d: MLOAD 0000087e: DUP1 0000087f: SWAP2 00000880: SUB 00000881: SWAP1 00000882: REVERT 00000883: JUMPDEST 00000884: PUSH1 0x00 00000886: DUP5 00000887: DUP4 00000888: PUSH1 0x40 0000088a: MLOAD 0000088b: PUSH1 0x20 0000088d: ADD 0000088e: PUSH2 0x0898 00000891: SWAP3 00000892: SWAP2 00000893: SWAP1 00000894: PUSH2 0x165b 00000897: JUMP 00000898: JUMPDEST 00000899: PUSH1 0x40 0000089b: MLOAD 0000089c: PUSH1 0x20 0000089e: DUP2 0000089f: DUP4 000008a0: SUB 000008a1: SUB 000008a2: DUP2 000008a3: MSTORE 000008a4: SWAP1 000008a5: PUSH1 0x40 000008a7: MSTORE 000008a8: DUP1 000008a9: MLOAD 000008aa: SWAP1 000008ab: PUSH1 0x20 000008ad: ADD 000008ae: KECCAK256 000008af: PUSH1 0x40 000008b1: MLOAD 000008b2: PUSH1 0x20 000008b4: ADD 000008b5: PUSH2 0x08be 000008b8: SWAP2 000008b9: SWAP1 000008ba: PUSH2 0x177d 000008bd: JUMP 000008be: JUMPDEST 000008bf: PUSH1 0x40 000008c1: MLOAD 000008c2: PUSH1 0x20 000008c4: DUP2 000008c5: DUP4 000008c6: SUB 000008c7: SUB 000008c8: DUP2 000008c9: MSTORE 000008ca: SWAP1 000008cb: PUSH1 0x40 000008cd: MSTORE 000008ce: DUP1 000008cf: MLOAD 000008d0: SWAP1 000008d1: PUSH1 0x20 000008d3: ADD 000008d4: KECCAK256 000008d5: SWAP1 000008d6: POP 000008d7: PUSH1 0x00 000008d9: PUSH2 0x08e5 000008dc: DUP4 000008dd: PUSH1 0x02 000008df: SLOAD 000008e0: DUP5 000008e1: PUSH2 0x0ce0 000008e4: JUMP 000008e5: JUMPDEST 000008e6: SWAP1 000008e7: POP 000008e8: DUP1 000008e9: PUSH2 0x0927 000008ec: JUMPI 000008ed: PUSH1 0x40 000008ef: MLOAD 000008f0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000911: DUP2 00000912: MSTORE 00000913: PUSH1 0x04 00000915: ADD 00000916: PUSH2 0x091e 00000919: SWAP1 0000091a: PUSH2 0x17e4 0000091d: JUMP 0000091e: JUMPDEST 0000091f: PUSH1 0x40 00000921: MLOAD 00000922: DUP1 00000923: SWAP2 00000924: SUB 00000925: SWAP1 00000926: REVERT 00000927: JUMPDEST 00000928: PUSH1 0x01 0000092a: PUSH1 0x05 0000092c: PUSH1 0x00 0000092e: DUP9 0000092f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000944: AND 00000945: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000095a: AND 0000095b: DUP2 0000095c: MSTORE 0000095d: PUSH1 0x20 0000095f: ADD 00000960: SWAP1 00000961: DUP2 00000962: MSTORE 00000963: PUSH1 0x20 00000965: ADD 00000966: PUSH1 0x00 00000968: KECCAK256 00000969: PUSH1 0x00 0000096b: PUSH2 0x0100 0000096e: EXP 0000096f: DUP2 00000970: SLOAD 00000971: DUP2 00000972: PUSH1 0xff 00000974: MUL 00000975: NOT 00000976: AND 00000977: SWAP1 00000978: DUP4 00000979: ISZERO 0000097a: ISZERO 0000097b: MUL 0000097c: OR 0000097d: SWAP1 0000097e: SSTORE 0000097f: POP 00000980: PUSH1 0x04 00000982: PUSH1 0x00 00000984: DUP8 00000985: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000099a: AND 0000099b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009b0: AND 000009b1: DUP2 000009b2: MSTORE 000009b3: PUSH1 0x20 000009b5: ADD 000009b6: SWAP1 000009b7: DUP2 000009b8: MSTORE 000009b9: PUSH1 0x20 000009bb: ADD 000009bc: PUSH1 0x00 000009be: KECCAK256 000009bf: SLOAD 000009c0: DUP5 000009c1: GT 000009c2: ISZERO 000009c3: PUSH2 0x0b3f 000009c6: JUMPI 000009c7: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000009dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009f1: AND 000009f2: PUSH4 0xa9059cbb 000009f7: DUP7 000009f8: PUSH1 0x04 000009fa: PUSH1 0x00 000009fc: DUP11 000009fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a12: AND 00000a13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a28: AND 00000a29: DUP2 00000a2a: MSTORE 00000a2b: PUSH1 0x20 00000a2d: ADD 00000a2e: SWAP1 00000a2f: DUP2 00000a30: MSTORE 00000a31: PUSH1 0x20 00000a33: ADD 00000a34: PUSH1 0x00 00000a36: KECCAK256 00000a37: SLOAD 00000a38: DUP8 00000a39: PUSH2 0x0a42 00000a3c: SWAP2 00000a3d: SWAP1 00000a3e: PUSH2 0x1833 00000a41: JUMP 00000a42: JUMPDEST 00000a43: PUSH1 0x40 00000a45: MLOAD 00000a46: DUP4 00000a47: PUSH4 0xffffffff 00000a4c: AND 00000a4d: PUSH1 0xe0 00000a4f: SHL 00000a50: DUP2 00000a51: MSTORE 00000a52: PUSH1 0x04 00000a54: ADD 00000a55: PUSH2 0x0a5f 00000a58: SWAP3 00000a59: SWAP2 00000a5a: SWAP1 00000a5b: PUSH2 0x165b 00000a5e: JUMP 00000a5f: JUMPDEST 00000a60: PUSH1 0x20 00000a62: PUSH1 0x40 00000a64: MLOAD 00000a65: DUP1 00000a66: DUP4 00000a67: SUB 00000a68: DUP2 00000a69: PUSH1 0x00 00000a6b: DUP8 00000a6c: GAS 00000a6d: CALL 00000a6e: ISZERO 00000a6f: DUP1 00000a70: ISZERO 00000a71: PUSH2 0x0a7e 00000a74: JUMPI 00000a75: RETURNDATASIZE 00000a76: PUSH1 0x00 00000a78: DUP1 00000a79: RETURNDATACOPY 00000a7a: RETURNDATASIZE 00000a7b: PUSH1 0x00 00000a7d: REVERT 00000a7e: JUMPDEST 00000a7f: POP 00000a80: POP 00000a81: POP 00000a82: POP 00000a83: PUSH1 0x40 00000a85: MLOAD 00000a86: RETURNDATASIZE 00000a87: PUSH1 0x1f 00000a89: NOT 00000a8a: PUSH1 0x1f 00000a8c: DUP3 00000a8d: ADD 00000a8e: AND 00000a8f: DUP3 00000a90: ADD 00000a91: DUP1 00000a92: PUSH1 0x40 00000a94: MSTORE 00000a95: POP 00000a96: DUP2 00000a97: ADD 00000a98: SWAP1 00000a99: PUSH2 0x0aa2 00000a9c: SWAP2 00000a9d: SWAP1 00000a9e: PUSH2 0x187c 00000aa1: JUMP 00000aa2: JUMPDEST 00000aa3: POP 00000aa4: PUSH32 0xc1405953cccdad6b442e266c84d66ad671e2534c6584f8e6ef92802f7ad294d5 00000ac5: DUP7 00000ac6: DUP7 00000ac7: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000adc: PUSH1 0x04 00000ade: PUSH1 0x00 00000ae0: DUP12 00000ae1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000af6: AND 00000af7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b0c: AND 00000b0d: DUP2 00000b0e: MSTORE 00000b0f: PUSH1 0x20 00000b11: ADD 00000b12: SWAP1 00000b13: DUP2 00000b14: MSTORE 00000b15: PUSH1 0x20 00000b17: ADD 00000b18: PUSH1 0x00 00000b1a: KECCAK256 00000b1b: SLOAD 00000b1c: DUP9 00000b1d: PUSH2 0x0b26 00000b20: SWAP2 00000b21: SWAP1 00000b22: PUSH2 0x1833 00000b25: JUMP 00000b26: JUMPDEST 00000b27: PUSH1 0x40 00000b29: MLOAD 00000b2a: PUSH2 0x0b36 00000b2d: SWAP5 00000b2e: SWAP4 00000b2f: SWAP3 00000b30: SWAP2 00000b31: SWAP1 00000b32: PUSH2 0x18a9 00000b35: JUMP 00000b36: JUMPDEST 00000b37: PUSH1 0x40 00000b39: MLOAD 00000b3a: DUP1 00000b3b: SWAP2 00000b3c: SUB 00000b3d: SWAP1 00000b3e: LOG1 00000b3f: JUMPDEST 00000b40: POP 00000b41: POP 00000b42: PUSH2 0x0b49 00000b45: PUSH2 0x0cf7 00000b48: JUMP 00000b49: JUMPDEST 00000b4a: POP 00000b4b: POP 00000b4c: POP 00000b4d: POP 00000b4e: JUMP 00000b4f: JUMPDEST 00000b50: PUSH1 0x00 00000b52: DUP1 00000b53: PUSH1 0x00 00000b55: SWAP1 00000b56: SLOAD 00000b57: SWAP1 00000b58: PUSH2 0x0100 00000b5b: EXP 00000b5c: SWAP1 00000b5d: DIV 00000b5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b73: AND 00000b74: SWAP1 00000b75: POP 00000b76: DUP2 00000b77: PUSH1 0x00 00000b79: DUP1 00000b7a: PUSH2 0x0100 00000b7d: EXP 00000b7e: DUP2 00000b7f: SLOAD 00000b80: DUP2 00000b81: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b96: MUL 00000b97: NOT 00000b98: AND 00000b99: SWAP1 00000b9a: DUP4 00000b9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bb0: AND 00000bb1: MUL 00000bb2: OR 00000bb3: SWAP1 00000bb4: SSTORE 00000bb5: POP 00000bb6: DUP2 00000bb7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bcc: AND 00000bcd: DUP2 00000bce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000be3: AND 00000be4: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000c05: PUSH1 0x40 00000c07: MLOAD 00000c08: PUSH1 0x40 00000c0a: MLOAD 00000c0b: DUP1 00000c0c: SWAP2 00000c0d: SUB 00000c0e: SWAP1 00000c0f: LOG3 00000c10: POP 00000c11: POP 00000c12: JUMP 00000c13: JUMPDEST 00000c14: PUSH2 0x0c8d 00000c17: DUP4 00000c18: DUP5 00000c19: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c2e: AND 00000c2f: PUSH4 0xa9059cbb 00000c34: DUP6 00000c35: DUP6 00000c36: PUSH1 0x40 00000c38: MLOAD 00000c39: PUSH1 0x24 00000c3b: ADD 00000c3c: PUSH2 0x0c46 00000c3f: SWAP3 00000c40: SWAP2 00000c41: SWAP1 00000c42: PUSH2 0x165b 00000c45: JUMP 00000c46: JUMPDEST 00000c47: PUSH1 0x40 00000c49: MLOAD 00000c4a: PUSH1 0x20 00000c4c: DUP2 00000c4d: DUP4 00000c4e: SUB 00000c4f: SUB 00000c50: DUP2 00000c51: MSTORE 00000c52: SWAP1 00000c53: PUSH1 0x40 00000c55: MSTORE 00000c56: SWAP2 00000c57: POP 00000c58: PUSH1 0xe0 00000c5a: SHL 00000c5b: PUSH1 0x20 00000c5d: DUP3 00000c5e: ADD 00000c5f: DUP1 00000c60: MLOAD 00000c61: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000c7e: DUP4 00000c7f: DUP2 00000c80: DUP4 00000c81: AND 00000c82: OR 00000c83: DUP4 00000c84: MSTORE 00000c85: POP 00000c86: POP 00000c87: POP 00000c88: POP 00000c89: PUSH2 0x0d00 00000c8c: JUMP 00000c8d: JUMPDEST 00000c8e: POP 00000c8f: POP 00000c90: POP 00000c91: JUMP 00000c92: JUMPDEST 00000c93: PUSH1 0x00 00000c95: CALLER 00000c96: SWAP1 00000c97: POP 00000c98: SWAP1 00000c99: JUMP 00000c9a: JUMPDEST 00000c9b: PUSH1 0x02 00000c9d: PUSH1 0x01 00000c9f: SLOAD 00000ca0: SUB 00000ca1: PUSH2 0x0cd6 00000ca4: JUMPI 00000ca5: PUSH1 0x40 00000ca7: MLOAD 00000ca8: PUSH32 0x3ee5aeb500000000000000000000000000000000000000000000000000000000 00000cc9: DUP2 00000cca: MSTORE 00000ccb: PUSH1 0x04 00000ccd: ADD 00000cce: PUSH1 0x40 00000cd0: MLOAD 00000cd1: DUP1 00000cd2: SWAP2 00000cd3: SUB 00000cd4: SWAP1 00000cd5: REVERT 00000cd6: JUMPDEST 00000cd7: PUSH1 0x02 00000cd9: PUSH1 0x01 00000cdb: DUP2 00000cdc: SWAP1 00000cdd: SSTORE 00000cde: POP 00000cdf: JUMP 00000ce0: JUMPDEST 00000ce1: PUSH1 0x00 00000ce3: DUP3 00000ce4: PUSH2 0x0ced 00000ce7: DUP6 00000ce8: DUP5 00000ce9: PUSH2 0x0d97 00000cec: JUMP 00000ced: JUMPDEST 00000cee: EQ 00000cef: SWAP1 00000cf0: POP 00000cf1: SWAP4 00000cf2: SWAP3 00000cf3: POP 00000cf4: POP 00000cf5: POP 00000cf6: JUMP 00000cf7: JUMPDEST 00000cf8: PUSH1 0x01 00000cfa: DUP1 00000cfb: DUP2 00000cfc: SWAP1 00000cfd: SSTORE 00000cfe: POP 00000cff: JUMP 00000d00: JUMPDEST 00000d01: PUSH1 0x00 00000d03: PUSH2 0x0d2b 00000d06: DUP3 00000d07: DUP5 00000d08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d1d: AND 00000d1e: PUSH2 0x0ded 00000d21: SWAP1 00000d22: SWAP2 00000d23: SWAP1 00000d24: PUSH4 0xffffffff 00000d29: AND 00000d2a: JUMP 00000d2b: JUMPDEST 00000d2c: SWAP1 00000d2d: POP 00000d2e: PUSH1 0x00 00000d30: DUP2 00000d31: MLOAD 00000d32: EQ 00000d33: ISZERO 00000d34: DUP1 00000d35: ISZERO 00000d36: PUSH2 0x0d50 00000d39: JUMPI 00000d3a: POP 00000d3b: DUP1 00000d3c: DUP1 00000d3d: PUSH1 0x20 00000d3f: ADD 00000d40: SWAP1 00000d41: MLOAD 00000d42: DUP2 00000d43: ADD 00000d44: SWAP1 00000d45: PUSH2 0x0d4e 00000d48: SWAP2 00000d49: SWAP1 00000d4a: PUSH2 0x187c 00000d4d: JUMP 00000d4e: JUMPDEST 00000d4f: ISZERO 00000d50: JUMPDEST 00000d51: ISZERO 00000d52: PUSH2 0x0d92 00000d55: JUMPI 00000d56: DUP3 00000d57: PUSH1 0x40 00000d59: MLOAD 00000d5a: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000 00000d7b: DUP2 00000d7c: MSTORE 00000d7d: PUSH1 0x04 00000d7f: ADD 00000d80: PUSH2 0x0d89 00000d83: SWAP2 00000d84: SWAP1 00000d85: PUSH2 0x1447 00000d88: JUMP 00000d89: JUMPDEST 00000d8a: PUSH1 0x40 00000d8c: MLOAD 00000d8d: DUP1 00000d8e: SWAP2 00000d8f: SUB 00000d90: SWAP1 00000d91: REVERT 00000d92: JUMPDEST 00000d93: POP 00000d94: POP 00000d95: POP 00000d96: JUMP 00000d97: JUMPDEST 00000d98: PUSH1 0x00 00000d9a: DUP1 00000d9b: DUP3 00000d9c: SWAP1 00000d9d: POP 00000d9e: PUSH1 0x00 00000da0: JUMPDEST 00000da1: DUP5 00000da2: MLOAD 00000da3: DUP2 00000da4: LT 00000da5: ISZERO 00000da6: PUSH2 0x0de2 00000da9: JUMPI 00000daa: PUSH2 0x0dcd 00000dad: DUP3 00000dae: DUP7 00000daf: DUP4 00000db0: DUP2 00000db1: MLOAD 00000db2: DUP2 00000db3: LT 00000db4: PUSH2 0x0dc0 00000db7: JUMPI 00000db8: PUSH2 0x0dbf 00000dbb: PUSH2 0x18ee 00000dbe: JUMP 00000dbf: JUMPDEST 00000dc0: JUMPDEST 00000dc1: PUSH1 0x20 00000dc3: MUL 00000dc4: PUSH1 0x20 00000dc6: ADD 00000dc7: ADD 00000dc8: MLOAD 00000dc9: PUSH2 0x0e03 00000dcc: JUMP 00000dcd: JUMPDEST 00000dce: SWAP2 00000dcf: POP 00000dd0: DUP1 00000dd1: DUP1 00000dd2: PUSH2 0x0dda 00000dd5: SWAP1 00000dd6: PUSH2 0x191d 00000dd9: JUMP 00000dda: JUMPDEST 00000ddb: SWAP2 00000ddc: POP 00000ddd: POP 00000dde: PUSH2 0x0da0 00000de1: JUMP 00000de2: JUMPDEST 00000de3: POP 00000de4: DUP1 00000de5: SWAP2 00000de6: POP 00000de7: POP 00000de8: SWAP3 00000de9: SWAP2 00000dea: POP 00000deb: POP 00000dec: JUMP 00000ded: JUMPDEST 00000dee: PUSH1 0x60 00000df0: PUSH2 0x0dfb 00000df3: DUP4 00000df4: DUP4 00000df5: PUSH1 0x00 00000df7: PUSH2 0x0e2e 00000dfa: JUMP 00000dfb: JUMPDEST 00000dfc: SWAP1 00000dfd: POP 00000dfe: SWAP3 00000dff: SWAP2 00000e00: POP 00000e01: POP 00000e02: JUMP 00000e03: JUMPDEST 00000e04: PUSH1 0x00 00000e06: DUP2 00000e07: DUP4 00000e08: LT 00000e09: PUSH2 0x0e1b 00000e0c: JUMPI 00000e0d: PUSH2 0x0e16 00000e10: DUP3 00000e11: DUP5 00000e12: PUSH2 0x0efb 00000e15: JUMP 00000e16: JUMPDEST 00000e17: PUSH2 0x0e26 00000e1a: JUMP 00000e1b: JUMPDEST 00000e1c: PUSH2 0x0e25 00000e1f: DUP4 00000e20: DUP4 00000e21: PUSH2 0x0efb 00000e24: JUMP 00000e25: JUMPDEST 00000e26: JUMPDEST 00000e27: SWAP1 00000e28: POP 00000e29: SWAP3 00000e2a: SWAP2 00000e2b: POP 00000e2c: POP 00000e2d: JUMP 00000e2e: JUMPDEST 00000e2f: PUSH1 0x60 00000e31: DUP2 00000e32: SELFBALANCE 00000e33: LT 00000e34: ISZERO 00000e35: PUSH2 0x0e75 00000e38: JUMPI 00000e39: ADDRESS 00000e3a: PUSH1 0x40 00000e3c: MLOAD 00000e3d: PUSH32 0xcd78605900000000000000000000000000000000000000000000000000000000 00000e5e: DUP2 00000e5f: MSTORE 00000e60: PUSH1 0x04 00000e62: ADD 00000e63: PUSH2 0x0e6c 00000e66: SWAP2 00000e67: SWAP1 00000e68: PUSH2 0x1447 00000e6b: JUMP 00000e6c: JUMPDEST 00000e6d: PUSH1 0x40 00000e6f: MLOAD 00000e70: DUP1 00000e71: SWAP2 00000e72: SUB 00000e73: SWAP1 00000e74: REVERT 00000e75: JUMPDEST 00000e76: PUSH1 0x00 00000e78: DUP1 00000e79: DUP6 00000e7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e8f: AND 00000e90: DUP5 00000e91: DUP7 00000e92: PUSH1 0x40 00000e94: MLOAD 00000e95: PUSH2 0x0e9e 00000e98: SWAP2 00000e99: SWAP1 00000e9a: PUSH2 0x19d6 00000e9d: JUMP 00000e9e: JUMPDEST 00000e9f: PUSH1 0x00 00000ea1: PUSH1 0x40 00000ea3: MLOAD 00000ea4: DUP1 00000ea5: DUP4 00000ea6: SUB 00000ea7: DUP2 00000ea8: DUP6 00000ea9: DUP8 00000eaa: GAS 00000eab: CALL 00000eac: SWAP3 00000ead: POP 00000eae: POP 00000eaf: POP 00000eb0: RETURNDATASIZE 00000eb1: DUP1 00000eb2: PUSH1 0x00 00000eb4: DUP2 00000eb5: EQ 00000eb6: PUSH2 0x0edb 00000eb9: JUMPI 00000eba: PUSH1 0x40 00000ebc: MLOAD 00000ebd: SWAP2 00000ebe: POP 00000ebf: PUSH1 0x1f 00000ec1: NOT 00000ec2: PUSH1 0x3f 00000ec4: RETURNDATASIZE 00000ec5: ADD 00000ec6: AND 00000ec7: DUP3 00000ec8: ADD 00000ec9: PUSH1 0x40 00000ecb: MSTORE 00000ecc: RETURNDATASIZE 00000ecd: DUP3 00000ece: MSTORE 00000ecf: RETURNDATASIZE 00000ed0: PUSH1 0x00 00000ed2: PUSH1 0x20 00000ed4: DUP5 00000ed5: ADD 00000ed6: RETURNDATACOPY 00000ed7: PUSH2 0x0ee0 00000eda: JUMP 00000edb: JUMPDEST 00000edc: PUSH1 0x60 00000ede: SWAP2 00000edf: POP 00000ee0: JUMPDEST 00000ee1: POP 00000ee2: SWAP2 00000ee3: POP 00000ee4: SWAP2 00000ee5: POP 00000ee6: PUSH2 0x0ef0 00000ee9: DUP7 00000eea: DUP4 00000eeb: DUP4 00000eec: PUSH2 0x0f12 00000eef: JUMP 00000ef0: JUMPDEST 00000ef1: SWAP3 00000ef2: POP 00000ef3: POP 00000ef4: POP 00000ef5: SWAP4 00000ef6: SWAP3 00000ef7: POP 00000ef8: POP 00000ef9: POP 00000efa: JUMP 00000efb: JUMPDEST 00000efc: PUSH1 0x00 00000efe: DUP3 00000eff: PUSH1 0x00 00000f01: MSTORE 00000f02: DUP2 00000f03: PUSH1 0x20 00000f05: MSTORE 00000f06: PUSH1 0x40 00000f08: PUSH1 0x00 00000f0a: KECCAK256 00000f0b: SWAP1 00000f0c: POP 00000f0d: SWAP3 00000f0e: SWAP2 00000f0f: POP 00000f10: POP 00000f11: JUMP 00000f12: JUMPDEST 00000f13: PUSH1 0x60 00000f15: DUP3 00000f16: PUSH2 0x0f27 00000f19: JUMPI 00000f1a: PUSH2 0x0f22 00000f1d: DUP3 00000f1e: PUSH2 0x0fa1 00000f21: JUMP 00000f22: JUMPDEST 00000f23: PUSH2 0x0f99 00000f26: JUMP 00000f27: JUMPDEST 00000f28: PUSH1 0x00 00000f2a: DUP3 00000f2b: MLOAD 00000f2c: EQ 00000f2d: DUP1 00000f2e: ISZERO 00000f2f: PUSH2 0x0f4f 00000f32: JUMPI 00000f33: POP 00000f34: PUSH1 0x00 00000f36: DUP5 00000f37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f4c: AND 00000f4d: EXTCODESIZE 00000f4e: EQ 00000f4f: JUMPDEST 00000f50: ISZERO 00000f51: PUSH2 0x0f91 00000f54: JUMPI 00000f55: DUP4 00000f56: PUSH1 0x40 00000f58: MLOAD 00000f59: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000 00000f7a: DUP2 00000f7b: MSTORE 00000f7c: PUSH1 0x04 00000f7e: ADD 00000f7f: PUSH2 0x0f88 00000f82: SWAP2 00000f83: SWAP1 00000f84: PUSH2 0x1447 00000f87: JUMP 00000f88: JUMPDEST 00000f89: PUSH1 0x40 00000f8b: MLOAD 00000f8c: DUP1 00000f8d: SWAP2 00000f8e: SUB 00000f8f: SWAP1 00000f90: REVERT 00000f91: JUMPDEST 00000f92: DUP2 00000f93: SWAP1 00000f94: POP 00000f95: PUSH2 0x0f9a 00000f98: JUMP 00000f99: JUMPDEST 00000f9a: JUMPDEST 00000f9b: SWAP4 00000f9c: SWAP3 00000f9d: POP 00000f9e: POP 00000f9f: POP 00000fa0: JUMP 00000fa1: JUMPDEST 00000fa2: PUSH1 0x00 00000fa4: DUP2 00000fa5: MLOAD 00000fa6: GT 00000fa7: ISZERO 00000fa8: PUSH2 0x0fb4 00000fab: JUMPI 00000fac: DUP1 00000fad: MLOAD 00000fae: DUP1 00000faf: DUP3 00000fb0: PUSH1 0x20 00000fb2: ADD 00000fb3: REVERT 00000fb4: JUMPDEST 00000fb5: PUSH1 0x40 00000fb7: MLOAD 00000fb8: PUSH32 0x1425ea4200000000000000000000000000000000000000000000000000000000 00000fd9: DUP2 00000fda: MSTORE 00000fdb: PUSH1 0x04 00000fdd: ADD 00000fde: PUSH1 0x40 00000fe0: MLOAD 00000fe1: DUP1 00000fe2: SWAP2 00000fe3: SUB 00000fe4: SWAP1 00000fe5: REVERT 00000fe6: JUMPDEST 00000fe7: PUSH1 0x00 00000fe9: PUSH1 0x40 00000feb: MLOAD 00000fec: SWAP1 00000fed: POP 00000fee: SWAP1 00000fef: JUMP 00000ff0: JUMPDEST 00000ff1: PUSH1 0x00 00000ff3: DUP1 00000ff4: REVERT 00000ff5: JUMPDEST 00000ff6: PUSH1 0x00 00000ff8: DUP1 00000ff9: REVERT 00000ffa: JUMPDEST 00000ffb: PUSH1 0x00 00000ffd: DUP2 00000ffe: ISZERO 00000fff: ISZERO 00001000: SWAP1 00001001: POP 00001002: SWAP2 00001003: SWAP1 00001004: POP 00001005: JUMP 00001006: JUMPDEST 00001007: PUSH2 0x100f 0000100a: DUP2 0000100b: PUSH2 0x0ffa 0000100e: JUMP 0000100f: JUMPDEST 00001010: DUP2 00001011: EQ 00001012: PUSH2 0x101a 00001015: JUMPI 00001016: PUSH1 0x00 00001018: DUP1 00001019: REVERT 0000101a: JUMPDEST 0000101b: POP 0000101c: JUMP 0000101d: JUMPDEST 0000101e: PUSH1 0x00 00001020: DUP2 00001021: CALLDATALOAD 00001022: SWAP1 00001023: POP 00001024: PUSH2 0x102c 00001027: DUP2 00001028: PUSH2 0x1006 0000102b: JUMP 0000102c: JUMPDEST 0000102d: SWAP3 0000102e: SWAP2 0000102f: POP 00001030: POP 00001031: JUMP 00001032: JUMPDEST 00001033: PUSH1 0x00 00001035: PUSH1 0x20 00001037: DUP3 00001038: DUP5 00001039: SUB 0000103a: SLT 0000103b: ISZERO 0000103c: PUSH2 0x1048 0000103f: JUMPI 00001040: PUSH2 0x1047 00001043: PUSH2 0x0ff0 00001046: JUMP 00001047: JUMPDEST 00001048: JUMPDEST 00001049: PUSH1 0x00 0000104b: PUSH2 0x1056 0000104e: DUP5 0000104f: DUP3 00001050: DUP6 00001051: ADD 00001052: PUSH2 0x101d 00001055: JUMP 00001056: JUMPDEST 00001057: SWAP2 00001058: POP 00001059: POP 0000105a: SWAP3 0000105b: SWAP2 0000105c: POP 0000105d: POP 0000105e: JUMP 0000105f: JUMPDEST 00001060: PUSH1 0x00 00001062: DUP2 00001063: SWAP1 00001064: POP 00001065: SWAP2 00001066: SWAP1 00001067: POP 00001068: JUMP 00001069: JUMPDEST 0000106a: PUSH2 0x1072 0000106d: DUP2 0000106e: PUSH2 0x105f 00001071: JUMP 00001072: JUMPDEST 00001073: DUP3 00001074: MSTORE 00001075: POP 00001076: POP 00001077: JUMP 00001078: JUMPDEST 00001079: PUSH1 0x00 0000107b: PUSH1 0x20 0000107d: DUP3 0000107e: ADD 0000107f: SWAP1 00001080: POP 00001081: PUSH2 0x108d 00001084: PUSH1 0x00 00001086: DUP4 00001087: ADD 00001088: DUP5 00001089: PUSH2 0x1069 0000108c: JUMP 0000108d: JUMPDEST 0000108e: SWAP3 0000108f: SWAP2 00001090: POP 00001091: POP 00001092: JUMP 00001093: JUMPDEST 00001094: PUSH1 0x00 00001096: DUP2 00001097: SWAP1 00001098: POP 00001099: SWAP2 0000109a: SWAP1 0000109b: POP 0000109c: JUMP 0000109d: JUMPDEST 0000109e: PUSH2 0x10a6 000010a1: DUP2 000010a2: PUSH2 0x1093 000010a5: JUMP 000010a6: JUMPDEST 000010a7: DUP2 000010a8: EQ 000010a9: PUSH2 0x10b1 000010ac: JUMPI 000010ad: PUSH1 0x00 000010af: DUP1 000010b0: REVERT 000010b1: JUMPDEST 000010b2: POP 000010b3: JUMP 000010b4: JUMPDEST 000010b5: PUSH1 0x00 000010b7: DUP2 000010b8: CALLDATALOAD 000010b9: SWAP1 000010ba: POP 000010bb: PUSH2 0x10c3 000010be: DUP2 000010bf: PUSH2 0x109d 000010c2: JUMP 000010c3: JUMPDEST 000010c4: SWAP3 000010c5: SWAP2 000010c6: POP 000010c7: POP 000010c8: JUMP 000010c9: JUMPDEST 000010ca: PUSH1 0x00 000010cc: DUP1 000010cd: REVERT 000010ce: JUMPDEST 000010cf: PUSH1 0x00 000010d1: PUSH1 0x1f 000010d3: NOT 000010d4: PUSH1 0x1f 000010d6: DUP4 000010d7: ADD 000010d8: AND 000010d9: SWAP1 000010da: POP 000010db: SWAP2 000010dc: SWAP1 000010dd: POP 000010de: JUMP 000010df: JUMPDEST 000010e0: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001101: PUSH1 0x00 00001103: MSTORE 00001104: PUSH1 0x41 00001106: PUSH1 0x04 00001108: MSTORE 00001109: PUSH1 0x24 0000110b: PUSH1 0x00 0000110d: REVERT 0000110e: JUMPDEST 0000110f: PUSH2 0x1117 00001112: DUP3 00001113: PUSH2 0x10ce 00001116: JUMP 00001117: JUMPDEST 00001118: DUP2 00001119: ADD 0000111a: DUP2 0000111b: DUP2 0000111c: LT 0000111d: PUSH8 0xffffffffffffffff 00001126: DUP3 00001127: GT 00001128: OR 00001129: ISZERO 0000112a: PUSH2 0x1136 0000112d: JUMPI 0000112e: PUSH2 0x1135 00001131: PUSH2 0x10df 00001134: JUMP 00001135: JUMPDEST 00001136: JUMPDEST 00001137: DUP1 00001138: PUSH1 0x40 0000113a: MSTORE 0000113b: POP 0000113c: POP 0000113d: POP 0000113e: JUMP 0000113f: JUMPDEST 00001140: PUSH1 0x00 00001142: PUSH2 0x1149 00001145: PUSH2 0x0fe6 00001148: JUMP 00001149: JUMPDEST 0000114a: SWAP1 0000114b: POP 0000114c: PUSH2 0x1155 0000114f: DUP3 00001150: DUP3 00001151: PUSH2 0x110e 00001154: JUMP 00001155: JUMPDEST 00001156: SWAP2 00001157: SWAP1 00001158: POP 00001159: JUMP 0000115a: JUMPDEST 0000115b: PUSH1 0x00 0000115d: PUSH8 0xffffffffffffffff 00001166: DUP3 00001167: GT 00001168: ISZERO 00001169: PUSH2 0x1175 0000116c: JUMPI 0000116d: PUSH2 0x1174 00001170: PUSH2 0x10df 00001173: JUMP 00001174: JUMPDEST 00001175: JUMPDEST 00001176: PUSH1 0x20 00001178: DUP3 00001179: MUL 0000117a: SWAP1 0000117b: POP 0000117c: PUSH1 0x20 0000117e: DUP2 0000117f: ADD 00001180: SWAP1 00001181: POP 00001182: SWAP2 00001183: SWAP1 00001184: POP 00001185: JUMP 00001186: JUMPDEST 00001187: PUSH1 0x00 00001189: DUP1 0000118a: REVERT 0000118b: JUMPDEST 0000118c: PUSH2 0x1194 0000118f: DUP2 00001190: PUSH2 0x105f 00001193: JUMP 00001194: JUMPDEST 00001195: DUP2 00001196: EQ 00001197: PUSH2 0x119f 0000119a: JUMPI 0000119b: PUSH1 0x00 0000119d: DUP1 0000119e: REVERT 0000119f: JUMPDEST 000011a0: POP 000011a1: JUMP 000011a2: JUMPDEST 000011a3: PUSH1 0x00 000011a5: DUP2 000011a6: CALLDATALOAD 000011a7: SWAP1 000011a8: POP 000011a9: PUSH2 0x11b1 000011ac: DUP2 000011ad: PUSH2 0x118b 000011b0: JUMP 000011b1: JUMPDEST 000011b2: SWAP3 000011b3: SWAP2 000011b4: POP 000011b5: POP 000011b6: JUMP 000011b7: JUMPDEST 000011b8: PUSH1 0x00 000011ba: PUSH2 0x11ca 000011bd: PUSH2 0x11c5 000011c0: DUP5 000011c1: PUSH2 0x115a 000011c4: JUMP 000011c5: JUMPDEST 000011c6: PUSH2 0x113f 000011c9: JUMP 000011ca: JUMPDEST 000011cb: SWAP1 000011cc: POP 000011cd: DUP1 000011ce: DUP4 000011cf: DUP3 000011d0: MSTORE 000011d1: PUSH1 0x20 000011d3: DUP3 000011d4: ADD 000011d5: SWAP1 000011d6: POP 000011d7: PUSH1 0x20 000011d9: DUP5 000011da: MUL 000011db: DUP4 000011dc: ADD 000011dd: DUP6 000011de: DUP2 000011df: GT 000011e0: ISZERO 000011e1: PUSH2 0x11ed 000011e4: JUMPI 000011e5: PUSH2 0x11ec 000011e8: PUSH2 0x1186 000011eb: JUMP 000011ec: JUMPDEST 000011ed: JUMPDEST 000011ee: DUP4 000011ef: JUMPDEST 000011f0: DUP2 000011f1: DUP2 000011f2: LT 000011f3: ISZERO 000011f4: PUSH2 0x1216 000011f7: JUMPI 000011f8: DUP1 000011f9: PUSH2 0x1202 000011fc: DUP9 000011fd: DUP3 000011fe: PUSH2 0x11a2 00001201: JUMP 00001202: JUMPDEST 00001203: DUP5 00001204: MSTORE 00001205: PUSH1 0x20 00001207: DUP5 00001208: ADD 00001209: SWAP4 0000120a: POP 0000120b: POP 0000120c: PUSH1 0x20 0000120e: DUP2 0000120f: ADD 00001210: SWAP1 00001211: POP 00001212: PUSH2 0x11ef 00001215: JUMP 00001216: JUMPDEST 00001217: POP 00001218: POP 00001219: POP 0000121a: SWAP4 0000121b: SWAP3 0000121c: POP 0000121d: POP 0000121e: POP 0000121f: JUMP 00001220: JUMPDEST 00001221: PUSH1 0x00 00001223: DUP3 00001224: PUSH1 0x1f 00001226: DUP4 00001227: ADD 00001228: SLT 00001229: PUSH2 0x1235 0000122c: JUMPI 0000122d: PUSH2 0x1234 00001230: PUSH2 0x10c9 00001233: JUMP 00001234: JUMPDEST 00001235: JUMPDEST 00001236: DUP2 00001237: CALLDATALOAD 00001238: PUSH2 0x1245 0000123b: DUP5 0000123c: DUP3 0000123d: PUSH1 0x20 0000123f: DUP7 00001240: ADD 00001241: PUSH2 0x11b7 00001244: JUMP 00001245: JUMPDEST 00001246: SWAP2 00001247: POP 00001248: POP 00001249: SWAP3 0000124a: SWAP2 0000124b: POP 0000124c: POP 0000124d: JUMP 0000124e: JUMPDEST 0000124f: PUSH1 0x00 00001251: DUP1 00001252: PUSH1 0x40 00001254: DUP4 00001255: DUP6 00001256: SUB 00001257: SLT 00001258: ISZERO 00001259: PUSH2 0x1265 0000125c: JUMPI 0000125d: PUSH2 0x1264 00001260: PUSH2 0x0ff0 00001263: JUMP 00001264: JUMPDEST 00001265: JUMPDEST 00001266: PUSH1 0x00 00001268: PUSH2 0x1273 0000126b: DUP6 0000126c: DUP3 0000126d: DUP7 0000126e: ADD 0000126f: PUSH2 0x10b4 00001272: JUMP 00001273: JUMPDEST 00001274: SWAP3 00001275: POP 00001276: POP 00001277: PUSH1 0x20 00001279: DUP4 0000127a: ADD 0000127b: CALLDATALOAD 0000127c: PUSH8 0xffffffffffffffff 00001285: DUP2 00001286: GT 00001287: ISZERO 00001288: PUSH2 0x1294 0000128b: JUMPI 0000128c: PUSH2 0x1293 0000128f: PUSH2 0x0ff5 00001292: JUMP 00001293: JUMPDEST 00001294: JUMPDEST 00001295: PUSH2 0x12a0 00001298: DUP6 00001299: DUP3 0000129a: DUP7 0000129b: ADD 0000129c: PUSH2 0x1220 0000129f: JUMP 000012a0: JUMPDEST 000012a1: SWAP2 000012a2: POP 000012a3: POP 000012a4: SWAP3 000012a5: POP 000012a6: SWAP3 000012a7: SWAP1 000012a8: POP 000012a9: JUMP 000012aa: JUMPDEST 000012ab: PUSH1 0x00 000012ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012c2: DUP3 000012c3: AND 000012c4: SWAP1 000012c5: POP 000012c6: SWAP2 000012c7: SWAP1 000012c8: POP 000012c9: JUMP 000012ca: JUMPDEST 000012cb: PUSH1 0x00 000012cd: PUSH2 0x12d5 000012d0: DUP3 000012d1: PUSH2 0x12aa 000012d4: JUMP 000012d5: JUMPDEST 000012d6: SWAP1 000012d7: POP 000012d8: SWAP2 000012d9: SWAP1 000012da: POP 000012db: JUMP 000012dc: JUMPDEST 000012dd: PUSH2 0x12e5 000012e0: DUP2 000012e1: PUSH2 0x12ca 000012e4: JUMP 000012e5: JUMPDEST 000012e6: DUP2 000012e7: EQ 000012e8: PUSH2 0x12f0 000012eb: JUMPI 000012ec: PUSH1 0x00 000012ee: DUP1 000012ef: REVERT 000012f0: JUMPDEST 000012f1: POP 000012f2: JUMP 000012f3: JUMPDEST 000012f4: PUSH1 0x00 000012f6: DUP2 000012f7: CALLDATALOAD 000012f8: SWAP1 000012f9: POP 000012fa: PUSH2 0x1302 000012fd: DUP2 000012fe: PUSH2 0x12dc 00001301: JUMP 00001302: JUMPDEST 00001303: SWAP3 00001304: SWAP2 00001305: POP 00001306: POP 00001307: JUMP 00001308: JUMPDEST 00001309: PUSH1 0x00 0000130b: DUP1 0000130c: PUSH1 0x00 0000130e: PUSH1 0x60 00001310: DUP5 00001311: DUP7 00001312: SUB 00001313: SLT 00001314: ISZERO 00001315: PUSH2 0x1321 00001318: JUMPI 00001319: PUSH2 0x1320 0000131c: PUSH2 0x0ff0 0000131f: JUMP 00001320: JUMPDEST 00001321: JUMPDEST 00001322: PUSH1 0x00 00001324: PUSH2 0x132f 00001327: DUP7 00001328: DUP3 00001329: DUP8 0000132a: ADD 0000132b: PUSH2 0x12f3 0000132e: JUMP 0000132f: JUMPDEST 00001330: SWAP4 00001331: POP 00001332: POP 00001333: PUSH1 0x20 00001335: PUSH2 0x1340 00001338: DUP7 00001339: DUP3 0000133a: DUP8 0000133b: ADD 0000133c: PUSH2 0x10b4 0000133f: JUMP 00001340: JUMPDEST 00001341: SWAP3 00001342: POP 00001343: POP 00001344: PUSH1 0x40 00001346: DUP5 00001347: ADD 00001348: CALLDATALOAD 00001349: PUSH8 0xffffffffffffffff 00001352: DUP2 00001353: GT 00001354: ISZERO 00001355: PUSH2 0x1361 00001358: JUMPI 00001359: PUSH2 0x1360 0000135c: PUSH2 0x0ff5 0000135f: JUMP 00001360: JUMPDEST 00001361: JUMPDEST 00001362: PUSH2 0x136d 00001365: DUP7 00001366: DUP3 00001367: DUP8 00001368: ADD 00001369: PUSH2 0x1220 0000136c: JUMP 0000136d: JUMPDEST 0000136e: SWAP2 0000136f: POP 00001370: POP 00001371: SWAP3 00001372: POP 00001373: SWAP3 00001374: POP 00001375: SWAP3 00001376: JUMP 00001377: JUMPDEST 00001378: PUSH1 0x00 0000137a: PUSH1 0x20 0000137c: DUP3 0000137d: DUP5 0000137e: SUB 0000137f: SLT 00001380: ISZERO 00001381: PUSH2 0x138d 00001384: JUMPI 00001385: PUSH2 0x138c 00001388: PUSH2 0x0ff0 0000138b: JUMP 0000138c: JUMPDEST 0000138d: JUMPDEST 0000138e: PUSH1 0x00 00001390: PUSH2 0x139b 00001393: DUP5 00001394: DUP3 00001395: DUP6 00001396: ADD 00001397: PUSH2 0x12f3 0000139a: JUMP 0000139b: JUMPDEST 0000139c: SWAP2 0000139d: POP 0000139e: POP 0000139f: SWAP3 000013a0: SWAP2 000013a1: POP 000013a2: POP 000013a3: JUMP 000013a4: JUMPDEST 000013a5: PUSH2 0x13ad 000013a8: DUP2 000013a9: PUSH2 0x1093 000013ac: JUMP 000013ad: JUMPDEST 000013ae: DUP3 000013af: MSTORE 000013b0: POP 000013b1: POP 000013b2: JUMP 000013b3: JUMPDEST 000013b4: PUSH1 0x00 000013b6: PUSH1 0x20 000013b8: DUP3 000013b9: ADD 000013ba: SWAP1 000013bb: POP 000013bc: PUSH2 0x13c8 000013bf: PUSH1 0x00 000013c1: DUP4 000013c2: ADD 000013c3: DUP5 000013c4: PUSH2 0x13a4 000013c7: JUMP 000013c8: JUMPDEST 000013c9: SWAP3 000013ca: SWAP2 000013cb: POP 000013cc: POP 000013cd: JUMP 000013ce: JUMPDEST 000013cf: PUSH2 0x13d7 000013d2: DUP2 000013d3: PUSH2 0x0ffa 000013d6: JUMP 000013d7: JUMPDEST 000013d8: DUP3 000013d9: MSTORE 000013da: POP 000013db: POP 000013dc: JUMP 000013dd: JUMPDEST 000013de: PUSH1 0x00 000013e0: PUSH1 0x20 000013e2: DUP3 000013e3: ADD 000013e4: SWAP1 000013e5: POP 000013e6: PUSH2 0x13f2 000013e9: PUSH1 0x00 000013eb: DUP4 000013ec: ADD 000013ed: DUP5 000013ee: PUSH2 0x13ce 000013f1: JUMP 000013f2: JUMPDEST 000013f3: SWAP3 000013f4: SWAP2 000013f5: POP 000013f6: POP 000013f7: JUMP 000013f8: JUMPDEST 000013f9: PUSH1 0x00 000013fb: DUP1 000013fc: PUSH1 0x40 000013fe: DUP4 000013ff: DUP6 00001400: SUB 00001401: SLT 00001402: ISZERO 00001403: PUSH2 0x140f 00001406: JUMPI 00001407: PUSH2 0x140e 0000140a: PUSH2 0x0ff0 0000140d: JUMP 0000140e: JUMPDEST 0000140f: JUMPDEST 00001410: PUSH1 0x00 00001412: PUSH2 0x141d 00001415: DUP6 00001416: DUP3 00001417: DUP7 00001418: ADD 00001419: PUSH2 0x12f3 0000141c: JUMP 0000141d: JUMPDEST 0000141e: SWAP3 0000141f: POP 00001420: POP 00001421: PUSH1 0x20 00001423: PUSH2 0x142e 00001426: DUP6 00001427: DUP3 00001428: DUP7 00001429: ADD 0000142a: PUSH2 0x10b4 0000142d: JUMP 0000142e: JUMPDEST 0000142f: SWAP2 00001430: POP 00001431: POP 00001432: SWAP3 00001433: POP 00001434: SWAP3 00001435: SWAP1 00001436: POP 00001437: JUMP 00001438: JUMPDEST 00001439: PUSH2 0x1441 0000143c: DUP2 0000143d: PUSH2 0x12ca 00001440: JUMP 00001441: JUMPDEST 00001442: DUP3 00001443: MSTORE 00001444: POP 00001445: POP 00001446: JUMP 00001447: JUMPDEST 00001448: PUSH1 0x00 0000144a: PUSH1 0x20 0000144c: DUP3 0000144d: ADD 0000144e: SWAP1 0000144f: POP 00001450: PUSH2 0x145c 00001453: PUSH1 0x00 00001455: DUP4 00001456: ADD 00001457: DUP5 00001458: PUSH2 0x1438 0000145b: JUMP 0000145c: JUMPDEST 0000145d: SWAP3 0000145e: SWAP2 0000145f: POP 00001460: POP 00001461: JUMP 00001462: JUMPDEST 00001463: PUSH1 0x00 00001465: PUSH1 0x20 00001467: DUP3 00001468: DUP5 00001469: SUB 0000146a: SLT 0000146b: ISZERO 0000146c: PUSH2 0x1478 0000146f: JUMPI 00001470: PUSH2 0x1477 00001473: PUSH2 0x0ff0 00001476: JUMP 00001477: JUMPDEST 00001478: JUMPDEST 00001479: PUSH1 0x00 0000147b: PUSH2 0x1486 0000147e: DUP5 0000147f: DUP3 00001480: DUP6 00001481: ADD 00001482: PUSH2 0x11a2 00001485: JUMP 00001486: JUMPDEST 00001487: SWAP2 00001488: POP 00001489: POP 0000148a: SWAP3 0000148b: SWAP2 0000148c: POP 0000148d: POP 0000148e: JUMP 0000148f: JUMPDEST 00001490: PUSH1 0x00 00001492: DUP1 00001493: PUSH1 0x00 00001495: DUP1 00001496: PUSH1 0x80 00001498: DUP6 00001499: DUP8 0000149a: SUB 0000149b: SLT 0000149c: ISZERO 0000149d: PUSH2 0x14a9 000014a0: JUMPI 000014a1: PUSH2 0x14a8 000014a4: PUSH2 0x0ff0 000014a7: JUMP 000014a8: JUMPDEST 000014a9: JUMPDEST 000014aa: PUSH1 0x00 000014ac: PUSH2 0x14b7 000014af: DUP8 000014b0: DUP3 000014b1: DUP9 000014b2: ADD 000014b3: PUSH2 0x12f3 000014b6: JUMP 000014b7: JUMPDEST 000014b8: SWAP5 000014b9: POP 000014ba: POP 000014bb: PUSH1 0x20 000014bd: PUSH2 0x14c8 000014c0: DUP8 000014c1: DUP3 000014c2: DUP9 000014c3: ADD 000014c4: PUSH2 0x12f3 000014c7: JUMP 000014c8: JUMPDEST 000014c9: SWAP4 000014ca: POP 000014cb: POP 000014cc: PUSH1 0x40 000014ce: PUSH2 0x14d9 000014d1: DUP8 000014d2: DUP3 000014d3: DUP9 000014d4: ADD 000014d5: PUSH2 0x10b4 000014d8: JUMP 000014d9: JUMPDEST 000014da: SWAP3 000014db: POP 000014dc: POP 000014dd: PUSH1 0x60 000014df: DUP6 000014e0: ADD 000014e1: CALLDATALOAD 000014e2: PUSH8 0xffffffffffffffff 000014eb: DUP2 000014ec: GT 000014ed: ISZERO 000014ee: PUSH2 0x14fa 000014f1: JUMPI 000014f2: PUSH2 0x14f9 000014f5: PUSH2 0x0ff5 000014f8: JUMP 000014f9: JUMPDEST 000014fa: JUMPDEST 000014fb: PUSH2 0x1506 000014fe: DUP8 000014ff: DUP3 00001500: DUP9 00001501: ADD 00001502: PUSH2 0x1220 00001505: JUMP 00001506: JUMPDEST 00001507: SWAP2 00001508: POP 00001509: POP 0000150a: SWAP3 0000150b: SWAP6 0000150c: SWAP2 0000150d: SWAP5 0000150e: POP 0000150f: SWAP3 00001510: POP 00001511: JUMP 00001512: JUMPDEST 00001513: PUSH1 0x00 00001515: DUP3 00001516: DUP3 00001517: MSTORE 00001518: PUSH1 0x20 0000151a: DUP3 0000151b: ADD 0000151c: SWAP1 0000151d: POP 0000151e: SWAP3 0000151f: SWAP2 00001520: POP 00001521: POP 00001522: JUMP 00001523: JUMPDEST 00001524: PUSH32 0x696e76616c696420706175736564000000000000000000000000000000000000 00001545: PUSH1 0x00 00001547: DUP3 00001548: ADD 00001549: MSTORE 0000154a: POP 0000154b: JUMP 0000154c: JUMPDEST 0000154d: PUSH1 0x00 0000154f: PUSH2 0x1559 00001552: PUSH1 0x0e 00001554: DUP4 00001555: PUSH2 0x1512 00001558: JUMP 00001559: JUMPDEST 0000155a: SWAP2 0000155b: POP 0000155c: PUSH2 0x1564 0000155f: DUP3 00001560: PUSH2 0x1523 00001563: JUMP 00001564: JUMPDEST 00001565: PUSH1 0x20 00001567: DUP3 00001568: ADD 00001569: SWAP1 0000156a: POP 0000156b: SWAP2 0000156c: SWAP1 0000156d: POP 0000156e: JUMP 0000156f: JUMPDEST 00001570: PUSH1 0x00 00001572: PUSH1 0x20 00001574: DUP3 00001575: ADD 00001576: SWAP1 00001577: POP 00001578: DUP2 00001579: DUP2 0000157a: SUB 0000157b: PUSH1 0x00 0000157d: DUP4 0000157e: ADD 0000157f: MSTORE 00001580: PUSH2 0x1588 00001583: DUP2 00001584: PUSH2 0x154c 00001587: JUMP 00001588: JUMPDEST 00001589: SWAP1 0000158a: POP 0000158b: SWAP2 0000158c: SWAP1 0000158d: POP 0000158e: JUMP 0000158f: JUMPDEST 00001590: PUSH32 0x616c726561647920636c61696d65640000000000000000000000000000000000 000015b1: PUSH1 0x00 000015b3: DUP3 000015b4: ADD 000015b5: MSTORE 000015b6: POP 000015b7: JUMP 000015b8: JUMPDEST 000015b9: PUSH1 0x00 000015bb: PUSH2 0x15c5 000015be: PUSH1 0x0f 000015c0: DUP4 000015c1: PUSH2 0x1512 000015c4: JUMP 000015c5: JUMPDEST 000015c6: SWAP2 000015c7: POP 000015c8: PUSH2 0x15d0 000015cb: DUP3 000015cc: PUSH2 0x158f 000015cf: JUMP 000015d0: JUMPDEST 000015d1: PUSH1 0x20 000015d3: DUP3 000015d4: ADD 000015d5: SWAP1 000015d6: POP 000015d7: SWAP2 000015d8: SWAP1 000015d9: POP 000015da: JUMP 000015db: JUMPDEST 000015dc: PUSH1 0x00 000015de: PUSH1 0x20 000015e0: DUP3 000015e1: ADD 000015e2: SWAP1 000015e3: POP 000015e4: DUP2 000015e5: DUP2 000015e6: SUB 000015e7: PUSH1 0x00 000015e9: DUP4 000015ea: ADD 000015eb: MSTORE 000015ec: PUSH2 0x15f4 000015ef: DUP2 000015f0: PUSH2 0x15b8 000015f3: JUMP 000015f4: JUMPDEST 000015f5: SWAP1 000015f6: POP 000015f7: SWAP2 000015f8: SWAP1 000015f9: POP 000015fa: JUMP 000015fb: JUMPDEST 000015fc: PUSH1 0x00 000015fe: PUSH1 0x60 00001600: DUP3 00001601: ADD 00001602: SWAP1 00001603: POP 00001604: PUSH2 0x1610 00001607: PUSH1 0x00 00001609: DUP4 0000160a: ADD 0000160b: DUP7 0000160c: PUSH2 0x1438 0000160f: JUMP 00001610: JUMPDEST 00001611: PUSH2 0x161d 00001614: PUSH1 0x20 00001616: DUP4 00001617: ADD 00001618: DUP6 00001619: PUSH2 0x1438 0000161c: JUMP 0000161d: JUMPDEST 0000161e: PUSH2 0x162a 00001621: PUSH1 0x40 00001623: DUP4 00001624: ADD 00001625: DUP5 00001626: PUSH2 0x13a4 00001629: JUMP 0000162a: JUMPDEST 0000162b: SWAP5 0000162c: SWAP4 0000162d: POP 0000162e: POP 0000162f: POP 00001630: POP 00001631: JUMP 00001632: JUMPDEST 00001633: PUSH1 0x00 00001635: PUSH1 0x40 00001637: DUP3 00001638: ADD 00001639: SWAP1 0000163a: POP 0000163b: PUSH2 0x1647 0000163e: PUSH1 0x00 00001640: DUP4 00001641: ADD 00001642: DUP6 00001643: PUSH2 0x1069 00001646: JUMP 00001647: JUMPDEST 00001648: PUSH2 0x1654 0000164b: PUSH1 0x20 0000164d: DUP4 0000164e: ADD 0000164f: DUP5 00001650: PUSH2 0x1069 00001653: JUMP 00001654: JUMPDEST 00001655: SWAP4 00001656: SWAP3 00001657: POP 00001658: POP 00001659: POP 0000165a: JUMP 0000165b: JUMPDEST 0000165c: PUSH1 0x00 0000165e: PUSH1 0x40 00001660: DUP3 00001661: ADD 00001662: SWAP1 00001663: POP 00001664: PUSH2 0x1670 00001667: PUSH1 0x00 00001669: DUP4 0000166a: ADD 0000166b: DUP6 0000166c: PUSH2 0x1438 0000166f: JUMP 00001670: JUMPDEST 00001671: PUSH2 0x167d 00001674: PUSH1 0x20 00001676: DUP4 00001677: ADD 00001678: DUP5 00001679: PUSH2 0x13a4 0000167c: JUMP 0000167d: JUMPDEST 0000167e: SWAP4 0000167f: SWAP3 00001680: POP 00001681: POP 00001682: POP 00001683: JUMP 00001684: JUMPDEST 00001685: PUSH32 0x636c61696d656400000000000000000000000000000000000000000000000000 000016a6: PUSH1 0x00 000016a8: DUP3 000016a9: ADD 000016aa: MSTORE 000016ab: POP 000016ac: JUMP 000016ad: JUMPDEST 000016ae: PUSH1 0x00 000016b0: PUSH2 0x16ba 000016b3: PUSH1 0x07 000016b5: DUP4 000016b6: PUSH2 0x1512 000016b9: JUMP 000016ba: JUMPDEST 000016bb: SWAP2 000016bc: POP 000016bd: PUSH2 0x16c5 000016c0: DUP3 000016c1: PUSH2 0x1684 000016c4: JUMP 000016c5: JUMPDEST 000016c6: PUSH1 0x20 000016c8: DUP3 000016c9: ADD 000016ca: SWAP1 000016cb: POP 000016cc: SWAP2 000016cd: SWAP1 000016ce: POP 000016cf: JUMP 000016d0: JUMPDEST 000016d1: PUSH1 0x00 000016d3: PUSH1 0x20 000016d5: DUP3 000016d6: ADD 000016d7: SWAP1 000016d8: POP 000016d9: DUP2 000016da: DUP2 000016db: SUB 000016dc: PUSH1 0x00 000016de: DUP4 000016df: ADD 000016e0: MSTORE 000016e1: PUSH2 0x16e9 000016e4: DUP2 000016e5: PUSH2 0x16ad 000016e8: JUMP 000016e9: JUMPDEST 000016ea: SWAP1 000016eb: POP 000016ec: SWAP2 000016ed: SWAP1 000016ee: POP 000016ef: JUMP 000016f0: JUMPDEST 000016f1: PUSH32 0x636c61696d207061757365640000000000000000000000000000000000000000 00001712: PUSH1 0x00 00001714: DUP3 00001715: ADD 00001716: MSTORE 00001717: POP 00001718: JUMP 00001719: JUMPDEST 0000171a: PUSH1 0x00 0000171c: PUSH2 0x1726 0000171f: PUSH1 0x0c 00001721: DUP4 00001722: PUSH2 0x1512 00001725: JUMP 00001726: JUMPDEST 00001727: SWAP2 00001728: POP 00001729: PUSH2 0x1731 0000172c: DUP3 0000172d: PUSH2 0x16f0 00001730: JUMP 00001731: JUMPDEST 00001732: PUSH1 0x20 00001734: DUP3 00001735: ADD 00001736: SWAP1 00001737: POP 00001738: SWAP2 00001739: SWAP1 0000173a: POP 0000173b: JUMP 0000173c: JUMPDEST 0000173d: PUSH1 0x00 0000173f: PUSH1 0x20 00001741: DUP3 00001742: ADD 00001743: SWAP1 00001744: POP 00001745: DUP2 00001746: DUP2 00001747: SUB 00001748: PUSH1 0x00 0000174a: DUP4 0000174b: ADD 0000174c: MSTORE 0000174d: PUSH2 0x1755 00001750: DUP2 00001751: PUSH2 0x1719 00001754: JUMP 00001755: JUMPDEST 00001756: SWAP1 00001757: POP 00001758: SWAP2 00001759: SWAP1 0000175a: POP 0000175b: JUMP 0000175c: JUMPDEST 0000175d: PUSH1 0x00 0000175f: DUP2 00001760: SWAP1 00001761: POP 00001762: SWAP2 00001763: SWAP1 00001764: POP 00001765: JUMP 00001766: JUMPDEST 00001767: PUSH2 0x1777 0000176a: PUSH2 0x1772 0000176d: DUP3 0000176e: PUSH2 0x105f 00001771: JUMP 00001772: JUMPDEST 00001773: PUSH2 0x175c 00001776: JUMP 00001777: JUMPDEST 00001778: DUP3 00001779: MSTORE 0000177a: POP 0000177b: POP 0000177c: JUMP 0000177d: JUMPDEST 0000177e: PUSH1 0x00 00001780: PUSH2 0x1789 00001783: DUP3 00001784: DUP5 00001785: PUSH2 0x1766 00001788: JUMP 00001789: JUMPDEST 0000178a: PUSH1 0x20 0000178c: DUP3 0000178d: ADD 0000178e: SWAP2 0000178f: POP 00001790: DUP2 00001791: SWAP1 00001792: POP 00001793: SWAP3 00001794: SWAP2 00001795: POP 00001796: POP 00001797: JUMP 00001798: JUMPDEST 00001799: PUSH32 0x696e76616c696420616d6f756e74000000000000000000000000000000000000 000017ba: PUSH1 0x00 000017bc: DUP3 000017bd: ADD 000017be: MSTORE 000017bf: POP 000017c0: JUMP 000017c1: JUMPDEST 000017c2: PUSH1 0x00 000017c4: PUSH2 0x17ce 000017c7: PUSH1 0x0e 000017c9: DUP4 000017ca: PUSH2 0x1512 000017cd: JUMP 000017ce: JUMPDEST 000017cf: SWAP2 000017d0: POP 000017d1: PUSH2 0x17d9 000017d4: DUP3 000017d5: PUSH2 0x1798 000017d8: JUMP 000017d9: JUMPDEST 000017da: PUSH1 0x20 000017dc: DUP3 000017dd: ADD 000017de: SWAP1 000017df: POP 000017e0: SWAP2 000017e1: SWAP1 000017e2: POP 000017e3: JUMP 000017e4: JUMPDEST 000017e5: PUSH1 0x00 000017e7: PUSH1 0x20 000017e9: DUP3 000017ea: ADD 000017eb: SWAP1 000017ec: POP 000017ed: DUP2 000017ee: DUP2 000017ef: SUB 000017f0: PUSH1 0x00 000017f2: DUP4 000017f3: ADD 000017f4: MSTORE 000017f5: PUSH2 0x17fd 000017f8: DUP2 000017f9: PUSH2 0x17c1 000017fc: JUMP 000017fd: JUMPDEST 000017fe: SWAP1 000017ff: POP 00001800: SWAP2 00001801: SWAP1 00001802: POP 00001803: JUMP 00001804: JUMPDEST 00001805: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001826: PUSH1 0x00 00001828: MSTORE 00001829: PUSH1 0x11 0000182b: PUSH1 0x04 0000182d: MSTORE 0000182e: PUSH1 0x24 00001830: PUSH1 0x00 00001832: REVERT 00001833: JUMPDEST 00001834: PUSH1 0x00 00001836: PUSH2 0x183e 00001839: DUP3 0000183a: PUSH2 0x1093 0000183d: JUMP 0000183e: JUMPDEST 0000183f: SWAP2 00001840: POP 00001841: PUSH2 0x1849 00001844: DUP4 00001845: PUSH2 0x1093 00001848: JUMP 00001849: JUMPDEST 0000184a: SWAP3 0000184b: POP 0000184c: DUP3 0000184d: DUP3 0000184e: SUB 0000184f: SWAP1 00001850: POP 00001851: DUP2 00001852: DUP2 00001853: GT 00001854: ISZERO 00001855: PUSH2 0x1861 00001858: JUMPI 00001859: PUSH2 0x1860 0000185c: PUSH2 0x1804 0000185f: JUMP 00001860: JUMPDEST 00001861: JUMPDEST 00001862: SWAP3 00001863: SWAP2 00001864: POP 00001865: POP 00001866: JUMP 00001867: JUMPDEST 00001868: PUSH1 0x00 0000186a: DUP2 0000186b: MLOAD 0000186c: SWAP1 0000186d: POP 0000186e: PUSH2 0x1876 00001871: DUP2 00001872: PUSH2 0x1006 00001875: JUMP 00001876: JUMPDEST 00001877: SWAP3 00001878: SWAP2 00001879: POP 0000187a: POP 0000187b: JUMP 0000187c: JUMPDEST 0000187d: PUSH1 0x00 0000187f: PUSH1 0x20 00001881: DUP3 00001882: DUP5 00001883: SUB 00001884: SLT 00001885: ISZERO 00001886: PUSH2 0x1892 00001889: JUMPI 0000188a: PUSH2 0x1891 0000188d: PUSH2 0x0ff0 00001890: JUMP 00001891: JUMPDEST 00001892: JUMPDEST 00001893: PUSH1 0x00 00001895: PUSH2 0x18a0 00001898: DUP5 00001899: DUP3 0000189a: DUP6 0000189b: ADD 0000189c: PUSH2 0x1867 0000189f: JUMP 000018a0: JUMPDEST 000018a1: SWAP2 000018a2: POP 000018a3: POP 000018a4: SWAP3 000018a5: SWAP2 000018a6: POP 000018a7: POP 000018a8: JUMP 000018a9: JUMPDEST 000018aa: PUSH1 0x00 000018ac: PUSH1 0x80 000018ae: DUP3 000018af: ADD 000018b0: SWAP1 000018b1: POP 000018b2: PUSH2 0x18be 000018b5: PUSH1 0x00 000018b7: DUP4 000018b8: ADD 000018b9: DUP8 000018ba: PUSH2 0x1438 000018bd: JUMP 000018be: JUMPDEST 000018bf: PUSH2 0x18cb 000018c2: PUSH1 0x20 000018c4: DUP4 000018c5: ADD 000018c6: DUP7 000018c7: PUSH2 0x1438 000018ca: JUMP 000018cb: JUMPDEST 000018cc: PUSH2 0x18d8 000018cf: PUSH1 0x40 000018d1: DUP4 000018d2: ADD 000018d3: DUP6 000018d4: PUSH2 0x1438 000018d7: JUMP 000018d8: JUMPDEST 000018d9: PUSH2 0x18e5 000018dc: PUSH1 0x60 000018de: DUP4 000018df: ADD 000018e0: DUP5 000018e1: PUSH2 0x13a4 000018e4: JUMP 000018e5: JUMPDEST 000018e6: SWAP6 000018e7: SWAP5 000018e8: POP 000018e9: POP 000018ea: POP 000018eb: POP 000018ec: POP 000018ed: JUMP 000018ee: JUMPDEST 000018ef: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001910: PUSH1 0x00 00001912: MSTORE 00001913: PUSH1 0x32 00001915: PUSH1 0x04 00001917: MSTORE 00001918: PUSH1 0x24 0000191a: PUSH1 0x00 0000191c: REVERT 0000191d: JUMPDEST 0000191e: PUSH1 0x00 00001920: PUSH2 0x1928 00001923: DUP3 00001924: PUSH2 0x1093 00001927: JUMP 00001928: JUMPDEST 00001929: SWAP2 0000192a: POP 0000192b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000194c: DUP3 0000194d: SUB 0000194e: PUSH2 0x195a 00001951: JUMPI 00001952: PUSH2 0x1959 00001955: PUSH2 0x1804 00001958: JUMP 00001959: JUMPDEST 0000195a: JUMPDEST 0000195b: PUSH1 0x01 0000195d: DUP3 0000195e: ADD 0000195f: SWAP1 00001960: POP 00001961: SWAP2 00001962: SWAP1 00001963: POP 00001964: JUMP 00001965: JUMPDEST 00001966: PUSH1 0x00 00001968: DUP2 00001969: MLOAD 0000196a: SWAP1 0000196b: POP 0000196c: SWAP2 0000196d: SWAP1 0000196e: POP 0000196f: JUMP 00001970: JUMPDEST 00001971: PUSH1 0x00 00001973: DUP2 00001974: SWAP1 00001975: POP 00001976: SWAP3 00001977: SWAP2 00001978: POP 00001979: POP 0000197a: JUMP 0000197b: JUMPDEST 0000197c: PUSH1 0x00 0000197e: JUMPDEST 0000197f: DUP4 00001980: DUP2 00001981: LT 00001982: ISZERO 00001983: PUSH2 0x1999 00001986: JUMPI 00001987: DUP1 00001988: DUP3 00001989: ADD 0000198a: MLOAD 0000198b: DUP2 0000198c: DUP5 0000198d: ADD 0000198e: MSTORE 0000198f: PUSH1 0x20 00001991: DUP2 00001992: ADD 00001993: SWAP1 00001994: POP 00001995: PUSH2 0x197e 00001998: JUMP 00001999: JUMPDEST 0000199a: PUSH1 0x00 0000199c: DUP5 0000199d: DUP5 0000199e: ADD 0000199f: MSTORE 000019a0: POP 000019a1: POP 000019a2: POP 000019a3: POP 000019a4: JUMP 000019a5: JUMPDEST 000019a6: PUSH1 0x00 000019a8: PUSH2 0x19b0 000019ab: DUP3 000019ac: PUSH2 0x1965 000019af: JUMP 000019b0: JUMPDEST 000019b1: PUSH2 0x19ba 000019b4: DUP2 000019b5: DUP6 000019b6: PUSH2 0x1970 000019b9: JUMP 000019ba: JUMPDEST 000019bb: SWAP4 000019bc: POP 000019bd: PUSH2 0x19ca 000019c0: DUP2 000019c1: DUP6 000019c2: PUSH1 0x20 000019c4: DUP7 000019c5: ADD 000019c6: PUSH2 0x197b 000019c9: JUMP 000019ca: JUMPDEST 000019cb: DUP1 000019cc: DUP5 000019cd: ADD 000019ce: SWAP2 000019cf: POP 000019d0: POP 000019d1: SWAP3 000019d2: SWAP2 000019d3: POP 000019d4: POP 000019d5: JUMP 000019d6: JUMPDEST 000019d7: PUSH1 0x00 000019d9: PUSH2 0x19e2 000019dc: DUP3 000019dd: DUP5 000019de: PUSH2 0x19a5 000019e1: JUMP 000019e2: JUMPDEST 000019e3: SWAP2 000019e4: POP 000019e5: DUP2 000019e6: SWAP1 000019e7: POP 000019e8: SWAP3 000019e9: SWAP2 000019ea: POP 000019eb: POP 000019ec: JUMP 000019ed: INVALID 000019ee: LOG2 000019ef: PUSH5 0x6970667358 000019f5: UNKNOWN(0x22) 000019f6: SLT 000019f7: KECCAK256 000019f8: CREATE2 000019f9: PUSH4 0xe06c61d1 000019fe: UNKNOWN(0x28) 000019ff: UNKNOWN(0xDA) 00001a00: UNKNOWN(0xB8) 00001a01: ISZERO 00001a02: UNKNOWN(0xE9) 00001a03: PUSH29 0xef13ea050018269f672a59fc710c5cebcdc160be64736f6c6343000814 00001a21: STOP 00001a22: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x20dec665a4692341f9db8493e124bb2ea2a4e74594c8e5fee1d3401ff968b895
call_targets:
0x97dfbff1e89eac4fb84a372d6a4ec9cf52225afb
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x20dec665a4692341f9db8493e124bb2ea2a4e74594c8e5fee1d3401ff968b895",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x97dfbff1e89eac4fb84a372d6a4ec9cf52225afb"
],
"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": "0xc0f4709f",
"selector": "0xc0f4709f",
"calldata_variants": [
"0xc0f4709f",
"0xc0f4709f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc884ef83",
"selector": "0xc884ef83",
"calldata_variants": [
"0xc884ef83",
"0xc884ef830000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeb9253c0",
"selector": "0xeb9253c0",
"calldata_variants": [
"0xeb9253c0",
"0xeb9253c00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x817dccf0",
"selector": "0x817dccf0",
"calldata_variants": [
"0x817dccf0",
"0x817dccf00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91f744d5",
"selector": "0x91f744d5",
"calldata_variants": [
"0x91f744d5",
"0x91f744d50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xad5c4648",
"selector": "0xad5c4648",
"calldata_variants": [
"0xad5c4648",
"0xad5c46480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2669,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3755,
"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: 0x20dec665a4692341f9db8493e124bb2ea2a4e74594c8e5fee1d3401ff968b895
call_targets:
0x97dfbff1e89eac4fb84a372d6a4ec9cf52225afb
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x20dec665a4692341f9db8493e124bb2ea2a4e74594c8e5fee1d3401ff968b895",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x97dfbff1e89eac4fb84a372d6a4ec9cf52225afb"
],
"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": "0xc0f4709f",
"selector": "0xc0f4709f",
"calldata_variants": [
"0xc0f4709f",
"0xc0f4709f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc884ef83",
"selector": "0xc884ef83",
"calldata_variants": [
"0xc884ef83",
"0xc884ef830000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeb9253c0",
"selector": "0xeb9253c0",
"calldata_variants": [
"0xeb9253c0",
"0xeb9253c00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x817dccf0",
"selector": "0x817dccf0",
"calldata_variants": [
"0x817dccf0",
"0x817dccf00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91f744d5",
"selector": "0x91f744d5",
"calldata_variants": [
"0x91f744d5",
"0x91f744d50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xad5c4648",
"selector": "0xad5c4648",
"calldata_variants": [
"0xad5c4648",
"0xad5c46480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2669,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3755,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xef972b590a019e7cb8e125e854da2af8983bb5b062a6964617fc9281493a42c2
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 30,
"trace_id": "0xef972b590a019e7cb8e125e854da2af8983bb5b062a6964617fc9281493a42c2",
"confirmed": false,
"trace_mode": "structLogs",
"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": "0xc0f4709f",
"selector": "0xc0f4709f",
"calldata_variants": [
"0xc0f4709f",
"0xc0f4709f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc884ef83",
"selector": "0xc884ef83",
"calldata_variants": [
"0xc884ef83",
"0xc884ef830000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeb9253c0",
"selector": "0xeb9253c0",
"calldata_variants": [
"0xeb9253c0",
"0xeb9253c00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x817dccf0",
"selector": "0x817dccf0",
"calldata_variants": [
"0x817dccf0",
"0x817dccf00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91f744d5",
"selector": "0x91f744d5",
"calldata_variants": [
"0x91f744d5",
"0x91f744d50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xad5c4648",
"selector": "0xad5c4648",
"calldata_variants": [
"0xad5c4648",
"0xad5c46480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| low | other | codex | ERC20 transfer return value unchecked in claim payout | 65 | no | — |
viewevidence_json{
"evidence": "`IERC20(WETH).transfer(to, amount - excluded[from]);` is called without checking the return value after `claimed[from]` is set to true.",
"locations": [
"contracts/contracts/WethClaim.sol:56"
],
"recommendation": "Use `SafeERC20.safeTransfer` (or explicitly check the returned boolean) when transferring WETH in `_claimAndTransfer`.",
"exploit_scenario": "If the deployed WETH address is non-standard (returns false instead of reverting on failure) or a fee-on-transfer token, `_claimAndTransfer` will mark the user as claimed and emit a Claim even though no tokens were transferred, permanently burning the user\u2019s claim."
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|