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

Analysis Run

c191f010-365b-43c1-9bc7-308c301fc4dd

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 6:12 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Untrusted DELEGATECALL target 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
31247 report.consolidate complete 1 / 1 3 months ago
104741 artifact.fetch failed 1 / 3 1 week ago
104742 tool.cast_disasm complete 1 / 3 1 week ago
104743 analysis.bundle complete 1 / 3 1 week ago
104744 capability.graph complete 1 / 3 1 week ago
104745 detector.run complete 1 / 3 1 week ago
104746 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 path to extract value found in the provided contracts.
View stderr
[codex:1287772] OpenAI Codex v0.77.0 (research preview)
[codex:1287772] --------
[codex:1287772] workdir: /tmp/codex-multi-5_p3czxk
[codex:1287772] model: gpt-5.2-codex
[codex:1287772] provider: openai
[codex:1287772] approval: never
[codex:1287772] sandbox: read-only
[codex:1287772] reasoning effort: xhigh
[codex:1287772] reasoning summaries: auto
[codex:1287772] session id: 019b7d54-3b3d-7251-ad83-c9f032eaaaa0
[codex:1287772] --------
[codex:1287772] user
[codex:1287772] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1287772] 
[codex:1287772] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1287772] 
[codex:1287772] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1287772] - Gas inefficiency, code quality, naming, or best practices
[codex:1287772] - Theoretical vulnerabilities without a clear extraction path
[codex:1287772] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1287772] - Front-running unless it enables theft beyond MEV
[codex:1287772] - DoS, griefing, or issues that don't result in attacker profit
[codex:1287772] - Missing events, view function issues, or informational findings
[codex:1287772] 
[codex:1287772] HIGH-VALUE PATTERNS TO HUNT:
[codex:1287772] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1287772] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1287772] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1287772] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1287772] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1287772] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1287772] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1287772] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1287772] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1287772] 
[codex:1287772] For each finding, you MUST provide:
[codex:1287772] 1. Exact file and line numbers of vulnerable code
[codex:1287772] 2. Step-by-step exploit transaction sequence
[codex:1287772] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1287772] 
[codex:1287772] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1287772] 
[codex:1287772] Output MUST be valid JSON matching the provided schema.
[codex:1287772] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1287772] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1287772] mcp startup: no servers
[codex:1287772] 
[codex:1287772] thinking
[codex:1287772] **Checking instructions and files**
[codex:1287772] exec
[codex:1287772] /bin/bash -lc ls in /tmp/codex-multi-5_p3czxk succeeded in 5ms:
[codex:1287772] AUDIT_BUNDLE.txt
[codex:1287772] codex-output-schema.json
[codex:1287772] contracts
[codex:1287772] exec
[codex:1287772] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-5_p3czxk succeeded in 5ms:
[codex:1287772] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1287772] 
[codex:1287772] ================================================================================
[codex:1287772] FILE: contracts/src/contracts/PrivacyPool.sol
[codex:1287772] ================================================================================
[codex:1287772] // SPDX-License-Identifier: Apache-2.0
[codex:1287772] pragma solidity 0.8.28;
[codex:1287772] 
[codex:1287772] /*
[codex:1287772] 
[codex:1287772] Made with ♥ for 0xBow by
[codex:1287772] 
[codex:1287772] ░██╗░░░░░░░██╗░█████╗░███╗░░██╗██████╗░███████╗██████╗░██╗░░░░░░█████╗░███╗░░██╗██████╗░
[codex:1287772] ░██║░░██╗░░██║██╔══██╗████╗░██║██╔══██╗██╔════╝██╔══██╗██║░░░░░██╔══██╗████╗░██║██╔══██╗
[codex:1287772] ░╚██╗████╗██╔╝██║░░██║██╔██╗██║██║░░██║█████╗░░██████╔╝██║░░░░░███████║██╔██╗██║██║░░██║
[codex:1287772] ░░████╔═████║░██║░░██║██║╚████║██║░░██║██╔══╝░░██╔══██╗██║░░░░░██╔══██║██║╚████║██║░░██║
[codex:1287772] ░░╚██╔╝░╚██╔╝░╚█████╔╝██║░╚███║██████╔╝███████╗██║░░██║███████╗██║░░██║██║░╚███║██████╔╝
[codex:1287772] ░░░╚═╝░░░╚═╝░░░╚════╝░╚═╝░░╚══╝╚═════╝░╚══════╝╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝╚═╝░░╚══╝╚═════╝░
[codex:1287772] 
[codex:1287772] https://defi.sucks/
[codex:1287772] 
[codex:1287772] thinking
[codex:1287772] **Searching for entrypoint in bundle**
[codex:1287772] exec
[codex:1287772] /bin/bash -lc 'rg -n "contract Entrypoint|Entrypoint" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-5_p3czxk succeeded in 7ms:
[codex:1287772] 37: * @dev Deposits can be irreversibly suspended by the Entrypoint, while withdrawals can't.
[codex:1287772] 70:   * @param _entrypoint Address of the Entrypoint that operates this pool
[codex:1287772] 91:  ) external payable onlyEntrypoint returns (uint256 _commitment) {
[codex:1287772] 162:  function windDown() external onlyEntrypoint {
[codex:1287772] 217:import {IEntrypoint} from 'interfaces/IEntrypoint.sol';
[codex:1287772] 239:  IEntrypoint public immutable ENTRYPOINT;
[codex:1287772] 264:   * @notice Check the caller is the Entrypoint
[codex:1287772] 266:  modifier onlyEntrypoint() {
[codex:1287772] 267:    if (msg.sender != address(ENTRYPOINT)) revert OnlyEntrypoint();
[codex:1287772] 286:    ENTRYPOINT = IEntrypoint(_entrypoint);
[codex:1287772] 442:FILE: contracts/src/interfaces/IEntrypoint.sol
[codex:1287772] 453: * @title IEntrypoint
[codex:1287772] 454: * @notice Interface for the Entrypoint contract
[codex:1287772] 456:interface IEntrypoint {
[codex:1287772] 522:   * @notice Emitted when processing a withdrawal through the Entrypoint
[codex:1287772] 534:   * @notice Emitted when withdrawing fees from the Entrypoint
[codex:1287772] 548:   * @notice Emitted when registering a Privacy Pool in the Entrypoint registry
[codex:1287772] 556:   * @notice Emitted when removing a Privacy Pool from the Entrypoint registry
[codex:1287772] 599:   * @notice Thrown when trying to register a pool whose configured Entrypoint is not this one
[codex:1287772] 601:  error InvalidEntrypointForPool();
[codex:1287772] 
[codex:1287772] thinking
[codex:1287772] **Checking for Entrypoint implementation**
[codex:1287772] exec
[codex:1287772] /bin/bash -lc 'tail -n 200 AUDIT_BUNDLE.txt' in /tmp/codex-multi-5_p3czxk succeeded in 5ms:
[codex:1287772]  */
[codex:1287772] interface IState {
[codex:1287772]   /*///////////////////////////////////////////////////////////////
[codex:1287772]                               EVENTS
[codex:1287772]   //////////////////////////////////////////////////////////////*/
[codex:1287772] 
[codex:1287772]   /**
[codex:1287772]    * @notice Emitted when inserting a leaf into the Merkle Tree
[codex:1287772]    * @param _index The index of the leaf in the tree
[codex:1287772]    * @param _leaf The leaf value
[codex:1287772]    * @param _root The updated root
[codex:1287772]    */
[codex:1287772]   event LeafInserted(uint256 _index, uint256 _leaf, uint256 _root);
[codex:1287772] 
[codex:1287772]   /*///////////////////////////////////////////////////////////////
[codex:1287772]                               ERRORS
[codex:1287772]   //////////////////////////////////////////////////////////////*/
[codex:1287772] 
[codex:1287772]   /**
[codex:1287772]    * @notice Thrown when trying to call a method only available to the Entrypoint
[codex:1287772] 
[codex:1287772] thinking
[codex:1287772] **Analyzing potential reentrancy and proof verification issues**
[codex:1287772] exec
[codex:1287772] /bin/bash -lc 'rg -n "library ProofLib|ProofLib" AUDIT_BUNDLE.txt' in /tmp/codex-multi-5_p3czxk succeeded in 6ms:
[codex:1287772] 27:import {ProofLib} from './lib/ProofLib.sol';
[codex:1287772] 40:  using ProofLib for ProofLib.WithdrawProof;
[codex:1287772] 41:  using ProofLib for ProofLib.RagequitProof;
[codex:1287772] 48:  modifier validWithdrawal(Withdrawal memory _withdrawal, ProofLib.WithdrawProof memory _proof) {
[codex:1287772] 117:    ProofLib.WithdrawProof memory _proof
[codex:1287772] 137:  function ragequit(ProofLib.RagequitProof memory _proof) external {
[codex:1287772] 449:import {ProofLib} from '../contracts/lib/ProofLib.sol';
[codex:1287772] 721:    ProofLib.WithdrawProof calldata _proof,
[codex:1287772] 830:import {ProofLib} from '../contracts/lib/ProofLib.sol';
[codex:1287772] 969:  function withdraw(Withdrawal memory _w, ProofLib.WithdrawProof memory _p) external;
[codex:1287772] 976:  function ragequit(ProofLib.RagequitProof memory _p) external;
[codex:1287772] 
[codex:1287772] thinking
[codex:1287772] **Checking for missing ProofLib.sol inclusion**
[codex:1287772] exec
[codex:1287772] /bin/bash -lc 'rg -n "ProofLib.sol" AUDIT_BUNDLE.txt' in /tmp/codex-multi-5_p3czxk succeeded in 7ms:
[codex:1287772] 27:import {ProofLib} from './lib/ProofLib.sol';
[codex:1287772] 449:import {ProofLib} from '../contracts/lib/ProofLib.sol';
[codex:1287772] 830:import {ProofLib} from '../contracts/lib/ProofLib.sol';
[codex:1287772] 
[codex:1287772] thinking
[codex:1287772] **Checking for ProofLib files**
[codex:1287772] exec
[codex:1287772] /bin/bash -lc 'rg --files' in /tmp/codex-multi-5_p3czxk succeeded in 8ms:
[codex:1287772] codex-output-schema.json
[codex:1287772] AUDIT_BUNDLE.txt
[codex:1287772] contracts/src/interfaces/IEntrypoint.sol
[codex:1287772] contracts/src/interfaces/IState.sol
[codex:1287772] contracts/src/interfaces/IPrivacyPool.sol
[codex:1287772] contracts/src/interfaces/IVerifier.sol
[codex:1287772] contracts/src/contracts/State.sol
[codex:1287772] contracts/src/contracts/PrivacyPool.sol
[codex:1287772] contracts/src/contracts/lib/ProofLib.sol
[codex:1287772] contracts/src/contracts/lib/Constants.sol
[codex:1287772] contracts/src/contracts/implementations/PrivacyPoolSimple.sol
[codex:1287772] 
[codex:1287772] thinking
[codex:1287772] **Reviewing ProofLib and Constants**
[codex:1287772] exec
[codex:1287772] /bin/bash -lc 'cat contracts/src/contracts/lib/ProofLib.sol' in /tmp/codex-multi-5_p3czxk succeeded in 5ms:
[codex:1287772] // SPDX-License-Identifier: Apache-2.0
[codex:1287772] pragma solidity 0.8.28;
[codex:1287772] 
[codex:1287772] /**
[codex:1287772]  * @title ProofLib
[codex:1287772]  * @notice Facilitates accessing the public signals of a Groth16 proof.
[codex:1287772]  * @custom:semver 0.1.0
[codex:1287772]  */
[codex:1287772] library ProofLib {
[codex:1287772]   /*///////////////////////////////////////////////////////////////
[codex:1287772]                          WITHDRAWAL PROOF 
[codex:1287772]   //////////////////////////////////////////////////////////////*/
[codex:1287772] 
[codex:1287772]   /**
[codex:1287772]    * @notice Struct containing Groth16 proof elements and public signals for withdrawal verification
[codex:1287772]    * @dev The public signals array must match the order of public inputs/outputs in the circuit
[codex:1287772]    * @param pA First elliptic curve point (π_A) of the Groth16 proof, encoded as two field elements
[codex:1287772]    * @param pB Second elliptic curve point (π_B) of the Groth16 proof, encoded as 2x2 matrix of field elements
[codex:1287772]    * @param pC Third elliptic curve point (π_C) of the Groth16 proof, encoded as two field elements
[codex:1287772]    * @param pubSignals Array of public inputs and outputs:
[codex:1287772] 
[codex:1287772] thinking
[codex:1287772] **Identifying missing constants**
[codex:1287772] exec
[codex:1287772] /bin/bash -lc 'cat contracts/src/contracts/lib/Constants.sol' in /tmp/codex-multi-5_p3czxk succeeded in 5ms:
[codex:1287772] // SPDX-License-Identifier: Apache-2.0
[codex:1287772] pragma solidity 0.8.28;
[codex:1287772] 
[codex:1287772] library Constants {
[codex:1287772]   uint256 constant SNARK_SCALAR_FIELD =
[codex:1287772]     21_888_242_871_839_275_222_246_405_745_257_275_088_548_364_400_416_034_343_698_204_186_575_808_495_617;
[codex:1287772] 
[codex:1287772]   address constant NATIVE_ASSET = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
[codex:1287772] }
[codex:1287772] 
[codex:1287772] 
[codex:1287772] thinking
[codex:1287772] **Analyzing reentrancy and state consistency risks**
[codex:1287772] 
[codex:1287772] I've carefully evaluated potential reentrancy vulnerabilities around _push and withdraw, particularly whether reentering withdraw could enable multiple spends of new commitments inserted in the same transaction. I considered the update of state roots, proof validity tied to roots, and external calls that might revert or allow reentry. While some edge cases appear complex—like chaining withdrawals by spending freshly inserted commitments within one transaction—no concrete exploitable profit path emerged under the current assumptions about proofs, entrypoint restrictions, and state handling.
[codex:1287772] thinking
[codex:1287772] **Preparing final audit JSON response**
[codex:1287772] 
[codex:1287772] I'm wrapping up with a JSON summary indicating no exploitable vulnerabilities found, confirming all proofs and state checks appear sound, and ensuring the output matches the required schema exactly for clean validation.
[codex:1287772] codex
[codex:1287772] {"no_findings":true,"summary":"No concrete, exploitable path to extract value found in the provided contracts.","findings":[]}
[codex:1287772] tokens used
[codex:1287772] 23,984
[codex:1287772] {"no_findings":true,"summary":"No concrete, exploitable path to extract value found in the provided contracts.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T06:12:27.372290+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable path to extract value found in the provided contracts.",
    "raw_final": {
        "summary": "No concrete, exploitable path to extract value found in the provided contracts.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
0
Total opcodes
3822
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0157
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0xa8f0f95a
00000018: GT
00000019: PUSH2 0x00bb
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0xda662925
00000023: GT
00000024: PUSH2 0x0071
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0xe4b2fb79
0000002e: GT
0000002f: PUSH2 0x0057
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xe4b2fb79
00000039: EQ
0000003a: PUSH2 0x03dd
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xe8eb3cc6
00000044: EQ
00000045: PUSH2 0x041e
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xfdab463d
0000004f: EQ
00000050: PUSH2 0x0451
00000053: JUMPI
00000054: PUSH0
00000055: PUSH0
00000056: REVERT
00000057: JUMPDEST
00000058: DUP1
00000059: PUSH4 0xda662925
0000005e: EQ
0000005f: PUSH2 0x0396
00000062: JUMPI
00000063: DUP1
00000064: PUSH4 0xe38df5f0
00000069: EQ
0000006a: PUSH2 0x03c9
0000006d: JUMPI
0000006e: PUSH0
0000006f: PUSH0
00000070: REVERT
00000071: JUMPDEST
00000072: DUP1
00000073: PUSH4 0xb85c5145
00000078: GT
00000079: PUSH2 0x00a1
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xb85c5145
00000083: EQ
00000084: PUSH2 0x0343
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0xc2b40ae4
0000008e: EQ
0000008f: PUSH2 0x0357
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xcd87a3b4
00000099: EQ
0000009a: PUSH2 0x0382
0000009d: JUMPI
0000009e: PUSH0
0000009f: PUSH0
000000a0: REVERT
000000a1: JUMPDEST
000000a2: DUP1
000000a3: PUSH4 0xa8f0f95a
000000a8: EQ
000000a9: PUSH2 0x031b
000000ac: JUMPI
000000ad: DUP1
000000ae: PUSH4 0xaffed0e0
000000b3: EQ
000000b4: PUSH2 0x032f
000000b7: JUMPI
000000b8: PUSH0
000000b9: PUSH0
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0x4800d97f
000000c2: GT
000000c3: PUSH2 0x0110
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x71235b34
000000cd: GT
000000ce: PUSH2 0x00f6
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x71235b34
000000d8: EQ
000000d9: PUSH2 0x0298
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x8735eb2b
000000e3: EQ
000000e4: PUSH2 0x02b7
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x90eeb02b
000000ee: EQ
000000ef: PUSH2 0x02ea
000000f2: JUMPI
000000f3: PUSH0
000000f4: PUSH0
000000f5: REVERT
000000f6: JUMPDEST
000000f7: DUP1
000000f8: PUSH4 0x4800d97f
000000fd: EQ
000000fe: PUSH2 0x022c
00000101: JUMPI
00000102: DUP1
00000103: PUSH4 0x4a2b75c8
00000108: EQ
00000109: PUSH2 0x0284
0000010c: JUMPI
0000010d: PUSH0
0000010e: PUSH0
0000010f: REVERT
00000110: JUMPDEST
00000111: DUP1
00000112: PUSH4 0x30c0766d
00000117: GT
00000118: PUSH2 0x0140
0000011b: JUMPI
0000011c: DUP1
0000011d: PUSH4 0x30c0766d
00000122: EQ
00000123: PUSH2 0x01bf
00000126: JUMPI
00000127: DUP1
00000128: PUSH4 0x33d09200
0000012d: EQ
0000012e: PUSH2 0x01e0
00000131: JUMPI
00000132: DUP1
00000133: PUSH4 0x36cf7c87
00000138: EQ
00000139: PUSH2 0x0213
0000013c: JUMPI
0000013d: PUSH0
0000013e: PUSH0
0000013f: REVERT
00000140: JUMPDEST
00000141: DUP1
00000142: PUSH4 0x0efe6a8b
00000147: EQ
00000148: PUSH2 0x015b
0000014b: JUMPI
0000014c: DUP1
0000014d: PUSH4 0x1f79a1e9
00000152: EQ
00000153: PUSH2 0x0181
00000156: JUMPI
00000157: JUMPDEST
00000158: PUSH0
00000159: PUSH0
0000015a: REVERT
0000015b: JUMPDEST
0000015c: PUSH2 0x016e
0000015f: PUSH2 0x0169
00000162: CALLDATASIZE
00000163: PUSH1 0x04
00000165: PUSH2 0x1453
00000168: JUMP
00000169: JUMPDEST
0000016a: PUSH2 0x0473
0000016d: JUMP
0000016e: JUMPDEST
0000016f: PUSH1 0x40
00000171: MLOAD
00000172: SWAP1
00000173: DUP2
00000174: MSTORE
00000175: PUSH1 0x20
00000177: ADD
00000178: JUMPDEST
00000179: PUSH1 0x40
0000017b: MLOAD
0000017c: DUP1
0000017d: SWAP2
0000017e: SUB
0000017f: SWAP1
00000180: RETURN
00000181: JUMPDEST
00000182: CALLVALUE
00000183: DUP1
00000184: ISZERO
00000185: PUSH2 0x018c
00000188: JUMPI
00000189: PUSH0
0000018a: PUSH0
0000018b: REVERT
0000018c: JUMPDEST
0000018d: POP
0000018e: PUSH2 0x01af
00000191: PUSH2 0x019b
00000194: CALLDATASIZE
00000195: PUSH1 0x04
00000197: PUSH2 0x1483
0000019a: JUMP
0000019b: JUMPDEST
0000019c: PUSH1 0x08
0000019e: PUSH1 0x20
000001a0: MSTORE
000001a1: PUSH0
000001a2: SWAP1
000001a3: DUP2
000001a4: MSTORE
000001a5: PUSH1 0x40
000001a7: SWAP1
000001a8: KECCAK256
000001a9: SLOAD
000001aa: PUSH1 0xff
000001ac: AND
000001ad: DUP2
000001ae: JUMP
000001af: JUMPDEST
000001b0: PUSH1 0x40
000001b2: MLOAD
000001b3: SWAP1
000001b4: ISZERO
000001b5: ISZERO
000001b6: DUP2
000001b7: MSTORE
000001b8: PUSH1 0x20
000001ba: ADD
000001bb: PUSH2 0x0178
000001be: JUMP
000001bf: JUMPDEST
000001c0: CALLVALUE
000001c1: DUP1
000001c2: ISZERO
000001c3: PUSH2 0x01ca
000001c6: JUMPI
000001c7: PUSH0
000001c8: PUSH0
000001c9: REVERT
000001ca: JUMPDEST
000001cb: POP
000001cc: PUSH2 0x01de
000001cf: PUSH2 0x01d9
000001d2: CALLDATASIZE
000001d3: PUSH1 0x04
000001d5: PUSH2 0x16bc
000001d8: JUMP
000001d9: JUMPDEST
000001da: PUSH2 0x0765
000001dd: JUMP
000001de: JUMPDEST
000001df: STOP
000001e0: JUMPDEST
000001e1: CALLVALUE
000001e2: DUP1
000001e3: ISZERO
000001e4: PUSH2 0x01eb
000001e7: JUMPI
000001e8: PUSH0
000001e9: PUSH0
000001ea: REVERT
000001eb: JUMPDEST
000001ec: POP
000001ed: PUSH2 0x016e
000001f0: PUSH32 0x0adeaec0e1538a417bf70421cc25c90da5269c128097beb58d8cbc22dadfae43
00000211: DUP2
00000212: JUMP
00000213: JUMPDEST
00000214: CALLVALUE
00000215: DUP1
00000216: ISZERO
00000217: PUSH2 0x021e
0000021a: JUMPI
0000021b: PUSH0
0000021c: PUSH0
0000021d: REVERT
0000021e: JUMPDEST
0000021f: POP
00000220: PUSH1 0x01
00000222: SLOAD
00000223: PUSH2 0x01af
00000226: SWAP1
00000227: PUSH1 0xff
00000229: AND
0000022a: DUP2
0000022b: JUMP
0000022c: JUMPDEST
0000022d: CALLVALUE
0000022e: DUP1
0000022f: ISZERO
00000230: PUSH2 0x0237
00000233: JUMPI
00000234: PUSH0
00000235: PUSH0
00000236: REVERT
00000237: JUMPDEST
00000238: POP
00000239: PUSH2 0x025f
0000023c: PUSH32 0x000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0000025d: DUP2
0000025e: JUMP
0000025f: JUMPDEST
00000260: PUSH1 0x40
00000262: MLOAD
00000263: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000278: SWAP1
00000279: SWAP2
0000027a: AND
0000027b: DUP2
0000027c: MSTORE
0000027d: PUSH1 0x20
0000027f: ADD
00000280: PUSH2 0x0178
00000283: JUMP
00000284: JUMPDEST
00000285: CALLVALUE
00000286: DUP1
00000287: ISZERO
00000288: PUSH2 0x028f
0000028b: JUMPI
0000028c: PUSH0
0000028d: PUSH0
0000028e: REVERT
0000028f: JUMPDEST
00000290: POP
00000291: PUSH1 0x05
00000293: SLOAD
00000294: PUSH2 0x016e
00000297: JUMP
00000298: JUMPDEST
00000299: CALLVALUE
0000029a: DUP1
0000029b: ISZERO
0000029c: PUSH2 0x02a3
0000029f: JUMPI
000002a0: PUSH0
000002a1: PUSH0
000002a2: REVERT
000002a3: JUMPDEST
000002a4: POP
000002a5: PUSH2 0x01de
000002a8: PUSH2 0x02b2
000002ab: CALLDATASIZE
000002ac: PUSH1 0x04
000002ae: PUSH2 0x17c9
000002b1: JUMP
000002b2: JUMPDEST
000002b3: PUSH2 0x0b82
000002b6: JUMP
000002b7: JUMPDEST
000002b8: CALLVALUE
000002b9: DUP1
000002ba: ISZERO
000002bb: PUSH2 0x02c2
000002be: JUMPI
000002bf: PUSH0
000002c0: PUSH0
000002c1: REVERT
000002c2: JUMPDEST
000002c3: POP
000002c4: PUSH2 0x025f
000002c7: PUSH32 0x000000000000000000000000022891f938ae7fdc8ab9ead0fbf50aba8c897d6d
000002e8: DUP2
000002e9: JUMP
000002ea: JUMPDEST
000002eb: CALLVALUE
000002ec: DUP1
000002ed: ISZERO
000002ee: PUSH2 0x02f5
000002f1: JUMPI
000002f2: PUSH0
000002f3: PUSH0
000002f4: REVERT
000002f5: JUMPDEST
000002f6: POP
000002f7: PUSH1 0x03
000002f9: SLOAD
000002fa: PUSH2 0x0306
000002fd: SWAP1
000002fe: PUSH4 0xffffffff
00000303: AND
00000304: DUP2
00000305: JUMP
00000306: JUMPDEST
00000307: PUSH1 0x40
00000309: MLOAD
0000030a: PUSH4 0xffffffff
0000030f: SWAP1
00000310: SWAP2
00000311: AND
00000312: DUP2
00000313: MSTORE
00000314: PUSH1 0x20
00000316: ADD
00000317: PUSH2 0x0178
0000031a: JUMP
0000031b: JUMPDEST
0000031c: CALLVALUE
0000031d: DUP1
0000031e: ISZERO
0000031f: PUSH2 0x0326
00000322: JUMPI
00000323: PUSH0
00000324: PUSH0
00000325: REVERT
00000326: JUMPDEST
00000327: POP
00000328: PUSH1 0x04
0000032a: SLOAD
0000032b: PUSH2 0x016e
0000032e: JUMP
0000032f: JUMPDEST
00000330: CALLVALUE
00000331: DUP1
00000332: ISZERO
00000333: PUSH2 0x033a
00000336: JUMPI
00000337: PUSH0
00000338: PUSH0
00000339: REVERT
0000033a: JUMPDEST
0000033b: POP
0000033c: PUSH2 0x016e
0000033f: PUSH0
00000340: SLOAD
00000341: DUP2
00000342: JUMP
00000343: JUMPDEST
00000344: CALLVALUE
00000345: DUP1
00000346: ISZERO
00000347: PUSH2 0x034e
0000034a: JUMPI
0000034b: PUSH0
0000034c: PUSH0
0000034d: REVERT
0000034e: JUMPDEST
0000034f: POP
00000350: PUSH2 0x01de
00000353: PUSH2 0x0d8e
00000356: JUMP
00000357: JUMPDEST
00000358: CALLVALUE
00000359: DUP1
0000035a: ISZERO
0000035b: PUSH2 0x0362
0000035e: JUMPI
0000035f: PUSH0
00000360: PUSH0
00000361: REVERT
00000362: JUMPDEST
00000363: POP
00000364: PUSH2 0x016e
00000367: PUSH2 0x0371
0000036a: CALLDATASIZE
0000036b: PUSH1 0x04
0000036d: PUSH2 0x1483
00000370: JUMP
00000371: JUMPDEST
00000372: PUSH1 0x02
00000374: PUSH1 0x20
00000376: MSTORE
00000377: PUSH0
00000378: SWAP1
00000379: DUP2
0000037a: MSTORE
0000037b: PUSH1 0x40
0000037d: SWAP1
0000037e: KECCAK256
0000037f: SLOAD
00000380: DUP2
00000381: JUMP
00000382: JUMPDEST
00000383: CALLVALUE
00000384: DUP1
00000385: ISZERO
00000386: PUSH2 0x038d
00000389: JUMPI
0000038a: PUSH0
0000038b: PUSH0
0000038c: REVERT
0000038d: JUMPDEST
0000038e: POP
0000038f: PUSH2 0x0306
00000392: PUSH1 0x40
00000394: DUP2
00000395: JUMP
00000396: JUMPDEST
00000397: CALLVALUE
00000398: DUP1
00000399: ISZERO
0000039a: PUSH2 0x03a1
0000039d: JUMPI
0000039e: PUSH0
0000039f: PUSH0
000003a0: REVERT
000003a1: JUMPDEST
000003a2: POP
000003a3: PUSH2 0x025f
000003a6: PUSH32 0x000000000000000000000000a45aca8604a73d80c551faad6355a5c3a5565ec6
000003c7: DUP2
000003c8: JUMP
000003c9: JUMPDEST
000003ca: CALLVALUE
000003cb: DUP1
000003cc: ISZERO
000003cd: PUSH2 0x03d4
000003d0: JUMPI
000003d1: PUSH0
000003d2: PUSH0
000003d3: REVERT
000003d4: JUMPDEST
000003d5: POP
000003d6: PUSH2 0x0306
000003d9: PUSH1 0x20
000003db: DUP2
000003dc: JUMP
000003dd: JUMPDEST
000003de: CALLVALUE
000003df: DUP1
000003e0: ISZERO
000003e1: PUSH2 0x03e8
000003e4: JUMPI
000003e5: PUSH0
000003e6: PUSH0
000003e7: REVERT
000003e8: JUMPDEST
000003e9: POP
000003ea: PUSH2 0x025f
000003ed: PUSH2 0x03f7
000003f0: CALLDATASIZE
000003f1: PUSH1 0x04
000003f3: PUSH2 0x1483
000003f6: JUMP
000003f7: JUMPDEST
000003f8: PUSH1 0x09
000003fa: PUSH1 0x20
000003fc: MSTORE
000003fd: PUSH0
000003fe: SWAP1
000003ff: DUP2
00000400: MSTORE
00000401: PUSH1 0x40
00000403: SWAP1
00000404: KECCAK256
00000405: SLOAD
00000406: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000041b: AND
0000041c: DUP2
0000041d: JUMP
0000041e: JUMPDEST
0000041f: CALLVALUE
00000420: DUP1
00000421: ISZERO
00000422: PUSH2 0x0429
00000425: JUMPI
00000426: PUSH0
00000427: PUSH0
00000428: REVERT
00000429: JUMPDEST
0000042a: POP
0000042b: PUSH2 0x025f
0000042e: PUSH32 0x0000000000000000000000006818809eefce719e480a7526d76bd3e561526b46
0000044f: DUP2
00000450: JUMP
00000451: JUMPDEST
00000452: CALLVALUE
00000453: DUP1
00000454: ISZERO
00000455: PUSH2 0x045c
00000458: JUMPI
00000459: PUSH0
0000045a: PUSH0
0000045b: REVERT
0000045c: JUMPDEST
0000045d: POP
0000045e: PUSH1 0x05
00000460: SLOAD
00000461: PUSH0
00000462: SWAP1
00000463: DUP2
00000464: MSTORE
00000465: PUSH1 0x06
00000467: PUSH1 0x20
00000469: MSTORE
0000046a: PUSH1 0x40
0000046c: SWAP1
0000046d: KECCAK256
0000046e: SLOAD
0000046f: PUSH2 0x016e
00000472: JUMP
00000473: JUMPDEST
00000474: PUSH0
00000475: CALLER
00000476: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000048b: PUSH32 0x0000000000000000000000006818809eefce719e480a7526d76bd3e561526b46
000004ac: AND
000004ad: EQ
000004ae: PUSH2 0x04e3
000004b1: JUMPI
000004b2: PUSH1 0x40
000004b4: MLOAD
000004b5: PUSH32 0x8247bd8000000000000000000000000000000000000000000000000000000000
000004d6: DUP2
000004d7: MSTORE
000004d8: PUSH1 0x04
000004da: ADD
000004db: PUSH1 0x40
000004dd: MLOAD
000004de: DUP1
000004df: SWAP2
000004e0: SUB
000004e1: SWAP1
000004e2: REVERT
000004e3: JUMPDEST
000004e4: PUSH1 0x01
000004e6: SLOAD
000004e7: PUSH1 0xff
000004e9: AND
000004ea: ISZERO
000004eb: PUSH2 0x0520
000004ee: JUMPI
000004ef: PUSH1 0x40
000004f1: MLOAD
000004f2: PUSH32 0x924b372700000000000000000000000000000000000000000000000000000000
00000513: DUP2
00000514: MSTORE
00000515: PUSH1 0x04
00000517: ADD
00000518: PUSH1 0x40
0000051a: MLOAD
0000051b: DUP1
0000051c: SWAP2
0000051d: SUB
0000051e: SWAP1
0000051f: REVERT
00000520: JUMPDEST
00000521: PUSH16 0xffffffffffffffffffffffffffffffff
00000532: DUP4
00000533: LT
00000534: PUSH2 0x0569
00000537: JUMPI
00000538: PUSH1 0x40
0000053a: MLOAD
0000053b: PUSH32 0x428243e200000000000000000000000000000000000000000000000000000000
0000055c: DUP2
0000055d: MSTORE
0000055e: PUSH1 0x04
00000560: ADD
00000561: PUSH1 0x40
00000563: MLOAD
00000564: DUP1
00000565: SWAP2
00000566: SUB
00000567: SWAP1
00000568: REVERT
00000569: JUMPDEST
0000056a: PUSH0
0000056b: PUSH32 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001
0000058c: PUSH32 0x0adeaec0e1538a417bf70421cc25c90da5269c128097beb58d8cbc22dadfae43
000005ad: PUSH0
000005ae: PUSH0
000005af: DUP2
000005b0: SLOAD
000005b1: PUSH2 0x05b9
000005b4: SWAP1
000005b5: PUSH2 0x18a4
000005b8: JUMP
000005b9: JUMPDEST
000005ba: SWAP2
000005bb: DUP3
000005bc: SWAP1
000005bd: SSTORE
000005be: POP
000005bf: PUSH1 0x40
000005c1: DUP1
000005c2: MLOAD
000005c3: PUSH1 0x20
000005c5: DUP2
000005c6: ADD
000005c7: SWAP4
000005c8: SWAP1
000005c9: SWAP4
000005ca: MSTORE
000005cb: DUP3
000005cc: ADD
000005cd: MSTORE
000005ce: PUSH1 0x60
000005d0: ADD
000005d1: PUSH1 0x40
000005d3: MLOAD
000005d4: PUSH1 0x20
000005d6: DUP2
000005d7: DUP4
000005d8: SUB
000005d9: SUB
000005da: DUP2
000005db: MSTORE
000005dc: SWAP1
000005dd: PUSH1 0x40
000005df: MSTORE
000005e0: DUP1
000005e1: MLOAD
000005e2: SWAP1
000005e3: PUSH1 0x20
000005e5: ADD
000005e6: KECCAK256
000005e7: PUSH0
000005e8: SHR
000005e9: PUSH2 0x05f2
000005ec: SWAP2
000005ed: SWAP1
000005ee: PUSH2 0x1908
000005f1: JUMP
000005f2: JUMPDEST
000005f3: PUSH0
000005f4: DUP2
000005f5: DUP2
000005f6: MSTORE
000005f7: PUSH1 0x09
000005f9: PUSH1 0x20
000005fb: SWAP1
000005fc: DUP2
000005fd: MSTORE
000005fe: PUSH1 0x40
00000600: SWAP2
00000601: DUP3
00000602: SWAP1
00000603: KECCAK256
00000604: DUP1
00000605: SLOAD
00000606: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000627: AND
00000628: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000063d: DUP11
0000063e: AND
0000063f: OR
00000640: SWAP1
00000641: SSTORE
00000642: DUP2
00000643: MLOAD
00000644: PUSH1 0x60
00000646: DUP2
00000647: ADD
00000648: DUP4
00000649: MSTORE
0000064a: DUP8
0000064b: DUP2
0000064c: MSTORE
0000064d: SWAP1
0000064e: DUP2
0000064f: ADD
00000650: DUP4
00000651: SWAP1
00000652: MSTORE
00000653: DUP1
00000654: DUP3
00000655: ADD
00000656: DUP7
00000657: SWAP1
00000658: MSTORE
00000659: SWAP1
0000065a: MLOAD
0000065b: PUSH32 0x20cf0a3700000000000000000000000000000000000000000000000000000000
0000067c: DUP2
0000067d: MSTORE
0000067e: SWAP2
0000067f: SWAP3
00000680: POP
00000681: PUSH20 0xe393dd7287db9982e6f845824854baf8b8e823af
00000696: SWAP2
00000697: PUSH4 0x20cf0a37
0000069c: SWAP2
0000069d: PUSH2 0x06a8
000006a0: SWAP2
000006a1: PUSH1 0x04
000006a3: ADD
000006a4: PUSH2 0x191b
000006a7: JUMP
000006a8: JUMPDEST
000006a9: PUSH1 0x20
000006ab: PUSH1 0x40
000006ad: MLOAD
000006ae: DUP1
000006af: DUP4
000006b0: SUB
000006b1: DUP2
000006b2: DUP7
000006b3: GAS
000006b4: DELEGATECALL
000006b5: ISZERO
000006b6: DUP1
000006b7: ISZERO
000006b8: PUSH2 0x06c3
000006bb: JUMPI
000006bc: RETURNDATASIZE
000006bd: PUSH0
000006be: PUSH0
000006bf: RETURNDATACOPY
000006c0: RETURNDATASIZE
000006c1: PUSH0
000006c2: REVERT
000006c3: JUMPDEST
000006c4: POP
000006c5: POP
000006c6: POP
000006c7: POP
000006c8: PUSH1 0x40
000006ca: MLOAD
000006cb: RETURNDATASIZE
000006cc: PUSH1 0x1f
000006ce: NOT
000006cf: PUSH1 0x1f
000006d1: DUP3
000006d2: ADD
000006d3: AND
000006d4: DUP3
000006d5: ADD
000006d6: DUP1
000006d7: PUSH1 0x40
000006d9: MSTORE
000006da: POP
000006db: DUP2
000006dc: ADD
000006dd: SWAP1
000006de: PUSH2 0x06e7
000006e1: SWAP2
000006e2: SWAP1
000006e3: PUSH2 0x194b
000006e6: JUMP
000006e7: JUMPDEST
000006e8: SWAP2
000006e9: POP
000006ea: PUSH2 0x06f2
000006ed: DUP3
000006ee: PUSH2 0x0e8e
000006f1: JUMP
000006f2: JUMPDEST
000006f3: POP
000006f4: PUSH2 0x06fd
000006f7: CALLER
000006f8: DUP6
000006f9: PUSH2 0x0f8d
000006fc: JUMP
000006fd: JUMPDEST
000006fe: PUSH1 0x40
00000700: DUP1
00000701: MLOAD
00000702: DUP4
00000703: DUP2
00000704: MSTORE
00000705: PUSH1 0x20
00000707: DUP2
00000708: ADD
00000709: DUP4
0000070a: SWAP1
0000070b: MSTORE
0000070c: SWAP1
0000070d: DUP2
0000070e: ADD
0000070f: DUP6
00000710: SWAP1
00000711: MSTORE
00000712: PUSH1 0x60
00000714: DUP2
00000715: ADD
00000716: DUP5
00000717: SWAP1
00000718: MSTORE
00000719: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000072e: DUP7
0000072f: AND
00000730: SWAP1
00000731: PUSH32 0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549
00000752: SWAP1
00000753: PUSH1 0x80
00000755: ADD
00000756: PUSH1 0x40
00000758: MLOAD
00000759: DUP1
0000075a: SWAP2
0000075b: SUB
0000075c: SWAP1
0000075d: LOG2
0000075e: POP
0000075f: SWAP4
00000760: SWAP3
00000761: POP
00000762: POP
00000763: POP
00000764: JUMP
00000765: JUMPDEST
00000766: DUP2
00000767: DUP2
00000768: DUP2
00000769: PUSH0
0000076a: ADD
0000076b: MLOAD
0000076c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000781: AND
00000782: CALLER
00000783: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000798: AND
00000799: EQ
0000079a: PUSH2 0x07cf
0000079d: JUMPI
0000079e: PUSH1 0x40
000007a0: MLOAD
000007a1: PUSH32 0x1a7c48e500000000000000000000000000000000000000000000000000000000
000007c2: DUP2
000007c3: MSTORE
000007c4: PUSH1 0x04
000007c6: ADD
000007c7: PUSH1 0x40
000007c9: MLOAD
000007ca: DUP1
000007cb: SWAP2
000007cc: SUB
000007cd: SWAP1
000007ce: REVERT
000007cf: JUMPDEST
000007d0: PUSH32 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001
000007f1: DUP3
000007f2: PUSH32 0x0adeaec0e1538a417bf70421cc25c90da5269c128097beb58d8cbc22dadfae43
00000813: PUSH1 0x40
00000815: MLOAD
00000816: PUSH1 0x20
00000818: ADD
00000819: PUSH2 0x0823
0000081c: SWAP3
0000081d: SWAP2
0000081e: SWAP1
0000081f: PUSH2 0x1962
00000822: JUMP
00000823: JUMPDEST
00000824: PUSH1 0x40
00000826: MLOAD
00000827: PUSH1 0x20
00000829: DUP2
0000082a: DUP4
0000082b: SUB
0000082c: SUB
0000082d: DUP2
0000082e: MSTORE
0000082f: SWAP1
00000830: PUSH1 0x40
00000832: MSTORE
00000833: DUP1
00000834: MLOAD
00000835: SWAP1
00000836: PUSH1 0x20
00000838: ADD
00000839: KECCAK256
0000083a: PUSH0
0000083b: SHR
0000083c: PUSH2 0x0845
0000083f: SWAP2
00000840: SWAP1
00000841: PUSH2 0x1908
00000844: JUMP
00000845: JUMPDEST
00000846: PUSH2 0x084e
00000849: DUP3
0000084a: PUSH2 0x0fca
0000084d: JUMP
0000084e: JUMPDEST
0000084f: EQ
00000850: PUSH2 0x0885
00000853: JUMPI
00000854: PUSH1 0x40
00000856: MLOAD
00000857: PUSH32 0xef6daeb000000000000000000000000000000000000000000000000000000000
00000878: DUP2
00000879: MSTORE
0000087a: PUSH1 0x04
0000087c: ADD
0000087d: PUSH1 0x40
0000087f: MLOAD
00000880: DUP1
00000881: SWAP2
00000882: SUB
00000883: SWAP1
00000884: REVERT
00000885: JUMPDEST
00000886: PUSH1 0x20
00000888: PUSH2 0x0890
0000088b: DUP3
0000088c: PUSH2 0x0fdf
0000088f: JUMP
00000890: JUMPDEST
00000891: GT
00000892: DUP1
00000893: PUSH2 0x08a4
00000896: JUMPI
00000897: POP
00000898: PUSH1 0x20
0000089a: PUSH2 0x08a2
0000089d: DUP3
0000089e: PUSH2 0x0fed
000008a1: JUMP
000008a2: JUMPDEST
000008a3: GT
000008a4: JUMPDEST
000008a5: ISZERO
000008a6: PUSH2 0x08db
000008a9: JUMPI
000008aa: PUSH1 0x40
000008ac: MLOAD
000008ad: PUSH32 0xc21cc8e200000000000000000000000000000000000000000000000000000000
000008ce: DUP2
000008cf: MSTORE
000008d0: PUSH1 0x04
000008d2: ADD
000008d3: PUSH1 0x40
000008d5: MLOAD
000008d6: DUP1
000008d7: SWAP2
000008d8: SUB
000008d9: SWAP1
000008da: REVERT
000008db: JUMPDEST
000008dc: PUSH2 0x08ec
000008df: PUSH2 0x08e7
000008e2: DUP3
000008e3: PUSH2 0x0ffb
000008e6: JUMP
000008e7: JUMPDEST
000008e8: PUSH2 0x1009
000008eb: JUMP
000008ec: JUMPDEST
000008ed: PUSH2 0x0922
000008f0: JUMPI
000008f1: PUSH1 0x40
000008f3: MLOAD
000008f4: PUSH32 0xfd3d3c4c00000000000000000000000000000000000000000000000000000000
00000915: DUP2
00000916: MSTORE
00000917: PUSH1 0x04
00000919: ADD
0000091a: PUSH1 0x40
0000091c: MLOAD
0000091d: DUP1
0000091e: SWAP2
0000091f: SUB
00000920: SWAP1
00000921: REVERT
00000922: JUMPDEST
00000923: PUSH32 0x0000000000000000000000006818809eefce719e480a7526d76bd3e561526b46
00000944: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000959: AND
0000095a: PUSH4 0xd7b0fef1
0000095f: PUSH1 0x40
00000961: MLOAD
00000962: DUP2
00000963: PUSH4 0xffffffff
00000968: AND
00000969: PUSH1 0xe0
0000096b: SHL
0000096c: DUP2
0000096d: MSTORE
0000096e: PUSH1 0x04
00000970: ADD
00000971: PUSH1 0x20
00000973: PUSH1 0x40
00000975: MLOAD
00000976: DUP1
00000977: DUP4
00000978: SUB
00000979: DUP2
0000097a: DUP7
0000097b: GAS
0000097c: STATICCALL
0000097d: ISZERO
0000097e: DUP1
0000097f: ISZERO
00000980: PUSH2 0x098b
00000983: JUMPI
00000984: RETURNDATASIZE
00000985: PUSH0
00000986: PUSH0
00000987: RETURNDATACOPY
00000988: RETURNDATASIZE
00000989: PUSH0
0000098a: REVERT
0000098b: JUMPDEST
0000098c: POP
0000098d: POP
0000098e: POP
0000098f: POP
00000990: PUSH1 0x40
00000992: MLOAD
00000993: RETURNDATASIZE
00000994: PUSH1 0x1f
00000996: NOT
00000997: PUSH1 0x1f
00000999: DUP3
0000099a: ADD
0000099b: AND
0000099c: DUP3
0000099d: ADD
0000099e: DUP1
0000099f: PUSH1 0x40
000009a1: MSTORE
000009a2: POP
000009a3: DUP2
000009a4: ADD
000009a5: SWAP1
000009a6: PUSH2 0x09af
000009a9: SWAP2
000009aa: SWAP1
000009ab: PUSH2 0x194b
000009ae: JUMP
000009af: JUMPDEST
000009b0: PUSH2 0x09b8
000009b3: DUP3
000009b4: PUSH2 0x108c
000009b7: JUMP
000009b8: JUMPDEST
000009b9: EQ
000009ba: PUSH2 0x09ef
000009bd: JUMPI
000009be: PUSH1 0x40
000009c0: MLOAD
000009c1: PUSH32 0xa6a7824400000000000000000000000000000000000000000000000000000000
000009e2: DUP2
000009e3: MSTORE
000009e4: PUSH1 0x04
000009e6: ADD
000009e7: PUSH1 0x40
000009e9: MLOAD
000009ea: DUP1
000009eb: SWAP2
000009ec: SUB
000009ed: SWAP1
000009ee: REVERT
000009ef: JUMPDEST
000009f0: PUSH32 0x000000000000000000000000022891f938ae7fdc8ab9ead0fbf50aba8c897d6d
00000a11: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a26: AND
00000a27: PUSH4 0xc9219a7a
00000a2c: DUP5
00000a2d: PUSH0
00000a2e: ADD
00000a2f: MLOAD
00000a30: DUP6
00000a31: PUSH1 0x20
00000a33: ADD
00000a34: MLOAD
00000a35: DUP7
00000a36: PUSH1 0x40
00000a38: ADD
00000a39: MLOAD
00000a3a: DUP8
00000a3b: PUSH1 0x60
00000a3d: ADD
00000a3e: MLOAD
00000a3f: PUSH1 0x40
00000a41: MLOAD
00000a42: DUP6
00000a43: PUSH4 0xffffffff
00000a48: AND
00000a49: PUSH1 0xe0
00000a4b: SHL
00000a4c: DUP2
00000a4d: MSTORE
00000a4e: PUSH1 0x04
00000a50: ADD
00000a51: PUSH2 0x0a5d
00000a54: SWAP5
00000a55: SWAP4
00000a56: SWAP3
00000a57: SWAP2
00000a58: SWAP1
00000a59: PUSH2 0x1a3b
00000a5c: JUMP
00000a5d: JUMPDEST
00000a5e: PUSH1 0x20
00000a60: PUSH1 0x40
00000a62: MLOAD
00000a63: DUP1
00000a64: DUP4
00000a65: SUB
00000a66: DUP2
00000a67: PUSH0
00000a68: DUP8
00000a69: GAS
00000a6a: CALL
00000a6b: ISZERO
00000a6c: DUP1
00000a6d: ISZERO
00000a6e: PUSH2 0x0a79
00000a71: JUMPI
00000a72: RETURNDATASIZE
00000a73: PUSH0
00000a74: PUSH0
00000a75: RETURNDATACOPY
00000a76: RETURNDATASIZE
00000a77: PUSH0
00000a78: REVERT
00000a79: JUMPDEST
00000a7a: POP
00000a7b: POP
00000a7c: POP
00000a7d: POP
00000a7e: PUSH1 0x40
00000a80: MLOAD
00000a81: RETURNDATASIZE
00000a82: PUSH1 0x1f
00000a84: NOT
00000a85: PUSH1 0x1f
00000a87: DUP3
00000a88: ADD
00000a89: AND
00000a8a: DUP3
00000a8b: ADD
00000a8c: DUP1
00000a8d: PUSH1 0x40
00000a8f: MSTORE
00000a90: POP
00000a91: DUP2
00000a92: ADD
00000a93: SWAP1
00000a94: PUSH2 0x0a9d
00000a97: SWAP2
00000a98: SWAP1
00000a99: PUSH2 0x1a97
00000a9c: JUMP
00000a9d: JUMPDEST
00000a9e: PUSH2 0x0ad3
00000aa1: JUMPI
00000aa2: PUSH1 0x40
00000aa4: MLOAD
00000aa5: PUSH32 0x09bde33900000000000000000000000000000000000000000000000000000000
00000ac6: DUP2
00000ac7: MSTORE
00000ac8: PUSH1 0x04
00000aca: ADD
00000acb: PUSH1 0x40
00000acd: MLOAD
00000ace: DUP1
00000acf: SWAP2
00000ad0: SUB
00000ad1: SWAP1
00000ad2: REVERT
00000ad3: JUMPDEST
00000ad4: PUSH2 0x0ae4
00000ad7: PUSH2 0x0adf
00000ada: DUP5
00000adb: PUSH2 0x109a
00000ade: JUMP
00000adf: JUMPDEST
00000ae0: PUSH2 0x10a8
00000ae3: JUMP
00000ae4: JUMPDEST
00000ae5: PUSH2 0x0af5
00000ae8: PUSH2 0x0af0
00000aeb: DUP5
00000aec: PUSH2 0x1128
00000aef: JUMP
00000af0: JUMPDEST
00000af1: PUSH2 0x0e8e
00000af4: JUMP
00000af5: JUMPDEST
00000af6: POP
00000af7: DUP4
00000af8: MLOAD
00000af9: PUSH2 0x0b0a
00000afc: SWAP1
00000afd: PUSH2 0x0b05
00000b00: DUP6
00000b01: PUSH2 0x1135
00000b04: JUMP
00000b05: JUMPDEST
00000b06: PUSH2 0x1143
00000b09: JUMP
00000b0a: JUMPDEST
00000b0b: DUP4
00000b0c: MLOAD
00000b0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b22: AND
00000b23: PUSH32 0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21
00000b44: PUSH2 0x0b4c
00000b47: DUP6
00000b48: PUSH2 0x1135
00000b4b: JUMP
00000b4c: JUMPDEST
00000b4d: PUSH2 0x0b55
00000b50: DUP7
00000b51: PUSH2 0x109a
00000b54: JUMP
00000b55: JUMPDEST
00000b56: PUSH2 0x0b5e
00000b59: DUP8
00000b5a: PUSH2 0x1128
00000b5d: JUMP
00000b5e: JUMPDEST
00000b5f: PUSH1 0x40
00000b61: DUP1
00000b62: MLOAD
00000b63: SWAP4
00000b64: DUP5
00000b65: MSTORE
00000b66: PUSH1 0x20
00000b68: DUP5
00000b69: ADD
00000b6a: SWAP3
00000b6b: SWAP1
00000b6c: SWAP3
00000b6d: MSTORE
00000b6e: SWAP1
00000b6f: DUP3
00000b70: ADD
00000b71: MSTORE
00000b72: PUSH1 0x60
00000b74: ADD
00000b75: PUSH1 0x40
00000b77: MLOAD
00000b78: DUP1
00000b79: SWAP2
00000b7a: SUB
00000b7b: SWAP1
00000b7c: LOG2
00000b7d: POP
00000b7e: POP
00000b7f: POP
00000b80: POP
00000b81: JUMP
00000b82: JUMPDEST
00000b83: PUSH0
00000b84: PUSH2 0x0b8c
00000b87: DUP3
00000b88: PUSH2 0x0ffb
00000b8b: JUMP
00000b8c: JUMPDEST
00000b8d: PUSH0
00000b8e: DUP2
00000b8f: DUP2
00000b90: MSTORE
00000b91: PUSH1 0x09
00000b93: PUSH1 0x20
00000b95: MSTORE
00000b96: PUSH1 0x40
00000b98: SWAP1
00000b99: KECCAK256
00000b9a: SLOAD
00000b9b: SWAP1
00000b9c: SWAP2
00000b9d: POP
00000b9e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bb3: AND
00000bb4: CALLER
00000bb5: EQ
00000bb6: PUSH2 0x0beb
00000bb9: JUMPI
00000bba: PUSH1 0x40
00000bbc: MLOAD
00000bbd: PUSH32 0x0fb8e27800000000000000000000000000000000000000000000000000000000
00000bde: DUP2
00000bdf: MSTORE
00000be0: PUSH1 0x04
00000be2: ADD
00000be3: PUSH1 0x40
00000be5: MLOAD
00000be6: DUP1
00000be7: SWAP2
00000be8: SUB
00000be9: SWAP1
00000bea: REVERT
00000beb: JUMPDEST
00000bec: PUSH32 0x000000000000000000000000a45aca8604a73d80c551faad6355a5c3a5565ec6
00000c0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c22: AND
00000c23: PUSH4 0x5fe8c13b
00000c28: DUP4
00000c29: PUSH0
00000c2a: ADD
00000c2b: MLOAD
00000c2c: DUP5
00000c2d: PUSH1 0x20
00000c2f: ADD
00000c30: MLOAD
00000c31: DUP6
00000c32: PUSH1 0x40
00000c34: ADD
00000c35: MLOAD
00000c36: DUP7
00000c37: PUSH1 0x60
00000c39: ADD
00000c3a: MLOAD
00000c3b: PUSH1 0x40
00000c3d: MLOAD
00000c3e: DUP6
00000c3f: PUSH4 0xffffffff
00000c44: AND
00000c45: PUSH1 0xe0
00000c47: SHL
00000c48: DUP2
00000c49: MSTORE
00000c4a: PUSH1 0x04
00000c4c: ADD
00000c4d: PUSH2 0x0c59
00000c50: SWAP5
00000c51: SWAP4
00000c52: SWAP3
00000c53: SWAP2
00000c54: SWAP1
00000c55: PUSH2 0x1abd
00000c58: JUMP
00000c59: JUMPDEST
00000c5a: PUSH1 0x20
00000c5c: PUSH1 0x40
00000c5e: MLOAD
00000c5f: DUP1
00000c60: DUP4
00000c61: SUB
00000c62: DUP2
00000c63: PUSH0
00000c64: DUP8
00000c65: GAS
00000c66: CALL
00000c67: ISZERO
00000c68: DUP1
00000c69: ISZERO
00000c6a: PUSH2 0x0c75
00000c6d: JUMPI
00000c6e: RETURNDATASIZE
00000c6f: PUSH0
00000c70: PUSH0
00000c71: RETURNDATACOPY
00000c72: RETURNDATASIZE
00000c73: PUSH0
00000c74: REVERT
00000c75: JUMPDEST
00000c76: POP
00000c77: POP
00000c78: POP
00000c79: POP
00000c7a: PUSH1 0x40
00000c7c: MLOAD
00000c7d: RETURNDATASIZE
00000c7e: PUSH1 0x1f
00000c80: NOT
00000c81: PUSH1 0x1f
00000c83: DUP3
00000c84: ADD
00000c85: AND
00000c86: DUP3
00000c87: ADD
00000c88: DUP1
00000c89: PUSH1 0x40
00000c8b: MSTORE
00000c8c: POP
00000c8d: DUP2
00000c8e: ADD
00000c8f: SWAP1
00000c90: PUSH2 0x0c99
00000c93: SWAP2
00000c94: SWAP1
00000c95: PUSH2 0x1a97
00000c98: JUMP
00000c99: JUMPDEST
00000c9a: PUSH2 0x0ccf
00000c9d: JUMPI
00000c9e: PUSH1 0x40
00000ca0: MLOAD
00000ca1: PUSH32 0x09bde33900000000000000000000000000000000000000000000000000000000
00000cc2: DUP2
00000cc3: MSTORE
00000cc4: PUSH1 0x04
00000cc6: ADD
00000cc7: PUSH1 0x40
00000cc9: MLOAD
00000cca: DUP1
00000ccb: SWAP2
00000ccc: SUB
00000ccd: SWAP1
00000cce: REVERT
00000ccf: JUMPDEST
00000cd0: PUSH2 0x0ce0
00000cd3: PUSH2 0x0cdb
00000cd6: DUP4
00000cd7: PUSH2 0x1128
00000cda: JUMP
00000cdb: JUMPDEST
00000cdc: PUSH2 0x11de
00000cdf: JUMP
00000ce0: JUMPDEST
00000ce1: PUSH2 0x0d16
00000ce4: JUMPI
00000ce5: PUSH1 0x40
00000ce7: MLOAD
00000ce8: PUSH32 0xc06789fa00000000000000000000000000000000000000000000000000000000
00000d09: DUP2
00000d0a: MSTORE
00000d0b: PUSH1 0x04
00000d0d: ADD
00000d0e: PUSH1 0x40
00000d10: MLOAD
00000d11: DUP1
00000d12: SWAP2
00000d13: SUB
00000d14: SWAP1
00000d15: REVERT
00000d16: JUMPDEST
00000d17: PUSH2 0x0d22
00000d1a: PUSH2 0x0adf
00000d1d: DUP4
00000d1e: PUSH2 0x109a
00000d21: JUMP
00000d22: JUMPDEST
00000d23: PUSH2 0x0d2f
00000d26: CALLER
00000d27: PUSH2 0x0b05
00000d2a: DUP5
00000d2b: PUSH2 0x1135
00000d2e: JUMP
00000d2f: JUMPDEST
00000d30: CALLER
00000d31: PUSH32 0xd2b3e868ae101106371f2bd93abc8d5a4de488b9fe47ed122c23625aa7172f13
00000d52: PUSH2 0x0d5a
00000d55: DUP5
00000d56: PUSH2 0x1128
00000d59: JUMP
00000d5a: JUMPDEST
00000d5b: PUSH2 0x0d63
00000d5e: DUP6
00000d5f: PUSH2 0x0ffb
00000d62: JUMP
00000d63: JUMPDEST
00000d64: PUSH2 0x0d6c
00000d67: DUP7
00000d68: PUSH2 0x1135
00000d6b: JUMP
00000d6c: JUMPDEST
00000d6d: PUSH1 0x40
00000d6f: DUP1
00000d70: MLOAD
00000d71: SWAP4
00000d72: DUP5
00000d73: MSTORE
00000d74: PUSH1 0x20
00000d76: DUP5
00000d77: ADD
00000d78: SWAP3
00000d79: SWAP1
00000d7a: SWAP3
00000d7b: MSTORE
00000d7c: SWAP1
00000d7d: DUP3
00000d7e: ADD
00000d7f: MSTORE
00000d80: PUSH1 0x60
00000d82: ADD
00000d83: PUSH1 0x40
00000d85: MLOAD
00000d86: DUP1
00000d87: SWAP2
00000d88: SUB
00000d89: SWAP1
00000d8a: LOG2
00000d8b: POP
00000d8c: POP
00000d8d: JUMP
00000d8e: JUMPDEST
00000d8f: CALLER
00000d90: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000da5: PUSH32 0x0000000000000000000000006818809eefce719e480a7526d76bd3e561526b46
00000dc6: AND
00000dc7: EQ
00000dc8: PUSH2 0x0dfd
00000dcb: JUMPI
00000dcc: PUSH1 0x40
00000dce: MLOAD
00000dcf: PUSH32 0x8247bd8000000000000000000000000000000000000000000000000000000000
00000df0: DUP2
00000df1: MSTORE
00000df2: PUSH1 0x04
00000df4: ADD
00000df5: PUSH1 0x40
00000df7: MLOAD
00000df8: DUP1
00000df9: SWAP2
00000dfa: SUB
00000dfb: SWAP1
00000dfc: REVERT
00000dfd: JUMPDEST
00000dfe: PUSH1 0x01
00000e00: SLOAD
00000e01: PUSH1 0xff
00000e03: AND
00000e04: ISZERO
00000e05: PUSH2 0x0e3a
00000e08: JUMPI
00000e09: PUSH1 0x40
00000e0b: MLOAD
00000e0c: PUSH32 0x924b372700000000000000000000000000000000000000000000000000000000
00000e2d: DUP2
00000e2e: MSTORE
00000e2f: PUSH1 0x04
00000e31: ADD
00000e32: PUSH1 0x40
00000e34: MLOAD
00000e35: DUP1
00000e36: SWAP2
00000e37: SUB
00000e38: SWAP1
00000e39: REVERT
00000e3a: JUMPDEST
00000e3b: PUSH1 0x01
00000e3d: DUP1
00000e3e: SLOAD
00000e3f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00000e60: AND
00000e61: DUP2
00000e62: OR
00000e63: SWAP1
00000e64: SSTORE
00000e65: PUSH1 0x40
00000e67: MLOAD
00000e68: PUSH32 0xf9dc79d7254099fdf1f86b15c91deac3bf8883e4f340ebef6e3c6b870cc315b3
00000e89: SWAP1
00000e8a: PUSH0
00000e8b: SWAP1
00000e8c: LOG1
00000e8d: JUMP
00000e8e: JUMPDEST
00000e8f: PUSH0
00000e90: PUSH2 0x0e9a
00000e93: PUSH1 0x04
00000e95: DUP4
00000e96: PUSH2 0x11f5
00000e99: JUMP
00000e9a: JUMPDEST
00000e9b: PUSH1 0x05
00000e9d: SLOAD
00000e9e: SWAP1
00000e9f: SWAP2
00000ea0: POP
00000ea1: PUSH1 0x20
00000ea3: LT
00000ea4: ISZERO
00000ea5: PUSH2 0x0eda
00000ea8: JUMPI
00000ea9: PUSH1 0x40
00000eab: MLOAD
00000eac: PUSH32 0x221f404100000000000000000000000000000000000000000000000000000000
00000ecd: DUP2
00000ece: MSTORE
00000ecf: PUSH1 0x04
00000ed1: ADD
00000ed2: PUSH1 0x40
00000ed4: MLOAD
00000ed5: DUP1
00000ed6: SWAP2
00000ed7: SUB
00000ed8: SWAP1
00000ed9: REVERT
00000eda: JUMPDEST
00000edb: PUSH1 0x03
00000edd: SLOAD
00000ede: PUSH0
00000edf: SWAP1
00000ee0: PUSH1 0x40
00000ee2: SWAP1
00000ee3: PUSH2 0x0ef3
00000ee6: SWAP1
00000ee7: PUSH4 0xffffffff
00000eec: AND
00000eed: PUSH1 0x01
00000eef: PUSH2 0x1b0d
00000ef2: JUMP
00000ef3: JUMPDEST
00000ef4: PUSH2 0x0efd
00000ef7: SWAP2
00000ef8: SWAP1
00000ef9: PUSH2 0x1b29
00000efc: JUMP
00000efd: JUMPDEST
00000efe: PUSH4 0xffffffff
00000f03: DUP2
00000f04: AND
00000f05: PUSH0
00000f06: DUP2
00000f07: DUP2
00000f08: MSTORE
00000f09: PUSH1 0x02
00000f0b: PUSH1 0x20
00000f0d: SWAP1
00000f0e: DUP2
00000f0f: MSTORE
00000f10: PUSH1 0x40
00000f12: SWAP2
00000f13: DUP3
00000f14: SWAP1
00000f15: KECCAK256
00000f16: DUP7
00000f17: SWAP1
00000f18: SSTORE
00000f19: PUSH1 0x03
00000f1b: DUP1
00000f1c: SLOAD
00000f1d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000
00000f3e: AND
00000f3f: SWAP1
00000f40: SWAP4
00000f41: OR
00000f42: SWAP1
00000f43: SWAP3
00000f44: SSTORE
00000f45: PUSH1 0x04
00000f47: SLOAD
00000f48: DUP2
00000f49: MLOAD
00000f4a: SWAP1
00000f4b: DUP2
00000f4c: MSTORE
00000f4d: SWAP2
00000f4e: DUP3
00000f4f: ADD
00000f50: DUP7
00000f51: SWAP1
00000f52: MSTORE
00000f53: DUP2
00000f54: ADD
00000f55: DUP5
00000f56: SWAP1
00000f57: MSTORE
00000f58: SWAP1
00000f59: SWAP2
00000f5a: POP
00000f5b: PUSH32 0xcb249c8292372bd11f567786635483fca9e635030baafca55ff1a8940141d221
00000f7c: SWAP1
00000f7d: PUSH1 0x60
00000f7f: ADD
00000f80: PUSH1 0x40
00000f82: MLOAD
00000f83: DUP1
00000f84: SWAP2
00000f85: SUB
00000f86: SWAP1
00000f87: LOG1
00000f88: POP
00000f89: SWAP2
00000f8a: SWAP1
00000f8b: POP
00000f8c: JUMP
00000f8d: JUMPDEST
00000f8e: DUP1
00000f8f: CALLVALUE
00000f90: EQ
00000f91: PUSH2 0x0fc6
00000f94: JUMPI
00000f95: PUSH1 0x40
00000f97: MLOAD
00000f98: PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000
00000fb9: DUP2
00000fba: MSTORE
00000fbb: PUSH1 0x04
00000fbd: ADD
00000fbe: PUSH1 0x40
00000fc0: MLOAD
00000fc1: DUP1
00000fc2: SWAP2
00000fc3: SUB
00000fc4: SWAP1
00000fc5: REVERT
00000fc6: JUMPDEST
00000fc7: POP
00000fc8: POP
00000fc9: JUMP
00000fca: JUMPDEST
00000fcb: PUSH1 0x60
00000fcd: DUP2
00000fce: ADD
00000fcf: MLOAD
00000fd0: PUSH0
00000fd1: SWAP1
00000fd2: PUSH1 0x07
00000fd4: JUMPDEST
00000fd5: PUSH1 0x20
00000fd7: MUL
00000fd8: ADD
00000fd9: MLOAD
00000fda: SWAP3
00000fdb: SWAP2
00000fdc: POP
00000fdd: POP
00000fde: JUMP
00000fdf: JUMPDEST
00000fe0: PUSH1 0x60
00000fe2: DUP2
00000fe3: ADD
00000fe4: MLOAD
00000fe5: PUSH0
00000fe6: SWAP1
00000fe7: PUSH1 0x04
00000fe9: PUSH2 0x0fd4
00000fec: JUMP
00000fed: JUMPDEST
00000fee: PUSH1 0x60
00000ff0: DUP2
00000ff1: ADD
00000ff2: MLOAD
00000ff3: PUSH0
00000ff4: SWAP1
00000ff5: PUSH1 0x06
00000ff7: PUSH2 0x0fd4
00000ffa: JUMP
00000ffb: JUMPDEST
00000ffc: PUSH1 0x60
00000ffe: DUP2
00000fff: ADD
00001000: MLOAD
00001001: PUSH0
00001002: SWAP1
00001003: PUSH1 0x03
00001005: PUSH2 0x0fd4
00001008: JUMP
00001009: JUMPDEST
0000100a: PUSH0
0000100b: DUP2
0000100c: PUSH0
0000100d: SUB
0000100e: PUSH2 0x1018
00001011: JUMPI
00001012: POP
00001013: PUSH0
00001014: SWAP2
00001015: SWAP1
00001016: POP
00001017: JUMP
00001018: JUMPDEST
00001019: PUSH1 0x03
0000101b: SLOAD
0000101c: PUSH4 0xffffffff
00001021: AND
00001022: PUSH0
00001023: JUMPDEST
00001024: PUSH1 0x40
00001026: PUSH4 0xffffffff
0000102b: DUP3
0000102c: AND
0000102d: LT
0000102e: ISZERO
0000102f: PUSH2 0x1083
00001032: JUMPI
00001033: PUSH4 0xffffffff
00001038: DUP3
00001039: AND
0000103a: PUSH0
0000103b: SWAP1
0000103c: DUP2
0000103d: MSTORE
0000103e: PUSH1 0x02
00001040: PUSH1 0x20
00001042: MSTORE
00001043: PUSH1 0x40
00001045: SWAP1
00001046: KECCAK256
00001047: SLOAD
00001048: DUP5
00001049: SUB
0000104a: PUSH2 0x1057
0000104d: JUMPI
0000104e: POP
0000104f: PUSH1 0x01
00001051: SWAP4
00001052: SWAP3
00001053: POP
00001054: POP
00001055: POP
00001056: JUMP
00001057: JUMPDEST
00001058: PUSH1 0x40
0000105a: PUSH1 0x01
0000105c: PUSH2 0x1065
0000105f: DUP3
00001060: DUP6
00001061: PUSH2 0x1b0d
00001064: JUMP
00001065: JUMPDEST
00001066: PUSH2 0x106f
00001069: SWAP2
0000106a: SWAP1
0000106b: PUSH2 0x1b50
0000106e: JUMP
0000106f: JUMPDEST
00001070: PUSH2 0x1079
00001073: SWAP2
00001074: SWAP1
00001075: PUSH2 0x1b29
00001078: JUMP
00001079: JUMPDEST
0000107a: SWAP2
0000107b: POP
0000107c: PUSH1 0x01
0000107e: ADD
0000107f: PUSH2 0x1023
00001082: JUMP
00001083: JUMPDEST
00001084: POP
00001085: PUSH0
00001086: SWAP4
00001087: SWAP3
00001088: POP
00001089: POP
0000108a: POP
0000108b: JUMP
0000108c: JUMPDEST
0000108d: PUSH1 0x60
0000108f: DUP2
00001090: ADD
00001091: MLOAD
00001092: PUSH0
00001093: SWAP1
00001094: PUSH1 0x05
00001096: PUSH2 0x0fd4
00001099: JUMP
0000109a: JUMPDEST
0000109b: PUSH1 0x60
0000109d: DUP2
0000109e: ADD
0000109f: MLOAD
000010a0: PUSH0
000010a1: SWAP1
000010a2: PUSH1 0x01
000010a4: PUSH2 0x0fd4
000010a7: JUMP
000010a8: JUMPDEST
000010a9: PUSH0
000010aa: DUP2
000010ab: DUP2
000010ac: MSTORE
000010ad: PUSH1 0x08
000010af: PUSH1 0x20
000010b1: MSTORE
000010b2: PUSH1 0x40
000010b4: SWAP1
000010b5: KECCAK256
000010b6: SLOAD
000010b7: PUSH1 0xff
000010b9: AND
000010ba: ISZERO
000010bb: PUSH2 0x10f0
000010be: JUMPI
000010bf: PUSH1 0x40
000010c1: MLOAD
000010c2: PUSH32 0xb115d85700000000000000000000000000000000000000000000000000000000
000010e3: DUP2
000010e4: MSTORE
000010e5: PUSH1 0x04
000010e7: ADD
000010e8: PUSH1 0x40
000010ea: MLOAD
000010eb: DUP1
000010ec: SWAP2
000010ed: SUB
000010ee: SWAP1
000010ef: REVERT
000010f0: JUMPDEST
000010f1: PUSH0
000010f2: SWAP1
000010f3: DUP2
000010f4: MSTORE
000010f5: PUSH1 0x08
000010f7: PUSH1 0x20
000010f9: MSTORE
000010fa: PUSH1 0x40
000010fc: SWAP1
000010fd: KECCAK256
000010fe: DUP1
000010ff: SLOAD
00001100: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001121: AND
00001122: PUSH1 0x01
00001124: OR
00001125: SWAP1
00001126: SSTORE
00001127: JUMP
00001128: JUMPDEST
00001129: PUSH1 0x60
0000112b: DUP2
0000112c: ADD
0000112d: MLOAD
0000112e: PUSH0
0000112f: SWAP1
00001130: DUP2
00001131: PUSH2 0x0fd4
00001134: JUMP
00001135: JUMPDEST
00001136: PUSH1 0x60
00001138: DUP2
00001139: ADD
0000113a: MLOAD
0000113b: PUSH0
0000113c: SWAP1
0000113d: PUSH1 0x02
0000113f: PUSH2 0x0fd4
00001142: JUMP
00001143: JUMPDEST
00001144: PUSH0
00001145: DUP3
00001146: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000115b: AND
0000115c: DUP3
0000115d: PUSH1 0x40
0000115f: MLOAD
00001160: PUSH0
00001161: PUSH1 0x40
00001163: MLOAD
00001164: DUP1
00001165: DUP4
00001166: SUB
00001167: DUP2
00001168: DUP6
00001169: DUP8
0000116a: GAS
0000116b: CALL
0000116c: SWAP3
0000116d: POP
0000116e: POP
0000116f: POP
00001170: RETURNDATASIZE
00001171: DUP1
00001172: PUSH0
00001173: DUP2
00001174: EQ
00001175: PUSH2 0x1199
00001178: JUMPI
00001179: PUSH1 0x40
0000117b: MLOAD
0000117c: SWAP2
0000117d: POP
0000117e: PUSH1 0x1f
00001180: NOT
00001181: PUSH1 0x3f
00001183: RETURNDATASIZE
00001184: ADD
00001185: AND
00001186: DUP3
00001187: ADD
00001188: PUSH1 0x40
0000118a: MSTORE
0000118b: RETURNDATASIZE
0000118c: DUP3
0000118d: MSTORE
0000118e: RETURNDATASIZE
0000118f: PUSH0
00001190: PUSH1 0x20
00001192: DUP5
00001193: ADD
00001194: RETURNDATACOPY
00001195: PUSH2 0x119e
00001198: JUMP
00001199: JUMPDEST
0000119a: PUSH1 0x60
0000119c: SWAP2
0000119d: POP
0000119e: JUMPDEST
0000119f: POP
000011a0: POP
000011a1: SWAP1
000011a2: POP
000011a3: DUP1
000011a4: PUSH2 0x11d9
000011a7: JUMPI
000011a8: PUSH1 0x40
000011aa: MLOAD
000011ab: PUSH32 0xd58db96200000000000000000000000000000000000000000000000000000000
000011cc: DUP2
000011cd: MSTORE
000011ce: PUSH1 0x04
000011d0: ADD
000011d1: PUSH1 0x40
000011d3: MLOAD
000011d4: DUP1
000011d5: SWAP2
000011d6: SUB
000011d7: SWAP1
000011d8: REVERT
000011d9: JUMPDEST
000011da: POP
000011db: POP
000011dc: POP
000011dd: JUMP
000011de: JUMPDEST
000011df: PUSH0
000011e0: DUP2
000011e1: DUP2
000011e2: MSTORE
000011e3: PUSH1 0x07
000011e5: PUSH1 0x20
000011e7: MSTORE
000011e8: PUSH1 0x40
000011ea: DUP2
000011eb: KECCAK256
000011ec: SLOAD
000011ed: ISZERO
000011ee: ISZERO
000011ef: JUMPDEST
000011f0: SWAP3
000011f1: SWAP2
000011f2: POP
000011f3: POP
000011f4: JUMP
000011f5: JUMPDEST
000011f6: PUSH0
000011f7: PUSH32 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001
00001218: DUP3
00001219: LT
0000121a: PUSH2 0x124f
0000121d: JUMPI
0000121e: PUSH1 0x40
00001220: MLOAD
00001221: PUSH32 0xc380a82e00000000000000000000000000000000000000000000000000000000
00001242: DUP2
00001243: MSTORE
00001244: PUSH1 0x04
00001246: ADD
00001247: PUSH1 0x40
00001249: MLOAD
0000124a: DUP1
0000124b: SWAP2
0000124c: SUB
0000124d: SWAP1
0000124e: REVERT
0000124f: JUMPDEST
00001250: DUP2
00001251: PUSH0
00001252: SUB
00001253: PUSH2 0x1288
00001256: JUMPI
00001257: PUSH1 0x40
00001259: MLOAD
0000125a: PUSH32 0x29691be200000000000000000000000000000000000000000000000000000000
0000127b: DUP2
0000127c: MSTORE
0000127d: PUSH1 0x04
0000127f: ADD
00001280: PUSH1 0x40
00001282: MLOAD
00001283: DUP1
00001284: SWAP2
00001285: SUB
00001286: SWAP1
00001287: REVERT
00001288: JUMPDEST
00001289: PUSH0
0000128a: DUP3
0000128b: DUP2
0000128c: MSTORE
0000128d: PUSH1 0x03
0000128f: DUP5
00001290: ADD
00001291: PUSH1 0x20
00001293: MSTORE
00001294: PUSH1 0x40
00001296: SWAP1
00001297: KECCAK256
00001298: SLOAD
00001299: ISZERO
0000129a: PUSH2 0x12cf
0000129d: JUMPI
0000129e: PUSH1 0x40
000012a0: MLOAD
000012a1: PUSH32 0x258a195a00000000000000000000000000000000000000000000000000000000
000012c2: DUP2
000012c3: MSTORE
000012c4: PUSH1 0x04
000012c6: ADD
000012c7: PUSH1 0x40
000012c9: MLOAD
000012ca: DUP1
000012cb: SWAP2
000012cc: SUB
000012cd: SWAP1
000012ce: REVERT
000012cf: JUMPDEST
000012d0: DUP3
000012d1: SLOAD
000012d2: PUSH1 0x01
000012d4: DUP1
000012d5: DUP6
000012d6: ADD
000012d7: SLOAD
000012d8: SWAP1
000012d9: PUSH2 0x12e3
000012dc: SWAP1
000012dd: DUP4
000012de: SWAP1
000012df: PUSH2 0x1b6c
000012e2: JUMP
000012e3: JUMPDEST
000012e4: PUSH2 0x12ee
000012e7: DUP3
000012e8: PUSH1 0x02
000012ea: PUSH2 0x1ca0
000012ed: JUMP
000012ee: JUMPDEST
000012ef: LT
000012f0: ISZERO
000012f1: PUSH2 0x1300
000012f4: JUMPI
000012f5: PUSH2 0x12fd
000012f8: DUP2
000012f9: PUSH2 0x18a4
000012fc: JUMP
000012fd: JUMPDEST
000012fe: SWAP1
000012ff: POP
00001300: JUMPDEST
00001301: PUSH1 0x01
00001303: DUP6
00001304: ADD
00001305: DUP2
00001306: SWAP1
00001307: SSTORE
00001308: DUP4
00001309: PUSH0
0000130a: JUMPDEST
0000130b: DUP3
0000130c: DUP2
0000130d: LT
0000130e: ISZERO
0000130f: PUSH2 0x13f1
00001312: JUMPI
00001313: DUP1
00001314: DUP5
00001315: SWAP1
00001316: SHR
00001317: PUSH1 0x01
00001319: AND
0000131a: PUSH1 0x01
0000131c: SUB
0000131d: PUSH2 0x13d6
00001320: JUMPI
00001321: PUSH1 0x40
00001323: DUP1
00001324: MLOAD
00001325: DUP1
00001326: DUP3
00001327: ADD
00001328: DUP3
00001329: MSTORE
0000132a: PUSH0
0000132b: DUP4
0000132c: DUP2
0000132d: MSTORE
0000132e: PUSH1 0x02
00001330: DUP11
00001331: ADD
00001332: PUSH1 0x20
00001334: SWAP1
00001335: DUP2
00001336: MSTORE
00001337: SWAP1
00001338: DUP4
00001339: SWAP1
0000133a: KECCAK256
0000133b: SLOAD
0000133c: DUP3
0000133d: MSTORE
0000133e: DUP2
0000133f: ADD
00001340: DUP5
00001341: SWAP1
00001342: MSTORE
00001343: SWAP1
00001344: MLOAD
00001345: PUSH32 0x561558fe00000000000000000000000000000000000000000000000000000000
00001366: DUP2
00001367: MSTORE
00001368: PUSH20 0x8ffda7ed8b4ad98c2c34f54b76821711f4a6f2c5
0000137d: SWAP2
0000137e: PUSH4 0x561558fe
00001383: SWAP2
00001384: PUSH2 0x1390
00001387: SWAP2
00001388: SWAP1
00001389: PUSH1 0x04
0000138b: ADD
0000138c: PUSH2 0x1cab
0000138f: JUMP
00001390: JUMPDEST
00001391: PUSH1 0x20
00001393: PUSH1 0x40
00001395: MLOAD
00001396: DUP1
00001397: DUP4
00001398: SUB
00001399: DUP2
0000139a: DUP7
0000139b: GAS
0000139c: DELEGATECALL
0000139d: ISZERO
0000139e: DUP1
0000139f: ISZERO
000013a0: PUSH2 0x13ab
000013a3: JUMPI
000013a4: RETURNDATASIZE
000013a5: PUSH0
000013a6: PUSH0
000013a7: RETURNDATACOPY
000013a8: RETURNDATASIZE
000013a9: PUSH0
000013aa: REVERT
000013ab: JUMPDEST
000013ac: POP
000013ad: POP
000013ae: POP
000013af: POP
000013b0: PUSH1 0x40
000013b2: MLOAD
000013b3: RETURNDATASIZE
000013b4: PUSH1 0x1f
000013b6: NOT
000013b7: PUSH1 0x1f
000013b9: DUP3
000013ba: ADD
000013bb: AND
000013bc: DUP3
000013bd: ADD
000013be: DUP1
000013bf: PUSH1 0x40
000013c1: MSTORE
000013c2: POP
000013c3: DUP2
000013c4: ADD
000013c5: SWAP1
000013c6: PUSH2 0x13cf
000013c9: SWAP2
000013ca: SWAP1
000013cb: PUSH2 0x194b
000013ce: JUMP
000013cf: JUMPDEST
000013d0: SWAP2
000013d1: POP
000013d2: PUSH2 0x13e9
000013d5: JUMP
000013d6: JUMPDEST
000013d7: PUSH0
000013d8: DUP2
000013d9: DUP2
000013da: MSTORE
000013db: PUSH1 0x02
000013dd: DUP9
000013de: ADD
000013df: PUSH1 0x20
000013e1: MSTORE
000013e2: PUSH1 0x40
000013e4: SWAP1
000013e5: KECCAK256
000013e6: DUP3
000013e7: SWAP1
000013e8: SSTORE
000013e9: JUMPDEST
000013ea: PUSH1 0x01
000013ec: ADD
000013ed: PUSH2 0x130a
000013f0: JUMP
000013f1: JUMPDEST
000013f2: POP
000013f3: PUSH2 0x13fb
000013f6: DUP4
000013f7: PUSH2 0x18a4
000013fa: JUMP
000013fb: JUMPDEST
000013fc: DUP1
000013fd: DUP8
000013fe: SSTORE
000013ff: PUSH0
00001400: SWAP3
00001401: DUP4
00001402: MSTORE
00001403: PUSH1 0x02
00001405: DUP8
00001406: ADD
00001407: PUSH1 0x20
00001409: SWAP1
0000140a: DUP2
0000140b: MSTORE
0000140c: PUSH1 0x40
0000140e: DUP1
0000140f: DUP6
00001410: KECCAK256
00001411: DUP5
00001412: SWAP1
00001413: SSTORE
00001414: SWAP7
00001415: DUP5
00001416: MSTORE
00001417: PUSH1 0x03
00001419: SWAP1
0000141a: SWAP8
0000141b: ADD
0000141c: SWAP1
0000141d: SWAP7
0000141e: MSTORE
0000141f: SWAP4
00001420: SWAP1
00001421: KECCAK256
00001422: SWAP4
00001423: SWAP1
00001424: SWAP4
00001425: SSTORE
00001426: POP
00001427: SWAP2
00001428: SWAP1
00001429: POP
0000142a: JUMP
0000142b: JUMPDEST
0000142c: DUP1
0000142d: CALLDATALOAD
0000142e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001443: DUP2
00001444: AND
00001445: DUP2
00001446: EQ
00001447: PUSH2 0x144e
0000144a: JUMPI
0000144b: PUSH0
0000144c: PUSH0
0000144d: REVERT
0000144e: JUMPDEST
0000144f: SWAP2
00001450: SWAP1
00001451: POP
00001452: JUMP
00001453: JUMPDEST
00001454: PUSH0
00001455: PUSH0
00001456: PUSH0
00001457: PUSH1 0x60
00001459: DUP5
0000145a: DUP7
0000145b: SUB
0000145c: SLT
0000145d: ISZERO
0000145e: PUSH2 0x1465
00001461: JUMPI
00001462: PUSH0
00001463: PUSH0
00001464: REVERT
00001465: JUMPDEST
00001466: PUSH2 0x146e
00001469: DUP5
0000146a: PUSH2 0x142b
0000146d: JUMP
0000146e: JUMPDEST
0000146f: SWAP6
00001470: PUSH1 0x20
00001472: DUP6
00001473: ADD
00001474: CALLDATALOAD
00001475: SWAP6
00001476: POP
00001477: PUSH1 0x40
00001479: SWAP1
0000147a: SWAP5
0000147b: ADD
0000147c: CALLDATALOAD
0000147d: SWAP4
0000147e: SWAP3
0000147f: POP
00001480: POP
00001481: POP
00001482: JUMP
00001483: JUMPDEST
00001484: PUSH0
00001485: PUSH1 0x20
00001487: DUP3
00001488: DUP5
00001489: SUB
0000148a: SLT
0000148b: ISZERO
0000148c: PUSH2 0x1493
0000148f: JUMPI
00001490: PUSH0
00001491: PUSH0
00001492: REVERT
00001493: JUMPDEST
00001494: POP
00001495: CALLDATALOAD
00001496: SWAP2
00001497: SWAP1
00001498: POP
00001499: JUMP
0000149a: JUMPDEST
0000149b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000014bc: PUSH0
000014bd: MSTORE
000014be: PUSH1 0x41
000014c0: PUSH1 0x04
000014c2: MSTORE
000014c3: PUSH1 0x24
000014c5: PUSH0
000014c6: REVERT
000014c7: JUMPDEST
000014c8: PUSH1 0x40
000014ca: MLOAD
000014cb: PUSH1 0x80
000014cd: DUP2
000014ce: ADD
000014cf: PUSH8 0xffffffffffffffff
000014d8: DUP2
000014d9: GT
000014da: DUP3
000014db: DUP3
000014dc: LT
000014dd: OR
000014de: ISZERO
000014df: PUSH2 0x14ea
000014e2: JUMPI
000014e3: PUSH2 0x14ea
000014e6: PUSH2 0x149a
000014e9: JUMP
000014ea: JUMPDEST
000014eb: PUSH1 0x40
000014ed: MSTORE
000014ee: SWAP1
000014ef: JUMP
000014f0: JUMPDEST
000014f1: PUSH1 0x40
000014f3: DUP1
000014f4: MLOAD
000014f5: SWAP1
000014f6: DUP2
000014f7: ADD
000014f8: PUSH8 0xffffffffffffffff
00001501: DUP2
00001502: GT
00001503: DUP3
00001504: DUP3
00001505: LT
00001506: OR
00001507: ISZERO
00001508: PUSH2 0x14ea
0000150b: JUMPI
0000150c: PUSH2 0x14ea
0000150f: PUSH2 0x149a
00001512: JUMP
00001513: JUMPDEST
00001514: PUSH1 0x40
00001516: MLOAD
00001517: PUSH1 0x1f
00001519: DUP3
0000151a: ADD
0000151b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000153c: AND
0000153d: DUP2
0000153e: ADD
0000153f: PUSH8 0xffffffffffffffff
00001548: DUP2
00001549: GT
0000154a: DUP3
0000154b: DUP3
0000154c: LT
0000154d: OR
0000154e: ISZERO
0000154f: PUSH2 0x155a
00001552: JUMPI
00001553: PUSH2 0x155a
00001556: PUSH2 0x149a
00001559: JUMP
0000155a: JUMPDEST
0000155b: PUSH1 0x40
0000155d: MSTORE
0000155e: SWAP2
0000155f: SWAP1
00001560: POP
00001561: JUMP
00001562: JUMPDEST
00001563: PUSH0
00001564: DUP3
00001565: PUSH1 0x1f
00001567: DUP4
00001568: ADD
00001569: SLT
0000156a: PUSH2 0x1571
0000156d: JUMPI
0000156e: PUSH0
0000156f: PUSH0
00001570: REVERT
00001571: JUMPDEST
00001572: PUSH0
00001573: PUSH2 0x157c
00001576: PUSH1 0x40
00001578: PUSH2 0x1513
0000157b: JUMP
0000157c: JUMPDEST
0000157d: SWAP1
0000157e: POP
0000157f: DUP1
00001580: PUSH1 0x40
00001582: DUP5
00001583: ADD
00001584: DUP6
00001585: DUP2
00001586: GT
00001587: ISZERO
00001588: PUSH2 0x158f
0000158b: JUMPI
0000158c: PUSH0
0000158d: PUSH0
0000158e: REVERT
0000158f: JUMPDEST
00001590: DUP5
00001591: JUMPDEST
00001592: DUP2
00001593: DUP2
00001594: LT
00001595: ISZERO
00001596: PUSH2 0x15a9
00001599: JUMPI
0000159a: DUP1
0000159b: CALLDATALOAD
0000159c: DUP4
0000159d: MSTORE
0000159e: PUSH1 0x20
000015a0: SWAP3
000015a1: DUP4
000015a2: ADD
000015a3: SWAP3
000015a4: ADD
000015a5: PUSH2 0x1591
000015a8: JUMP
000015a9: JUMPDEST
000015aa: POP
000015ab: SWAP2
000015ac: SWAP6
000015ad: SWAP5
000015ae: POP
000015af: POP
000015b0: POP
000015b1: POP
000015b2: POP
000015b3: JUMP
000015b4: JUMPDEST
000015b5: PUSH0
000015b6: DUP3
000015b7: PUSH1 0x1f
000015b9: DUP4
000015ba: ADD
000015bb: SLT
000015bc: PUSH2 0x15c3
000015bf: JUMPI
000015c0: PUSH0
000015c1: PUSH0
000015c2: REVERT
000015c3: JUMPDEST
000015c4: PUSH1 0x40
000015c6: PUSH2 0x15ce
000015c9: DUP2
000015ca: PUSH2 0x1513
000015cd: JUMP
000015ce: JUMPDEST
000015cf: DUP1
000015d0: PUSH1 0x80
000015d2: DUP6
000015d3: ADD
000015d4: DUP7
000015d5: DUP2
000015d6: GT
000015d7: ISZERO
000015d8: PUSH2 0x15df
000015db: JUMPI
000015dc: PUSH0
000015dd: PUSH0
000015de: REVERT
000015df: JUMPDEST
000015e0: DUP6
000015e1: JUMPDEST
000015e2: DUP2
000015e3: DUP2
000015e4: LT
000015e5: ISZERO
000015e6: PUSH2 0x1602
000015e9: JUMPI
000015ea: PUSH2 0x15f3
000015ed: DUP9
000015ee: DUP3
000015ef: PUSH2 0x1562
000015f2: JUMP
000015f3: JUMPDEST
000015f4: DUP5
000015f5: MSTORE
000015f6: PUSH1 0x20
000015f8: SWAP1
000015f9: SWAP4
000015fa: ADD
000015fb: SWAP3
000015fc: DUP5
000015fd: ADD
000015fe: PUSH2 0x15e1
00001601: JUMP
00001602: JUMPDEST
00001603: POP
00001604: SWAP1
00001605: SWAP7
00001606: SWAP6
00001607: POP
00001608: POP
00001609: POP
0000160a: POP
0000160b: POP
0000160c: POP
0000160d: JUMP
0000160e: JUMPDEST
0000160f: PUSH0
00001610: PUSH2 0x0200
00001613: DUP3
00001614: DUP5
00001615: SUB
00001616: SLT
00001617: ISZERO
00001618: PUSH2 0x161f
0000161b: JUMPI
0000161c: PUSH0
0000161d: PUSH0
0000161e: REVERT
0000161f: JUMPDEST
00001620: PUSH2 0x1627
00001623: PUSH2 0x14c7
00001626: JUMP
00001627: JUMPDEST
00001628: SWAP1
00001629: POP
0000162a: PUSH2 0x1633
0000162d: DUP4
0000162e: DUP4
0000162f: PUSH2 0x1562
00001632: JUMP
00001633: JUMPDEST
00001634: DUP2
00001635: MSTORE
00001636: PUSH2 0x1642
00001639: DUP4
0000163a: PUSH1 0x40
0000163c: DUP5
0000163d: ADD
0000163e: PUSH2 0x15b4
00001641: JUMP
00001642: JUMPDEST
00001643: PUSH1 0x20
00001645: DUP3
00001646: ADD
00001647: MSTORE
00001648: PUSH2 0x1654
0000164b: DUP4
0000164c: PUSH1 0xc0
0000164e: DUP5
0000164f: ADD
00001650: PUSH2 0x1562
00001653: JUMP
00001654: JUMPDEST
00001655: PUSH1 0x40
00001657: DUP3
00001658: ADD
00001659: MSTORE
0000165a: PUSH0
0000165b: DUP4
0000165c: PUSH2 0x011f
0000165f: DUP5
00001660: ADD
00001661: SLT
00001662: PUSH2 0x1669
00001665: JUMPI
00001666: PUSH0
00001667: PUSH0
00001668: REVERT
00001669: JUMPDEST
0000166a: POP
0000166b: PUSH0
0000166c: DUP1
0000166d: PUSH2 0x0100
00001670: PUSH2 0x1678
00001673: DUP2
00001674: PUSH2 0x1513
00001677: JUMP
00001678: JUMPDEST
00001679: SWAP2
0000167a: POP
0000167b: DUP2
0000167c: SWAP3
0000167d: POP
0000167e: PUSH2 0x0200
00001681: DUP6
00001682: ADD
00001683: DUP7
00001684: DUP2
00001685: GT
00001686: ISZERO
00001687: PUSH2 0x168e
0000168a: JUMPI
0000168b: PUSH0
0000168c: PUSH0
0000168d: REVERT
0000168e: JUMPDEST
0000168f: SWAP1
00001690: DUP6
00001691: ADD
00001692: SWAP1
00001693: JUMPDEST
00001694: DUP1
00001695: DUP3
00001696: LT
00001697: ISZERO
00001698: PUSH2 0x16ae
0000169b: JUMPI
0000169c: DUP2
0000169d: CALLDATALOAD
0000169e: DUP5
0000169f: MSTORE
000016a0: PUSH1 0x20
000016a2: SWAP4
000016a3: DUP5
000016a4: ADD
000016a5: SWAP4
000016a6: SWAP1
000016a7: SWAP2
000016a8: ADD
000016a9: SWAP1
000016aa: PUSH2 0x1693
000016ad: JUMP
000016ae: JUMPDEST
000016af: POP
000016b0: POP
000016b1: PUSH1 0x60
000016b3: DUP4
000016b4: ADD
000016b5: MSTORE
000016b6: POP
000016b7: SWAP3
000016b8: SWAP2
000016b9: POP
000016ba: POP
000016bb: JUMP
000016bc: JUMPDEST
000016bd: PUSH0
000016be: PUSH0
000016bf: PUSH2 0x0220
000016c2: DUP4
000016c3: DUP6
000016c4: SUB
000016c5: SLT
000016c6: ISZERO
000016c7: PUSH2 0x16ce
000016ca: JUMPI
000016cb: PUSH0
000016cc: PUSH0
000016cd: REVERT
000016ce: JUMPDEST
000016cf: DUP3
000016d0: CALLDATALOAD
000016d1: PUSH8 0xffffffffffffffff
000016da: DUP2
000016db: GT
000016dc: ISZERO
000016dd: PUSH2 0x16e4
000016e0: JUMPI
000016e1: PUSH0
000016e2: PUSH0
000016e3: REVERT
000016e4: JUMPDEST
000016e5: DUP4
000016e6: ADD
000016e7: PUSH1 0x40
000016e9: DUP2
000016ea: DUP7
000016eb: SUB
000016ec: SLT
000016ed: ISZERO
000016ee: PUSH2 0x16f5
000016f1: JUMPI
000016f2: PUSH0
000016f3: PUSH0
000016f4: REVERT
000016f5: JUMPDEST
000016f6: PUSH2 0x16fd
000016f9: PUSH2 0x14f0
000016fc: JUMP
000016fd: JUMPDEST
000016fe: PUSH2 0x1706
00001701: DUP3
00001702: PUSH2 0x142b
00001705: JUMP
00001706: JUMPDEST
00001707: DUP2
00001708: MSTORE
00001709: PUSH1 0x20
0000170b: DUP3
0000170c: ADD
0000170d: CALLDATALOAD
0000170e: PUSH8 0xffffffffffffffff
00001717: DUP2
00001718: GT
00001719: ISZERO
0000171a: PUSH2 0x1721
0000171d: JUMPI
0000171e: PUSH0
0000171f: PUSH0
00001720: REVERT
00001721: JUMPDEST
00001722: DUP1
00001723: DUP4
00001724: ADD
00001725: SWAP3
00001726: POP
00001727: POP
00001728: DUP6
00001729: PUSH1 0x1f
0000172b: DUP4
0000172c: ADD
0000172d: SLT
0000172e: PUSH2 0x1735
00001731: JUMPI
00001732: PUSH0
00001733: PUSH0
00001734: REVERT
00001735: JUMPDEST
00001736: DUP2
00001737: CALLDATALOAD
00001738: PUSH8 0xffffffffffffffff
00001741: DUP2
00001742: GT
00001743: ISZERO
00001744: PUSH2 0x174f
00001747: JUMPI
00001748: PUSH2 0x174f
0000174b: PUSH2 0x149a
0000174e: JUMP
0000174f: JUMPDEST
00001750: PUSH2 0x1780
00001753: PUSH1 0x20
00001755: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001776: PUSH1 0x1f
00001778: DUP5
00001779: ADD
0000177a: AND
0000177b: ADD
0000177c: PUSH2 0x1513
0000177f: JUMP
00001780: JUMPDEST
00001781: DUP2
00001782: DUP2
00001783: MSTORE
00001784: DUP8
00001785: PUSH1 0x20
00001787: DUP4
00001788: DUP7
00001789: ADD
0000178a: ADD
0000178b: GT
0000178c: ISZERO
0000178d: PUSH2 0x1794
00001790: JUMPI
00001791: PUSH0
00001792: PUSH0
00001793: REVERT
00001794: JUMPDEST
00001795: DUP2
00001796: PUSH1 0x20
00001798: DUP6
00001799: ADD
0000179a: PUSH1 0x20
0000179c: DUP4
0000179d: ADD
0000179e: CALLDATACOPY
0000179f: PUSH0
000017a0: PUSH1 0x20
000017a2: DUP4
000017a3: DUP4
000017a4: ADD
000017a5: ADD
000017a6: MSTORE
000017a7: DUP1
000017a8: PUSH1 0x20
000017aa: DUP5
000017ab: ADD
000017ac: MSTORE
000017ad: POP
000017ae: POP
000017af: DUP1
000017b0: SWAP4
000017b1: POP
000017b2: POP
000017b3: POP
000017b4: PUSH2 0x17c0
000017b7: DUP5
000017b8: PUSH1 0x20
000017ba: DUP6
000017bb: ADD
000017bc: PUSH2 0x160e
000017bf: JUMP
000017c0: JUMPDEST
000017c1: SWAP1
000017c2: POP
000017c3: SWAP3
000017c4: POP
000017c5: SWAP3
000017c6: SWAP1
000017c7: POP
000017c8: JUMP
000017c9: JUMPDEST
000017ca: PUSH0
000017cb: PUSH2 0x0180
000017ce: DUP3
000017cf: DUP5
000017d0: SUB
000017d1: SLT
000017d2: DUP1
000017d3: ISZERO
000017d4: PUSH2 0x17db
000017d7: JUMPI
000017d8: PUSH0
000017d9: PUSH0
000017da: REVERT
000017db: JUMPDEST
000017dc: POP
000017dd: PUSH0
000017de: DUP1
000017df: PUSH2 0x17e6
000017e2: PUSH2 0x14c7
000017e5: JUMP
000017e6: JUMPDEST
000017e7: SWAP2
000017e8: POP
000017e9: PUSH2 0x17f2
000017ec: DUP6
000017ed: DUP6
000017ee: PUSH2 0x1562
000017f1: JUMP
000017f2: JUMPDEST
000017f3: DUP3
000017f4: MSTORE
000017f5: PUSH2 0x1801
000017f8: DUP6
000017f9: PUSH1 0x40
000017fb: DUP7
000017fc: ADD
000017fd: PUSH2 0x15b4
00001800: JUMP
00001801: JUMPDEST
00001802: PUSH1 0x20
00001804: DUP4
00001805: ADD
00001806: MSTORE
00001807: PUSH2 0x1813
0000180a: DUP6
0000180b: PUSH1 0xc0
0000180d: DUP7
0000180e: ADD
0000180f: PUSH2 0x1562
00001812: JUMP
00001813: JUMPDEST
00001814: PUSH1 0x40
00001816: DUP4
00001817: ADD
00001818: MSTORE
00001819: DUP5
0000181a: PUSH2 0x011f
0000181d: DUP6
0000181e: ADD
0000181f: SLT
00001820: PUSH2 0x1827
00001823: JUMPI
00001824: PUSH0
00001825: PUSH0
00001826: REVERT
00001827: JUMPDEST
00001828: POP
00001829: PUSH0
0000182a: DUP1
0000182b: PUSH2 0x1834
0000182e: PUSH1 0x80
00001830: PUSH2 0x1513
00001833: JUMP
00001834: JUMPDEST
00001835: SWAP1
00001836: POP
00001837: DUP1
00001838: SWAP2
00001839: POP
0000183a: PUSH2 0x0180
0000183d: DUP6
0000183e: ADD
0000183f: DUP7
00001840: DUP2
00001841: GT
00001842: ISZERO
00001843: PUSH2 0x184a
00001846: JUMPI
00001847: PUSH0
00001848: PUSH0
00001849: REVERT
0000184a: JUMPDEST
0000184b: PUSH2 0x0100
0000184e: DUP7
0000184f: ADD
00001850: JUMPDEST
00001851: DUP2
00001852: DUP2
00001853: LT
00001854: ISZERO
00001855: PUSH2 0x1868
00001858: JUMPI
00001859: DUP1
0000185a: CALLDATALOAD
0000185b: DUP5
0000185c: MSTORE
0000185d: PUSH1 0x20
0000185f: SWAP4
00001860: DUP5
00001861: ADD
00001862: SWAP4
00001863: ADD
00001864: PUSH2 0x1850
00001867: JUMP
00001868: JUMPDEST
00001869: POP
0000186a: POP
0000186b: PUSH1 0x60
0000186d: DUP4
0000186e: ADD
0000186f: MSTORE
00001870: POP
00001871: SWAP4
00001872: SWAP3
00001873: POP
00001874: POP
00001875: POP
00001876: JUMP
00001877: JUMPDEST
00001878: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001899: PUSH0
0000189a: MSTORE
0000189b: PUSH1 0x11
0000189d: PUSH1 0x04
0000189f: MSTORE
000018a0: PUSH1 0x24
000018a2: PUSH0
000018a3: REVERT
000018a4: JUMPDEST
000018a5: PUSH0
000018a6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000018c7: DUP3
000018c8: SUB
000018c9: PUSH2 0x18d4
000018cc: JUMPI
000018cd: PUSH2 0x18d4
000018d0: PUSH2 0x1877
000018d3: JUMP
000018d4: JUMPDEST
000018d5: POP
000018d6: PUSH1 0x01
000018d8: ADD
000018d9: SWAP1
000018da: JUMP
000018db: JUMPDEST
000018dc: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000018fd: PUSH0
000018fe: MSTORE
000018ff: PUSH1 0x12
00001901: PUSH1 0x04
00001903: MSTORE
00001904: PUSH1 0x24
00001906: PUSH0
00001907: REVERT
00001908: JUMPDEST
00001909: PUSH0
0000190a: DUP3
0000190b: PUSH2 0x1916
0000190e: JUMPI
0000190f: PUSH2 0x1916
00001912: PUSH2 0x18db
00001915: JUMP
00001916: JUMPDEST
00001917: POP
00001918: MOD
00001919: SWAP1
0000191a: JUMP
0000191b: JUMPDEST
0000191c: PUSH1 0x60
0000191e: DUP2
0000191f: ADD
00001920: DUP2
00001921: DUP4
00001922: PUSH0
00001923: JUMPDEST
00001924: PUSH1 0x03
00001926: DUP2
00001927: LT
00001928: ISZERO
00001929: PUSH2 0x1942
0000192c: JUMPI
0000192d: DUP2
0000192e: MLOAD
0000192f: DUP4
00001930: MSTORE
00001931: PUSH1 0x20
00001933: SWAP3
00001934: DUP4
00001935: ADD
00001936: SWAP3
00001937: SWAP1
00001938: SWAP2
00001939: ADD
0000193a: SWAP1
0000193b: PUSH1 0x01
0000193d: ADD
0000193e: PUSH2 0x1923
00001941: JUMP
00001942: JUMPDEST
00001943: POP
00001944: POP
00001945: POP
00001946: SWAP3
00001947: SWAP2
00001948: POP
00001949: POP
0000194a: JUMP
0000194b: JUMPDEST
0000194c: PUSH0
0000194d: PUSH1 0x20
0000194f: DUP3
00001950: DUP5
00001951: SUB
00001952: SLT
00001953: ISZERO
00001954: PUSH2 0x195b
00001957: JUMPI
00001958: PUSH0
00001959: PUSH0
0000195a: REVERT
0000195b: JUMPDEST
0000195c: POP
0000195d: MLOAD
0000195e: SWAP2
0000195f: SWAP1
00001960: POP
00001961: JUMP
00001962: JUMPDEST
00001963: PUSH1 0x40
00001965: DUP2
00001966: MSTORE
00001967: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000197c: DUP4
0000197d: MLOAD
0000197e: AND
0000197f: PUSH1 0x40
00001981: DUP3
00001982: ADD
00001983: MSTORE
00001984: PUSH0
00001985: PUSH1 0x20
00001987: DUP5
00001988: ADD
00001989: MLOAD
0000198a: PUSH1 0x40
0000198c: PUSH1 0x60
0000198e: DUP5
0000198f: ADD
00001990: MSTORE
00001991: DUP1
00001992: MLOAD
00001993: DUP1
00001994: PUSH1 0x80
00001996: DUP6
00001997: ADD
00001998: MSTORE
00001999: DUP1
0000199a: PUSH1 0x20
0000199c: DUP4
0000199d: ADD
0000199e: PUSH1 0xa0
000019a0: DUP7
000019a1: ADD
000019a2: MCOPY
000019a3: PUSH0
000019a4: PUSH1 0xa0
000019a6: DUP3
000019a7: DUP7
000019a8: ADD
000019a9: ADD
000019aa: MSTORE
000019ab: PUSH1 0xa0
000019ad: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000019ce: PUSH1 0x1f
000019d0: DUP4
000019d1: ADD
000019d2: AND
000019d3: DUP6
000019d4: ADD
000019d5: ADD
000019d6: SWAP3
000019d7: POP
000019d8: POP
000019d9: POP
000019da: DUP3
000019db: PUSH1 0x20
000019dd: DUP4
000019de: ADD
000019df: MSTORE
000019e0: SWAP4
000019e1: SWAP3
000019e2: POP
000019e3: POP
000019e4: POP
000019e5: JUMP
000019e6: JUMPDEST
000019e7: DUP1
000019e8: PUSH0
000019e9: JUMPDEST
000019ea: PUSH1 0x02
000019ec: DUP2
000019ed: LT
000019ee: ISZERO
000019ef: PUSH2 0x1a08
000019f2: JUMPI
000019f3: DUP2
000019f4: MLOAD
000019f5: DUP5
000019f6: MSTORE
000019f7: PUSH1 0x20
000019f9: SWAP4
000019fa: DUP5
000019fb: ADD
000019fc: SWAP4
000019fd: SWAP1
000019fe: SWAP2
000019ff: ADD
00001a00: SWAP1
00001a01: PUSH1 0x01
00001a03: ADD
00001a04: PUSH2 0x19e9
00001a07: JUMP
00001a08: JUMPDEST
00001a09: POP
00001a0a: POP
00001a0b: POP
00001a0c: POP
00001a0d: JUMP
00001a0e: JUMPDEST
00001a0f: DUP1
00001a10: PUSH0
00001a11: JUMPDEST
00001a12: PUSH1 0x02
00001a14: DUP2
00001a15: LT
00001a16: ISZERO
00001a17: PUSH2 0x1a08
00001a1a: JUMPI
00001a1b: PUSH2 0x1a25
00001a1e: DUP5
00001a1f: DUP4
00001a20: MLOAD
00001a21: PUSH2 0x19e6
00001a24: JUMP
00001a25: JUMPDEST
00001a26: PUSH1 0x40
00001a28: SWAP4
00001a29: SWAP1
00001a2a: SWAP4
00001a2b: ADD
00001a2c: SWAP3
00001a2d: PUSH1 0x20
00001a2f: SWAP2
00001a30: SWAP1
00001a31: SWAP2
00001a32: ADD
00001a33: SWAP1
00001a34: PUSH1 0x01
00001a36: ADD
00001a37: PUSH2 0x1a11
00001a3a: JUMP
00001a3b: JUMPDEST
00001a3c: PUSH2 0x0200
00001a3f: DUP2
00001a40: ADD
00001a41: PUSH2 0x1a4a
00001a44: DUP3
00001a45: DUP8
00001a46: PUSH2 0x19e6
00001a49: JUMP
00001a4a: JUMPDEST
00001a4b: PUSH2 0x1a57
00001a4e: PUSH1 0x40
00001a50: DUP4
00001a51: ADD
00001a52: DUP7
00001a53: PUSH2 0x1a0e
00001a56: JUMP
00001a57: JUMPDEST
00001a58: PUSH2 0x1a64
00001a5b: PUSH1 0xc0
00001a5d: DUP4
00001a5e: ADD
00001a5f: DUP6
00001a60: PUSH2 0x19e6
00001a63: JUMP
00001a64: JUMPDEST
00001a65: PUSH2 0x0100
00001a68: DUP3
00001a69: ADD
00001a6a: DUP4
00001a6b: PUSH0
00001a6c: JUMPDEST
00001a6d: PUSH1 0x08
00001a6f: DUP2
00001a70: LT
00001a71: ISZERO
00001a72: PUSH2 0x1a8b
00001a75: JUMPI
00001a76: DUP2
00001a77: MLOAD
00001a78: DUP4
00001a79: MSTORE
00001a7a: PUSH1 0x20
00001a7c: SWAP3
00001a7d: DUP4
00001a7e: ADD
00001a7f: SWAP3
00001a80: SWAP1
00001a81: SWAP2
00001a82: ADD
00001a83: SWAP1
00001a84: PUSH1 0x01
00001a86: ADD
00001a87: PUSH2 0x1a6c
00001a8a: JUMP
00001a8b: JUMPDEST
00001a8c: POP
00001a8d: POP
00001a8e: POP
00001a8f: SWAP6
00001a90: SWAP5
00001a91: POP
00001a92: POP
00001a93: POP
00001a94: POP
00001a95: POP
00001a96: JUMP
00001a97: JUMPDEST
00001a98: PUSH0
00001a99: PUSH1 0x20
00001a9b: DUP3
00001a9c: DUP5
00001a9d: SUB
00001a9e: SLT
00001a9f: ISZERO
00001aa0: PUSH2 0x1aa7
00001aa3: JUMPI
00001aa4: PUSH0
00001aa5: PUSH0
00001aa6: REVERT
00001aa7: JUMPDEST
00001aa8: DUP2
00001aa9: MLOAD
00001aaa: DUP1
00001aab: ISZERO
00001aac: ISZERO
00001aad: DUP2
00001aae: EQ
00001aaf: PUSH2 0x1ab6
00001ab2: JUMPI
00001ab3: PUSH0
00001ab4: PUSH0
00001ab5: REVERT
00001ab6: JUMPDEST
00001ab7: SWAP4
00001ab8: SWAP3
00001ab9: POP
00001aba: POP
00001abb: POP
00001abc: JUMP
00001abd: JUMPDEST
00001abe: PUSH2 0x0180
00001ac1: DUP2
00001ac2: ADD
00001ac3: PUSH2 0x1acc
00001ac6: DUP3
00001ac7: DUP8
00001ac8: PUSH2 0x19e6
00001acb: JUMP
00001acc: JUMPDEST
00001acd: PUSH2 0x1ad9
00001ad0: PUSH1 0x40
00001ad2: DUP4
00001ad3: ADD
00001ad4: DUP7
00001ad5: PUSH2 0x1a0e
00001ad8: JUMP
00001ad9: JUMPDEST
00001ada: PUSH2 0x1ae6
00001add: PUSH1 0xc0
00001adf: DUP4
00001ae0: ADD
00001ae1: DUP6
00001ae2: PUSH2 0x19e6
00001ae5: JUMP
00001ae6: JUMPDEST
00001ae7: PUSH2 0x0100
00001aea: DUP3
00001aeb: ADD
00001aec: DUP4
00001aed: PUSH0
00001aee: JUMPDEST
00001aef: PUSH1 0x04
00001af1: DUP2
00001af2: LT
00001af3: ISZERO
00001af4: PUSH2 0x1a8b
00001af7: JUMPI
00001af8: DUP2
00001af9: MLOAD
00001afa: DUP4
00001afb: MSTORE
00001afc: PUSH1 0x20
00001afe: SWAP3
00001aff: DUP4
00001b00: ADD
00001b01: SWAP3
00001b02: SWAP1
00001b03: SWAP2
00001b04: ADD
00001b05: SWAP1
00001b06: PUSH1 0x01
00001b08: ADD
00001b09: PUSH2 0x1aee
00001b0c: JUMP
00001b0d: JUMPDEST
00001b0e: PUSH4 0xffffffff
00001b13: DUP2
00001b14: DUP2
00001b15: AND
00001b16: DUP4
00001b17: DUP3
00001b18: AND
00001b19: ADD
00001b1a: SWAP1
00001b1b: DUP2
00001b1c: GT
00001b1d: ISZERO
00001b1e: PUSH2 0x11ef
00001b21: JUMPI
00001b22: PUSH2 0x11ef
00001b25: PUSH2 0x1877
00001b28: JUMP
00001b29: JUMPDEST
00001b2a: PUSH0
00001b2b: PUSH4 0xffffffff
00001b30: DUP4
00001b31: AND
00001b32: DUP1
00001b33: PUSH2 0x1b3e
00001b36: JUMPI
00001b37: PUSH2 0x1b3e
00001b3a: PUSH2 0x18db
00001b3d: JUMP
00001b3e: JUMPDEST
00001b3f: DUP1
00001b40: PUSH4 0xffffffff
00001b45: DUP5
00001b46: AND
00001b47: MOD
00001b48: SWAP2
00001b49: POP
00001b4a: POP
00001b4b: SWAP3
00001b4c: SWAP2
00001b4d: POP
00001b4e: POP
00001b4f: JUMP
00001b50: JUMPDEST
00001b51: PUSH4 0xffffffff
00001b56: DUP3
00001b57: DUP2
00001b58: AND
00001b59: DUP3
00001b5a: DUP3
00001b5b: AND
00001b5c: SUB
00001b5d: SWAP1
00001b5e: DUP2
00001b5f: GT
00001b60: ISZERO
00001b61: PUSH2 0x11ef
00001b64: JUMPI
00001b65: PUSH2 0x11ef
00001b68: PUSH2 0x1877
00001b6b: JUMP
00001b6c: JUMPDEST
00001b6d: DUP1
00001b6e: DUP3
00001b6f: ADD
00001b70: DUP1
00001b71: DUP3
00001b72: GT
00001b73: ISZERO
00001b74: PUSH2 0x11ef
00001b77: JUMPI
00001b78: PUSH2 0x11ef
00001b7b: PUSH2 0x1877
00001b7e: JUMP
00001b7f: JUMPDEST
00001b80: PUSH1 0x01
00001b82: DUP2
00001b83: JUMPDEST
00001b84: PUSH1 0x01
00001b86: DUP5
00001b87: GT
00001b88: ISZERO
00001b89: PUSH2 0x1bba
00001b8c: JUMPI
00001b8d: DUP1
00001b8e: DUP6
00001b8f: DIV
00001b90: DUP2
00001b91: GT
00001b92: ISZERO
00001b93: PUSH2 0x1b9e
00001b96: JUMPI
00001b97: PUSH2 0x1b9e
00001b9a: PUSH2 0x1877
00001b9d: JUMP
00001b9e: JUMPDEST
00001b9f: PUSH1 0x01
00001ba1: DUP5
00001ba2: AND
00001ba3: ISZERO
00001ba4: PUSH2 0x1bac
00001ba7: JUMPI
00001ba8: SWAP1
00001ba9: DUP2
00001baa: MUL
00001bab: SWAP1
00001bac: JUMPDEST
00001bad: PUSH1 0x01
00001baf: SWAP4
00001bb0: SWAP1
00001bb1: SWAP4
00001bb2: SHR
00001bb3: SWAP3
00001bb4: DUP1
00001bb5: MUL
00001bb6: PUSH2 0x1b83
00001bb9: JUMP
00001bba: JUMPDEST
00001bbb: SWAP4
00001bbc: POP
00001bbd: SWAP4
00001bbe: SWAP2
00001bbf: POP
00001bc0: POP
00001bc1: JUMP
00001bc2: JUMPDEST
00001bc3: PUSH0
00001bc4: DUP3
00001bc5: PUSH2 0x1bd0
00001bc8: JUMPI
00001bc9: POP
00001bca: PUSH1 0x01
00001bcc: PUSH2 0x11ef
00001bcf: JUMP
00001bd0: JUMPDEST
00001bd1: DUP2
00001bd2: PUSH2 0x1bdc
00001bd5: JUMPI
00001bd6: POP
00001bd7: PUSH0
00001bd8: PUSH2 0x11ef
00001bdb: JUMP
00001bdc: JUMPDEST
00001bdd: DUP2
00001bde: PUSH1 0x01
00001be0: DUP2
00001be1: EQ
00001be2: PUSH2 0x1bf2
00001be5: JUMPI
00001be6: PUSH1 0x02
00001be8: DUP2
00001be9: EQ
00001bea: PUSH2 0x1bfc
00001bed: JUMPI
00001bee: PUSH2 0x1c18
00001bf1: JUMP
00001bf2: JUMPDEST
00001bf3: PUSH1 0x01
00001bf5: SWAP2
00001bf6: POP
00001bf7: POP
00001bf8: PUSH2 0x11ef
00001bfb: JUMP
00001bfc: JUMPDEST
00001bfd: PUSH1 0xff
00001bff: DUP5
00001c00: GT
00001c01: ISZERO
00001c02: PUSH2 0x1c0d
00001c05: JUMPI
00001c06: PUSH2 0x1c0d
00001c09: PUSH2 0x1877
00001c0c: JUMP
00001c0d: JUMPDEST
00001c0e: POP
00001c0f: POP
00001c10: PUSH1 0x01
00001c12: DUP3
00001c13: SHL
00001c14: PUSH2 0x11ef
00001c17: JUMP
00001c18: JUMPDEST
00001c19: POP
00001c1a: PUSH1 0x20
00001c1c: DUP4
00001c1d: LT
00001c1e: PUSH2 0x0133
00001c21: DUP4
00001c22: LT
00001c23: AND
00001c24: PUSH1 0x4e
00001c26: DUP5
00001c27: LT
00001c28: PUSH1 0x0b
00001c2a: DUP5
00001c2b: LT
00001c2c: AND
00001c2d: OR
00001c2e: ISZERO
00001c2f: PUSH2 0x1c3b
00001c32: JUMPI
00001c33: POP
00001c34: DUP2
00001c35: DUP2
00001c36: EXP
00001c37: PUSH2 0x11ef
00001c3a: JUMP
00001c3b: JUMPDEST
00001c3c: PUSH2 0x1c66
00001c3f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001c60: DUP5
00001c61: DUP5
00001c62: PUSH2 0x1b7f
00001c65: JUMP
00001c66: JUMPDEST
00001c67: DUP1
00001c68: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001c89: DIV
00001c8a: DUP3
00001c8b: GT
00001c8c: ISZERO
00001c8d: PUSH2 0x1c98
00001c90: JUMPI
00001c91: PUSH2 0x1c98
00001c94: PUSH2 0x1877
00001c97: JUMP
00001c98: JUMPDEST
00001c99: MUL
00001c9a: SWAP4
00001c9b: SWAP3
00001c9c: POP
00001c9d: POP
00001c9e: POP
00001c9f: JUMP
00001ca0: JUMPDEST
00001ca1: PUSH0
00001ca2: PUSH2 0x1ab6
00001ca5: DUP4
00001ca6: DUP4
00001ca7: PUSH2 0x1bc2
00001caa: JUMP
00001cab: JUMPDEST
00001cac: PUSH1 0x40
00001cae: DUP2
00001caf: ADD
00001cb0: DUP2
00001cb1: DUP4
00001cb2: PUSH0
00001cb3: JUMPDEST
00001cb4: PUSH1 0x02
00001cb6: DUP2
00001cb7: LT
00001cb8: ISZERO
00001cb9: PUSH2 0x1942
00001cbc: JUMPI
00001cbd: DUP2
00001cbe: MLOAD
00001cbf: DUP4
00001cc0: MSTORE
00001cc1: PUSH1 0x20
00001cc3: SWAP3
00001cc4: DUP4
00001cc5: ADD
00001cc6: SWAP3
00001cc7: SWAP1
00001cc8: SWAP2
00001cc9: ADD
00001cca: SWAP1
00001ccb: PUSH1 0x01
00001ccd: ADD
00001cce: PUSH2 0x1cb3
00001cd1: JUMP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x2261a49abfc2f82c5f32b98a05c0f00fdf5d6276cc9ed9d5603c30513b512217
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x2261a49abfc2f82c5f32b98a05c0f00fdf5d6276cc9ed9d5603c30513b512217",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xe4b2fb79",
            "selector": "0xe4b2fb79",
            "calldata_variants": [
                "0xe4b2fb79",
                "0xe4b2fb790000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8eb3cc6",
            "selector": "0xe8eb3cc6",
            "calldata_variants": [
                "0xe8eb3cc6",
                "0xe8eb3cc60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdab463d",
            "selector": "0xfdab463d",
            "calldata_variants": [
                "0xfdab463d",
                "0xfdab463d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda662925",
            "selector": "0xda662925",
            "calldata_variants": [
                "0xda662925",
                "0xda6629250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe38df5f0",
            "selector": "0xe38df5f0",
            "calldata_variants": [
                "0xe38df5f0",
                "0xe38df5f00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb85c5145",
            "selector": "0xb85c5145",
            "calldata_variants": [
                "0xb85c5145",
                "0xb85c51450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc2b40ae4",
            "selector": "0xc2b40ae4",
            "calldata_variants": [
                "0xc2b40ae4",
                "0xc2b40ae40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd87a3b4",
            "selector": "0xcd87a3b4",
            "calldata_variants": [
                "0xcd87a3b4",
                "0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1716,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 5020,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 1141,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1922,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3471,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x85e3ebd6406f19671a84401bf0fbd811a0b5a2badf8b3c2a2276324e00f0a42c
call_targets: 0xf241d57c6debae225c0f2e6ea1529373c9a9c9fb
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x85e3ebd6406f19671a84401bf0fbd811a0b5a2badf8b3c2a2276324e00f0a42c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf241d57c6debae225c0f2e6ea1529373c9a9c9fb"
    ],
    "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": "0xe4b2fb79",
            "selector": "0xe4b2fb79",
            "calldata_variants": [
                "0xe4b2fb79",
                "0xe4b2fb790000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8eb3cc6",
            "selector": "0xe8eb3cc6",
            "calldata_variants": [
                "0xe8eb3cc6",
                "0xe8eb3cc60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdab463d",
            "selector": "0xfdab463d",
            "calldata_variants": [
                "0xfdab463d",
                "0xfdab463d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda662925",
            "selector": "0xda662925",
            "calldata_variants": [
                "0xda662925",
                "0xda6629250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe38df5f0",
            "selector": "0xe38df5f0",
            "calldata_variants": [
                "0xe38df5f0",
                "0xe38df5f00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb85c5145",
            "selector": "0xb85c5145",
            "calldata_variants": [
                "0xb85c5145",
                "0xb85c51450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc2b40ae4",
            "selector": "0xc2b40ae4",
            "calldata_variants": [
                "0xc2b40ae4",
                "0xc2b40ae40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd87a3b4",
            "selector": "0xcd87a3b4",
            "calldata_variants": [
                "0xcd87a3b4",
                "0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2666,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3174,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4459,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [
        {
            "pc": 1141,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1922,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3471,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x85e3ebd6406f19671a84401bf0fbd811a0b5a2badf8b3c2a2276324e00f0a42c
call_targets: 0xf241d57c6debae225c0f2e6ea1529373c9a9c9fb
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x85e3ebd6406f19671a84401bf0fbd811a0b5a2badf8b3c2a2276324e00f0a42c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf241d57c6debae225c0f2e6ea1529373c9a9c9fb"
    ],
    "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": "0xe4b2fb79",
            "selector": "0xe4b2fb79",
            "calldata_variants": [
                "0xe4b2fb79",
                "0xe4b2fb790000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8eb3cc6",
            "selector": "0xe8eb3cc6",
            "calldata_variants": [
                "0xe8eb3cc6",
                "0xe8eb3cc60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdab463d",
            "selector": "0xfdab463d",
            "calldata_variants": [
                "0xfdab463d",
                "0xfdab463d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda662925",
            "selector": "0xda662925",
            "calldata_variants": [
                "0xda662925",
                "0xda6629250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe38df5f0",
            "selector": "0xe38df5f0",
            "calldata_variants": [
                "0xe38df5f0",
                "0xe38df5f00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb85c5145",
            "selector": "0xb85c5145",
            "calldata_variants": [
                "0xb85c5145",
                "0xb85c51450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc2b40ae4",
            "selector": "0xc2b40ae4",
            "calldata_variants": [
                "0xc2b40ae4",
                "0xc2b40ae40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd87a3b4",
            "selector": "0xcd87a3b4",
            "calldata_variants": [
                "0xcd87a3b4",
                "0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2666,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3174,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4459,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": [
        {
            "pc": 1141,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1922,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3471,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}