54a189c7-eb59-4516-a724-ee00cb577b26
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 |
|---|---|---|---|---|
| 30944 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 94675 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 94676 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 94677 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 94678 | capability.graph | complete | 1 / 3 | 1 week ago |
| 94679 | detector.run | complete | 1 / 3 | 1 week ago |
| 94680 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1391007] OpenAI Codex v0.77.0 (research preview)
[codex:1391007] --------
[codex:1391007] workdir: /tmp/codex-multi-0_st8foq
[codex:1391007] model: gpt-5.2-codex
[codex:1391007] provider: openai
[codex:1391007] approval: never
[codex:1391007] sandbox: read-only
[codex:1391007] reasoning effort: xhigh
[codex:1391007] reasoning summaries: auto
[codex:1391007] session id: 019b7674-a185-7213-8b14-4c137c9ab10d
[codex:1391007] --------
[codex:1391007] user
[codex:1391007] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1391007]
[codex:1391007] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1391007]
[codex:1391007] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1391007] - Gas inefficiency, code quality, naming, or best practices
[codex:1391007] - Theoretical vulnerabilities without a clear extraction path
[codex:1391007] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1391007] - Front-running unless it enables theft beyond MEV
[codex:1391007] - DoS, griefing, or issues that don't result in attacker profit
[codex:1391007] - Missing events, view function issues, or informational findings
[codex:1391007]
[codex:1391007] HIGH-VALUE PATTERNS TO HUNT:
[codex:1391007] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1391007] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1391007] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1391007] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1391007] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1391007] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1391007] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1391007] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1391007] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1391007]
[codex:1391007] For each finding, you MUST provide:
[codex:1391007] 1. Exact file and line numbers of vulnerable code
[codex:1391007] 2. Step-by-step exploit transaction sequence
[codex:1391007] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1391007]
[codex:1391007] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1391007]
[codex:1391007] Output MUST be valid JSON matching the provided schema.
[codex:1391007] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1391007] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1391007] mcp startup: no servers
[codex:1391007]
[codex:1391007] thinking
[codex:1391007] **Preparing to locate AUDIT_BUNDLE.txt**
[codex:1391007] exec
[codex:1391007] /bin/bash -lc ls in /tmp/codex-multi-0_st8foq succeeded in 5ms:
[codex:1391007] AUDIT_BUNDLE.txt
[codex:1391007] codex-output-schema.json
[codex:1391007] contracts
[codex:1391007]
[codex:1391007] thinking
[codex:1391007] **Reading AUDIT_BUNDLE.txt**
[codex:1391007] exec
[codex:1391007] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-0_st8foq succeeded in 5ms:
[codex:1391007] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1391007]
[codex:1391007] ================================================================================
[codex:1391007] FILE: contracts/Contract.sol
[codex:1391007] ================================================================================
[codex:1391007] pragma solidity >=0.8.0 <0.9.0;
[codex:1391007]
[codex:1391007] // This is the ETH/ERC20/NFT multisig contract for Ownbit.
[codex:1391007] //
[codex:1391007] // For 2-of-3 multisig, to authorize a spend, two signtures must be provided by 2 of the 3 owners.
[codex:1391007] // To generate the message to be signed, provide the destination address and
[codex:1391007] // spend amount (in wei) to the generateMessageToSign method.
[codex:1391007] // The signatures must be provided as the (v, r, s) hex-encoded coordinates.
[codex:1391007] // The S coordinate must be 0x00 or 0x01 corresponding to 0x1b and 0x1c, respectively.
[codex:1391007] //
[codex:1391007] // WARNING: The generated message is only valid until the next spend is executed.
[codex:1391007] // after that, a new message will need to be calculated.
[codex:1391007] //
[codex:1391007] //
[codex:1391007] // INFO: This contract is ERC20/ERC721/ERC1155 compatible.
[codex:1391007]
[codex:1391007] thinking
[codex:1391007] **Assessing initialization and reentrancy risks**
[codex:1391007]
[codex:1391007] I'm analyzing the contract for profit-driven vulnerabilities, focusing on unprotected initialization that could let an attacker set themselves as owner if the proxy isn't initialized yet. Reentrancy seems blocked by nonce usage, and signature checks appear sound, but cross-chain replay might be possible though unlikely profitable. The main concrete risk is the classic uninitialized proxy storage vulnerability, which could lead to fund theft if deployment and initialization aren't correctly managed. I'll need to note exact line numbers next.
[codex:1391007] exec
[codex:1391007] /bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-multi-0_st8foq succeeded in 5ms:
[codex:1391007] 1 pragma solidity >=0.8.0 <0.9.0;
[codex:1391007] 2
[codex:1391007] 3 // This is the ETH/ERC20/NFT multisig contract for Ownbit.
[codex:1391007] 4 //
[codex:1391007] 5 // For 2-of-3 multisig, to authorize a spend, two signtures must be provided by 2 of the 3 owners.
[codex:1391007] 6 // To generate the message to be signed, provide the destination address and
[codex:1391007] 7 // spend amount (in wei) to the generateMessageToSign method.
[codex:1391007] 8 // The signatures must be provided as the (v, r, s) hex-encoded coordinates.
[codex:1391007] 9 // The S coordinate must be 0x00 or 0x01 corresponding to 0x1b and 0x1c, respectively.
[codex:1391007] 10 //
[codex:1391007] 11 // WARNING: The generated message is only valid until the next spend is executed.
[codex:1391007] 12 // after that, a new message will need to be calculated.
[codex:1391007] 13 //
[codex:1391007] 14 //
[codex:1391007] 15 // INFO: This contract is ERC20/ERC721/ERC1155 compatible.
[codex:1391007] 16 // This contract can both receive ETH, ERC20 and NFT (ERC721/ERC1155) tokens.
[codex:1391007] 17 // Last update time: 2024-12-31.
[codex:1391007] 18 // version for BEP20 (BSC)
[codex:1391007] 19 // copyright@ownbit.io
[codex:1391007] 20
[codex:1391007]
[codex:1391007] thinking
[codex:1391007] **Analyzing unprotected initialization vulnerability**
[codex:1391007]
[codex:1391007] I'm evaluating a critical unprotected initialization vulnerability that allows an attacker to hijack ownership by calling initialize before rightful owners set up the contract. This lets an attacker become sole owner, set required signatures to 1, then execute spend to drain all ETH, ERC20 tokens, and NFTs. The exploit involves monitoring for uninitialized proxy or implementation contracts, calling initialize with attacker-controlled owners, signing spend messages offline, and transferring all assets. The severity is critical due to full takeover potential, categorized under upgradeability. I'll provide exact file line numbers (around line 46), step-by-step exploit details, profit estimates, and evidence in a strict JSON format.
[codex:1391007] codex
[codex:1391007] {"no_findings":false,"summary":"Found a concrete takeover path if a proxy/instance is deployed but not initialized.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initialize enables full ownership takeover and fund drain","exploit_scenario":"1) Attacker watches for a freshly deployed OwnbitMultiSig (or proxy) with owners.length == 0. 2) Attacker calls initialize([attacker], 1), becoming the sole owner. 3) Attacker signs the spend message and calls spend to transfer all ETH to themselves (value=contract balance). 4) For ERC20/NFTs, attacker calls spend with destination=token contract and data=transfer/safeTransferFrom to move all tokens/NFTs out.","recommendation":"Require an authorized initializer (e.g., onlyProxy/onlyOwner/initializer pattern) or set owners in a constructor for non-proxy deployments so initialize cannot be called by arbitrary addresses.","evidence":"initialize is public and only gated by owners.length == 0, allowing any caller to set owners/required when uninitialized.","locations":["contracts/Contract.sol:46"]}]}
[codex:1391007] tokens used
[codex:1391007] 16,087
[codex:1391007] {"no_findings":false,"summary":"Found a concrete takeover path if a proxy/instance is deployed but not initialized.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initialize enables full ownership takeover and fund drain","exploit_scenario":"1) Attacker watches for a freshly deployed OwnbitMultiSig (or proxy) with owners.length == 0. 2) Attacker calls initialize([attacker], 1), becoming the sole owner. 3) Attacker signs the spend message and calls spend to transfer all ETH to themselves (value=contract balance). 4) For ERC20/NFTs, attacker calls spend with destination=token contract and data=transfer/safeTransferFrom to move all tokens/NFTs out.","recommendation":"Require an authorized initializer (e.g., onlyProxy/onlyOwner/initializer pattern) or set owners in a constructor for non-proxy deployments so initialize cannot be called by arbitrary addresses.","evidence":"initialize is public and only gated by owners.length == 0, allowing any caller to set owners/required when uninitialized.","locations":["contracts/Contract.sol:46"]}]}
{
"codex": {
"ran_at": "2025-12-31T22:09:30.366930+00:00",
"returncode": 0
},
"summary": "Found a concrete takeover path if a proxy/instance is deployed but not initialized.",
"raw_final": {
"summary": "Found a concrete takeover path if a proxy/instance is deployed but not initialized.",
"findings": [
{
"title": "Unprotected initialize enables full ownership takeover and fund drain",
"category": "upgradeability",
"evidence": "initialize is public and only gated by owners.length == 0, allowing any caller to set owners/required when uninitialized.",
"severity": "critical",
"locations": [
"contracts/Contract.sol:46"
],
"recommendation": "Require an authorized initializer (e.g., onlyProxy/onlyOwner/initializer pattern) or set owners in a constructor for non-proxy deployments so initialize cannot be called by arbitrary addresses.",
"exploit_scenario": "1) Attacker watches for a freshly deployed OwnbitMultiSig (or proxy) with owners.length == 0. 2) Attacker calls initialize([attacker], 1), becoming the sole owner. 3) Attacker signs the spend message and calls spend to transfer all ETH to themselves (value=contract balance). 4) For ERC20/NFTs, attacker calls spend with destination=token contract and data=transfer/safeTransferFrom to move all tokens/NFTs out."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x00aa 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x843b1a09 00000018: GT 00000019: PUSH2 0x0063 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0x843b1a09 00000023: EQ 00000024: PUSH2 0x021c 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0xa0e67e2b 0000002e: EQ 0000002f: PUSH2 0x0246 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0xc6a2a9f1 00000039: EQ 0000003a: PUSH2 0x0270 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xd74f8edd 00000044: EQ 00000045: PUSH2 0x029a 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xdc8452cd 0000004f: EQ 00000050: PUSH2 0x02c4 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0xf23a6e61 0000005a: EQ 0000005b: PUSH2 0x02ee 0000005e: JUMPI 0000005f: PUSH2 0x00ea 00000062: JUMP 00000063: JUMPDEST 00000064: DUP1 00000065: PUSH4 0x025e7c27 0000006a: EQ 0000006b: PUSH2 0x00ee 0000006e: JUMPI 0000006f: DUP1 00000070: PUSH4 0x1398a5f6 00000075: EQ 00000076: PUSH2 0x012a 00000079: JUMPI 0000007a: DUP1 0000007b: PUSH4 0x150b7a02 00000080: EQ 00000081: PUSH2 0x0154 00000084: JUMPI 00000085: DUP1 00000086: PUSH4 0x2f54bf6e 0000008b: EQ 0000008c: PUSH2 0x0190 0000008f: JUMPI 00000090: DUP1 00000091: PUSH4 0x60b5bb3f 00000096: EQ 00000097: PUSH2 0x01cc 0000009a: JUMPI 0000009b: DUP1 0000009c: PUSH4 0x7c99df4a 000000a1: EQ 000000a2: PUSH2 0x01f4 000000a5: JUMPI 000000a6: PUSH2 0x00ea 000000a9: JUMP 000000aa: JUMPDEST 000000ab: CALLDATASIZE 000000ac: PUSH2 0x00ea 000000af: JUMPI 000000b0: PUSH32 0x5af8184bef8e4b45eb9f6ed7734d04da38ced226495548f46e0c8ff8d7d9a524 000000d1: CALLER 000000d2: CALLVALUE 000000d3: PUSH1 0x40 000000d5: MLOAD 000000d6: PUSH2 0x00e0 000000d9: SWAP3 000000da: SWAP2 000000db: SWAP1 000000dc: PUSH2 0x0c9a 000000df: JUMP 000000e0: JUMPDEST 000000e1: PUSH1 0x40 000000e3: MLOAD 000000e4: DUP1 000000e5: SWAP2 000000e6: SUB 000000e7: SWAP1 000000e8: LOG1 000000e9: STOP 000000ea: JUMPDEST 000000eb: PUSH0 000000ec: DUP1 000000ed: REVERT 000000ee: JUMPDEST 000000ef: CALLVALUE 000000f0: DUP1 000000f1: ISZERO 000000f2: PUSH2 0x00f9 000000f5: JUMPI 000000f6: PUSH0 000000f7: DUP1 000000f8: REVERT 000000f9: JUMPDEST 000000fa: POP 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 0x0cfc 0000010e: JUMP 0000010f: JUMPDEST 00000110: PUSH2 0x032a 00000113: JUMP 00000114: JUMPDEST 00000115: PUSH1 0x40 00000117: MLOAD 00000118: PUSH2 0x0121 0000011b: SWAP2 0000011c: SWAP1 0000011d: PUSH2 0x0d27 00000120: JUMP 00000121: JUMPDEST 00000122: PUSH1 0x40 00000124: MLOAD 00000125: DUP1 00000126: SWAP2 00000127: SUB 00000128: SWAP1 00000129: RETURN 0000012a: JUMPDEST 0000012b: CALLVALUE 0000012c: DUP1 0000012d: ISZERO 0000012e: PUSH2 0x0135 00000131: JUMPI 00000132: PUSH0 00000133: DUP1 00000134: REVERT 00000135: JUMPDEST 00000136: POP 00000137: PUSH2 0x013e 0000013a: PUSH2 0x0365 0000013d: JUMP 0000013e: JUMPDEST 0000013f: PUSH1 0x40 00000141: MLOAD 00000142: PUSH2 0x014b 00000145: SWAP2 00000146: SWAP1 00000147: PUSH2 0x0d40 0000014a: JUMP 0000014b: JUMPDEST 0000014c: PUSH1 0x40 0000014e: MLOAD 0000014f: DUP1 00000150: SWAP2 00000151: SUB 00000152: SWAP1 00000153: RETURN 00000154: JUMPDEST 00000155: CALLVALUE 00000156: DUP1 00000157: ISZERO 00000158: PUSH2 0x015f 0000015b: JUMPI 0000015c: PUSH0 0000015d: DUP1 0000015e: REVERT 0000015f: JUMPDEST 00000160: POP 00000161: PUSH2 0x017a 00000164: PUSH1 0x04 00000166: DUP1 00000167: CALLDATASIZE 00000168: SUB 00000169: DUP2 0000016a: ADD 0000016b: SWAP1 0000016c: PUSH2 0x0175 0000016f: SWAP2 00000170: SWAP1 00000171: PUSH2 0x0de4 00000174: JUMP 00000175: JUMPDEST 00000176: PUSH2 0x036e 00000179: JUMP 0000017a: JUMPDEST 0000017b: PUSH1 0x40 0000017d: MLOAD 0000017e: PUSH2 0x0187 00000181: SWAP2 00000182: SWAP1 00000183: PUSH2 0x0ea2 00000186: JUMP 00000187: JUMPDEST 00000188: PUSH1 0x40 0000018a: MLOAD 0000018b: DUP1 0000018c: SWAP2 0000018d: SUB 0000018e: SWAP1 0000018f: RETURN 00000190: JUMPDEST 00000191: CALLVALUE 00000192: DUP1 00000193: ISZERO 00000194: PUSH2 0x019b 00000197: JUMPI 00000198: PUSH0 00000199: DUP1 0000019a: REVERT 0000019b: JUMPDEST 0000019c: POP 0000019d: PUSH2 0x01b6 000001a0: PUSH1 0x04 000001a2: DUP1 000001a3: CALLDATASIZE 000001a4: SUB 000001a5: DUP2 000001a6: ADD 000001a7: SWAP1 000001a8: PUSH2 0x01b1 000001ab: SWAP2 000001ac: SWAP1 000001ad: PUSH2 0x0ebb 000001b0: JUMP 000001b1: JUMPDEST 000001b2: PUSH2 0x039b 000001b5: JUMP 000001b6: JUMPDEST 000001b7: PUSH1 0x40 000001b9: MLOAD 000001ba: PUSH2 0x01c3 000001bd: SWAP2 000001be: SWAP1 000001bf: PUSH2 0x0f00 000001c2: JUMP 000001c3: JUMPDEST 000001c4: PUSH1 0x40 000001c6: MLOAD 000001c7: DUP1 000001c8: SWAP2 000001c9: SUB 000001ca: SWAP1 000001cb: RETURN 000001cc: JUMPDEST 000001cd: CALLVALUE 000001ce: DUP1 000001cf: ISZERO 000001d0: PUSH2 0x01d7 000001d3: JUMPI 000001d4: PUSH0 000001d5: DUP1 000001d6: REVERT 000001d7: JUMPDEST 000001d8: POP 000001d9: PUSH2 0x01f2 000001dc: PUSH1 0x04 000001de: DUP1 000001df: CALLDATASIZE 000001e0: SUB 000001e1: DUP2 000001e2: ADD 000001e3: SWAP1 000001e4: PUSH2 0x01ed 000001e7: SWAP2 000001e8: SWAP1 000001e9: PUSH2 0x1061 000001ec: JUMP 000001ed: JUMPDEST 000001ee: PUSH2 0x03b7 000001f1: JUMP 000001f2: JUMPDEST 000001f3: STOP 000001f4: JUMPDEST 000001f5: CALLVALUE 000001f6: DUP1 000001f7: ISZERO 000001f8: PUSH2 0x01ff 000001fb: JUMPI 000001fc: PUSH0 000001fd: DUP1 000001fe: REVERT 000001ff: JUMPDEST 00000200: POP 00000201: PUSH2 0x021a 00000204: PUSH1 0x04 00000206: DUP1 00000207: CALLDATASIZE 00000208: SUB 00000209: DUP2 0000020a: ADD 0000020b: SWAP1 0000020c: PUSH2 0x0215 0000020f: SWAP2 00000210: SWAP1 00000211: PUSH2 0x12a4 00000214: JUMP 00000215: JUMPDEST 00000216: PUSH2 0x05f1 00000219: JUMP 0000021a: JUMPDEST 0000021b: STOP 0000021c: JUMPDEST 0000021d: CALLVALUE 0000021e: DUP1 0000021f: ISZERO 00000220: PUSH2 0x0227 00000223: JUMPI 00000224: PUSH0 00000225: DUP1 00000226: REVERT 00000227: JUMPDEST 00000228: POP 00000229: PUSH2 0x0230 0000022c: PUSH2 0x07bd 0000022f: JUMP 00000230: JUMPDEST 00000231: PUSH1 0x40 00000233: MLOAD 00000234: PUSH2 0x023d 00000237: SWAP2 00000238: SWAP1 00000239: PUSH2 0x0d40 0000023c: JUMP 0000023d: JUMPDEST 0000023e: PUSH1 0x40 00000240: MLOAD 00000241: DUP1 00000242: SWAP2 00000243: SUB 00000244: SWAP1 00000245: RETURN 00000246: JUMPDEST 00000247: CALLVALUE 00000248: DUP1 00000249: ISZERO 0000024a: PUSH2 0x0251 0000024d: JUMPI 0000024e: PUSH0 0000024f: DUP1 00000250: REVERT 00000251: JUMPDEST 00000252: POP 00000253: PUSH2 0x025a 00000256: PUSH2 0x07c3 00000259: JUMP 0000025a: JUMPDEST 0000025b: PUSH1 0x40 0000025d: MLOAD 0000025e: PUSH2 0x0267 00000261: SWAP2 00000262: SWAP1 00000263: PUSH2 0x1459 00000266: JUMP 00000267: JUMPDEST 00000268: PUSH1 0x40 0000026a: MLOAD 0000026b: DUP1 0000026c: SWAP2 0000026d: SUB 0000026e: SWAP1 0000026f: RETURN 00000270: JUMPDEST 00000271: CALLVALUE 00000272: DUP1 00000273: ISZERO 00000274: PUSH2 0x027b 00000277: JUMPI 00000278: PUSH0 00000279: DUP1 0000027a: REVERT 0000027b: JUMPDEST 0000027c: POP 0000027d: PUSH2 0x0284 00000280: PUSH2 0x084e 00000283: JUMP 00000284: JUMPDEST 00000285: PUSH1 0x40 00000287: MLOAD 00000288: PUSH2 0x0291 0000028b: SWAP2 0000028c: SWAP1 0000028d: PUSH2 0x0d40 00000290: JUMP 00000291: JUMPDEST 00000292: PUSH1 0x40 00000294: MLOAD 00000295: DUP1 00000296: SWAP2 00000297: SUB 00000298: SWAP1 00000299: RETURN 0000029a: JUMPDEST 0000029b: CALLVALUE 0000029c: DUP1 0000029d: ISZERO 0000029e: PUSH2 0x02a5 000002a1: JUMPI 000002a2: PUSH0 000002a3: DUP1 000002a4: REVERT 000002a5: JUMPDEST 000002a6: POP 000002a7: PUSH2 0x02ae 000002aa: PUSH2 0x0857 000002ad: JUMP 000002ae: JUMPDEST 000002af: PUSH1 0x40 000002b1: MLOAD 000002b2: PUSH2 0x02bb 000002b5: SWAP2 000002b6: SWAP1 000002b7: PUSH2 0x0d40 000002ba: JUMP 000002bb: JUMPDEST 000002bc: PUSH1 0x40 000002be: MLOAD 000002bf: DUP1 000002c0: SWAP2 000002c1: SUB 000002c2: SWAP1 000002c3: RETURN 000002c4: JUMPDEST 000002c5: CALLVALUE 000002c6: DUP1 000002c7: ISZERO 000002c8: PUSH2 0x02cf 000002cb: JUMPI 000002cc: PUSH0 000002cd: DUP1 000002ce: REVERT 000002cf: JUMPDEST 000002d0: POP 000002d1: PUSH2 0x02d8 000002d4: PUSH2 0x085c 000002d7: JUMP 000002d8: JUMPDEST 000002d9: PUSH1 0x40 000002db: MLOAD 000002dc: PUSH2 0x02e5 000002df: SWAP2 000002e0: SWAP1 000002e1: PUSH2 0x0d40 000002e4: JUMP 000002e5: JUMPDEST 000002e6: PUSH1 0x40 000002e8: MLOAD 000002e9: DUP1 000002ea: SWAP2 000002eb: SUB 000002ec: SWAP1 000002ed: RETURN 000002ee: JUMPDEST 000002ef: CALLVALUE 000002f0: DUP1 000002f1: ISZERO 000002f2: PUSH2 0x02f9 000002f5: JUMPI 000002f6: PUSH0 000002f7: DUP1 000002f8: REVERT 000002f9: JUMPDEST 000002fa: POP 000002fb: PUSH2 0x0314 000002fe: PUSH1 0x04 00000300: DUP1 00000301: CALLDATASIZE 00000302: SUB 00000303: DUP2 00000304: ADD 00000305: SWAP1 00000306: PUSH2 0x030f 00000309: SWAP2 0000030a: SWAP1 0000030b: PUSH2 0x1479 0000030e: JUMP 0000030f: JUMPDEST 00000310: PUSH2 0x0862 00000313: JUMP 00000314: JUMPDEST 00000315: PUSH1 0x40 00000317: MLOAD 00000318: PUSH2 0x0321 0000031b: SWAP2 0000031c: SWAP1 0000031d: PUSH2 0x0ea2 00000320: JUMP 00000321: JUMPDEST 00000322: PUSH1 0x40 00000324: MLOAD 00000325: DUP1 00000326: SWAP2 00000327: SUB 00000328: SWAP1 00000329: RETURN 0000032a: JUMPDEST 0000032b: PUSH1 0x01 0000032d: DUP2 0000032e: DUP2 0000032f: SLOAD 00000330: DUP2 00000331: LT 00000332: PUSH2 0x0339 00000335: JUMPI 00000336: PUSH0 00000337: DUP1 00000338: REVERT 00000339: JUMPDEST 0000033a: SWAP1 0000033b: PUSH0 0000033c: MSTORE 0000033d: PUSH1 0x20 0000033f: PUSH0 00000340: KECCAK256 00000341: ADD 00000342: PUSH0 00000343: SWAP2 00000344: POP 00000345: SLOAD 00000346: SWAP1 00000347: PUSH2 0x0100 0000034a: EXP 0000034b: SWAP1 0000034c: DIV 0000034d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000362: AND 00000363: DUP2 00000364: JUMP 00000365: JUMPDEST 00000366: PUSH0 00000367: PUSH1 0x02 00000369: SLOAD 0000036a: SWAP1 0000036b: POP 0000036c: SWAP1 0000036d: JUMP 0000036e: JUMPDEST 0000036f: PUSH0 00000370: PUSH32 0x150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f 00000391: SWAP1 00000392: POP 00000393: SWAP6 00000394: SWAP5 00000395: POP 00000396: POP 00000397: POP 00000398: POP 00000399: POP 0000039a: JUMP 0000039b: JUMPDEST 0000039c: PUSH0 0000039d: PUSH1 0x20 0000039f: MSTORE 000003a0: DUP1 000003a1: PUSH0 000003a2: MSTORE 000003a3: PUSH1 0x40 000003a5: PUSH0 000003a6: KECCAK256 000003a7: PUSH0 000003a8: SWAP2 000003a9: POP 000003aa: SLOAD 000003ab: SWAP1 000003ac: PUSH2 0x0100 000003af: EXP 000003b0: SWAP1 000003b1: DIV 000003b2: PUSH1 0xff 000003b4: AND 000003b5: DUP2 000003b6: JUMP 000003b7: JUMPDEST 000003b8: DUP2 000003b9: MLOAD 000003ba: DUP2 000003bb: PUSH1 0x09 000003bd: DUP3 000003be: GT 000003bf: ISZERO 000003c0: DUP1 000003c1: ISZERO 000003c2: PUSH2 0x03cb 000003c5: JUMPI 000003c6: POP 000003c7: DUP2 000003c8: DUP2 000003c9: GT 000003ca: ISZERO 000003cb: JUMPDEST 000003cc: DUP1 000003cd: ISZERO 000003ce: PUSH2 0x03d8 000003d1: JUMPI 000003d2: POP 000003d3: PUSH1 0x01 000003d5: DUP2 000003d6: LT 000003d7: ISZERO 000003d8: JUMPDEST 000003d9: PUSH2 0x03e0 000003dc: JUMPI 000003dd: PUSH0 000003de: DUP1 000003df: REVERT 000003e0: JUMPDEST 000003e1: PUSH0 000003e2: PUSH1 0x01 000003e4: DUP1 000003e5: SLOAD 000003e6: SWAP1 000003e7: POP 000003e8: EQ 000003e9: PUSH2 0x0427 000003ec: JUMPI 000003ed: PUSH1 0x40 000003ef: MLOAD 000003f0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000411: DUP2 00000412: MSTORE 00000413: PUSH1 0x04 00000415: ADD 00000416: PUSH2 0x041e 00000419: SWAP1 0000041a: PUSH2 0x1569 0000041d: JUMP 0000041e: JUMPDEST 0000041f: PUSH1 0x40 00000421: MLOAD 00000422: DUP1 00000423: SWAP2 00000424: SUB 00000425: SWAP1 00000426: REVERT 00000427: JUMPDEST 00000428: PUSH0 00000429: JUMPDEST 0000042a: DUP5 0000042b: MLOAD 0000042c: DUP2 0000042d: LT 0000042e: ISZERO 0000042f: PUSH2 0x05e3 00000432: JUMPI 00000433: PUSH0 00000434: DUP1 00000435: DUP7 00000436: DUP4 00000437: DUP2 00000438: MLOAD 00000439: DUP2 0000043a: LT 0000043b: PUSH2 0x0447 0000043e: JUMPI 0000043f: PUSH2 0x0446 00000442: PUSH2 0x1587 00000445: JUMP 00000446: JUMPDEST 00000447: JUMPDEST 00000448: PUSH1 0x20 0000044a: MUL 0000044b: PUSH1 0x20 0000044d: ADD 0000044e: ADD 0000044f: MLOAD 00000450: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000465: AND 00000466: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000047b: AND 0000047c: DUP2 0000047d: MSTORE 0000047e: PUSH1 0x20 00000480: ADD 00000481: SWAP1 00000482: DUP2 00000483: MSTORE 00000484: PUSH1 0x20 00000486: ADD 00000487: PUSH0 00000488: KECCAK256 00000489: PUSH0 0000048a: SWAP1 0000048b: SLOAD 0000048c: SWAP1 0000048d: PUSH2 0x0100 00000490: EXP 00000491: SWAP1 00000492: DIV 00000493: PUSH1 0xff 00000495: AND 00000496: DUP1 00000497: PUSH2 0x04e5 0000049a: JUMPI 0000049b: POP 0000049c: PUSH0 0000049d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004b2: AND 000004b3: DUP6 000004b4: DUP3 000004b5: DUP2 000004b6: MLOAD 000004b7: DUP2 000004b8: LT 000004b9: PUSH2 0x04c5 000004bc: JUMPI 000004bd: PUSH2 0x04c4 000004c0: PUSH2 0x1587 000004c3: JUMP 000004c4: JUMPDEST 000004c5: JUMPDEST 000004c6: PUSH1 0x20 000004c8: MUL 000004c9: PUSH1 0x20 000004cb: ADD 000004cc: ADD 000004cd: MLOAD 000004ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004e3: AND 000004e4: EQ 000004e5: JUMPDEST 000004e6: ISZERO 000004e7: PUSH2 0x04ee 000004ea: JUMPI 000004eb: PUSH0 000004ec: DUP1 000004ed: REVERT 000004ee: JUMPDEST 000004ef: PUSH1 0x01 000004f1: PUSH0 000004f2: DUP1 000004f3: DUP8 000004f4: DUP5 000004f5: DUP2 000004f6: MLOAD 000004f7: DUP2 000004f8: LT 000004f9: PUSH2 0x0505 000004fc: JUMPI 000004fd: PUSH2 0x0504 00000500: PUSH2 0x1587 00000503: JUMP 00000504: JUMPDEST 00000505: JUMPDEST 00000506: PUSH1 0x20 00000508: MUL 00000509: PUSH1 0x20 0000050b: ADD 0000050c: ADD 0000050d: MLOAD 0000050e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000523: AND 00000524: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000539: AND 0000053a: DUP2 0000053b: MSTORE 0000053c: PUSH1 0x20 0000053e: ADD 0000053f: SWAP1 00000540: DUP2 00000541: MSTORE 00000542: PUSH1 0x20 00000544: ADD 00000545: PUSH0 00000546: KECCAK256 00000547: PUSH0 00000548: PUSH2 0x0100 0000054b: EXP 0000054c: DUP2 0000054d: SLOAD 0000054e: DUP2 0000054f: PUSH1 0xff 00000551: MUL 00000552: NOT 00000553: AND 00000554: SWAP1 00000555: DUP4 00000556: ISZERO 00000557: ISZERO 00000558: MUL 00000559: OR 0000055a: SWAP1 0000055b: SSTORE 0000055c: POP 0000055d: PUSH1 0x01 0000055f: DUP6 00000560: DUP3 00000561: DUP2 00000562: MLOAD 00000563: DUP2 00000564: LT 00000565: PUSH2 0x0571 00000568: JUMPI 00000569: PUSH2 0x0570 0000056c: PUSH2 0x1587 0000056f: JUMP 00000570: JUMPDEST 00000571: JUMPDEST 00000572: PUSH1 0x20 00000574: MUL 00000575: PUSH1 0x20 00000577: ADD 00000578: ADD 00000579: MLOAD 0000057a: SWAP1 0000057b: DUP1 0000057c: PUSH1 0x01 0000057e: DUP2 0000057f: SLOAD 00000580: ADD 00000581: DUP1 00000582: DUP3 00000583: SSTORE 00000584: DUP1 00000585: SWAP2 00000586: POP 00000587: POP 00000588: PUSH1 0x01 0000058a: SWAP1 0000058b: SUB 0000058c: SWAP1 0000058d: PUSH0 0000058e: MSTORE 0000058f: PUSH1 0x20 00000591: PUSH0 00000592: KECCAK256 00000593: ADD 00000594: PUSH0 00000595: SWAP1 00000596: SWAP2 00000597: SWAP1 00000598: SWAP2 00000599: SWAP1 0000059a: SWAP2 0000059b: PUSH2 0x0100 0000059e: EXP 0000059f: DUP2 000005a0: SLOAD 000005a1: DUP2 000005a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005b7: MUL 000005b8: NOT 000005b9: AND 000005ba: SWAP1 000005bb: DUP4 000005bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005d1: AND 000005d2: MUL 000005d3: OR 000005d4: SWAP1 000005d5: SSTORE 000005d6: POP 000005d7: DUP1 000005d8: DUP1 000005d9: PUSH1 0x01 000005db: ADD 000005dc: SWAP2 000005dd: POP 000005de: POP 000005df: PUSH2 0x0429 000005e2: JUMP 000005e3: JUMPDEST 000005e4: POP 000005e5: DUP3 000005e6: PUSH1 0x02 000005e8: DUP2 000005e9: SWAP1 000005ea: SSTORE 000005eb: POP 000005ec: POP 000005ed: POP 000005ee: POP 000005ef: POP 000005f0: JUMP 000005f1: JUMPDEST 000005f2: ADDRESS 000005f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000608: AND 00000609: DUP8 0000060a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000061f: AND 00000620: SUB 00000621: PUSH2 0x065f 00000624: JUMPI 00000625: PUSH1 0x40 00000627: MLOAD 00000628: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000649: DUP2 0000064a: MSTORE 0000064b: PUSH1 0x04 0000064d: ADD 0000064e: PUSH2 0x0656 00000651: SWAP1 00000652: PUSH2 0x15fe 00000655: JUMP 00000656: JUMPDEST 00000657: PUSH1 0x40 00000659: MLOAD 0000065a: DUP1 0000065b: SWAP2 0000065c: SUB 0000065d: SWAP1 0000065e: REVERT 0000065f: JUMPDEST 00000660: PUSH2 0x06b0 00000663: DUP8 00000664: DUP8 00000665: DUP8 00000666: DUP8 00000667: DUP8 00000668: DUP8 00000669: DUP8 0000066a: DUP1 0000066b: DUP1 0000066c: PUSH1 0x1f 0000066e: ADD 0000066f: PUSH1 0x20 00000671: DUP1 00000672: SWAP2 00000673: DIV 00000674: MUL 00000675: PUSH1 0x20 00000677: ADD 00000678: PUSH1 0x40 0000067a: MLOAD 0000067b: SWAP1 0000067c: DUP2 0000067d: ADD 0000067e: PUSH1 0x40 00000680: MSTORE 00000681: DUP1 00000682: SWAP4 00000683: SWAP3 00000684: SWAP2 00000685: SWAP1 00000686: DUP2 00000687: DUP2 00000688: MSTORE 00000689: PUSH1 0x20 0000068b: ADD 0000068c: DUP4 0000068d: DUP4 0000068e: DUP1 0000068f: DUP3 00000690: DUP5 00000691: CALLDATACOPY 00000692: PUSH0 00000693: DUP2 00000694: DUP5 00000695: ADD 00000696: MSTORE 00000697: PUSH1 0x1f 00000699: NOT 0000069a: PUSH1 0x1f 0000069c: DUP3 0000069d: ADD 0000069e: AND 0000069f: SWAP1 000006a0: POP 000006a1: DUP1 000006a2: DUP4 000006a3: ADD 000006a4: SWAP3 000006a5: POP 000006a6: POP 000006a7: POP 000006a8: POP 000006a9: POP 000006aa: POP 000006ab: POP 000006ac: PUSH2 0x0890 000006af: JUMP 000006b0: JUMPDEST 000006b1: PUSH2 0x06ef 000006b4: JUMPI 000006b5: PUSH1 0x40 000006b7: MLOAD 000006b8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000006d9: DUP2 000006da: MSTORE 000006db: PUSH1 0x04 000006dd: ADD 000006de: PUSH2 0x06e6 000006e1: SWAP1 000006e2: PUSH2 0x1666 000006e5: JUMP 000006e6: JUMPDEST 000006e7: PUSH1 0x40 000006e9: MLOAD 000006ea: DUP1 000006eb: SWAP2 000006ec: SUB 000006ed: SWAP1 000006ee: REVERT 000006ef: JUMPDEST 000006f0: PUSH1 0x01 000006f2: PUSH1 0x03 000006f4: SLOAD 000006f5: PUSH2 0x06fe 000006f8: SWAP2 000006f9: SWAP1 000006fa: PUSH2 0x16b1 000006fd: JUMP 000006fe: JUMPDEST 000006ff: PUSH1 0x03 00000701: DUP2 00000702: SWAP1 00000703: SSTORE 00000704: POP 00000705: PUSH0 00000706: DUP1 00000707: DUP9 00000708: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000071d: AND 0000071e: DUP9 0000071f: DUP6 00000720: DUP6 00000721: PUSH1 0x40 00000723: MLOAD 00000724: PUSH2 0x072e 00000727: SWAP3 00000728: SWAP2 00000729: SWAP1 0000072a: PUSH2 0x1720 0000072d: JUMP 0000072e: JUMPDEST 0000072f: PUSH0 00000730: PUSH1 0x40 00000732: MLOAD 00000733: DUP1 00000734: DUP4 00000735: SUB 00000736: DUP2 00000737: DUP6 00000738: DUP8 00000739: GAS 0000073a: CALL 0000073b: SWAP3 0000073c: POP 0000073d: POP 0000073e: POP 0000073f: RETURNDATASIZE 00000740: DUP1 00000741: PUSH0 00000742: DUP2 00000743: EQ 00000744: PUSH2 0x0768 00000747: JUMPI 00000748: PUSH1 0x40 0000074a: MLOAD 0000074b: SWAP2 0000074c: POP 0000074d: PUSH1 0x1f 0000074f: NOT 00000750: PUSH1 0x3f 00000752: RETURNDATASIZE 00000753: ADD 00000754: AND 00000755: DUP3 00000756: ADD 00000757: PUSH1 0x40 00000759: MSTORE 0000075a: RETURNDATASIZE 0000075b: DUP3 0000075c: MSTORE 0000075d: RETURNDATASIZE 0000075e: PUSH0 0000075f: PUSH1 0x20 00000761: DUP5 00000762: ADD 00000763: RETURNDATACOPY 00000764: PUSH2 0x076d 00000767: JUMP 00000768: JUMPDEST 00000769: PUSH1 0x60 0000076b: SWAP2 0000076c: POP 0000076d: JUMPDEST 0000076e: POP 0000076f: SWAP2 00000770: POP 00000771: SWAP2 00000772: POP 00000773: DUP2 00000774: ISZERO 00000775: PUSH2 0x07b2 00000778: JUMPI 00000779: PUSH32 0xd3eec71143c45f28685b24760ea218d476917aa0ac0392a55e5304cef40bd2b6 0000079a: DUP10 0000079b: DUP10 0000079c: PUSH1 0x40 0000079e: MLOAD 0000079f: PUSH2 0x07a9 000007a2: SWAP3 000007a3: SWAP2 000007a4: SWAP1 000007a5: PUSH2 0x0c9a 000007a8: JUMP 000007a9: JUMPDEST 000007aa: PUSH1 0x40 000007ac: MLOAD 000007ad: DUP1 000007ae: SWAP2 000007af: SUB 000007b0: SWAP1 000007b1: LOG1 000007b2: JUMPDEST 000007b3: POP 000007b4: POP 000007b5: POP 000007b6: POP 000007b7: POP 000007b8: POP 000007b9: POP 000007ba: POP 000007bb: POP 000007bc: JUMP 000007bd: JUMPDEST 000007be: PUSH1 0x03 000007c0: SLOAD 000007c1: DUP2 000007c2: JUMP 000007c3: JUMPDEST 000007c4: PUSH1 0x60 000007c6: PUSH1 0x01 000007c8: DUP1 000007c9: SLOAD 000007ca: DUP1 000007cb: PUSH1 0x20 000007cd: MUL 000007ce: PUSH1 0x20 000007d0: ADD 000007d1: PUSH1 0x40 000007d3: MLOAD 000007d4: SWAP1 000007d5: DUP2 000007d6: ADD 000007d7: PUSH1 0x40 000007d9: MSTORE 000007da: DUP1 000007db: SWAP3 000007dc: SWAP2 000007dd: SWAP1 000007de: DUP2 000007df: DUP2 000007e0: MSTORE 000007e1: PUSH1 0x20 000007e3: ADD 000007e4: DUP3 000007e5: DUP1 000007e6: SLOAD 000007e7: DUP1 000007e8: ISZERO 000007e9: PUSH2 0x0844 000007ec: JUMPI 000007ed: PUSH1 0x20 000007ef: MUL 000007f0: DUP3 000007f1: ADD 000007f2: SWAP2 000007f3: SWAP1 000007f4: PUSH0 000007f5: MSTORE 000007f6: PUSH1 0x20 000007f8: PUSH0 000007f9: KECCAK256 000007fa: SWAP1 000007fb: JUMPDEST 000007fc: DUP2 000007fd: PUSH0 000007fe: SWAP1 000007ff: SLOAD 00000800: SWAP1 00000801: PUSH2 0x0100 00000804: EXP 00000805: SWAP1 00000806: DIV 00000807: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000081c: AND 0000081d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000832: AND 00000833: DUP2 00000834: MSTORE 00000835: PUSH1 0x20 00000837: ADD 00000838: SWAP1 00000839: PUSH1 0x01 0000083b: ADD 0000083c: SWAP1 0000083d: DUP1 0000083e: DUP4 0000083f: GT 00000840: PUSH2 0x07fb 00000843: JUMPI 00000844: JUMPDEST 00000845: POP 00000846: POP 00000847: POP 00000848: POP 00000849: POP 0000084a: SWAP1 0000084b: POP 0000084c: SWAP1 0000084d: JUMP 0000084e: JUMPDEST 0000084f: PUSH0 00000850: PUSH1 0x03 00000852: SLOAD 00000853: SWAP1 00000854: POP 00000855: SWAP1 00000856: JUMP 00000857: JUMPDEST 00000858: PUSH1 0x09 0000085a: DUP2 0000085b: JUMP 0000085c: JUMPDEST 0000085d: PUSH1 0x02 0000085f: SLOAD 00000860: DUP2 00000861: JUMP 00000862: JUMPDEST 00000863: PUSH0 00000864: PUSH32 0xf23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97 00000885: SWAP1 00000886: POP 00000887: SWAP7 00000888: SWAP6 00000889: POP 0000088a: POP 0000088b: POP 0000088c: POP 0000088d: POP 0000088e: POP 0000088f: JUMP 00000890: JUMPDEST 00000891: PUSH0 00000892: DUP4 00000893: MLOAD 00000894: DUP6 00000895: MLOAD 00000896: EQ 00000897: PUSH2 0x089e 0000089a: JUMPI 0000089b: PUSH0 0000089c: DUP1 0000089d: REVERT 0000089e: JUMPDEST 0000089f: DUP3 000008a0: MLOAD 000008a1: DUP5 000008a2: MLOAD 000008a3: EQ 000008a4: PUSH2 0x08ab 000008a7: JUMPI 000008a8: PUSH0 000008a9: DUP1 000008aa: REVERT 000008ab: JUMPDEST 000008ac: PUSH1 0x01 000008ae: DUP1 000008af: SLOAD 000008b0: SWAP1 000008b1: POP 000008b2: DUP6 000008b3: MLOAD 000008b4: GT 000008b5: ISZERO 000008b6: PUSH2 0x08bd 000008b9: JUMPI 000008ba: PUSH0 000008bb: DUP1 000008bc: REVERT 000008bd: JUMPDEST 000008be: PUSH1 0x02 000008c0: SLOAD 000008c1: DUP6 000008c2: MLOAD 000008c3: LT 000008c4: ISZERO 000008c5: PUSH2 0x08cc 000008c8: JUMPI 000008c9: PUSH0 000008ca: DUP1 000008cb: REVERT 000008cc: JUMPDEST 000008cd: PUSH0 000008ce: PUSH2 0x08d8 000008d1: DUP9 000008d2: DUP9 000008d3: DUP6 000008d4: PUSH2 0x0a54 000008d7: JUMP 000008d8: JUMPDEST 000008d9: SWAP1 000008da: POP 000008db: PUSH0 000008dc: DUP7 000008dd: MLOAD 000008de: PUSH8 0xffffffffffffffff 000008e7: DUP2 000008e8: GT 000008e9: ISZERO 000008ea: PUSH2 0x08f6 000008ed: JUMPI 000008ee: PUSH2 0x08f5 000008f1: PUSH2 0x0f29 000008f4: JUMP 000008f5: JUMPDEST 000008f6: JUMPDEST 000008f7: PUSH1 0x40 000008f9: MLOAD 000008fa: SWAP1 000008fb: DUP1 000008fc: DUP3 000008fd: MSTORE 000008fe: DUP1 000008ff: PUSH1 0x20 00000901: MUL 00000902: PUSH1 0x20 00000904: ADD 00000905: DUP3 00000906: ADD 00000907: PUSH1 0x40 00000909: MSTORE 0000090a: DUP1 0000090b: ISZERO 0000090c: PUSH2 0x0924 0000090f: JUMPI 00000910: DUP2 00000911: PUSH1 0x20 00000913: ADD 00000914: PUSH1 0x20 00000916: DUP3 00000917: MUL 00000918: DUP1 00000919: CALLDATASIZE 0000091a: DUP4 0000091b: CALLDATACOPY 0000091c: DUP1 0000091d: DUP3 0000091e: ADD 0000091f: SWAP2 00000920: POP 00000921: POP 00000922: SWAP1 00000923: POP 00000924: JUMPDEST 00000925: POP 00000926: SWAP1 00000927: POP 00000928: PUSH0 00000929: JUMPDEST 0000092a: DUP8 0000092b: MLOAD 0000092c: DUP2 0000092d: LT 0000092e: ISZERO 0000092f: PUSH2 0x0a32 00000932: JUMPI 00000933: PUSH1 0x01 00000935: DUP4 00000936: PUSH1 0x1b 00000938: DUP11 00000939: DUP5 0000093a: DUP2 0000093b: MLOAD 0000093c: DUP2 0000093d: LT 0000093e: PUSH2 0x094a 00000941: JUMPI 00000942: PUSH2 0x0949 00000945: PUSH2 0x1587 00000948: JUMP 00000949: JUMPDEST 0000094a: JUMPDEST 0000094b: PUSH1 0x20 0000094d: MUL 0000094e: PUSH1 0x20 00000950: ADD 00000951: ADD 00000952: MLOAD 00000953: PUSH2 0x095c 00000956: SWAP2 00000957: SWAP1 00000958: PUSH2 0x1738 0000095b: JUMP 0000095c: JUMPDEST 0000095d: DUP10 0000095e: DUP5 0000095f: DUP2 00000960: MLOAD 00000961: DUP2 00000962: LT 00000963: PUSH2 0x096f 00000966: JUMPI 00000967: PUSH2 0x096e 0000096a: PUSH2 0x1587 0000096d: JUMP 0000096e: JUMPDEST 0000096f: JUMPDEST 00000970: PUSH1 0x20 00000972: MUL 00000973: PUSH1 0x20 00000975: ADD 00000976: ADD 00000977: MLOAD 00000978: DUP10 00000979: DUP6 0000097a: DUP2 0000097b: MLOAD 0000097c: DUP2 0000097d: LT 0000097e: PUSH2 0x098a 00000981: JUMPI 00000982: PUSH2 0x0989 00000985: PUSH2 0x1587 00000988: JUMP 00000989: JUMPDEST 0000098a: JUMPDEST 0000098b: PUSH1 0x20 0000098d: MUL 0000098e: PUSH1 0x20 00000990: ADD 00000991: ADD 00000992: MLOAD 00000993: PUSH1 0x40 00000995: MLOAD 00000996: PUSH0 00000997: DUP2 00000998: MSTORE 00000999: PUSH1 0x20 0000099b: ADD 0000099c: PUSH1 0x40 0000099e: MSTORE 0000099f: PUSH1 0x40 000009a1: MLOAD 000009a2: PUSH2 0x09ae 000009a5: SWAP5 000009a6: SWAP4 000009a7: SWAP3 000009a8: SWAP2 000009a9: SWAP1 000009aa: PUSH2 0x178a 000009ad: JUMP 000009ae: JUMPDEST 000009af: PUSH1 0x20 000009b1: PUSH1 0x40 000009b3: MLOAD 000009b4: PUSH1 0x20 000009b6: DUP2 000009b7: SUB 000009b8: SWAP1 000009b9: DUP1 000009ba: DUP5 000009bb: SUB 000009bc: SWAP1 000009bd: DUP6 000009be: GAS 000009bf: STATICCALL 000009c0: ISZERO 000009c1: DUP1 000009c2: ISZERO 000009c3: PUSH2 0x09ce 000009c6: JUMPI 000009c7: RETURNDATASIZE 000009c8: PUSH0 000009c9: DUP1 000009ca: RETURNDATACOPY 000009cb: RETURNDATASIZE 000009cc: PUSH0 000009cd: REVERT 000009ce: JUMPDEST 000009cf: POP 000009d0: POP 000009d1: POP 000009d2: PUSH1 0x20 000009d4: PUSH1 0x40 000009d6: MLOAD 000009d7: SUB 000009d8: MLOAD 000009d9: DUP3 000009da: DUP3 000009db: DUP2 000009dc: MLOAD 000009dd: DUP2 000009de: LT 000009df: PUSH2 0x09eb 000009e2: JUMPI 000009e3: PUSH2 0x09ea 000009e6: PUSH2 0x1587 000009e9: JUMP 000009ea: JUMPDEST 000009eb: JUMPDEST 000009ec: PUSH1 0x20 000009ee: MUL 000009ef: PUSH1 0x20 000009f1: ADD 000009f2: ADD 000009f3: SWAP1 000009f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a09: AND 00000a0a: SWAP1 00000a0b: DUP2 00000a0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a21: AND 00000a22: DUP2 00000a23: MSTORE 00000a24: POP 00000a25: POP 00000a26: DUP1 00000a27: DUP1 00000a28: PUSH1 0x01 00000a2a: ADD 00000a2b: SWAP2 00000a2c: POP 00000a2d: POP 00000a2e: PUSH2 0x0929 00000a31: JUMP 00000a32: JUMPDEST 00000a33: POP 00000a34: PUSH2 0x0a3c 00000a37: DUP2 00000a38: PUSH2 0x0ad0 00000a3b: JUMP 00000a3c: JUMPDEST 00000a3d: PUSH2 0x0a44 00000a40: JUMPI 00000a41: PUSH0 00000a42: DUP1 00000a43: REVERT 00000a44: JUMPDEST 00000a45: PUSH1 0x01 00000a47: SWAP3 00000a48: POP 00000a49: POP 00000a4a: POP 00000a4b: SWAP7 00000a4c: SWAP6 00000a4d: POP 00000a4e: POP 00000a4f: POP 00000a50: POP 00000a51: POP 00000a52: POP 00000a53: JUMP 00000a54: JUMPDEST 00000a55: PUSH0 00000a56: DUP1 00000a57: PUSH2 0x0a61 00000a5a: DUP6 00000a5b: DUP6 00000a5c: DUP6 00000a5d: PUSH2 0x0c03 00000a60: JUMP 00000a61: JUMPDEST 00000a62: SWAP1 00000a63: POP 00000a64: PUSH0 00000a65: PUSH1 0x40 00000a67: MLOAD 00000a68: DUP1 00000a69: PUSH1 0x40 00000a6b: ADD 00000a6c: PUSH1 0x40 00000a6e: MSTORE 00000a6f: DUP1 00000a70: PUSH1 0x1c 00000a72: DUP2 00000a73: MSTORE 00000a74: PUSH1 0x20 00000a76: ADD 00000a77: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 00000a98: DUP2 00000a99: MSTORE 00000a9a: POP 00000a9b: SWAP1 00000a9c: POP 00000a9d: DUP1 00000a9e: DUP3 00000a9f: PUSH1 0x40 00000aa1: MLOAD 00000aa2: PUSH1 0x20 00000aa4: ADD 00000aa5: PUSH2 0x0aaf 00000aa8: SWAP3 00000aa9: SWAP2 00000aaa: SWAP1 00000aab: PUSH2 0x1835 00000aae: JUMP 00000aaf: JUMPDEST 00000ab0: PUSH1 0x40 00000ab2: MLOAD 00000ab3: PUSH1 0x20 00000ab5: DUP2 00000ab6: DUP4 00000ab7: SUB 00000ab8: SUB 00000ab9: DUP2 00000aba: MSTORE 00000abb: SWAP1 00000abc: PUSH1 0x40 00000abe: MSTORE 00000abf: DUP1 00000ac0: MLOAD 00000ac1: SWAP1 00000ac2: PUSH1 0x20 00000ac4: ADD 00000ac5: KECCAK256 00000ac6: SWAP3 00000ac7: POP 00000ac8: POP 00000ac9: POP 00000aca: SWAP4 00000acb: SWAP3 00000acc: POP 00000acd: POP 00000ace: POP 00000acf: JUMP 00000ad0: JUMPDEST 00000ad1: PUSH0 00000ad2: PUSH1 0x01 00000ad4: DUP1 00000ad5: SLOAD 00000ad6: SWAP1 00000ad7: POP 00000ad8: DUP3 00000ad9: MLOAD 00000ada: GT 00000adb: ISZERO 00000adc: PUSH2 0x0ae7 00000adf: JUMPI 00000ae0: PUSH0 00000ae1: SWAP1 00000ae2: POP 00000ae3: PUSH2 0x0bfe 00000ae6: JUMP 00000ae7: JUMPDEST 00000ae8: PUSH0 00000ae9: JUMPDEST 00000aea: DUP3 00000aeb: MLOAD 00000aec: DUP2 00000aed: LT 00000aee: ISZERO 00000aef: PUSH2 0x0bf8 00000af2: JUMPI 00000af3: PUSH0 00000af4: DUP1 00000af5: DUP5 00000af6: DUP4 00000af7: DUP2 00000af8: MLOAD 00000af9: DUP2 00000afa: LT 00000afb: PUSH2 0x0b07 00000afe: JUMPI 00000aff: PUSH2 0x0b06 00000b02: PUSH2 0x1587 00000b05: JUMP 00000b06: JUMPDEST 00000b07: JUMPDEST 00000b08: PUSH1 0x20 00000b0a: MUL 00000b0b: PUSH1 0x20 00000b0d: ADD 00000b0e: ADD 00000b0f: MLOAD 00000b10: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b25: AND 00000b26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b3b: AND 00000b3c: DUP2 00000b3d: MSTORE 00000b3e: PUSH1 0x20 00000b40: ADD 00000b41: SWAP1 00000b42: DUP2 00000b43: MSTORE 00000b44: PUSH1 0x20 00000b46: ADD 00000b47: PUSH0 00000b48: KECCAK256 00000b49: PUSH0 00000b4a: SWAP1 00000b4b: SLOAD 00000b4c: SWAP1 00000b4d: PUSH2 0x0100 00000b50: EXP 00000b51: SWAP1 00000b52: DIV 00000b53: PUSH1 0xff 00000b55: AND 00000b56: PUSH2 0x0b62 00000b59: JUMPI 00000b5a: PUSH0 00000b5b: SWAP2 00000b5c: POP 00000b5d: POP 00000b5e: PUSH2 0x0bfe 00000b61: JUMP 00000b62: JUMPDEST 00000b63: PUSH0 00000b64: JUMPDEST 00000b65: DUP2 00000b66: DUP2 00000b67: LT 00000b68: ISZERO 00000b69: PUSH2 0x0bea 00000b6c: JUMPI 00000b6d: DUP4 00000b6e: DUP2 00000b6f: DUP2 00000b70: MLOAD 00000b71: DUP2 00000b72: LT 00000b73: PUSH2 0x0b7f 00000b76: JUMPI 00000b77: PUSH2 0x0b7e 00000b7a: PUSH2 0x1587 00000b7d: JUMP 00000b7e: JUMPDEST 00000b7f: JUMPDEST 00000b80: PUSH1 0x20 00000b82: MUL 00000b83: PUSH1 0x20 00000b85: ADD 00000b86: ADD 00000b87: MLOAD 00000b88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b9d: AND 00000b9e: DUP5 00000b9f: DUP4 00000ba0: DUP2 00000ba1: MLOAD 00000ba2: DUP2 00000ba3: LT 00000ba4: PUSH2 0x0bb0 00000ba7: JUMPI 00000ba8: PUSH2 0x0baf 00000bab: PUSH2 0x1587 00000bae: JUMP 00000baf: JUMPDEST 00000bb0: JUMPDEST 00000bb1: PUSH1 0x20 00000bb3: MUL 00000bb4: PUSH1 0x20 00000bb6: ADD 00000bb7: ADD 00000bb8: MLOAD 00000bb9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bce: AND 00000bcf: SUB 00000bd0: PUSH2 0x0bdd 00000bd3: JUMPI 00000bd4: PUSH0 00000bd5: SWAP3 00000bd6: POP 00000bd7: POP 00000bd8: POP 00000bd9: PUSH2 0x0bfe 00000bdc: JUMP 00000bdd: JUMPDEST 00000bde: DUP1 00000bdf: DUP1 00000be0: PUSH1 0x01 00000be2: ADD 00000be3: SWAP2 00000be4: POP 00000be5: POP 00000be6: PUSH2 0x0b64 00000be9: JUMP 00000bea: JUMPDEST 00000beb: POP 00000bec: DUP1 00000bed: DUP1 00000bee: PUSH1 0x01 00000bf0: ADD 00000bf1: SWAP2 00000bf2: POP 00000bf3: POP 00000bf4: PUSH2 0x0ae9 00000bf7: JUMP 00000bf8: JUMPDEST 00000bf9: POP 00000bfa: PUSH1 0x01 00000bfc: SWAP1 00000bfd: POP 00000bfe: JUMPDEST 00000bff: SWAP2 00000c00: SWAP1 00000c01: POP 00000c02: JUMP 00000c03: JUMPDEST 00000c04: PUSH0 00000c05: DUP1 00000c06: ADDRESS 00000c07: DUP6 00000c08: DUP6 00000c09: DUP6 00000c0a: PUSH1 0x03 00000c0c: SLOAD 00000c0d: PUSH1 0x40 00000c0f: MLOAD 00000c10: PUSH1 0x20 00000c12: ADD 00000c13: PUSH2 0x0c20 00000c16: SWAP6 00000c17: SWAP5 00000c18: SWAP4 00000c19: SWAP3 00000c1a: SWAP2 00000c1b: SWAP1 00000c1c: PUSH2 0x18c1 00000c1f: JUMP 00000c20: JUMPDEST 00000c21: PUSH1 0x40 00000c23: MLOAD 00000c24: PUSH1 0x20 00000c26: DUP2 00000c27: DUP4 00000c28: SUB 00000c29: SUB 00000c2a: DUP2 00000c2b: MSTORE 00000c2c: SWAP1 00000c2d: PUSH1 0x40 00000c2f: MSTORE 00000c30: DUP1 00000c31: MLOAD 00000c32: SWAP1 00000c33: PUSH1 0x20 00000c35: ADD 00000c36: KECCAK256 00000c37: SWAP1 00000c38: POP 00000c39: DUP1 00000c3a: SWAP2 00000c3b: POP 00000c3c: POP 00000c3d: SWAP4 00000c3e: SWAP3 00000c3f: POP 00000c40: POP 00000c41: POP 00000c42: JUMP 00000c43: JUMPDEST 00000c44: PUSH0 00000c45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c5a: DUP3 00000c5b: AND 00000c5c: SWAP1 00000c5d: POP 00000c5e: SWAP2 00000c5f: SWAP1 00000c60: POP 00000c61: JUMP 00000c62: JUMPDEST 00000c63: PUSH0 00000c64: PUSH2 0x0c6c 00000c67: DUP3 00000c68: PUSH2 0x0c43 00000c6b: JUMP 00000c6c: JUMPDEST 00000c6d: SWAP1 00000c6e: POP 00000c6f: SWAP2 00000c70: SWAP1 00000c71: POP 00000c72: JUMP 00000c73: JUMPDEST 00000c74: PUSH2 0x0c7c 00000c77: DUP2 00000c78: PUSH2 0x0c62 00000c7b: JUMP 00000c7c: JUMPDEST 00000c7d: DUP3 00000c7e: MSTORE 00000c7f: POP 00000c80: POP 00000c81: JUMP 00000c82: JUMPDEST 00000c83: PUSH0 00000c84: DUP2 00000c85: SWAP1 00000c86: POP 00000c87: SWAP2 00000c88: SWAP1 00000c89: POP 00000c8a: JUMP 00000c8b: JUMPDEST 00000c8c: PUSH2 0x0c94 00000c8f: DUP2 00000c90: PUSH2 0x0c82 00000c93: JUMP 00000c94: JUMPDEST 00000c95: DUP3 00000c96: MSTORE 00000c97: POP 00000c98: POP 00000c99: JUMP 00000c9a: JUMPDEST 00000c9b: PUSH0 00000c9c: PUSH1 0x40 00000c9e: DUP3 00000c9f: ADD 00000ca0: SWAP1 00000ca1: POP 00000ca2: PUSH2 0x0cad 00000ca5: PUSH0 00000ca6: DUP4 00000ca7: ADD 00000ca8: DUP6 00000ca9: PUSH2 0x0c73 00000cac: JUMP 00000cad: JUMPDEST 00000cae: PUSH2 0x0cba 00000cb1: PUSH1 0x20 00000cb3: DUP4 00000cb4: ADD 00000cb5: DUP5 00000cb6: PUSH2 0x0c8b 00000cb9: JUMP 00000cba: JUMPDEST 00000cbb: SWAP4 00000cbc: SWAP3 00000cbd: POP 00000cbe: POP 00000cbf: POP 00000cc0: JUMP 00000cc1: JUMPDEST 00000cc2: PUSH0 00000cc3: PUSH1 0x40 00000cc5: MLOAD 00000cc6: SWAP1 00000cc7: POP 00000cc8: SWAP1 00000cc9: JUMP 00000cca: JUMPDEST 00000ccb: PUSH0 00000ccc: DUP1 00000ccd: REVERT 00000cce: JUMPDEST 00000ccf: PUSH0 00000cd0: DUP1 00000cd1: REVERT 00000cd2: JUMPDEST 00000cd3: PUSH2 0x0cdb 00000cd6: DUP2 00000cd7: PUSH2 0x0c82 00000cda: JUMP 00000cdb: JUMPDEST 00000cdc: DUP2 00000cdd: EQ 00000cde: PUSH2 0x0ce5 00000ce1: JUMPI 00000ce2: PUSH0 00000ce3: DUP1 00000ce4: REVERT 00000ce5: JUMPDEST 00000ce6: POP 00000ce7: JUMP 00000ce8: JUMPDEST 00000ce9: PUSH0 00000cea: DUP2 00000ceb: CALLDATALOAD 00000cec: SWAP1 00000ced: POP 00000cee: PUSH2 0x0cf6 00000cf1: DUP2 00000cf2: PUSH2 0x0cd2 00000cf5: JUMP 00000cf6: JUMPDEST 00000cf7: SWAP3 00000cf8: SWAP2 00000cf9: POP 00000cfa: POP 00000cfb: JUMP 00000cfc: JUMPDEST 00000cfd: PUSH0 00000cfe: PUSH1 0x20 00000d00: DUP3 00000d01: DUP5 00000d02: SUB 00000d03: SLT 00000d04: ISZERO 00000d05: PUSH2 0x0d11 00000d08: JUMPI 00000d09: PUSH2 0x0d10 00000d0c: PUSH2 0x0cca 00000d0f: JUMP 00000d10: JUMPDEST 00000d11: JUMPDEST 00000d12: PUSH0 00000d13: PUSH2 0x0d1e 00000d16: DUP5 00000d17: DUP3 00000d18: DUP6 00000d19: ADD 00000d1a: PUSH2 0x0ce8 00000d1d: JUMP 00000d1e: JUMPDEST 00000d1f: SWAP2 00000d20: POP 00000d21: POP 00000d22: SWAP3 00000d23: SWAP2 00000d24: POP 00000d25: POP 00000d26: JUMP 00000d27: JUMPDEST 00000d28: PUSH0 00000d29: PUSH1 0x20 00000d2b: DUP3 00000d2c: ADD 00000d2d: SWAP1 00000d2e: POP 00000d2f: PUSH2 0x0d3a 00000d32: PUSH0 00000d33: DUP4 00000d34: ADD 00000d35: DUP5 00000d36: PUSH2 0x0c73 00000d39: JUMP 00000d3a: JUMPDEST 00000d3b: SWAP3 00000d3c: SWAP2 00000d3d: POP 00000d3e: POP 00000d3f: JUMP 00000d40: JUMPDEST 00000d41: PUSH0 00000d42: PUSH1 0x20 00000d44: DUP3 00000d45: ADD 00000d46: SWAP1 00000d47: POP 00000d48: PUSH2 0x0d53 00000d4b: PUSH0 00000d4c: DUP4 00000d4d: ADD 00000d4e: DUP5 00000d4f: PUSH2 0x0c8b 00000d52: JUMP 00000d53: JUMPDEST 00000d54: SWAP3 00000d55: SWAP2 00000d56: POP 00000d57: POP 00000d58: JUMP 00000d59: JUMPDEST 00000d5a: PUSH2 0x0d62 00000d5d: DUP2 00000d5e: PUSH2 0x0c62 00000d61: JUMP 00000d62: JUMPDEST 00000d63: DUP2 00000d64: EQ 00000d65: PUSH2 0x0d6c 00000d68: JUMPI 00000d69: PUSH0 00000d6a: DUP1 00000d6b: REVERT 00000d6c: JUMPDEST 00000d6d: POP 00000d6e: JUMP 00000d6f: JUMPDEST 00000d70: PUSH0 00000d71: DUP2 00000d72: CALLDATALOAD 00000d73: SWAP1 00000d74: POP 00000d75: PUSH2 0x0d7d 00000d78: DUP2 00000d79: PUSH2 0x0d59 00000d7c: JUMP 00000d7d: JUMPDEST 00000d7e: SWAP3 00000d7f: SWAP2 00000d80: POP 00000d81: POP 00000d82: JUMP 00000d83: JUMPDEST 00000d84: PUSH0 00000d85: DUP1 00000d86: REVERT 00000d87: JUMPDEST 00000d88: PUSH0 00000d89: DUP1 00000d8a: REVERT 00000d8b: JUMPDEST 00000d8c: PUSH0 00000d8d: DUP1 00000d8e: REVERT 00000d8f: JUMPDEST 00000d90: PUSH0 00000d91: DUP1 00000d92: DUP4 00000d93: PUSH1 0x1f 00000d95: DUP5 00000d96: ADD 00000d97: SLT 00000d98: PUSH2 0x0da4 00000d9b: JUMPI 00000d9c: PUSH2 0x0da3 00000d9f: PUSH2 0x0d83 00000da2: JUMP 00000da3: JUMPDEST 00000da4: JUMPDEST 00000da5: DUP3 00000da6: CALLDATALOAD 00000da7: SWAP1 00000da8: POP 00000da9: PUSH8 0xffffffffffffffff 00000db2: DUP2 00000db3: GT 00000db4: ISZERO 00000db5: PUSH2 0x0dc1 00000db8: JUMPI 00000db9: PUSH2 0x0dc0 00000dbc: PUSH2 0x0d87 00000dbf: JUMP 00000dc0: JUMPDEST 00000dc1: JUMPDEST 00000dc2: PUSH1 0x20 00000dc4: DUP4 00000dc5: ADD 00000dc6: SWAP2 00000dc7: POP 00000dc8: DUP4 00000dc9: PUSH1 0x01 00000dcb: DUP3 00000dcc: MUL 00000dcd: DUP4 00000dce: ADD 00000dcf: GT 00000dd0: ISZERO 00000dd1: PUSH2 0x0ddd 00000dd4: JUMPI 00000dd5: PUSH2 0x0ddc 00000dd8: PUSH2 0x0d8b 00000ddb: JUMP 00000ddc: JUMPDEST 00000ddd: JUMPDEST 00000dde: SWAP3 00000ddf: POP 00000de0: SWAP3 00000de1: SWAP1 00000de2: POP 00000de3: JUMP 00000de4: JUMPDEST 00000de5: PUSH0 00000de6: DUP1 00000de7: PUSH0 00000de8: DUP1 00000de9: PUSH0 00000dea: PUSH1 0x80 00000dec: DUP7 00000ded: DUP9 00000dee: SUB 00000def: SLT 00000df0: ISZERO 00000df1: PUSH2 0x0dfd 00000df4: JUMPI 00000df5: PUSH2 0x0dfc 00000df8: PUSH2 0x0cca 00000dfb: JUMP 00000dfc: JUMPDEST 00000dfd: JUMPDEST 00000dfe: PUSH0 00000dff: PUSH2 0x0e0a 00000e02: DUP9 00000e03: DUP3 00000e04: DUP10 00000e05: ADD 00000e06: PUSH2 0x0d6f 00000e09: JUMP 00000e0a: JUMPDEST 00000e0b: SWAP6 00000e0c: POP 00000e0d: POP 00000e0e: PUSH1 0x20 00000e10: PUSH2 0x0e1b 00000e13: DUP9 00000e14: DUP3 00000e15: DUP10 00000e16: ADD 00000e17: PUSH2 0x0d6f 00000e1a: JUMP 00000e1b: JUMPDEST 00000e1c: SWAP5 00000e1d: POP 00000e1e: POP 00000e1f: PUSH1 0x40 00000e21: PUSH2 0x0e2c 00000e24: DUP9 00000e25: DUP3 00000e26: DUP10 00000e27: ADD 00000e28: PUSH2 0x0ce8 00000e2b: JUMP 00000e2c: JUMPDEST 00000e2d: SWAP4 00000e2e: POP 00000e2f: POP 00000e30: PUSH1 0x60 00000e32: DUP7 00000e33: ADD 00000e34: CALLDATALOAD 00000e35: PUSH8 0xffffffffffffffff 00000e3e: DUP2 00000e3f: GT 00000e40: ISZERO 00000e41: PUSH2 0x0e4d 00000e44: JUMPI 00000e45: PUSH2 0x0e4c 00000e48: PUSH2 0x0cce 00000e4b: JUMP 00000e4c: JUMPDEST 00000e4d: JUMPDEST 00000e4e: PUSH2 0x0e59 00000e51: DUP9 00000e52: DUP3 00000e53: DUP10 00000e54: ADD 00000e55: PUSH2 0x0d8f 00000e58: JUMP 00000e59: JUMPDEST 00000e5a: SWAP3 00000e5b: POP 00000e5c: SWAP3 00000e5d: POP 00000e5e: POP 00000e5f: SWAP3 00000e60: SWAP6 00000e61: POP 00000e62: SWAP3 00000e63: SWAP6 00000e64: SWAP1 00000e65: SWAP4 00000e66: POP 00000e67: JUMP 00000e68: JUMPDEST 00000e69: PUSH0 00000e6a: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000e8b: DUP3 00000e8c: AND 00000e8d: SWAP1 00000e8e: POP 00000e8f: SWAP2 00000e90: SWAP1 00000e91: POP 00000e92: JUMP 00000e93: JUMPDEST 00000e94: PUSH2 0x0e9c 00000e97: DUP2 00000e98: PUSH2 0x0e68 00000e9b: JUMP 00000e9c: JUMPDEST 00000e9d: DUP3 00000e9e: MSTORE 00000e9f: POP 00000ea0: POP 00000ea1: JUMP 00000ea2: JUMPDEST 00000ea3: PUSH0 00000ea4: PUSH1 0x20 00000ea6: DUP3 00000ea7: ADD 00000ea8: SWAP1 00000ea9: POP 00000eaa: PUSH2 0x0eb5 00000ead: PUSH0 00000eae: DUP4 00000eaf: ADD 00000eb0: DUP5 00000eb1: PUSH2 0x0e93 00000eb4: JUMP 00000eb5: JUMPDEST 00000eb6: SWAP3 00000eb7: SWAP2 00000eb8: POP 00000eb9: POP 00000eba: JUMP 00000ebb: JUMPDEST 00000ebc: PUSH0 00000ebd: PUSH1 0x20 00000ebf: DUP3 00000ec0: DUP5 00000ec1: SUB 00000ec2: SLT 00000ec3: ISZERO 00000ec4: PUSH2 0x0ed0 00000ec7: JUMPI 00000ec8: PUSH2 0x0ecf 00000ecb: PUSH2 0x0cca 00000ece: JUMP 00000ecf: JUMPDEST 00000ed0: JUMPDEST 00000ed1: PUSH0 00000ed2: PUSH2 0x0edd 00000ed5: DUP5 00000ed6: DUP3 00000ed7: DUP6 00000ed8: ADD 00000ed9: PUSH2 0x0d6f 00000edc: JUMP 00000edd: JUMPDEST 00000ede: SWAP2 00000edf: POP 00000ee0: POP 00000ee1: SWAP3 00000ee2: SWAP2 00000ee3: POP 00000ee4: POP 00000ee5: JUMP 00000ee6: JUMPDEST 00000ee7: PUSH0 00000ee8: DUP2 00000ee9: ISZERO 00000eea: ISZERO 00000eeb: SWAP1 00000eec: POP 00000eed: SWAP2 00000eee: SWAP1 00000eef: POP 00000ef0: JUMP 00000ef1: JUMPDEST 00000ef2: PUSH2 0x0efa 00000ef5: DUP2 00000ef6: PUSH2 0x0ee6 00000ef9: JUMP 00000efa: JUMPDEST 00000efb: DUP3 00000efc: MSTORE 00000efd: POP 00000efe: POP 00000eff: JUMP 00000f00: JUMPDEST 00000f01: PUSH0 00000f02: PUSH1 0x20 00000f04: DUP3 00000f05: ADD 00000f06: SWAP1 00000f07: POP 00000f08: PUSH2 0x0f13 00000f0b: PUSH0 00000f0c: DUP4 00000f0d: ADD 00000f0e: DUP5 00000f0f: PUSH2 0x0ef1 00000f12: JUMP 00000f13: JUMPDEST 00000f14: SWAP3 00000f15: SWAP2 00000f16: POP 00000f17: POP 00000f18: JUMP 00000f19: JUMPDEST 00000f1a: PUSH0 00000f1b: PUSH1 0x1f 00000f1d: NOT 00000f1e: PUSH1 0x1f 00000f20: DUP4 00000f21: ADD 00000f22: AND 00000f23: SWAP1 00000f24: POP 00000f25: SWAP2 00000f26: SWAP1 00000f27: POP 00000f28: JUMP 00000f29: JUMPDEST 00000f2a: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000f4b: PUSH0 00000f4c: MSTORE 00000f4d: PUSH1 0x41 00000f4f: PUSH1 0x04 00000f51: MSTORE 00000f52: PUSH1 0x24 00000f54: PUSH0 00000f55: REVERT 00000f56: JUMPDEST 00000f57: PUSH2 0x0f5f 00000f5a: DUP3 00000f5b: PUSH2 0x0f19 00000f5e: JUMP 00000f5f: JUMPDEST 00000f60: DUP2 00000f61: ADD 00000f62: DUP2 00000f63: DUP2 00000f64: LT 00000f65: PUSH8 0xffffffffffffffff 00000f6e: DUP3 00000f6f: GT 00000f70: OR 00000f71: ISZERO 00000f72: PUSH2 0x0f7e 00000f75: JUMPI 00000f76: PUSH2 0x0f7d 00000f79: PUSH2 0x0f29 00000f7c: JUMP 00000f7d: JUMPDEST 00000f7e: JUMPDEST 00000f7f: DUP1 00000f80: PUSH1 0x40 00000f82: MSTORE 00000f83: POP 00000f84: POP 00000f85: POP 00000f86: JUMP 00000f87: JUMPDEST 00000f88: PUSH0 00000f89: PUSH2 0x0f90 00000f8c: PUSH2 0x0cc1 00000f8f: JUMP 00000f90: JUMPDEST 00000f91: SWAP1 00000f92: POP 00000f93: PUSH2 0x0f9c 00000f96: DUP3 00000f97: DUP3 00000f98: PUSH2 0x0f56 00000f9b: JUMP 00000f9c: JUMPDEST 00000f9d: SWAP2 00000f9e: SWAP1 00000f9f: POP 00000fa0: JUMP 00000fa1: JUMPDEST 00000fa2: PUSH0 00000fa3: PUSH8 0xffffffffffffffff 00000fac: DUP3 00000fad: GT 00000fae: ISZERO 00000faf: PUSH2 0x0fbb 00000fb2: JUMPI 00000fb3: PUSH2 0x0fba 00000fb6: PUSH2 0x0f29 00000fb9: JUMP 00000fba: JUMPDEST 00000fbb: JUMPDEST 00000fbc: PUSH1 0x20 00000fbe: DUP3 00000fbf: MUL 00000fc0: SWAP1 00000fc1: POP 00000fc2: PUSH1 0x20 00000fc4: DUP2 00000fc5: ADD 00000fc6: SWAP1 00000fc7: POP 00000fc8: SWAP2 00000fc9: SWAP1 00000fca: POP 00000fcb: JUMP 00000fcc: JUMPDEST 00000fcd: PUSH0 00000fce: PUSH2 0x0fde 00000fd1: PUSH2 0x0fd9 00000fd4: DUP5 00000fd5: PUSH2 0x0fa1 00000fd8: JUMP 00000fd9: JUMPDEST 00000fda: PUSH2 0x0f87 00000fdd: JUMP 00000fde: JUMPDEST 00000fdf: SWAP1 00000fe0: POP 00000fe1: DUP1 00000fe2: DUP4 00000fe3: DUP3 00000fe4: MSTORE 00000fe5: PUSH1 0x20 00000fe7: DUP3 00000fe8: ADD 00000fe9: SWAP1 00000fea: POP 00000feb: PUSH1 0x20 00000fed: DUP5 00000fee: MUL 00000fef: DUP4 00000ff0: ADD 00000ff1: DUP6 00000ff2: DUP2 00000ff3: GT 00000ff4: ISZERO 00000ff5: PUSH2 0x1001 00000ff8: JUMPI 00000ff9: PUSH2 0x1000 00000ffc: PUSH2 0x0d8b 00000fff: JUMP 00001000: JUMPDEST 00001001: JUMPDEST 00001002: DUP4 00001003: JUMPDEST 00001004: DUP2 00001005: DUP2 00001006: LT 00001007: ISZERO 00001008: PUSH2 0x102a 0000100b: JUMPI 0000100c: DUP1 0000100d: PUSH2 0x1016 00001010: DUP9 00001011: DUP3 00001012: PUSH2 0x0d6f 00001015: JUMP 00001016: JUMPDEST 00001017: DUP5 00001018: MSTORE 00001019: PUSH1 0x20 0000101b: DUP5 0000101c: ADD 0000101d: SWAP4 0000101e: POP 0000101f: POP 00001020: PUSH1 0x20 00001022: DUP2 00001023: ADD 00001024: SWAP1 00001025: POP 00001026: PUSH2 0x1003 00001029: JUMP 0000102a: JUMPDEST 0000102b: POP 0000102c: POP 0000102d: POP 0000102e: SWAP4 0000102f: SWAP3 00001030: POP 00001031: POP 00001032: POP 00001033: JUMP 00001034: JUMPDEST 00001035: PUSH0 00001036: DUP3 00001037: PUSH1 0x1f 00001039: DUP4 0000103a: ADD 0000103b: SLT 0000103c: PUSH2 0x1048 0000103f: JUMPI 00001040: PUSH2 0x1047 00001043: PUSH2 0x0d83 00001046: JUMP 00001047: JUMPDEST 00001048: JUMPDEST 00001049: DUP2 0000104a: CALLDATALOAD 0000104b: PUSH2 0x1058 0000104e: DUP5 0000104f: DUP3 00001050: PUSH1 0x20 00001052: DUP7 00001053: ADD 00001054: PUSH2 0x0fcc 00001057: JUMP 00001058: JUMPDEST 00001059: SWAP2 0000105a: POP 0000105b: POP 0000105c: SWAP3 0000105d: SWAP2 0000105e: POP 0000105f: POP 00001060: JUMP 00001061: JUMPDEST 00001062: PUSH0 00001063: DUP1 00001064: PUSH1 0x40 00001066: DUP4 00001067: DUP6 00001068: SUB 00001069: SLT 0000106a: ISZERO 0000106b: PUSH2 0x1077 0000106e: JUMPI 0000106f: PUSH2 0x1076 00001072: PUSH2 0x0cca 00001075: JUMP 00001076: JUMPDEST 00001077: JUMPDEST 00001078: PUSH0 00001079: DUP4 0000107a: ADD 0000107b: CALLDATALOAD 0000107c: PUSH8 0xffffffffffffffff 00001085: DUP2 00001086: GT 00001087: ISZERO 00001088: PUSH2 0x1094 0000108b: JUMPI 0000108c: PUSH2 0x1093 0000108f: PUSH2 0x0cce 00001092: JUMP 00001093: JUMPDEST 00001094: JUMPDEST 00001095: PUSH2 0x10a0 00001098: DUP6 00001099: DUP3 0000109a: DUP7 0000109b: ADD 0000109c: PUSH2 0x1034 0000109f: JUMP 000010a0: JUMPDEST 000010a1: SWAP3 000010a2: POP 000010a3: POP 000010a4: PUSH1 0x20 000010a6: PUSH2 0x10b1 000010a9: DUP6 000010aa: DUP3 000010ab: DUP7 000010ac: ADD 000010ad: PUSH2 0x0ce8 000010b0: JUMP 000010b1: JUMPDEST 000010b2: SWAP2 000010b3: POP 000010b4: POP 000010b5: SWAP3 000010b6: POP 000010b7: SWAP3 000010b8: SWAP1 000010b9: POP 000010ba: JUMP 000010bb: JUMPDEST 000010bc: PUSH0 000010bd: PUSH8 0xffffffffffffffff 000010c6: DUP3 000010c7: GT 000010c8: ISZERO 000010c9: PUSH2 0x10d5 000010cc: JUMPI 000010cd: PUSH2 0x10d4 000010d0: PUSH2 0x0f29 000010d3: JUMP 000010d4: JUMPDEST 000010d5: JUMPDEST 000010d6: PUSH1 0x20 000010d8: DUP3 000010d9: MUL 000010da: SWAP1 000010db: POP 000010dc: PUSH1 0x20 000010de: DUP2 000010df: ADD 000010e0: SWAP1 000010e1: POP 000010e2: SWAP2 000010e3: SWAP1 000010e4: POP 000010e5: JUMP 000010e6: JUMPDEST 000010e7: PUSH0 000010e8: PUSH1 0xff 000010ea: DUP3 000010eb: AND 000010ec: SWAP1 000010ed: POP 000010ee: SWAP2 000010ef: SWAP1 000010f0: POP 000010f1: JUMP 000010f2: JUMPDEST 000010f3: PUSH2 0x10fb 000010f6: DUP2 000010f7: PUSH2 0x10e6 000010fa: JUMP 000010fb: JUMPDEST 000010fc: DUP2 000010fd: EQ 000010fe: PUSH2 0x1105 00001101: JUMPI 00001102: PUSH0 00001103: DUP1 00001104: REVERT 00001105: JUMPDEST 00001106: POP 00001107: JUMP 00001108: JUMPDEST 00001109: PUSH0 0000110a: DUP2 0000110b: CALLDATALOAD 0000110c: SWAP1 0000110d: POP 0000110e: PUSH2 0x1116 00001111: DUP2 00001112: PUSH2 0x10f2 00001115: JUMP 00001116: JUMPDEST 00001117: SWAP3 00001118: SWAP2 00001119: POP 0000111a: POP 0000111b: JUMP 0000111c: JUMPDEST 0000111d: PUSH0 0000111e: PUSH2 0x112e 00001121: PUSH2 0x1129 00001124: DUP5 00001125: PUSH2 0x10bb 00001128: JUMP 00001129: JUMPDEST 0000112a: PUSH2 0x0f87 0000112d: JUMP 0000112e: JUMPDEST 0000112f: SWAP1 00001130: POP 00001131: DUP1 00001132: DUP4 00001133: DUP3 00001134: MSTORE 00001135: PUSH1 0x20 00001137: DUP3 00001138: ADD 00001139: SWAP1 0000113a: POP 0000113b: PUSH1 0x20 0000113d: DUP5 0000113e: MUL 0000113f: DUP4 00001140: ADD 00001141: DUP6 00001142: DUP2 00001143: GT 00001144: ISZERO 00001145: PUSH2 0x1151 00001148: JUMPI 00001149: PUSH2 0x1150 0000114c: PUSH2 0x0d8b 0000114f: JUMP 00001150: JUMPDEST 00001151: JUMPDEST 00001152: DUP4 00001153: JUMPDEST 00001154: DUP2 00001155: DUP2 00001156: LT 00001157: ISZERO 00001158: PUSH2 0x117a 0000115b: JUMPI 0000115c: DUP1 0000115d: PUSH2 0x1166 00001160: DUP9 00001161: DUP3 00001162: PUSH2 0x1108 00001165: JUMP 00001166: JUMPDEST 00001167: DUP5 00001168: MSTORE 00001169: PUSH1 0x20 0000116b: DUP5 0000116c: ADD 0000116d: SWAP4 0000116e: POP 0000116f: POP 00001170: PUSH1 0x20 00001172: DUP2 00001173: ADD 00001174: SWAP1 00001175: POP 00001176: PUSH2 0x1153 00001179: JUMP 0000117a: JUMPDEST 0000117b: POP 0000117c: POP 0000117d: POP 0000117e: SWAP4 0000117f: SWAP3 00001180: POP 00001181: POP 00001182: POP 00001183: JUMP 00001184: JUMPDEST 00001185: PUSH0 00001186: DUP3 00001187: PUSH1 0x1f 00001189: DUP4 0000118a: ADD 0000118b: SLT 0000118c: PUSH2 0x1198 0000118f: JUMPI 00001190: PUSH2 0x1197 00001193: PUSH2 0x0d83 00001196: JUMP 00001197: JUMPDEST 00001198: JUMPDEST 00001199: DUP2 0000119a: CALLDATALOAD 0000119b: PUSH2 0x11a8 0000119e: DUP5 0000119f: DUP3 000011a0: PUSH1 0x20 000011a2: DUP7 000011a3: ADD 000011a4: PUSH2 0x111c 000011a7: JUMP 000011a8: JUMPDEST 000011a9: SWAP2 000011aa: POP 000011ab: POP 000011ac: SWAP3 000011ad: SWAP2 000011ae: POP 000011af: POP 000011b0: JUMP 000011b1: JUMPDEST 000011b2: PUSH0 000011b3: PUSH8 0xffffffffffffffff 000011bc: DUP3 000011bd: GT 000011be: ISZERO 000011bf: PUSH2 0x11cb 000011c2: JUMPI 000011c3: PUSH2 0x11ca 000011c6: PUSH2 0x0f29 000011c9: JUMP 000011ca: JUMPDEST 000011cb: JUMPDEST 000011cc: PUSH1 0x20 000011ce: DUP3 000011cf: MUL 000011d0: SWAP1 000011d1: POP 000011d2: PUSH1 0x20 000011d4: DUP2 000011d5: ADD 000011d6: SWAP1 000011d7: POP 000011d8: SWAP2 000011d9: SWAP1 000011da: POP 000011db: JUMP 000011dc: JUMPDEST 000011dd: PUSH0 000011de: DUP2 000011df: SWAP1 000011e0: POP 000011e1: SWAP2 000011e2: SWAP1 000011e3: POP 000011e4: JUMP 000011e5: JUMPDEST 000011e6: PUSH2 0x11ee 000011e9: DUP2 000011ea: PUSH2 0x11dc 000011ed: JUMP 000011ee: JUMPDEST 000011ef: DUP2 000011f0: EQ 000011f1: PUSH2 0x11f8 000011f4: JUMPI 000011f5: PUSH0 000011f6: DUP1 000011f7: REVERT 000011f8: JUMPDEST 000011f9: POP 000011fa: JUMP 000011fb: JUMPDEST 000011fc: PUSH0 000011fd: DUP2 000011fe: CALLDATALOAD 000011ff: SWAP1 00001200: POP 00001201: PUSH2 0x1209 00001204: DUP2 00001205: PUSH2 0x11e5 00001208: JUMP 00001209: JUMPDEST 0000120a: SWAP3 0000120b: SWAP2 0000120c: POP 0000120d: POP 0000120e: JUMP 0000120f: JUMPDEST 00001210: PUSH0 00001211: PUSH2 0x1221 00001214: PUSH2 0x121c 00001217: DUP5 00001218: PUSH2 0x11b1 0000121b: JUMP 0000121c: JUMPDEST 0000121d: PUSH2 0x0f87 00001220: JUMP 00001221: JUMPDEST 00001222: SWAP1 00001223: POP 00001224: DUP1 00001225: DUP4 00001226: DUP3 00001227: MSTORE 00001228: PUSH1 0x20 0000122a: DUP3 0000122b: ADD 0000122c: SWAP1 0000122d: POP 0000122e: PUSH1 0x20 00001230: DUP5 00001231: MUL 00001232: DUP4 00001233: ADD 00001234: DUP6 00001235: DUP2 00001236: GT 00001237: ISZERO 00001238: PUSH2 0x1244 0000123b: JUMPI 0000123c: PUSH2 0x1243 0000123f: PUSH2 0x0d8b 00001242: JUMP 00001243: JUMPDEST 00001244: JUMPDEST 00001245: DUP4 00001246: JUMPDEST 00001247: DUP2 00001248: DUP2 00001249: LT 0000124a: ISZERO 0000124b: PUSH2 0x126d 0000124e: JUMPI 0000124f: DUP1 00001250: PUSH2 0x1259 00001253: DUP9 00001254: DUP3 00001255: PUSH2 0x11fb 00001258: JUMP 00001259: JUMPDEST 0000125a: DUP5 0000125b: MSTORE 0000125c: PUSH1 0x20 0000125e: DUP5 0000125f: ADD 00001260: SWAP4 00001261: POP 00001262: POP 00001263: PUSH1 0x20 00001265: DUP2 00001266: ADD 00001267: SWAP1 00001268: POP 00001269: PUSH2 0x1246 0000126c: JUMP 0000126d: JUMPDEST 0000126e: POP 0000126f: POP 00001270: POP 00001271: SWAP4 00001272: SWAP3 00001273: POP 00001274: POP 00001275: POP 00001276: JUMP 00001277: JUMPDEST 00001278: PUSH0 00001279: DUP3 0000127a: PUSH1 0x1f 0000127c: DUP4 0000127d: ADD 0000127e: SLT 0000127f: PUSH2 0x128b 00001282: JUMPI 00001283: PUSH2 0x128a 00001286: PUSH2 0x0d83 00001289: JUMP 0000128a: JUMPDEST 0000128b: JUMPDEST 0000128c: DUP2 0000128d: CALLDATALOAD 0000128e: PUSH2 0x129b 00001291: DUP5 00001292: DUP3 00001293: PUSH1 0x20 00001295: DUP7 00001296: ADD 00001297: PUSH2 0x120f 0000129a: JUMP 0000129b: JUMPDEST 0000129c: SWAP2 0000129d: POP 0000129e: POP 0000129f: SWAP3 000012a0: SWAP2 000012a1: POP 000012a2: POP 000012a3: JUMP 000012a4: JUMPDEST 000012a5: PUSH0 000012a6: DUP1 000012a7: PUSH0 000012a8: DUP1 000012a9: PUSH0 000012aa: DUP1 000012ab: PUSH0 000012ac: PUSH1 0xc0 000012ae: DUP9 000012af: DUP11 000012b0: SUB 000012b1: SLT 000012b2: ISZERO 000012b3: PUSH2 0x12bf 000012b6: JUMPI 000012b7: PUSH2 0x12be 000012ba: PUSH2 0x0cca 000012bd: JUMP 000012be: JUMPDEST 000012bf: JUMPDEST 000012c0: PUSH0 000012c1: PUSH2 0x12cc 000012c4: DUP11 000012c5: DUP3 000012c6: DUP12 000012c7: ADD 000012c8: PUSH2 0x0d6f 000012cb: JUMP 000012cc: JUMPDEST 000012cd: SWAP8 000012ce: POP 000012cf: POP 000012d0: PUSH1 0x20 000012d2: PUSH2 0x12dd 000012d5: DUP11 000012d6: DUP3 000012d7: DUP12 000012d8: ADD 000012d9: PUSH2 0x0ce8 000012dc: JUMP 000012dd: JUMPDEST 000012de: SWAP7 000012df: POP 000012e0: POP 000012e1: PUSH1 0x40 000012e3: DUP9 000012e4: ADD 000012e5: CALLDATALOAD 000012e6: PUSH8 0xffffffffffffffff 000012ef: DUP2 000012f0: GT 000012f1: ISZERO 000012f2: PUSH2 0x12fe 000012f5: JUMPI 000012f6: PUSH2 0x12fd 000012f9: PUSH2 0x0cce 000012fc: JUMP 000012fd: JUMPDEST 000012fe: JUMPDEST 000012ff: PUSH2 0x130a 00001302: DUP11 00001303: DUP3 00001304: DUP12 00001305: ADD 00001306: PUSH2 0x1184 00001309: JUMP 0000130a: JUMPDEST 0000130b: SWAP6 0000130c: POP 0000130d: POP 0000130e: PUSH1 0x60 00001310: DUP9 00001311: ADD 00001312: CALLDATALOAD 00001313: PUSH8 0xffffffffffffffff 0000131c: DUP2 0000131d: GT 0000131e: ISZERO 0000131f: PUSH2 0x132b 00001322: JUMPI 00001323: PUSH2 0x132a 00001326: PUSH2 0x0cce 00001329: JUMP 0000132a: JUMPDEST 0000132b: JUMPDEST 0000132c: PUSH2 0x1337 0000132f: DUP11 00001330: DUP3 00001331: DUP12 00001332: ADD 00001333: PUSH2 0x1277 00001336: JUMP 00001337: JUMPDEST 00001338: SWAP5 00001339: POP 0000133a: POP 0000133b: PUSH1 0x80 0000133d: DUP9 0000133e: ADD 0000133f: CALLDATALOAD 00001340: PUSH8 0xffffffffffffffff 00001349: DUP2 0000134a: GT 0000134b: ISZERO 0000134c: PUSH2 0x1358 0000134f: JUMPI 00001350: PUSH2 0x1357 00001353: PUSH2 0x0cce 00001356: JUMP 00001357: JUMPDEST 00001358: JUMPDEST 00001359: PUSH2 0x1364 0000135c: DUP11 0000135d: DUP3 0000135e: DUP12 0000135f: ADD 00001360: PUSH2 0x1277 00001363: JUMP 00001364: JUMPDEST 00001365: SWAP4 00001366: POP 00001367: POP 00001368: PUSH1 0xa0 0000136a: DUP9 0000136b: ADD 0000136c: CALLDATALOAD 0000136d: PUSH8 0xffffffffffffffff 00001376: DUP2 00001377: GT 00001378: ISZERO 00001379: PUSH2 0x1385 0000137c: JUMPI 0000137d: PUSH2 0x1384 00001380: PUSH2 0x0cce 00001383: JUMP 00001384: JUMPDEST 00001385: JUMPDEST 00001386: PUSH2 0x1391 00001389: DUP11 0000138a: DUP3 0000138b: DUP12 0000138c: ADD 0000138d: PUSH2 0x0d8f 00001390: JUMP 00001391: JUMPDEST 00001392: SWAP3 00001393: POP 00001394: SWAP3 00001395: POP 00001396: POP 00001397: SWAP3 00001398: SWAP6 00001399: SWAP9 0000139a: SWAP2 0000139b: SWAP5 0000139c: SWAP8 0000139d: POP 0000139e: SWAP3 0000139f: SWAP6 000013a0: POP 000013a1: JUMP 000013a2: JUMPDEST 000013a3: PUSH0 000013a4: DUP2 000013a5: MLOAD 000013a6: SWAP1 000013a7: POP 000013a8: SWAP2 000013a9: SWAP1 000013aa: POP 000013ab: JUMP 000013ac: JUMPDEST 000013ad: PUSH0 000013ae: DUP3 000013af: DUP3 000013b0: MSTORE 000013b1: PUSH1 0x20 000013b3: DUP3 000013b4: ADD 000013b5: SWAP1 000013b6: POP 000013b7: SWAP3 000013b8: SWAP2 000013b9: POP 000013ba: POP 000013bb: JUMP 000013bc: JUMPDEST 000013bd: PUSH0 000013be: DUP2 000013bf: SWAP1 000013c0: POP 000013c1: PUSH1 0x20 000013c3: DUP3 000013c4: ADD 000013c5: SWAP1 000013c6: POP 000013c7: SWAP2 000013c8: SWAP1 000013c9: POP 000013ca: JUMP 000013cb: JUMPDEST 000013cc: PUSH2 0x13d4 000013cf: DUP2 000013d0: PUSH2 0x0c62 000013d3: JUMP 000013d4: JUMPDEST 000013d5: DUP3 000013d6: MSTORE 000013d7: POP 000013d8: POP 000013d9: JUMP 000013da: JUMPDEST 000013db: PUSH0 000013dc: PUSH2 0x13e5 000013df: DUP4 000013e0: DUP4 000013e1: PUSH2 0x13cb 000013e4: JUMP 000013e5: JUMPDEST 000013e6: PUSH1 0x20 000013e8: DUP4 000013e9: ADD 000013ea: SWAP1 000013eb: POP 000013ec: SWAP3 000013ed: SWAP2 000013ee: POP 000013ef: POP 000013f0: JUMP 000013f1: JUMPDEST 000013f2: PUSH0 000013f3: PUSH1 0x20 000013f5: DUP3 000013f6: ADD 000013f7: SWAP1 000013f8: POP 000013f9: SWAP2 000013fa: SWAP1 000013fb: POP 000013fc: JUMP 000013fd: JUMPDEST 000013fe: PUSH0 000013ff: PUSH2 0x1407 00001402: DUP3 00001403: PUSH2 0x13a2 00001406: JUMP 00001407: JUMPDEST 00001408: PUSH2 0x1411 0000140b: DUP2 0000140c: DUP6 0000140d: PUSH2 0x13ac 00001410: JUMP 00001411: JUMPDEST 00001412: SWAP4 00001413: POP 00001414: PUSH2 0x141c 00001417: DUP4 00001418: PUSH2 0x13bc 0000141b: JUMP 0000141c: JUMPDEST 0000141d: DUP1 0000141e: PUSH0 0000141f: JUMPDEST 00001420: DUP4 00001421: DUP2 00001422: LT 00001423: ISZERO 00001424: PUSH2 0x144c 00001427: JUMPI 00001428: DUP2 00001429: MLOAD 0000142a: PUSH2 0x1433 0000142d: DUP9 0000142e: DUP3 0000142f: PUSH2 0x13da 00001432: JUMP 00001433: JUMPDEST 00001434: SWAP8 00001435: POP 00001436: PUSH2 0x143e 00001439: DUP4 0000143a: PUSH2 0x13f1 0000143d: JUMP 0000143e: JUMPDEST 0000143f: SWAP3 00001440: POP 00001441: POP 00001442: PUSH1 0x01 00001444: DUP2 00001445: ADD 00001446: SWAP1 00001447: POP 00001448: PUSH2 0x141f 0000144b: JUMP 0000144c: JUMPDEST 0000144d: POP 0000144e: DUP6 0000144f: SWAP4 00001450: POP 00001451: POP 00001452: POP 00001453: POP 00001454: SWAP3 00001455: SWAP2 00001456: POP 00001457: POP 00001458: JUMP 00001459: JUMPDEST 0000145a: PUSH0 0000145b: PUSH1 0x20 0000145d: DUP3 0000145e: ADD 0000145f: SWAP1 00001460: POP 00001461: DUP2 00001462: DUP2 00001463: SUB 00001464: PUSH0 00001465: DUP4 00001466: ADD 00001467: MSTORE 00001468: PUSH2 0x1471 0000146b: DUP2 0000146c: DUP5 0000146d: PUSH2 0x13fd 00001470: JUMP 00001471: JUMPDEST 00001472: SWAP1 00001473: POP 00001474: SWAP3 00001475: SWAP2 00001476: POP 00001477: POP 00001478: JUMP 00001479: JUMPDEST 0000147a: PUSH0 0000147b: DUP1 0000147c: PUSH0 0000147d: DUP1 0000147e: PUSH0 0000147f: DUP1 00001480: PUSH1 0xa0 00001482: DUP8 00001483: DUP10 00001484: SUB 00001485: SLT 00001486: ISZERO 00001487: PUSH2 0x1493 0000148a: JUMPI 0000148b: PUSH2 0x1492 0000148e: PUSH2 0x0cca 00001491: JUMP 00001492: JUMPDEST 00001493: JUMPDEST 00001494: PUSH0 00001495: PUSH2 0x14a0 00001498: DUP10 00001499: DUP3 0000149a: DUP11 0000149b: ADD 0000149c: PUSH2 0x0d6f 0000149f: JUMP 000014a0: JUMPDEST 000014a1: SWAP7 000014a2: POP 000014a3: POP 000014a4: PUSH1 0x20 000014a6: PUSH2 0x14b1 000014a9: DUP10 000014aa: DUP3 000014ab: DUP11 000014ac: ADD 000014ad: PUSH2 0x0d6f 000014b0: JUMP 000014b1: JUMPDEST 000014b2: SWAP6 000014b3: POP 000014b4: POP 000014b5: PUSH1 0x40 000014b7: PUSH2 0x14c2 000014ba: DUP10 000014bb: DUP3 000014bc: DUP11 000014bd: ADD 000014be: PUSH2 0x0ce8 000014c1: JUMP 000014c2: JUMPDEST 000014c3: SWAP5 000014c4: POP 000014c5: POP 000014c6: PUSH1 0x60 000014c8: PUSH2 0x14d3 000014cb: DUP10 000014cc: DUP3 000014cd: DUP11 000014ce: ADD 000014cf: PUSH2 0x0ce8 000014d2: JUMP 000014d3: JUMPDEST 000014d4: SWAP4 000014d5: POP 000014d6: POP 000014d7: PUSH1 0x80 000014d9: DUP8 000014da: ADD 000014db: CALLDATALOAD 000014dc: PUSH8 0xffffffffffffffff 000014e5: DUP2 000014e6: GT 000014e7: ISZERO 000014e8: PUSH2 0x14f4 000014eb: JUMPI 000014ec: PUSH2 0x14f3 000014ef: PUSH2 0x0cce 000014f2: JUMP 000014f3: JUMPDEST 000014f4: JUMPDEST 000014f5: PUSH2 0x1500 000014f8: DUP10 000014f9: DUP3 000014fa: DUP11 000014fb: ADD 000014fc: PUSH2 0x0d8f 000014ff: JUMP 00001500: JUMPDEST 00001501: SWAP3 00001502: POP 00001503: SWAP3 00001504: POP 00001505: POP 00001506: SWAP3 00001507: SWAP6 00001508: POP 00001509: SWAP3 0000150a: SWAP6 0000150b: POP 0000150c: SWAP3 0000150d: SWAP6 0000150e: JUMP 0000150f: JUMPDEST 00001510: PUSH0 00001511: DUP3 00001512: DUP3 00001513: MSTORE 00001514: PUSH1 0x20 00001516: DUP3 00001517: ADD 00001518: SWAP1 00001519: POP 0000151a: SWAP3 0000151b: SWAP2 0000151c: POP 0000151d: POP 0000151e: JUMP 0000151f: JUMPDEST 00001520: PUSH32 0x416c726561647920696e697469616c697a656400000000000000000000000000 00001541: PUSH0 00001542: DUP3 00001543: ADD 00001544: MSTORE 00001545: POP 00001546: JUMP 00001547: JUMPDEST 00001548: PUSH0 00001549: PUSH2 0x1553 0000154c: PUSH1 0x13 0000154e: DUP4 0000154f: PUSH2 0x150f 00001552: JUMP 00001553: JUMPDEST 00001554: SWAP2 00001555: POP 00001556: PUSH2 0x155e 00001559: DUP3 0000155a: PUSH2 0x151f 0000155d: JUMP 0000155e: JUMPDEST 0000155f: PUSH1 0x20 00001561: DUP3 00001562: ADD 00001563: SWAP1 00001564: POP 00001565: SWAP2 00001566: SWAP1 00001567: POP 00001568: JUMP 00001569: JUMPDEST 0000156a: PUSH0 0000156b: PUSH1 0x20 0000156d: DUP3 0000156e: ADD 0000156f: SWAP1 00001570: POP 00001571: DUP2 00001572: DUP2 00001573: SUB 00001574: PUSH0 00001575: DUP4 00001576: ADD 00001577: MSTORE 00001578: PUSH2 0x1580 0000157b: DUP2 0000157c: PUSH2 0x1547 0000157f: JUMP 00001580: JUMPDEST 00001581: SWAP1 00001582: POP 00001583: SWAP2 00001584: SWAP1 00001585: POP 00001586: JUMP 00001587: JUMPDEST 00001588: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000015a9: PUSH0 000015aa: MSTORE 000015ab: PUSH1 0x32 000015ad: PUSH1 0x04 000015af: MSTORE 000015b0: PUSH1 0x24 000015b2: PUSH0 000015b3: REVERT 000015b4: JUMPDEST 000015b5: PUSH32 0x4e6f7420616c6c6f772073656e64696e6720746f20796f757273656c66000000 000015d6: PUSH0 000015d7: DUP3 000015d8: ADD 000015d9: MSTORE 000015da: POP 000015db: JUMP 000015dc: JUMPDEST 000015dd: PUSH0 000015de: PUSH2 0x15e8 000015e1: PUSH1 0x1d 000015e3: DUP4 000015e4: PUSH2 0x150f 000015e7: JUMP 000015e8: JUMPDEST 000015e9: SWAP2 000015ea: POP 000015eb: PUSH2 0x15f3 000015ee: DUP3 000015ef: PUSH2 0x15b4 000015f2: JUMP 000015f3: JUMPDEST 000015f4: PUSH1 0x20 000015f6: DUP3 000015f7: ADD 000015f8: SWAP1 000015f9: POP 000015fa: SWAP2 000015fb: SWAP1 000015fc: POP 000015fd: JUMP 000015fe: JUMPDEST 000015ff: PUSH0 00001600: PUSH1 0x20 00001602: DUP3 00001603: ADD 00001604: SWAP1 00001605: POP 00001606: DUP2 00001607: DUP2 00001608: SUB 00001609: PUSH0 0000160a: DUP4 0000160b: ADD 0000160c: MSTORE 0000160d: PUSH2 0x1615 00001610: DUP2 00001611: PUSH2 0x15dc 00001614: JUMP 00001615: JUMPDEST 00001616: SWAP1 00001617: POP 00001618: SWAP2 00001619: SWAP1 0000161a: POP 0000161b: JUMP 0000161c: JUMPDEST 0000161d: PUSH32 0x696e76616c6964207369676e6174757265730000000000000000000000000000 0000163e: PUSH0 0000163f: DUP3 00001640: ADD 00001641: MSTORE 00001642: POP 00001643: JUMP 00001644: JUMPDEST 00001645: PUSH0 00001646: PUSH2 0x1650 00001649: PUSH1 0x12 0000164b: DUP4 0000164c: PUSH2 0x150f 0000164f: JUMP 00001650: JUMPDEST 00001651: SWAP2 00001652: POP 00001653: PUSH2 0x165b 00001656: DUP3 00001657: PUSH2 0x161c 0000165a: JUMP 0000165b: JUMPDEST 0000165c: PUSH1 0x20 0000165e: DUP3 0000165f: ADD 00001660: SWAP1 00001661: POP 00001662: SWAP2 00001663: SWAP1 00001664: POP 00001665: JUMP 00001666: JUMPDEST 00001667: PUSH0 00001668: PUSH1 0x20 0000166a: DUP3 0000166b: ADD 0000166c: SWAP1 0000166d: POP 0000166e: DUP2 0000166f: DUP2 00001670: SUB 00001671: PUSH0 00001672: DUP4 00001673: ADD 00001674: MSTORE 00001675: PUSH2 0x167d 00001678: DUP2 00001679: PUSH2 0x1644 0000167c: JUMP 0000167d: JUMPDEST 0000167e: SWAP1 0000167f: POP 00001680: SWAP2 00001681: SWAP1 00001682: POP 00001683: JUMP 00001684: JUMPDEST 00001685: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000016a6: PUSH0 000016a7: MSTORE 000016a8: PUSH1 0x11 000016aa: PUSH1 0x04 000016ac: MSTORE 000016ad: PUSH1 0x24 000016af: PUSH0 000016b0: REVERT 000016b1: JUMPDEST 000016b2: PUSH0 000016b3: PUSH2 0x16bb 000016b6: DUP3 000016b7: PUSH2 0x0c82 000016ba: JUMP 000016bb: JUMPDEST 000016bc: SWAP2 000016bd: POP 000016be: PUSH2 0x16c6 000016c1: DUP4 000016c2: PUSH2 0x0c82 000016c5: JUMP 000016c6: JUMPDEST 000016c7: SWAP3 000016c8: POP 000016c9: DUP3 000016ca: DUP3 000016cb: ADD 000016cc: SWAP1 000016cd: POP 000016ce: DUP1 000016cf: DUP3 000016d0: GT 000016d1: ISZERO 000016d2: PUSH2 0x16de 000016d5: JUMPI 000016d6: PUSH2 0x16dd 000016d9: PUSH2 0x1684 000016dc: JUMP 000016dd: JUMPDEST 000016de: JUMPDEST 000016df: SWAP3 000016e0: SWAP2 000016e1: POP 000016e2: POP 000016e3: JUMP 000016e4: JUMPDEST 000016e5: PUSH0 000016e6: DUP2 000016e7: SWAP1 000016e8: POP 000016e9: SWAP3 000016ea: SWAP2 000016eb: POP 000016ec: POP 000016ed: JUMP 000016ee: JUMPDEST 000016ef: DUP3 000016f0: DUP2 000016f1: DUP4 000016f2: CALLDATACOPY 000016f3: PUSH0 000016f4: DUP4 000016f5: DUP4 000016f6: ADD 000016f7: MSTORE 000016f8: POP 000016f9: POP 000016fa: POP 000016fb: JUMP 000016fc: JUMPDEST 000016fd: PUSH0 000016fe: PUSH2 0x1707 00001701: DUP4 00001702: DUP6 00001703: PUSH2 0x16e4 00001706: JUMP 00001707: JUMPDEST 00001708: SWAP4 00001709: POP 0000170a: PUSH2 0x1714 0000170d: DUP4 0000170e: DUP6 0000170f: DUP5 00001710: PUSH2 0x16ee 00001713: JUMP 00001714: JUMPDEST 00001715: DUP3 00001716: DUP5 00001717: ADD 00001718: SWAP1 00001719: POP 0000171a: SWAP4 0000171b: SWAP3 0000171c: POP 0000171d: POP 0000171e: POP 0000171f: JUMP 00001720: JUMPDEST 00001721: PUSH0 00001722: PUSH2 0x172c 00001725: DUP3 00001726: DUP5 00001727: DUP7 00001728: PUSH2 0x16fc 0000172b: JUMP 0000172c: JUMPDEST 0000172d: SWAP2 0000172e: POP 0000172f: DUP2 00001730: SWAP1 00001731: POP 00001732: SWAP4 00001733: SWAP3 00001734: POP 00001735: POP 00001736: POP 00001737: JUMP 00001738: JUMPDEST 00001739: PUSH0 0000173a: PUSH2 0x1742 0000173d: DUP3 0000173e: PUSH2 0x10e6 00001741: JUMP 00001742: JUMPDEST 00001743: SWAP2 00001744: POP 00001745: PUSH2 0x174d 00001748: DUP4 00001749: PUSH2 0x10e6 0000174c: JUMP 0000174d: JUMPDEST 0000174e: SWAP3 0000174f: POP 00001750: DUP3 00001751: DUP3 00001752: ADD 00001753: SWAP1 00001754: POP 00001755: PUSH1 0xff 00001757: DUP2 00001758: GT 00001759: ISZERO 0000175a: PUSH2 0x1766 0000175d: JUMPI 0000175e: PUSH2 0x1765 00001761: PUSH2 0x1684 00001764: JUMP 00001765: JUMPDEST 00001766: JUMPDEST 00001767: SWAP3 00001768: SWAP2 00001769: POP 0000176a: POP 0000176b: JUMP 0000176c: JUMPDEST 0000176d: PUSH2 0x1775 00001770: DUP2 00001771: PUSH2 0x11dc 00001774: JUMP 00001775: JUMPDEST 00001776: DUP3 00001777: MSTORE 00001778: POP 00001779: POP 0000177a: JUMP 0000177b: JUMPDEST 0000177c: PUSH2 0x1784 0000177f: DUP2 00001780: PUSH2 0x10e6 00001783: JUMP 00001784: JUMPDEST 00001785: DUP3 00001786: MSTORE 00001787: POP 00001788: POP 00001789: JUMP 0000178a: JUMPDEST 0000178b: PUSH0 0000178c: PUSH1 0x80 0000178e: DUP3 0000178f: ADD 00001790: SWAP1 00001791: POP 00001792: PUSH2 0x179d 00001795: PUSH0 00001796: DUP4 00001797: ADD 00001798: DUP8 00001799: PUSH2 0x176c 0000179c: JUMP 0000179d: JUMPDEST 0000179e: PUSH2 0x17aa 000017a1: PUSH1 0x20 000017a3: DUP4 000017a4: ADD 000017a5: DUP7 000017a6: PUSH2 0x177b 000017a9: JUMP 000017aa: JUMPDEST 000017ab: PUSH2 0x17b7 000017ae: PUSH1 0x40 000017b0: DUP4 000017b1: ADD 000017b2: DUP6 000017b3: PUSH2 0x176c 000017b6: JUMP 000017b7: JUMPDEST 000017b8: PUSH2 0x17c4 000017bb: PUSH1 0x60 000017bd: DUP4 000017be: ADD 000017bf: DUP5 000017c0: PUSH2 0x176c 000017c3: JUMP 000017c4: JUMPDEST 000017c5: SWAP6 000017c6: SWAP5 000017c7: POP 000017c8: POP 000017c9: POP 000017ca: POP 000017cb: POP 000017cc: JUMP 000017cd: JUMPDEST 000017ce: PUSH0 000017cf: DUP2 000017d0: MLOAD 000017d1: SWAP1 000017d2: POP 000017d3: SWAP2 000017d4: SWAP1 000017d5: POP 000017d6: JUMP 000017d7: JUMPDEST 000017d8: DUP3 000017d9: DUP2 000017da: DUP4 000017db: MCOPY 000017dc: PUSH0 000017dd: DUP4 000017de: DUP4 000017df: ADD 000017e0: MSTORE 000017e1: POP 000017e2: POP 000017e3: POP 000017e4: JUMP 000017e5: JUMPDEST 000017e6: PUSH0 000017e7: PUSH2 0x17ef 000017ea: DUP3 000017eb: PUSH2 0x17cd 000017ee: JUMP 000017ef: JUMPDEST 000017f0: PUSH2 0x17f9 000017f3: DUP2 000017f4: DUP6 000017f5: PUSH2 0x16e4 000017f8: JUMP 000017f9: JUMPDEST 000017fa: SWAP4 000017fb: POP 000017fc: PUSH2 0x1809 000017ff: DUP2 00001800: DUP6 00001801: PUSH1 0x20 00001803: DUP7 00001804: ADD 00001805: PUSH2 0x17d7 00001808: JUMP 00001809: JUMPDEST 0000180a: DUP1 0000180b: DUP5 0000180c: ADD 0000180d: SWAP2 0000180e: POP 0000180f: POP 00001810: SWAP3 00001811: SWAP2 00001812: POP 00001813: POP 00001814: JUMP 00001815: JUMPDEST 00001816: PUSH0 00001817: DUP2 00001818: SWAP1 00001819: POP 0000181a: SWAP2 0000181b: SWAP1 0000181c: POP 0000181d: JUMP 0000181e: JUMPDEST 0000181f: PUSH2 0x182f 00001822: PUSH2 0x182a 00001825: DUP3 00001826: PUSH2 0x11dc 00001829: JUMP 0000182a: JUMPDEST 0000182b: PUSH2 0x1815 0000182e: JUMP 0000182f: JUMPDEST 00001830: DUP3 00001831: MSTORE 00001832: POP 00001833: POP 00001834: JUMP 00001835: JUMPDEST 00001836: PUSH0 00001837: PUSH2 0x1840 0000183a: DUP3 0000183b: DUP6 0000183c: PUSH2 0x17e5 0000183f: JUMP 00001840: JUMPDEST 00001841: SWAP2 00001842: POP 00001843: PUSH2 0x184c 00001846: DUP3 00001847: DUP5 00001848: PUSH2 0x181e 0000184b: JUMP 0000184c: JUMPDEST 0000184d: PUSH1 0x20 0000184f: DUP3 00001850: ADD 00001851: SWAP2 00001852: POP 00001853: DUP2 00001854: SWAP1 00001855: POP 00001856: SWAP4 00001857: SWAP3 00001858: POP 00001859: POP 0000185a: POP 0000185b: JUMP 0000185c: JUMPDEST 0000185d: PUSH0 0000185e: DUP2 0000185f: PUSH1 0x60 00001861: SHL 00001862: SWAP1 00001863: POP 00001864: SWAP2 00001865: SWAP1 00001866: POP 00001867: JUMP 00001868: JUMPDEST 00001869: PUSH0 0000186a: PUSH2 0x1872 0000186d: DUP3 0000186e: PUSH2 0x185c 00001871: JUMP 00001872: JUMPDEST 00001873: SWAP1 00001874: POP 00001875: SWAP2 00001876: SWAP1 00001877: POP 00001878: JUMP 00001879: JUMPDEST 0000187a: PUSH0 0000187b: PUSH2 0x1883 0000187e: DUP3 0000187f: PUSH2 0x1868 00001882: JUMP 00001883: JUMPDEST 00001884: SWAP1 00001885: POP 00001886: SWAP2 00001887: SWAP1 00001888: POP 00001889: JUMP 0000188a: JUMPDEST 0000188b: PUSH2 0x189b 0000188e: PUSH2 0x1896 00001891: DUP3 00001892: PUSH2 0x0c62 00001895: JUMP 00001896: JUMPDEST 00001897: PUSH2 0x1879 0000189a: JUMP 0000189b: JUMPDEST 0000189c: DUP3 0000189d: MSTORE 0000189e: POP 0000189f: POP 000018a0: JUMP 000018a1: JUMPDEST 000018a2: PUSH0 000018a3: DUP2 000018a4: SWAP1 000018a5: POP 000018a6: SWAP2 000018a7: SWAP1 000018a8: POP 000018a9: JUMP 000018aa: JUMPDEST 000018ab: PUSH2 0x18bb 000018ae: PUSH2 0x18b6 000018b1: DUP3 000018b2: PUSH2 0x0c82 000018b5: JUMP 000018b6: JUMPDEST 000018b7: PUSH2 0x18a1 000018ba: JUMP 000018bb: JUMPDEST 000018bc: DUP3 000018bd: MSTORE 000018be: POP 000018bf: POP 000018c0: JUMP 000018c1: JUMPDEST 000018c2: PUSH0 000018c3: PUSH2 0x18cc 000018c6: DUP3 000018c7: DUP9 000018c8: PUSH2 0x188a 000018cb: JUMP 000018cc: JUMPDEST 000018cd: PUSH1 0x14 000018cf: DUP3 000018d0: ADD 000018d1: SWAP2 000018d2: POP 000018d3: PUSH2 0x18dc 000018d6: DUP3 000018d7: DUP8 000018d8: PUSH2 0x188a 000018db: JUMP 000018dc: JUMPDEST 000018dd: PUSH1 0x14 000018df: DUP3 000018e0: ADD 000018e1: SWAP2 000018e2: POP 000018e3: PUSH2 0x18ec 000018e6: DUP3 000018e7: DUP7 000018e8: PUSH2 0x18aa 000018eb: JUMP 000018ec: JUMPDEST 000018ed: PUSH1 0x20 000018ef: DUP3 000018f0: ADD 000018f1: SWAP2 000018f2: POP 000018f3: PUSH2 0x18fc 000018f6: DUP3 000018f7: DUP6 000018f8: PUSH2 0x17e5 000018fb: JUMP 000018fc: JUMPDEST 000018fd: SWAP2 000018fe: POP 000018ff: PUSH2 0x1908 00001902: DUP3 00001903: DUP5 00001904: PUSH2 0x18aa 00001907: JUMP 00001908: JUMPDEST 00001909: PUSH1 0x20 0000190b: DUP3 0000190c: ADD 0000190d: SWAP2 0000190e: POP 0000190f: DUP2 00001910: SWAP1 00001911: POP 00001912: SWAP7 00001913: SWAP6 00001914: POP 00001915: POP 00001916: POP 00001917: POP 00001918: POP 00001919: POP 0000191a: JUMP 0000191b: INVALID 0000191c: LOG2 0000191d: PUSH5 0x6970667358 00001923: UNKNOWN(0x22) 00001924: SLT 00001925: KECCAK256 00001926: SWAP11 00001927: SLOAD 00001928: UNKNOWN(0xA6) 00001929: POP 0000192a: TSTORE 0000192b: UNKNOWN(0xAE) 0000192c: SWAP5 0000192d: UNKNOWN(0xA5) 0000192e: DUP13 0000192f: BALANCE 00001930: UNKNOWN(0xFC) 00001931: UNKNOWN(0xE9) 00001932: PUSH28 0x0f775bcc3224ff8c43dafd758eca0f92a2097464736f6c634300081a 0000194f: STOP 00001950: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | codex | Unprotected initialize enables full ownership takeover and fund drain | 90 | no | — |
viewevidence_json{
"evidence": "initialize is public and only gated by owners.length == 0, allowing any caller to set owners/required when uninitialized.",
"locations": [
"contracts/Contract.sol:46"
],
"recommendation": "Require an authorized initializer (e.g., onlyProxy/onlyOwner/initializer pattern) or set owners in a constructor for non-proxy deployments so initialize cannot be called by arbitrary addresses.",
"exploit_scenario": "1) Attacker watches for a freshly deployed OwnbitMultiSig (or proxy) with owners.length == 0. 2) Attacker calls initialize([attacker], 1), becoming the sole owner. 3) Attacker signs the spend message and calls spend to transfer all ETH to themselves (value=contract balance). 4) For ERC20/NFTs, attacker calls spend with destination=token contract and data=transfer/safeTransferFrom to move all tokens/NFTs out."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xd34f0afb5d99e15611c338f5c67085e554371194322979bb9e71971b631d4448
call_targets:
0x95ca2f7959f8848795dfb0868c1b0c59dd4e9330
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd34f0afb5d99e15611c338f5c67085e554371194322979bb9e71971b631d4448",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x95ca2f7959f8848795dfb0868c1b0c59dd4e9330"
],
"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": "0x843b1a09",
"selector": "0x843b1a09",
"calldata_variants": [
"0x843b1a09",
"0x843b1a090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa0e67e2b",
"selector": "0xa0e67e2b",
"calldata_variants": [
"0xa0e67e2b",
"0xa0e67e2b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6a2a9f1",
"selector": "0xc6a2a9f1",
"calldata_variants": [
"0xc6a2a9f1",
"0xc6a2a9f10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd74f8edd",
"selector": "0xd74f8edd",
"calldata_variants": [
"0xd74f8edd",
"0xd74f8edd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc8452cd",
"selector": "0xdc8452cd",
"calldata_variants": [
"0xdc8452cd",
"0xdc8452cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf23a6e61",
"selector": "0xf23a6e61",
"calldata_variants": [
"0xf23a6e61",
"0xf23a6e610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1398a5f6",
"selector": "0x1398a5f6",
"calldata_variants": [
"0x1398a5f6",
"0x1398a5f60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1850,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [],
"untrusted_call_count": 1
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xd34f0afb5d99e15611c338f5c67085e554371194322979bb9e71971b631d4448
call_targets:
0x95ca2f7959f8848795dfb0868c1b0c59dd4e9330
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd34f0afb5d99e15611c338f5c67085e554371194322979bb9e71971b631d4448",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x95ca2f7959f8848795dfb0868c1b0c59dd4e9330"
],
"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": "0x843b1a09",
"selector": "0x843b1a09",
"calldata_variants": [
"0x843b1a09",
"0x843b1a090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa0e67e2b",
"selector": "0xa0e67e2b",
"calldata_variants": [
"0xa0e67e2b",
"0xa0e67e2b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6a2a9f1",
"selector": "0xc6a2a9f1",
"calldata_variants": [
"0xc6a2a9f1",
"0xc6a2a9f10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd74f8edd",
"selector": "0xd74f8edd",
"calldata_variants": [
"0xd74f8edd",
"0xd74f8edd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc8452cd",
"selector": "0xdc8452cd",
"calldata_variants": [
"0xdc8452cd",
"0xdc8452cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf23a6e61",
"selector": "0xf23a6e61",
"calldata_variants": [
"0xf23a6e61",
"0xf23a6e610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1398a5f6",
"selector": "0x1398a5f6",
"calldata_variants": [
"0x1398a5f6",
"0x1398a5f60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1850,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|