@djolex999/vir-cli 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,6 +17,7 @@ import { callLLM, maybeAnthropicClient, normalizeModelName, } from "../pipeline/
17
17
  import { status as daemonStatus } from "../daemon/index.js";
18
18
  import { EMBED_MODEL, isOllamaAvailable, probeEmbedding, } from "../search/embedder.js";
19
19
  import { isClaudeAvailable, isInstalled } from "../mcp/install.js";
20
+ import { gatherProjectsReport } from "../cli/projects.js";
20
21
  import { StateDb } from "../state/db.js";
21
22
  import { buildDoctorResult } from "../output/json.js";
22
23
  import * as ui from "../ui/display.js";
@@ -173,6 +174,76 @@ function checkSessions(cfg) {
173
174
  return warn("Claude Code sessions", "no sessions found yet");
174
175
  return ok("Claude Code sessions", `${n} JSONL files found`);
175
176
  }
177
+ // ── 5b. project decisions ─────────────────────────────────────────────────────
178
+ // Undecided projects are a spend decision with a DEADLINE: Claude Code prunes
179
+ // transcripts at ~30 days, so a session that pends long enough is gone before
180
+ // anyone decides. Exported + pure for tests.
181
+ export function pendingProjectsCheck(pendingSessions, pendingProjects, oldestPendingMtimeIso, now) {
182
+ if (pendingSessions === 0) {
183
+ return ok("project decisions", "all projects decided");
184
+ }
185
+ let age = "";
186
+ if (oldestPendingMtimeIso !== null) {
187
+ const days = Math.floor((now - Date.parse(oldestPendingMtimeIso)) / 86_400_000);
188
+ if (Number.isFinite(days) && days >= 0) {
189
+ age = ` · oldest transcript ${days}d old`;
190
+ }
191
+ }
192
+ return warn("project decisions", `${pendingSessions} session(s) in ${pendingProjects} undecided project(s)${age} — Claude Code prunes transcripts at ~30 days, so undecided means lost; run vir projects`);
193
+ }
194
+ // Informational: how many SDK-launched agent transcripts the filter has
195
+ // skipped, by entrypoint. Always ok — this is the filter working as
196
+ // configured, not a problem state.
197
+ export function agentTranscriptsCheck(byEntrypoint) {
198
+ const entries = Object.entries(byEntrypoint);
199
+ const total = entries.reduce((s, [, n]) => s + n, 0);
200
+ if (total === 0)
201
+ return ok("agent transcripts", "none skipped");
202
+ const eps = entries
203
+ .sort((a, b) => b[1] - a[1])
204
+ .map(([ep, n]) => `${ep} (${n})`)
205
+ .join(", ");
206
+ return ok("agent transcripts", `${total} skipped · entrypoints: ${eps}`);
207
+ }
208
+ function checkAgentTranscripts() {
209
+ if (!existsSync(STATE_PATH))
210
+ return agentTranscriptsCheck({});
211
+ let db = null;
212
+ try {
213
+ db = new StateDb(STATE_PATH, { readonly: true });
214
+ return agentTranscriptsCheck(db.countAgentEntrypoints());
215
+ }
216
+ catch (err) {
217
+ return agentTranscriptsCheck({});
218
+ }
219
+ finally {
220
+ db?.close();
221
+ }
222
+ }
223
+ function checkPendingProjects(cfg) {
224
+ try {
225
+ const rows = gatherProjectsReport(cfg);
226
+ const pendingRows = rows.filter((r) => r.pending > 0);
227
+ const pendingSessions = pendingRows.reduce((s, r) => s + r.pending, 0);
228
+ let oldest = null;
229
+ for (const r of pendingRows) {
230
+ for (const p of r.pendingPaths) {
231
+ try {
232
+ const iso = statSync(p).mtime.toISOString();
233
+ if (oldest === null || iso < oldest)
234
+ oldest = iso;
235
+ }
236
+ catch {
237
+ // unreadable transcript — age just stays unknown
238
+ }
239
+ }
240
+ }
241
+ return pendingProjectsCheck(pendingSessions, pendingRows.length, oldest, Date.now());
242
+ }
243
+ catch (err) {
244
+ return warn("project decisions", truncate(err.message));
245
+ }
246
+ }
176
247
  // ── 6. sqlite database ────────────────────────────────────────────────────────
177
248
  const EXPECTED_COLUMNS = [
178
249
  "path",
@@ -215,10 +286,15 @@ function checkDatabase() {
215
286
  // Exported for tests. "Not installed" and "installed but down" demand
216
287
  // different actions (install vs investigate), so they must not collapse into
217
288
  // one verdict — and installed-but-inactive must never read ok.
218
- export function daemonCheck(installed, active, method, cadenceHours) {
289
+ export function daemonCheck(installed, active, method, cadenceHours, staleLabel = null) {
219
290
  if (!installed) {
220
291
  return warn("daemon", "not installed — run vir schedule install");
221
292
  }
293
+ // A pre-rename label is a real install (never "not installed") but needs
294
+ // migration before it drifts from the shipped plist.
295
+ if (staleLabel !== null) {
296
+ return warn("daemon", `running under old label ${staleLabel} — run vir schedule install to migrate`);
297
+ }
222
298
  const cadence = cadenceHours !== null ? ` · every ${cadenceHours}h` : "";
223
299
  if (!active) {
224
300
  return warn("daemon", `installed but not running (${method ?? "unknown"}${cadence}) — check vir schedule status`);
@@ -227,7 +303,7 @@ export function daemonCheck(installed, active, method, cadenceHours) {
227
303
  }
228
304
  async function checkDaemon(cfg) {
229
305
  const ds = await daemonStatus();
230
- return daemonCheck(ds.installed, ds.active, ds.method ?? null, ds.cadenceHours ?? cfg?.cadenceHours ?? null);
306
+ return daemonCheck(ds.installed, ds.active, ds.method ?? null, ds.cadenceHours ?? cfg?.cadenceHours ?? null, ds.staleLabel);
231
307
  }
232
308
  // ── 7b. backup freshness (only when a backup job is configured) ──────────────
233
309
  // ~/.vir/backup.sh stamps ~/.vir/backup.last (ISO UTC) on every successful
@@ -316,6 +392,8 @@ export async function runDoctor() {
316
392
  record(checkVaultPath(cfg));
317
393
  record(checkOutputDir(cfg));
318
394
  record(checkSessions(cfg));
395
+ record(checkPendingProjects(cfg));
396
+ record(checkAgentTranscripts());
319
397
  }
320
398
  else {
321
399
  for (const label of [
@@ -323,6 +401,7 @@ export async function runDoctor() {
323
401
  "vault path",
324
402
  "output directory",
325
403
  "Claude Code sessions",
404
+ "project decisions",
326
405
  ]) {
327
406
  record(fail(label, "skipped — fix config first"));
328
407
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/diagnostics/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/diagnostics/doctor.ts"],"names":[],"mappings":"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"}
@@ -233,6 +233,24 @@ export async function callLLM(config, client, opts) {
233
233
  recordCost(config, opts, result);
234
234
  return result.text;
235
235
  }
236
+ // One cheap reachability probe before a distill loop starts: a tiny classify-
237
+ // model call with a hard timeout. No opts.cost context, so nothing lands in
238
+ // cost.log. A failure here means the provider is down NOW — bail with one
239
+ // clear error instead of entering the loop and burning N per-session retry
240
+ // chains (and attempt-counter increments) on the same outage.
241
+ const PROBE_TIMEOUT_MS = 15_000;
242
+ export async function probeProvider(config, client) {
243
+ const probe = callLLM(config, client, {
244
+ prompt: "ping",
245
+ model: normalizeModelName(config.models.classify, config.provider),
246
+ maxTokens: 5,
247
+ });
248
+ const timeout = new Promise((_, reject) => {
249
+ const t = setTimeout(() => reject(new Error(`no response within ${PROBE_TIMEOUT_MS / 1000}s`)), PROBE_TIMEOUT_MS);
250
+ void probe.finally(() => clearTimeout(t));
251
+ });
252
+ await Promise.race([probe, timeout]);
253
+ }
236
254
  export class Distiller {
237
255
  client;
238
256
  cfg;
@@ -1 +1 @@
1
- {"version":3,"file":"distiller.js","sourceRoot":"","sources":["../../src/pipeline/distiller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distiller.js","sourceRoot":"","sources":["../../src/pipeline/distiller.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export function parseSession(path, hash) {
14
14
  let startedAt = null;
15
15
  let endedAt = null;
16
16
  let toolCallCount = 0;
17
+ let isSidechain = false;
18
+ let entrypoint = null;
17
19
  const filesTouched = new Set();
18
20
  const assistantBlocks = [];
19
21
  const userBlocks = [];
@@ -30,6 +32,13 @@ export function parseSession(path, hash) {
30
32
  catch {
31
33
  continue;
32
34
  }
35
+ if (evt.isSidechain === true)
36
+ isSidechain = true;
37
+ if (entrypoint === null &&
38
+ evt.type === "user" &&
39
+ typeof evt.entrypoint === "string") {
40
+ entrypoint = evt.entrypoint;
41
+ }
33
42
  const ts = typeof evt.timestamp === "string" ? evt.timestamp : null;
34
43
  if (ts) {
35
44
  if (!startedAt)
@@ -106,6 +115,8 @@ export function parseSession(path, hash) {
106
115
  userText,
107
116
  rawSummary,
108
117
  transcriptText,
118
+ isSidechain,
119
+ entrypoint,
109
120
  };
110
121
  }
111
122
  // tool_use inputs are arbitrary JSON; never let a stringify failure kill a
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/pipeline/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/pipeline/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ import { closeSync, openSync, readSync, readdirSync } from "node:fs";
2
+ import { basename, dirname, join, relative, sep } from "node:path";
3
+ import { computeCost } from "../cost/pricing.js";
4
+ function defaultReadDir(path) {
5
+ try {
6
+ return readdirSync(path, { withFileTypes: true })
7
+ .filter((e) => e.isDirectory())
8
+ .map((e) => e.name);
9
+ }
10
+ catch {
11
+ return [];
12
+ }
13
+ }
14
+ // Claude Code encodes a session's cwd into the transcript dir name by
15
+ // replacing every non-alphanumeric character with "-". Apply the same
16
+ // encoding to real dir names so on-disk candidates compare against the
17
+ // encoded segments byte-for-byte.
18
+ function encodeSegment(name) {
19
+ return name.replace(/[^A-Za-z0-9]/g, "-");
20
+ }
21
+ // Walk the real filesystem from `cur`, consuming `remaining` (the encoded
22
+ // path with its leading dash stripped). Dashes are ambiguous — they encode
23
+ // both path separators and literal dashes/dots/spaces — so try candidates
24
+ // longest-encoding-first and backtrack: only a FULL resolution counts.
25
+ // Returns the on-disk basename of the resolved leaf, or null.
26
+ function resolveEncoded(cur, remaining, readDir) {
27
+ const candidates = readDir(cur)
28
+ .map((name) => ({ name, enc: encodeSegment(name) }))
29
+ .filter(({ enc }) => enc.length > 0 &&
30
+ (enc === remaining || remaining.startsWith(enc + "-")))
31
+ .sort((a, b) => b.enc.length - a.enc.length);
32
+ for (const { name, enc } of candidates) {
33
+ if (enc === remaining)
34
+ return name;
35
+ const leaf = resolveEncoded(join(cur, name), remaining.slice(enc.length + 1), readDir);
36
+ if (leaf !== null)
37
+ return leaf;
38
+ }
39
+ return null;
40
+ }
41
+ // Decode a transcript directory name ("-Users-me-projects-my-app") to its
42
+ // project name ("my-app") by resolving the encoded absolute path against
43
+ // directories that actually exist on disk, longest match wins. Falls back to
44
+ // the raw dir name when nothing fully resolves — never throws, never guesses.
45
+ export function decodeProjectName(dirName, projectsDir, deps) {
46
+ const readDir = deps?.readDir ?? defaultReadDir;
47
+ const name = dirName.includes("/") && dirName.startsWith(projectsDir)
48
+ ? basename(dirName)
49
+ : dirName;
50
+ if (!name.startsWith("-"))
51
+ return name;
52
+ const leaf = resolveEncoded("/", name.slice(1), readDir);
53
+ return leaf ?? name;
54
+ }
55
+ export function classifyTranscript(path, projectsDir) {
56
+ const rel = relative(projectsDir, path);
57
+ if (rel.startsWith(".."))
58
+ return "session";
59
+ const segments = rel.split(sep);
60
+ // segments[0] is the encoded project dir; look for `subagents` below it.
61
+ const subIdx = segments.indexOf("subagents", 1);
62
+ if (subIdx === -1)
63
+ return "session";
64
+ const below = segments.slice(subIdx + 1);
65
+ const isWorkflow = below.some((s) => s === "workflows" || s.startsWith("wf_"));
66
+ return isWorkflow ? "workflow" : "sidechain";
67
+ }
68
+ // SDK launch signature: the first `type:"user"` line's `entrypoint` starting
69
+ // with "sdk" marks an agent-internal transcript (review/verify harness agents
70
+ // stored top-level). Keyed on entrypoint ONLY — promptSource reads "sdk" even
71
+ // on desktop-launched human sessions (the C23 serbeval trap), and turn count
72
+ // would kill single-prompt autonomous runs. Returns the entrypoint, or null
73
+ // for human sessions, truncated heads, or anything unparseable — a miss here
74
+ // falls through to the parser backstop, never to a paid call.
75
+ export function sniffAgentEntrypoint(head) {
76
+ for (const line of head.split("\n")) {
77
+ if (line.trim().length === 0)
78
+ continue;
79
+ let evt;
80
+ try {
81
+ evt = JSON.parse(line);
82
+ }
83
+ catch {
84
+ // truncated tail line or garbage — never a user line we can trust
85
+ continue;
86
+ }
87
+ if (evt.type !== "user")
88
+ continue;
89
+ return typeof evt.entrypoint === "string" &&
90
+ evt.entrypoint.startsWith("sdk")
91
+ ? evt.entrypoint
92
+ : null;
93
+ }
94
+ return null;
95
+ }
96
+ // How much of a transcript the scan-time sniff reads. Review-agent first
97
+ // prompts embed whole diffs, so the first user line can be tens of KB; 256KB
98
+ // covers every observed case while staying trivial next to the full-file
99
+ // read the scanner already does for hashing.
100
+ export const SNIFF_HEAD_BYTES = 262_144;
101
+ export function readTranscriptHead(path, bytes = SNIFF_HEAD_BYTES) {
102
+ try {
103
+ const fd = openSync(path, "r");
104
+ try {
105
+ const buf = Buffer.alloc(bytes);
106
+ const n = readSync(fd, buf, 0, bytes, 0);
107
+ return buf.toString("utf8", 0, n);
108
+ }
109
+ finally {
110
+ closeSync(fd);
111
+ }
112
+ }
113
+ catch {
114
+ return "";
115
+ }
116
+ }
117
+ // Rough triage category for the init wizard's counts line
118
+ // ("21 interactive · 67 SDK-launched · 9 stubs"). Display-only — the run
119
+ // gate uses sniffAgentEntrypoint directly. A stub is a tiny COMPLETE
120
+ // transcript (head covers the whole file) with ≤10 non-blank lines: /clear
121
+ // markers and aborted launches. A truncated head is always interactive —
122
+ // never downgrade what we can't see.
123
+ export function categorizeTranscriptHead(head, sizeBytes) {
124
+ if (sniffAgentEntrypoint(head) !== null)
125
+ return "agent";
126
+ const complete = head.length >= sizeBytes;
127
+ const lines = head.split("\n").filter((l) => l.trim().length > 0).length;
128
+ return complete && lines <= 10 ? "stub" : "interactive";
129
+ }
130
+ export function decideProject(name, configured, flags) {
131
+ const configuredDecision = configured[name];
132
+ if (configuredDecision === "exclude")
133
+ return "exclude";
134
+ if (flags?.excludeProject?.includes(name) === true)
135
+ return "flag-skip";
136
+ if (flags?.only !== undefined &&
137
+ flags.only.length > 0 &&
138
+ !flags.only.includes(name)) {
139
+ return "flag-skip";
140
+ }
141
+ return configuredDecision === "include" ? "include" : "pending";
142
+ }
143
+ // Group discovered sessions by decoded project name. Two transcript dirs can
144
+ // decode to the same project (rare, but a renamed cwd does it) — they merge.
145
+ // The decode cache matters: decodeProjectName walks the filesystem, and a
146
+ // scan can hold hundreds of sessions across a handful of dirs.
147
+ export function groupByProject(sessions, projectsDir, deps) {
148
+ const cache = new Map();
149
+ const groups = new Map();
150
+ for (const s of sessions) {
151
+ // The project dir is the FIRST segment under projectsDir — workflow and
152
+ // subagent transcripts nest one level deeper (<encoded>/<session-id>/
153
+ // wf_*.jsonl) and must group under their project, not the inner dir.
154
+ const rel = relative(projectsDir, s.path);
155
+ const dirName = !rel.startsWith("..") && rel.includes(sep)
156
+ ? (rel.split(sep)[0] ?? basename(dirname(s.path)))
157
+ : basename(dirname(s.path));
158
+ let name = cache.get(dirName);
159
+ if (name === undefined) {
160
+ name = decodeProjectName(dirName, projectsDir, deps);
161
+ cache.set(dirName, name);
162
+ }
163
+ let g = groups.get(name);
164
+ if (!g) {
165
+ g = { name, sessions: [], totalBytes: 0 };
166
+ groups.set(name, g);
167
+ }
168
+ g.sessions.push(s);
169
+ g.totalBytes += s.size;
170
+ }
171
+ return groups;
172
+ }
173
+ // Rough per-session cost estimate from raw transcript size — for the triage
174
+ // UIs (init multi-select, undecided prompt, `vir projects`), NOT billing.
175
+ // Derivation from real dry-run calibration: transcript prose+tools ≈ half the
176
+ // JSONL bytes, the moderate tool filter keeps ~45% of that, chars/3 density
177
+ // → distill input ≈ bytes/13; classify sees prose only ≈ bytes/60. Upper
178
+ // bound: heuristic-filtered sessions actually cost nothing.
179
+ const DISTILL_BYTES_PER_TOKEN = 13;
180
+ const CLASSIFY_BYTES_PER_TOKEN = 60;
181
+ const MAX_DISTILL_INPUT_TOKENS = 150_000;
182
+ const MAX_CLASSIFY_INPUT_TOKENS = 30_000;
183
+ export function estimateSessionCost(provider, classifyModel, distillModel, sizeBytes, pricing, kieTopUpTier) {
184
+ const classifyIn = Math.min(Math.ceil(sizeBytes / CLASSIFY_BYTES_PER_TOKEN), MAX_CLASSIFY_INPUT_TOKENS);
185
+ const distillIn = Math.min(Math.ceil(sizeBytes / DISTILL_BYTES_PER_TOKEN), MAX_DISTILL_INPUT_TOKENS);
186
+ return (computeCost(provider, classifyModel, classifyIn, 350, pricing, kieTopUpTier) +
187
+ computeCost(provider, distillModel, distillIn, 4500, pricing, kieTopUpTier));
188
+ }
189
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/pipeline/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,WAAW,EAAyB,MAAM,oBAAoB,CAAC;AAQxE,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,sEAAsE;AACtE,uEAAuE;AACvE,kCAAkC;AAClC,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,0EAA0E;AAC1E,uEAAuE;AACvE,8DAA8D;AAC9D,SAAS,cAAc,CACrB,GAAW,EACX,SAAiB,EACjB,OAAmC;IAEnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;SAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACnD,MAAM,CACL,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACV,GAAG,CAAC,MAAM,GAAG,CAAC;QACd,CAAC,GAAG,KAAK,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CACzD;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,IAAI,GAAG,cAAc,CACzB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EACf,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/B,OAAO,CACR,CAAC;QACF,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,WAAmB,EACnB,IAA0B;IAE1B,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,cAAc,CAAC;IAChD,MAAM,IAAI,GACR,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;QACtD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC;IACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC;AAYD,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,WAAmB;IAEnB,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,yEAAyE;IACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAChD,CAAC;IACF,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;AAC/C,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,8DAA8D;AAC9D,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACvC,IAAI,GAA6C,CAAC;QAClD,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA6C,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QAClC,OAAO,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;YACvC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,GAAG,CAAC,UAAU;YAChB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,6EAA6E;AAC7E,yEAAyE;AACzE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,QAAgB,gBAAgB;IAEhC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACzC,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,yEAAyE;AACzE,qEAAqE;AACrE,2EAA2E;AAC3E,yEAAyE;AACzE,qCAAqC;AACrC,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,SAAiB;IAEjB,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,OAAO,QAAQ,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;AAC1D,CAAC;AAcD,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,UAAiD,EACjD,KAAuB;IAEvB,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,kBAAkB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACvD,IAAI,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC;IACvE,IACE,KAAK,EAAE,IAAI,KAAK,SAAS;QACzB,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC1B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAQD,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAC5B,QAA6D,EAC7D,WAAmB,EACnB,IAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GACX,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,4EAA4E;AAC5E,yEAAyE;AACzE,4DAA4D;AAC5D,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AACzC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CACjC,QAA6B,EAC7B,aAAqB,EACrB,YAAoB,EACpB,SAAiB,EACjB,OAA0B,EAC1B,YAAkC;IAElC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,wBAAwB,CAAC,EAC/C,yBAAyB,CAC1B,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAC,EAC9C,wBAAwB,CACzB,CAAC;IACF,OAAO,CACL,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC;QAC5E,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAC5E,CAAC;AACJ,CAAC"}