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

Analysis Run

0fa307b2-4688-4d88-8903-39261ab986d8

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 2:55 PM
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
Verified
Review Backing
Not yet
Best current signal
Untrusted CALL target/value reachable
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
31267 report.consolidate complete 1 / 1 3 months ago
110600 artifact.fetch failed 1 / 3 1 week ago
110601 tool.cast_disasm complete 1 / 3 1 week ago
110602 analysis.bundle complete 1 / 3 1 week ago
110603 capability.graph complete 1 / 3 1 week ago
110604 detector.run complete 1 / 3 1 week ago
110605 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable profit path found in the provided contract.
View stderr
[codex:552286] OpenAI Codex v0.77.0 (research preview)
[codex:552286] --------
[codex:552286] workdir: /tmp/codex-multi-3q7nbpy_
[codex:552286] model: gpt-5.2-codex
[codex:552286] provider: openai
[codex:552286] approval: never
[codex:552286] sandbox: read-only
[codex:552286] reasoning effort: xhigh
[codex:552286] reasoning summaries: auto
[codex:552286] session id: 019b7f34-3adc-79a1-bc9d-cdd23dd6829d
[codex:552286] --------
[codex:552286] user
[codex:552286] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:552286] 
[codex:552286] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:552286] 
[codex:552286] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:552286] - Gas inefficiency, code quality, naming, or best practices
[codex:552286] - Theoretical vulnerabilities without a clear extraction path
[codex:552286] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:552286] - Front-running unless it enables theft beyond MEV
[codex:552286] - DoS, griefing, or issues that don't result in attacker profit
[codex:552286] - Missing events, view function issues, or informational findings
[codex:552286] 
[codex:552286] HIGH-VALUE PATTERNS TO HUNT:
[codex:552286] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:552286] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:552286] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:552286] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:552286] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:552286] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:552286] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:552286] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:552286] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:552286] 
[codex:552286] For each finding, you MUST provide:
[codex:552286] 1. Exact file and line numbers of vulnerable code
[codex:552286] 2. Step-by-step exploit transaction sequence
[codex:552286] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:552286] 
[codex:552286] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:552286] 
[codex:552286] Output MUST be valid JSON matching the provided schema.
[codex:552286] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:552286] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:552286] mcp startup: no servers
[codex:552286] 
[codex:552286] thinking
[codex:552286] **Reading audit bundle with cat**
[codex:552286] exec
[codex:552286] /bin/bash -lc ls in /tmp/codex-multi-3q7nbpy_ succeeded in 5ms:
[codex:552286] AUDIT_BUNDLE.txt
[codex:552286] codex-output-schema.json
[codex:552286] contracts
[codex:552286] exec
[codex:552286] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-3q7nbpy_ succeeded in 6ms:
[codex:552286] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:552286] 
[codex:552286] ================================================================================
[codex:552286] FILE: contracts/Contract.sol
[codex:552286] ================================================================================
[codex:552286] pragma solidity 0.5.2;
[codex:552286] 
[codex:552286] /**
[codex:552286]  * @title SafeMath
[codex:552286]  * @dev Math operations with safety checks that revert on error
[codex:552286]  */
[codex:552286] library SafeMath {
[codex:552286] 
[codex:552286]   /**
[codex:552286]   * @dev Multiplies two numbers, reverts on overflow.
[codex:552286]   */
[codex:552286]   function mul(uint256 a, uint256 b) internal pure returns (uint256) {
[codex:552286]     // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
[codex:552286]     // benefit is lost if 'b' is also tested.
[codex:552286]     // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
[codex:552286] 
[codex:552286] thinking
[codex:552286] **Analyzing potential multisig exploits**
[codex:552286] codex
[codex:552286] {"no_findings":true,"summary":"No concrete, exploitable profit path found in the provided contract.","findings":[]}
[codex:552286] tokens used
[codex:552286] 9,901
[codex:552286] {"no_findings":true,"summary":"No concrete, exploitable profit path found in the provided contract.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T14:55:29.204610+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit path found in the provided contract.",
    "raw_final": {
        "summary": "No concrete, exploitable profit path found in the provided contract.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
0
Total opcodes
5389
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0147
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: DUP1
00000031: PUSH4 0xa0e67e2b
00000036: GT
00000037: PUSH2 0x00c8
0000003a: JUMPI
0000003b: DUP1
0000003c: PUSH4 0xc01a8c84
00000041: GT
00000042: PUSH2 0x008c
00000045: JUMPI
00000046: DUP1
00000047: PUSH4 0xc01a8c84
0000004c: EQ
0000004d: PUSH2 0x07e1
00000050: JUMPI
00000051: DUP1
00000052: PUSH4 0xc6427474
00000057: EQ
00000058: PUSH2 0x081c
0000005b: JUMPI
0000005c: DUP1
0000005d: PUSH4 0xd74f8edd
00000062: EQ
00000063: PUSH2 0x08e0
00000066: JUMPI
00000067: DUP1
00000068: PUSH4 0xdc8452cd
0000006d: EQ
0000006e: PUSH2 0x090b
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0xe20056e6
00000078: EQ
00000079: PUSH2 0x0936
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xee22610b
00000083: EQ
00000084: PUSH2 0x09a7
00000087: JUMPI
00000088: PUSH2 0x0147
0000008b: JUMP
0000008c: JUMPDEST
0000008d: DUP1
0000008e: PUSH4 0xa0e67e2b
00000093: EQ
00000094: PUSH2 0x05cd
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xa8abe69a
0000009e: EQ
0000009f: PUSH2 0x0639
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xb5dc40c3
000000a9: EQ
000000aa: PUSH2 0x06eb
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xb77bf600
000000b4: EQ
000000b5: PUSH2 0x077b
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xba51a6df
000000bf: EQ
000000c0: PUSH2 0x07a6
000000c3: JUMPI
000000c4: PUSH2 0x0147
000000c7: JUMP
000000c8: JUMPDEST
000000c9: DUP1
000000ca: PUSH4 0x54741525
000000cf: GT
000000d0: PUSH2 0x010f
000000d3: JUMPI
000000d4: DUP1
000000d5: PUSH4 0x54741525
000000da: EQ
000000db: PUSH2 0x0384
000000de: JUMPI
000000df: DUP1
000000e0: PUSH4 0x7065cb48
000000e5: EQ
000000e6: PUSH2 0x03e1
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0x784547a7
000000f0: EQ
000000f1: PUSH2 0x0432
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x8b51d13f
000000fb: EQ
000000fc: PUSH2 0x0485
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0x9ace38c2
00000106: EQ
00000107: PUSH2 0x04d4
0000010a: JUMPI
0000010b: PUSH2 0x0147
0000010e: JUMP
0000010f: JUMPDEST
00000110: DUP1
00000111: PUSH4 0x025e7c27
00000116: EQ
00000117: PUSH2 0x01a1
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x173825d9
00000121: EQ
00000122: PUSH2 0x021c
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0x20ea8d86
0000012c: EQ
0000012d: PUSH2 0x026d
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0x2f54bf6e
00000137: EQ
00000138: PUSH2 0x02a8
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0x3411c81c
00000142: EQ
00000143: PUSH2 0x0311
00000146: JUMPI
00000147: JUMPDEST
00000148: PUSH1 0x00
0000014a: CALLVALUE
0000014b: GT
0000014c: ISZERO
0000014d: PUSH2 0x019f
00000150: JUMPI
00000151: CALLER
00000152: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000167: AND
00000168: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
00000189: CALLVALUE
0000018a: PUSH1 0x40
0000018c: MLOAD
0000018d: DUP1
0000018e: DUP3
0000018f: DUP2
00000190: MSTORE
00000191: PUSH1 0x20
00000193: ADD
00000194: SWAP2
00000195: POP
00000196: POP
00000197: PUSH1 0x40
00000199: MLOAD
0000019a: DUP1
0000019b: SWAP2
0000019c: SUB
0000019d: SWAP1
0000019e: LOG2
0000019f: JUMPDEST
000001a0: STOP
000001a1: JUMPDEST
000001a2: CALLVALUE
000001a3: DUP1
000001a4: ISZERO
000001a5: PUSH2 0x01ad
000001a8: JUMPI
000001a9: PUSH1 0x00
000001ab: DUP1
000001ac: REVERT
000001ad: JUMPDEST
000001ae: POP
000001af: PUSH2 0x01da
000001b2: PUSH1 0x04
000001b4: DUP1
000001b5: CALLDATASIZE
000001b6: SUB
000001b7: PUSH1 0x20
000001b9: DUP2
000001ba: LT
000001bb: ISZERO
000001bc: PUSH2 0x01c4
000001bf: JUMPI
000001c0: PUSH1 0x00
000001c2: DUP1
000001c3: REVERT
000001c4: JUMPDEST
000001c5: DUP2
000001c6: ADD
000001c7: SWAP1
000001c8: DUP1
000001c9: DUP1
000001ca: CALLDATALOAD
000001cb: SWAP1
000001cc: PUSH1 0x20
000001ce: ADD
000001cf: SWAP1
000001d0: SWAP3
000001d1: SWAP2
000001d2: SWAP1
000001d3: POP
000001d4: POP
000001d5: POP
000001d6: PUSH2 0x09e2
000001d9: JUMP
000001da: JUMPDEST
000001db: PUSH1 0x40
000001dd: MLOAD
000001de: DUP1
000001df: DUP3
000001e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001f5: AND
000001f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000020b: AND
0000020c: DUP2
0000020d: MSTORE
0000020e: PUSH1 0x20
00000210: ADD
00000211: SWAP2
00000212: POP
00000213: POP
00000214: PUSH1 0x40
00000216: MLOAD
00000217: DUP1
00000218: SWAP2
00000219: SUB
0000021a: SWAP1
0000021b: RETURN
0000021c: JUMPDEST
0000021d: CALLVALUE
0000021e: DUP1
0000021f: ISZERO
00000220: PUSH2 0x0228
00000223: JUMPI
00000224: PUSH1 0x00
00000226: DUP1
00000227: REVERT
00000228: JUMPDEST
00000229: POP
0000022a: PUSH2 0x026b
0000022d: PUSH1 0x04
0000022f: DUP1
00000230: CALLDATASIZE
00000231: SUB
00000232: PUSH1 0x20
00000234: DUP2
00000235: LT
00000236: ISZERO
00000237: PUSH2 0x023f
0000023a: JUMPI
0000023b: PUSH1 0x00
0000023d: DUP1
0000023e: REVERT
0000023f: JUMPDEST
00000240: DUP2
00000241: ADD
00000242: SWAP1
00000243: DUP1
00000244: DUP1
00000245: CALLDATALOAD
00000246: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000025b: AND
0000025c: SWAP1
0000025d: PUSH1 0x20
0000025f: ADD
00000260: SWAP1
00000261: SWAP3
00000262: SWAP2
00000263: SWAP1
00000264: POP
00000265: POP
00000266: POP
00000267: PUSH2 0x0a20
0000026a: JUMP
0000026b: JUMPDEST
0000026c: STOP
0000026d: JUMPDEST
0000026e: CALLVALUE
0000026f: DUP1
00000270: ISZERO
00000271: PUSH2 0x0279
00000274: JUMPI
00000275: PUSH1 0x00
00000277: DUP1
00000278: REVERT
00000279: JUMPDEST
0000027a: POP
0000027b: PUSH2 0x02a6
0000027e: PUSH1 0x04
00000280: DUP1
00000281: CALLDATASIZE
00000282: SUB
00000283: PUSH1 0x20
00000285: DUP2
00000286: LT
00000287: ISZERO
00000288: PUSH2 0x0290
0000028b: JUMPI
0000028c: PUSH1 0x00
0000028e: DUP1
0000028f: REVERT
00000290: JUMPDEST
00000291: DUP2
00000292: ADD
00000293: SWAP1
00000294: DUP1
00000295: DUP1
00000296: CALLDATALOAD
00000297: SWAP1
00000298: PUSH1 0x20
0000029a: ADD
0000029b: SWAP1
0000029c: SWAP3
0000029d: SWAP2
0000029e: SWAP1
0000029f: POP
000002a0: POP
000002a1: POP
000002a2: PUSH2 0x0ce6
000002a5: JUMP
000002a6: JUMPDEST
000002a7: STOP
000002a8: JUMPDEST
000002a9: CALLVALUE
000002aa: DUP1
000002ab: ISZERO
000002ac: PUSH2 0x02b4
000002af: JUMPI
000002b0: PUSH1 0x00
000002b2: DUP1
000002b3: REVERT
000002b4: JUMPDEST
000002b5: POP
000002b6: PUSH2 0x02f7
000002b9: PUSH1 0x04
000002bb: DUP1
000002bc: CALLDATASIZE
000002bd: SUB
000002be: PUSH1 0x20
000002c0: DUP2
000002c1: LT
000002c2: ISZERO
000002c3: PUSH2 0x02cb
000002c6: JUMPI
000002c7: PUSH1 0x00
000002c9: DUP1
000002ca: REVERT
000002cb: JUMPDEST
000002cc: DUP2
000002cd: ADD
000002ce: SWAP1
000002cf: DUP1
000002d0: DUP1
000002d1: CALLDATALOAD
000002d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002e7: AND
000002e8: SWAP1
000002e9: PUSH1 0x20
000002eb: ADD
000002ec: SWAP1
000002ed: SWAP3
000002ee: SWAP2
000002ef: SWAP1
000002f0: POP
000002f1: POP
000002f2: POP
000002f3: PUSH2 0x0e8e
000002f6: JUMP
000002f7: JUMPDEST
000002f8: PUSH1 0x40
000002fa: MLOAD
000002fb: DUP1
000002fc: DUP3
000002fd: ISZERO
000002fe: ISZERO
000002ff: ISZERO
00000300: ISZERO
00000301: DUP2
00000302: MSTORE
00000303: PUSH1 0x20
00000305: ADD
00000306: SWAP2
00000307: POP
00000308: POP
00000309: PUSH1 0x40
0000030b: MLOAD
0000030c: DUP1
0000030d: SWAP2
0000030e: SUB
0000030f: SWAP1
00000310: RETURN
00000311: JUMPDEST
00000312: CALLVALUE
00000313: DUP1
00000314: ISZERO
00000315: PUSH2 0x031d
00000318: JUMPI
00000319: PUSH1 0x00
0000031b: DUP1
0000031c: REVERT
0000031d: JUMPDEST
0000031e: POP
0000031f: PUSH2 0x036a
00000322: PUSH1 0x04
00000324: DUP1
00000325: CALLDATASIZE
00000326: SUB
00000327: PUSH1 0x40
00000329: DUP2
0000032a: LT
0000032b: ISZERO
0000032c: PUSH2 0x0334
0000032f: JUMPI
00000330: PUSH1 0x00
00000332: DUP1
00000333: REVERT
00000334: JUMPDEST
00000335: DUP2
00000336: ADD
00000337: SWAP1
00000338: DUP1
00000339: DUP1
0000033a: CALLDATALOAD
0000033b: SWAP1
0000033c: PUSH1 0x20
0000033e: ADD
0000033f: SWAP1
00000340: SWAP3
00000341: SWAP2
00000342: SWAP1
00000343: DUP1
00000344: CALLDATALOAD
00000345: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000035a: AND
0000035b: SWAP1
0000035c: PUSH1 0x20
0000035e: ADD
0000035f: SWAP1
00000360: SWAP3
00000361: SWAP2
00000362: SWAP1
00000363: POP
00000364: POP
00000365: POP
00000366: PUSH2 0x0eae
00000369: JUMP
0000036a: JUMPDEST
0000036b: PUSH1 0x40
0000036d: MLOAD
0000036e: DUP1
0000036f: DUP3
00000370: ISZERO
00000371: ISZERO
00000372: ISZERO
00000373: ISZERO
00000374: DUP2
00000375: MSTORE
00000376: PUSH1 0x20
00000378: ADD
00000379: SWAP2
0000037a: POP
0000037b: POP
0000037c: PUSH1 0x40
0000037e: MLOAD
0000037f: DUP1
00000380: SWAP2
00000381: SUB
00000382: SWAP1
00000383: RETURN
00000384: JUMPDEST
00000385: CALLVALUE
00000386: DUP1
00000387: ISZERO
00000388: PUSH2 0x0390
0000038b: JUMPI
0000038c: PUSH1 0x00
0000038e: DUP1
0000038f: REVERT
00000390: JUMPDEST
00000391: POP
00000392: PUSH2 0x03cb
00000395: PUSH1 0x04
00000397: DUP1
00000398: CALLDATASIZE
00000399: SUB
0000039a: PUSH1 0x40
0000039c: DUP2
0000039d: LT
0000039e: ISZERO
0000039f: PUSH2 0x03a7
000003a2: JUMPI
000003a3: PUSH1 0x00
000003a5: DUP1
000003a6: REVERT
000003a7: JUMPDEST
000003a8: DUP2
000003a9: ADD
000003aa: SWAP1
000003ab: DUP1
000003ac: DUP1
000003ad: CALLDATALOAD
000003ae: ISZERO
000003af: ISZERO
000003b0: SWAP1
000003b1: PUSH1 0x20
000003b3: ADD
000003b4: SWAP1
000003b5: SWAP3
000003b6: SWAP2
000003b7: SWAP1
000003b8: DUP1
000003b9: CALLDATALOAD
000003ba: ISZERO
000003bb: ISZERO
000003bc: SWAP1
000003bd: PUSH1 0x20
000003bf: ADD
000003c0: SWAP1
000003c1: SWAP3
000003c2: SWAP2
000003c3: SWAP1
000003c4: POP
000003c5: POP
000003c6: POP
000003c7: PUSH2 0x0edd
000003ca: JUMP
000003cb: JUMPDEST
000003cc: PUSH1 0x40
000003ce: MLOAD
000003cf: DUP1
000003d0: DUP3
000003d1: DUP2
000003d2: MSTORE
000003d3: PUSH1 0x20
000003d5: ADD
000003d6: SWAP2
000003d7: POP
000003d8: POP
000003d9: PUSH1 0x40
000003db: MLOAD
000003dc: DUP1
000003dd: SWAP2
000003de: SUB
000003df: SWAP1
000003e0: RETURN
000003e1: JUMPDEST
000003e2: CALLVALUE
000003e3: DUP1
000003e4: ISZERO
000003e5: PUSH2 0x03ed
000003e8: JUMPI
000003e9: PUSH1 0x00
000003eb: DUP1
000003ec: REVERT
000003ed: JUMPDEST
000003ee: POP
000003ef: PUSH2 0x0430
000003f2: PUSH1 0x04
000003f4: DUP1
000003f5: CALLDATASIZE
000003f6: SUB
000003f7: PUSH1 0x20
000003f9: DUP2
000003fa: LT
000003fb: ISZERO
000003fc: PUSH2 0x0404
000003ff: JUMPI
00000400: PUSH1 0x00
00000402: DUP1
00000403: REVERT
00000404: JUMPDEST
00000405: DUP2
00000406: ADD
00000407: SWAP1
00000408: DUP1
00000409: DUP1
0000040a: CALLDATALOAD
0000040b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000420: AND
00000421: SWAP1
00000422: PUSH1 0x20
00000424: ADD
00000425: SWAP1
00000426: SWAP3
00000427: SWAP2
00000428: SWAP1
00000429: POP
0000042a: POP
0000042b: POP
0000042c: PUSH2 0x0f6f
0000042f: JUMP
00000430: JUMPDEST
00000431: STOP
00000432: JUMPDEST
00000433: CALLVALUE
00000434: DUP1
00000435: ISZERO
00000436: PUSH2 0x043e
00000439: JUMPI
0000043a: PUSH1 0x00
0000043c: DUP1
0000043d: REVERT
0000043e: JUMPDEST
0000043f: POP
00000440: PUSH2 0x046b
00000443: PUSH1 0x04
00000445: DUP1
00000446: CALLDATASIZE
00000447: SUB
00000448: PUSH1 0x20
0000044a: DUP2
0000044b: LT
0000044c: ISZERO
0000044d: PUSH2 0x0455
00000450: JUMPI
00000451: PUSH1 0x00
00000453: DUP1
00000454: REVERT
00000455: JUMPDEST
00000456: DUP2
00000457: ADD
00000458: SWAP1
00000459: DUP1
0000045a: DUP1
0000045b: CALLDATALOAD
0000045c: SWAP1
0000045d: PUSH1 0x20
0000045f: ADD
00000460: SWAP1
00000461: SWAP3
00000462: SWAP2
00000463: SWAP1
00000464: POP
00000465: POP
00000466: POP
00000467: PUSH2 0x119a
0000046a: JUMP
0000046b: JUMPDEST
0000046c: PUSH1 0x40
0000046e: MLOAD
0000046f: DUP1
00000470: DUP3
00000471: ISZERO
00000472: ISZERO
00000473: ISZERO
00000474: ISZERO
00000475: DUP2
00000476: MSTORE
00000477: PUSH1 0x20
00000479: ADD
0000047a: SWAP2
0000047b: POP
0000047c: POP
0000047d: PUSH1 0x40
0000047f: MLOAD
00000480: DUP1
00000481: SWAP2
00000482: SUB
00000483: SWAP1
00000484: RETURN
00000485: JUMPDEST
00000486: CALLVALUE
00000487: DUP1
00000488: ISZERO
00000489: PUSH2 0x0491
0000048c: JUMPI
0000048d: PUSH1 0x00
0000048f: DUP1
00000490: REVERT
00000491: JUMPDEST
00000492: POP
00000493: PUSH2 0x04be
00000496: PUSH1 0x04
00000498: DUP1
00000499: CALLDATASIZE
0000049a: SUB
0000049b: PUSH1 0x20
0000049d: DUP2
0000049e: LT
0000049f: ISZERO
000004a0: PUSH2 0x04a8
000004a3: JUMPI
000004a4: PUSH1 0x00
000004a6: DUP1
000004a7: REVERT
000004a8: JUMPDEST
000004a9: DUP2
000004aa: ADD
000004ab: SWAP1
000004ac: DUP1
000004ad: DUP1
000004ae: CALLDATALOAD
000004af: SWAP1
000004b0: PUSH1 0x20
000004b2: ADD
000004b3: SWAP1
000004b4: SWAP3
000004b5: SWAP2
000004b6: SWAP1
000004b7: POP
000004b8: POP
000004b9: POP
000004ba: PUSH2 0x1281
000004bd: JUMP
000004be: JUMPDEST
000004bf: PUSH1 0x40
000004c1: MLOAD
000004c2: DUP1
000004c3: DUP3
000004c4: DUP2
000004c5: MSTORE
000004c6: PUSH1 0x20
000004c8: ADD
000004c9: SWAP2
000004ca: POP
000004cb: POP
000004cc: PUSH1 0x40
000004ce: MLOAD
000004cf: DUP1
000004d0: SWAP2
000004d1: SUB
000004d2: SWAP1
000004d3: RETURN
000004d4: JUMPDEST
000004d5: CALLVALUE
000004d6: DUP1
000004d7: ISZERO
000004d8: PUSH2 0x04e0
000004db: JUMPI
000004dc: PUSH1 0x00
000004de: DUP1
000004df: REVERT
000004e0: JUMPDEST
000004e1: POP
000004e2: PUSH2 0x050d
000004e5: PUSH1 0x04
000004e7: DUP1
000004e8: CALLDATASIZE
000004e9: SUB
000004ea: PUSH1 0x20
000004ec: DUP2
000004ed: LT
000004ee: ISZERO
000004ef: PUSH2 0x04f7
000004f2: JUMPI
000004f3: PUSH1 0x00
000004f5: DUP1
000004f6: REVERT
000004f7: JUMPDEST
000004f8: DUP2
000004f9: ADD
000004fa: SWAP1
000004fb: DUP1
000004fc: DUP1
000004fd: CALLDATALOAD
000004fe: SWAP1
000004ff: PUSH1 0x20
00000501: ADD
00000502: SWAP1
00000503: SWAP3
00000504: SWAP2
00000505: SWAP1
00000506: POP
00000507: POP
00000508: POP
00000509: PUSH2 0x134c
0000050c: JUMP
0000050d: JUMPDEST
0000050e: PUSH1 0x40
00000510: MLOAD
00000511: DUP1
00000512: DUP6
00000513: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000528: AND
00000529: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000053e: AND
0000053f: DUP2
00000540: MSTORE
00000541: PUSH1 0x20
00000543: ADD
00000544: DUP5
00000545: DUP2
00000546: MSTORE
00000547: PUSH1 0x20
00000549: ADD
0000054a: DUP1
0000054b: PUSH1 0x20
0000054d: ADD
0000054e: DUP4
0000054f: ISZERO
00000550: ISZERO
00000551: ISZERO
00000552: ISZERO
00000553: DUP2
00000554: MSTORE
00000555: PUSH1 0x20
00000557: ADD
00000558: DUP3
00000559: DUP2
0000055a: SUB
0000055b: DUP3
0000055c: MSTORE
0000055d: DUP5
0000055e: DUP2
0000055f: DUP2
00000560: MLOAD
00000561: DUP2
00000562: MSTORE
00000563: PUSH1 0x20
00000565: ADD
00000566: SWAP2
00000567: POP
00000568: DUP1
00000569: MLOAD
0000056a: SWAP1
0000056b: PUSH1 0x20
0000056d: ADD
0000056e: SWAP1
0000056f: DUP1
00000570: DUP4
00000571: DUP4
00000572: PUSH1 0x00
00000574: JUMPDEST
00000575: DUP4
00000576: DUP2
00000577: LT
00000578: ISZERO
00000579: PUSH2 0x058f
0000057c: JUMPI
0000057d: DUP1
0000057e: DUP3
0000057f: ADD
00000580: MLOAD
00000581: DUP2
00000582: DUP5
00000583: ADD
00000584: MSTORE
00000585: PUSH1 0x20
00000587: DUP2
00000588: ADD
00000589: SWAP1
0000058a: POP
0000058b: PUSH2 0x0574
0000058e: JUMP
0000058f: JUMPDEST
00000590: POP
00000591: POP
00000592: POP
00000593: POP
00000594: SWAP1
00000595: POP
00000596: SWAP1
00000597: DUP2
00000598: ADD
00000599: SWAP1
0000059a: PUSH1 0x1f
0000059c: AND
0000059d: DUP1
0000059e: ISZERO
0000059f: PUSH2 0x05bc
000005a2: JUMPI
000005a3: DUP1
000005a4: DUP3
000005a5: SUB
000005a6: DUP1
000005a7: MLOAD
000005a8: PUSH1 0x01
000005aa: DUP4
000005ab: PUSH1 0x20
000005ad: SUB
000005ae: PUSH2 0x0100
000005b1: EXP
000005b2: SUB
000005b3: NOT
000005b4: AND
000005b5: DUP2
000005b6: MSTORE
000005b7: PUSH1 0x20
000005b9: ADD
000005ba: SWAP2
000005bb: POP
000005bc: JUMPDEST
000005bd: POP
000005be: SWAP6
000005bf: POP
000005c0: POP
000005c1: POP
000005c2: POP
000005c3: POP
000005c4: POP
000005c5: PUSH1 0x40
000005c7: MLOAD
000005c8: DUP1
000005c9: SWAP2
000005ca: SUB
000005cb: SWAP1
000005cc: RETURN
000005cd: JUMPDEST
000005ce: CALLVALUE
000005cf: DUP1
000005d0: ISZERO
000005d1: PUSH2 0x05d9
000005d4: JUMPI
000005d5: PUSH1 0x00
000005d7: DUP1
000005d8: REVERT
000005d9: JUMPDEST
000005da: POP
000005db: PUSH2 0x05e2
000005de: PUSH2 0x1441
000005e1: JUMP
000005e2: JUMPDEST
000005e3: PUSH1 0x40
000005e5: MLOAD
000005e6: DUP1
000005e7: DUP1
000005e8: PUSH1 0x20
000005ea: ADD
000005eb: DUP3
000005ec: DUP2
000005ed: SUB
000005ee: DUP3
000005ef: MSTORE
000005f0: DUP4
000005f1: DUP2
000005f2: DUP2
000005f3: MLOAD
000005f4: DUP2
000005f5: MSTORE
000005f6: PUSH1 0x20
000005f8: ADD
000005f9: SWAP2
000005fa: POP
000005fb: DUP1
000005fc: MLOAD
000005fd: SWAP1
000005fe: PUSH1 0x20
00000600: ADD
00000601: SWAP1
00000602: PUSH1 0x20
00000604: MUL
00000605: DUP1
00000606: DUP4
00000607: DUP4
00000608: PUSH1 0x00
0000060a: JUMPDEST
0000060b: DUP4
0000060c: DUP2
0000060d: LT
0000060e: ISZERO
0000060f: PUSH2 0x0625
00000612: JUMPI
00000613: DUP1
00000614: DUP3
00000615: ADD
00000616: MLOAD
00000617: DUP2
00000618: DUP5
00000619: ADD
0000061a: MSTORE
0000061b: PUSH1 0x20
0000061d: DUP2
0000061e: ADD
0000061f: SWAP1
00000620: POP
00000621: PUSH2 0x060a
00000624: JUMP
00000625: JUMPDEST
00000626: POP
00000627: POP
00000628: POP
00000629: POP
0000062a: SWAP1
0000062b: POP
0000062c: ADD
0000062d: SWAP3
0000062e: POP
0000062f: POP
00000630: POP
00000631: PUSH1 0x40
00000633: MLOAD
00000634: DUP1
00000635: SWAP2
00000636: SUB
00000637: SWAP1
00000638: RETURN
00000639: JUMPDEST
0000063a: CALLVALUE
0000063b: DUP1
0000063c: ISZERO
0000063d: PUSH2 0x0645
00000640: JUMPI
00000641: PUSH1 0x00
00000643: DUP1
00000644: REVERT
00000645: JUMPDEST
00000646: POP
00000647: PUSH2 0x0694
0000064a: PUSH1 0x04
0000064c: DUP1
0000064d: CALLDATASIZE
0000064e: SUB
0000064f: PUSH1 0x80
00000651: DUP2
00000652: LT
00000653: ISZERO
00000654: PUSH2 0x065c
00000657: JUMPI
00000658: PUSH1 0x00
0000065a: DUP1
0000065b: REVERT
0000065c: JUMPDEST
0000065d: DUP2
0000065e: ADD
0000065f: SWAP1
00000660: DUP1
00000661: DUP1
00000662: CALLDATALOAD
00000663: SWAP1
00000664: PUSH1 0x20
00000666: ADD
00000667: SWAP1
00000668: SWAP3
00000669: SWAP2
0000066a: SWAP1
0000066b: DUP1
0000066c: CALLDATALOAD
0000066d: SWAP1
0000066e: PUSH1 0x20
00000670: ADD
00000671: SWAP1
00000672: SWAP3
00000673: SWAP2
00000674: SWAP1
00000675: DUP1
00000676: CALLDATALOAD
00000677: ISZERO
00000678: ISZERO
00000679: SWAP1
0000067a: PUSH1 0x20
0000067c: ADD
0000067d: SWAP1
0000067e: SWAP3
0000067f: SWAP2
00000680: SWAP1
00000681: DUP1
00000682: CALLDATALOAD
00000683: ISZERO
00000684: ISZERO
00000685: SWAP1
00000686: PUSH1 0x20
00000688: ADD
00000689: SWAP1
0000068a: SWAP3
0000068b: SWAP2
0000068c: SWAP1
0000068d: POP
0000068e: POP
0000068f: POP
00000690: PUSH2 0x14cf
00000693: JUMP
00000694: JUMPDEST
00000695: PUSH1 0x40
00000697: MLOAD
00000698: DUP1
00000699: DUP1
0000069a: PUSH1 0x20
0000069c: ADD
0000069d: DUP3
0000069e: DUP2
0000069f: SUB
000006a0: DUP3
000006a1: MSTORE
000006a2: DUP4
000006a3: DUP2
000006a4: DUP2
000006a5: MLOAD
000006a6: DUP2
000006a7: MSTORE
000006a8: PUSH1 0x20
000006aa: ADD
000006ab: SWAP2
000006ac: POP
000006ad: DUP1
000006ae: MLOAD
000006af: SWAP1
000006b0: PUSH1 0x20
000006b2: ADD
000006b3: SWAP1
000006b4: PUSH1 0x20
000006b6: MUL
000006b7: DUP1
000006b8: DUP4
000006b9: DUP4
000006ba: PUSH1 0x00
000006bc: JUMPDEST
000006bd: DUP4
000006be: DUP2
000006bf: LT
000006c0: ISZERO
000006c1: PUSH2 0x06d7
000006c4: JUMPI
000006c5: DUP1
000006c6: DUP3
000006c7: ADD
000006c8: MLOAD
000006c9: DUP2
000006ca: DUP5
000006cb: ADD
000006cc: MSTORE
000006cd: PUSH1 0x20
000006cf: DUP2
000006d0: ADD
000006d1: SWAP1
000006d2: POP
000006d3: PUSH2 0x06bc
000006d6: JUMP
000006d7: JUMPDEST
000006d8: POP
000006d9: POP
000006da: POP
000006db: POP
000006dc: SWAP1
000006dd: POP
000006de: ADD
000006df: SWAP3
000006e0: POP
000006e1: POP
000006e2: POP
000006e3: PUSH1 0x40
000006e5: MLOAD
000006e6: DUP1
000006e7: SWAP2
000006e8: SUB
000006e9: SWAP1
000006ea: RETURN
000006eb: JUMPDEST
000006ec: CALLVALUE
000006ed: DUP1
000006ee: ISZERO
000006ef: PUSH2 0x06f7
000006f2: JUMPI
000006f3: PUSH1 0x00
000006f5: DUP1
000006f6: REVERT
000006f7: JUMPDEST
000006f8: POP
000006f9: PUSH2 0x0724
000006fc: PUSH1 0x04
000006fe: DUP1
000006ff: CALLDATASIZE
00000700: SUB
00000701: PUSH1 0x20
00000703: DUP2
00000704: LT
00000705: ISZERO
00000706: PUSH2 0x070e
00000709: JUMPI
0000070a: PUSH1 0x00
0000070c: DUP1
0000070d: REVERT
0000070e: JUMPDEST
0000070f: DUP2
00000710: ADD
00000711: SWAP1
00000712: DUP1
00000713: DUP1
00000714: CALLDATALOAD
00000715: SWAP1
00000716: PUSH1 0x20
00000718: ADD
00000719: SWAP1
0000071a: SWAP3
0000071b: SWAP2
0000071c: SWAP1
0000071d: POP
0000071e: POP
0000071f: POP
00000720: PUSH2 0x166f
00000723: JUMP
00000724: JUMPDEST
00000725: PUSH1 0x40
00000727: MLOAD
00000728: DUP1
00000729: DUP1
0000072a: PUSH1 0x20
0000072c: ADD
0000072d: DUP3
0000072e: DUP2
0000072f: SUB
00000730: DUP3
00000731: MSTORE
00000732: DUP4
00000733: DUP2
00000734: DUP2
00000735: MLOAD
00000736: DUP2
00000737: MSTORE
00000738: PUSH1 0x20
0000073a: ADD
0000073b: SWAP2
0000073c: POP
0000073d: DUP1
0000073e: MLOAD
0000073f: SWAP1
00000740: PUSH1 0x20
00000742: ADD
00000743: SWAP1
00000744: PUSH1 0x20
00000746: MUL
00000747: DUP1
00000748: DUP4
00000749: DUP4
0000074a: PUSH1 0x00
0000074c: JUMPDEST
0000074d: DUP4
0000074e: DUP2
0000074f: LT
00000750: ISZERO
00000751: PUSH2 0x0767
00000754: JUMPI
00000755: DUP1
00000756: DUP3
00000757: ADD
00000758: MLOAD
00000759: DUP2
0000075a: DUP5
0000075b: ADD
0000075c: MSTORE
0000075d: PUSH1 0x20
0000075f: DUP2
00000760: ADD
00000761: SWAP1
00000762: POP
00000763: PUSH2 0x074c
00000766: JUMP
00000767: JUMPDEST
00000768: POP
00000769: POP
0000076a: POP
0000076b: POP
0000076c: SWAP1
0000076d: POP
0000076e: ADD
0000076f: SWAP3
00000770: POP
00000771: POP
00000772: POP
00000773: PUSH1 0x40
00000775: MLOAD
00000776: DUP1
00000777: SWAP2
00000778: SUB
00000779: SWAP1
0000077a: RETURN
0000077b: JUMPDEST
0000077c: CALLVALUE
0000077d: DUP1
0000077e: ISZERO
0000077f: PUSH2 0x0787
00000782: JUMPI
00000783: PUSH1 0x00
00000785: DUP1
00000786: REVERT
00000787: JUMPDEST
00000788: POP
00000789: PUSH2 0x0790
0000078c: PUSH2 0x18bb
0000078f: JUMP
00000790: JUMPDEST
00000791: PUSH1 0x40
00000793: MLOAD
00000794: DUP1
00000795: DUP3
00000796: DUP2
00000797: MSTORE
00000798: PUSH1 0x20
0000079a: ADD
0000079b: SWAP2
0000079c: POP
0000079d: POP
0000079e: PUSH1 0x40
000007a0: MLOAD
000007a1: DUP1
000007a2: SWAP2
000007a3: SUB
000007a4: SWAP1
000007a5: RETURN
000007a6: JUMPDEST
000007a7: CALLVALUE
000007a8: DUP1
000007a9: ISZERO
000007aa: PUSH2 0x07b2
000007ad: JUMPI
000007ae: PUSH1 0x00
000007b0: DUP1
000007b1: REVERT
000007b2: JUMPDEST
000007b3: POP
000007b4: PUSH2 0x07df
000007b7: PUSH1 0x04
000007b9: DUP1
000007ba: CALLDATASIZE
000007bb: SUB
000007bc: PUSH1 0x20
000007be: DUP2
000007bf: LT
000007c0: ISZERO
000007c1: PUSH2 0x07c9
000007c4: JUMPI
000007c5: PUSH1 0x00
000007c7: DUP1
000007c8: REVERT
000007c9: JUMPDEST
000007ca: DUP2
000007cb: ADD
000007cc: SWAP1
000007cd: DUP1
000007ce: DUP1
000007cf: CALLDATALOAD
000007d0: SWAP1
000007d1: PUSH1 0x20
000007d3: ADD
000007d4: SWAP1
000007d5: SWAP3
000007d6: SWAP2
000007d7: SWAP1
000007d8: POP
000007d9: POP
000007da: POP
000007db: PUSH2 0x18c1
000007de: JUMP
000007df: JUMPDEST
000007e0: STOP
000007e1: JUMPDEST
000007e2: CALLVALUE
000007e3: DUP1
000007e4: ISZERO
000007e5: PUSH2 0x07ed
000007e8: JUMPI
000007e9: PUSH1 0x00
000007eb: DUP1
000007ec: REVERT
000007ed: JUMPDEST
000007ee: POP
000007ef: PUSH2 0x081a
000007f2: PUSH1 0x04
000007f4: DUP1
000007f5: CALLDATASIZE
000007f6: SUB
000007f7: PUSH1 0x20
000007f9: DUP2
000007fa: LT
000007fb: ISZERO
000007fc: PUSH2 0x0804
000007ff: JUMPI
00000800: PUSH1 0x00
00000802: DUP1
00000803: REVERT
00000804: JUMPDEST
00000805: DUP2
00000806: ADD
00000807: SWAP1
00000808: DUP1
00000809: DUP1
0000080a: CALLDATALOAD
0000080b: SWAP1
0000080c: PUSH1 0x20
0000080e: ADD
0000080f: SWAP1
00000810: SWAP3
00000811: SWAP2
00000812: SWAP1
00000813: POP
00000814: POP
00000815: POP
00000816: PUSH2 0x197b
00000819: JUMP
0000081a: JUMPDEST
0000081b: STOP
0000081c: JUMPDEST
0000081d: CALLVALUE
0000081e: DUP1
0000081f: ISZERO
00000820: PUSH2 0x0828
00000823: JUMPI
00000824: PUSH1 0x00
00000826: DUP1
00000827: REVERT
00000828: JUMPDEST
00000829: POP
0000082a: PUSH2 0x08ca
0000082d: PUSH1 0x04
0000082f: DUP1
00000830: CALLDATASIZE
00000831: SUB
00000832: PUSH1 0x60
00000834: DUP2
00000835: LT
00000836: ISZERO
00000837: PUSH2 0x083f
0000083a: JUMPI
0000083b: PUSH1 0x00
0000083d: DUP1
0000083e: REVERT
0000083f: JUMPDEST
00000840: DUP2
00000841: ADD
00000842: SWAP1
00000843: DUP1
00000844: DUP1
00000845: CALLDATALOAD
00000846: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000085b: AND
0000085c: SWAP1
0000085d: PUSH1 0x20
0000085f: ADD
00000860: SWAP1
00000861: SWAP3
00000862: SWAP2
00000863: SWAP1
00000864: DUP1
00000865: CALLDATALOAD
00000866: SWAP1
00000867: PUSH1 0x20
00000869: ADD
0000086a: SWAP1
0000086b: SWAP3
0000086c: SWAP2
0000086d: SWAP1
0000086e: DUP1
0000086f: CALLDATALOAD
00000870: SWAP1
00000871: PUSH1 0x20
00000873: ADD
00000874: SWAP1
00000875: PUSH5 0x0100000000
0000087b: DUP2
0000087c: GT
0000087d: ISZERO
0000087e: PUSH2 0x0886
00000881: JUMPI
00000882: PUSH1 0x00
00000884: DUP1
00000885: REVERT
00000886: JUMPDEST
00000887: DUP3
00000888: ADD
00000889: DUP4
0000088a: PUSH1 0x20
0000088c: DUP3
0000088d: ADD
0000088e: GT
0000088f: ISZERO
00000890: PUSH2 0x0898
00000893: JUMPI
00000894: PUSH1 0x00
00000896: DUP1
00000897: REVERT
00000898: JUMPDEST
00000899: DUP1
0000089a: CALLDATALOAD
0000089b: SWAP1
0000089c: PUSH1 0x20
0000089e: ADD
0000089f: SWAP2
000008a0: DUP5
000008a1: PUSH1 0x01
000008a3: DUP4
000008a4: MUL
000008a5: DUP5
000008a6: ADD
000008a7: GT
000008a8: PUSH5 0x0100000000
000008ae: DUP4
000008af: GT
000008b0: OR
000008b1: ISZERO
000008b2: PUSH2 0x08ba
000008b5: JUMPI
000008b6: PUSH1 0x00
000008b8: DUP1
000008b9: REVERT
000008ba: JUMPDEST
000008bb: SWAP1
000008bc: SWAP2
000008bd: SWAP3
000008be: SWAP4
000008bf: SWAP2
000008c0: SWAP3
000008c1: SWAP4
000008c2: SWAP1
000008c3: POP
000008c4: POP
000008c5: POP
000008c6: PUSH2 0x1b6e
000008c9: JUMP
000008ca: JUMPDEST
000008cb: PUSH1 0x40
000008cd: MLOAD
000008ce: DUP1
000008cf: DUP3
000008d0: DUP2
000008d1: MSTORE
000008d2: PUSH1 0x20
000008d4: ADD
000008d5: SWAP2
000008d6: POP
000008d7: POP
000008d8: PUSH1 0x40
000008da: MLOAD
000008db: DUP1
000008dc: SWAP2
000008dd: SUB
000008de: SWAP1
000008df: RETURN
000008e0: JUMPDEST
000008e1: CALLVALUE
000008e2: DUP1
000008e3: ISZERO
000008e4: PUSH2 0x08ec
000008e7: JUMPI
000008e8: PUSH1 0x00
000008ea: DUP1
000008eb: REVERT
000008ec: JUMPDEST
000008ed: POP
000008ee: PUSH2 0x08f5
000008f1: PUSH2 0x1bff
000008f4: JUMP
000008f5: JUMPDEST
000008f6: PUSH1 0x40
000008f8: MLOAD
000008f9: DUP1
000008fa: DUP3
000008fb: DUP2
000008fc: MSTORE
000008fd: PUSH1 0x20
000008ff: ADD
00000900: SWAP2
00000901: POP
00000902: POP
00000903: PUSH1 0x40
00000905: MLOAD
00000906: DUP1
00000907: SWAP2
00000908: SUB
00000909: SWAP1
0000090a: RETURN
0000090b: JUMPDEST
0000090c: CALLVALUE
0000090d: DUP1
0000090e: ISZERO
0000090f: PUSH2 0x0917
00000912: JUMPI
00000913: PUSH1 0x00
00000915: DUP1
00000916: REVERT
00000917: JUMPDEST
00000918: POP
00000919: PUSH2 0x0920
0000091c: PUSH2 0x1c04
0000091f: JUMP
00000920: JUMPDEST
00000921: PUSH1 0x40
00000923: MLOAD
00000924: DUP1
00000925: DUP3
00000926: DUP2
00000927: MSTORE
00000928: PUSH1 0x20
0000092a: ADD
0000092b: SWAP2
0000092c: POP
0000092d: POP
0000092e: PUSH1 0x40
00000930: MLOAD
00000931: DUP1
00000932: SWAP2
00000933: SUB
00000934: SWAP1
00000935: RETURN
00000936: JUMPDEST
00000937: CALLVALUE
00000938: DUP1
00000939: ISZERO
0000093a: PUSH2 0x0942
0000093d: JUMPI
0000093e: PUSH1 0x00
00000940: DUP1
00000941: REVERT
00000942: JUMPDEST
00000943: POP
00000944: PUSH2 0x09a5
00000947: PUSH1 0x04
00000949: DUP1
0000094a: CALLDATASIZE
0000094b: SUB
0000094c: PUSH1 0x40
0000094e: DUP2
0000094f: LT
00000950: ISZERO
00000951: PUSH2 0x0959
00000954: JUMPI
00000955: PUSH1 0x00
00000957: DUP1
00000958: REVERT
00000959: JUMPDEST
0000095a: DUP2
0000095b: ADD
0000095c: SWAP1
0000095d: DUP1
0000095e: DUP1
0000095f: CALLDATALOAD
00000960: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000975: AND
00000976: SWAP1
00000977: PUSH1 0x20
00000979: ADD
0000097a: SWAP1
0000097b: SWAP3
0000097c: SWAP2
0000097d: SWAP1
0000097e: DUP1
0000097f: CALLDATALOAD
00000980: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000995: AND
00000996: SWAP1
00000997: PUSH1 0x20
00000999: ADD
0000099a: SWAP1
0000099b: SWAP3
0000099c: SWAP2
0000099d: SWAP1
0000099e: POP
0000099f: POP
000009a0: POP
000009a1: PUSH2 0x1c0a
000009a4: JUMP
000009a5: JUMPDEST
000009a6: STOP
000009a7: JUMPDEST
000009a8: CALLVALUE
000009a9: DUP1
000009aa: ISZERO
000009ab: PUSH2 0x09b3
000009ae: JUMPI
000009af: PUSH1 0x00
000009b1: DUP1
000009b2: REVERT
000009b3: JUMPDEST
000009b4: POP
000009b5: PUSH2 0x09e0
000009b8: PUSH1 0x04
000009ba: DUP1
000009bb: CALLDATASIZE
000009bc: SUB
000009bd: PUSH1 0x20
000009bf: DUP2
000009c0: LT
000009c1: ISZERO
000009c2: PUSH2 0x09ca
000009c5: JUMPI
000009c6: PUSH1 0x00
000009c8: DUP1
000009c9: REVERT
000009ca: JUMPDEST
000009cb: DUP2
000009cc: ADD
000009cd: SWAP1
000009ce: DUP1
000009cf: DUP1
000009d0: CALLDATALOAD
000009d1: SWAP1
000009d2: PUSH1 0x20
000009d4: ADD
000009d5: SWAP1
000009d6: SWAP3
000009d7: SWAP2
000009d8: SWAP1
000009d9: POP
000009da: POP
000009db: POP
000009dc: PUSH2 0x1f5c
000009df: JUMP
000009e0: JUMPDEST
000009e1: STOP
000009e2: JUMPDEST
000009e3: PUSH1 0x03
000009e5: DUP2
000009e6: DUP2
000009e7: SLOAD
000009e8: DUP2
000009e9: LT
000009ea: ISZERO
000009eb: ISZERO
000009ec: PUSH2 0x09f1
000009ef: JUMPI
000009f0: INVALID
000009f1: JUMPDEST
000009f2: SWAP1
000009f3: PUSH1 0x00
000009f5: MSTORE
000009f6: PUSH1 0x20
000009f8: PUSH1 0x00
000009fa: KECCAK256
000009fb: ADD
000009fc: PUSH1 0x00
000009fe: SWAP2
000009ff: POP
00000a00: SLOAD
00000a01: SWAP1
00000a02: PUSH2 0x0100
00000a05: EXP
00000a06: SWAP1
00000a07: DIV
00000a08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a1d: AND
00000a1e: DUP2
00000a1f: JUMP
00000a20: JUMPDEST
00000a21: ADDRESS
00000a22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a37: AND
00000a38: CALLER
00000a39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a4e: AND
00000a4f: EQ
00000a50: ISZERO
00000a51: ISZERO
00000a52: PUSH2 0x0a5a
00000a55: JUMPI
00000a56: PUSH1 0x00
00000a58: DUP1
00000a59: REVERT
00000a5a: JUMPDEST
00000a5b: DUP1
00000a5c: PUSH1 0x02
00000a5e: PUSH1 0x00
00000a60: DUP3
00000a61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a76: AND
00000a77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a8c: AND
00000a8d: DUP2
00000a8e: MSTORE
00000a8f: PUSH1 0x20
00000a91: ADD
00000a92: SWAP1
00000a93: DUP2
00000a94: MSTORE
00000a95: PUSH1 0x20
00000a97: ADD
00000a98: PUSH1 0x00
00000a9a: KECCAK256
00000a9b: PUSH1 0x00
00000a9d: SWAP1
00000a9e: SLOAD
00000a9f: SWAP1
00000aa0: PUSH2 0x0100
00000aa3: EXP
00000aa4: SWAP1
00000aa5: DIV
00000aa6: PUSH1 0xff
00000aa8: AND
00000aa9: ISZERO
00000aaa: ISZERO
00000aab: PUSH2 0x0ab3
00000aae: JUMPI
00000aaf: PUSH1 0x00
00000ab1: DUP1
00000ab2: REVERT
00000ab3: JUMPDEST
00000ab4: PUSH1 0x00
00000ab6: PUSH1 0x02
00000ab8: PUSH1 0x00
00000aba: DUP5
00000abb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ad0: AND
00000ad1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ae6: AND
00000ae7: DUP2
00000ae8: MSTORE
00000ae9: PUSH1 0x20
00000aeb: ADD
00000aec: SWAP1
00000aed: DUP2
00000aee: MSTORE
00000aef: PUSH1 0x20
00000af1: ADD
00000af2: PUSH1 0x00
00000af4: KECCAK256
00000af5: PUSH1 0x00
00000af7: PUSH2 0x0100
00000afa: EXP
00000afb: DUP2
00000afc: SLOAD
00000afd: DUP2
00000afe: PUSH1 0xff
00000b00: MUL
00000b01: NOT
00000b02: AND
00000b03: SWAP1
00000b04: DUP4
00000b05: ISZERO
00000b06: ISZERO
00000b07: MUL
00000b08: OR
00000b09: SWAP1
00000b0a: SSTORE
00000b0b: POP
00000b0c: PUSH1 0x00
00000b0e: DUP1
00000b0f: SWAP1
00000b10: POP
00000b11: JUMPDEST
00000b12: PUSH2 0x0b2a
00000b15: PUSH1 0x01
00000b17: PUSH1 0x03
00000b19: DUP1
00000b1a: SLOAD
00000b1b: SWAP1
00000b1c: POP
00000b1d: PUSH2 0x2204
00000b20: SWAP1
00000b21: SWAP2
00000b22: SWAP1
00000b23: PUSH4 0xffffffff
00000b28: AND
00000b29: JUMP
00000b2a: JUMPDEST
00000b2b: DUP2
00000b2c: LT
00000b2d: ISZERO
00000b2e: PUSH2 0x0c59
00000b31: JUMPI
00000b32: DUP3
00000b33: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b48: AND
00000b49: PUSH1 0x03
00000b4b: DUP3
00000b4c: DUP2
00000b4d: SLOAD
00000b4e: DUP2
00000b4f: LT
00000b50: ISZERO
00000b51: ISZERO
00000b52: PUSH2 0x0b57
00000b55: JUMPI
00000b56: INVALID
00000b57: JUMPDEST
00000b58: SWAP1
00000b59: PUSH1 0x00
00000b5b: MSTORE
00000b5c: PUSH1 0x20
00000b5e: PUSH1 0x00
00000b60: KECCAK256
00000b61: ADD
00000b62: PUSH1 0x00
00000b64: SWAP1
00000b65: SLOAD
00000b66: SWAP1
00000b67: PUSH2 0x0100
00000b6a: EXP
00000b6b: SWAP1
00000b6c: DIV
00000b6d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b82: AND
00000b83: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b98: AND
00000b99: EQ
00000b9a: ISZERO
00000b9b: PUSH2 0x0c4c
00000b9e: JUMPI
00000b9f: PUSH1 0x03
00000ba1: PUSH2 0x0bb9
00000ba4: PUSH1 0x01
00000ba6: PUSH1 0x03
00000ba8: DUP1
00000ba9: SLOAD
00000baa: SWAP1
00000bab: POP
00000bac: PUSH2 0x2204
00000baf: SWAP1
00000bb0: SWAP2
00000bb1: SWAP1
00000bb2: PUSH4 0xffffffff
00000bb7: AND
00000bb8: JUMP
00000bb9: JUMPDEST
00000bba: DUP2
00000bbb: SLOAD
00000bbc: DUP2
00000bbd: LT
00000bbe: ISZERO
00000bbf: ISZERO
00000bc0: PUSH2 0x0bc5
00000bc3: JUMPI
00000bc4: INVALID
00000bc5: JUMPDEST
00000bc6: SWAP1
00000bc7: PUSH1 0x00
00000bc9: MSTORE
00000bca: PUSH1 0x20
00000bcc: PUSH1 0x00
00000bce: KECCAK256
00000bcf: ADD
00000bd0: PUSH1 0x00
00000bd2: SWAP1
00000bd3: SLOAD
00000bd4: SWAP1
00000bd5: PUSH2 0x0100
00000bd8: EXP
00000bd9: SWAP1
00000bda: DIV
00000bdb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bf0: AND
00000bf1: PUSH1 0x03
00000bf3: DUP3
00000bf4: DUP2
00000bf5: SLOAD
00000bf6: DUP2
00000bf7: LT
00000bf8: ISZERO
00000bf9: ISZERO
00000bfa: PUSH2 0x0bff
00000bfd: JUMPI
00000bfe: INVALID
00000bff: JUMPDEST
00000c00: SWAP1
00000c01: PUSH1 0x00
00000c03: MSTORE
00000c04: PUSH1 0x20
00000c06: PUSH1 0x00
00000c08: KECCAK256
00000c09: ADD
00000c0a: PUSH1 0x00
00000c0c: PUSH2 0x0100
00000c0f: EXP
00000c10: DUP2
00000c11: SLOAD
00000c12: DUP2
00000c13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c28: MUL
00000c29: NOT
00000c2a: AND
00000c2b: SWAP1
00000c2c: DUP4
00000c2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c42: AND
00000c43: MUL
00000c44: OR
00000c45: SWAP1
00000c46: SSTORE
00000c47: POP
00000c48: PUSH2 0x0c59
00000c4b: JUMP
00000c4c: JUMPDEST
00000c4d: DUP1
00000c4e: DUP1
00000c4f: PUSH1 0x01
00000c51: ADD
00000c52: SWAP2
00000c53: POP
00000c54: POP
00000c55: PUSH2 0x0b11
00000c58: JUMP
00000c59: JUMPDEST
00000c5a: POP
00000c5b: PUSH2 0x0c73
00000c5e: PUSH1 0x01
00000c60: PUSH1 0x03
00000c62: DUP1
00000c63: SLOAD
00000c64: SWAP1
00000c65: POP
00000c66: PUSH2 0x2204
00000c69: SWAP1
00000c6a: SWAP2
00000c6b: SWAP1
00000c6c: PUSH4 0xffffffff
00000c71: AND
00000c72: JUMP
00000c73: JUMPDEST
00000c74: PUSH1 0x03
00000c76: DUP2
00000c77: PUSH2 0x0c80
00000c7a: SWAP2
00000c7b: SWAP1
00000c7c: PUSH2 0x23b4
00000c7f: JUMP
00000c80: JUMPDEST
00000c81: POP
00000c82: PUSH1 0x03
00000c84: DUP1
00000c85: SLOAD
00000c86: SWAP1
00000c87: POP
00000c88: PUSH1 0x04
00000c8a: SLOAD
00000c8b: GT
00000c8c: ISZERO
00000c8d: PUSH2 0x0c9f
00000c90: JUMPI
00000c91: PUSH2 0x0c9e
00000c94: PUSH1 0x03
00000c96: DUP1
00000c97: SLOAD
00000c98: SWAP1
00000c99: POP
00000c9a: PUSH2 0x18c1
00000c9d: JUMP
00000c9e: JUMPDEST
00000c9f: JUMPDEST
00000ca0: DUP2
00000ca1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cb6: AND
00000cb7: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
00000cd8: PUSH1 0x40
00000cda: MLOAD
00000cdb: PUSH1 0x40
00000cdd: MLOAD
00000cde: DUP1
00000cdf: SWAP2
00000ce0: SUB
00000ce1: SWAP1
00000ce2: LOG2
00000ce3: POP
00000ce4: POP
00000ce5: JUMP
00000ce6: JUMPDEST
00000ce7: CALLER
00000ce8: PUSH1 0x02
00000cea: PUSH1 0x00
00000cec: DUP3
00000ced: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d02: AND
00000d03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d18: AND
00000d19: DUP2
00000d1a: MSTORE
00000d1b: PUSH1 0x20
00000d1d: ADD
00000d1e: SWAP1
00000d1f: DUP2
00000d20: MSTORE
00000d21: PUSH1 0x20
00000d23: ADD
00000d24: PUSH1 0x00
00000d26: KECCAK256
00000d27: PUSH1 0x00
00000d29: SWAP1
00000d2a: SLOAD
00000d2b: SWAP1
00000d2c: PUSH2 0x0100
00000d2f: EXP
00000d30: SWAP1
00000d31: DIV
00000d32: PUSH1 0xff
00000d34: AND
00000d35: ISZERO
00000d36: ISZERO
00000d37: PUSH2 0x0d3f
00000d3a: JUMPI
00000d3b: PUSH1 0x00
00000d3d: DUP1
00000d3e: REVERT
00000d3f: JUMPDEST
00000d40: DUP2
00000d41: CALLER
00000d42: PUSH1 0x01
00000d44: PUSH1 0x00
00000d46: DUP4
00000d47: DUP2
00000d48: MSTORE
00000d49: PUSH1 0x20
00000d4b: ADD
00000d4c: SWAP1
00000d4d: DUP2
00000d4e: MSTORE
00000d4f: PUSH1 0x20
00000d51: ADD
00000d52: PUSH1 0x00
00000d54: KECCAK256
00000d55: PUSH1 0x00
00000d57: DUP3
00000d58: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d6d: AND
00000d6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d83: AND
00000d84: DUP2
00000d85: MSTORE
00000d86: PUSH1 0x20
00000d88: ADD
00000d89: SWAP1
00000d8a: DUP2
00000d8b: MSTORE
00000d8c: PUSH1 0x20
00000d8e: ADD
00000d8f: PUSH1 0x00
00000d91: KECCAK256
00000d92: PUSH1 0x00
00000d94: SWAP1
00000d95: SLOAD
00000d96: SWAP1
00000d97: PUSH2 0x0100
00000d9a: EXP
00000d9b: SWAP1
00000d9c: DIV
00000d9d: PUSH1 0xff
00000d9f: AND
00000da0: ISZERO
00000da1: ISZERO
00000da2: PUSH2 0x0daa
00000da5: JUMPI
00000da6: PUSH1 0x00
00000da8: DUP1
00000da9: REVERT
00000daa: JUMPDEST
00000dab: DUP4
00000dac: PUSH1 0x00
00000dae: DUP1
00000daf: DUP3
00000db0: DUP2
00000db1: MSTORE
00000db2: PUSH1 0x20
00000db4: ADD
00000db5: SWAP1
00000db6: DUP2
00000db7: MSTORE
00000db8: PUSH1 0x20
00000dba: ADD
00000dbb: PUSH1 0x00
00000dbd: KECCAK256
00000dbe: PUSH1 0x03
00000dc0: ADD
00000dc1: PUSH1 0x00
00000dc3: SWAP1
00000dc4: SLOAD
00000dc5: SWAP1
00000dc6: PUSH2 0x0100
00000dc9: EXP
00000dca: SWAP1
00000dcb: DIV
00000dcc: PUSH1 0xff
00000dce: AND
00000dcf: ISZERO
00000dd0: ISZERO
00000dd1: ISZERO
00000dd2: PUSH2 0x0dda
00000dd5: JUMPI
00000dd6: PUSH1 0x00
00000dd8: DUP1
00000dd9: REVERT
00000dda: JUMPDEST
00000ddb: PUSH1 0x00
00000ddd: PUSH1 0x01
00000ddf: PUSH1 0x00
00000de1: DUP8
00000de2: DUP2
00000de3: MSTORE
00000de4: PUSH1 0x20
00000de6: ADD
00000de7: SWAP1
00000de8: DUP2
00000de9: MSTORE
00000dea: PUSH1 0x20
00000dec: ADD
00000ded: PUSH1 0x00
00000def: KECCAK256
00000df0: PUSH1 0x00
00000df2: CALLER
00000df3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e08: AND
00000e09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e1e: AND
00000e1f: DUP2
00000e20: MSTORE
00000e21: PUSH1 0x20
00000e23: ADD
00000e24: SWAP1
00000e25: DUP2
00000e26: MSTORE
00000e27: PUSH1 0x20
00000e29: ADD
00000e2a: PUSH1 0x00
00000e2c: KECCAK256
00000e2d: PUSH1 0x00
00000e2f: PUSH2 0x0100
00000e32: EXP
00000e33: DUP2
00000e34: SLOAD
00000e35: DUP2
00000e36: PUSH1 0xff
00000e38: MUL
00000e39: NOT
00000e3a: AND
00000e3b: SWAP1
00000e3c: DUP4
00000e3d: ISZERO
00000e3e: ISZERO
00000e3f: MUL
00000e40: OR
00000e41: SWAP1
00000e42: SSTORE
00000e43: POP
00000e44: DUP5
00000e45: CALLER
00000e46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e5b: AND
00000e5c: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9
00000e7d: PUSH1 0x40
00000e7f: MLOAD
00000e80: PUSH1 0x40
00000e82: MLOAD
00000e83: DUP1
00000e84: SWAP2
00000e85: SUB
00000e86: SWAP1
00000e87: LOG3
00000e88: POP
00000e89: POP
00000e8a: POP
00000e8b: POP
00000e8c: POP
00000e8d: JUMP
00000e8e: JUMPDEST
00000e8f: PUSH1 0x02
00000e91: PUSH1 0x20
00000e93: MSTORE
00000e94: DUP1
00000e95: PUSH1 0x00
00000e97: MSTORE
00000e98: PUSH1 0x40
00000e9a: PUSH1 0x00
00000e9c: KECCAK256
00000e9d: PUSH1 0x00
00000e9f: SWAP2
00000ea0: POP
00000ea1: SLOAD
00000ea2: SWAP1
00000ea3: PUSH2 0x0100
00000ea6: EXP
00000ea7: SWAP1
00000ea8: DIV
00000ea9: PUSH1 0xff
00000eab: AND
00000eac: DUP2
00000ead: JUMP
00000eae: JUMPDEST
00000eaf: PUSH1 0x01
00000eb1: PUSH1 0x20
00000eb3: MSTORE
00000eb4: DUP2
00000eb5: PUSH1 0x00
00000eb7: MSTORE
00000eb8: PUSH1 0x40
00000eba: PUSH1 0x00
00000ebc: KECCAK256
00000ebd: PUSH1 0x20
00000ebf: MSTORE
00000ec0: DUP1
00000ec1: PUSH1 0x00
00000ec3: MSTORE
00000ec4: PUSH1 0x40
00000ec6: PUSH1 0x00
00000ec8: KECCAK256
00000ec9: PUSH1 0x00
00000ecb: SWAP2
00000ecc: POP
00000ecd: SWAP2
00000ece: POP
00000ecf: SWAP1
00000ed0: SLOAD
00000ed1: SWAP1
00000ed2: PUSH2 0x0100
00000ed5: EXP
00000ed6: SWAP1
00000ed7: DIV
00000ed8: PUSH1 0xff
00000eda: AND
00000edb: DUP2
00000edc: JUMP
00000edd: JUMPDEST
00000ede: PUSH1 0x00
00000ee0: DUP1
00000ee1: PUSH1 0x00
00000ee3: SWAP1
00000ee4: POP
00000ee5: JUMPDEST
00000ee6: PUSH1 0x05
00000ee8: SLOAD
00000ee9: DUP2
00000eea: LT
00000eeb: ISZERO
00000eec: PUSH2 0x0f68
00000eef: JUMPI
00000ef0: DUP4
00000ef1: DUP1
00000ef2: ISZERO
00000ef3: PUSH2 0x0f1c
00000ef6: JUMPI
00000ef7: POP
00000ef8: PUSH1 0x00
00000efa: DUP1
00000efb: DUP3
00000efc: DUP2
00000efd: MSTORE
00000efe: PUSH1 0x20
00000f00: ADD
00000f01: SWAP1
00000f02: DUP2
00000f03: MSTORE
00000f04: PUSH1 0x20
00000f06: ADD
00000f07: PUSH1 0x00
00000f09: KECCAK256
00000f0a: PUSH1 0x03
00000f0c: ADD
00000f0d: PUSH1 0x00
00000f0f: SWAP1
00000f10: SLOAD
00000f11: SWAP1
00000f12: PUSH2 0x0100
00000f15: EXP
00000f16: SWAP1
00000f17: DIV
00000f18: PUSH1 0xff
00000f1a: AND
00000f1b: ISZERO
00000f1c: JUMPDEST
00000f1d: DUP1
00000f1e: PUSH2 0x0f4f
00000f21: JUMPI
00000f22: POP
00000f23: DUP3
00000f24: DUP1
00000f25: ISZERO
00000f26: PUSH2 0x0f4e
00000f29: JUMPI
00000f2a: POP
00000f2b: PUSH1 0x00
00000f2d: DUP1
00000f2e: DUP3
00000f2f: DUP2
00000f30: MSTORE
00000f31: PUSH1 0x20
00000f33: ADD
00000f34: SWAP1
00000f35: DUP2
00000f36: MSTORE
00000f37: PUSH1 0x20
00000f39: ADD
00000f3a: PUSH1 0x00
00000f3c: KECCAK256
00000f3d: PUSH1 0x03
00000f3f: ADD
00000f40: PUSH1 0x00
00000f42: SWAP1
00000f43: SLOAD
00000f44: SWAP1
00000f45: PUSH2 0x0100
00000f48: EXP
00000f49: SWAP1
00000f4a: DIV
00000f4b: PUSH1 0xff
00000f4d: AND
00000f4e: JUMPDEST
00000f4f: JUMPDEST
00000f50: ISZERO
00000f51: PUSH2 0x0f5b
00000f54: JUMPI
00000f55: PUSH1 0x01
00000f57: DUP3
00000f58: ADD
00000f59: SWAP2
00000f5a: POP
00000f5b: JUMPDEST
00000f5c: DUP1
00000f5d: DUP1
00000f5e: PUSH1 0x01
00000f60: ADD
00000f61: SWAP2
00000f62: POP
00000f63: POP
00000f64: PUSH2 0x0ee5
00000f67: JUMP
00000f68: JUMPDEST
00000f69: POP
00000f6a: SWAP3
00000f6b: SWAP2
00000f6c: POP
00000f6d: POP
00000f6e: JUMP
00000f6f: JUMPDEST
00000f70: ADDRESS
00000f71: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f86: AND
00000f87: CALLER
00000f88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f9d: AND
00000f9e: EQ
00000f9f: ISZERO
00000fa0: ISZERO
00000fa1: PUSH2 0x0fa9
00000fa4: JUMPI
00000fa5: PUSH1 0x00
00000fa7: DUP1
00000fa8: REVERT
00000fa9: JUMPDEST
00000faa: DUP1
00000fab: PUSH1 0x02
00000fad: PUSH1 0x00
00000faf: DUP3
00000fb0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fc5: AND
00000fc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fdb: AND
00000fdc: DUP2
00000fdd: MSTORE
00000fde: PUSH1 0x20
00000fe0: ADD
00000fe1: SWAP1
00000fe2: DUP2
00000fe3: MSTORE
00000fe4: PUSH1 0x20
00000fe6: ADD
00000fe7: PUSH1 0x00
00000fe9: KECCAK256
00000fea: PUSH1 0x00
00000fec: SWAP1
00000fed: SLOAD
00000fee: SWAP1
00000fef: PUSH2 0x0100
00000ff2: EXP
00000ff3: SWAP1
00000ff4: DIV
00000ff5: PUSH1 0xff
00000ff7: AND
00000ff8: ISZERO
00000ff9: ISZERO
00000ffa: ISZERO
00000ffb: PUSH2 0x1003
00000ffe: JUMPI
00000fff: PUSH1 0x00
00001001: DUP1
00001002: REVERT
00001003: JUMPDEST
00001004: DUP2
00001005: PUSH1 0x00
00001007: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000101c: AND
0000101d: DUP2
0000101e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001033: AND
00001034: EQ
00001035: ISZERO
00001036: ISZERO
00001037: ISZERO
00001038: PUSH2 0x1040
0000103b: JUMPI
0000103c: PUSH1 0x00
0000103e: DUP1
0000103f: REVERT
00001040: JUMPDEST
00001041: PUSH2 0x1059
00001044: PUSH1 0x01
00001046: PUSH1 0x03
00001048: DUP1
00001049: SLOAD
0000104a: SWAP1
0000104b: POP
0000104c: PUSH2 0x2226
0000104f: SWAP1
00001050: SWAP2
00001051: SWAP1
00001052: PUSH4 0xffffffff
00001057: AND
00001058: JUMP
00001059: JUMPDEST
0000105a: PUSH1 0x04
0000105c: SLOAD
0000105d: PUSH1 0x32
0000105f: DUP3
00001060: GT
00001061: ISZERO
00001062: DUP1
00001063: ISZERO
00001064: PUSH2 0x106d
00001067: JUMPI
00001068: POP
00001069: DUP2
0000106a: DUP2
0000106b: GT
0000106c: ISZERO
0000106d: JUMPDEST
0000106e: DUP1
0000106f: ISZERO
00001070: PUSH2 0x107a
00001073: JUMPI
00001074: POP
00001075: PUSH1 0x00
00001077: DUP2
00001078: EQ
00001079: ISZERO
0000107a: JUMPDEST
0000107b: DUP1
0000107c: ISZERO
0000107d: PUSH2 0x1087
00001080: JUMPI
00001081: POP
00001082: PUSH1 0x00
00001084: DUP3
00001085: EQ
00001086: ISZERO
00001087: JUMPDEST
00001088: ISZERO
00001089: ISZERO
0000108a: PUSH2 0x1092
0000108d: JUMPI
0000108e: PUSH1 0x00
00001090: DUP1
00001091: REVERT
00001092: JUMPDEST
00001093: PUSH1 0x01
00001095: PUSH1 0x02
00001097: PUSH1 0x00
00001099: DUP8
0000109a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010af: AND
000010b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010c5: AND
000010c6: DUP2
000010c7: MSTORE
000010c8: PUSH1 0x20
000010ca: ADD
000010cb: SWAP1
000010cc: DUP2
000010cd: MSTORE
000010ce: PUSH1 0x20
000010d0: ADD
000010d1: PUSH1 0x00
000010d3: KECCAK256
000010d4: PUSH1 0x00
000010d6: PUSH2 0x0100
000010d9: EXP
000010da: DUP2
000010db: SLOAD
000010dc: DUP2
000010dd: PUSH1 0xff
000010df: MUL
000010e0: NOT
000010e1: AND
000010e2: SWAP1
000010e3: DUP4
000010e4: ISZERO
000010e5: ISZERO
000010e6: MUL
000010e7: OR
000010e8: SWAP1
000010e9: SSTORE
000010ea: POP
000010eb: PUSH1 0x03
000010ed: DUP6
000010ee: SWAP1
000010ef: DUP1
000010f0: PUSH1 0x01
000010f2: DUP2
000010f3: SLOAD
000010f4: ADD
000010f5: DUP1
000010f6: DUP3
000010f7: SSTORE
000010f8: DUP1
000010f9: SWAP2
000010fa: POP
000010fb: POP
000010fc: SWAP1
000010fd: PUSH1 0x01
000010ff: DUP3
00001100: SUB
00001101: SWAP1
00001102: PUSH1 0x00
00001104: MSTORE
00001105: PUSH1 0x20
00001107: PUSH1 0x00
00001109: KECCAK256
0000110a: ADD
0000110b: PUSH1 0x00
0000110d: SWAP1
0000110e: SWAP2
0000110f: SWAP3
00001110: SWAP1
00001111: SWAP2
00001112: SWAP1
00001113: SWAP2
00001114: PUSH2 0x0100
00001117: EXP
00001118: DUP2
00001119: SLOAD
0000111a: DUP2
0000111b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001130: MUL
00001131: NOT
00001132: AND
00001133: SWAP1
00001134: DUP4
00001135: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000114a: AND
0000114b: MUL
0000114c: OR
0000114d: SWAP1
0000114e: SSTORE
0000114f: POP
00001150: POP
00001151: DUP5
00001152: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001167: AND
00001168: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00001189: PUSH1 0x40
0000118b: MLOAD
0000118c: PUSH1 0x40
0000118e: MLOAD
0000118f: DUP1
00001190: SWAP2
00001191: SUB
00001192: SWAP1
00001193: LOG2
00001194: POP
00001195: POP
00001196: POP
00001197: POP
00001198: POP
00001199: JUMP
0000119a: JUMPDEST
0000119b: PUSH1 0x00
0000119d: DUP1
0000119e: PUSH1 0x00
000011a0: SWAP1
000011a1: POP
000011a2: PUSH1 0x00
000011a4: DUP1
000011a5: SWAP1
000011a6: POP
000011a7: JUMPDEST
000011a8: PUSH1 0x03
000011aa: DUP1
000011ab: SLOAD
000011ac: SWAP1
000011ad: POP
000011ae: DUP2
000011af: LT
000011b0: ISZERO
000011b1: PUSH2 0x1279
000011b4: JUMPI
000011b5: PUSH1 0x01
000011b7: PUSH1 0x00
000011b9: DUP6
000011ba: DUP2
000011bb: MSTORE
000011bc: PUSH1 0x20
000011be: ADD
000011bf: SWAP1
000011c0: DUP2
000011c1: MSTORE
000011c2: PUSH1 0x20
000011c4: ADD
000011c5: PUSH1 0x00
000011c7: KECCAK256
000011c8: PUSH1 0x00
000011ca: PUSH1 0x03
000011cc: DUP4
000011cd: DUP2
000011ce: SLOAD
000011cf: DUP2
000011d0: LT
000011d1: ISZERO
000011d2: ISZERO
000011d3: PUSH2 0x11d8
000011d6: JUMPI
000011d7: INVALID
000011d8: JUMPDEST
000011d9: SWAP1
000011da: PUSH1 0x00
000011dc: MSTORE
000011dd: PUSH1 0x20
000011df: PUSH1 0x00
000011e1: KECCAK256
000011e2: ADD
000011e3: PUSH1 0x00
000011e5: SWAP1
000011e6: SLOAD
000011e7: SWAP1
000011e8: PUSH2 0x0100
000011eb: EXP
000011ec: SWAP1
000011ed: DIV
000011ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001203: AND
00001204: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001219: AND
0000121a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000122f: AND
00001230: DUP2
00001231: MSTORE
00001232: PUSH1 0x20
00001234: ADD
00001235: SWAP1
00001236: DUP2
00001237: MSTORE
00001238: PUSH1 0x20
0000123a: ADD
0000123b: PUSH1 0x00
0000123d: KECCAK256
0000123e: PUSH1 0x00
00001240: SWAP1
00001241: SLOAD
00001242: SWAP1
00001243: PUSH2 0x0100
00001246: EXP
00001247: SWAP1
00001248: DIV
00001249: PUSH1 0xff
0000124b: AND
0000124c: ISZERO
0000124d: PUSH2 0x1257
00001250: JUMPI
00001251: PUSH1 0x01
00001253: DUP3
00001254: ADD
00001255: SWAP2
00001256: POP
00001257: JUMPDEST
00001258: PUSH1 0x04
0000125a: SLOAD
0000125b: DUP3
0000125c: EQ
0000125d: ISZERO
0000125e: PUSH2 0x126c
00001261: JUMPI
00001262: PUSH1 0x01
00001264: SWAP3
00001265: POP
00001266: POP
00001267: POP
00001268: PUSH2 0x127c
0000126b: JUMP
0000126c: JUMPDEST
0000126d: DUP1
0000126e: DUP1
0000126f: PUSH1 0x01
00001271: ADD
00001272: SWAP2
00001273: POP
00001274: POP
00001275: PUSH2 0x11a7
00001278: JUMP
00001279: JUMPDEST
0000127a: POP
0000127b: POP
0000127c: JUMPDEST
0000127d: SWAP2
0000127e: SWAP1
0000127f: POP
00001280: JUMP
00001281: JUMPDEST
00001282: PUSH1 0x00
00001284: DUP1
00001285: PUSH1 0x00
00001287: SWAP1
00001288: POP
00001289: JUMPDEST
0000128a: PUSH1 0x03
0000128c: DUP1
0000128d: SLOAD
0000128e: SWAP1
0000128f: POP
00001290: DUP2
00001291: LT
00001292: ISZERO
00001293: PUSH2 0x1346
00001296: JUMPI
00001297: PUSH1 0x01
00001299: PUSH1 0x00
0000129b: DUP5
0000129c: DUP2
0000129d: MSTORE
0000129e: PUSH1 0x20
000012a0: ADD
000012a1: SWAP1
000012a2: DUP2
000012a3: MSTORE
000012a4: PUSH1 0x20
000012a6: ADD
000012a7: PUSH1 0x00
000012a9: KECCAK256
000012aa: PUSH1 0x00
000012ac: PUSH1 0x03
000012ae: DUP4
000012af: DUP2
000012b0: SLOAD
000012b1: DUP2
000012b2: LT
000012b3: ISZERO
000012b4: ISZERO
000012b5: PUSH2 0x12ba
000012b8: JUMPI
000012b9: INVALID
000012ba: JUMPDEST
000012bb: SWAP1
000012bc: PUSH1 0x00
000012be: MSTORE
000012bf: PUSH1 0x20
000012c1: PUSH1 0x00
000012c3: KECCAK256
000012c4: ADD
000012c5: PUSH1 0x00
000012c7: SWAP1
000012c8: SLOAD
000012c9: SWAP1
000012ca: PUSH2 0x0100
000012cd: EXP
000012ce: SWAP1
000012cf: DIV
000012d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012e5: AND
000012e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012fb: AND
000012fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001311: AND
00001312: DUP2
00001313: MSTORE
00001314: PUSH1 0x20
00001316: ADD
00001317: SWAP1
00001318: DUP2
00001319: MSTORE
0000131a: PUSH1 0x20
0000131c: ADD
0000131d: PUSH1 0x00
0000131f: KECCAK256
00001320: PUSH1 0x00
00001322: SWAP1
00001323: SLOAD
00001324: SWAP1
00001325: PUSH2 0x0100
00001328: EXP
00001329: SWAP1
0000132a: DIV
0000132b: PUSH1 0xff
0000132d: AND
0000132e: ISZERO
0000132f: PUSH2 0x1339
00001332: JUMPI
00001333: PUSH1 0x01
00001335: DUP3
00001336: ADD
00001337: SWAP2
00001338: POP
00001339: JUMPDEST
0000133a: DUP1
0000133b: DUP1
0000133c: PUSH1 0x01
0000133e: ADD
0000133f: SWAP2
00001340: POP
00001341: POP
00001342: PUSH2 0x1289
00001345: JUMP
00001346: JUMPDEST
00001347: POP
00001348: SWAP2
00001349: SWAP1
0000134a: POP
0000134b: JUMP
0000134c: JUMPDEST
0000134d: PUSH1 0x00
0000134f: PUSH1 0x20
00001351: MSTORE
00001352: DUP1
00001353: PUSH1 0x00
00001355: MSTORE
00001356: PUSH1 0x40
00001358: PUSH1 0x00
0000135a: KECCAK256
0000135b: PUSH1 0x00
0000135d: SWAP2
0000135e: POP
0000135f: SWAP1
00001360: POP
00001361: DUP1
00001362: PUSH1 0x00
00001364: ADD
00001365: PUSH1 0x00
00001367: SWAP1
00001368: SLOAD
00001369: SWAP1
0000136a: PUSH2 0x0100
0000136d: EXP
0000136e: SWAP1
0000136f: DIV
00001370: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001385: AND
00001386: SWAP1
00001387: DUP1
00001388: PUSH1 0x01
0000138a: ADD
0000138b: SLOAD
0000138c: SWAP1
0000138d: DUP1
0000138e: PUSH1 0x02
00001390: ADD
00001391: DUP1
00001392: SLOAD
00001393: PUSH1 0x01
00001395: DUP2
00001396: PUSH1 0x01
00001398: AND
00001399: ISZERO
0000139a: PUSH2 0x0100
0000139d: MUL
0000139e: SUB
0000139f: AND
000013a0: PUSH1 0x02
000013a2: SWAP1
000013a3: DIV
000013a4: DUP1
000013a5: PUSH1 0x1f
000013a7: ADD
000013a8: PUSH1 0x20
000013aa: DUP1
000013ab: SWAP2
000013ac: DIV
000013ad: MUL
000013ae: PUSH1 0x20
000013b0: ADD
000013b1: PUSH1 0x40
000013b3: MLOAD
000013b4: SWAP1
000013b5: DUP2
000013b6: ADD
000013b7: PUSH1 0x40
000013b9: MSTORE
000013ba: DUP1
000013bb: SWAP3
000013bc: SWAP2
000013bd: SWAP1
000013be: DUP2
000013bf: DUP2
000013c0: MSTORE
000013c1: PUSH1 0x20
000013c3: ADD
000013c4: DUP3
000013c5: DUP1
000013c6: SLOAD
000013c7: PUSH1 0x01
000013c9: DUP2
000013ca: PUSH1 0x01
000013cc: AND
000013cd: ISZERO
000013ce: PUSH2 0x0100
000013d1: MUL
000013d2: SUB
000013d3: AND
000013d4: PUSH1 0x02
000013d6: SWAP1
000013d7: DIV
000013d8: DUP1
000013d9: ISZERO
000013da: PUSH2 0x1424
000013dd: JUMPI
000013de: DUP1
000013df: PUSH1 0x1f
000013e1: LT
000013e2: PUSH2 0x13f9
000013e5: JUMPI
000013e6: PUSH2 0x0100
000013e9: DUP1
000013ea: DUP4
000013eb: SLOAD
000013ec: DIV
000013ed: MUL
000013ee: DUP4
000013ef: MSTORE
000013f0: SWAP2
000013f1: PUSH1 0x20
000013f3: ADD
000013f4: SWAP2
000013f5: PUSH2 0x1424
000013f8: JUMP
000013f9: JUMPDEST
000013fa: DUP3
000013fb: ADD
000013fc: SWAP2
000013fd: SWAP1
000013fe: PUSH1 0x00
00001400: MSTORE
00001401: PUSH1 0x20
00001403: PUSH1 0x00
00001405: KECCAK256
00001406: SWAP1
00001407: JUMPDEST
00001408: DUP2
00001409: SLOAD
0000140a: DUP2
0000140b: MSTORE
0000140c: SWAP1
0000140d: PUSH1 0x01
0000140f: ADD
00001410: SWAP1
00001411: PUSH1 0x20
00001413: ADD
00001414: DUP1
00001415: DUP4
00001416: GT
00001417: PUSH2 0x1407
0000141a: JUMPI
0000141b: DUP3
0000141c: SWAP1
0000141d: SUB
0000141e: PUSH1 0x1f
00001420: AND
00001421: DUP3
00001422: ADD
00001423: SWAP2
00001424: JUMPDEST
00001425: POP
00001426: POP
00001427: POP
00001428: POP
00001429: POP
0000142a: SWAP1
0000142b: DUP1
0000142c: PUSH1 0x03
0000142e: ADD
0000142f: PUSH1 0x00
00001431: SWAP1
00001432: SLOAD
00001433: SWAP1
00001434: PUSH2 0x0100
00001437: EXP
00001438: SWAP1
00001439: DIV
0000143a: PUSH1 0xff
0000143c: AND
0000143d: SWAP1
0000143e: POP
0000143f: DUP5
00001440: JUMP
00001441: JUMPDEST
00001442: PUSH1 0x60
00001444: PUSH1 0x03
00001446: DUP1
00001447: SLOAD
00001448: DUP1
00001449: PUSH1 0x20
0000144b: MUL
0000144c: PUSH1 0x20
0000144e: ADD
0000144f: PUSH1 0x40
00001451: MLOAD
00001452: SWAP1
00001453: DUP2
00001454: ADD
00001455: PUSH1 0x40
00001457: MSTORE
00001458: DUP1
00001459: SWAP3
0000145a: SWAP2
0000145b: SWAP1
0000145c: DUP2
0000145d: DUP2
0000145e: MSTORE
0000145f: PUSH1 0x20
00001461: ADD
00001462: DUP3
00001463: DUP1
00001464: SLOAD
00001465: DUP1
00001466: ISZERO
00001467: PUSH2 0x14c5
0000146a: JUMPI
0000146b: PUSH1 0x20
0000146d: MUL
0000146e: DUP3
0000146f: ADD
00001470: SWAP2
00001471: SWAP1
00001472: PUSH1 0x00
00001474: MSTORE
00001475: PUSH1 0x20
00001477: PUSH1 0x00
00001479: KECCAK256
0000147a: SWAP1
0000147b: JUMPDEST
0000147c: DUP2
0000147d: PUSH1 0x00
0000147f: SWAP1
00001480: SLOAD
00001481: SWAP1
00001482: PUSH2 0x0100
00001485: EXP
00001486: SWAP1
00001487: DIV
00001488: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000149d: AND
0000149e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014b3: AND
000014b4: DUP2
000014b5: MSTORE
000014b6: PUSH1 0x20
000014b8: ADD
000014b9: SWAP1
000014ba: PUSH1 0x01
000014bc: ADD
000014bd: SWAP1
000014be: DUP1
000014bf: DUP4
000014c0: GT
000014c1: PUSH2 0x147b
000014c4: JUMPI
000014c5: JUMPDEST
000014c6: POP
000014c7: POP
000014c8: POP
000014c9: POP
000014ca: POP
000014cb: SWAP1
000014cc: POP
000014cd: SWAP1
000014ce: JUMP
000014cf: JUMPDEST
000014d0: PUSH1 0x60
000014d2: DUP1
000014d3: PUSH1 0x05
000014d5: SLOAD
000014d6: PUSH1 0x40
000014d8: MLOAD
000014d9: SWAP1
000014da: DUP1
000014db: DUP3
000014dc: MSTORE
000014dd: DUP1
000014de: PUSH1 0x20
000014e0: MUL
000014e1: PUSH1 0x20
000014e3: ADD
000014e4: DUP3
000014e5: ADD
000014e6: PUSH1 0x40
000014e8: MSTORE
000014e9: DUP1
000014ea: ISZERO
000014eb: PUSH2 0x1503
000014ee: JUMPI
000014ef: DUP2
000014f0: PUSH1 0x20
000014f2: ADD
000014f3: PUSH1 0x20
000014f5: DUP3
000014f6: MUL
000014f7: DUP1
000014f8: CODESIZE
000014f9: DUP4
000014fa: CODECOPY
000014fb: DUP1
000014fc: DUP3
000014fd: ADD
000014fe: SWAP2
000014ff: POP
00001500: POP
00001501: SWAP1
00001502: POP
00001503: JUMPDEST
00001504: POP
00001505: SWAP1
00001506: POP
00001507: PUSH1 0x00
00001509: DUP1
0000150a: SWAP1
0000150b: POP
0000150c: PUSH1 0x00
0000150e: DUP1
0000150f: SWAP1
00001510: POP
00001511: JUMPDEST
00001512: PUSH1 0x05
00001514: SLOAD
00001515: DUP2
00001516: LT
00001517: ISZERO
00001518: PUSH2 0x15c1
0000151b: JUMPI
0000151c: DUP6
0000151d: DUP1
0000151e: ISZERO
0000151f: PUSH2 0x1548
00001522: JUMPI
00001523: POP
00001524: PUSH1 0x00
00001526: DUP1
00001527: DUP3
00001528: DUP2
00001529: MSTORE
0000152a: PUSH1 0x20
0000152c: ADD
0000152d: SWAP1
0000152e: DUP2
0000152f: MSTORE
00001530: PUSH1 0x20
00001532: ADD
00001533: PUSH1 0x00
00001535: KECCAK256
00001536: PUSH1 0x03
00001538: ADD
00001539: PUSH1 0x00
0000153b: SWAP1
0000153c: SLOAD
0000153d: SWAP1
0000153e: PUSH2 0x0100
00001541: EXP
00001542: SWAP1
00001543: DIV
00001544: PUSH1 0xff
00001546: AND
00001547: ISZERO
00001548: JUMPDEST
00001549: DUP1
0000154a: PUSH2 0x157b
0000154d: JUMPI
0000154e: POP
0000154f: DUP5
00001550: DUP1
00001551: ISZERO
00001552: PUSH2 0x157a
00001555: JUMPI
00001556: POP
00001557: PUSH1 0x00
00001559: DUP1
0000155a: DUP3
0000155b: DUP2
0000155c: MSTORE
0000155d: PUSH1 0x20
0000155f: ADD
00001560: SWAP1
00001561: DUP2
00001562: MSTORE
00001563: PUSH1 0x20
00001565: ADD
00001566: PUSH1 0x00
00001568: KECCAK256
00001569: PUSH1 0x03
0000156b: ADD
0000156c: PUSH1 0x00
0000156e: SWAP1
0000156f: SLOAD
00001570: SWAP1
00001571: PUSH2 0x0100
00001574: EXP
00001575: SWAP1
00001576: DIV
00001577: PUSH1 0xff
00001579: AND
0000157a: JUMPDEST
0000157b: JUMPDEST
0000157c: ISZERO
0000157d: PUSH2 0x15b4
00001580: JUMPI
00001581: DUP1
00001582: DUP4
00001583: DUP4
00001584: DUP2
00001585: MLOAD
00001586: DUP2
00001587: LT
00001588: ISZERO
00001589: ISZERO
0000158a: PUSH2 0x158f
0000158d: JUMPI
0000158e: INVALID
0000158f: JUMPDEST
00001590: SWAP1
00001591: PUSH1 0x20
00001593: ADD
00001594: SWAP1
00001595: PUSH1 0x20
00001597: MUL
00001598: ADD
00001599: DUP2
0000159a: DUP2
0000159b: MSTORE
0000159c: POP
0000159d: POP
0000159e: PUSH2 0x15b1
000015a1: PUSH1 0x01
000015a3: DUP4
000015a4: PUSH2 0x2226
000015a7: SWAP1
000015a8: SWAP2
000015a9: SWAP1
000015aa: PUSH4 0xffffffff
000015af: AND
000015b0: JUMP
000015b1: JUMPDEST
000015b2: SWAP2
000015b3: POP
000015b4: JUMPDEST
000015b5: DUP1
000015b6: DUP1
000015b7: PUSH1 0x01
000015b9: ADD
000015ba: SWAP2
000015bb: POP
000015bc: POP
000015bd: PUSH2 0x1511
000015c0: JUMP
000015c1: JUMPDEST
000015c2: PUSH2 0x15d4
000015c5: DUP9
000015c6: DUP9
000015c7: PUSH2 0x2204
000015ca: SWAP1
000015cb: SWAP2
000015cc: SWAP1
000015cd: PUSH4 0xffffffff
000015d2: AND
000015d3: JUMP
000015d4: JUMPDEST
000015d5: PUSH1 0x40
000015d7: MLOAD
000015d8: SWAP1
000015d9: DUP1
000015da: DUP3
000015db: MSTORE
000015dc: DUP1
000015dd: PUSH1 0x20
000015df: MUL
000015e0: PUSH1 0x20
000015e2: ADD
000015e3: DUP3
000015e4: ADD
000015e5: PUSH1 0x40
000015e7: MSTORE
000015e8: DUP1
000015e9: ISZERO
000015ea: PUSH2 0x1602
000015ed: JUMPI
000015ee: DUP2
000015ef: PUSH1 0x20
000015f1: ADD
000015f2: PUSH1 0x20
000015f4: DUP3
000015f5: MUL
000015f6: DUP1
000015f7: CODESIZE
000015f8: DUP4
000015f9: CODECOPY
000015fa: DUP1
000015fb: DUP3
000015fc: ADD
000015fd: SWAP2
000015fe: POP
000015ff: POP
00001600: SWAP1
00001601: POP
00001602: JUMPDEST
00001603: POP
00001604: SWAP4
00001605: POP
00001606: DUP8
00001607: SWAP1
00001608: POP
00001609: JUMPDEST
0000160a: DUP7
0000160b: DUP2
0000160c: LT
0000160d: ISZERO
0000160e: PUSH2 0x1664
00001611: JUMPI
00001612: DUP3
00001613: DUP2
00001614: DUP2
00001615: MLOAD
00001616: DUP2
00001617: LT
00001618: ISZERO
00001619: ISZERO
0000161a: PUSH2 0x161f
0000161d: JUMPI
0000161e: INVALID
0000161f: JUMPDEST
00001620: SWAP1
00001621: PUSH1 0x20
00001623: ADD
00001624: SWAP1
00001625: PUSH1 0x20
00001627: MUL
00001628: ADD
00001629: MLOAD
0000162a: DUP5
0000162b: PUSH2 0x163d
0000162e: DUP11
0000162f: DUP5
00001630: PUSH2 0x2204
00001633: SWAP1
00001634: SWAP2
00001635: SWAP1
00001636: PUSH4 0xffffffff
0000163b: AND
0000163c: JUMP
0000163d: JUMPDEST
0000163e: DUP2
0000163f: MLOAD
00001640: DUP2
00001641: LT
00001642: ISZERO
00001643: ISZERO
00001644: PUSH2 0x1649
00001647: JUMPI
00001648: INVALID
00001649: JUMPDEST
0000164a: SWAP1
0000164b: PUSH1 0x20
0000164d: ADD
0000164e: SWAP1
0000164f: PUSH1 0x20
00001651: MUL
00001652: ADD
00001653: DUP2
00001654: DUP2
00001655: MSTORE
00001656: POP
00001657: POP
00001658: DUP1
00001659: DUP1
0000165a: PUSH1 0x01
0000165c: ADD
0000165d: SWAP2
0000165e: POP
0000165f: POP
00001660: PUSH2 0x1609
00001663: JUMP
00001664: JUMPDEST
00001665: POP
00001666: POP
00001667: POP
00001668: SWAP5
00001669: SWAP4
0000166a: POP
0000166b: POP
0000166c: POP
0000166d: POP
0000166e: JUMP
0000166f: JUMPDEST
00001670: PUSH1 0x60
00001672: DUP1
00001673: PUSH1 0x03
00001675: DUP1
00001676: SLOAD
00001677: SWAP1
00001678: POP
00001679: PUSH1 0x40
0000167b: MLOAD
0000167c: SWAP1
0000167d: DUP1
0000167e: DUP3
0000167f: MSTORE
00001680: DUP1
00001681: PUSH1 0x20
00001683: MUL
00001684: PUSH1 0x20
00001686: ADD
00001687: DUP3
00001688: ADD
00001689: PUSH1 0x40
0000168b: MSTORE
0000168c: DUP1
0000168d: ISZERO
0000168e: PUSH2 0x16a6
00001691: JUMPI
00001692: DUP2
00001693: PUSH1 0x20
00001695: ADD
00001696: PUSH1 0x20
00001698: DUP3
00001699: MUL
0000169a: DUP1
0000169b: CODESIZE
0000169c: DUP4
0000169d: CODECOPY
0000169e: DUP1
0000169f: DUP3
000016a0: ADD
000016a1: SWAP2
000016a2: POP
000016a3: POP
000016a4: SWAP1
000016a5: POP
000016a6: JUMPDEST
000016a7: POP
000016a8: SWAP1
000016a9: POP
000016aa: PUSH1 0x00
000016ac: DUP1
000016ad: SWAP1
000016ae: POP
000016af: PUSH1 0x00
000016b1: DUP1
000016b2: SWAP1
000016b3: POP
000016b4: JUMPDEST
000016b5: PUSH1 0x03
000016b7: DUP1
000016b8: SLOAD
000016b9: SWAP1
000016ba: POP
000016bb: DUP2
000016bc: LT
000016bd: ISZERO
000016be: PUSH2 0x1805
000016c1: JUMPI
000016c2: PUSH1 0x01
000016c4: PUSH1 0x00
000016c6: DUP7
000016c7: DUP2
000016c8: MSTORE
000016c9: PUSH1 0x20
000016cb: ADD
000016cc: SWAP1
000016cd: DUP2
000016ce: MSTORE
000016cf: PUSH1 0x20
000016d1: ADD
000016d2: PUSH1 0x00
000016d4: KECCAK256
000016d5: PUSH1 0x00
000016d7: PUSH1 0x03
000016d9: DUP4
000016da: DUP2
000016db: SLOAD
000016dc: DUP2
000016dd: LT
000016de: ISZERO
000016df: ISZERO
000016e0: PUSH2 0x16e5
000016e3: JUMPI
000016e4: INVALID
000016e5: JUMPDEST
000016e6: SWAP1
000016e7: PUSH1 0x00
000016e9: MSTORE
000016ea: PUSH1 0x20
000016ec: PUSH1 0x00
000016ee: KECCAK256
000016ef: ADD
000016f0: PUSH1 0x00
000016f2: SWAP1
000016f3: SLOAD
000016f4: SWAP1
000016f5: PUSH2 0x0100
000016f8: EXP
000016f9: SWAP1
000016fa: DIV
000016fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001710: AND
00001711: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001726: AND
00001727: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000173c: AND
0000173d: DUP2
0000173e: MSTORE
0000173f: PUSH1 0x20
00001741: ADD
00001742: SWAP1
00001743: DUP2
00001744: MSTORE
00001745: PUSH1 0x20
00001747: ADD
00001748: PUSH1 0x00
0000174a: KECCAK256
0000174b: PUSH1 0x00
0000174d: SWAP1
0000174e: SLOAD
0000174f: SWAP1
00001750: PUSH2 0x0100
00001753: EXP
00001754: SWAP1
00001755: DIV
00001756: PUSH1 0xff
00001758: AND
00001759: ISZERO
0000175a: PUSH2 0x17f8
0000175d: JUMPI
0000175e: PUSH1 0x03
00001760: DUP2
00001761: DUP2
00001762: SLOAD
00001763: DUP2
00001764: LT
00001765: ISZERO
00001766: ISZERO
00001767: PUSH2 0x176c
0000176a: JUMPI
0000176b: INVALID
0000176c: JUMPDEST
0000176d: SWAP1
0000176e: PUSH1 0x00
00001770: MSTORE
00001771: PUSH1 0x20
00001773: PUSH1 0x00
00001775: KECCAK256
00001776: ADD
00001777: PUSH1 0x00
00001779: SWAP1
0000177a: SLOAD
0000177b: SWAP1
0000177c: PUSH2 0x0100
0000177f: EXP
00001780: SWAP1
00001781: DIV
00001782: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001797: AND
00001798: DUP4
00001799: DUP4
0000179a: DUP2
0000179b: MLOAD
0000179c: DUP2
0000179d: LT
0000179e: ISZERO
0000179f: ISZERO
000017a0: PUSH2 0x17a5
000017a3: JUMPI
000017a4: INVALID
000017a5: JUMPDEST
000017a6: SWAP1
000017a7: PUSH1 0x20
000017a9: ADD
000017aa: SWAP1
000017ab: PUSH1 0x20
000017ad: MUL
000017ae: ADD
000017af: SWAP1
000017b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017c5: AND
000017c6: SWAP1
000017c7: DUP2
000017c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017dd: AND
000017de: DUP2
000017df: MSTORE
000017e0: POP
000017e1: POP
000017e2: PUSH2 0x17f5
000017e5: PUSH1 0x01
000017e7: DUP4
000017e8: PUSH2 0x2226
000017eb: SWAP1
000017ec: SWAP2
000017ed: SWAP1
000017ee: PUSH4 0xffffffff
000017f3: AND
000017f4: JUMP
000017f5: JUMPDEST
000017f6: SWAP2
000017f7: POP
000017f8: JUMPDEST
000017f9: DUP1
000017fa: DUP1
000017fb: PUSH1 0x01
000017fd: ADD
000017fe: SWAP2
000017ff: POP
00001800: POP
00001801: PUSH2 0x16b4
00001804: JUMP
00001805: JUMPDEST
00001806: DUP2
00001807: PUSH1 0x40
00001809: MLOAD
0000180a: SWAP1
0000180b: DUP1
0000180c: DUP3
0000180d: MSTORE
0000180e: DUP1
0000180f: PUSH1 0x20
00001811: MUL
00001812: PUSH1 0x20
00001814: ADD
00001815: DUP3
00001816: ADD
00001817: PUSH1 0x40
00001819: MSTORE
0000181a: DUP1
0000181b: ISZERO
0000181c: PUSH2 0x1834
0000181f: JUMPI
00001820: DUP2
00001821: PUSH1 0x20
00001823: ADD
00001824: PUSH1 0x20
00001826: DUP3
00001827: MUL
00001828: DUP1
00001829: CODESIZE
0000182a: DUP4
0000182b: CODECOPY
0000182c: DUP1
0000182d: DUP3
0000182e: ADD
0000182f: SWAP2
00001830: POP
00001831: POP
00001832: SWAP1
00001833: POP
00001834: JUMPDEST
00001835: POP
00001836: SWAP4
00001837: POP
00001838: PUSH1 0x00
0000183a: SWAP1
0000183b: POP
0000183c: JUMPDEST
0000183d: DUP2
0000183e: DUP2
0000183f: LT
00001840: ISZERO
00001841: PUSH2 0x18b3
00001844: JUMPI
00001845: DUP3
00001846: DUP2
00001847: DUP2
00001848: MLOAD
00001849: DUP2
0000184a: LT
0000184b: ISZERO
0000184c: ISZERO
0000184d: PUSH2 0x1852
00001850: JUMPI
00001851: INVALID
00001852: JUMPDEST
00001853: SWAP1
00001854: PUSH1 0x20
00001856: ADD
00001857: SWAP1
00001858: PUSH1 0x20
0000185a: MUL
0000185b: ADD
0000185c: MLOAD
0000185d: DUP5
0000185e: DUP3
0000185f: DUP2
00001860: MLOAD
00001861: DUP2
00001862: LT
00001863: ISZERO
00001864: ISZERO
00001865: PUSH2 0x186a
00001868: JUMPI
00001869: INVALID
0000186a: JUMPDEST
0000186b: SWAP1
0000186c: PUSH1 0x20
0000186e: ADD
0000186f: SWAP1
00001870: PUSH1 0x20
00001872: MUL
00001873: ADD
00001874: SWAP1
00001875: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000188a: AND
0000188b: SWAP1
0000188c: DUP2
0000188d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018a2: AND
000018a3: DUP2
000018a4: MSTORE
000018a5: POP
000018a6: POP
000018a7: DUP1
000018a8: DUP1
000018a9: PUSH1 0x01
000018ab: ADD
000018ac: SWAP2
000018ad: POP
000018ae: POP
000018af: PUSH2 0x183c
000018b2: JUMP
000018b3: JUMPDEST
000018b4: POP
000018b5: POP
000018b6: POP
000018b7: SWAP2
000018b8: SWAP1
000018b9: POP
000018ba: JUMP
000018bb: JUMPDEST
000018bc: PUSH1 0x05
000018be: SLOAD
000018bf: DUP2
000018c0: JUMP
000018c1: JUMPDEST
000018c2: ADDRESS
000018c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018d8: AND
000018d9: CALLER
000018da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018ef: AND
000018f0: EQ
000018f1: ISZERO
000018f2: ISZERO
000018f3: PUSH2 0x18fb
000018f6: JUMPI
000018f7: PUSH1 0x00
000018f9: DUP1
000018fa: REVERT
000018fb: JUMPDEST
000018fc: PUSH1 0x03
000018fe: DUP1
000018ff: SLOAD
00001900: SWAP1
00001901: POP
00001902: DUP2
00001903: PUSH1 0x32
00001905: DUP3
00001906: GT
00001907: ISZERO
00001908: DUP1
00001909: ISZERO
0000190a: PUSH2 0x1913
0000190d: JUMPI
0000190e: POP
0000190f: DUP2
00001910: DUP2
00001911: GT
00001912: ISZERO
00001913: JUMPDEST
00001914: DUP1
00001915: ISZERO
00001916: PUSH2 0x1920
00001919: JUMPI
0000191a: POP
0000191b: PUSH1 0x00
0000191d: DUP2
0000191e: EQ
0000191f: ISZERO
00001920: JUMPDEST
00001921: DUP1
00001922: ISZERO
00001923: PUSH2 0x192d
00001926: JUMPI
00001927: POP
00001928: PUSH1 0x00
0000192a: DUP3
0000192b: EQ
0000192c: ISZERO
0000192d: JUMPDEST
0000192e: ISZERO
0000192f: ISZERO
00001930: PUSH2 0x1938
00001933: JUMPI
00001934: PUSH1 0x00
00001936: DUP1
00001937: REVERT
00001938: JUMPDEST
00001939: DUP3
0000193a: PUSH1 0x04
0000193c: DUP2
0000193d: SWAP1
0000193e: SSTORE
0000193f: POP
00001940: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a
00001961: DUP4
00001962: PUSH1 0x40
00001964: MLOAD
00001965: DUP1
00001966: DUP3
00001967: DUP2
00001968: MSTORE
00001969: PUSH1 0x20
0000196b: ADD
0000196c: SWAP2
0000196d: POP
0000196e: POP
0000196f: PUSH1 0x40
00001971: MLOAD
00001972: DUP1
00001973: SWAP2
00001974: SUB
00001975: SWAP1
00001976: LOG1
00001977: POP
00001978: POP
00001979: POP
0000197a: JUMP
0000197b: JUMPDEST
0000197c: CALLER
0000197d: PUSH1 0x02
0000197f: PUSH1 0x00
00001981: DUP3
00001982: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001997: AND
00001998: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ad: AND
000019ae: DUP2
000019af: MSTORE
000019b0: PUSH1 0x20
000019b2: ADD
000019b3: SWAP1
000019b4: DUP2
000019b5: MSTORE
000019b6: PUSH1 0x20
000019b8: ADD
000019b9: PUSH1 0x00
000019bb: KECCAK256
000019bc: PUSH1 0x00
000019be: SWAP1
000019bf: SLOAD
000019c0: SWAP1
000019c1: PUSH2 0x0100
000019c4: EXP
000019c5: SWAP1
000019c6: DIV
000019c7: PUSH1 0xff
000019c9: AND
000019ca: ISZERO
000019cb: ISZERO
000019cc: PUSH2 0x19d4
000019cf: JUMPI
000019d0: PUSH1 0x00
000019d2: DUP1
000019d3: REVERT
000019d4: JUMPDEST
000019d5: DUP2
000019d6: PUSH1 0x00
000019d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ed: AND
000019ee: PUSH1 0x00
000019f0: DUP1
000019f1: DUP4
000019f2: DUP2
000019f3: MSTORE
000019f4: PUSH1 0x20
000019f6: ADD
000019f7: SWAP1
000019f8: DUP2
000019f9: MSTORE
000019fa: PUSH1 0x20
000019fc: ADD
000019fd: PUSH1 0x00
000019ff: KECCAK256
00001a00: PUSH1 0x00
00001a02: ADD
00001a03: PUSH1 0x00
00001a05: SWAP1
00001a06: SLOAD
00001a07: SWAP1
00001a08: PUSH2 0x0100
00001a0b: EXP
00001a0c: SWAP1
00001a0d: DIV
00001a0e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a23: AND
00001a24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a39: AND
00001a3a: EQ
00001a3b: ISZERO
00001a3c: ISZERO
00001a3d: ISZERO
00001a3e: PUSH2 0x1a46
00001a41: JUMPI
00001a42: PUSH1 0x00
00001a44: DUP1
00001a45: REVERT
00001a46: JUMPDEST
00001a47: DUP3
00001a48: CALLER
00001a49: PUSH1 0x01
00001a4b: PUSH1 0x00
00001a4d: DUP4
00001a4e: DUP2
00001a4f: MSTORE
00001a50: PUSH1 0x20
00001a52: ADD
00001a53: SWAP1
00001a54: DUP2
00001a55: MSTORE
00001a56: PUSH1 0x20
00001a58: ADD
00001a59: PUSH1 0x00
00001a5b: KECCAK256
00001a5c: PUSH1 0x00
00001a5e: DUP3
00001a5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a74: AND
00001a75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a8a: AND
00001a8b: DUP2
00001a8c: MSTORE
00001a8d: PUSH1 0x20
00001a8f: ADD
00001a90: SWAP1
00001a91: DUP2
00001a92: MSTORE
00001a93: PUSH1 0x20
00001a95: ADD
00001a96: PUSH1 0x00
00001a98: KECCAK256
00001a99: PUSH1 0x00
00001a9b: SWAP1
00001a9c: SLOAD
00001a9d: SWAP1
00001a9e: PUSH2 0x0100
00001aa1: EXP
00001aa2: SWAP1
00001aa3: DIV
00001aa4: PUSH1 0xff
00001aa6: AND
00001aa7: ISZERO
00001aa8: ISZERO
00001aa9: ISZERO
00001aaa: PUSH2 0x1ab2
00001aad: JUMPI
00001aae: PUSH1 0x00
00001ab0: DUP1
00001ab1: REVERT
00001ab2: JUMPDEST
00001ab3: PUSH1 0x01
00001ab5: DUP1
00001ab6: PUSH1 0x00
00001ab8: DUP8
00001ab9: DUP2
00001aba: MSTORE
00001abb: PUSH1 0x20
00001abd: ADD
00001abe: SWAP1
00001abf: DUP2
00001ac0: MSTORE
00001ac1: PUSH1 0x20
00001ac3: ADD
00001ac4: PUSH1 0x00
00001ac6: KECCAK256
00001ac7: PUSH1 0x00
00001ac9: CALLER
00001aca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001adf: AND
00001ae0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001af5: AND
00001af6: DUP2
00001af7: MSTORE
00001af8: PUSH1 0x20
00001afa: ADD
00001afb: SWAP1
00001afc: DUP2
00001afd: MSTORE
00001afe: PUSH1 0x20
00001b00: ADD
00001b01: PUSH1 0x00
00001b03: KECCAK256
00001b04: PUSH1 0x00
00001b06: PUSH2 0x0100
00001b09: EXP
00001b0a: DUP2
00001b0b: SLOAD
00001b0c: DUP2
00001b0d: PUSH1 0xff
00001b0f: MUL
00001b10: NOT
00001b11: AND
00001b12: SWAP1
00001b13: DUP4
00001b14: ISZERO
00001b15: ISZERO
00001b16: MUL
00001b17: OR
00001b18: SWAP1
00001b19: SSTORE
00001b1a: POP
00001b1b: DUP5
00001b1c: CALLER
00001b1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b32: AND
00001b33: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef
00001b54: PUSH1 0x40
00001b56: MLOAD
00001b57: PUSH1 0x40
00001b59: MLOAD
00001b5a: DUP1
00001b5b: SWAP2
00001b5c: SUB
00001b5d: SWAP1
00001b5e: LOG3
00001b5f: PUSH2 0x1b67
00001b62: DUP6
00001b63: PUSH2 0x1f5c
00001b66: JUMP
00001b67: JUMPDEST
00001b68: POP
00001b69: POP
00001b6a: POP
00001b6b: POP
00001b6c: POP
00001b6d: JUMP
00001b6e: JUMPDEST
00001b6f: PUSH1 0x00
00001b71: PUSH2 0x1bbf
00001b74: DUP6
00001b75: DUP6
00001b76: DUP6
00001b77: DUP6
00001b78: DUP1
00001b79: DUP1
00001b7a: PUSH1 0x1f
00001b7c: ADD
00001b7d: PUSH1 0x20
00001b7f: DUP1
00001b80: SWAP2
00001b81: DIV
00001b82: MUL
00001b83: PUSH1 0x20
00001b85: ADD
00001b86: PUSH1 0x40
00001b88: MLOAD
00001b89: SWAP1
00001b8a: DUP2
00001b8b: ADD
00001b8c: PUSH1 0x40
00001b8e: MSTORE
00001b8f: DUP1
00001b90: SWAP4
00001b91: SWAP3
00001b92: SWAP2
00001b93: SWAP1
00001b94: DUP2
00001b95: DUP2
00001b96: MSTORE
00001b97: PUSH1 0x20
00001b99: ADD
00001b9a: DUP4
00001b9b: DUP4
00001b9c: DUP1
00001b9d: DUP3
00001b9e: DUP5
00001b9f: CALLDATACOPY
00001ba0: PUSH1 0x00
00001ba2: DUP2
00001ba3: DUP5
00001ba4: ADD
00001ba5: MSTORE
00001ba6: PUSH1 0x1f
00001ba8: NOT
00001ba9: PUSH1 0x1f
00001bab: DUP3
00001bac: ADD
00001bad: AND
00001bae: SWAP1
00001baf: POP
00001bb0: DUP1
00001bb1: DUP4
00001bb2: ADD
00001bb3: SWAP3
00001bb4: POP
00001bb5: POP
00001bb6: POP
00001bb7: POP
00001bb8: POP
00001bb9: POP
00001bba: POP
00001bbb: PUSH2 0x2247
00001bbe: JUMP
00001bbf: JUMPDEST
00001bc0: SWAP1
00001bc1: POP
00001bc2: DUP1
00001bc3: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51
00001be4: PUSH1 0x40
00001be6: MLOAD
00001be7: PUSH1 0x40
00001be9: MLOAD
00001bea: DUP1
00001beb: SWAP2
00001bec: SUB
00001bed: SWAP1
00001bee: LOG2
00001bef: PUSH2 0x1bf7
00001bf2: DUP2
00001bf3: PUSH2 0x197b
00001bf6: JUMP
00001bf7: JUMPDEST
00001bf8: SWAP5
00001bf9: SWAP4
00001bfa: POP
00001bfb: POP
00001bfc: POP
00001bfd: POP
00001bfe: JUMP
00001bff: JUMPDEST
00001c00: PUSH1 0x32
00001c02: DUP2
00001c03: JUMP
00001c04: JUMPDEST
00001c05: PUSH1 0x04
00001c07: SLOAD
00001c08: DUP2
00001c09: JUMP
00001c0a: JUMPDEST
00001c0b: ADDRESS
00001c0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c21: AND
00001c22: CALLER
00001c23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c38: AND
00001c39: EQ
00001c3a: ISZERO
00001c3b: ISZERO
00001c3c: PUSH2 0x1c44
00001c3f: JUMPI
00001c40: PUSH1 0x00
00001c42: DUP1
00001c43: REVERT
00001c44: JUMPDEST
00001c45: DUP2
00001c46: PUSH1 0x02
00001c48: PUSH1 0x00
00001c4a: DUP3
00001c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c60: AND
00001c61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c76: AND
00001c77: DUP2
00001c78: MSTORE
00001c79: PUSH1 0x20
00001c7b: ADD
00001c7c: SWAP1
00001c7d: DUP2
00001c7e: MSTORE
00001c7f: PUSH1 0x20
00001c81: ADD
00001c82: PUSH1 0x00
00001c84: KECCAK256
00001c85: PUSH1 0x00
00001c87: SWAP1
00001c88: SLOAD
00001c89: SWAP1
00001c8a: PUSH2 0x0100
00001c8d: EXP
00001c8e: SWAP1
00001c8f: DIV
00001c90: PUSH1 0xff
00001c92: AND
00001c93: ISZERO
00001c94: ISZERO
00001c95: PUSH2 0x1c9d
00001c98: JUMPI
00001c99: PUSH1 0x00
00001c9b: DUP1
00001c9c: REVERT
00001c9d: JUMPDEST
00001c9e: DUP3
00001c9f: PUSH1 0x00
00001ca1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cb6: AND
00001cb7: DUP2
00001cb8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ccd: AND
00001cce: EQ
00001ccf: ISZERO
00001cd0: ISZERO
00001cd1: ISZERO
00001cd2: PUSH2 0x1cda
00001cd5: JUMPI
00001cd6: PUSH1 0x00
00001cd8: DUP1
00001cd9: REVERT
00001cda: JUMPDEST
00001cdb: DUP3
00001cdc: PUSH1 0x02
00001cde: PUSH1 0x00
00001ce0: DUP3
00001ce1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cf6: AND
00001cf7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d0c: AND
00001d0d: DUP2
00001d0e: MSTORE
00001d0f: PUSH1 0x20
00001d11: ADD
00001d12: SWAP1
00001d13: DUP2
00001d14: MSTORE
00001d15: PUSH1 0x20
00001d17: ADD
00001d18: PUSH1 0x00
00001d1a: KECCAK256
00001d1b: PUSH1 0x00
00001d1d: SWAP1
00001d1e: SLOAD
00001d1f: SWAP1
00001d20: PUSH2 0x0100
00001d23: EXP
00001d24: SWAP1
00001d25: DIV
00001d26: PUSH1 0xff
00001d28: AND
00001d29: ISZERO
00001d2a: ISZERO
00001d2b: ISZERO
00001d2c: PUSH2 0x1d34
00001d2f: JUMPI
00001d30: PUSH1 0x00
00001d32: DUP1
00001d33: REVERT
00001d34: JUMPDEST
00001d35: PUSH1 0x00
00001d37: DUP1
00001d38: SWAP1
00001d39: POP
00001d3a: JUMPDEST
00001d3b: PUSH1 0x03
00001d3d: DUP1
00001d3e: SLOAD
00001d3f: SWAP1
00001d40: POP
00001d41: DUP2
00001d42: LT
00001d43: ISZERO
00001d44: PUSH2 0x1e1e
00001d47: JUMPI
00001d48: DUP6
00001d49: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d5e: AND
00001d5f: PUSH1 0x03
00001d61: DUP3
00001d62: DUP2
00001d63: SLOAD
00001d64: DUP2
00001d65: LT
00001d66: ISZERO
00001d67: ISZERO
00001d68: PUSH2 0x1d6d
00001d6b: JUMPI
00001d6c: INVALID
00001d6d: JUMPDEST
00001d6e: SWAP1
00001d6f: PUSH1 0x00
00001d71: MSTORE
00001d72: PUSH1 0x20
00001d74: PUSH1 0x00
00001d76: KECCAK256
00001d77: ADD
00001d78: PUSH1 0x00
00001d7a: SWAP1
00001d7b: SLOAD
00001d7c: SWAP1
00001d7d: PUSH2 0x0100
00001d80: EXP
00001d81: SWAP1
00001d82: DIV
00001d83: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d98: AND
00001d99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dae: AND
00001daf: EQ
00001db0: ISZERO
00001db1: PUSH2 0x1e11
00001db4: JUMPI
00001db5: DUP5
00001db6: PUSH1 0x03
00001db8: DUP3
00001db9: DUP2
00001dba: SLOAD
00001dbb: DUP2
00001dbc: LT
00001dbd: ISZERO
00001dbe: ISZERO
00001dbf: PUSH2 0x1dc4
00001dc2: JUMPI
00001dc3: INVALID
00001dc4: JUMPDEST
00001dc5: SWAP1
00001dc6: PUSH1 0x00
00001dc8: MSTORE
00001dc9: PUSH1 0x20
00001dcb: PUSH1 0x00
00001dcd: KECCAK256
00001dce: ADD
00001dcf: PUSH1 0x00
00001dd1: PUSH2 0x0100
00001dd4: EXP
00001dd5: DUP2
00001dd6: SLOAD
00001dd7: DUP2
00001dd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ded: MUL
00001dee: NOT
00001def: AND
00001df0: SWAP1
00001df1: DUP4
00001df2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e07: AND
00001e08: MUL
00001e09: OR
00001e0a: SWAP1
00001e0b: SSTORE
00001e0c: POP
00001e0d: PUSH2 0x1e1e
00001e10: JUMP
00001e11: JUMPDEST
00001e12: DUP1
00001e13: DUP1
00001e14: PUSH1 0x01
00001e16: ADD
00001e17: SWAP2
00001e18: POP
00001e19: POP
00001e1a: PUSH2 0x1d3a
00001e1d: JUMP
00001e1e: JUMPDEST
00001e1f: POP
00001e20: PUSH1 0x00
00001e22: PUSH1 0x02
00001e24: PUSH1 0x00
00001e26: DUP8
00001e27: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e3c: AND
00001e3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e52: AND
00001e53: DUP2
00001e54: MSTORE
00001e55: PUSH1 0x20
00001e57: ADD
00001e58: SWAP1
00001e59: DUP2
00001e5a: MSTORE
00001e5b: PUSH1 0x20
00001e5d: ADD
00001e5e: PUSH1 0x00
00001e60: KECCAK256
00001e61: PUSH1 0x00
00001e63: PUSH2 0x0100
00001e66: EXP
00001e67: DUP2
00001e68: SLOAD
00001e69: DUP2
00001e6a: PUSH1 0xff
00001e6c: MUL
00001e6d: NOT
00001e6e: AND
00001e6f: SWAP1
00001e70: DUP4
00001e71: ISZERO
00001e72: ISZERO
00001e73: MUL
00001e74: OR
00001e75: SWAP1
00001e76: SSTORE
00001e77: POP
00001e78: PUSH1 0x01
00001e7a: PUSH1 0x02
00001e7c: PUSH1 0x00
00001e7e: DUP7
00001e7f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e94: AND
00001e95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eaa: AND
00001eab: DUP2
00001eac: MSTORE
00001ead: PUSH1 0x20
00001eaf: ADD
00001eb0: SWAP1
00001eb1: DUP2
00001eb2: MSTORE
00001eb3: PUSH1 0x20
00001eb5: ADD
00001eb6: PUSH1 0x00
00001eb8: KECCAK256
00001eb9: PUSH1 0x00
00001ebb: PUSH2 0x0100
00001ebe: EXP
00001ebf: DUP2
00001ec0: SLOAD
00001ec1: DUP2
00001ec2: PUSH1 0xff
00001ec4: MUL
00001ec5: NOT
00001ec6: AND
00001ec7: SWAP1
00001ec8: DUP4
00001ec9: ISZERO
00001eca: ISZERO
00001ecb: MUL
00001ecc: OR
00001ecd: SWAP1
00001ece: SSTORE
00001ecf: POP
00001ed0: DUP5
00001ed1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ee6: AND
00001ee7: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
00001f08: PUSH1 0x40
00001f0a: MLOAD
00001f0b: PUSH1 0x40
00001f0d: MLOAD
00001f0e: DUP1
00001f0f: SWAP2
00001f10: SUB
00001f11: SWAP1
00001f12: LOG2
00001f13: DUP4
00001f14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f29: AND
00001f2a: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00001f4b: PUSH1 0x40
00001f4d: MLOAD
00001f4e: PUSH1 0x40
00001f50: MLOAD
00001f51: DUP1
00001f52: SWAP2
00001f53: SUB
00001f54: SWAP1
00001f55: LOG2
00001f56: POP
00001f57: POP
00001f58: POP
00001f59: POP
00001f5a: POP
00001f5b: JUMP
00001f5c: JUMPDEST
00001f5d: CALLER
00001f5e: PUSH1 0x02
00001f60: PUSH1 0x00
00001f62: DUP3
00001f63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f78: AND
00001f79: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f8e: AND
00001f8f: DUP2
00001f90: MSTORE
00001f91: PUSH1 0x20
00001f93: ADD
00001f94: SWAP1
00001f95: DUP2
00001f96: MSTORE
00001f97: PUSH1 0x20
00001f99: ADD
00001f9a: PUSH1 0x00
00001f9c: KECCAK256
00001f9d: PUSH1 0x00
00001f9f: SWAP1
00001fa0: SLOAD
00001fa1: SWAP1
00001fa2: PUSH2 0x0100
00001fa5: EXP
00001fa6: SWAP1
00001fa7: DIV
00001fa8: PUSH1 0xff
00001faa: AND
00001fab: ISZERO
00001fac: ISZERO
00001fad: PUSH2 0x1fb5
00001fb0: JUMPI
00001fb1: PUSH1 0x00
00001fb3: DUP1
00001fb4: REVERT
00001fb5: JUMPDEST
00001fb6: DUP2
00001fb7: CALLER
00001fb8: PUSH1 0x01
00001fba: PUSH1 0x00
00001fbc: DUP4
00001fbd: DUP2
00001fbe: MSTORE
00001fbf: PUSH1 0x20
00001fc1: ADD
00001fc2: SWAP1
00001fc3: DUP2
00001fc4: MSTORE
00001fc5: PUSH1 0x20
00001fc7: ADD
00001fc8: PUSH1 0x00
00001fca: KECCAK256
00001fcb: PUSH1 0x00
00001fcd: DUP3
00001fce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fe3: AND
00001fe4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ff9: AND
00001ffa: DUP2
00001ffb: MSTORE
00001ffc: PUSH1 0x20
00001ffe: ADD
00001fff: SWAP1
00002000: DUP2
00002001: MSTORE
00002002: PUSH1 0x20
00002004: ADD
00002005: PUSH1 0x00
00002007: KECCAK256
00002008: PUSH1 0x00
0000200a: SWAP1
0000200b: SLOAD
0000200c: SWAP1
0000200d: PUSH2 0x0100
00002010: EXP
00002011: SWAP1
00002012: DIV
00002013: PUSH1 0xff
00002015: AND
00002016: ISZERO
00002017: ISZERO
00002018: PUSH2 0x2020
0000201b: JUMPI
0000201c: PUSH1 0x00
0000201e: DUP1
0000201f: REVERT
00002020: JUMPDEST
00002021: DUP4
00002022: PUSH1 0x00
00002024: DUP1
00002025: DUP3
00002026: DUP2
00002027: MSTORE
00002028: PUSH1 0x20
0000202a: ADD
0000202b: SWAP1
0000202c: DUP2
0000202d: MSTORE
0000202e: PUSH1 0x20
00002030: ADD
00002031: PUSH1 0x00
00002033: KECCAK256
00002034: PUSH1 0x03
00002036: ADD
00002037: PUSH1 0x00
00002039: SWAP1
0000203a: SLOAD
0000203b: SWAP1
0000203c: PUSH2 0x0100
0000203f: EXP
00002040: SWAP1
00002041: DIV
00002042: PUSH1 0xff
00002044: AND
00002045: ISZERO
00002046: ISZERO
00002047: ISZERO
00002048: PUSH2 0x2050
0000204b: JUMPI
0000204c: PUSH1 0x00
0000204e: DUP1
0000204f: REVERT
00002050: JUMPDEST
00002051: PUSH2 0x2059
00002054: DUP6
00002055: PUSH2 0x119a
00002058: JUMP
00002059: JUMPDEST
0000205a: ISZERO
0000205b: PUSH2 0x21fd
0000205e: JUMPI
0000205f: PUSH1 0x00
00002061: DUP1
00002062: PUSH1 0x00
00002064: DUP8
00002065: DUP2
00002066: MSTORE
00002067: PUSH1 0x20
00002069: ADD
0000206a: SWAP1
0000206b: DUP2
0000206c: MSTORE
0000206d: PUSH1 0x20
0000206f: ADD
00002070: PUSH1 0x00
00002072: KECCAK256
00002073: SWAP1
00002074: POP
00002075: PUSH1 0x01
00002077: DUP2
00002078: PUSH1 0x03
0000207a: ADD
0000207b: PUSH1 0x00
0000207d: PUSH2 0x0100
00002080: EXP
00002081: DUP2
00002082: SLOAD
00002083: DUP2
00002084: PUSH1 0xff
00002086: MUL
00002087: NOT
00002088: AND
00002089: SWAP1
0000208a: DUP4
0000208b: ISZERO
0000208c: ISZERO
0000208d: MUL
0000208e: OR
0000208f: SWAP1
00002090: SSTORE
00002091: POP
00002092: PUSH2 0x2179
00002095: DUP2
00002096: PUSH1 0x00
00002098: ADD
00002099: PUSH1 0x00
0000209b: SWAP1
0000209c: SLOAD
0000209d: SWAP1
0000209e: PUSH2 0x0100
000020a1: EXP
000020a2: SWAP1
000020a3: DIV
000020a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020b9: AND
000020ba: DUP3
000020bb: PUSH1 0x01
000020bd: ADD
000020be: SLOAD
000020bf: DUP4
000020c0: PUSH1 0x02
000020c2: ADD
000020c3: DUP1
000020c4: SLOAD
000020c5: PUSH1 0x01
000020c7: DUP2
000020c8: PUSH1 0x01
000020ca: AND
000020cb: ISZERO
000020cc: PUSH2 0x0100
000020cf: MUL
000020d0: SUB
000020d1: AND
000020d2: PUSH1 0x02
000020d4: SWAP1
000020d5: DIV
000020d6: SWAP1
000020d7: POP
000020d8: DUP5
000020d9: PUSH1 0x02
000020db: ADD
000020dc: DUP1
000020dd: SLOAD
000020de: PUSH1 0x01
000020e0: DUP2
000020e1: PUSH1 0x01
000020e3: AND
000020e4: ISZERO
000020e5: PUSH2 0x0100
000020e8: MUL
000020e9: SUB
000020ea: AND
000020eb: PUSH1 0x02
000020ed: SWAP1
000020ee: DIV
000020ef: DUP1
000020f0: PUSH1 0x1f
000020f2: ADD
000020f3: PUSH1 0x20
000020f5: DUP1
000020f6: SWAP2
000020f7: DIV
000020f8: MUL
000020f9: PUSH1 0x20
000020fb: ADD
000020fc: PUSH1 0x40
000020fe: MLOAD
000020ff: SWAP1
00002100: DUP2
00002101: ADD
00002102: PUSH1 0x40
00002104: MSTORE
00002105: DUP1
00002106: SWAP3
00002107: SWAP2
00002108: SWAP1
00002109: DUP2
0000210a: DUP2
0000210b: MSTORE
0000210c: PUSH1 0x20
0000210e: ADD
0000210f: DUP3
00002110: DUP1
00002111: SLOAD
00002112: PUSH1 0x01
00002114: DUP2
00002115: PUSH1 0x01
00002117: AND
00002118: ISZERO
00002119: PUSH2 0x0100
0000211c: MUL
0000211d: SUB
0000211e: AND
0000211f: PUSH1 0x02
00002121: SWAP1
00002122: DIV
00002123: DUP1
00002124: ISZERO
00002125: PUSH2 0x216f
00002128: JUMPI
00002129: DUP1
0000212a: PUSH1 0x1f
0000212c: LT
0000212d: PUSH2 0x2144
00002130: JUMPI
00002131: PUSH2 0x0100
00002134: DUP1
00002135: DUP4
00002136: SLOAD
00002137: DIV
00002138: MUL
00002139: DUP4
0000213a: MSTORE
0000213b: SWAP2
0000213c: PUSH1 0x20
0000213e: ADD
0000213f: SWAP2
00002140: PUSH2 0x216f
00002143: JUMP
00002144: JUMPDEST
00002145: DUP3
00002146: ADD
00002147: SWAP2
00002148: SWAP1
00002149: PUSH1 0x00
0000214b: MSTORE
0000214c: PUSH1 0x20
0000214e: PUSH1 0x00
00002150: KECCAK256
00002151: SWAP1
00002152: JUMPDEST
00002153: DUP2
00002154: SLOAD
00002155: DUP2
00002156: MSTORE
00002157: SWAP1
00002158: PUSH1 0x01
0000215a: ADD
0000215b: SWAP1
0000215c: PUSH1 0x20
0000215e: ADD
0000215f: DUP1
00002160: DUP4
00002161: GT
00002162: PUSH2 0x2152
00002165: JUMPI
00002166: DUP3
00002167: SWAP1
00002168: SUB
00002169: PUSH1 0x1f
0000216b: AND
0000216c: DUP3
0000216d: ADD
0000216e: SWAP2
0000216f: JUMPDEST
00002170: POP
00002171: POP
00002172: POP
00002173: POP
00002174: POP
00002175: PUSH2 0x238d
00002178: JUMP
00002179: JUMPDEST
0000217a: ISZERO
0000217b: PUSH2 0x21b0
0000217e: JUMPI
0000217f: DUP6
00002180: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75
000021a1: PUSH1 0x40
000021a3: MLOAD
000021a4: PUSH1 0x40
000021a6: MLOAD
000021a7: DUP1
000021a8: SWAP2
000021a9: SUB
000021aa: SWAP1
000021ab: LOG2
000021ac: PUSH2 0x21fb
000021af: JUMP
000021b0: JUMPDEST
000021b1: DUP6
000021b2: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236
000021d3: PUSH1 0x40
000021d5: MLOAD
000021d6: PUSH1 0x40
000021d8: MLOAD
000021d9: DUP1
000021da: SWAP2
000021db: SUB
000021dc: SWAP1
000021dd: LOG2
000021de: PUSH1 0x00
000021e0: DUP2
000021e1: PUSH1 0x03
000021e3: ADD
000021e4: PUSH1 0x00
000021e6: PUSH2 0x0100
000021e9: EXP
000021ea: DUP2
000021eb: SLOAD
000021ec: DUP2
000021ed: PUSH1 0xff
000021ef: MUL
000021f0: NOT
000021f1: AND
000021f2: SWAP1
000021f3: DUP4
000021f4: ISZERO
000021f5: ISZERO
000021f6: MUL
000021f7: OR
000021f8: SWAP1
000021f9: SSTORE
000021fa: POP
000021fb: JUMPDEST
000021fc: POP
000021fd: JUMPDEST
000021fe: POP
000021ff: POP
00002200: POP
00002201: POP
00002202: POP
00002203: JUMP
00002204: JUMPDEST
00002205: PUSH1 0x00
00002207: DUP3
00002208: DUP3
00002209: GT
0000220a: ISZERO
0000220b: ISZERO
0000220c: ISZERO
0000220d: PUSH2 0x2215
00002210: JUMPI
00002211: PUSH1 0x00
00002213: DUP1
00002214: REVERT
00002215: JUMPDEST
00002216: PUSH1 0x00
00002218: DUP3
00002219: DUP5
0000221a: SUB
0000221b: SWAP1
0000221c: POP
0000221d: DUP1
0000221e: SWAP2
0000221f: POP
00002220: POP
00002221: SWAP3
00002222: SWAP2
00002223: POP
00002224: POP
00002225: JUMP
00002226: JUMPDEST
00002227: PUSH1 0x00
00002229: DUP1
0000222a: DUP3
0000222b: DUP5
0000222c: ADD
0000222d: SWAP1
0000222e: POP
0000222f: DUP4
00002230: DUP2
00002231: LT
00002232: ISZERO
00002233: ISZERO
00002234: ISZERO
00002235: PUSH2 0x223d
00002238: JUMPI
00002239: PUSH1 0x00
0000223b: DUP1
0000223c: REVERT
0000223d: JUMPDEST
0000223e: DUP1
0000223f: SWAP2
00002240: POP
00002241: POP
00002242: SWAP3
00002243: SWAP2
00002244: POP
00002245: POP
00002246: JUMP
00002247: JUMPDEST
00002248: PUSH1 0x00
0000224a: DUP4
0000224b: PUSH1 0x00
0000224d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002262: AND
00002263: DUP2
00002264: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002279: AND
0000227a: EQ
0000227b: ISZERO
0000227c: ISZERO
0000227d: ISZERO
0000227e: PUSH2 0x2286
00002281: JUMPI
00002282: PUSH1 0x00
00002284: DUP1
00002285: REVERT
00002286: JUMPDEST
00002287: PUSH1 0x05
00002289: SLOAD
0000228a: SWAP2
0000228b: POP
0000228c: PUSH1 0x80
0000228e: PUSH1 0x40
00002290: MLOAD
00002291: SWAP1
00002292: DUP2
00002293: ADD
00002294: PUSH1 0x40
00002296: MSTORE
00002297: DUP1
00002298: DUP7
00002299: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022ae: AND
000022af: DUP2
000022b0: MSTORE
000022b1: PUSH1 0x20
000022b3: ADD
000022b4: DUP6
000022b5: DUP2
000022b6: MSTORE
000022b7: PUSH1 0x20
000022b9: ADD
000022ba: DUP5
000022bb: DUP2
000022bc: MSTORE
000022bd: PUSH1 0x20
000022bf: ADD
000022c0: PUSH1 0x00
000022c2: ISZERO
000022c3: ISZERO
000022c4: DUP2
000022c5: MSTORE
000022c6: POP
000022c7: PUSH1 0x00
000022c9: DUP1
000022ca: DUP5
000022cb: DUP2
000022cc: MSTORE
000022cd: PUSH1 0x20
000022cf: ADD
000022d0: SWAP1
000022d1: DUP2
000022d2: MSTORE
000022d3: PUSH1 0x20
000022d5: ADD
000022d6: PUSH1 0x00
000022d8: KECCAK256
000022d9: PUSH1 0x00
000022db: DUP3
000022dc: ADD
000022dd: MLOAD
000022de: DUP2
000022df: PUSH1 0x00
000022e1: ADD
000022e2: PUSH1 0x00
000022e4: PUSH2 0x0100
000022e7: EXP
000022e8: DUP2
000022e9: SLOAD
000022ea: DUP2
000022eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002300: MUL
00002301: NOT
00002302: AND
00002303: SWAP1
00002304: DUP4
00002305: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000231a: AND
0000231b: MUL
0000231c: OR
0000231d: SWAP1
0000231e: SSTORE
0000231f: POP
00002320: PUSH1 0x20
00002322: DUP3
00002323: ADD
00002324: MLOAD
00002325: DUP2
00002326: PUSH1 0x01
00002328: ADD
00002329: SSTORE
0000232a: PUSH1 0x40
0000232c: DUP3
0000232d: ADD
0000232e: MLOAD
0000232f: DUP2
00002330: PUSH1 0x02
00002332: ADD
00002333: SWAP1
00002334: DUP1
00002335: MLOAD
00002336: SWAP1
00002337: PUSH1 0x20
00002339: ADD
0000233a: SWAP1
0000233b: PUSH2 0x2345
0000233e: SWAP3
0000233f: SWAP2
00002340: SWAP1
00002341: PUSH2 0x23e0
00002344: JUMP
00002345: JUMPDEST
00002346: POP
00002347: PUSH1 0x60
00002349: DUP3
0000234a: ADD
0000234b: MLOAD
0000234c: DUP2
0000234d: PUSH1 0x03
0000234f: ADD
00002350: PUSH1 0x00
00002352: PUSH2 0x0100
00002355: EXP
00002356: DUP2
00002357: SLOAD
00002358: DUP2
00002359: PUSH1 0xff
0000235b: MUL
0000235c: NOT
0000235d: AND
0000235e: SWAP1
0000235f: DUP4
00002360: ISZERO
00002361: ISZERO
00002362: MUL
00002363: OR
00002364: SWAP1
00002365: SSTORE
00002366: POP
00002367: SWAP1
00002368: POP
00002369: POP
0000236a: PUSH2 0x237f
0000236d: PUSH1 0x01
0000236f: PUSH1 0x05
00002371: SLOAD
00002372: PUSH2 0x2226
00002375: SWAP1
00002376: SWAP2
00002377: SWAP1
00002378: PUSH4 0xffffffff
0000237d: AND
0000237e: JUMP
0000237f: JUMPDEST
00002380: PUSH1 0x05
00002382: DUP2
00002383: SWAP1
00002384: SSTORE
00002385: POP
00002386: POP
00002387: SWAP4
00002388: SWAP3
00002389: POP
0000238a: POP
0000238b: POP
0000238c: JUMP
0000238d: JUMPDEST
0000238e: PUSH1 0x00
00002390: DUP1
00002391: PUSH1 0x40
00002393: MLOAD
00002394: PUSH1 0x20
00002396: DUP5
00002397: ADD
00002398: PUSH1 0x00
0000239a: DUP3
0000239b: DUP8
0000239c: DUP4
0000239d: DUP11
0000239e: DUP13
0000239f: PUSH2 0x8796
000023a2: GAS
000023a3: SUB
000023a4: CALL
000023a5: SWAP3
000023a6: POP
000023a7: POP
000023a8: POP
000023a9: DUP1
000023aa: SWAP2
000023ab: POP
000023ac: POP
000023ad: SWAP5
000023ae: SWAP4
000023af: POP
000023b0: POP
000023b1: POP
000023b2: POP
000023b3: JUMP
000023b4: JUMPDEST
000023b5: DUP2
000023b6: SLOAD
000023b7: DUP2
000023b8: DUP4
000023b9: SSTORE
000023ba: DUP2
000023bb: DUP2
000023bc: GT
000023bd: ISZERO
000023be: PUSH2 0x23db
000023c1: JUMPI
000023c2: DUP2
000023c3: DUP4
000023c4: PUSH1 0x00
000023c6: MSTORE
000023c7: PUSH1 0x20
000023c9: PUSH1 0x00
000023cb: KECCAK256
000023cc: SWAP2
000023cd: DUP3
000023ce: ADD
000023cf: SWAP2
000023d0: ADD
000023d1: PUSH2 0x23da
000023d4: SWAP2
000023d5: SWAP1
000023d6: PUSH2 0x2460
000023d9: JUMP
000023da: JUMPDEST
000023db: JUMPDEST
000023dc: POP
000023dd: POP
000023de: POP
000023df: JUMP
000023e0: JUMPDEST
000023e1: DUP3
000023e2: DUP1
000023e3: SLOAD
000023e4: PUSH1 0x01
000023e6: DUP2
000023e7: PUSH1 0x01
000023e9: AND
000023ea: ISZERO
000023eb: PUSH2 0x0100
000023ee: MUL
000023ef: SUB
000023f0: AND
000023f1: PUSH1 0x02
000023f3: SWAP1
000023f4: DIV
000023f5: SWAP1
000023f6: PUSH1 0x00
000023f8: MSTORE
000023f9: PUSH1 0x20
000023fb: PUSH1 0x00
000023fd: KECCAK256
000023fe: SWAP1
000023ff: PUSH1 0x1f
00002401: ADD
00002402: PUSH1 0x20
00002404: SWAP1
00002405: DIV
00002406: DUP2
00002407: ADD
00002408: SWAP3
00002409: DUP3
0000240a: PUSH1 0x1f
0000240c: LT
0000240d: PUSH2 0x2421
00002410: JUMPI
00002411: DUP1
00002412: MLOAD
00002413: PUSH1 0xff
00002415: NOT
00002416: AND
00002417: DUP4
00002418: DUP1
00002419: ADD
0000241a: OR
0000241b: DUP6
0000241c: SSTORE
0000241d: PUSH2 0x244f
00002420: JUMP
00002421: JUMPDEST
00002422: DUP3
00002423: DUP1
00002424: ADD
00002425: PUSH1 0x01
00002427: ADD
00002428: DUP6
00002429: SSTORE
0000242a: DUP3
0000242b: ISZERO
0000242c: PUSH2 0x244f
0000242f: JUMPI
00002430: SWAP2
00002431: DUP3
00002432: ADD
00002433: JUMPDEST
00002434: DUP3
00002435: DUP2
00002436: GT
00002437: ISZERO
00002438: PUSH2 0x244e
0000243b: JUMPI
0000243c: DUP3
0000243d: MLOAD
0000243e: DUP3
0000243f: SSTORE
00002440: SWAP2
00002441: PUSH1 0x20
00002443: ADD
00002444: SWAP2
00002445: SWAP1
00002446: PUSH1 0x01
00002448: ADD
00002449: SWAP1
0000244a: PUSH2 0x2433
0000244d: JUMP
0000244e: JUMPDEST
0000244f: JUMPDEST
00002450: POP
00002451: SWAP1
00002452: POP
00002453: PUSH2 0x245c
00002456: SWAP2
00002457: SWAP1
00002458: PUSH2 0x2460
0000245b: JUMP
0000245c: JUMPDEST
0000245d: POP
0000245e: SWAP1
0000245f: JUMP
00002460: JUMPDEST
00002461: PUSH2 0x2482
00002464: SWAP2
00002465: SWAP1
00002466: JUMPDEST
00002467: DUP1
00002468: DUP3
00002469: GT
0000246a: ISZERO
0000246b: PUSH2 0x247e
0000246e: JUMPI
0000246f: PUSH1 0x00
00002471: DUP2
00002472: PUSH1 0x00
00002474: SWAP1
00002475: SSTORE
00002476: POP
00002477: PUSH1 0x01
00002479: ADD
0000247a: PUSH2 0x2466
0000247d: JUMP
0000247e: JUMPDEST
0000247f: POP
00002480: SWAP1
00002481: JUMP
00002482: JUMPDEST
00002483: SWAP1
00002484: JUMP
00002485: INVALID
00002486: LOG1
00002487: PUSH6 0x627a7a723058
0000248e: KECCAK256
0000248f: UNKNOWN(0xBC)
00002490: XOR
00002491: POP
00002492: UNKNOWN(0xD0)
00002493: UNKNOWN(0xC4)
00002494: LOG3
00002495: UNKNOWN(0xBD)
00002496: UNKNOWN(0xAB)
00002497: REVERT
00002498: UNKNOWN(0xE0)
00002499: UNKNOWN(0xF9)
0000249a: UNKNOWN(0x2C)
0000249b: UNKNOWN(0xFB)
0000249c: UNKNOWN(0xD6)
0000249d: SWAP2
0000249e: PUSH1 0x3c
000024a0: UNKNOWN(0xAE)
000024a1: SHL
000024a2: PUSH13 0x812a6ce66641da44c4ca347000
000024b0: UNKNOWN(0x29)

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x82dd7aec6533d267aefdd4b0c9464c14c753e7206016d9a5eb2d4f5219d1e545
call_targets: 0x78d69703bc045235ef31414640283ad3317f944d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x82dd7aec6533d267aefdd4b0c9464c14c753e7206016d9a5eb2d4f5219d1e545",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x78d69703bc045235ef31414640283ad3317f944d"
    ],
    "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": "0xc01a8c84",
            "selector": "0xc01a8c84",
            "calldata_variants": [
                "0xc01a8c84",
                "0xc01a8c840000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6427474",
            "selector": "0xc6427474",
            "calldata_variants": [
                "0xc6427474",
                "0xc64274740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd74f8edd",
            "selector": "0xd74f8edd",
            "calldata_variants": [
                "0xd74f8edd",
                "0xd74f8edd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc8452cd",
            "selector": "0xdc8452cd",
            "calldata_variants": [
                "0xdc8452cd",
                "0xdc8452cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe20056e6",
            "selector": "0xe20056e6",
            "calldata_variants": [
                "0xe20056e6",
                "0xe20056e60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee22610b",
            "selector": "0xee22610b",
            "calldata_variants": [
                "0xee22610b",
                "0xee22610b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0e67e2b",
            "selector": "0xa0e67e2b",
            "calldata_variants": [
                "0xa0e67e2b",
                "0xa0e67e2b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8abe69a",
            "selector": "0xa8abe69a",
            "calldata_variants": [
                "0xa8abe69a",
                "0xa8abe69a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 9124,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 2616,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3975,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6361,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7202,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x82dd7aec6533d267aefdd4b0c9464c14c753e7206016d9a5eb2d4f5219d1e545
call_targets: 0x78d69703bc045235ef31414640283ad3317f944d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x82dd7aec6533d267aefdd4b0c9464c14c753e7206016d9a5eb2d4f5219d1e545",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x78d69703bc045235ef31414640283ad3317f944d"
    ],
    "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": "0xc01a8c84",
            "selector": "0xc01a8c84",
            "calldata_variants": [
                "0xc01a8c84",
                "0xc01a8c840000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6427474",
            "selector": "0xc6427474",
            "calldata_variants": [
                "0xc6427474",
                "0xc64274740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd74f8edd",
            "selector": "0xd74f8edd",
            "calldata_variants": [
                "0xd74f8edd",
                "0xd74f8edd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc8452cd",
            "selector": "0xdc8452cd",
            "calldata_variants": [
                "0xdc8452cd",
                "0xdc8452cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe20056e6",
            "selector": "0xe20056e6",
            "calldata_variants": [
                "0xe20056e6",
                "0xe20056e60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee22610b",
            "selector": "0xee22610b",
            "calldata_variants": [
                "0xee22610b",
                "0xee22610b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0e67e2b",
            "selector": "0xa0e67e2b",
            "calldata_variants": [
                "0xa0e67e2b",
                "0xa0e67e2b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8abe69a",
            "selector": "0xa8abe69a",
            "calldata_variants": [
                "0xa8abe69a",
                "0xa8abe69a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 9124,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 2616,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3975,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6361,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7202,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}