TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019be3d6-8492-73c8-8ec4-edb49b23a550

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 22, 2026 3:54 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Present
Best current signal
Untrusted DELEGATECALL target reachable (arbitrary code execution risk)
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
41079 artifact.fetch complete 1 / 3 2 months ago
41080 proxy.resolve complete 1 / 3 2 months ago
41081 tool.cast_disasm complete 1 / 3 2 months ago
41082 analysis.bundle complete 1 / 3 2 months ago
41083 capability.graph complete 1 / 3 2 months ago
41084 detector.run complete 1 / 3 2 months ago
41085 validation.fork complete 1 / 3 2 months ago
41421 report.consolidate complete 1 / 6 2 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: no
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
3
No findings?
no
Summary
Bytecode-only review found a computed-target DELEGATECALL, a reachable SELFDESTRUCT to CALLER, and multiple value-transferring CALLs to computed targets; selectors/guards are heuristic and some call target inference is uncertain.
View stdout
{"no_findings":false,"summary":"Bytecode-only review found a computed-target DELEGATECALL, a reachable SELFDESTRUCT to CALLER, and multiple value-transferring CALLs to computed targets; selectors/guards are heuristic and some call target inference is uncertain.","findings":[{"severity":"critical","category":"upgradeability","title":"Untrusted DELEGATECALL target reachable (arbitrary code execution risk)","exploit_scenario":"If an attacker can influence the delegatecall target (directly or via storage), they can execute arbitrary code in this contract’s storage context, enabling fund theft, state corruption, or permanent bricking. If this is a proxy, missing/weak admin controls would make upgrade hijacking possible.","recommendation":"Ensure the delegatecall target is strictly controlled (e.g., immutable or tightly access-controlled upgrade logic). If this is a proxy, verify EIP-1967-style admin guards and implementation slot integrity; add explicit access checks and events on upgrades.","evidence":"Detector flags untrusted_delegatecall_count=1 with computed target; guards_detected=[]; DELEGATECALL present in basic block starting at pc 2062.","locations":["pc:2074"]},{"severity":"high","category":"access_control","title":"SELFDESTRUCT sends funds to CALLER","exploit_scenario":"If this path is externally reachable without strong access control, any caller can destroy the contract and redirect all ETH to themselves, causing total loss of funds and breaking dependent integrations.","recommendation":"Restrict any selfdestruct path to a clearly authorized role (or remove it). If intended for emergency use, require timelock/multisig and emit events.","evidence":"Opcode sequence includes CALLER then SELFDESTRUCT; detector shows selfdestruct_count=1 and no guards detected. Bytecode evidence shows JUMPDEST ... CALLER ... SELFDESTRUCT.","locations":["pc:2334"]},{"severity":"medium","category":"reentrancy","title":"Multiple CALLs with computed target/value (reentrancy or arbitrary transfer risk)","exploit_scenario":"If users can influence the call target or value, this enables arbitrary ETH transfers. Any state updates after these calls could be reentered by a malicious callee. The detector’s validation suggested a constant target equal to this contract, but target inference is uncertain from bytecode alone.","recommendation":"Audit all CALL sites to confirm target/value are not user-controlled. Apply checks-effects-interactions or reentrancy guards around any state changes; consider restricting call targets to known addresses.","evidence":"Detector reports untrusted_call_count=14 and eth_value_calls=14 with computed target/value and guards_detected=[]. Validation_json shows constant_target=0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c but status is unknown; returndata checking not shown.","locations":["pc:3000","pc:3550","pc:3907","pc:4266","pc:4623","pc:4736","pc:4857","pc:6778","pc:7328","pc:7685","pc:7798","pc:7921","pc:9070","pc:9486"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-kfk2hvj6
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be482-08a0-7021-833b-776c38237b0a
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".

Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers

thinking
**Planning JSON schema extraction**

I'm deciding to read BYTECODE_BUNDLE.json using a simple shell command like cat, avoiding complex tools since the file just needs to be read and produce its JSON schema.
exec
/bin/bash -lc ls in /tmp/codex-kfk2hvj6 succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-kfk2hvj6 succeeded in 6ms:
{
  "analysis_artifact": {
    "address": "0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c",
    "artifact_hash": "0x44a1c469d7838d2e615a8bf0b368a42dc3e86b0748e8efabbaad0d8fa9685119",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 12,
          "hash": "0x75ffc402900c443ca1f2327c64b0cd321704a17643263b6491bdca0aaaba6376",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "CALLDATASIZE",
            "LT",
            "PUSH2",

thinking
**Planning evidence search**

I'm focusing on locating more evidence related to selfdestruct, considering searching JSON files or opcode data with ripgrep in read-only mode to find relevant markers.
exec
/bin/bash -lc 'rg -n "SELFDESTRUCT|selfdestruct" BYTECODE_BUNDLE.json' in /tmp/codex-kfk2hvj6 succeeded in 7ms:
2018:            "SELFDESTRUCT"
10416:            "selfdestruct": 1,
10470:            "selfdestruct": 1,
10524:            "selfdestruct": 1,
10578:            "selfdestruct": 1,
10632:            "selfdestruct": 1,
10686:            "selfdestruct": 1,
10740:            "selfdestruct": 1,
10794:            "selfdestruct": 1,
10848:            "selfdestruct": 1,
10902:            "selfdestruct": 1,
10965:        "selfdestruct": 1,
16097:        "selfdestruct_count": 1
16100:        "sink": "SELFDESTRUCT"
16103:      "title": "SELFDESTRUCT reachable",
16112:        "sink": "SELFDESTRUCT",
16229:      "selfdestruct_present",
16233:    "selfdestruct_count": 1

thinking
**Locating SELFDESTRUCT opcode usage**

I'm checking around line 2018 using pattern search and sed to find where the SELFDESTRUCT opcode appears in basic blocks.
exec
/bin/bash -lc "sed -n '2000,2035p' BYTECODE_BUNDLE.json" in /tmp/codex-kfk2hvj6 succeeded in 33ms:
            "PUSH1",
            "MLOAD",
            "OP_80",
            "OP_91",
            "SUB",
            "OP_90",
            "REVERT"
          ],
          "start_pc": 2225
        },
        {
          "end_pc": 2358,
          "hash": "0x6f16d68cb309bcdd263593e4177efe27ae6f597107a5b963b2f1b70cea77e62a",
          "opcodes": [
            "JUMPDEST",
            "CALLER",
            "PUSH20",
            "AND",
            "SELFDESTRUCT"
          ],

thinking
**Noting critical instruction points**

I'm marking the locations for selfdestruct at pc 2334 and delegatecall at pc 2074, planning to extract surrounding context around pc 2050 using sed for deeper analysis.
exec
/bin/bash -lc "sed -n '2045,2095p' BYTECODE_BUNDLE.json" in /tmp/codex-kfk2hvj6 succeeded in 7ms:
            "ADD",
            "PUSH1",
            "SHA3",
            "PUSH1",
            "OP_90",
            "SLOAD",
            "OP_90",
            "PUSH2",
            "EXP",
            "OP_90",
            "DIV",
            "PUSH1",
            "AND",
            "ISZERO",
            "ISZERO",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 2359

thinking
**Searching for DELEGATECALL usage**
exec
/bin/bash -lc 'rg -n "DELEGATECALL" BYTECODE_BUNDLE.json' in /tmp/codex-kfk2hvj6 succeeded in 6ms:
1847:            "DELEGATECALL",
8249:          "opcode": "DELEGATECALL",
15841:          "opcode": "DELEGATECALL",
16063:            "opcode": "DELEGATECALL",
16074:        "sink": "DELEGATECALL"
16077:      "title": "Untrusted DELEGATECALL target reachable",
16086:        "sink": "DELEGATECALL",

thinking
**Requesting context around line 1847**
exec
/bin/bash -lc "sed -n '1825,1865p' BYTECODE_BUNDLE.json" in /tmp/codex-kfk2hvj6 succeeded in 6ms:
            "OP_80",
            "OP_91",
            "SUB",
            "OP_90",
            "REVERT"
          ],
          "start_pc": 1953
        },
        {
          "end_pc": 2084,
          "hash": "0xa2024604309e20b5a34d4dd5b9e783f63cac577e3a05a86317f22abc9e1fd726",
          "opcodes": [
            "JUMPDEST",
            "PUSH1",
            "OP_80",
            "OP_83",
            "MLOAD",
            "PUSH1",
            "OP_85",
            "ADD",


thinking
**Highlighting untrusted delegatecall risk**

Detected a critical untrusted delegatecall target with computed address and no guard, posing arbitrary code execution risk; may indicate a proxy pattern but lacks full storage context to confirm.
thinking
**Summarizing critical findings on delegatecall, selfdestruct, and untrusted calls**

Three findings: a critical untrusted delegatecall with computed target indicating upgradeability risk without guards; a high-severity selfdestruct reachable without access control that can destroy contract and send funds to caller; and a medium-severity untrusted external call with value posing reentrancy or fund loss risk, though targets may include the contract itself, making impact uncertain. Recommendations emphasize verifying access control for critical operations and confirming proxy/admin safeguards.
codex
{"no_findings":false,"summary":"Bytecode-only review found a computed-target DELEGATECALL, a reachable SELFDESTRUCT to CALLER, and multiple value-transferring CALLs to computed targets; selectors/guards are heuristic and some call target inference is uncertain.","findings":[{"severity":"critical","category":"upgradeability","title":"Untrusted DELEGATECALL target reachable (arbitrary code execution risk)","exploit_scenario":"If an attacker can influence the delegatecall target (directly or via storage), they can execute arbitrary code in this contract’s storage context, enabling fund theft, state corruption, or permanent bricking. If this is a proxy, missing/weak admin controls would make upgrade hijacking possible.","recommendation":"Ensure the delegatecall target is strictly controlled (e.g., immutable or tightly access-controlled upgrade logic). If this is a proxy, verify EIP-1967-style admin guards and implementation slot integrity; add explicit access checks and events on upgrades.","evidence":"Detector flags untrusted_delegatecall_count=1 with computed target; guards_detected=[]; DELEGATECALL present in basic block starting at pc 2062.","locations":["pc:2074"]},{"severity":"high","category":"access_control","title":"SELFDESTRUCT sends funds to CALLER","exploit_scenario":"If this path is externally reachable without strong access control, any caller can destroy the contract and redirect all ETH to themselves, causing total loss of funds and breaking dependent integrations.","recommendation":"Restrict any selfdestruct path to a clearly authorized role (or remove it). If intended for emergency use, require timelock/multisig and emit events.","evidence":"Opcode sequence includes CALLER then SELFDESTRUCT; detector shows selfdestruct_count=1 and no guards detected. Bytecode evidence shows JUMPDEST ... CALLER ... SELFDESTRUCT.","locations":["pc:2334"]},{"severity":"medium","category":"reentrancy","title":"Multiple CALLs with computed target/value (reentrancy or arbitrary transfer risk)","exploit_scenario":"If users can influence the call target or value, this enables arbitrary ETH transfers. Any state updates after these calls could be reentered by a malicious callee. The detector’s validation suggested a constant target equal to this contract, but target inference is uncertain from bytecode alone.","recommendation":"Audit all CALL sites to confirm target/value are not user-controlled. Apply checks-effects-interactions or reentrancy guards around any state changes; consider restricting call targets to known addresses.","evidence":"Detector reports untrusted_call_count=14 and eth_value_calls=14 with computed target/value and guards_detected=[]. Validation_json shows constant_target=0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c but status is unknown; returndata checking not shown.","locations":["pc:3000","pc:3550","pc:3907","pc:4266","pc:4623","pc:4736","pc:4857","pc:6778","pc:7328","pc:7685","pc:7798","pc:7921","pc:9070","pc:9486"]}]}
tokens used
41,610
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T07:02:33.938595+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 19626,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode-only review found a computed-target DELEGATECALL, a reachable SELFDESTRUCT to CALLER, and multiple value-transferring CALLs to computed targets; selectors/guards are heuristic and some call target inference is uncertain.",
    "raw_final": {
        "summary": "Bytecode-only review found a computed-target DELEGATECALL, a reachable SELFDESTRUCT to CALLER, and multiple value-transferring CALLs to computed targets; selectors/guards are heuristic and some call target inference is uncertain.",
        "findings": [
            {
                "title": "Untrusted DELEGATECALL target reachable (arbitrary code execution risk)",
                "category": "upgradeability",
                "evidence": "Detector flags untrusted_delegatecall_count=1 with computed target; guards_detected=[]; DELEGATECALL present in basic block starting at pc 2062.",
                "severity": "critical",
                "locations": [
                    "pc:2074"
                ],
                "recommendation": "Ensure the delegatecall target is strictly controlled (e.g., immutable or tightly access-controlled upgrade logic). If this is a proxy, verify EIP-1967-style admin guards and implementation slot integrity; add explicit access checks and events on upgrades.",
                "exploit_scenario": "If an attacker can influence the delegatecall target (directly or via storage), they can execute arbitrary code in this contract\u2019s storage context, enabling fund theft, state corruption, or permanent bricking. If this is a proxy, missing/weak admin controls would make upgrade hijacking possible."
            },
            {
                "title": "SELFDESTRUCT sends funds to CALLER",
                "category": "access_control",
                "evidence": "Opcode sequence includes CALLER then SELFDESTRUCT; detector shows selfdestruct_count=1 and no guards detected. Bytecode evidence shows JUMPDEST ... CALLER ... SELFDESTRUCT.",
                "severity": "high",
                "locations": [
                    "pc:2334"
                ],
                "recommendation": "Restrict any selfdestruct path to a clearly authorized role (or remove it). If intended for emergency use, require timelock/multisig and emit events.",
                "exploit_scenario": "If this path is externally reachable without strong access control, any caller can destroy the contract and redirect all ETH to themselves, causing total loss of funds and breaking dependent integrations."
            },
            {
                "title": "Multiple CALLs with computed target/value (reentrancy or arbitrary transfer risk)",
                "category": "reentrancy",
                "evidence": "Detector reports untrusted_call_count=14 and eth_value_calls=14 with computed target/value and guards_detected=[]. Validation_json shows constant_target=0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c but status is unknown; returndata checking not shown.",
                "severity": "medium",
                "locations": [
                    "pc:3000",
                    "pc:3550",
                    "pc:3907",
                    "pc:4266",
                    "pc:4623",
                    "pc:4736",
                    "pc:4857",
                    "pc:6778",
                    "pc:7328",
                    "pc:7685",
                    "pc:7798",
                    "pc:7921",
                    "pc:9070",
                    "pc:9486"
                ],
                "recommendation": "Audit all CALL sites to confirm target/value are not user-controlled. Apply checks-effects-interactions or reentrancy guards around any state changes; consider restricting call targets to known addresses.",
                "exploit_scenario": "If users can influence the call target or value, this enables arbitrary ETH transfers. Any state updates after these calls could be reentered by a malicious callee. The detector\u2019s validation suggested a constant target equal to this contract, but target inference is uncertain from bytecode alone."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
22
EXT*/BALANCE
20
Total opcodes
5688
Flags
delegatecall_present selfdestruct_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0095
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x649630d8
00000019: GT
0000001a: PUSH2 0x0059
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x649630d8
00000024: EQ
00000025: PUSH2 0x0407
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x69369e9e
0000002f: EQ
00000030: PUSH2 0x04b5
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x7065cb48
0000003a: EQ
0000003b: PUSH2 0x05e0
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0x8d9051d4
00000045: EQ
00000046: PUSH2 0x0631
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0x92748e1c
00000050: EQ
00000051: PUSH2 0x06ac
00000054: JUMPI
00000055: PUSH2 0x009c
00000058: JUMP
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0x022914a7
00000060: EQ
00000061: PUSH2 0x00a1
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x1cff79cd
0000006b: EQ
0000006c: PUSH2 0x010a
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x41c0e1b5
00000076: EQ
00000077: PUSH2 0x025e
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x4782f779
00000081: EQ
00000082: PUSH2 0x0275
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x632a0c23
0000008c: EQ
0000008d: PUSH2 0x02d0
00000090: JUMPI
00000091: PUSH2 0x009c
00000094: JUMP
00000095: JUMPDEST
00000096: CALLDATASIZE
00000097: PUSH2 0x009c
0000009a: JUMPI
0000009b: STOP
0000009c: JUMPDEST
0000009d: PUSH1 0x00
0000009f: DUP1
000000a0: REVERT
000000a1: JUMPDEST
000000a2: CALLVALUE
000000a3: DUP1
000000a4: ISZERO
000000a5: PUSH2 0x00ad
000000a8: JUMPI
000000a9: PUSH1 0x00
000000ab: DUP1
000000ac: REVERT
000000ad: JUMPDEST
000000ae: POP
000000af: PUSH2 0x00f0
000000b2: PUSH1 0x04
000000b4: DUP1
000000b5: CALLDATASIZE
000000b6: SUB
000000b7: PUSH1 0x20
000000b9: DUP2
000000ba: LT
000000bb: ISZERO
000000bc: PUSH2 0x00c4
000000bf: JUMPI
000000c0: PUSH1 0x00
000000c2: DUP1
000000c3: REVERT
000000c4: JUMPDEST
000000c5: DUP2
000000c6: ADD
000000c7: SWAP1
000000c8: DUP1
000000c9: DUP1
000000ca: CALLDATALOAD
000000cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000e0: AND
000000e1: SWAP1
000000e2: PUSH1 0x20
000000e4: ADD
000000e5: SWAP1
000000e6: SWAP3
000000e7: SWAP2
000000e8: SWAP1
000000e9: POP
000000ea: POP
000000eb: POP
000000ec: PUSH2 0x0727
000000ef: JUMP
000000f0: JUMPDEST
000000f1: PUSH1 0x40
000000f3: MLOAD
000000f4: DUP1
000000f5: DUP3
000000f6: ISZERO
000000f7: ISZERO
000000f8: ISZERO
000000f9: ISZERO
000000fa: DUP2
000000fb: MSTORE
000000fc: PUSH1 0x20
000000fe: ADD
000000ff: SWAP2
00000100: POP
00000101: POP
00000102: PUSH1 0x40
00000104: MLOAD
00000105: DUP1
00000106: SWAP2
00000107: SUB
00000108: SWAP1
00000109: RETURN
0000010a: JUMPDEST
0000010b: PUSH2 0x01e3
0000010e: PUSH1 0x04
00000110: DUP1
00000111: CALLDATASIZE
00000112: SUB
00000113: PUSH1 0x40
00000115: DUP2
00000116: LT
00000117: ISZERO
00000118: PUSH2 0x0120
0000011b: JUMPI
0000011c: PUSH1 0x00
0000011e: DUP1
0000011f: REVERT
00000120: JUMPDEST
00000121: DUP2
00000122: ADD
00000123: SWAP1
00000124: DUP1
00000125: DUP1
00000126: CALLDATALOAD
00000127: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000013c: AND
0000013d: SWAP1
0000013e: PUSH1 0x20
00000140: ADD
00000141: SWAP1
00000142: SWAP3
00000143: SWAP2
00000144: SWAP1
00000145: DUP1
00000146: CALLDATALOAD
00000147: SWAP1
00000148: PUSH1 0x20
0000014a: ADD
0000014b: SWAP1
0000014c: PUSH5 0x0100000000
00000152: DUP2
00000153: GT
00000154: ISZERO
00000155: PUSH2 0x015d
00000158: JUMPI
00000159: PUSH1 0x00
0000015b: DUP1
0000015c: REVERT
0000015d: JUMPDEST
0000015e: DUP3
0000015f: ADD
00000160: DUP4
00000161: PUSH1 0x20
00000163: DUP3
00000164: ADD
00000165: GT
00000166: ISZERO
00000167: PUSH2 0x016f
0000016a: JUMPI
0000016b: PUSH1 0x00
0000016d: DUP1
0000016e: REVERT
0000016f: JUMPDEST
00000170: DUP1
00000171: CALLDATALOAD
00000172: SWAP1
00000173: PUSH1 0x20
00000175: ADD
00000176: SWAP2
00000177: DUP5
00000178: PUSH1 0x01
0000017a: DUP4
0000017b: MUL
0000017c: DUP5
0000017d: ADD
0000017e: GT
0000017f: PUSH5 0x0100000000
00000185: DUP4
00000186: GT
00000187: OR
00000188: ISZERO
00000189: PUSH2 0x0191
0000018c: JUMPI
0000018d: PUSH1 0x00
0000018f: DUP1
00000190: REVERT
00000191: JUMPDEST
00000192: SWAP2
00000193: SWAP1
00000194: DUP1
00000195: DUP1
00000196: PUSH1 0x1f
00000198: ADD
00000199: PUSH1 0x20
0000019b: DUP1
0000019c: SWAP2
0000019d: DIV
0000019e: MUL
0000019f: PUSH1 0x20
000001a1: ADD
000001a2: PUSH1 0x40
000001a4: MLOAD
000001a5: SWAP1
000001a6: DUP2
000001a7: ADD
000001a8: PUSH1 0x40
000001aa: MSTORE
000001ab: DUP1
000001ac: SWAP4
000001ad: SWAP3
000001ae: SWAP2
000001af: SWAP1
000001b0: DUP2
000001b1: DUP2
000001b2: MSTORE
000001b3: PUSH1 0x20
000001b5: ADD
000001b6: DUP4
000001b7: DUP4
000001b8: DUP1
000001b9: DUP3
000001ba: DUP5
000001bb: CALLDATACOPY
000001bc: PUSH1 0x00
000001be: DUP2
000001bf: DUP5
000001c0: ADD
000001c1: MSTORE
000001c2: PUSH1 0x1f
000001c4: NOT
000001c5: PUSH1 0x1f
000001c7: DUP3
000001c8: ADD
000001c9: AND
000001ca: SWAP1
000001cb: POP
000001cc: DUP1
000001cd: DUP4
000001ce: ADD
000001cf: SWAP3
000001d0: POP
000001d1: POP
000001d2: POP
000001d3: POP
000001d4: POP
000001d5: POP
000001d6: POP
000001d7: SWAP2
000001d8: SWAP3
000001d9: SWAP2
000001da: SWAP3
000001db: SWAP1
000001dc: POP
000001dd: POP
000001de: POP
000001df: PUSH2 0x0747
000001e2: JUMP
000001e3: JUMPDEST
000001e4: PUSH1 0x40
000001e6: MLOAD
000001e7: DUP1
000001e8: DUP1
000001e9: PUSH1 0x20
000001eb: ADD
000001ec: DUP3
000001ed: DUP2
000001ee: SUB
000001ef: DUP3
000001f0: MSTORE
000001f1: DUP4
000001f2: DUP2
000001f3: DUP2
000001f4: MLOAD
000001f5: DUP2
000001f6: MSTORE
000001f7: PUSH1 0x20
000001f9: ADD
000001fa: SWAP2
000001fb: POP
000001fc: DUP1
000001fd: MLOAD
000001fe: SWAP1
000001ff: PUSH1 0x20
00000201: ADD
00000202: SWAP1
00000203: DUP1
00000204: DUP4
00000205: DUP4
00000206: PUSH1 0x00
00000208: JUMPDEST
00000209: DUP4
0000020a: DUP2
0000020b: LT
0000020c: ISZERO
0000020d: PUSH2 0x0223
00000210: JUMPI
00000211: DUP1
00000212: DUP3
00000213: ADD
00000214: MLOAD
00000215: DUP2
00000216: DUP5
00000217: ADD
00000218: MSTORE
00000219: PUSH1 0x20
0000021b: DUP2
0000021c: ADD
0000021d: SWAP1
0000021e: POP
0000021f: PUSH2 0x0208
00000222: JUMP
00000223: JUMPDEST
00000224: POP
00000225: POP
00000226: POP
00000227: POP
00000228: SWAP1
00000229: POP
0000022a: SWAP1
0000022b: DUP2
0000022c: ADD
0000022d: SWAP1
0000022e: PUSH1 0x1f
00000230: AND
00000231: DUP1
00000232: ISZERO
00000233: PUSH2 0x0250
00000236: JUMPI
00000237: DUP1
00000238: DUP3
00000239: SUB
0000023a: DUP1
0000023b: MLOAD
0000023c: PUSH1 0x01
0000023e: DUP4
0000023f: PUSH1 0x20
00000241: SUB
00000242: PUSH2 0x0100
00000245: EXP
00000246: SUB
00000247: NOT
00000248: AND
00000249: DUP2
0000024a: MSTORE
0000024b: PUSH1 0x20
0000024d: ADD
0000024e: SWAP2
0000024f: POP
00000250: JUMPDEST
00000251: POP
00000252: SWAP3
00000253: POP
00000254: POP
00000255: POP
00000256: PUSH1 0x40
00000258: MLOAD
00000259: DUP1
0000025a: SWAP2
0000025b: SUB
0000025c: SWAP1
0000025d: RETURN
0000025e: JUMPDEST
0000025f: CALLVALUE
00000260: DUP1
00000261: ISZERO
00000262: PUSH2 0x026a
00000265: JUMPI
00000266: PUSH1 0x00
00000268: DUP1
00000269: REVERT
0000026a: JUMPDEST
0000026b: POP
0000026c: PUSH2 0x0273
0000026f: PUSH2 0x0859
00000272: JUMP
00000273: JUMPDEST
00000274: STOP
00000275: JUMPDEST
00000276: CALLVALUE
00000277: DUP1
00000278: ISZERO
00000279: PUSH2 0x0281
0000027c: JUMPI
0000027d: PUSH1 0x00
0000027f: DUP1
00000280: REVERT
00000281: JUMPDEST
00000282: POP
00000283: PUSH2 0x02ce
00000286: PUSH1 0x04
00000288: DUP1
00000289: CALLDATASIZE
0000028a: SUB
0000028b: PUSH1 0x40
0000028d: DUP2
0000028e: LT
0000028f: ISZERO
00000290: PUSH2 0x0298
00000293: JUMPI
00000294: PUSH1 0x00
00000296: DUP1
00000297: REVERT
00000298: JUMPDEST
00000299: DUP2
0000029a: ADD
0000029b: SWAP1
0000029c: DUP1
0000029d: DUP1
0000029e: CALLDATALOAD
0000029f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002b4: AND
000002b5: SWAP1
000002b6: PUSH1 0x20
000002b8: ADD
000002b9: SWAP1
000002ba: SWAP3
000002bb: SWAP2
000002bc: SWAP1
000002bd: DUP1
000002be: CALLDATALOAD
000002bf: SWAP1
000002c0: PUSH1 0x20
000002c2: ADD
000002c3: SWAP1
000002c4: SWAP3
000002c5: SWAP2
000002c6: SWAP1
000002c7: POP
000002c8: POP
000002c9: POP
000002ca: PUSH2 0x0937
000002cd: JUMP
000002ce: JUMPDEST
000002cf: STOP
000002d0: JUMPDEST
000002d1: CALLVALUE
000002d2: DUP1
000002d3: ISZERO
000002d4: PUSH2 0x02dc
000002d7: JUMPI
000002d8: PUSH1 0x00
000002da: DUP1
000002db: REVERT
000002dc: JUMPDEST
000002dd: POP
000002de: PUSH2 0x0405
000002e1: PUSH1 0x04
000002e3: DUP1
000002e4: CALLDATASIZE
000002e5: SUB
000002e6: PUSH2 0x0180
000002e9: DUP2
000002ea: LT
000002eb: ISZERO
000002ec: PUSH2 0x02f4
000002ef: JUMPI
000002f0: PUSH1 0x00
000002f2: DUP1
000002f3: REVERT
000002f4: JUMPDEST
000002f5: DUP2
000002f6: ADD
000002f7: SWAP1
000002f8: DUP1
000002f9: DUP1
000002fa: CALLDATALOAD
000002fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000310: AND
00000311: SWAP1
00000312: PUSH1 0x20
00000314: ADD
00000315: SWAP1
00000316: SWAP3
00000317: SWAP2
00000318: SWAP1
00000319: DUP1
0000031a: CALLDATALOAD
0000031b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000330: AND
00000331: SWAP1
00000332: PUSH1 0x20
00000334: ADD
00000335: SWAP1
00000336: SWAP3
00000337: SWAP2
00000338: SWAP1
00000339: DUP1
0000033a: CALLDATALOAD
0000033b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000350: AND
00000351: SWAP1
00000352: PUSH1 0x20
00000354: ADD
00000355: SWAP1
00000356: SWAP3
00000357: SWAP2
00000358: SWAP1
00000359: DUP1
0000035a: CALLDATALOAD
0000035b: PUSH1 0x13
0000035d: SIGNEXTEND
0000035e: SWAP1
0000035f: PUSH1 0x20
00000361: ADD
00000362: SWAP1
00000363: SWAP3
00000364: SWAP2
00000365: SWAP1
00000366: DUP1
00000367: CALLDATALOAD
00000368: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000037d: AND
0000037e: SWAP1
0000037f: PUSH1 0x20
00000381: ADD
00000382: SWAP1
00000383: SWAP3
00000384: SWAP2
00000385: SWAP1
00000386: DUP1
00000387: CALLDATALOAD
00000388: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000039d: AND
0000039e: SWAP1
0000039f: PUSH1 0x20
000003a1: ADD
000003a2: SWAP1
000003a3: SWAP3
000003a4: SWAP2
000003a5: SWAP1
000003a6: DUP1
000003a7: CALLDATALOAD
000003a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003bd: AND
000003be: SWAP1
000003bf: PUSH1 0x20
000003c1: ADD
000003c2: SWAP1
000003c3: SWAP3
000003c4: SWAP2
000003c5: SWAP1
000003c6: DUP1
000003c7: CALLDATALOAD
000003c8: SWAP1
000003c9: PUSH1 0x20
000003cb: ADD
000003cc: SWAP1
000003cd: SWAP3
000003ce: SWAP2
000003cf: SWAP1
000003d0: DUP1
000003d1: CALLDATALOAD
000003d2: SWAP1
000003d3: PUSH1 0x20
000003d5: ADD
000003d6: SWAP1
000003d7: SWAP3
000003d8: SWAP2
000003d9: SWAP1
000003da: DUP1
000003db: CALLDATALOAD
000003dc: ISZERO
000003dd: ISZERO
000003de: SWAP1
000003df: PUSH1 0x20
000003e1: ADD
000003e2: SWAP1
000003e3: SWAP3
000003e4: SWAP2
000003e5: SWAP1
000003e6: DUP1
000003e7: CALLDATALOAD
000003e8: ISZERO
000003e9: ISZERO
000003ea: SWAP1
000003eb: PUSH1 0x20
000003ed: ADD
000003ee: SWAP1
000003ef: SWAP3
000003f0: SWAP2
000003f1: SWAP1
000003f2: DUP1
000003f3: CALLDATALOAD
000003f4: ISZERO
000003f5: ISZERO
000003f6: SWAP1
000003f7: PUSH1 0x20
000003f9: ADD
000003fa: SWAP1
000003fb: SWAP3
000003fc: SWAP2
000003fd: SWAP1
000003fe: POP
000003ff: POP
00000400: POP
00000401: PUSH2 0x0a0a
00000404: JUMP
00000405: JUMPDEST
00000406: STOP
00000407: JUMPDEST
00000408: CALLVALUE
00000409: DUP1
0000040a: ISZERO
0000040b: PUSH2 0x0413
0000040e: JUMPI
0000040f: PUSH1 0x00
00000411: DUP1
00000412: REVERT
00000413: JUMPDEST
00000414: POP
00000415: PUSH2 0x0498
00000418: PUSH1 0x04
0000041a: DUP1
0000041b: CALLDATASIZE
0000041c: SUB
0000041d: PUSH1 0xa0
0000041f: DUP2
00000420: LT
00000421: ISZERO
00000422: PUSH2 0x042a
00000425: JUMPI
00000426: PUSH1 0x00
00000428: DUP1
00000429: REVERT
0000042a: JUMPDEST
0000042b: DUP2
0000042c: ADD
0000042d: SWAP1
0000042e: DUP1
0000042f: DUP1
00000430: CALLDATALOAD
00000431: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000446: AND
00000447: SWAP1
00000448: PUSH1 0x20
0000044a: ADD
0000044b: SWAP1
0000044c: SWAP3
0000044d: SWAP2
0000044e: SWAP1
0000044f: DUP1
00000450: CALLDATALOAD
00000451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000466: AND
00000467: SWAP1
00000468: PUSH1 0x20
0000046a: ADD
0000046b: SWAP1
0000046c: SWAP3
0000046d: SWAP2
0000046e: SWAP1
0000046f: DUP1
00000470: CALLDATALOAD
00000471: SWAP1
00000472: PUSH1 0x20
00000474: ADD
00000475: SWAP1
00000476: SWAP3
00000477: SWAP2
00000478: SWAP1
00000479: DUP1
0000047a: CALLDATALOAD
0000047b: ISZERO
0000047c: ISZERO
0000047d: SWAP1
0000047e: PUSH1 0x20
00000480: ADD
00000481: SWAP1
00000482: SWAP3
00000483: SWAP2
00000484: SWAP1
00000485: DUP1
00000486: CALLDATALOAD
00000487: ISZERO
00000488: ISZERO
00000489: SWAP1
0000048a: PUSH1 0x20
0000048c: ADD
0000048d: SWAP1
0000048e: SWAP3
0000048f: SWAP2
00000490: SWAP1
00000491: POP
00000492: POP
00000493: POP
00000494: PUSH2 0x1345
00000497: JUMP
00000498: JUMPDEST
00000499: PUSH1 0x40
0000049b: MLOAD
0000049c: DUP1
0000049d: DUP4
0000049e: DUP2
0000049f: MSTORE
000004a0: PUSH1 0x20
000004a2: ADD
000004a3: DUP3
000004a4: DUP2
000004a5: MSTORE
000004a6: PUSH1 0x20
000004a8: ADD
000004a9: SWAP3
000004aa: POP
000004ab: POP
000004ac: POP
000004ad: PUSH1 0x40
000004af: MLOAD
000004b0: DUP1
000004b1: SWAP2
000004b2: SUB
000004b3: SWAP1
000004b4: RETURN
000004b5: JUMPDEST
000004b6: CALLVALUE
000004b7: DUP1
000004b8: ISZERO
000004b9: PUSH2 0x04c1
000004bc: JUMPI
000004bd: PUSH1 0x00
000004bf: DUP1
000004c0: REVERT
000004c1: JUMPDEST
000004c2: POP
000004c3: PUSH2 0x05de
000004c6: PUSH1 0x04
000004c8: DUP1
000004c9: CALLDATASIZE
000004ca: SUB
000004cb: PUSH2 0x0160
000004ce: DUP2
000004cf: LT
000004d0: ISZERO
000004d1: PUSH2 0x04d9
000004d4: JUMPI
000004d5: PUSH1 0x00
000004d7: DUP1
000004d8: REVERT
000004d9: JUMPDEST
000004da: DUP2
000004db: ADD
000004dc: SWAP1
000004dd: DUP1
000004de: DUP1
000004df: CALLDATALOAD
000004e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004f5: AND
000004f6: SWAP1
000004f7: PUSH1 0x20
000004f9: ADD
000004fa: SWAP1
000004fb: SWAP3
000004fc: SWAP2
000004fd: SWAP1
000004fe: DUP1
000004ff: CALLDATALOAD
00000500: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000515: AND
00000516: SWAP1
00000517: PUSH1 0x20
00000519: ADD
0000051a: SWAP1
0000051b: SWAP3
0000051c: SWAP2
0000051d: SWAP1
0000051e: DUP1
0000051f: CALLDATALOAD
00000520: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000535: AND
00000536: SWAP1
00000537: PUSH1 0x20
00000539: ADD
0000053a: SWAP1
0000053b: SWAP3
0000053c: SWAP2
0000053d: SWAP1
0000053e: DUP1
0000053f: CALLDATALOAD
00000540: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000555: AND
00000556: SWAP1
00000557: PUSH1 0x20
00000559: ADD
0000055a: SWAP1
0000055b: SWAP3
0000055c: SWAP2
0000055d: SWAP1
0000055e: DUP1
0000055f: CALLDATALOAD
00000560: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000575: AND
00000576: SWAP1
00000577: PUSH1 0x20
00000579: ADD
0000057a: SWAP1
0000057b: SWAP3
0000057c: SWAP2
0000057d: SWAP1
0000057e: DUP1
0000057f: CALLDATALOAD
00000580: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000595: AND
00000596: SWAP1
00000597: PUSH1 0x20
00000599: ADD
0000059a: SWAP1
0000059b: SWAP3
0000059c: SWAP2
0000059d: SWAP1
0000059e: DUP1
0000059f: CALLDATALOAD
000005a0: SWAP1
000005a1: PUSH1 0x20
000005a3: ADD
000005a4: SWAP1
000005a5: SWAP3
000005a6: SWAP2
000005a7: SWAP1
000005a8: DUP1
000005a9: CALLDATALOAD
000005aa: SWAP1
000005ab: PUSH1 0x20
000005ad: ADD
000005ae: SWAP1
000005af: SWAP3
000005b0: SWAP2
000005b1: SWAP1
000005b2: DUP1
000005b3: CALLDATALOAD
000005b4: ISZERO
000005b5: ISZERO
000005b6: SWAP1
000005b7: PUSH1 0x20
000005b9: ADD
000005ba: SWAP1
000005bb: SWAP3
000005bc: SWAP2
000005bd: SWAP1
000005be: DUP1
000005bf: CALLDATALOAD
000005c0: ISZERO
000005c1: ISZERO
000005c2: SWAP1
000005c3: PUSH1 0x20
000005c5: ADD
000005c6: SWAP1
000005c7: SWAP3
000005c8: SWAP2
000005c9: SWAP1
000005ca: DUP1
000005cb: CALLDATALOAD
000005cc: PUSH1 0xff
000005ce: AND
000005cf: SWAP1
000005d0: PUSH1 0x20
000005d2: ADD
000005d3: SWAP1
000005d4: SWAP3
000005d5: SWAP2
000005d6: SWAP1
000005d7: POP
000005d8: POP
000005d9: POP
000005da: PUSH2 0x18d8
000005dd: JUMP
000005de: JUMPDEST
000005df: STOP
000005e0: JUMPDEST
000005e1: CALLVALUE
000005e2: DUP1
000005e3: ISZERO
000005e4: PUSH2 0x05ec
000005e7: JUMPI
000005e8: PUSH1 0x00
000005ea: DUP1
000005eb: REVERT
000005ec: JUMPDEST
000005ed: POP
000005ee: PUSH2 0x062f
000005f1: PUSH1 0x04
000005f3: DUP1
000005f4: CALLDATASIZE
000005f5: SUB
000005f6: PUSH1 0x20
000005f8: DUP2
000005f9: LT
000005fa: ISZERO
000005fb: PUSH2 0x0603
000005fe: JUMPI
000005ff: PUSH1 0x00
00000601: DUP1
00000602: REVERT
00000603: JUMPDEST
00000604: DUP2
00000605: ADD
00000606: SWAP1
00000607: DUP1
00000608: DUP1
00000609: CALLDATALOAD
0000060a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000061f: AND
00000620: SWAP1
00000621: PUSH1 0x20
00000623: ADD
00000624: SWAP1
00000625: SWAP3
00000626: SWAP2
00000627: SWAP1
00000628: POP
00000629: POP
0000062a: POP
0000062b: PUSH2 0x1f3a
0000062e: JUMP
0000062f: JUMPDEST
00000630: STOP
00000631: JUMPDEST
00000632: CALLVALUE
00000633: DUP1
00000634: ISZERO
00000635: PUSH2 0x063d
00000638: JUMPI
00000639: PUSH1 0x00
0000063b: DUP1
0000063c: REVERT
0000063d: JUMPDEST
0000063e: POP
0000063f: PUSH2 0x06aa
00000642: PUSH1 0x04
00000644: DUP1
00000645: CALLDATASIZE
00000646: SUB
00000647: PUSH1 0x60
00000649: DUP2
0000064a: LT
0000064b: ISZERO
0000064c: PUSH2 0x0654
0000064f: JUMPI
00000650: PUSH1 0x00
00000652: DUP1
00000653: REVERT
00000654: JUMPDEST
00000655: DUP2
00000656: ADD
00000657: SWAP1
00000658: DUP1
00000659: DUP1
0000065a: CALLDATALOAD
0000065b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000670: AND
00000671: SWAP1
00000672: PUSH1 0x20
00000674: ADD
00000675: SWAP1
00000676: SWAP3
00000677: SWAP2
00000678: SWAP1
00000679: DUP1
0000067a: CALLDATALOAD
0000067b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000690: AND
00000691: SWAP1
00000692: PUSH1 0x20
00000694: ADD
00000695: SWAP1
00000696: SWAP3
00000697: SWAP2
00000698: SWAP1
00000699: DUP1
0000069a: CALLDATALOAD
0000069b: SWAP1
0000069c: PUSH1 0x20
0000069e: ADD
0000069f: SWAP1
000006a0: SWAP3
000006a1: SWAP2
000006a2: SWAP1
000006a3: POP
000006a4: POP
000006a5: POP
000006a6: PUSH2 0x1ff7
000006a9: JUMP
000006aa: JUMPDEST
000006ab: STOP
000006ac: JUMPDEST
000006ad: CALLVALUE
000006ae: DUP1
000006af: ISZERO
000006b0: PUSH2 0x06b8
000006b3: JUMPI
000006b4: PUSH1 0x00
000006b6: DUP1
000006b7: REVERT
000006b8: JUMPDEST
000006b9: POP
000006ba: PUSH2 0x0711
000006bd: PUSH1 0x04
000006bf: DUP1
000006c0: CALLDATASIZE
000006c1: SUB
000006c2: PUSH1 0x60
000006c4: DUP2
000006c5: LT
000006c6: ISZERO
000006c7: PUSH2 0x06cf
000006ca: JUMPI
000006cb: PUSH1 0x00
000006cd: DUP1
000006ce: REVERT
000006cf: JUMPDEST
000006d0: DUP2
000006d1: ADD
000006d2: SWAP1
000006d3: DUP1
000006d4: DUP1
000006d5: CALLDATALOAD
000006d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006eb: AND
000006ec: SWAP1
000006ed: PUSH1 0x20
000006ef: ADD
000006f0: SWAP1
000006f1: SWAP3
000006f2: SWAP2
000006f3: SWAP1
000006f4: DUP1
000006f5: CALLDATALOAD
000006f6: SWAP1
000006f7: PUSH1 0x20
000006f9: ADD
000006fa: SWAP1
000006fb: SWAP3
000006fc: SWAP2
000006fd: SWAP1
000006fe: DUP1
000006ff: CALLDATALOAD
00000700: ISZERO
00000701: ISZERO
00000702: SWAP1
00000703: PUSH1 0x20
00000705: ADD
00000706: SWAP1
00000707: SWAP3
00000708: SWAP2
00000709: SWAP1
0000070a: POP
0000070b: POP
0000070c: POP
0000070d: PUSH2 0x20cc
00000710: JUMP
00000711: JUMPDEST
00000712: PUSH1 0x40
00000714: MLOAD
00000715: DUP1
00000716: DUP3
00000717: DUP2
00000718: MSTORE
00000719: PUSH1 0x20
0000071b: ADD
0000071c: SWAP2
0000071d: POP
0000071e: POP
0000071f: PUSH1 0x40
00000721: MLOAD
00000722: DUP1
00000723: SWAP2
00000724: SUB
00000725: SWAP1
00000726: RETURN
00000727: JUMPDEST
00000728: PUSH1 0x00
0000072a: PUSH1 0x20
0000072c: MSTORE
0000072d: DUP1
0000072e: PUSH1 0x00
00000730: MSTORE
00000731: PUSH1 0x40
00000733: PUSH1 0x00
00000735: KECCAK256
00000736: PUSH1 0x00
00000738: SWAP2
00000739: POP
0000073a: SLOAD
0000073b: SWAP1
0000073c: PUSH2 0x0100
0000073f: EXP
00000740: SWAP1
00000741: DIV
00000742: PUSH1 0xff
00000744: AND
00000745: DUP2
00000746: JUMP
00000747: JUMPDEST
00000748: PUSH1 0x60
0000074a: PUSH1 0x01
0000074c: ISZERO
0000074d: ISZERO
0000074e: PUSH1 0x00
00000750: DUP1
00000751: CALLER
00000752: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000767: AND
00000768: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000077d: AND
0000077e: DUP2
0000077f: MSTORE
00000780: PUSH1 0x20
00000782: ADD
00000783: SWAP1
00000784: DUP2
00000785: MSTORE
00000786: PUSH1 0x20
00000788: ADD
00000789: PUSH1 0x00
0000078b: KECCAK256
0000078c: PUSH1 0x00
0000078e: SWAP1
0000078f: SLOAD
00000790: SWAP1
00000791: PUSH2 0x0100
00000794: EXP
00000795: SWAP1
00000796: DIV
00000797: PUSH1 0xff
00000799: AND
0000079a: ISZERO
0000079b: ISZERO
0000079c: EQ
0000079d: PUSH2 0x080e
000007a0: JUMPI
000007a1: PUSH1 0x40
000007a3: MLOAD
000007a4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000007c5: DUP2
000007c6: MSTORE
000007c7: PUSH1 0x04
000007c9: ADD
000007ca: DUP1
000007cb: DUP1
000007cc: PUSH1 0x20
000007ce: ADD
000007cf: DUP3
000007d0: DUP2
000007d1: SUB
000007d2: DUP3
000007d3: MSTORE
000007d4: PUSH1 0x02
000007d6: DUP2
000007d7: MSTORE
000007d8: PUSH1 0x20
000007da: ADD
000007db: DUP1
000007dc: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
000007fd: DUP2
000007fe: MSTORE
000007ff: POP
00000800: PUSH1 0x20
00000802: ADD
00000803: SWAP2
00000804: POP
00000805: POP
00000806: PUSH1 0x40
00000808: MLOAD
00000809: DUP1
0000080a: SWAP2
0000080b: SUB
0000080c: SWAP1
0000080d: REVERT
0000080e: JUMPDEST
0000080f: PUSH1 0x00
00000811: DUP1
00000812: DUP4
00000813: MLOAD
00000814: PUSH1 0x20
00000816: DUP6
00000817: ADD
00000818: DUP7
00000819: GAS
0000081a: DELEGATECALL
0000081b: DUP1
0000081c: ISZERO
0000081d: PUSH1 0x01
0000081f: DUP2
00000820: EQ
00000821: PUSH2 0x0829
00000824: JUMPI
00000825: PUSH2 0x0851
00000828: JUMP
00000829: JUMPDEST
0000082a: RETURNDATASIZE
0000082b: PUSH1 0x40
0000082d: MLOAD
0000082e: SWAP4
0000082f: POP
00000830: PUSH1 0x1f
00000832: NOT
00000833: PUSH1 0x1f
00000835: PUSH1 0x20
00000837: DUP4
00000838: ADD
00000839: ADD
0000083a: AND
0000083b: DUP5
0000083c: ADD
0000083d: PUSH1 0x40
0000083f: MSTORE
00000840: DUP1
00000841: DUP5
00000842: MSTORE
00000843: DUP1
00000844: PUSH1 0x00
00000846: PUSH1 0x20
00000848: DUP7
00000849: ADD
0000084a: RETURNDATACOPY
0000084b: DUP1
0000084c: PUSH1 0x20
0000084e: DUP6
0000084f: ADD
00000850: REVERT
00000851: JUMPDEST
00000852: POP
00000853: POP
00000854: SWAP3
00000855: SWAP2
00000856: POP
00000857: POP
00000858: JUMP
00000859: JUMPDEST
0000085a: PUSH1 0x01
0000085c: ISZERO
0000085d: ISZERO
0000085e: PUSH1 0x00
00000860: DUP1
00000861: CALLER
00000862: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000877: AND
00000878: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000088d: AND
0000088e: DUP2
0000088f: MSTORE
00000890: PUSH1 0x20
00000892: ADD
00000893: SWAP1
00000894: DUP2
00000895: MSTORE
00000896: PUSH1 0x20
00000898: ADD
00000899: PUSH1 0x00
0000089b: KECCAK256
0000089c: PUSH1 0x00
0000089e: SWAP1
0000089f: SLOAD
000008a0: SWAP1
000008a1: PUSH2 0x0100
000008a4: EXP
000008a5: SWAP1
000008a6: DIV
000008a7: PUSH1 0xff
000008a9: AND
000008aa: ISZERO
000008ab: ISZERO
000008ac: EQ
000008ad: PUSH2 0x091e
000008b0: JUMPI
000008b1: PUSH1 0x40
000008b3: MLOAD
000008b4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000008d5: DUP2
000008d6: MSTORE
000008d7: PUSH1 0x04
000008d9: ADD
000008da: DUP1
000008db: DUP1
000008dc: PUSH1 0x20
000008de: ADD
000008df: DUP3
000008e0: DUP2
000008e1: SUB
000008e2: DUP3
000008e3: MSTORE
000008e4: PUSH1 0x02
000008e6: DUP2
000008e7: MSTORE
000008e8: PUSH1 0x20
000008ea: ADD
000008eb: DUP1
000008ec: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
0000090d: DUP2
0000090e: MSTORE
0000090f: POP
00000910: PUSH1 0x20
00000912: ADD
00000913: SWAP2
00000914: POP
00000915: POP
00000916: PUSH1 0x40
00000918: MLOAD
00000919: DUP1
0000091a: SWAP2
0000091b: SUB
0000091c: SWAP1
0000091d: REVERT
0000091e: JUMPDEST
0000091f: CALLER
00000920: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000935: AND
00000936: SELFDESTRUCT
00000937: JUMPDEST
00000938: PUSH1 0x01
0000093a: ISZERO
0000093b: ISZERO
0000093c: PUSH1 0x00
0000093e: DUP1
0000093f: CALLER
00000940: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000955: AND
00000956: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000096b: AND
0000096c: DUP2
0000096d: MSTORE
0000096e: PUSH1 0x20
00000970: ADD
00000971: SWAP1
00000972: DUP2
00000973: MSTORE
00000974: PUSH1 0x20
00000976: ADD
00000977: PUSH1 0x00
00000979: KECCAK256
0000097a: PUSH1 0x00
0000097c: SWAP1
0000097d: SLOAD
0000097e: SWAP1
0000097f: PUSH2 0x0100
00000982: EXP
00000983: SWAP1
00000984: DIV
00000985: PUSH1 0xff
00000987: AND
00000988: ISZERO
00000989: ISZERO
0000098a: EQ
0000098b: PUSH2 0x09fc
0000098e: JUMPI
0000098f: PUSH1 0x40
00000991: MLOAD
00000992: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000009b3: DUP2
000009b4: MSTORE
000009b5: PUSH1 0x04
000009b7: ADD
000009b8: DUP1
000009b9: DUP1
000009ba: PUSH1 0x20
000009bc: ADD
000009bd: DUP3
000009be: DUP2
000009bf: SUB
000009c0: DUP3
000009c1: MSTORE
000009c2: PUSH1 0x02
000009c4: DUP2
000009c5: MSTORE
000009c6: PUSH1 0x20
000009c8: ADD
000009c9: DUP1
000009ca: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
000009eb: DUP2
000009ec: MSTORE
000009ed: POP
000009ee: PUSH1 0x20
000009f0: ADD
000009f1: SWAP2
000009f2: POP
000009f3: POP
000009f4: PUSH1 0x40
000009f6: MLOAD
000009f7: DUP1
000009f8: SWAP2
000009f9: SUB
000009fa: SWAP1
000009fb: REVERT
000009fc: JUMPDEST
000009fd: PUSH2 0x0a06
00000a00: DUP3
00000a01: DUP3
00000a02: PUSH2 0x22a3
00000a05: JUMP
00000a06: JUMPDEST
00000a07: POP
00000a08: POP
00000a09: JUMP
00000a0a: JUMPDEST
00000a0b: PUSH1 0x01
00000a0d: ISZERO
00000a0e: ISZERO
00000a0f: PUSH1 0x00
00000a11: DUP1
00000a12: CALLER
00000a13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a28: AND
00000a29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a3e: AND
00000a3f: DUP2
00000a40: MSTORE
00000a41: PUSH1 0x20
00000a43: ADD
00000a44: SWAP1
00000a45: DUP2
00000a46: MSTORE
00000a47: PUSH1 0x20
00000a49: ADD
00000a4a: PUSH1 0x00
00000a4c: KECCAK256
00000a4d: PUSH1 0x00
00000a4f: SWAP1
00000a50: SLOAD
00000a51: SWAP1
00000a52: PUSH2 0x0100
00000a55: EXP
00000a56: SWAP1
00000a57: DIV
00000a58: PUSH1 0xff
00000a5a: AND
00000a5b: ISZERO
00000a5c: ISZERO
00000a5d: EQ
00000a5e: PUSH2 0x0acf
00000a61: JUMPI
00000a62: PUSH1 0x40
00000a64: MLOAD
00000a65: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a86: DUP2
00000a87: MSTORE
00000a88: PUSH1 0x04
00000a8a: ADD
00000a8b: DUP1
00000a8c: DUP1
00000a8d: PUSH1 0x20
00000a8f: ADD
00000a90: DUP3
00000a91: DUP2
00000a92: SUB
00000a93: DUP3
00000a94: MSTORE
00000a95: PUSH1 0x02
00000a97: DUP2
00000a98: MSTORE
00000a99: PUSH1 0x20
00000a9b: ADD
00000a9c: DUP1
00000a9d: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
00000abe: DUP2
00000abf: MSTORE
00000ac0: POP
00000ac1: PUSH1 0x20
00000ac3: ADD
00000ac4: SWAP2
00000ac5: POP
00000ac6: POP
00000ac7: PUSH1 0x40
00000ac9: MLOAD
00000aca: DUP1
00000acb: SWAP2
00000acc: SUB
00000acd: SWAP1
00000ace: REVERT
00000acf: JUMPDEST
00000ad0: PUSH1 0x00
00000ad2: DUP9
00000ad3: DUP14
00000ad4: ADD
00000ad5: SWAP1
00000ad6: POP
00000ad7: PUSH1 0x00
00000ad9: DUP10
00000ada: DUP14
00000adb: ADD
00000adc: SWAP1
00000add: POP
00000ade: PUSH1 0x00
00000ae0: DUP1
00000ae1: PUSH2 0x0aed
00000ae4: DUP5
00000ae5: DUP5
00000ae6: DUP12
00000ae7: DUP11
00000ae8: DUP11
00000ae9: PUSH2 0x1345
00000aec: JUMP
00000aed: JUMPDEST
00000aee: SWAP2
00000aef: POP
00000af0: SWAP2
00000af1: POP
00000af2: DUP8
00000af3: DUP2
00000af4: LT
00000af5: ISZERO
00000af6: PUSH2 0x0b67
00000af9: JUMPI
00000afa: PUSH1 0x40
00000afc: MLOAD
00000afd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b1e: DUP2
00000b1f: MSTORE
00000b20: PUSH1 0x04
00000b22: ADD
00000b23: DUP1
00000b24: DUP1
00000b25: PUSH1 0x20
00000b27: ADD
00000b28: DUP3
00000b29: DUP2
00000b2a: SUB
00000b2b: DUP3
00000b2c: MSTORE
00000b2d: PUSH1 0x02
00000b2f: DUP2
00000b30: MSTORE
00000b31: PUSH1 0x20
00000b33: ADD
00000b34: DUP1
00000b35: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
00000b56: DUP2
00000b57: MSTORE
00000b58: POP
00000b59: PUSH1 0x20
00000b5b: ADD
00000b5c: SWAP2
00000b5d: POP
00000b5e: POP
00000b5f: PUSH1 0x40
00000b61: MLOAD
00000b62: DUP1
00000b63: SWAP2
00000b64: SUB
00000b65: SWAP1
00000b66: REVERT
00000b67: JUMPDEST
00000b68: DUP5
00000b69: ISZERO
00000b6a: PUSH2 0x0bde
00000b6d: JUMPI
00000b6e: DUP11
00000b6f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b84: AND
00000b85: PUSH4 0xd0e30db0
00000b8a: DUP11
00000b8b: PUSH1 0x40
00000b8d: MLOAD
00000b8e: DUP3
00000b8f: PUSH4 0xffffffff
00000b94: AND
00000b95: PUSH1 0xe0
00000b97: SHL
00000b98: DUP2
00000b99: MSTORE
00000b9a: PUSH1 0x04
00000b9c: ADD
00000b9d: PUSH1 0x00
00000b9f: PUSH1 0x40
00000ba1: MLOAD
00000ba2: DUP1
00000ba3: DUP4
00000ba4: SUB
00000ba5: DUP2
00000ba6: DUP6
00000ba7: DUP9
00000ba8: DUP1
00000ba9: EXTCODESIZE
00000baa: ISZERO
00000bab: DUP1
00000bac: ISZERO
00000bad: PUSH2 0x0bb5
00000bb0: JUMPI
00000bb1: PUSH1 0x00
00000bb3: DUP1
00000bb4: REVERT
00000bb5: JUMPDEST
00000bb6: POP
00000bb7: GAS
00000bb8: CALL
00000bb9: ISZERO
00000bba: DUP1
00000bbb: ISZERO
00000bbc: PUSH2 0x0bc9
00000bbf: JUMPI
00000bc0: RETURNDATASIZE
00000bc1: PUSH1 0x00
00000bc3: DUP1
00000bc4: RETURNDATACOPY
00000bc5: RETURNDATASIZE
00000bc6: PUSH1 0x00
00000bc8: REVERT
00000bc9: JUMPDEST
00000bca: POP
00000bcb: POP
00000bcc: POP
00000bcd: POP
00000bce: POP
00000bcf: PUSH2 0x0bd9
00000bd2: DUP12
00000bd3: DUP6
00000bd4: DUP12
00000bd5: PUSH2 0x2402
00000bd8: JUMP
00000bd9: JUMPDEST
00000bda: PUSH2 0x0c8d
00000bdd: JUMP
00000bde: JUMPDEST
00000bdf: DUP10
00000be0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bf5: AND
00000bf6: ADDRESS
00000bf7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c0c: AND
00000c0d: EQ
00000c0e: PUSH2 0x0c7f
00000c11: JUMPI
00000c12: PUSH1 0x40
00000c14: MLOAD
00000c15: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c36: DUP2
00000c37: MSTORE
00000c38: PUSH1 0x04
00000c3a: ADD
00000c3b: DUP1
00000c3c: DUP1
00000c3d: PUSH1 0x20
00000c3f: ADD
00000c40: DUP3
00000c41: DUP2
00000c42: SUB
00000c43: DUP3
00000c44: MSTORE
00000c45: PUSH1 0x02
00000c47: DUP2
00000c48: MSTORE
00000c49: PUSH1 0x20
00000c4b: ADD
00000c4c: DUP1
00000c4d: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
00000c6e: DUP2
00000c6f: MSTORE
00000c70: POP
00000c71: PUSH1 0x20
00000c73: ADD
00000c74: SWAP2
00000c75: POP
00000c76: POP
00000c77: PUSH1 0x40
00000c79: MLOAD
00000c7a: DUP1
00000c7b: SWAP2
00000c7c: SUB
00000c7d: SWAP1
00000c7e: REVERT
00000c7f: JUMPDEST
00000c80: PUSH2 0x0c8c
00000c83: DUP13
00000c84: DUP16
00000c85: ADD
00000c86: DUP6
00000c87: DUP12
00000c88: PUSH2 0x2402
00000c8b: JUMP
00000c8c: JUMPDEST
00000c8d: JUMPDEST
00000c8e: DUP7
00000c8f: ISZERO
00000c90: PUSH2 0x0df8
00000c93: JUMPI
00000c94: DUP4
00000c95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000caa: AND
00000cab: PUSH4 0x022c0d9f
00000cb0: DUP4
00000cb1: PUSH1 0x00
00000cb3: DUP7
00000cb4: PUSH1 0x00
00000cb6: PUSH8 0xffffffffffffffff
00000cbf: DUP2
00000cc0: GT
00000cc1: DUP1
00000cc2: ISZERO
00000cc3: PUSH2 0x0ccb
00000cc6: JUMPI
00000cc7: PUSH1 0x00
00000cc9: DUP1
00000cca: REVERT
00000ccb: JUMPDEST
00000ccc: POP
00000ccd: PUSH1 0x40
00000ccf: MLOAD
00000cd0: SWAP1
00000cd1: DUP1
00000cd2: DUP3
00000cd3: MSTORE
00000cd4: DUP1
00000cd5: PUSH1 0x1f
00000cd7: ADD
00000cd8: PUSH1 0x1f
00000cda: NOT
00000cdb: AND
00000cdc: PUSH1 0x20
00000cde: ADD
00000cdf: DUP3
00000ce0: ADD
00000ce1: PUSH1 0x40
00000ce3: MSTORE
00000ce4: DUP1
00000ce5: ISZERO
00000ce6: PUSH2 0x0cfe
00000ce9: JUMPI
00000cea: DUP2
00000ceb: PUSH1 0x20
00000ced: ADD
00000cee: PUSH1 0x01
00000cf0: DUP3
00000cf1: MUL
00000cf2: DUP1
00000cf3: CALLDATASIZE
00000cf4: DUP4
00000cf5: CALLDATACOPY
00000cf6: DUP1
00000cf7: DUP3
00000cf8: ADD
00000cf9: SWAP2
00000cfa: POP
00000cfb: POP
00000cfc: SWAP1
00000cfd: POP
00000cfe: JUMPDEST
00000cff: POP
00000d00: PUSH1 0x40
00000d02: MLOAD
00000d03: DUP6
00000d04: PUSH4 0xffffffff
00000d09: AND
00000d0a: PUSH1 0xe0
00000d0c: SHL
00000d0d: DUP2
00000d0e: MSTORE
00000d0f: PUSH1 0x04
00000d11: ADD
00000d12: DUP1
00000d13: DUP6
00000d14: DUP2
00000d15: MSTORE
00000d16: PUSH1 0x20
00000d18: ADD
00000d19: DUP5
00000d1a: DUP2
00000d1b: MSTORE
00000d1c: PUSH1 0x20
00000d1e: ADD
00000d1f: DUP4
00000d20: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d35: AND
00000d36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d4b: AND
00000d4c: DUP2
00000d4d: MSTORE
00000d4e: PUSH1 0x20
00000d50: ADD
00000d51: DUP1
00000d52: PUSH1 0x20
00000d54: ADD
00000d55: DUP3
00000d56: DUP2
00000d57: SUB
00000d58: DUP3
00000d59: MSTORE
00000d5a: DUP4
00000d5b: DUP2
00000d5c: DUP2
00000d5d: MLOAD
00000d5e: DUP2
00000d5f: MSTORE
00000d60: PUSH1 0x20
00000d62: ADD
00000d63: SWAP2
00000d64: POP
00000d65: DUP1
00000d66: MLOAD
00000d67: SWAP1
00000d68: PUSH1 0x20
00000d6a: ADD
00000d6b: SWAP1
00000d6c: DUP1
00000d6d: DUP4
00000d6e: DUP4
00000d6f: PUSH1 0x00
00000d71: JUMPDEST
00000d72: DUP4
00000d73: DUP2
00000d74: LT
00000d75: ISZERO
00000d76: PUSH2 0x0d8c
00000d79: JUMPI
00000d7a: DUP1
00000d7b: DUP3
00000d7c: ADD
00000d7d: MLOAD
00000d7e: DUP2
00000d7f: DUP5
00000d80: ADD
00000d81: MSTORE
00000d82: PUSH1 0x20
00000d84: DUP2
00000d85: ADD
00000d86: SWAP1
00000d87: POP
00000d88: PUSH2 0x0d71
00000d8b: JUMP
00000d8c: JUMPDEST
00000d8d: POP
00000d8e: POP
00000d8f: POP
00000d90: POP
00000d91: SWAP1
00000d92: POP
00000d93: SWAP1
00000d94: DUP2
00000d95: ADD
00000d96: SWAP1
00000d97: PUSH1 0x1f
00000d99: AND
00000d9a: DUP1
00000d9b: ISZERO
00000d9c: PUSH2 0x0db9
00000d9f: JUMPI
00000da0: DUP1
00000da1: DUP3
00000da2: SUB
00000da3: DUP1
00000da4: MLOAD
00000da5: PUSH1 0x01
00000da7: DUP4
00000da8: PUSH1 0x20
00000daa: SUB
00000dab: PUSH2 0x0100
00000dae: EXP
00000daf: SUB
00000db0: NOT
00000db1: AND
00000db2: DUP2
00000db3: MSTORE
00000db4: PUSH1 0x20
00000db6: ADD
00000db7: SWAP2
00000db8: POP
00000db9: JUMPDEST
00000dba: POP
00000dbb: SWAP6
00000dbc: POP
00000dbd: POP
00000dbe: POP
00000dbf: POP
00000dc0: POP
00000dc1: POP
00000dc2: PUSH1 0x00
00000dc4: PUSH1 0x40
00000dc6: MLOAD
00000dc7: DUP1
00000dc8: DUP4
00000dc9: SUB
00000dca: DUP2
00000dcb: PUSH1 0x00
00000dcd: DUP8
00000dce: DUP1
00000dcf: EXTCODESIZE
00000dd0: ISZERO
00000dd1: DUP1
00000dd2: ISZERO
00000dd3: PUSH2 0x0ddb
00000dd6: JUMPI
00000dd7: PUSH1 0x00
00000dd9: DUP1
00000dda: REVERT
00000ddb: JUMPDEST
00000ddc: POP
00000ddd: GAS
00000dde: CALL
00000ddf: ISZERO
00000de0: DUP1
00000de1: ISZERO
00000de2: PUSH2 0x0def
00000de5: JUMPI
00000de6: RETURNDATASIZE
00000de7: PUSH1 0x00
00000de9: DUP1
00000dea: RETURNDATACOPY
00000deb: RETURNDATASIZE
00000dec: PUSH1 0x00
00000dee: REVERT
00000def: JUMPDEST
00000df0: POP
00000df1: POP
00000df2: POP
00000df3: POP
00000df4: PUSH2 0x0f59
00000df7: JUMP
00000df8: JUMPDEST
00000df9: DUP4
00000dfa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e0f: AND
00000e10: PUSH4 0x022c0d9f
00000e15: PUSH1 0x00
00000e17: DUP5
00000e18: DUP7
00000e19: PUSH1 0x00
00000e1b: PUSH8 0xffffffffffffffff
00000e24: DUP2
00000e25: GT
00000e26: DUP1
00000e27: ISZERO
00000e28: PUSH2 0x0e30
00000e2b: JUMPI
00000e2c: PUSH1 0x00
00000e2e: DUP1
00000e2f: REVERT
00000e30: JUMPDEST
00000e31: POP
00000e32: PUSH1 0x40
00000e34: MLOAD
00000e35: SWAP1
00000e36: DUP1
00000e37: DUP3
00000e38: MSTORE
00000e39: DUP1
00000e3a: PUSH1 0x1f
00000e3c: ADD
00000e3d: PUSH1 0x1f
00000e3f: NOT
00000e40: AND
00000e41: PUSH1 0x20
00000e43: ADD
00000e44: DUP3
00000e45: ADD
00000e46: PUSH1 0x40
00000e48: MSTORE
00000e49: DUP1
00000e4a: ISZERO
00000e4b: PUSH2 0x0e63
00000e4e: JUMPI
00000e4f: DUP2
00000e50: PUSH1 0x20
00000e52: ADD
00000e53: PUSH1 0x01
00000e55: DUP3
00000e56: MUL
00000e57: DUP1
00000e58: CALLDATASIZE
00000e59: DUP4
00000e5a: CALLDATACOPY
00000e5b: DUP1
00000e5c: DUP3
00000e5d: ADD
00000e5e: SWAP2
00000e5f: POP
00000e60: POP
00000e61: SWAP1
00000e62: POP
00000e63: JUMPDEST
00000e64: POP
00000e65: PUSH1 0x40
00000e67: MLOAD
00000e68: DUP6
00000e69: PUSH4 0xffffffff
00000e6e: AND
00000e6f: PUSH1 0xe0
00000e71: SHL
00000e72: DUP2
00000e73: MSTORE
00000e74: PUSH1 0x04
00000e76: ADD
00000e77: DUP1
00000e78: DUP6
00000e79: DUP2
00000e7a: MSTORE
00000e7b: PUSH1 0x20
00000e7d: ADD
00000e7e: DUP5
00000e7f: DUP2
00000e80: MSTORE
00000e81: PUSH1 0x20
00000e83: ADD
00000e84: DUP4
00000e85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e9a: AND
00000e9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eb0: AND
00000eb1: DUP2
00000eb2: MSTORE
00000eb3: PUSH1 0x20
00000eb5: ADD
00000eb6: DUP1
00000eb7: PUSH1 0x20
00000eb9: ADD
00000eba: DUP3
00000ebb: DUP2
00000ebc: SUB
00000ebd: DUP3
00000ebe: MSTORE
00000ebf: DUP4
00000ec0: DUP2
00000ec1: DUP2
00000ec2: MLOAD
00000ec3: DUP2
00000ec4: MSTORE
00000ec5: PUSH1 0x20
00000ec7: ADD
00000ec8: SWAP2
00000ec9: POP
00000eca: DUP1
00000ecb: MLOAD
00000ecc: SWAP1
00000ecd: PUSH1 0x20
00000ecf: ADD
00000ed0: SWAP1
00000ed1: DUP1
00000ed2: DUP4
00000ed3: DUP4
00000ed4: PUSH1 0x00
00000ed6: JUMPDEST
00000ed7: DUP4
00000ed8: DUP2
00000ed9: LT
00000eda: ISZERO
00000edb: PUSH2 0x0ef1
00000ede: JUMPI
00000edf: DUP1
00000ee0: DUP3
00000ee1: ADD
00000ee2: MLOAD
00000ee3: DUP2
00000ee4: DUP5
00000ee5: ADD
00000ee6: MSTORE
00000ee7: PUSH1 0x20
00000ee9: DUP2
00000eea: ADD
00000eeb: SWAP1
00000eec: POP
00000eed: PUSH2 0x0ed6
00000ef0: JUMP
00000ef1: JUMPDEST
00000ef2: POP
00000ef3: POP
00000ef4: POP
00000ef5: POP
00000ef6: SWAP1
00000ef7: POP
00000ef8: SWAP1
00000ef9: DUP2
00000efa: ADD
00000efb: SWAP1
00000efc: PUSH1 0x1f
00000efe: AND
00000eff: DUP1
00000f00: ISZERO
00000f01: PUSH2 0x0f1e
00000f04: JUMPI
00000f05: DUP1
00000f06: DUP3
00000f07: SUB
00000f08: DUP1
00000f09: MLOAD
00000f0a: PUSH1 0x01
00000f0c: DUP4
00000f0d: PUSH1 0x20
00000f0f: SUB
00000f10: PUSH2 0x0100
00000f13: EXP
00000f14: SUB
00000f15: NOT
00000f16: AND
00000f17: DUP2
00000f18: MSTORE
00000f19: PUSH1 0x20
00000f1b: ADD
00000f1c: SWAP2
00000f1d: POP
00000f1e: JUMPDEST
00000f1f: POP
00000f20: SWAP6
00000f21: POP
00000f22: POP
00000f23: POP
00000f24: POP
00000f25: POP
00000f26: POP
00000f27: PUSH1 0x00
00000f29: PUSH1 0x40
00000f2b: MLOAD
00000f2c: DUP1
00000f2d: DUP4
00000f2e: SUB
00000f2f: DUP2
00000f30: PUSH1 0x00
00000f32: DUP8
00000f33: DUP1
00000f34: EXTCODESIZE
00000f35: ISZERO
00000f36: DUP1
00000f37: ISZERO
00000f38: PUSH2 0x0f40
00000f3b: JUMPI
00000f3c: PUSH1 0x00
00000f3e: DUP1
00000f3f: REVERT
00000f40: JUMPDEST
00000f41: POP
00000f42: GAS
00000f43: CALL
00000f44: ISZERO
00000f45: DUP1
00000f46: ISZERO
00000f47: PUSH2 0x0f54
00000f4a: JUMPI
00000f4b: RETURNDATASIZE
00000f4c: PUSH1 0x00
00000f4e: DUP1
00000f4f: RETURNDATACOPY
00000f50: RETURNDATASIZE
00000f51: PUSH1 0x00
00000f53: REVERT
00000f54: JUMPDEST
00000f55: POP
00000f56: POP
00000f57: POP
00000f58: POP
00000f59: JUMPDEST
00000f5a: DUP6
00000f5b: ISZERO
00000f5c: PUSH2 0x10c4
00000f5f: JUMPI
00000f60: DUP3
00000f61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f76: AND
00000f77: PUSH4 0x022c0d9f
00000f7c: DUP3
00000f7d: PUSH1 0x00
00000f7f: DUP14
00000f80: PUSH1 0x00
00000f82: PUSH8 0xffffffffffffffff
00000f8b: DUP2
00000f8c: GT
00000f8d: DUP1
00000f8e: ISZERO
00000f8f: PUSH2 0x0f97
00000f92: JUMPI
00000f93: PUSH1 0x00
00000f95: DUP1
00000f96: REVERT
00000f97: JUMPDEST
00000f98: POP
00000f99: PUSH1 0x40
00000f9b: MLOAD
00000f9c: SWAP1
00000f9d: DUP1
00000f9e: DUP3
00000f9f: MSTORE
00000fa0: DUP1
00000fa1: PUSH1 0x1f
00000fa3: ADD
00000fa4: PUSH1 0x1f
00000fa6: NOT
00000fa7: AND
00000fa8: PUSH1 0x20
00000faa: ADD
00000fab: DUP3
00000fac: ADD
00000fad: PUSH1 0x40
00000faf: MSTORE
00000fb0: DUP1
00000fb1: ISZERO
00000fb2: PUSH2 0x0fca
00000fb5: JUMPI
00000fb6: DUP2
00000fb7: PUSH1 0x20
00000fb9: ADD
00000fba: PUSH1 0x01
00000fbc: DUP3
00000fbd: MUL
00000fbe: DUP1
00000fbf: CALLDATASIZE
00000fc0: DUP4
00000fc1: CALLDATACOPY
00000fc2: DUP1
00000fc3: DUP3
00000fc4: ADD
00000fc5: SWAP2
00000fc6: POP
00000fc7: POP
00000fc8: SWAP1
00000fc9: POP
00000fca: JUMPDEST
00000fcb: POP
00000fcc: PUSH1 0x40
00000fce: MLOAD
00000fcf: DUP6
00000fd0: PUSH4 0xffffffff
00000fd5: AND
00000fd6: PUSH1 0xe0
00000fd8: SHL
00000fd9: DUP2
00000fda: MSTORE
00000fdb: PUSH1 0x04
00000fdd: ADD
00000fde: DUP1
00000fdf: DUP6
00000fe0: DUP2
00000fe1: MSTORE
00000fe2: PUSH1 0x20
00000fe4: ADD
00000fe5: DUP5
00000fe6: DUP2
00000fe7: MSTORE
00000fe8: PUSH1 0x20
00000fea: ADD
00000feb: DUP4
00000fec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001001: AND
00001002: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001017: AND
00001018: DUP2
00001019: MSTORE
0000101a: PUSH1 0x20
0000101c: ADD
0000101d: DUP1
0000101e: PUSH1 0x20
00001020: ADD
00001021: DUP3
00001022: DUP2
00001023: SUB
00001024: DUP3
00001025: MSTORE
00001026: DUP4
00001027: DUP2
00001028: DUP2
00001029: MLOAD
0000102a: DUP2
0000102b: MSTORE
0000102c: PUSH1 0x20
0000102e: ADD
0000102f: SWAP2
00001030: POP
00001031: DUP1
00001032: MLOAD
00001033: SWAP1
00001034: PUSH1 0x20
00001036: ADD
00001037: SWAP1
00001038: DUP1
00001039: DUP4
0000103a: DUP4
0000103b: PUSH1 0x00
0000103d: JUMPDEST
0000103e: DUP4
0000103f: DUP2
00001040: LT
00001041: ISZERO
00001042: PUSH2 0x1058
00001045: JUMPI
00001046: DUP1
00001047: DUP3
00001048: ADD
00001049: MLOAD
0000104a: DUP2
0000104b: DUP5
0000104c: ADD
0000104d: MSTORE
0000104e: PUSH1 0x20
00001050: DUP2
00001051: ADD
00001052: SWAP1
00001053: POP
00001054: PUSH2 0x103d
00001057: JUMP
00001058: JUMPDEST
00001059: POP
0000105a: POP
0000105b: POP
0000105c: POP
0000105d: SWAP1
0000105e: POP
0000105f: SWAP1
00001060: DUP2
00001061: ADD
00001062: SWAP1
00001063: PUSH1 0x1f
00001065: AND
00001066: DUP1
00001067: ISZERO
00001068: PUSH2 0x1085
0000106b: JUMPI
0000106c: DUP1
0000106d: DUP3
0000106e: SUB
0000106f: DUP1
00001070: MLOAD
00001071: PUSH1 0x01
00001073: DUP4
00001074: PUSH1 0x20
00001076: SUB
00001077: PUSH2 0x0100
0000107a: EXP
0000107b: SUB
0000107c: NOT
0000107d: AND
0000107e: DUP2
0000107f: MSTORE
00001080: PUSH1 0x20
00001082: ADD
00001083: SWAP2
00001084: POP
00001085: JUMPDEST
00001086: POP
00001087: SWAP6
00001088: POP
00001089: POP
0000108a: POP
0000108b: POP
0000108c: POP
0000108d: POP
0000108e: PUSH1 0x00
00001090: PUSH1 0x40
00001092: MLOAD
00001093: DUP1
00001094: DUP4
00001095: SUB
00001096: DUP2
00001097: PUSH1 0x00
00001099: DUP8
0000109a: DUP1
0000109b: EXTCODESIZE
0000109c: ISZERO
0000109d: DUP1
0000109e: ISZERO
0000109f: PUSH2 0x10a7
000010a2: JUMPI
000010a3: PUSH1 0x00
000010a5: DUP1
000010a6: REVERT
000010a7: JUMPDEST
000010a8: POP
000010a9: GAS
000010aa: CALL
000010ab: ISZERO
000010ac: DUP1
000010ad: ISZERO
000010ae: PUSH2 0x10bb
000010b1: JUMPI
000010b2: RETURNDATASIZE
000010b3: PUSH1 0x00
000010b5: DUP1
000010b6: RETURNDATACOPY
000010b7: RETURNDATASIZE
000010b8: PUSH1 0x00
000010ba: REVERT
000010bb: JUMPDEST
000010bc: POP
000010bd: POP
000010be: POP
000010bf: POP
000010c0: PUSH2 0x1225
000010c3: JUMP
000010c4: JUMPDEST
000010c5: DUP3
000010c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010db: AND
000010dc: PUSH4 0x022c0d9f
000010e1: PUSH1 0x00
000010e3: DUP4
000010e4: DUP14
000010e5: PUSH1 0x00
000010e7: PUSH8 0xffffffffffffffff
000010f0: DUP2
000010f1: GT
000010f2: DUP1
000010f3: ISZERO
000010f4: PUSH2 0x10fc
000010f7: JUMPI
000010f8: PUSH1 0x00
000010fa: DUP1
000010fb: REVERT
000010fc: JUMPDEST
000010fd: POP
000010fe: PUSH1 0x40
00001100: MLOAD
00001101: SWAP1
00001102: DUP1
00001103: DUP3
00001104: MSTORE
00001105: DUP1
00001106: PUSH1 0x1f
00001108: ADD
00001109: PUSH1 0x1f
0000110b: NOT
0000110c: AND
0000110d: PUSH1 0x20
0000110f: ADD
00001110: DUP3
00001111: ADD
00001112: PUSH1 0x40
00001114: MSTORE
00001115: DUP1
00001116: ISZERO
00001117: PUSH2 0x112f
0000111a: JUMPI
0000111b: DUP2
0000111c: PUSH1 0x20
0000111e: ADD
0000111f: PUSH1 0x01
00001121: DUP3
00001122: MUL
00001123: DUP1
00001124: CALLDATASIZE
00001125: DUP4
00001126: CALLDATACOPY
00001127: DUP1
00001128: DUP3
00001129: ADD
0000112a: SWAP2
0000112b: POP
0000112c: POP
0000112d: SWAP1
0000112e: POP
0000112f: JUMPDEST
00001130: POP
00001131: PUSH1 0x40
00001133: MLOAD
00001134: DUP6
00001135: PUSH4 0xffffffff
0000113a: AND
0000113b: PUSH1 0xe0
0000113d: SHL
0000113e: DUP2
0000113f: MSTORE
00001140: PUSH1 0x04
00001142: ADD
00001143: DUP1
00001144: DUP6
00001145: DUP2
00001146: MSTORE
00001147: PUSH1 0x20
00001149: ADD
0000114a: DUP5
0000114b: DUP2
0000114c: MSTORE
0000114d: PUSH1 0x20
0000114f: ADD
00001150: DUP4
00001151: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001166: AND
00001167: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000117c: AND
0000117d: DUP2
0000117e: MSTORE
0000117f: PUSH1 0x20
00001181: ADD
00001182: DUP1
00001183: PUSH1 0x20
00001185: ADD
00001186: DUP3
00001187: DUP2
00001188: SUB
00001189: DUP3
0000118a: MSTORE
0000118b: DUP4
0000118c: DUP2
0000118d: DUP2
0000118e: MLOAD
0000118f: DUP2
00001190: MSTORE
00001191: PUSH1 0x20
00001193: ADD
00001194: SWAP2
00001195: POP
00001196: DUP1
00001197: MLOAD
00001198: SWAP1
00001199: PUSH1 0x20
0000119b: ADD
0000119c: SWAP1
0000119d: DUP1
0000119e: DUP4
0000119f: DUP4
000011a0: PUSH1 0x00
000011a2: JUMPDEST
000011a3: DUP4
000011a4: DUP2
000011a5: LT
000011a6: ISZERO
000011a7: PUSH2 0x11bd
000011aa: JUMPI
000011ab: DUP1
000011ac: DUP3
000011ad: ADD
000011ae: MLOAD
000011af: DUP2
000011b0: DUP5
000011b1: ADD
000011b2: MSTORE
000011b3: PUSH1 0x20
000011b5: DUP2
000011b6: ADD
000011b7: SWAP1
000011b8: POP
000011b9: PUSH2 0x11a2
000011bc: JUMP
000011bd: JUMPDEST
000011be: POP
000011bf: POP
000011c0: POP
000011c1: POP
000011c2: SWAP1
000011c3: POP
000011c4: SWAP1
000011c5: DUP2
000011c6: ADD
000011c7: SWAP1
000011c8: PUSH1 0x1f
000011ca: AND
000011cb: DUP1
000011cc: ISZERO
000011cd: PUSH2 0x11ea
000011d0: JUMPI
000011d1: DUP1
000011d2: DUP3
000011d3: SUB
000011d4: DUP1
000011d5: MLOAD
000011d6: PUSH1 0x01
000011d8: DUP4
000011d9: PUSH1 0x20
000011db: SUB
000011dc: PUSH2 0x0100
000011df: EXP
000011e0: SUB
000011e1: NOT
000011e2: AND
000011e3: DUP2
000011e4: MSTORE
000011e5: PUSH1 0x20
000011e7: ADD
000011e8: SWAP2
000011e9: POP
000011ea: JUMPDEST
000011eb: POP
000011ec: SWAP6
000011ed: POP
000011ee: POP
000011ef: POP
000011f0: POP
000011f1: POP
000011f2: POP
000011f3: PUSH1 0x00
000011f5: PUSH1 0x40
000011f7: MLOAD
000011f8: DUP1
000011f9: DUP4
000011fa: SUB
000011fb: DUP2
000011fc: PUSH1 0x00
000011fe: DUP8
000011ff: DUP1
00001200: EXTCODESIZE
00001201: ISZERO
00001202: DUP1
00001203: ISZERO
00001204: PUSH2 0x120c
00001207: JUMPI
00001208: PUSH1 0x00
0000120a: DUP1
0000120b: REVERT
0000120c: JUMPDEST
0000120d: POP
0000120e: GAS
0000120f: CALL
00001210: ISZERO
00001211: DUP1
00001212: ISZERO
00001213: PUSH2 0x1220
00001216: JUMPI
00001217: RETURNDATASIZE
00001218: PUSH1 0x00
0000121a: DUP1
0000121b: RETURNDATACOPY
0000121c: RETURNDATASIZE
0000121d: PUSH1 0x00
0000121f: REVERT
00001220: JUMPDEST
00001221: POP
00001222: POP
00001223: POP
00001224: POP
00001225: JUMPDEST
00001226: DUP5
00001227: PUSH2 0x1296
0000122a: JUMPI
0000122b: DUP11
0000122c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001241: AND
00001242: PUSH4 0x2e1a7d4d
00001247: DUP3
00001248: PUSH1 0x40
0000124a: MLOAD
0000124b: DUP3
0000124c: PUSH4 0xffffffff
00001251: AND
00001252: PUSH1 0xe0
00001254: SHL
00001255: DUP2
00001256: MSTORE
00001257: PUSH1 0x04
00001259: ADD
0000125a: DUP1
0000125b: DUP3
0000125c: DUP2
0000125d: MSTORE
0000125e: PUSH1 0x20
00001260: ADD
00001261: SWAP2
00001262: POP
00001263: POP
00001264: PUSH1 0x00
00001266: PUSH1 0x40
00001268: MLOAD
00001269: DUP1
0000126a: DUP4
0000126b: SUB
0000126c: DUP2
0000126d: PUSH1 0x00
0000126f: DUP8
00001270: DUP1
00001271: EXTCODESIZE
00001272: ISZERO
00001273: DUP1
00001274: ISZERO
00001275: PUSH2 0x127d
00001278: JUMPI
00001279: PUSH1 0x00
0000127b: DUP1
0000127c: REVERT
0000127d: JUMPDEST
0000127e: POP
0000127f: GAS
00001280: CALL
00001281: ISZERO
00001282: DUP1
00001283: ISZERO
00001284: PUSH2 0x1291
00001287: JUMPI
00001288: RETURNDATASIZE
00001289: PUSH1 0x00
0000128b: DUP1
0000128c: RETURNDATACOPY
0000128d: RETURNDATASIZE
0000128e: PUSH1 0x00
00001290: REVERT
00001291: JUMPDEST
00001292: POP
00001293: POP
00001294: POP
00001295: POP
00001296: JUMPDEST
00001297: PUSH1 0x00
00001299: DUP14
0000129a: PUSH1 0x13
0000129c: SIGNEXTEND
0000129d: SGT
0000129e: ISZERO
0000129f: PUSH2 0x1333
000012a2: JUMPI
000012a3: DUP13
000012a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012b9: AND
000012ba: PUSH4 0x6366b936
000012bf: PUSH1 0x03
000012c1: PUSH1 0x40
000012c3: MLOAD
000012c4: DUP3
000012c5: PUSH4 0xffffffff
000012ca: AND
000012cb: PUSH1 0xe0
000012cd: SHL
000012ce: DUP2
000012cf: MSTORE
000012d0: PUSH1 0x04
000012d2: ADD
000012d3: DUP1
000012d4: DUP3
000012d5: DUP2
000012d6: MSTORE
000012d7: PUSH1 0x20
000012d9: ADD
000012da: SWAP2
000012db: POP
000012dc: POP
000012dd: PUSH1 0x20
000012df: PUSH1 0x40
000012e1: MLOAD
000012e2: DUP1
000012e3: DUP4
000012e4: SUB
000012e5: DUP2
000012e6: PUSH1 0x00
000012e8: DUP8
000012e9: DUP1
000012ea: EXTCODESIZE
000012eb: ISZERO
000012ec: DUP1
000012ed: ISZERO
000012ee: PUSH2 0x12f6
000012f1: JUMPI
000012f2: PUSH1 0x00
000012f4: DUP1
000012f5: REVERT
000012f6: JUMPDEST
000012f7: POP
000012f8: GAS
000012f9: CALL
000012fa: ISZERO
000012fb: DUP1
000012fc: ISZERO
000012fd: PUSH2 0x130a
00001300: JUMPI
00001301: RETURNDATASIZE
00001302: PUSH1 0x00
00001304: DUP1
00001305: RETURNDATACOPY
00001306: RETURNDATASIZE
00001307: PUSH1 0x00
00001309: REVERT
0000130a: JUMPDEST
0000130b: POP
0000130c: POP
0000130d: POP
0000130e: POP
0000130f: PUSH1 0x40
00001311: MLOAD
00001312: RETURNDATASIZE
00001313: PUSH1 0x20
00001315: DUP2
00001316: LT
00001317: ISZERO
00001318: PUSH2 0x1320
0000131b: JUMPI
0000131c: PUSH1 0x00
0000131e: DUP1
0000131f: REVERT
00001320: JUMPDEST
00001321: DUP2
00001322: ADD
00001323: SWAP1
00001324: DUP1
00001325: DUP1
00001326: MLOAD
00001327: SWAP1
00001328: PUSH1 0x20
0000132a: ADD
0000132b: SWAP1
0000132c: SWAP3
0000132d: SWAP2
0000132e: SWAP1
0000132f: POP
00001330: POP
00001331: POP
00001332: POP
00001333: JUMPDEST
00001334: POP
00001335: POP
00001336: POP
00001337: POP
00001338: POP
00001339: POP
0000133a: POP
0000133b: POP
0000133c: POP
0000133d: POP
0000133e: POP
0000133f: POP
00001340: POP
00001341: POP
00001342: POP
00001343: POP
00001344: JUMP
00001345: JUMPDEST
00001346: PUSH1 0x00
00001348: DUP1
00001349: PUSH1 0x00
0000134b: DUP8
0000134c: SWAP1
0000134d: POP
0000134e: PUSH1 0x00
00001350: DUP8
00001351: SWAP1
00001352: POP
00001353: DUP6
00001354: ISZERO
00001355: PUSH2 0x1615
00001358: JUMPI
00001359: PUSH1 0x00
0000135b: DUP1
0000135c: DUP4
0000135d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001372: AND
00001373: PUSH4 0x0902f1ac
00001378: PUSH1 0x40
0000137a: MLOAD
0000137b: DUP2
0000137c: PUSH4 0xffffffff
00001381: AND
00001382: PUSH1 0xe0
00001384: SHL
00001385: DUP2
00001386: MSTORE
00001387: PUSH1 0x04
00001389: ADD
0000138a: PUSH1 0x60
0000138c: PUSH1 0x40
0000138e: MLOAD
0000138f: DUP1
00001390: DUP4
00001391: SUB
00001392: DUP2
00001393: DUP7
00001394: DUP1
00001395: EXTCODESIZE
00001396: ISZERO
00001397: DUP1
00001398: ISZERO
00001399: PUSH2 0x13a1
0000139c: JUMPI
0000139d: PUSH1 0x00
0000139f: DUP1
000013a0: REVERT
000013a1: JUMPDEST
000013a2: POP
000013a3: GAS
000013a4: STATICCALL
000013a5: ISZERO
000013a6: DUP1
000013a7: ISZERO
000013a8: PUSH2 0x13b5
000013ab: JUMPI
000013ac: RETURNDATASIZE
000013ad: PUSH1 0x00
000013af: DUP1
000013b0: RETURNDATACOPY
000013b1: RETURNDATASIZE
000013b2: PUSH1 0x00
000013b4: REVERT
000013b5: JUMPDEST
000013b6: POP
000013b7: POP
000013b8: POP
000013b9: POP
000013ba: PUSH1 0x40
000013bc: MLOAD
000013bd: RETURNDATASIZE
000013be: PUSH1 0x60
000013c0: DUP2
000013c1: LT
000013c2: ISZERO
000013c3: PUSH2 0x13cb
000013c6: JUMPI
000013c7: PUSH1 0x00
000013c9: DUP1
000013ca: REVERT
000013cb: JUMPDEST
000013cc: DUP2
000013cd: ADD
000013ce: SWAP1
000013cf: DUP1
000013d0: DUP1
000013d1: MLOAD
000013d2: SWAP1
000013d3: PUSH1 0x20
000013d5: ADD
000013d6: SWAP1
000013d7: SWAP3
000013d8: SWAP2
000013d9: SWAP1
000013da: DUP1
000013db: MLOAD
000013dc: SWAP1
000013dd: PUSH1 0x20
000013df: ADD
000013e0: SWAP1
000013e1: SWAP3
000013e2: SWAP2
000013e3: SWAP1
000013e4: DUP1
000013e5: MLOAD
000013e6: SWAP1
000013e7: PUSH1 0x20
000013e9: ADD
000013ea: SWAP1
000013eb: SWAP3
000013ec: SWAP2
000013ed: SWAP1
000013ee: POP
000013ef: POP
000013f0: POP
000013f1: POP
000013f2: PUSH14 0xffffffffffffffffffffffffffff
00001401: AND
00001402: SWAP2
00001403: POP
00001404: PUSH14 0xffffffffffffffffffffffffffff
00001413: AND
00001414: SWAP2
00001415: POP
00001416: PUSH1 0x00
00001418: PUSH2 0x03e5
0000141b: DUP11
0000141c: MUL
0000141d: PUSH2 0x03e8
00001420: DUP4
00001421: MUL
00001422: ADD
00001423: DUP4
00001424: PUSH2 0x03e5
00001427: DUP13
00001428: MUL
00001429: MUL
0000142a: DUP2
0000142b: PUSH2 0x1430
0000142e: JUMPI
0000142f: INVALID
00001430: JUMPDEST
00001431: DIV
00001432: SWAP1
00001433: POP
00001434: DUP8
00001435: ISZERO
00001436: PUSH2 0x1527
00001439: JUMPI
0000143a: PUSH1 0x00
0000143c: DUP1
0000143d: DUP6
0000143e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001453: AND
00001454: PUSH4 0x0902f1ac
00001459: PUSH1 0x40
0000145b: MLOAD
0000145c: DUP2
0000145d: PUSH4 0xffffffff
00001462: AND
00001463: PUSH1 0xe0
00001465: SHL
00001466: DUP2
00001467: MSTORE
00001468: PUSH1 0x04
0000146a: ADD
0000146b: PUSH1 0x60
0000146d: PUSH1 0x40
0000146f: MLOAD
00001470: DUP1
00001471: DUP4
00001472: SUB
00001473: DUP2
00001474: DUP7
00001475: DUP1
00001476: EXTCODESIZE
00001477: ISZERO
00001478: DUP1
00001479: ISZERO
0000147a: PUSH2 0x1482
0000147d: JUMPI
0000147e: PUSH1 0x00
00001480: DUP1
00001481: REVERT
00001482: JUMPDEST
00001483: POP
00001484: GAS
00001485: STATICCALL
00001486: ISZERO
00001487: DUP1
00001488: ISZERO
00001489: PUSH2 0x1496
0000148c: JUMPI
0000148d: RETURNDATASIZE
0000148e: PUSH1 0x00
00001490: DUP1
00001491: RETURNDATACOPY
00001492: RETURNDATASIZE
00001493: PUSH1 0x00
00001495: REVERT
00001496: JUMPDEST
00001497: POP
00001498: POP
00001499: POP
0000149a: POP
0000149b: PUSH1 0x40
0000149d: MLOAD
0000149e: RETURNDATASIZE
0000149f: PUSH1 0x60
000014a1: DUP2
000014a2: LT
000014a3: ISZERO
000014a4: PUSH2 0x14ac
000014a7: JUMPI
000014a8: PUSH1 0x00
000014aa: DUP1
000014ab: REVERT
000014ac: JUMPDEST
000014ad: DUP2
000014ae: ADD
000014af: SWAP1
000014b0: DUP1
000014b1: DUP1
000014b2: MLOAD
000014b3: SWAP1
000014b4: PUSH1 0x20
000014b6: ADD
000014b7: SWAP1
000014b8: SWAP3
000014b9: SWAP2
000014ba: SWAP1
000014bb: DUP1
000014bc: MLOAD
000014bd: SWAP1
000014be: PUSH1 0x20
000014c0: ADD
000014c1: SWAP1
000014c2: SWAP3
000014c3: SWAP2
000014c4: SWAP1
000014c5: DUP1
000014c6: MLOAD
000014c7: SWAP1
000014c8: PUSH1 0x20
000014ca: ADD
000014cb: SWAP1
000014cc: SWAP3
000014cd: SWAP2
000014ce: SWAP1
000014cf: POP
000014d0: POP
000014d1: POP
000014d2: POP
000014d3: PUSH14 0xffffffffffffffffffffffffffff
000014e2: AND
000014e3: SWAP2
000014e4: POP
000014e5: PUSH14 0xffffffffffffffffffffffffffff
000014f4: AND
000014f5: SWAP2
000014f6: POP
000014f7: PUSH1 0x00
000014f9: PUSH2 0x03e5
000014fc: DUP5
000014fd: MUL
000014fe: PUSH2 0x03e8
00001501: DUP4
00001502: MUL
00001503: ADD
00001504: DUP4
00001505: PUSH2 0x03e5
00001508: DUP7
00001509: MUL
0000150a: MUL
0000150b: DUP2
0000150c: PUSH2 0x1511
0000150f: JUMPI
00001510: INVALID
00001511: JUMPDEST
00001512: DIV
00001513: SWAP1
00001514: POP
00001515: DUP4
00001516: DUP2
00001517: SWAP10
00001518: POP
00001519: SWAP10
0000151a: POP
0000151b: POP
0000151c: POP
0000151d: POP
0000151e: POP
0000151f: POP
00001520: POP
00001521: POP
00001522: POP
00001523: PUSH2 0x18ce
00001526: JUMP
00001527: JUMPDEST
00001528: PUSH1 0x00
0000152a: DUP1
0000152b: DUP6
0000152c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001541: AND
00001542: PUSH4 0x0902f1ac
00001547: PUSH1 0x40
00001549: MLOAD
0000154a: DUP2
0000154b: PUSH4 0xffffffff
00001550: AND
00001551: PUSH1 0xe0
00001553: SHL
00001554: DUP2
00001555: MSTORE
00001556: PUSH1 0x04
00001558: ADD
00001559: PUSH1 0x60
0000155b: PUSH1 0x40
0000155d: MLOAD
0000155e: DUP1
0000155f: DUP4
00001560: SUB
00001561: DUP2
00001562: DUP7
00001563: DUP1
00001564: EXTCODESIZE
00001565: ISZERO
00001566: DUP1
00001567: ISZERO
00001568: PUSH2 0x1570
0000156b: JUMPI
0000156c: PUSH1 0x00
0000156e: DUP1
0000156f: REVERT
00001570: JUMPDEST
00001571: POP
00001572: GAS
00001573: STATICCALL
00001574: ISZERO
00001575: DUP1
00001576: ISZERO
00001577: PUSH2 0x1584
0000157a: JUMPI
0000157b: RETURNDATASIZE
0000157c: PUSH1 0x00
0000157e: DUP1
0000157f: RETURNDATACOPY
00001580: RETURNDATASIZE
00001581: PUSH1 0x00
00001583: REVERT
00001584: JUMPDEST
00001585: POP
00001586: POP
00001587: POP
00001588: POP
00001589: PUSH1 0x40
0000158b: MLOAD
0000158c: RETURNDATASIZE
0000158d: PUSH1 0x60
0000158f: DUP2
00001590: LT
00001591: ISZERO
00001592: PUSH2 0x159a
00001595: JUMPI
00001596: PUSH1 0x00
00001598: DUP1
00001599: REVERT
0000159a: JUMPDEST
0000159b: DUP2
0000159c: ADD
0000159d: SWAP1
0000159e: DUP1
0000159f: DUP1
000015a0: MLOAD
000015a1: SWAP1
000015a2: PUSH1 0x20
000015a4: ADD
000015a5: SWAP1
000015a6: SWAP3
000015a7: SWAP2
000015a8: SWAP1
000015a9: DUP1
000015aa: MLOAD
000015ab: SWAP1
000015ac: PUSH1 0x20
000015ae: ADD
000015af: SWAP1
000015b0: SWAP3
000015b1: SWAP2
000015b2: SWAP1
000015b3: DUP1
000015b4: MLOAD
000015b5: SWAP1
000015b6: PUSH1 0x20
000015b8: ADD
000015b9: SWAP1
000015ba: SWAP3
000015bb: SWAP2
000015bc: SWAP1
000015bd: POP
000015be: POP
000015bf: POP
000015c0: POP
000015c1: PUSH14 0xffffffffffffffffffffffffffff
000015d0: AND
000015d1: SWAP2
000015d2: POP
000015d3: PUSH14 0xffffffffffffffffffffffffffff
000015e2: AND
000015e3: SWAP2
000015e4: POP
000015e5: PUSH1 0x00
000015e7: PUSH2 0x03e5
000015ea: DUP5
000015eb: MUL
000015ec: PUSH2 0x03e8
000015ef: DUP5
000015f0: MUL
000015f1: ADD
000015f2: DUP3
000015f3: PUSH2 0x03e5
000015f6: DUP7
000015f7: MUL
000015f8: MUL
000015f9: DUP2
000015fa: PUSH2 0x15ff
000015fd: JUMPI
000015fe: INVALID
000015ff: JUMPDEST
00001600: DIV
00001601: SWAP1
00001602: POP
00001603: DUP4
00001604: DUP2
00001605: SWAP10
00001606: POP
00001607: SWAP10
00001608: POP
00001609: POP
0000160a: POP
0000160b: POP
0000160c: POP
0000160d: POP
0000160e: POP
0000160f: POP
00001610: POP
00001611: PUSH2 0x18ce
00001614: JUMP
00001615: JUMPDEST
00001616: PUSH1 0x00
00001618: DUP1
00001619: DUP4
0000161a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000162f: AND
00001630: PUSH4 0x0902f1ac
00001635: PUSH1 0x40
00001637: MLOAD
00001638: DUP2
00001639: PUSH4 0xffffffff
0000163e: AND
0000163f: PUSH1 0xe0
00001641: SHL
00001642: DUP2
00001643: MSTORE
00001644: PUSH1 0x04
00001646: ADD
00001647: PUSH1 0x60
00001649: PUSH1 0x40
0000164b: MLOAD
0000164c: DUP1
0000164d: DUP4
0000164e: SUB
0000164f: DUP2
00001650: DUP7
00001651: DUP1
00001652: EXTCODESIZE
00001653: ISZERO
00001654: DUP1
00001655: ISZERO
00001656: PUSH2 0x165e
00001659: JUMPI
0000165a: PUSH1 0x00
0000165c: DUP1
0000165d: REVERT
0000165e: JUMPDEST
0000165f: POP
00001660: GAS
00001661: STATICCALL
00001662: ISZERO
00001663: DUP1
00001664: ISZERO
00001665: PUSH2 0x1672
00001668: JUMPI
00001669: RETURNDATASIZE
0000166a: PUSH1 0x00
0000166c: DUP1
0000166d: RETURNDATACOPY
0000166e: RETURNDATASIZE
0000166f: PUSH1 0x00
00001671: REVERT
00001672: JUMPDEST
00001673: POP
00001674: POP
00001675: POP
00001676: POP
00001677: PUSH1 0x40
00001679: MLOAD
0000167a: RETURNDATASIZE
0000167b: PUSH1 0x60
0000167d: DUP2
0000167e: LT
0000167f: ISZERO
00001680: PUSH2 0x1688
00001683: JUMPI
00001684: PUSH1 0x00
00001686: DUP1
00001687: REVERT
00001688: JUMPDEST
00001689: DUP2
0000168a: ADD
0000168b: SWAP1
0000168c: DUP1
0000168d: DUP1
0000168e: MLOAD
0000168f: SWAP1
00001690: PUSH1 0x20
00001692: ADD
00001693: SWAP1
00001694: SWAP3
00001695: SWAP2
00001696: SWAP1
00001697: DUP1
00001698: MLOAD
00001699: SWAP1
0000169a: PUSH1 0x20
0000169c: ADD
0000169d: SWAP1
0000169e: SWAP3
0000169f: SWAP2
000016a0: SWAP1
000016a1: DUP1
000016a2: MLOAD
000016a3: SWAP1
000016a4: PUSH1 0x20
000016a6: ADD
000016a7: SWAP1
000016a8: SWAP3
000016a9: SWAP2
000016aa: SWAP1
000016ab: POP
000016ac: POP
000016ad: POP
000016ae: POP
000016af: PUSH14 0xffffffffffffffffffffffffffff
000016be: AND
000016bf: SWAP2
000016c0: POP
000016c1: PUSH14 0xffffffffffffffffffffffffffff
000016d0: AND
000016d1: SWAP2
000016d2: POP
000016d3: PUSH1 0x00
000016d5: PUSH2 0x03e5
000016d8: DUP11
000016d9: MUL
000016da: PUSH2 0x03e8
000016dd: DUP5
000016de: MUL
000016df: ADD
000016e0: DUP3
000016e1: PUSH2 0x03e5
000016e4: DUP13
000016e5: MUL
000016e6: MUL
000016e7: DUP2
000016e8: PUSH2 0x16ed
000016eb: JUMPI
000016ec: INVALID
000016ed: JUMPDEST
000016ee: DIV
000016ef: SWAP1
000016f0: POP
000016f1: DUP8
000016f2: ISZERO
000016f3: PUSH2 0x17e4
000016f6: JUMPI
000016f7: PUSH1 0x00
000016f9: DUP1
000016fa: DUP6
000016fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001710: AND
00001711: PUSH4 0x0902f1ac
00001716: PUSH1 0x40
00001718: MLOAD
00001719: DUP2
0000171a: PUSH4 0xffffffff
0000171f: AND
00001720: PUSH1 0xe0
00001722: SHL
00001723: DUP2
00001724: MSTORE
00001725: PUSH1 0x04
00001727: ADD
00001728: PUSH1 0x60
0000172a: PUSH1 0x40
0000172c: MLOAD
0000172d: DUP1
0000172e: DUP4
0000172f: SUB
00001730: DUP2
00001731: DUP7
00001732: DUP1
00001733: EXTCODESIZE
00001734: ISZERO
00001735: DUP1
00001736: ISZERO
00001737: PUSH2 0x173f
0000173a: JUMPI
0000173b: PUSH1 0x00
0000173d: DUP1
0000173e: REVERT
0000173f: JUMPDEST
00001740: POP
00001741: GAS
00001742: STATICCALL
00001743: ISZERO
00001744: DUP1
00001745: ISZERO
00001746: PUSH2 0x1753
00001749: JUMPI
0000174a: RETURNDATASIZE
0000174b: PUSH1 0x00
0000174d: DUP1
0000174e: RETURNDATACOPY
0000174f: RETURNDATASIZE
00001750: PUSH1 0x00
00001752: REVERT
00001753: JUMPDEST
00001754: POP
00001755: POP
00001756: POP
00001757: POP
00001758: PUSH1 0x40
0000175a: MLOAD
0000175b: RETURNDATASIZE
0000175c: PUSH1 0x60
0000175e: DUP2
0000175f: LT
00001760: ISZERO
00001761: PUSH2 0x1769
00001764: JUMPI
00001765: PUSH1 0x00
00001767: DUP1
00001768: REVERT
00001769: JUMPDEST
0000176a: DUP2
0000176b: ADD
0000176c: SWAP1
0000176d: DUP1
0000176e: DUP1
0000176f: MLOAD
00001770: SWAP1
00001771: PUSH1 0x20
00001773: ADD
00001774: SWAP1
00001775: SWAP3
00001776: SWAP2
00001777: SWAP1
00001778: DUP1
00001779: MLOAD
0000177a: SWAP1
0000177b: PUSH1 0x20
0000177d: ADD
0000177e: SWAP1
0000177f: SWAP3
00001780: SWAP2
00001781: SWAP1
00001782: DUP1
00001783: MLOAD
00001784: SWAP1
00001785: PUSH1 0x20
00001787: ADD
00001788: SWAP1
00001789: SWAP3
0000178a: SWAP2
0000178b: SWAP1
0000178c: POP
0000178d: POP
0000178e: POP
0000178f: POP
00001790: PUSH14 0xffffffffffffffffffffffffffff
0000179f: AND
000017a0: SWAP2
000017a1: POP
000017a2: PUSH14 0xffffffffffffffffffffffffffff
000017b1: AND
000017b2: SWAP2
000017b3: POP
000017b4: PUSH1 0x00
000017b6: PUSH2 0x03e5
000017b9: DUP5
000017ba: MUL
000017bb: PUSH2 0x03e8
000017be: DUP4
000017bf: MUL
000017c0: ADD
000017c1: DUP4
000017c2: PUSH2 0x03e5
000017c5: DUP7
000017c6: MUL
000017c7: MUL
000017c8: DUP2
000017c9: PUSH2 0x17ce
000017cc: JUMPI
000017cd: INVALID
000017ce: JUMPDEST
000017cf: DIV
000017d0: SWAP1
000017d1: POP
000017d2: DUP4
000017d3: DUP2
000017d4: SWAP10
000017d5: POP
000017d6: SWAP10
000017d7: POP
000017d8: POP
000017d9: POP
000017da: POP
000017db: POP
000017dc: POP
000017dd: POP
000017de: POP
000017df: POP
000017e0: PUSH2 0x18ce
000017e3: JUMP
000017e4: JUMPDEST
000017e5: PUSH1 0x00
000017e7: DUP1
000017e8: DUP6
000017e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017fe: AND
000017ff: PUSH4 0x0902f1ac
00001804: PUSH1 0x40
00001806: MLOAD
00001807: DUP2
00001808: PUSH4 0xffffffff
0000180d: AND
0000180e: PUSH1 0xe0
00001810: SHL
00001811: DUP2
00001812: MSTORE
00001813: PUSH1 0x04
00001815: ADD
00001816: PUSH1 0x60
00001818: PUSH1 0x40
0000181a: MLOAD
0000181b: DUP1
0000181c: DUP4
0000181d: SUB
0000181e: DUP2
0000181f: DUP7
00001820: DUP1
00001821: EXTCODESIZE
00001822: ISZERO
00001823: DUP1
00001824: ISZERO
00001825: PUSH2 0x182d
00001828: JUMPI
00001829: PUSH1 0x00
0000182b: DUP1
0000182c: REVERT
0000182d: JUMPDEST
0000182e: POP
0000182f: GAS
00001830: STATICCALL
00001831: ISZERO
00001832: DUP1
00001833: ISZERO
00001834: PUSH2 0x1841
00001837: JUMPI
00001838: RETURNDATASIZE
00001839: PUSH1 0x00
0000183b: DUP1
0000183c: RETURNDATACOPY
0000183d: RETURNDATASIZE
0000183e: PUSH1 0x00
00001840: REVERT
00001841: JUMPDEST
00001842: POP
00001843: POP
00001844: POP
00001845: POP
00001846: PUSH1 0x40
00001848: MLOAD
00001849: RETURNDATASIZE
0000184a: PUSH1 0x60
0000184c: DUP2
0000184d: LT
0000184e: ISZERO
0000184f: PUSH2 0x1857
00001852: JUMPI
00001853: PUSH1 0x00
00001855: DUP1
00001856: REVERT
00001857: JUMPDEST
00001858: DUP2
00001859: ADD
0000185a: SWAP1
0000185b: DUP1
0000185c: DUP1
0000185d: MLOAD
0000185e: SWAP1
0000185f: PUSH1 0x20
00001861: ADD
00001862: SWAP1
00001863: SWAP3
00001864: SWAP2
00001865: SWAP1
00001866: DUP1
00001867: MLOAD
00001868: SWAP1
00001869: PUSH1 0x20
0000186b: ADD
0000186c: SWAP1
0000186d: SWAP3
0000186e: SWAP2
0000186f: SWAP1
00001870: DUP1
00001871: MLOAD
00001872: SWAP1
00001873: PUSH1 0x20
00001875: ADD
00001876: SWAP1
00001877: SWAP3
00001878: SWAP2
00001879: SWAP1
0000187a: POP
0000187b: POP
0000187c: POP
0000187d: POP
0000187e: PUSH14 0xffffffffffffffffffffffffffff
0000188d: AND
0000188e: SWAP2
0000188f: POP
00001890: PUSH14 0xffffffffffffffffffffffffffff
0000189f: AND
000018a0: SWAP2
000018a1: POP
000018a2: PUSH1 0x00
000018a4: PUSH2 0x03e5
000018a7: DUP5
000018a8: MUL
000018a9: PUSH2 0x03e8
000018ac: DUP5
000018ad: MUL
000018ae: ADD
000018af: DUP3
000018b0: PUSH2 0x03e5
000018b3: DUP7
000018b4: MUL
000018b5: MUL
000018b6: DUP2
000018b7: PUSH2 0x18bc
000018ba: JUMPI
000018bb: INVALID
000018bc: JUMPDEST
000018bd: DIV
000018be: SWAP1
000018bf: POP
000018c0: DUP4
000018c1: DUP2
000018c2: SWAP10
000018c3: POP
000018c4: SWAP10
000018c5: POP
000018c6: POP
000018c7: POP
000018c8: POP
000018c9: POP
000018ca: POP
000018cb: POP
000018cc: POP
000018cd: POP
000018ce: JUMPDEST
000018cf: SWAP6
000018d0: POP
000018d1: SWAP6
000018d2: SWAP4
000018d3: POP
000018d4: POP
000018d5: POP
000018d6: POP
000018d7: JUMP
000018d8: JUMPDEST
000018d9: PUSH1 0x01
000018db: ISZERO
000018dc: ISZERO
000018dd: PUSH1 0x00
000018df: DUP1
000018e0: CALLER
000018e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018f6: AND
000018f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000190c: AND
0000190d: DUP2
0000190e: MSTORE
0000190f: PUSH1 0x20
00001911: ADD
00001912: SWAP1
00001913: DUP2
00001914: MSTORE
00001915: PUSH1 0x20
00001917: ADD
00001918: PUSH1 0x00
0000191a: KECCAK256
0000191b: PUSH1 0x00
0000191d: SWAP1
0000191e: SLOAD
0000191f: SWAP1
00001920: PUSH2 0x0100
00001923: EXP
00001924: SWAP1
00001925: DIV
00001926: PUSH1 0xff
00001928: AND
00001929: ISZERO
0000192a: ISZERO
0000192b: EQ
0000192c: PUSH2 0x199d
0000192f: JUMPI
00001930: PUSH1 0x40
00001932: MLOAD
00001933: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001954: DUP2
00001955: MSTORE
00001956: PUSH1 0x04
00001958: ADD
00001959: DUP1
0000195a: DUP1
0000195b: PUSH1 0x20
0000195d: ADD
0000195e: DUP3
0000195f: DUP2
00001960: SUB
00001961: DUP3
00001962: MSTORE
00001963: PUSH1 0x02
00001965: DUP2
00001966: MSTORE
00001967: PUSH1 0x20
00001969: ADD
0000196a: DUP1
0000196b: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
0000198c: DUP2
0000198d: MSTORE
0000198e: POP
0000198f: PUSH1 0x20
00001991: ADD
00001992: SWAP2
00001993: POP
00001994: POP
00001995: PUSH1 0x40
00001997: MLOAD
00001998: DUP1
00001999: SWAP2
0000199a: SUB
0000199b: SWAP1
0000199c: REVERT
0000199d: JUMPDEST
0000199e: PUSH1 0x00
000019a0: DUP9
000019a1: DUP13
000019a2: ADD
000019a3: SWAP1
000019a4: POP
000019a5: PUSH1 0x00
000019a7: PUSH2 0x19b1
000019aa: DUP3
000019ab: DUP9
000019ac: DUP8
000019ad: PUSH2 0x20cc
000019b0: JUMP
000019b1: JUMPDEST
000019b2: SWAP1
000019b3: POP
000019b4: DUP6
000019b5: DUP2
000019b6: LT
000019b7: ISZERO
000019b8: PUSH2 0x1a29
000019bb: JUMPI
000019bc: PUSH1 0x40
000019be: MLOAD
000019bf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000019e0: DUP2
000019e1: MSTORE
000019e2: PUSH1 0x04
000019e4: ADD
000019e5: DUP1
000019e6: DUP1
000019e7: PUSH1 0x20
000019e9: ADD
000019ea: DUP3
000019eb: DUP2
000019ec: SUB
000019ed: DUP3
000019ee: MSTORE
000019ef: PUSH1 0x02
000019f1: DUP2
000019f2: MSTORE
000019f3: PUSH1 0x20
000019f5: ADD
000019f6: DUP1
000019f7: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
00001a18: DUP2
00001a19: MSTORE
00001a1a: POP
00001a1b: PUSH1 0x20
00001a1d: ADD
00001a1e: SWAP2
00001a1f: POP
00001a20: POP
00001a21: PUSH1 0x40
00001a23: MLOAD
00001a24: DUP1
00001a25: SWAP2
00001a26: SUB
00001a27: SWAP1
00001a28: REVERT
00001a29: JUMPDEST
00001a2a: DUP4
00001a2b: ISZERO
00001a2c: PUSH2 0x1aa0
00001a2f: JUMPI
00001a30: DUP9
00001a31: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a46: AND
00001a47: PUSH4 0xd0e30db0
00001a4c: DUP9
00001a4d: PUSH1 0x40
00001a4f: MLOAD
00001a50: DUP3
00001a51: PUSH4 0xffffffff
00001a56: AND
00001a57: PUSH1 0xe0
00001a59: SHL
00001a5a: DUP2
00001a5b: MSTORE
00001a5c: PUSH1 0x04
00001a5e: ADD
00001a5f: PUSH1 0x00
00001a61: PUSH1 0x40
00001a63: MLOAD
00001a64: DUP1
00001a65: DUP4
00001a66: SUB
00001a67: DUP2
00001a68: DUP6
00001a69: DUP9
00001a6a: DUP1
00001a6b: EXTCODESIZE
00001a6c: ISZERO
00001a6d: DUP1
00001a6e: ISZERO
00001a6f: PUSH2 0x1a77
00001a72: JUMPI
00001a73: PUSH1 0x00
00001a75: DUP1
00001a76: REVERT
00001a77: JUMPDEST
00001a78: POP
00001a79: GAS
00001a7a: CALL
00001a7b: ISZERO
00001a7c: DUP1
00001a7d: ISZERO
00001a7e: PUSH2 0x1a8b
00001a81: JUMPI
00001a82: RETURNDATASIZE
00001a83: PUSH1 0x00
00001a85: DUP1
00001a86: RETURNDATACOPY
00001a87: RETURNDATASIZE
00001a88: PUSH1 0x00
00001a8a: REVERT
00001a8b: JUMPDEST
00001a8c: POP
00001a8d: POP
00001a8e: POP
00001a8f: POP
00001a90: POP
00001a91: PUSH2 0x1a9b
00001a94: DUP10
00001a95: DUP4
00001a96: DUP10
00001a97: PUSH2 0x2402
00001a9a: JUMP
00001a9b: JUMPDEST
00001a9c: PUSH2 0x1b4f
00001a9f: JUMP
00001aa0: JUMPDEST
00001aa1: DUP8
00001aa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ab7: AND
00001ab8: ADDRESS
00001ab9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ace: AND
00001acf: EQ
00001ad0: PUSH2 0x1b41
00001ad3: JUMPI
00001ad4: PUSH1 0x40
00001ad6: MLOAD
00001ad7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001af8: DUP2
00001af9: MSTORE
00001afa: PUSH1 0x04
00001afc: ADD
00001afd: DUP1
00001afe: DUP1
00001aff: PUSH1 0x20
00001b01: ADD
00001b02: DUP3
00001b03: DUP2
00001b04: SUB
00001b05: DUP3
00001b06: MSTORE
00001b07: PUSH1 0x02
00001b09: DUP2
00001b0a: MSTORE
00001b0b: PUSH1 0x20
00001b0d: ADD
00001b0e: DUP1
00001b0f: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
00001b30: DUP2
00001b31: MSTORE
00001b32: POP
00001b33: PUSH1 0x20
00001b35: ADD
00001b36: SWAP2
00001b37: POP
00001b38: POP
00001b39: PUSH1 0x40
00001b3b: MLOAD
00001b3c: DUP1
00001b3d: SWAP2
00001b3e: SUB
00001b3f: SWAP1
00001b40: REVERT
00001b41: JUMPDEST
00001b42: PUSH2 0x1b4e
00001b45: DUP11
00001b46: DUP14
00001b47: ADD
00001b48: DUP4
00001b49: DUP10
00001b4a: PUSH2 0x2402
00001b4d: JUMP
00001b4e: JUMPDEST
00001b4f: JUMPDEST
00001b50: DUP5
00001b51: ISZERO
00001b52: PUSH2 0x1cba
00001b55: JUMPI
00001b56: DUP2
00001b57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b6c: AND
00001b6d: PUSH4 0x022c0d9f
00001b72: DUP3
00001b73: PUSH1 0x00
00001b75: DUP12
00001b76: PUSH1 0x00
00001b78: PUSH8 0xffffffffffffffff
00001b81: DUP2
00001b82: GT
00001b83: DUP1
00001b84: ISZERO
00001b85: PUSH2 0x1b8d
00001b88: JUMPI
00001b89: PUSH1 0x00
00001b8b: DUP1
00001b8c: REVERT
00001b8d: JUMPDEST
00001b8e: POP
00001b8f: PUSH1 0x40
00001b91: MLOAD
00001b92: SWAP1
00001b93: DUP1
00001b94: DUP3
00001b95: MSTORE
00001b96: DUP1
00001b97: PUSH1 0x1f
00001b99: ADD
00001b9a: PUSH1 0x1f
00001b9c: NOT
00001b9d: AND
00001b9e: PUSH1 0x20
00001ba0: ADD
00001ba1: DUP3
00001ba2: ADD
00001ba3: PUSH1 0x40
00001ba5: MSTORE
00001ba6: DUP1
00001ba7: ISZERO
00001ba8: PUSH2 0x1bc0
00001bab: JUMPI
00001bac: DUP2
00001bad: PUSH1 0x20
00001baf: ADD
00001bb0: PUSH1 0x01
00001bb2: DUP3
00001bb3: MUL
00001bb4: DUP1
00001bb5: CALLDATASIZE
00001bb6: DUP4
00001bb7: CALLDATACOPY
00001bb8: DUP1
00001bb9: DUP3
00001bba: ADD
00001bbb: SWAP2
00001bbc: POP
00001bbd: POP
00001bbe: SWAP1
00001bbf: POP
00001bc0: JUMPDEST
00001bc1: POP
00001bc2: PUSH1 0x40
00001bc4: MLOAD
00001bc5: DUP6
00001bc6: PUSH4 0xffffffff
00001bcb: AND
00001bcc: PUSH1 0xe0
00001bce: SHL
00001bcf: DUP2
00001bd0: MSTORE
00001bd1: PUSH1 0x04
00001bd3: ADD
00001bd4: DUP1
00001bd5: DUP6
00001bd6: DUP2
00001bd7: MSTORE
00001bd8: PUSH1 0x20
00001bda: ADD
00001bdb: DUP5
00001bdc: DUP2
00001bdd: MSTORE
00001bde: PUSH1 0x20
00001be0: ADD
00001be1: DUP4
00001be2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bf7: AND
00001bf8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c0d: AND
00001c0e: DUP2
00001c0f: MSTORE
00001c10: PUSH1 0x20
00001c12: ADD
00001c13: DUP1
00001c14: PUSH1 0x20
00001c16: ADD
00001c17: DUP3
00001c18: DUP2
00001c19: SUB
00001c1a: DUP3
00001c1b: MSTORE
00001c1c: DUP4
00001c1d: DUP2
00001c1e: DUP2
00001c1f: MLOAD
00001c20: DUP2
00001c21: MSTORE
00001c22: PUSH1 0x20
00001c24: ADD
00001c25: SWAP2
00001c26: POP
00001c27: DUP1
00001c28: MLOAD
00001c29: SWAP1
00001c2a: PUSH1 0x20
00001c2c: ADD
00001c2d: SWAP1
00001c2e: DUP1
00001c2f: DUP4
00001c30: DUP4
00001c31: PUSH1 0x00
00001c33: JUMPDEST
00001c34: DUP4
00001c35: DUP2
00001c36: LT
00001c37: ISZERO
00001c38: PUSH2 0x1c4e
00001c3b: JUMPI
00001c3c: DUP1
00001c3d: DUP3
00001c3e: ADD
00001c3f: MLOAD
00001c40: DUP2
00001c41: DUP5
00001c42: ADD
00001c43: MSTORE
00001c44: PUSH1 0x20
00001c46: DUP2
00001c47: ADD
00001c48: SWAP1
00001c49: POP
00001c4a: PUSH2 0x1c33
00001c4d: JUMP
00001c4e: JUMPDEST
00001c4f: POP
00001c50: POP
00001c51: POP
00001c52: POP
00001c53: SWAP1
00001c54: POP
00001c55: SWAP1
00001c56: DUP2
00001c57: ADD
00001c58: SWAP1
00001c59: PUSH1 0x1f
00001c5b: AND
00001c5c: DUP1
00001c5d: ISZERO
00001c5e: PUSH2 0x1c7b
00001c61: JUMPI
00001c62: DUP1
00001c63: DUP3
00001c64: SUB
00001c65: DUP1
00001c66: MLOAD
00001c67: PUSH1 0x01
00001c69: DUP4
00001c6a: PUSH1 0x20
00001c6c: SUB
00001c6d: PUSH2 0x0100
00001c70: EXP
00001c71: SUB
00001c72: NOT
00001c73: AND
00001c74: DUP2
00001c75: MSTORE
00001c76: PUSH1 0x20
00001c78: ADD
00001c79: SWAP2
00001c7a: POP
00001c7b: JUMPDEST
00001c7c: POP
00001c7d: SWAP6
00001c7e: POP
00001c7f: POP
00001c80: POP
00001c81: POP
00001c82: POP
00001c83: POP
00001c84: PUSH1 0x00
00001c86: PUSH1 0x40
00001c88: MLOAD
00001c89: DUP1
00001c8a: DUP4
00001c8b: SUB
00001c8c: DUP2
00001c8d: PUSH1 0x00
00001c8f: DUP8
00001c90: DUP1
00001c91: EXTCODESIZE
00001c92: ISZERO
00001c93: DUP1
00001c94: ISZERO
00001c95: PUSH2 0x1c9d
00001c98: JUMPI
00001c99: PUSH1 0x00
00001c9b: DUP1
00001c9c: REVERT
00001c9d: JUMPDEST
00001c9e: POP
00001c9f: GAS
00001ca0: CALL
00001ca1: ISZERO
00001ca2: DUP1
00001ca3: ISZERO
00001ca4: PUSH2 0x1cb1
00001ca7: JUMPI
00001ca8: RETURNDATASIZE
00001ca9: PUSH1 0x00
00001cab: DUP1
00001cac: RETURNDATACOPY
00001cad: RETURNDATASIZE
00001cae: PUSH1 0x00
00001cb0: REVERT
00001cb1: JUMPDEST
00001cb2: POP
00001cb3: POP
00001cb4: POP
00001cb5: POP
00001cb6: PUSH2 0x1e1b
00001cb9: JUMP
00001cba: JUMPDEST
00001cbb: DUP2
00001cbc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cd1: AND
00001cd2: PUSH4 0x022c0d9f
00001cd7: PUSH1 0x00
00001cd9: DUP4
00001cda: DUP12
00001cdb: PUSH1 0x00
00001cdd: PUSH8 0xffffffffffffffff
00001ce6: DUP2
00001ce7: GT
00001ce8: DUP1
00001ce9: ISZERO
00001cea: PUSH2 0x1cf2
00001ced: JUMPI
00001cee: PUSH1 0x00
00001cf0: DUP1
00001cf1: REVERT
00001cf2: JUMPDEST
00001cf3: POP
00001cf4: PUSH1 0x40
00001cf6: MLOAD
00001cf7: SWAP1
00001cf8: DUP1
00001cf9: DUP3
00001cfa: MSTORE
00001cfb: DUP1
00001cfc: PUSH1 0x1f
00001cfe: ADD
00001cff: PUSH1 0x1f
00001d01: NOT
00001d02: AND
00001d03: PUSH1 0x20
00001d05: ADD
00001d06: DUP3
00001d07: ADD
00001d08: PUSH1 0x40
00001d0a: MSTORE
00001d0b: DUP1
00001d0c: ISZERO
00001d0d: PUSH2 0x1d25
00001d10: JUMPI
00001d11: DUP2
00001d12: PUSH1 0x20
00001d14: ADD
00001d15: PUSH1 0x01
00001d17: DUP3
00001d18: MUL
00001d19: DUP1
00001d1a: CALLDATASIZE
00001d1b: DUP4
00001d1c: CALLDATACOPY
00001d1d: DUP1
00001d1e: DUP3
00001d1f: ADD
00001d20: SWAP2
00001d21: POP
00001d22: POP
00001d23: SWAP1
00001d24: POP
00001d25: JUMPDEST
00001d26: POP
00001d27: PUSH1 0x40
00001d29: MLOAD
00001d2a: DUP6
00001d2b: PUSH4 0xffffffff
00001d30: AND
00001d31: PUSH1 0xe0
00001d33: SHL
00001d34: DUP2
00001d35: MSTORE
00001d36: PUSH1 0x04
00001d38: ADD
00001d39: DUP1
00001d3a: DUP6
00001d3b: DUP2
00001d3c: MSTORE
00001d3d: PUSH1 0x20
00001d3f: ADD
00001d40: DUP5
00001d41: DUP2
00001d42: MSTORE
00001d43: PUSH1 0x20
00001d45: ADD
00001d46: DUP4
00001d47: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d5c: AND
00001d5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d72: AND
00001d73: DUP2
00001d74: MSTORE
00001d75: PUSH1 0x20
00001d77: ADD
00001d78: DUP1
00001d79: PUSH1 0x20
00001d7b: ADD
00001d7c: DUP3
00001d7d: DUP2
00001d7e: SUB
00001d7f: DUP3
00001d80: MSTORE
00001d81: DUP4
00001d82: DUP2
00001d83: DUP2
00001d84: MLOAD
00001d85: DUP2
00001d86: MSTORE
00001d87: PUSH1 0x20
00001d89: ADD
00001d8a: SWAP2
00001d8b: POP
00001d8c: DUP1
00001d8d: MLOAD
00001d8e: SWAP1
00001d8f: PUSH1 0x20
00001d91: ADD
00001d92: SWAP1
00001d93: DUP1
00001d94: DUP4
00001d95: DUP4
00001d96: PUSH1 0x00
00001d98: JUMPDEST
00001d99: DUP4
00001d9a: DUP2
00001d9b: LT
00001d9c: ISZERO
00001d9d: PUSH2 0x1db3
00001da0: JUMPI
00001da1: DUP1
00001da2: DUP3
00001da3: ADD
00001da4: MLOAD
00001da5: DUP2
00001da6: DUP5
00001da7: ADD
00001da8: MSTORE
00001da9: PUSH1 0x20
00001dab: DUP2
00001dac: ADD
00001dad: SWAP1
00001dae: POP
00001daf: PUSH2 0x1d98
00001db2: JUMP
00001db3: JUMPDEST
00001db4: POP
00001db5: POP
00001db6: POP
00001db7: POP
00001db8: SWAP1
00001db9: POP
00001dba: SWAP1
00001dbb: DUP2
00001dbc: ADD
00001dbd: SWAP1
00001dbe: PUSH1 0x1f
00001dc0: AND
00001dc1: DUP1
00001dc2: ISZERO
00001dc3: PUSH2 0x1de0
00001dc6: JUMPI
00001dc7: DUP1
00001dc8: DUP3
00001dc9: SUB
00001dca: DUP1
00001dcb: MLOAD
00001dcc: PUSH1 0x01
00001dce: DUP4
00001dcf: PUSH1 0x20
00001dd1: SUB
00001dd2: PUSH2 0x0100
00001dd5: EXP
00001dd6: SUB
00001dd7: NOT
00001dd8: AND
00001dd9: DUP2
00001dda: MSTORE
00001ddb: PUSH1 0x20
00001ddd: ADD
00001dde: SWAP2
00001ddf: POP
00001de0: JUMPDEST
00001de1: POP
00001de2: SWAP6
00001de3: POP
00001de4: POP
00001de5: POP
00001de6: POP
00001de7: POP
00001de8: POP
00001de9: PUSH1 0x00
00001deb: PUSH1 0x40
00001ded: MLOAD
00001dee: DUP1
00001def: DUP4
00001df0: SUB
00001df1: DUP2
00001df2: PUSH1 0x00
00001df4: DUP8
00001df5: DUP1
00001df6: EXTCODESIZE
00001df7: ISZERO
00001df8: DUP1
00001df9: ISZERO
00001dfa: PUSH2 0x1e02
00001dfd: JUMPI
00001dfe: PUSH1 0x00
00001e00: DUP1
00001e01: REVERT
00001e02: JUMPDEST
00001e03: POP
00001e04: GAS
00001e05: CALL
00001e06: ISZERO
00001e07: DUP1
00001e08: ISZERO
00001e09: PUSH2 0x1e16
00001e0c: JUMPI
00001e0d: RETURNDATASIZE
00001e0e: PUSH1 0x00
00001e10: DUP1
00001e11: RETURNDATACOPY
00001e12: RETURNDATASIZE
00001e13: PUSH1 0x00
00001e15: REVERT
00001e16: JUMPDEST
00001e17: POP
00001e18: POP
00001e19: POP
00001e1a: POP
00001e1b: JUMPDEST
00001e1c: DUP4
00001e1d: PUSH2 0x1e8c
00001e20: JUMPI
00001e21: DUP9
00001e22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e37: AND
00001e38: PUSH4 0x2e1a7d4d
00001e3d: DUP3
00001e3e: PUSH1 0x40
00001e40: MLOAD
00001e41: DUP3
00001e42: PUSH4 0xffffffff
00001e47: AND
00001e48: PUSH1 0xe0
00001e4a: SHL
00001e4b: DUP2
00001e4c: MSTORE
00001e4d: PUSH1 0x04
00001e4f: ADD
00001e50: DUP1
00001e51: DUP3
00001e52: DUP2
00001e53: MSTORE
00001e54: PUSH1 0x20
00001e56: ADD
00001e57: SWAP2
00001e58: POP
00001e59: POP
00001e5a: PUSH1 0x00
00001e5c: PUSH1 0x40
00001e5e: MLOAD
00001e5f: DUP1
00001e60: DUP4
00001e61: SUB
00001e62: DUP2
00001e63: PUSH1 0x00
00001e65: DUP8
00001e66: DUP1
00001e67: EXTCODESIZE
00001e68: ISZERO
00001e69: DUP1
00001e6a: ISZERO
00001e6b: PUSH2 0x1e73
00001e6e: JUMPI
00001e6f: PUSH1 0x00
00001e71: DUP1
00001e72: REVERT
00001e73: JUMPDEST
00001e74: POP
00001e75: GAS
00001e76: CALL
00001e77: ISZERO
00001e78: DUP1
00001e79: ISZERO
00001e7a: PUSH2 0x1e87
00001e7d: JUMPI
00001e7e: RETURNDATASIZE
00001e7f: PUSH1 0x00
00001e81: DUP1
00001e82: RETURNDATACOPY
00001e83: RETURNDATASIZE
00001e84: PUSH1 0x00
00001e86: REVERT
00001e87: JUMPDEST
00001e88: POP
00001e89: POP
00001e8a: POP
00001e8b: POP
00001e8c: JUMPDEST
00001e8d: PUSH1 0x00
00001e8f: DUP4
00001e90: PUSH1 0xff
00001e92: AND
00001e93: GT
00001e94: ISZERO
00001e95: PUSH2 0x1f2b
00001e98: JUMPI
00001e99: DUP11
00001e9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eaf: AND
00001eb0: PUSH4 0x6366b936
00001eb5: DUP5
00001eb6: PUSH1 0x40
00001eb8: MLOAD
00001eb9: DUP3
00001eba: PUSH4 0xffffffff
00001ebf: AND
00001ec0: PUSH1 0xe0
00001ec2: SHL
00001ec3: DUP2
00001ec4: MSTORE
00001ec5: PUSH1 0x04
00001ec7: ADD
00001ec8: DUP1
00001ec9: DUP3
00001eca: PUSH1 0xff
00001ecc: AND
00001ecd: DUP2
00001ece: MSTORE
00001ecf: PUSH1 0x20
00001ed1: ADD
00001ed2: SWAP2
00001ed3: POP
00001ed4: POP
00001ed5: PUSH1 0x20
00001ed7: PUSH1 0x40
00001ed9: MLOAD
00001eda: DUP1
00001edb: DUP4
00001edc: SUB
00001edd: DUP2
00001ede: PUSH1 0x00
00001ee0: DUP8
00001ee1: DUP1
00001ee2: EXTCODESIZE
00001ee3: ISZERO
00001ee4: DUP1
00001ee5: ISZERO
00001ee6: PUSH2 0x1eee
00001ee9: JUMPI
00001eea: PUSH1 0x00
00001eec: DUP1
00001eed: REVERT
00001eee: JUMPDEST
00001eef: POP
00001ef0: GAS
00001ef1: CALL
00001ef2: ISZERO
00001ef3: DUP1
00001ef4: ISZERO
00001ef5: PUSH2 0x1f02
00001ef8: JUMPI
00001ef9: RETURNDATASIZE
00001efa: PUSH1 0x00
00001efc: DUP1
00001efd: RETURNDATACOPY
00001efe: RETURNDATASIZE
00001eff: PUSH1 0x00
00001f01: REVERT
00001f02: JUMPDEST
00001f03: POP
00001f04: POP
00001f05: POP
00001f06: POP
00001f07: PUSH1 0x40
00001f09: MLOAD
00001f0a: RETURNDATASIZE
00001f0b: PUSH1 0x20
00001f0d: DUP2
00001f0e: LT
00001f0f: ISZERO
00001f10: PUSH2 0x1f18
00001f13: JUMPI
00001f14: PUSH1 0x00
00001f16: DUP1
00001f17: REVERT
00001f18: JUMPDEST
00001f19: DUP2
00001f1a: ADD
00001f1b: SWAP1
00001f1c: DUP1
00001f1d: DUP1
00001f1e: MLOAD
00001f1f: SWAP1
00001f20: PUSH1 0x20
00001f22: ADD
00001f23: SWAP1
00001f24: SWAP3
00001f25: SWAP2
00001f26: SWAP1
00001f27: POP
00001f28: POP
00001f29: POP
00001f2a: POP
00001f2b: JUMPDEST
00001f2c: POP
00001f2d: POP
00001f2e: POP
00001f2f: POP
00001f30: POP
00001f31: POP
00001f32: POP
00001f33: POP
00001f34: POP
00001f35: POP
00001f36: POP
00001f37: POP
00001f38: POP
00001f39: JUMP
00001f3a: JUMPDEST
00001f3b: PUSH1 0x01
00001f3d: ISZERO
00001f3e: ISZERO
00001f3f: PUSH1 0x00
00001f41: DUP1
00001f42: CALLER
00001f43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f58: AND
00001f59: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f6e: AND
00001f6f: DUP2
00001f70: MSTORE
00001f71: PUSH1 0x20
00001f73: ADD
00001f74: SWAP1
00001f75: DUP2
00001f76: MSTORE
00001f77: PUSH1 0x20
00001f79: ADD
00001f7a: PUSH1 0x00
00001f7c: KECCAK256
00001f7d: PUSH1 0x00
00001f7f: SWAP1
00001f80: SLOAD
00001f81: SWAP1
00001f82: PUSH2 0x0100
00001f85: EXP
00001f86: SWAP1
00001f87: DIV
00001f88: PUSH1 0xff
00001f8a: AND
00001f8b: ISZERO
00001f8c: ISZERO
00001f8d: EQ
00001f8e: ISZERO
00001f8f: PUSH2 0x1fee
00001f92: JUMPI
00001f93: PUSH1 0x01
00001f95: PUSH1 0x00
00001f97: DUP1
00001f98: DUP4
00001f99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fae: AND
00001faf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fc4: AND
00001fc5: DUP2
00001fc6: MSTORE
00001fc7: PUSH1 0x20
00001fc9: ADD
00001fca: SWAP1
00001fcb: DUP2
00001fcc: MSTORE
00001fcd: PUSH1 0x20
00001fcf: ADD
00001fd0: PUSH1 0x00
00001fd2: KECCAK256
00001fd3: PUSH1 0x00
00001fd5: PUSH2 0x0100
00001fd8: EXP
00001fd9: DUP2
00001fda: SLOAD
00001fdb: DUP2
00001fdc: PUSH1 0xff
00001fde: MUL
00001fdf: NOT
00001fe0: AND
00001fe1: SWAP1
00001fe2: DUP4
00001fe3: ISZERO
00001fe4: ISZERO
00001fe5: MUL
00001fe6: OR
00001fe7: SWAP1
00001fe8: SSTORE
00001fe9: POP
00001fea: PUSH2 0x1ff3
00001fed: JUMP
00001fee: JUMPDEST
00001fef: PUSH2 0x1ff4
00001ff2: JUMP
00001ff3: JUMPDEST
00001ff4: JUMPDEST
00001ff5: POP
00001ff6: JUMP
00001ff7: JUMPDEST
00001ff8: PUSH1 0x01
00001ffa: ISZERO
00001ffb: ISZERO
00001ffc: PUSH1 0x00
00001ffe: DUP1
00001fff: CALLER
00002000: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002015: AND
00002016: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000202b: AND
0000202c: DUP2
0000202d: MSTORE
0000202e: PUSH1 0x20
00002030: ADD
00002031: SWAP1
00002032: DUP2
00002033: MSTORE
00002034: PUSH1 0x20
00002036: ADD
00002037: PUSH1 0x00
00002039: KECCAK256
0000203a: PUSH1 0x00
0000203c: SWAP1
0000203d: SLOAD
0000203e: SWAP1
0000203f: PUSH2 0x0100
00002042: EXP
00002043: SWAP1
00002044: DIV
00002045: PUSH1 0xff
00002047: AND
00002048: ISZERO
00002049: ISZERO
0000204a: EQ
0000204b: PUSH2 0x20bc
0000204e: JUMPI
0000204f: PUSH1 0x40
00002051: MLOAD
00002052: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002073: DUP2
00002074: MSTORE
00002075: PUSH1 0x04
00002077: ADD
00002078: DUP1
00002079: DUP1
0000207a: PUSH1 0x20
0000207c: ADD
0000207d: DUP3
0000207e: DUP2
0000207f: SUB
00002080: DUP3
00002081: MSTORE
00002082: PUSH1 0x02
00002084: DUP2
00002085: MSTORE
00002086: PUSH1 0x20
00002088: ADD
00002089: DUP1
0000208a: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000
000020ab: DUP2
000020ac: MSTORE
000020ad: POP
000020ae: PUSH1 0x20
000020b0: ADD
000020b1: SWAP2
000020b2: POP
000020b3: POP
000020b4: PUSH1 0x40
000020b6: MLOAD
000020b7: DUP1
000020b8: SWAP2
000020b9: SUB
000020ba: SWAP1
000020bb: REVERT
000020bc: JUMPDEST
000020bd: PUSH2 0x20c7
000020c0: DUP4
000020c1: DUP4
000020c2: DUP4
000020c3: PUSH2 0x2402
000020c6: JUMP
000020c7: JUMPDEST
000020c8: POP
000020c9: POP
000020ca: POP
000020cb: JUMP
000020cc: JUMPDEST
000020cd: PUSH1 0x00
000020cf: DUP2
000020d0: ISZERO
000020d1: PUSH2 0x21ba
000020d4: JUMPI
000020d5: PUSH1 0x00
000020d7: DUP1
000020d8: DUP6
000020d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020ee: AND
000020ef: PUSH4 0x0902f1ac
000020f4: PUSH1 0x40
000020f6: MLOAD
000020f7: DUP2
000020f8: PUSH4 0xffffffff
000020fd: AND
000020fe: PUSH1 0xe0
00002100: SHL
00002101: DUP2
00002102: MSTORE
00002103: PUSH1 0x04
00002105: ADD
00002106: PUSH1 0x60
00002108: PUSH1 0x40
0000210a: MLOAD
0000210b: DUP1
0000210c: DUP4
0000210d: SUB
0000210e: DUP2
0000210f: DUP7
00002110: DUP1
00002111: EXTCODESIZE
00002112: ISZERO
00002113: DUP1
00002114: ISZERO
00002115: PUSH2 0x211d
00002118: JUMPI
00002119: PUSH1 0x00
0000211b: DUP1
0000211c: REVERT
0000211d: JUMPDEST
0000211e: POP
0000211f: GAS
00002120: STATICCALL
00002121: ISZERO
00002122: DUP1
00002123: ISZERO
00002124: PUSH2 0x2131
00002127: JUMPI
00002128: RETURNDATASIZE
00002129: PUSH1 0x00
0000212b: DUP1
0000212c: RETURNDATACOPY
0000212d: RETURNDATASIZE
0000212e: PUSH1 0x00
00002130: REVERT
00002131: JUMPDEST
00002132: POP
00002133: POP
00002134: POP
00002135: POP
00002136: PUSH1 0x40
00002138: MLOAD
00002139: RETURNDATASIZE
0000213a: PUSH1 0x60
0000213c: DUP2
0000213d: LT
0000213e: ISZERO
0000213f: PUSH2 0x2147
00002142: JUMPI
00002143: PUSH1 0x00
00002145: DUP1
00002146: REVERT
00002147: JUMPDEST
00002148: DUP2
00002149: ADD
0000214a: SWAP1
0000214b: DUP1
0000214c: DUP1
0000214d: MLOAD
0000214e: SWAP1
0000214f: PUSH1 0x20
00002151: ADD
00002152: SWAP1
00002153: SWAP3
00002154: SWAP2
00002155: SWAP1
00002156: DUP1
00002157: MLOAD
00002158: SWAP1
00002159: PUSH1 0x20
0000215b: ADD
0000215c: SWAP1
0000215d: SWAP3
0000215e: SWAP2
0000215f: SWAP1
00002160: DUP1
00002161: MLOAD
00002162: SWAP1
00002163: PUSH1 0x20
00002165: ADD
00002166: SWAP1
00002167: SWAP3
00002168: SWAP2
00002169: SWAP1
0000216a: POP
0000216b: POP
0000216c: POP
0000216d: POP
0000216e: PUSH14 0xffffffffffffffffffffffffffff
0000217d: AND
0000217e: SWAP2
0000217f: POP
00002180: PUSH14 0xffffffffffffffffffffffffffff
0000218f: AND
00002190: SWAP2
00002191: POP
00002192: PUSH1 0x00
00002194: PUSH2 0x03e5
00002197: DUP7
00002198: MUL
00002199: PUSH2 0x03e8
0000219c: DUP4
0000219d: MUL
0000219e: ADD
0000219f: DUP4
000021a0: PUSH2 0x03e5
000021a3: DUP9
000021a4: MUL
000021a5: MUL
000021a6: DUP2
000021a7: PUSH2 0x21ac
000021aa: JUMPI
000021ab: INVALID
000021ac: JUMPDEST
000021ad: DIV
000021ae: SWAP1
000021af: POP
000021b0: DUP1
000021b1: SWAP4
000021b2: POP
000021b3: POP
000021b4: POP
000021b5: POP
000021b6: PUSH2 0x229c
000021b9: JUMP
000021ba: JUMPDEST
000021bb: PUSH1 0x00
000021bd: DUP1
000021be: DUP6
000021bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021d4: AND
000021d5: PUSH4 0x0902f1ac
000021da: PUSH1 0x40
000021dc: MLOAD
000021dd: DUP2
000021de: PUSH4 0xffffffff
000021e3: AND
000021e4: PUSH1 0xe0
000021e6: SHL
000021e7: DUP2
000021e8: MSTORE
000021e9: PUSH1 0x04
000021eb: ADD
000021ec: PUSH1 0x60
000021ee: PUSH1 0x40
000021f0: MLOAD
000021f1: DUP1
000021f2: DUP4
000021f3: SUB
000021f4: DUP2
000021f5: DUP7
000021f6: DUP1
000021f7: EXTCODESIZE
000021f8: ISZERO
000021f9: DUP1
000021fa: ISZERO
000021fb: PUSH2 0x2203
000021fe: JUMPI
000021ff: PUSH1 0x00
00002201: DUP1
00002202: REVERT
00002203: JUMPDEST
00002204: POP
00002205: GAS
00002206: STATICCALL
00002207: ISZERO
00002208: DUP1
00002209: ISZERO
0000220a: PUSH2 0x2217
0000220d: JUMPI
0000220e: RETURNDATASIZE
0000220f: PUSH1 0x00
00002211: DUP1
00002212: RETURNDATACOPY
00002213: RETURNDATASIZE
00002214: PUSH1 0x00
00002216: REVERT
00002217: JUMPDEST
00002218: POP
00002219: POP
0000221a: POP
0000221b: POP
0000221c: PUSH1 0x40
0000221e: MLOAD
0000221f: RETURNDATASIZE
00002220: PUSH1 0x60
00002222: DUP2
00002223: LT
00002224: ISZERO
00002225: PUSH2 0x222d
00002228: JUMPI
00002229: PUSH1 0x00
0000222b: DUP1
0000222c: REVERT
0000222d: JUMPDEST
0000222e: DUP2
0000222f: ADD
00002230: SWAP1
00002231: DUP1
00002232: DUP1
00002233: MLOAD
00002234: SWAP1
00002235: PUSH1 0x20
00002237: ADD
00002238: SWAP1
00002239: SWAP3
0000223a: SWAP2
0000223b: SWAP1
0000223c: DUP1
0000223d: MLOAD
0000223e: SWAP1
0000223f: PUSH1 0x20
00002241: ADD
00002242: SWAP1
00002243: SWAP3
00002244: SWAP2
00002245: SWAP1
00002246: DUP1
00002247: MLOAD
00002248: SWAP1
00002249: PUSH1 0x20
0000224b: ADD
0000224c: SWAP1
0000224d: SWAP3
0000224e: SWAP2
0000224f: SWAP1
00002250: POP
00002251: POP
00002252: POP
00002253: POP
00002254: PUSH14 0xffffffffffffffffffffffffffff
00002263: AND
00002264: SWAP2
00002265: POP
00002266: PUSH14 0xffffffffffffffffffffffffffff
00002275: AND
00002276: SWAP2
00002277: POP
00002278: PUSH1 0x00
0000227a: PUSH2 0x03e5
0000227d: DUP7
0000227e: MUL
0000227f: PUSH2 0x03e8
00002282: DUP5
00002283: MUL
00002284: ADD
00002285: DUP3
00002286: PUSH2 0x03e5
00002289: DUP9
0000228a: MUL
0000228b: MUL
0000228c: DUP2
0000228d: PUSH2 0x2292
00002290: JUMPI
00002291: INVALID
00002292: JUMPDEST
00002293: DIV
00002294: SWAP1
00002295: POP
00002296: DUP1
00002297: SWAP4
00002298: POP
00002299: POP
0000229a: POP
0000229b: POP
0000229c: JUMPDEST
0000229d: SWAP4
0000229e: SWAP3
0000229f: POP
000022a0: POP
000022a1: POP
000022a2: JUMP
000022a3: JUMPDEST
000022a4: PUSH1 0x00
000022a6: DUP3
000022a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022bc: AND
000022bd: DUP3
000022be: PUSH1 0x00
000022c0: PUSH8 0xffffffffffffffff
000022c9: DUP2
000022ca: GT
000022cb: DUP1
000022cc: ISZERO
000022cd: PUSH2 0x22d5
000022d0: JUMPI
000022d1: PUSH1 0x00
000022d3: DUP1
000022d4: REVERT
000022d5: JUMPDEST
000022d6: POP
000022d7: PUSH1 0x40
000022d9: MLOAD
000022da: SWAP1
000022db: DUP1
000022dc: DUP3
000022dd: MSTORE
000022de: DUP1
000022df: PUSH1 0x1f
000022e1: ADD
000022e2: PUSH1 0x1f
000022e4: NOT
000022e5: AND
000022e6: PUSH1 0x20
000022e8: ADD
000022e9: DUP3
000022ea: ADD
000022eb: PUSH1 0x40
000022ed: MSTORE
000022ee: DUP1
000022ef: ISZERO
000022f0: PUSH2 0x2308
000022f3: JUMPI
000022f4: DUP2
000022f5: PUSH1 0x20
000022f7: ADD
000022f8: PUSH1 0x01
000022fa: DUP3
000022fb: MUL
000022fc: DUP1
000022fd: CALLDATASIZE
000022fe: DUP4
000022ff: CALLDATACOPY
00002300: DUP1
00002301: DUP3
00002302: ADD
00002303: SWAP2
00002304: POP
00002305: POP
00002306: SWAP1
00002307: POP
00002308: JUMPDEST
00002309: POP
0000230a: PUSH1 0x40
0000230c: MLOAD
0000230d: DUP1
0000230e: DUP3
0000230f: DUP1
00002310: MLOAD
00002311: SWAP1
00002312: PUSH1 0x20
00002314: ADD
00002315: SWAP1
00002316: DUP1
00002317: DUP4
00002318: DUP4
00002319: JUMPDEST
0000231a: PUSH1 0x20
0000231c: DUP4
0000231d: LT
0000231e: PUSH2 0x233c
00002321: JUMPI
00002322: DUP1
00002323: MLOAD
00002324: DUP3
00002325: MSTORE
00002326: PUSH1 0x20
00002328: DUP3
00002329: ADD
0000232a: SWAP2
0000232b: POP
0000232c: PUSH1 0x20
0000232e: DUP2
0000232f: ADD
00002330: SWAP1
00002331: POP
00002332: PUSH1 0x20
00002334: DUP4
00002335: SUB
00002336: SWAP3
00002337: POP
00002338: PUSH2 0x2319
0000233b: JUMP
0000233c: JUMPDEST
0000233d: PUSH1 0x01
0000233f: DUP4
00002340: PUSH1 0x20
00002342: SUB
00002343: PUSH2 0x0100
00002346: EXP
00002347: SUB
00002348: DUP1
00002349: NOT
0000234a: DUP3
0000234b: MLOAD
0000234c: AND
0000234d: DUP2
0000234e: DUP5
0000234f: MLOAD
00002350: AND
00002351: DUP1
00002352: DUP3
00002353: OR
00002354: DUP6
00002355: MSTORE
00002356: POP
00002357: POP
00002358: POP
00002359: POP
0000235a: POP
0000235b: POP
0000235c: SWAP1
0000235d: POP
0000235e: ADD
0000235f: SWAP2
00002360: POP
00002361: POP
00002362: PUSH1 0x00
00002364: PUSH1 0x40
00002366: MLOAD
00002367: DUP1
00002368: DUP4
00002369: SUB
0000236a: DUP2
0000236b: DUP6
0000236c: DUP8
0000236d: GAS
0000236e: CALL
0000236f: SWAP3
00002370: POP
00002371: POP
00002372: POP
00002373: RETURNDATASIZE
00002374: DUP1
00002375: PUSH1 0x00
00002377: DUP2
00002378: EQ
00002379: PUSH2 0x239e
0000237c: JUMPI
0000237d: PUSH1 0x40
0000237f: MLOAD
00002380: SWAP2
00002381: POP
00002382: PUSH1 0x1f
00002384: NOT
00002385: PUSH1 0x3f
00002387: RETURNDATASIZE
00002388: ADD
00002389: AND
0000238a: DUP3
0000238b: ADD
0000238c: PUSH1 0x40
0000238e: MSTORE
0000238f: RETURNDATASIZE
00002390: DUP3
00002391: MSTORE
00002392: RETURNDATASIZE
00002393: PUSH1 0x00
00002395: PUSH1 0x20
00002397: DUP5
00002398: ADD
00002399: RETURNDATACOPY
0000239a: PUSH2 0x23a3
0000239d: JUMP
0000239e: JUMPDEST
0000239f: PUSH1 0x60
000023a1: SWAP2
000023a2: POP
000023a3: JUMPDEST
000023a4: POP
000023a5: POP
000023a6: SWAP1
000023a7: POP
000023a8: DUP1
000023a9: PUSH2 0x23fd
000023ac: JUMPI
000023ad: PUSH1 0x40
000023af: MLOAD
000023b0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000023d1: DUP2
000023d2: MSTORE
000023d3: PUSH1 0x04
000023d5: ADD
000023d6: DUP1
000023d7: DUP1
000023d8: PUSH1 0x20
000023da: ADD
000023db: DUP3
000023dc: DUP2
000023dd: SUB
000023de: DUP3
000023df: MSTORE
000023e0: PUSH1 0x23
000023e2: DUP2
000023e3: MSTORE
000023e4: PUSH1 0x20
000023e6: ADD
000023e7: DUP1
000023e8: PUSH2 0x25fc
000023eb: PUSH1 0x23
000023ed: SWAP2
000023ee: CODECOPY
000023ef: PUSH1 0x40
000023f1: ADD
000023f2: SWAP2
000023f3: POP
000023f4: POP
000023f5: PUSH1 0x40
000023f7: MLOAD
000023f8: DUP1
000023f9: SWAP2
000023fa: SUB
000023fb: SWAP1
000023fc: REVERT
000023fd: JUMPDEST
000023fe: POP
000023ff: POP
00002400: POP
00002401: JUMP
00002402: JUMPDEST
00002403: PUSH1 0x00
00002405: PUSH1 0x60
00002407: DUP5
00002408: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000241d: AND
0000241e: PUSH4 0xa9059cbb
00002423: DUP6
00002424: DUP6
00002425: PUSH1 0x40
00002427: MLOAD
00002428: PUSH1 0x24
0000242a: ADD
0000242b: DUP1
0000242c: DUP4
0000242d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002442: AND
00002443: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002458: AND
00002459: DUP2
0000245a: MSTORE
0000245b: PUSH1 0x20
0000245d: ADD
0000245e: DUP3
0000245f: DUP2
00002460: MSTORE
00002461: PUSH1 0x20
00002463: ADD
00002464: SWAP3
00002465: POP
00002466: POP
00002467: POP
00002468: PUSH1 0x40
0000246a: MLOAD
0000246b: PUSH1 0x20
0000246d: DUP2
0000246e: DUP4
0000246f: SUB
00002470: SUB
00002471: DUP2
00002472: MSTORE
00002473: SWAP1
00002474: PUSH1 0x40
00002476: MSTORE
00002477: SWAP1
00002478: PUSH1 0xe0
0000247a: SHL
0000247b: PUSH1 0x20
0000247d: DUP3
0000247e: ADD
0000247f: DUP1
00002480: MLOAD
00002481: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000249e: DUP4
0000249f: DUP2
000024a0: DUP4
000024a1: AND
000024a2: OR
000024a3: DUP4
000024a4: MSTORE
000024a5: POP
000024a6: POP
000024a7: POP
000024a8: POP
000024a9: PUSH1 0x40
000024ab: MLOAD
000024ac: DUP1
000024ad: DUP3
000024ae: DUP1
000024af: MLOAD
000024b0: SWAP1
000024b1: PUSH1 0x20
000024b3: ADD
000024b4: SWAP1
000024b5: DUP1
000024b6: DUP4
000024b7: DUP4
000024b8: JUMPDEST
000024b9: PUSH1 0x20
000024bb: DUP4
000024bc: LT
000024bd: PUSH2 0x24db
000024c0: JUMPI
000024c1: DUP1
000024c2: MLOAD
000024c3: DUP3
000024c4: MSTORE
000024c5: PUSH1 0x20
000024c7: DUP3
000024c8: ADD
000024c9: SWAP2
000024ca: POP
000024cb: PUSH1 0x20
000024cd: DUP2
000024ce: ADD
000024cf: SWAP1
000024d0: POP
000024d1: PUSH1 0x20
000024d3: DUP4
000024d4: SUB
000024d5: SWAP3
000024d6: POP
000024d7: PUSH2 0x24b8
000024da: JUMP
000024db: JUMPDEST
000024dc: PUSH1 0x01
000024de: DUP4
000024df: PUSH1 0x20
000024e1: SUB
000024e2: PUSH2 0x0100
000024e5: EXP
000024e6: SUB
000024e7: DUP1
000024e8: NOT
000024e9: DUP3
000024ea: MLOAD
000024eb: AND
000024ec: DUP2
000024ed: DUP5
000024ee: MLOAD
000024ef: AND
000024f0: DUP1
000024f1: DUP3
000024f2: OR
000024f3: DUP6
000024f4: MSTORE
000024f5: POP
000024f6: POP
000024f7: POP
000024f8: POP
000024f9: POP
000024fa: POP
000024fb: SWAP1
000024fc: POP
000024fd: ADD
000024fe: SWAP2
000024ff: POP
00002500: POP
00002501: PUSH1 0x00
00002503: PUSH1 0x40
00002505: MLOAD
00002506: DUP1
00002507: DUP4
00002508: SUB
00002509: DUP2
0000250a: PUSH1 0x00
0000250c: DUP7
0000250d: GAS
0000250e: CALL
0000250f: SWAP2
00002510: POP
00002511: POP
00002512: RETURNDATASIZE
00002513: DUP1
00002514: PUSH1 0x00
00002516: DUP2
00002517: EQ
00002518: PUSH2 0x253d
0000251b: JUMPI
0000251c: PUSH1 0x40
0000251e: MLOAD
0000251f: SWAP2
00002520: POP
00002521: PUSH1 0x1f
00002523: NOT
00002524: PUSH1 0x3f
00002526: RETURNDATASIZE
00002527: ADD
00002528: AND
00002529: DUP3
0000252a: ADD
0000252b: PUSH1 0x40
0000252d: MSTORE
0000252e: RETURNDATASIZE
0000252f: DUP3
00002530: MSTORE
00002531: RETURNDATASIZE
00002532: PUSH1 0x00
00002534: PUSH1 0x20
00002536: DUP5
00002537: ADD
00002538: RETURNDATACOPY
00002539: PUSH2 0x2542
0000253c: JUMP
0000253d: JUMPDEST
0000253e: PUSH1 0x60
00002540: SWAP2
00002541: POP
00002542: JUMPDEST
00002543: POP
00002544: SWAP2
00002545: POP
00002546: SWAP2
00002547: POP
00002548: DUP2
00002549: DUP1
0000254a: ISZERO
0000254b: PUSH2 0x2582
0000254e: JUMPI
0000254f: POP
00002550: PUSH1 0x00
00002552: DUP2
00002553: MLOAD
00002554: EQ
00002555: DUP1
00002556: PUSH2 0x2581
00002559: JUMPI
0000255a: POP
0000255b: DUP1
0000255c: DUP1
0000255d: PUSH1 0x20
0000255f: ADD
00002560: SWAP1
00002561: MLOAD
00002562: PUSH1 0x20
00002564: DUP2
00002565: LT
00002566: ISZERO
00002567: PUSH2 0x256f
0000256a: JUMPI
0000256b: PUSH1 0x00
0000256d: DUP1
0000256e: REVERT
0000256f: JUMPDEST
00002570: DUP2
00002571: ADD
00002572: SWAP1
00002573: DUP1
00002574: DUP1
00002575: MLOAD
00002576: SWAP1
00002577: PUSH1 0x20
00002579: ADD
0000257a: SWAP1
0000257b: SWAP3
0000257c: SWAP2
0000257d: SWAP1
0000257e: POP
0000257f: POP
00002580: POP
00002581: JUMPDEST
00002582: JUMPDEST
00002583: PUSH2 0x25f4
00002586: JUMPI
00002587: PUSH1 0x40
00002589: MLOAD
0000258a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000025ab: DUP2
000025ac: MSTORE
000025ad: PUSH1 0x04
000025af: ADD
000025b0: DUP1
000025b1: DUP1
000025b2: PUSH1 0x20
000025b4: ADD
000025b5: DUP3
000025b6: DUP2
000025b7: SUB
000025b8: DUP3
000025b9: MSTORE
000025ba: PUSH1 0x1f
000025bc: DUP2
000025bd: MSTORE
000025be: PUSH1 0x20
000025c0: ADD
000025c1: DUP1
000025c2: PUSH32 0x5472616e7366657248656c7065723a205452414e534645525f4641494c454400
000025e3: DUP2
000025e4: MSTORE
000025e5: POP
000025e6: PUSH1 0x20
000025e8: ADD
000025e9: SWAP2
000025ea: POP
000025eb: POP
000025ec: PUSH1 0x40
000025ee: MLOAD
000025ef: DUP1
000025f0: SWAP2
000025f1: SUB
000025f2: SWAP1
000025f3: REVERT
000025f4: JUMPDEST
000025f5: POP
000025f6: POP
000025f7: POP
000025f8: POP
000025f9: POP
000025fa: JUMP
000025fb: INVALID
000025fc: SLOAD
000025fd: PUSH19 0x616e7366657248656c7065723a204554485f54
00002611: MSTORE
00002612: COINBASE
00002613: UNKNOWN(0x4E)
00002614: MSTORE8
00002615: CHAINID
00002616: GASLIMIT
00002617: MSTORE
00002618: PUSH0
00002619: CHAINID
0000261a: COINBASE
0000261b: BLOBHASH
0000261c: UNKNOWN(0x4C)
0000261d: GASLIMIT
0000261e: DIFFICULTY
0000261f: LOG2
00002620: PUSH5 0x6970667358
00002626: UNKNOWN(0x22)
00002627: SLT
00002628: KECCAK256
00002629: UNKNOWN(0xA8)
0000262a: PUSH4 0xdf732552
0000262f: UNKNOWN(0xE4)
00002630: UNKNOWN(0xC3)
00002631: SUB
00002632: UNKNOWN(0xE3)
00002633: UNKNOWN(0x2F)
00002634: PUSH15 0x1608bd95e96e76a0d0aba715ca373d
00002644: UNKNOWN(0xD8)
00002645: UNKNOWN(0xC3)
00002646: UNKNOWN(0xEF)
00002647: UNKNOWN(0xB4)
00002648: UNKNOWN(0x24)
00002649: PUSH5 0x736f6c6343
0000264f: STOP
00002650: MOD
00002651: MOD
00002652: STOP
00002653: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability codex Untrusted DELEGATECALL target reachable (arbitrary code execution risk) 90 no
view
evidence_json
{
    "evidence": "Detector flags untrusted_delegatecall_count=1 with computed target; guards_detected=[]; DELEGATECALL present in basic block starting at pc 2062.",
    "locations": [
        "pc:2074"
    ],
    "recommendation": "Ensure the delegatecall target is strictly controlled (e.g., immutable or tightly access-controlled upgrade logic). If this is a proxy, verify EIP-1967-style admin guards and implementation slot integrity; add explicit access checks and events on upgrades.",
    "exploit_scenario": "If an attacker can influence the delegatecall target (directly or via storage), they can execute arbitrary code in this contract\u2019s storage context, enabling fund theft, state corruption, or permanent bricking. If this is a proxy, missing/weak admin controls would make upgrade hijacking possible."
}
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0xdaba696023bdacfdefcb4cd80e35d08a4f9927026c1e977ce21e8ee536081e73
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 120,
    "trace_id": "0xdaba696023bdacfdefcb4cd80e35d08a4f9927026c1e977ce21e8ee536081e73",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x649630d8",
            "selector": "0x649630d8",
            "calldata_variants": [
                "0x649630d8",
                "0x649630d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x69369e9e",
            "selector": "0x69369e9e",
            "calldata_variants": [
                "0x69369e9e",
                "0x69369e9e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d9051d4",
            "selector": "0x8d9051d4",
            "calldata_variants": [
                "0x8d9051d4",
                "0x8d9051d40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x92748e1c",
            "selector": "0x92748e1c",
            "calldata_variants": [
                "0x92748e1c",
                "0x92748e1c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x022914a7",
            "selector": "0x022914a7",
            "calldata_variants": [
                "0x022914a7",
                "0x022914a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1cff79cd",
            "selector": "0x1cff79cd",
            "calldata_variants": [
                "0x1cff79cd",
                "0x1cff79cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2074,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high access_control codex SELFDESTRUCT sends funds to CALLER 85 no
view
evidence_json
{
    "evidence": "Opcode sequence includes CALLER then SELFDESTRUCT; detector shows selfdestruct_count=1 and no guards detected. Bytecode evidence shows JUMPDEST ... CALLER ... SELFDESTRUCT.",
    "locations": [
        "pc:2334"
    ],
    "recommendation": "Restrict any selfdestruct path to a clearly authorized role (or remove it). If intended for emergency use, require timelock/multisig and emit events.",
    "exploit_scenario": "If this path is externally reachable without strong access control, any caller can destroy the contract and redirect all ETH to themselves, causing total loss of funds and breaking dependent integrations."
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xb7af9e001b54b63d8e96ba496eda35714903c297988cd435ea6a9def9f999767
call_targets: 0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb7af9e001b54b63d8e96ba496eda35714903c297988cd435ea6a9def9f999767",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c"
    ],
    "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": "0x649630d8",
            "selector": "0x649630d8",
            "calldata_variants": [
                "0x649630d8",
                "0x649630d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x69369e9e",
            "selector": "0x69369e9e",
            "calldata_variants": [
                "0x69369e9e",
                "0x69369e9e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d9051d4",
            "selector": "0x8d9051d4",
            "calldata_variants": [
                "0x8d9051d4",
                "0x8d9051d40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x92748e1c",
            "selector": "0x92748e1c",
            "calldata_variants": [
                "0x92748e1c",
                "0x92748e1c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x022914a7",
            "selector": "0x022914a7",
            "calldata_variants": [
                "0x022914a7",
                "0x022914a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1cff79cd",
            "selector": "0x1cff79cd",
            "calldata_variants": [
                "0x1cff79cd",
                "0x1cff79cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3000,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3550,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3907,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 14,
    "guards_detected": []
}
high other detector SELFDESTRUCT reachable 65 no no
view
trace_id: 0x58b1c6c6494c50b6fbd23bfec06d929962fb7861a27facd3296f03ac1e5117e4
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 20,
    "trace_id": "0x58b1c6c6494c50b6fbd23bfec06d929962fb7861a27facd3296f03ac1e5117e4",
    "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": "0x649630d8",
            "selector": "0x649630d8",
            "calldata_variants": [
                "0x649630d8",
                "0x649630d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x69369e9e",
            "selector": "0x69369e9e",
            "calldata_variants": [
                "0x69369e9e",
                "0x69369e9e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d9051d4",
            "selector": "0x8d9051d4",
            "calldata_variants": [
                "0x8d9051d4",
                "0x8d9051d40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x92748e1c",
            "selector": "0x92748e1c",
            "calldata_variants": [
                "0x92748e1c",
                "0x92748e1c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x022914a7",
            "selector": "0x022914a7",
            "calldata_variants": [
                "0x022914a7",
                "0x022914a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1cff79cd",
            "selector": "0x1cff79cd",
            "calldata_variants": [
                "0x1cff79cd",
                "0x1cff79cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [],
    "selfdestruct_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xb7af9e001b54b63d8e96ba496eda35714903c297988cd435ea6a9def9f999767
call_targets: 0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb7af9e001b54b63d8e96ba496eda35714903c297988cd435ea6a9def9f999767",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c"
    ],
    "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": "0x649630d8",
            "selector": "0x649630d8",
            "calldata_variants": [
                "0x649630d8",
                "0x649630d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x69369e9e",
            "selector": "0x69369e9e",
            "calldata_variants": [
                "0x69369e9e",
                "0x69369e9e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d9051d4",
            "selector": "0x8d9051d4",
            "calldata_variants": [
                "0x8d9051d4",
                "0x8d9051d40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x92748e1c",
            "selector": "0x92748e1c",
            "calldata_variants": [
                "0x92748e1c",
                "0x92748e1c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x022914a7",
            "selector": "0x022914a7",
            "calldata_variants": [
                "0x022914a7",
                "0x022914a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1cff79cd",
            "selector": "0x1cff79cd",
            "calldata_variants": [
                "0x1cff79cd",
                "0x1cff79cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41c0e1b5",
            "selector": "0x41c0e1b5",
            "calldata_variants": [
                "0x41c0e1b5",
                "0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3000,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3550,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3907,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 14,
    "guards_detected": [],
    "untrusted_call_count": 14
}
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
medium reentrancy codex Multiple CALLs with computed target/value (reentrancy or arbitrary transfer risk) 75 no
view
evidence_json
{
    "evidence": "Detector reports untrusted_call_count=14 and eth_value_calls=14 with computed target/value and guards_detected=[]. Validation_json shows constant_target=0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c but status is unknown; returndata checking not shown.",
    "locations": [
        "pc:3000",
        "pc:3550",
        "pc:3907",
        "pc:4266",
        "pc:4623",
        "pc:4736",
        "pc:4857",
        "pc:6778",
        "pc:7328",
        "pc:7685",
        "pc:7798",
        "pc:7921",
        "pc:9070",
        "pc:9486"
    ],
    "recommendation": "Audit all CALL sites to confirm target/value are not user-controlled. Apply checks-effects-interactions or reentrancy guards around any state changes; consider restricting call targets to known addresses.",
    "exploit_scenario": "If users can influence the call target or value, this enables arbitrary ETH transfers. Any state updates after these calls could be reentered by a malicious callee. The detector\u2019s validation suggested a constant target equal to this contract, but target inference is uncertain from bytecode alone."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 20
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 22
}