kakaotalk-chat-analyzer 0.19.12 → 0.20.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.
Files changed (46) hide show
  1. package/README.md +20 -13
  2. package/dist/src/analysis-effective-config.js +16 -1
  3. package/dist/src/analysis-effective-config.js.map +1 -1
  4. package/dist/src/analysis.js +28 -18
  5. package/dist/src/analysis.js.map +1 -1
  6. package/dist/src/llm-apply.d.ts +2 -0
  7. package/dist/src/llm-apply.js +1 -1
  8. package/dist/src/llm-apply.js.map +1 -1
  9. package/dist/src/llm-gpu-policy.d.ts +5 -0
  10. package/dist/src/llm-gpu-policy.js +16 -0
  11. package/dist/src/llm-gpu-policy.js.map +1 -0
  12. package/dist/src/llm-infer-cli.d.ts +2 -0
  13. package/dist/src/llm-infer-cli.js +53 -0
  14. package/dist/src/llm-infer-cli.js.map +1 -0
  15. package/dist/src/llm-infer-internal.d.ts +3 -0
  16. package/dist/src/llm-infer-internal.js +45 -0
  17. package/dist/src/llm-infer-internal.js.map +1 -0
  18. package/dist/src/llm-llama-core.d.ts +45 -0
  19. package/dist/src/llm-llama-core.js +70 -0
  20. package/dist/src/llm-llama-core.js.map +1 -0
  21. package/dist/src/llm-qwen35.d.ts +2 -0
  22. package/dist/src/llm-qwen35.js +8 -0
  23. package/dist/src/llm-qwen35.js.map +1 -1
  24. package/dist/src/llm-resolve.d.ts +4 -0
  25. package/dist/src/llm-resolve.js +28 -6
  26. package/dist/src/llm-resolve.js.map +1 -1
  27. package/dist/src/llm-runtime.d.ts +6 -43
  28. package/dist/src/llm-runtime.js +20 -108
  29. package/dist/src/llm-runtime.js.map +1 -1
  30. package/dist/src/llm-subprocess.d.ts +34 -0
  31. package/dist/src/llm-subprocess.js +152 -0
  32. package/dist/src/llm-subprocess.js.map +1 -0
  33. package/dist/src/llm-summarize.d.ts +5 -1
  34. package/dist/src/llm-summarize.js +52 -5
  35. package/dist/src/llm-summarize.js.map +1 -1
  36. package/dist/src/memory-plan.d.ts +20 -0
  37. package/dist/src/memory-plan.js +23 -0
  38. package/dist/src/memory-plan.js.map +1 -0
  39. package/dist/src/report-provenance.d.ts +1 -0
  40. package/dist/src/report-provenance.js +3 -0
  41. package/dist/src/report-provenance.js.map +1 -1
  42. package/dist/src/types.d.ts +17 -0
  43. package/dist/src/version.d.ts +2 -2
  44. package/dist/src/version.js +1 -1
  45. package/dist/src/version.js.map +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -19,13 +19,14 @@ npx kcachat@latest
19
19
 
20
20
  <table>
21
21
  <tr>
22
- <td align="center" width="33%"><strong>Wrapped</strong><br><img src="docs/assets/demo/wrapped.png" alt="Wrapped 요약" width="100%" /></td>
23
- <td align="center" width="33%"><strong>차트</strong><br><img src="docs/assets/demo/charts-viz.png" alt="차트" width="100%" /></td>
24
- <td align="center" width="33%"><strong>키워드</strong><br><img src="docs/assets/demo/keywords.png" alt="키워드" width="100%" /></td>
22
+ <td align="center" width="25%"><strong>Wrapped</strong><br><img src="docs/assets/demo/wrapped.png" alt="Wrapped 요약" width="100%" /></td>
23
+ <td align="center" width="25%"><strong>Story Deck</strong><br><img src="docs/assets/demo/archetype.png" alt="방 아키타입" width="100%" /></td>
24
+ <td align="center" width="25%"><strong>① 핵심 숫자</strong><br><img src="docs/assets/demo/facts.png" alt="핵심 지표" width="100%" /></td>
25
+ <td align="center" width="25%"><strong>차트</strong><br><img src="docs/assets/demo/charts-viz.png" alt="차트" width="100%" /></td>
25
26
  </tr>
26
27
  </table>
27
28
 
28
- <p><sub><a href="https://claudianus.github.io/kakaotalk-chat-analyzer/#demo">리포트 미리보기 전체</a> (12장 · 탭하면 크게 보기)</sub></p>
29
+ <p><sub><a href="https://claudianus.github.io/kakaotalk-chat-analyzer/#demo">리포트 미리보기 전체</a> (13장 · 탭하면 크게 보기)</sub></p>
29
30
 
30
31
  </div>
31
32
 
@@ -105,15 +106,20 @@ npx kcachat@latest "C:\경로\KakaoTalk_Chat_....csv"
105
106
 
106
107
  ## 리포트에서 볼 수 있는 것
107
108
 
108
- 브라우저만 있으면 되는 **단일 HTML**입니다. **대화 원문은 파일에 넣지 않습니다.**
109
+ 브라우저만 있으면 되는 **단일 HTML**입니다. **대화 원문은 파일에 넣지 않습니다.** 상단 **섹션 메뉴**로 ⓪~⑥ 구역을 바로 이동할 수 있습니다.
109
110
 
110
111
  | 구역 | 내용 |
111
112
  |------|------|
112
- | **Wrapped** | 한 장면 요약, 활동 달력, 페르소나·하이라이트 |
113
- | **차트** | 워드클라우드, 요일·시간대, 주제 |
114
- | **키워드** | 상위 단어 순위 (한국어 형태소 + 통계) |
115
- | **참여자** | 말풍선·랭킹 (이름은 **일부만** 보이게 마스킹) |
116
- | **테마** | 라이트 / 다크 / 시스템 |
113
+ | **⓪ Wrapped** | 한 장면 요약, 챕터·활동 그리드 |
114
+ | **LLM Story Deck** | 아키타입, 시즌 에피소드, 캐릭터 카드, 올해의 순간·관계 드라마·방 밈 등 (통계·키워드만 로컬 LLM에 전달, **원문 미전송**) |
115
+ | **① 핵심 숫자** | 메시지·참여자 히어로 + 핵심 8칸 지표 (`더 많은 지표` 접기) |
116
+ | **② 방 이야기** | 규칙/LLM 서사, 인사이트·샵검색·상호작용·주제 제안 |
117
+ | **③ 분위기·리듬** | 지니·화자 전환·말풍선 패턴 지표 |
118
+ | **④ 인터랙티브 차트** | 워드클라우드, 요일·시간대, **주제 맵**(graph·키워드·임베딩 3레인) |
119
+ | **⑤ 표·막대** | 키워드 순위(빈도/특이어), 참여자 랭킹 (이름 **마스킹**) |
120
+ | **⑥ 용어** | 지표 설명 · 테마 라이트 / 다크 / 시스템 |
121
+
122
+ LLM이 RAM 부족 등으로 스킵되어도 **규칙 기반 서사**로 리포트는 완성됩니다. 사이드 카드·`#kca-provenance`에서 **LLM 사용 여부**를 확인할 수 있습니다.
117
123
 
118
124
  공유 링크(BrewPage 등)로 열어도 되고, `--local`로 만든 `index.html`을 더블클릭해도 됩니다.
119
125
 
@@ -217,7 +223,7 @@ KCA_LLM_BACKEND=ollama kca ./chat.csv --preset custom
217
223
 
218
224
  **LLM (자동, `KCA_LLM=0` 제외):** RAM이 허용하는 최대 Qwen3.5(0.8B→9B)로 주제 제목·서사 + Story Deck(방 아키타입·올해의 순간·에피소드·관계 드라마·밈·공유 문구 등, 원문 미전송). node-llama-cpp **JSON Schema grammar**로 출력 형식을 강제(기본 on). LLM 실패 시에도 리포트는 규칙 기반 서사로 완성.
219
225
 
220
- **LLM 문제 해결:** free RAM이 매우 낮으면(`KCA_LLM_MIN_FREE_GB` 미만) 재시도 없이 skip `KCA_LLM=0 npx kcachat --local` 또는 메모리 확보 재실행. JSON만 끄려면 `KCA_LLM_GRAMMAR=0`.
226
+ **LLM 문제 해결:** 0.20+ 부터 GGUF 추론은 **자식 프로세스**에서 실행되어 Metal/GGUF 네이티브 크래시(SIGSEGV)가 나도 리포트는 규칙 서사로 **끝까지 완료**됩니다. 크래시 시 CPU·소형 모델로 자동 재시도합니다. free RAM이 매우 낮으면(`KCA_LLM_MIN_FREE_GB` 미만) JSON 재시도만 skip. LLM을 끄려면 `KCA_LLM=0 npx kcachat --local`. 고급: `KCA_LLM_GPU=none`(CPU 고정), `KCA_LLM_MODEL=0.8B`, `KCA_LLM_IN_PROCESS=1`(디버그·비권장). JSON만 끄려면 `KCA_LLM_GRAMMAR=0`.
221
227
 
222
228
  </details>
223
229
 
@@ -238,7 +244,7 @@ KCA_BENCH_COMPARE=1 npm run bench:semantic
238
244
 
239
245
  </details>
240
246
 
241
- **버전 고정:** `npx kakaotalk-chat-analyzer@0.19.12` · 최신은 `kcachat@latest`가 매번 본체를 받습니다. 리포트 사이드 카드·`#kca-provenance`로 실제 생성 버전을 확인할 수 있습니다.
247
+ **버전 고정:** `npx kakaotalk-chat-analyzer@0.20.0` · 최신은 `kcachat@latest`가 매번 본체를 받습니다. 리포트 사이드 카드·`#kca-provenance`로 실제 생성 버전을 확인할 수 있습니다.
242
248
 
243
249
  **로컬 개발:**
244
250
 
@@ -253,7 +259,8 @@ cd kakaotalk-chat-analyzer && npm install && npm run build && npm test
253
259
 
254
260
  | 버전 | 요약 |
255
261
  |------|------|
256
- | **0.19.12** | LLM Story Deck·리포트 고밀도 재설계(슬림 팩트·중복 차트 제거) |
262
+ | **0.20.0** | **LLM child 프로세스 격리** Metal/GGUF SIGSEGV도 리포트 완료·CPU·소형 모델 자동 재시도·post-ML free RAM GPU 정책 |
263
+ | **0.19.12** | **LLM Story Deck**(아키타입·에피소드·캐릭터·올해의 순간·관계 드라마·방 밈·공유 문구)·**슬림 ① 핵심 숫자**·중복 차트·규칙 페르소나 제거·섹션 ⓪~⑥ 내비 |
257
264
  | **0.19.11** | `llm_retry` 예산을 실제 재시도 모델 크기에 맞춤 |
258
265
  | **0.19.10** | LLM 재시도 RAM gate·JSON 벤치·테스트 보강 |
259
266
  | **0.19.9** | JSON Schema grammar·OOM 방어 — LLM 실패해도 리포트 완성 |
@@ -156,7 +156,12 @@ export function buildAnalysisEffectiveConfig(data, cli, machine) {
156
156
  const semanticModel = semanticEmbeddingModelId(buildOpts, messageCount);
157
157
  const sentimentModel = sentimentModelId(preset);
158
158
  const semanticCap = effectiveSemanticSampleCap(messageCount, buildOpts);
159
- const llmPlan = resolveLlmRunPlan({ preset, profile: profileMachine, messageCount });
159
+ const llmPlan = resolveLlmRunPlan({
160
+ preset,
161
+ profile: profileMachine,
162
+ messageCount,
163
+ postMl: true,
164
+ });
160
165
  const semanticUsed = data.summary.usedSemanticKeywords === true;
161
166
  const sentimentUsed = data.summary.usedSentimentAnalysis === true;
162
167
  const llmUsed = data.summary.usedLlmAnalysis === true;
@@ -324,6 +329,16 @@ export function toProvenanceOptions(config, data, extras) {
324
329
  budgetMs: config.budgetMs,
325
330
  envOverrides: config.envOverrides.length > 0 ? config.envOverrides : undefined,
326
331
  embeddingTopics: config.embeddingTopics,
332
+ llmMemoryTimeline: data.memoryTimeline?.length
333
+ ? data.memoryTimeline.map((e) => ({
334
+ phase: e.phase,
335
+ availableGb: e.availableGb,
336
+ freeGb: e.freeGb,
337
+ totalGb: e.totalGb,
338
+ ...(e.note ? { note: e.note } : {}),
339
+ ...(e.chosenLlmSize ? { chosenLlmSize: e.chosenLlmSize } : {}),
340
+ }))
341
+ : undefined,
327
342
  buildTiming: extras.buildTiming,
328
343
  htmlBytes: extras.htmlBytes,
329
344
  };
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-effective-config.js","sourceRoot":"","sources":["../../src/analysis-effective-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis-effective-config.js","sourceRoot":"","sources":["../../src/analysis-effective-config.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import { disposeUtteranceMlPipelines } from "./ml-dispose.js";
18
18
  import { resolvePresetNameWithAuto } from "./analysis-preset.js";
19
19
  import { probeMachineProfileSync } from "./analysis-capability.js";
20
20
  import { resolveLlmRunPlan } from "./llm-policy.js";
21
+ import { getMemoryTimeline, pushMemoryTimeline, resetMemoryTimeline, } from "./memory-plan.js";
21
22
  import { AnalysisBudgetTracker, phaseReserveMs } from "./analysis-budget.js";
22
23
  import { createMessageSpoolPath, iterateSpoolRecords, removeSpool, } from "./analysis-spool.js";
23
24
  import { createWriteStream } from "node:fs";
@@ -200,21 +201,33 @@ function reportWithLlmSkipped(report, reason) {
200
201
  };
201
202
  }
202
203
  async function runLlmPhaseIfAllowed(report, options, preset, budget, llmPlanHint) {
203
- const profile = probeMachineProfileSync();
204
- const llmPlan = llmPlanHint ??
205
- resolveLlmRunPlan({ preset, profile, messageCount: report.summary.totalMessages });
204
+ const messageCount = report.summary.totalMessages;
205
+ const estimateProfile = probeMachineProfileSync();
206
+ let llmPlan = llmPlanHint ??
207
+ resolveLlmRunPlan({ preset, profile: estimateProfile, messageCount, postMl: false });
206
208
  budget.updateLlmSize(llmPlan.size);
207
209
  if (!llmPlan.enabled) {
208
210
  return reportWithLlmSkipped(report, llmPlan.reason);
209
211
  }
210
212
  if (budget.shouldSkip("llm")) {
211
213
  const remainSec = Math.round(budget.remainingMs() / 1000);
212
- const needSec = Math.round(phaseReserveMs("llm", preset, profile, llmPlan.size) / 1000);
214
+ const needSec = Math.round(phaseReserveMs("llm", preset, estimateProfile, llmPlan.size) / 1000);
213
215
  return reportWithLlmSkipped(report, `예산 부족 (남은 ~${remainSec}s, LLM 필요 ~${needSec}s)`);
214
216
  }
215
217
  try {
216
218
  await disposeUtteranceMlPipelines();
217
- return await enrichReportWithLlm(report, options, { budget });
219
+ const postProfile = probeMachineProfileSync();
220
+ pushMemoryTimeline("post_ml_dispose", postProfile, { note: "ONNX dispose 완료" });
221
+ llmPlan = resolveLlmRunPlan({ preset, profile: postProfile, messageCount, postMl: true });
222
+ pushMemoryTimeline("llm_plan", postProfile, {
223
+ chosenLlmSize: llmPlan.size,
224
+ note: llmPlan.reason.slice(0, 120),
225
+ });
226
+ budget.updateLlmSize(llmPlan.size);
227
+ if (!llmPlan.enabled) {
228
+ return reportWithLlmSkipped(report, llmPlan.reason);
229
+ }
230
+ return await enrichReportWithLlm(report, options, { budget, llmPlan });
218
231
  }
219
232
  catch (error) {
220
233
  const msg = error instanceof Error ? error.message : String(error);
@@ -226,6 +239,7 @@ export async function buildReportFromExportSync(filePath, options) {
226
239
  const showProgress = options?.progress !== false;
227
240
  if (showProgress)
228
241
  resetReportProgress();
242
+ resetMemoryTimeline();
229
243
  const privacy = options?.privacy ?? "public-masked";
230
244
  const top = options?.top ?? DEFAULT_TOP;
231
245
  const prepass = new HeuristicPrepassCollector();
@@ -262,7 +276,13 @@ export async function buildReportFromExportSync(filePath, options) {
262
276
  const phaseProfiler = new PhaseProfiler();
263
277
  let preset = resolvePresetNameWithAuto(options, messageEstimate);
264
278
  const profileMachine = probeMachineProfileSync();
265
- let llmPlan = resolveLlmRunPlan({ preset, profile: profileMachine, messageCount: messageEstimate });
279
+ pushMemoryTimeline("analysis_start", profileMachine);
280
+ let llmPlan = resolveLlmRunPlan({
281
+ preset,
282
+ profile: profileMachine,
283
+ messageCount: messageEstimate,
284
+ postMl: false,
285
+ });
266
286
  let budget = new AnalysisBudgetTracker(preset, messageEstimate ?? 0, profileMachine, llmPlan.size);
267
287
  try {
268
288
  if (useKiwi) {
@@ -366,11 +386,6 @@ export async function buildReportFromExportSync(filePath, options) {
366
386
  usedToxicityAnalysis: usedToxicityOverlap,
367
387
  koreanPrimary: prepass.isPrimarilyKorean(),
368
388
  }, prepass.messageCount));
369
- llmPlan = resolveLlmRunPlan({
370
- preset,
371
- profile: probeMachineProfileSync(),
372
- messageCount: prepass.messageCount,
373
- });
374
389
  phaseProfiler.start("llm");
375
390
  if (showProgress)
376
391
  logReportProgress({ phase: "LLM 서사", current: 0, total: 1 });
@@ -387,7 +402,7 @@ export async function buildReportFromExportSync(filePath, options) {
387
402
  console.error(`[kca] 완료 ${report.summary.totalMessages.toLocaleString("ko-KR")}건 · 주제 ${report.topics.length}개${sem}${sent}${tox}${llm}`);
388
403
  }
389
404
  phaseProfiler.logSummary(prepass.messageCount);
390
- return { ...report, kiwiAvailableAtAnalysis };
405
+ return { ...report, kiwiAvailableAtAnalysis, memoryTimeline: [...getMemoryTimeline()] };
391
406
  }
392
407
  else {
393
408
  if (showProgress)
@@ -452,11 +467,6 @@ export async function buildReportFromExportSync(filePath, options) {
452
467
  usedToxicityAnalysis: usedToxicity,
453
468
  koreanPrimary: prepass.isPrimarilyKorean(),
454
469
  }, prepass.messageCount));
455
- llmPlan = resolveLlmRunPlan({
456
- preset,
457
- profile: probeMachineProfileSync(),
458
- messageCount: prepass.messageCount,
459
- });
460
470
  phaseProfiler.start("llm");
461
471
  if (showProgress)
462
472
  logReportProgress({ phase: "LLM 서사", current: 0, total: 1 });
@@ -473,7 +483,7 @@ export async function buildReportFromExportSync(filePath, options) {
473
483
  console.error(`[kca] 완료 ${report.summary.totalMessages.toLocaleString("ko-KR")}건 · 주제 ${report.topics.length}개${sem}${sent}${tox}${llm}`);
474
484
  }
475
485
  phaseProfiler.logSummary(prepass.messageCount);
476
- return { ...report, kiwiAvailableAtAnalysis };
486
+ return { ...report, kiwiAvailableAtAnalysis, memoryTimeline: [...getMemoryTimeline()] };
477
487
  }
478
488
  finally {
479
489
  await removeSpool(spoolPath);
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/analysis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAA2B,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG7E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,GAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,MAAM,WAAW,GAAG,EAAE,CAAC;AAIvB,SAAS,mBAAmB,CAC1B,OAA4B,EAC5B,KAAuB,EACvB,YAAqB;IAErB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnE,OAAO;QACL,GAAG,KAAK;QACR,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkB;IAC9C,OAAO,EAAE,GAAG,MAAM,EAAE,uBAAuB,EAAE,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,KAAmB;IAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAAE,SAAS;YAChC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,eAAe,EAAE,CAAC;AAC1B,CAAC;AAGD,SAAS,uBAAuB,CAC9B,YAAoB,EACpB,WAAoB,EACpB,YAAqB;IAErB,OAAO;QACL,eAAe,EAAE,WAAW,IAAI,4BAA4B,CAAC,YAAY,CAAC;QAC1E,gBAAgB,EAAE,YAAY,IAAI,6BAA6B,CAAC,YAAY,CAAC;QAC7E,iBAAiB,EAAE,YAAY;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB,EAAE,OAA4B;IAC/E,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC;IACpD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;QAC9D,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;KACzC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,SAAS;QACvD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,oBAAoB,CACzB,GAAG,CAAC,QAAQ,CACV;QACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;KACrC,EACD,mBAAmB,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/E,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAmB,EACnB,OAA4B;IAE5B,MAAM,mBAAmB,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC;IACpD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAC9B,MAAM,CAAC,QAAQ,EACf,OAAO,EACP,GAAG,EACH,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAC1E,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,SAAS;QACvD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE;QAClF,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;KACpC,CAAC,CAAC;IACH,OAAO,oBAAoB,CACzB,GAAG,CAAC,QAAQ,CACV;QACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;KACrC,EACD,mBAAmB,CACjB,OAAO,EACP;QACE,oBAAoB,EAAE,YAAY;QAClC,qBAAqB,EAAE,aAAa;QACpC,oBAAoB,EAAE,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,iBAAiB,EAAE;KAC3C,EACD,MAAM,CAAC,OAAO,CAAC,MAAM,CACtB,CACF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA2B;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,QAAgB,EAChB,GAAqB,EACrB,OAAkC,EAClC,UAA+B,EAC/B,SAAyB;IAEzB,IAAI,IAAI,GAKG,IAAI,CAAC;IAEhB,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,CAAC;IAChC,IAAI,WAA6D,CAAC;IAClE,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YAClE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;oBAAE,SAAS;gBAC7D,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxE,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,WAAW;wBAAE,WAAW,GAAG,iBAAiB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;oBACnF,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,WAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG;oBACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;oBAC7B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;oBAC7B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;oBACvC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;iBACzC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,WAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClC,WAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,GAAqB,EACrB,IAA8B;IAE9B,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;IAC1B,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,MAAM,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC;IACpC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,SAAS;QACvD,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,UAAU,IAAI,KAAK,GAAG,aAAa,KAAK,CAAC,EAAE,CAAC;YAC9C,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,QAAgB,EAChB,GAAqB,EACrB,UAA+B;IAE/B,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,CAAC;IAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;QAClE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;gBAAE,SAAS;YAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkB,EAAE,MAAc;IAC9D,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,OAAO;YACjB,eAAe,EAAE,KAAK;YACtB,gBAAgB,EAAE,MAAM;SACzB;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAAkB,EAClB,OAAuC,EACvC,MAA0B,EAC1B,MAA6B,EAC7B,WAAwB;IAExB,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,MAAM,OAAO,GACX,WAAW;QACX,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACrF,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAC5D,CAAC;QACF,OAAO,oBAAoB,CAAC,MAAM,EAAE,cAAc,SAAS,cAAc,OAAO,IAAI,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,2BAA2B,EAAE,CAAC;QACpC,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;QACjD,OAAO,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,OAA4B;IAE5B,MAAM,YAAY,GAAG,OAAO,EAAE,QAAQ,KAAK,KAAK,CAAC;IACjD,IAAI,YAAY;QAAE,mBAAmB,EAAE,CAAC;IAExC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC;IACpD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;IAEhD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC7B,IAAI,eAAmC,CAAC;IACxC,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,eAAe,GAAG,SAAS,CAAC;IAC9B,CAAC;IACD,IAAI,YAAY,IAAI,KAAK,IAAI,eAAe,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;QACvD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG;QACpD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG;QACtD,iBAAiB,EAAE,eAAe;KACnC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,SAAkB,EAAkC,EAAE;QACzF,MAAM,IAAI,GAAuB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,OAAO;YACL,GAAG,IAAI;YACP,aAAa,EAAE,SAAS,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACzD,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SACtF,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,IAAI,GAKG,IAAI,CAAC;IAEhB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,IAAI,uBAAuB,GAAG,KAAK,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC1C,IAAI,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,uBAAuB,EAAE,CAAC;IACjD,IAAI,OAAO,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC;IACpG,IAAI,MAAM,GAAG,IAAI,qBAAqB,CACpC,MAAM,EACN,eAAe,IAAI,CAAC,EACpB,cAAc,EACd,OAAO,CAAC,IAAI,CACb,CAAC;IACF,IAAI,CAAC;QACL,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClC,IAAI,GAAG,MAAM,YAAY,CACvB,QAAQ,EACR,GAAG,EACH,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,EACtC,SAAS,CACV,CAAC;YACF,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;YAE1E,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YACvC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAChC,GAAG,CAAC,+BAA+B,EAAE,CAAC;YACtC,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAE9F,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACvD,OAAO,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1F,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAEpF,IAAI,kBAAkB,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1F,IAAI,mBAAmB,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACpF,IAAI,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACpF,IAAI,kBAAkB,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,kBAAkB,GAAG,KAAK,CAAC;YACpF,IAAI,mBAAmB,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,mBAAmB,GAAG,KAAK,CAAC;YACvF,IAAI,kBAAkB,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,kBAAkB,GAAG,KAAK,CAAC;YAErF,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAExE,MAAM,qBAAqB,GAAG,KAAK,IAAmB,EAAE;gBACtD,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClE,MAAM,OAAO,GAAuB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;gBACrF,IAAI,kBAAkB,IAAI,mBAAmB,IAAI,kBAAkB,EAAE,CAAC;oBACpE,OAAO,CAAC,IAAI,CACV,kBAAkB,CAAC;wBACjB,YAAY,EAAE,mBAAmB;wBACjC,WAAW,EAAE,kBAAkB;wBAC/B,WAAW,EAAE,kBAAkB;wBAC/B,YAAY,EAAE,KAAK;wBACnB,YAAY,EAAE,MAAM;wBACpB,YAAY,EAAE,SAAS;qBACxB,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,uBAAuB,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC;gBACnD,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC/B,IAAI,YAAY;oBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAElF,GAAG,CAAC,oBAAoB,EAAE,CAAC;gBAC3B,IAAI,YAAY;oBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrE,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACpC,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;wBACjC,UAAU,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC;gBACH,CAAC;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACrD,MAAM,MAAM,GAA4B;oBACtC,KAAK;oBACL,aAAa,EAAE,UAAU,EAAE,aAAa;oBACxC,UAAU,EAAE,UAAU,EAAE,UAAU;iBACnC,CAAC;gBACF,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;oBAC5B,MAAM,6BAA6B,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACN,MAAM,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAClC,IAAI,YAAY,EAAE,CAAC;oBACjB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC,CAAC;YAEF,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACtC,qBAAqB,EAAE;gBACvB,kBAAkB,CAAC,GAAG,EAAE;oBACtB,YAAY,EAAE,mBAAmB;oBACjC,WAAW,EAAE,kBAAkB;oBAC/B,WAAW,EAAE,kBAAkB;oBAC/B,YAAY;oBACZ,YAAY,EAAE,OAAO;oBACrB,YAAY,EAAE,SAAS;iBACxB,CAAC;aACH,CAAC,CAAC;YACH,MAAM,EACJ,YAAY,EAAE,mBAAmB,EACjC,aAAa,EAAE,oBAAoB,EACnC,YAAY,EAAE,mBAAmB,GAClC,GAAG,SAAS,CAAC;YACd,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEhC,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAEhF,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,CACvB,IAAK,EACL,mBAAmB,CACjB,OAAO,EACP;gBACE,oBAAoB,EAAE,mBAAmB;gBACzC,qBAAqB,EAAE,oBAAoB;gBAC3C,oBAAoB,EAAE,mBAAmB;gBACzC,aAAa,EAAE,OAAO,CAAC,iBAAiB,EAAE;aAC3C,EACD,OAAO,CAAC,YAAY,CACrB,CACF,CAAC;YAEF,OAAO,GAAG,iBAAiB,CAAC;gBAC1B,MAAM;gBACN,OAAO,EAAE,uBAAuB,EAAE;gBAClC,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC,CAAC;YACH,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/E,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9E,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/E,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEzB,IAAI,YAAY,EAAE,CAAC;gBACjB,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,KAAK,CACX,YAAY,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,CAC3H,CAAC;YACJ,CAAC;YAED,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC/C,OAAO,EAAE,GAAG,MAAM,EAAE,uBAAuB,EAAE,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;YAC1B,uBAAuB,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC;YACnD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;gBAC9F,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;wBAAE,SAAS;oBAC7D,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG;wBACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;wBAC7B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;wBAC7B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;wBACvC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;qBACzC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;YAC1E,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,YAAY,EAAE,CAAC;gBACjB,iBAAiB,CAAC;oBAChB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,OAAO,CAAC,YAAY;oBAC7B,KAAK,EAAE,OAAO,CAAC,YAAY;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAClE,OAAO,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/F,IAAI,WAAW,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,IAAI,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,IAAI,WAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,WAAW,GAAG,KAAK,CAAC;QACtE,IAAI,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,YAAY,GAAG,KAAK,CAAC;QACzE,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,WAAW,GAAG,KAAK,CAAC;QAEvE,IAAI,YAAY;YAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhF,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE;YAC7C,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,WAAW;YACxB,YAAY;YACZ,YAAY,EAAE,OAAO;YACrB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QAC/D,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,CACvB,IAAK,EACL,mBAAmB,CACjB,OAAO,EACP;YACE,oBAAoB,EAAE,YAAY;YAClC,qBAAqB,EAAE,aAAa;YACpC,oBAAoB,EAAE,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,iBAAiB,EAAE;SAC3C,EACD,OAAO,CAAC,YAAY,CACrB,CACF,CAAC;QAEF,OAAO,GAAG,iBAAiB,CAAC;YAC1B,MAAM;YACN,OAAO,EAAE,uBAAuB,EAAE;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QACH,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,YAAY;YAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,YAAY;YAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,YAAY,EAAE,CAAC;YACjB,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,KAAK,CACX,YAAY,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,CAC3H,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,OAAO,EAAE,GAAG,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,OAA4B;IAE5B,IAAI,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,OAA4B;IAE5B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/analysis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAA2B,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG7E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,GAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,MAAM,WAAW,GAAG,EAAE,CAAC;AAIvB,SAAS,mBAAmB,CAC1B,OAA4B,EAC5B,KAAuB,EACvB,YAAqB;IAErB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnE,OAAO;QACL,GAAG,KAAK;QACR,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkB;IAC9C,OAAO,EAAE,GAAG,MAAM,EAAE,uBAAuB,EAAE,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,KAAmB;IAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAAE,SAAS;YAChC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,eAAe,EAAE,CAAC;AAC1B,CAAC;AAGD,SAAS,uBAAuB,CAC9B,YAAoB,EACpB,WAAoB,EACpB,YAAqB;IAErB,OAAO;QACL,eAAe,EAAE,WAAW,IAAI,4BAA4B,CAAC,YAAY,CAAC;QAC1E,gBAAgB,EAAE,YAAY,IAAI,6BAA6B,CAAC,YAAY,CAAC;QAC7E,iBAAiB,EAAE,YAAY;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB,EAAE,OAA4B;IAC/E,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC;IACpD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;QAC9D,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;KACzC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,SAAS;QACvD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,oBAAoB,CACzB,GAAG,CAAC,QAAQ,CACV;QACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;KACrC,EACD,mBAAmB,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/E,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAmB,EACnB,OAA4B;IAE5B,MAAM,mBAAmB,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC;IACpD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAC9B,MAAM,CAAC,QAAQ,EACf,OAAO,EACP,GAAG,EACH,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAC1E,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,SAAS;QACvD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE;QAClF,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;KACpC,CAAC,CAAC;IACH,OAAO,oBAAoB,CACzB,GAAG,CAAC,QAAQ,CACV;QACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;KACrC,EACD,mBAAmB,CACjB,OAAO,EACP;QACE,oBAAoB,EAAE,YAAY;QAClC,qBAAqB,EAAE,aAAa;QACpC,oBAAoB,EAAE,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,iBAAiB,EAAE;KAC3C,EACD,MAAM,CAAC,OAAO,CAAC,MAAM,CACtB,CACF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA2B;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,QAAgB,EAChB,GAAqB,EACrB,OAAkC,EAClC,UAA+B,EAC/B,SAAyB;IAEzB,IAAI,IAAI,GAKG,IAAI,CAAC;IAEhB,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,CAAC;IAChC,IAAI,WAA6D,CAAC;IAClE,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YAClE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;oBAAE,SAAS;gBAC7D,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxE,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,WAAW;wBAAE,WAAW,GAAG,iBAAiB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;oBACnF,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,WAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG;oBACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;oBAC7B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;oBAC7B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;oBACvC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;iBACzC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,WAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClC,WAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,GAAqB,EACrB,IAA8B;IAE9B,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;IAC1B,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,MAAM,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC;IACpC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,SAAS;QACvD,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,UAAU,IAAI,KAAK,GAAG,aAAa,KAAK,CAAC,EAAE,CAAC;YAC9C,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,QAAgB,EAChB,GAAqB,EACrB,UAA+B;IAE/B,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,CAAC;IAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;QAClE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;gBAAE,SAAS;YAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkB,EAAE,MAAc;IAC9D,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,OAAO;YACjB,eAAe,EAAE,KAAK;YACtB,gBAAgB,EAAE,MAAM;SACzB;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAAkB,EAClB,OAAuC,EACvC,MAA0B,EAC1B,MAA6B,EAC7B,WAAwB;IAExB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;IAClD,MAAM,eAAe,GAAG,uBAAuB,EAAE,CAAC;IAClD,IAAI,OAAO,GACT,WAAW;QACX,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CACpE,CAAC;QACF,OAAO,oBAAoB,CAAC,MAAM,EAAE,cAAc,SAAS,cAAc,OAAO,IAAI,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,2BAA2B,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;QAC9C,kBAAkB,CAAC,iBAAiB,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAChF,OAAO,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE;YAC1C,aAAa,EAAE,OAAO,CAAC,IAAI;YAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACnC,CAAC,CAAC;QACH,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;QACjD,OAAO,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,OAA4B;IAE5B,MAAM,YAAY,GAAG,OAAO,EAAE,QAAQ,KAAK,KAAK,CAAC;IACjD,IAAI,YAAY;QAAE,mBAAmB,EAAE,CAAC;IACxC,mBAAmB,EAAE,CAAC;IAEtB,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC;IACpD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;IAEhD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC7B,IAAI,eAAmC,CAAC;IACxC,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,eAAe,GAAG,SAAS,CAAC;IAC9B,CAAC;IACD,IAAI,YAAY,IAAI,KAAK,IAAI,eAAe,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;QACvD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG;QACpD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG;QACtD,iBAAiB,EAAE,eAAe;KACnC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,SAAkB,EAAkC,EAAE;QACzF,MAAM,IAAI,GAAuB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,OAAO;YACL,GAAG,IAAI;YACP,aAAa,EAAE,SAAS,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACzD,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SACtF,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,IAAI,GAKG,IAAI,CAAC;IAEhB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,IAAI,uBAAuB,GAAG,KAAK,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC1C,IAAI,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,uBAAuB,EAAE,CAAC;IACjD,kBAAkB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACrD,IAAI,OAAO,GAAG,iBAAiB,CAAC;QAC9B,MAAM;QACN,OAAO,EAAE,cAAc;QACvB,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,IAAI,qBAAqB,CACpC,MAAM,EACN,eAAe,IAAI,CAAC,EACpB,cAAc,EACd,OAAO,CAAC,IAAI,CACb,CAAC;IACF,IAAI,CAAC;QACL,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClC,IAAI,GAAG,MAAM,YAAY,CACvB,QAAQ,EACR,GAAG,EACH,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,EACtC,SAAS,CACV,CAAC;YACF,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;YAE1E,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YACvC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAChC,GAAG,CAAC,+BAA+B,EAAE,CAAC;YACtC,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAE9F,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACvD,OAAO,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1F,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAEpF,IAAI,kBAAkB,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1F,IAAI,mBAAmB,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACpF,IAAI,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACpF,IAAI,kBAAkB,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,kBAAkB,GAAG,KAAK,CAAC;YACpF,IAAI,mBAAmB,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,mBAAmB,GAAG,KAAK,CAAC;YACvF,IAAI,kBAAkB,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,kBAAkB,GAAG,KAAK,CAAC;YAErF,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAExE,MAAM,qBAAqB,GAAG,KAAK,IAAmB,EAAE;gBACtD,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClE,MAAM,OAAO,GAAuB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;gBACrF,IAAI,kBAAkB,IAAI,mBAAmB,IAAI,kBAAkB,EAAE,CAAC;oBACpE,OAAO,CAAC,IAAI,CACV,kBAAkB,CAAC;wBACjB,YAAY,EAAE,mBAAmB;wBACjC,WAAW,EAAE,kBAAkB;wBAC/B,WAAW,EAAE,kBAAkB;wBAC/B,YAAY,EAAE,KAAK;wBACnB,YAAY,EAAE,MAAM;wBACpB,YAAY,EAAE,SAAS;qBACxB,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,uBAAuB,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC;gBACnD,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC/B,IAAI,YAAY;oBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAElF,GAAG,CAAC,oBAAoB,EAAE,CAAC;gBAC3B,IAAI,YAAY;oBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrE,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACpC,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;wBACjC,UAAU,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC;gBACH,CAAC;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACrD,MAAM,MAAM,GAA4B;oBACtC,KAAK;oBACL,aAAa,EAAE,UAAU,EAAE,aAAa;oBACxC,UAAU,EAAE,UAAU,EAAE,UAAU;iBACnC,CAAC;gBACF,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;oBAC5B,MAAM,6BAA6B,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACN,MAAM,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAClC,IAAI,YAAY,EAAE,CAAC;oBACjB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC,CAAC;YAEF,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACtC,qBAAqB,EAAE;gBACvB,kBAAkB,CAAC,GAAG,EAAE;oBACtB,YAAY,EAAE,mBAAmB;oBACjC,WAAW,EAAE,kBAAkB;oBAC/B,WAAW,EAAE,kBAAkB;oBAC/B,YAAY;oBACZ,YAAY,EAAE,OAAO;oBACrB,YAAY,EAAE,SAAS;iBACxB,CAAC;aACH,CAAC,CAAC;YACH,MAAM,EACJ,YAAY,EAAE,mBAAmB,EACjC,aAAa,EAAE,oBAAoB,EACnC,YAAY,EAAE,mBAAmB,GAClC,GAAG,SAAS,CAAC;YACd,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEhC,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAEhF,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,CACvB,IAAK,EACL,mBAAmB,CACjB,OAAO,EACP;gBACE,oBAAoB,EAAE,mBAAmB;gBACzC,qBAAqB,EAAE,oBAAoB;gBAC3C,oBAAoB,EAAE,mBAAmB;gBACzC,aAAa,EAAE,OAAO,CAAC,iBAAiB,EAAE;aAC3C,EACD,OAAO,CAAC,YAAY,CACrB,CACF,CAAC;YAEF,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/E,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9E,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/E,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEzB,IAAI,YAAY,EAAE,CAAC;gBACjB,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,KAAK,CACX,YAAY,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,CAC3H,CAAC;YACJ,CAAC;YAED,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC/C,OAAO,EAAE,GAAG,MAAM,EAAE,uBAAuB,EAAE,cAAc,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,IAAI,YAAY;gBAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;YAC1B,uBAAuB,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC;YACnD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;gBAC9F,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;wBAAE,SAAS;oBAC7D,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG;wBACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;wBAC7B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;wBAC7B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;wBACvC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;qBACzC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;YAC1E,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,YAAY,EAAE,CAAC;gBACjB,iBAAiB,CAAC;oBAChB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,OAAO,CAAC,YAAY;oBAC7B,KAAK,EAAE,OAAO,CAAC,YAAY;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAClE,OAAO,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/F,IAAI,WAAW,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,IAAI,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,IAAI,WAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,WAAW,GAAG,KAAK,CAAC;QACtE,IAAI,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,YAAY,GAAG,KAAK,CAAC;QACzE,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,WAAW,GAAG,KAAK,CAAC;QAEvE,IAAI,YAAY;YAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhF,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE;YAC7C,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,WAAW;YACxB,YAAY;YACZ,YAAY,EAAE,OAAO;YACrB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QAC/D,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,CACvB,IAAK,EACL,mBAAmB,CACjB,OAAO,EACP;YACE,oBAAoB,EAAE,YAAY;YAClC,qBAAqB,EAAE,aAAa;YACpC,oBAAoB,EAAE,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,iBAAiB,EAAE;SAC3C,EACD,OAAO,CAAC,YAAY,CACrB,CACF,CAAC;QAEF,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,YAAY;YAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,YAAY;YAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,YAAY,EAAE,CAAC;YACjB,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,KAAK,CACX,YAAY,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,CAC3H,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,OAAO,EAAE,GAAG,MAAM,EAAE,uBAAuB,EAAE,cAAc,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC;YAAS,CAAC;QACT,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,OAA4B;IAE5B,IAAI,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,OAA4B;IAE5B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import type { ReportData } from "./types.js";
2
2
  import type { BuildReportOptions } from "./analyze-pool.js";
3
3
  import type { AnalysisBudgetTracker } from "./analysis-budget.js";
4
+ import type { LlmRunPlan } from "./llm-policy.js";
4
5
  export interface LlmEnrichmentContext {
5
6
  budget?: AnalysisBudgetTracker;
7
+ llmPlan?: LlmRunPlan;
6
8
  }
7
9
  /** finalize 이후 리포트에 LLM 보강 반영 */
8
10
  export declare function enrichReportWithLlm(report: ReportData, options?: BuildReportOptions, ctx?: LlmEnrichmentContext): Promise<ReportData>;
@@ -1,7 +1,7 @@
1
1
  import { applyLlmEnrichment } from "./llm-summarize.js";
2
2
  /** finalize 이후 리포트에 LLM 보강 반영 */
3
3
  export async function enrichReportWithLlm(report, options, ctx) {
4
- const result = await applyLlmEnrichment(report, options, report.summary.totalMessages, ctx?.budget);
4
+ const result = await applyLlmEnrichment(report, options, report.summary.totalMessages, { budget: ctx?.budget, llmPlan: ctx?.llmPlan });
5
5
  if (!result.used) {
6
6
  return {
7
7
  ...report,
@@ -1 +1 @@
1
- {"version":3,"file":"llm-apply.js","sourceRoot":"","sources":["../../src/llm-apply.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,iCAAiC;AACjC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAkB,EAClB,OAA4B,EAC5B,GAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,MAAM,EACN,OAAO,EACP,MAAM,CAAC,OAAO,CAAC,aAAa,EAC5B,GAAG,EAAE,MAAM,CACZ,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;gBACjB,eAAe,EAAE,KAAK;gBACtB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;QACrD,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,OAAO;YACjB,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,SAAS;SAC5B;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"llm-apply.js","sourceRoot":"","sources":["../../src/llm-apply.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOxD,iCAAiC;AACjC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAkB,EAClB,OAA4B,EAC5B,GAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,MAAM,EACN,OAAO,EACP,MAAM,CAAC,OAAO,CAAC,aAAa,EAC5B,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAC/C,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;gBACjB,eAAe,EAAE,KAAK;gBACtB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;QACrD,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,OAAO;YACjB,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,SAAS;SAC5B;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { MachineProfile } from "./analysis-capability.js";
2
+ import type { Qwen35Size } from "./llm-qwen35.js";
3
+ import type { LlamaGpuMode } from "./llm-llama-core.js";
4
+ /** 사용자 env 우선, 없으면 post-ML free RAM 기반 안전 기본값 */
5
+ export declare function resolveLlmGpuForInfer(profile: MachineProfile, size: Qwen35Size): LlamaGpuMode;
@@ -0,0 +1,16 @@
1
+ /** 사용자 env 우선, 없으면 post-ML free RAM 기반 안전 기본값 */
2
+ export function resolveLlmGpuForInfer(profile, size) {
3
+ const raw = process.env.KCA_LLM_GPU?.trim().toLowerCase();
4
+ if (raw === "none" || raw === "cpu" || raw === "false" || raw === "0")
5
+ return "none";
6
+ if (raw === "metal" || raw === "gpu" || raw === "1")
7
+ return "metal";
8
+ if (raw === "auto")
9
+ return "auto";
10
+ if (profile.freeMemGb < 4)
11
+ return "none";
12
+ if (profile.freeMemGb < 6 && (size === "9B" || size === "4B"))
13
+ return "none";
14
+ return "auto";
15
+ }
16
+ //# sourceMappingURL=llm-gpu-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-gpu-policy.js","sourceRoot":"","sources":["../../src/llm-gpu-policy.ts"],"names":[],"mappings":"AAIA,iDAAiD;AACjD,MAAM,UAAU,qBAAqB,CAAC,OAAuB,EAAE,IAAgB;IAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1D,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACrF,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IACpE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAElC,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LLM 추론 전용 child — SIGSEGV 시 부모 프로세스 보호.
4
+ * stdin: LlmInferRequest JSON 한 줄
5
+ * stdout: LlmInferResponse JSON 한 줄
6
+ */
7
+ import { readFileSync } from "node:fs";
8
+ import { runLlamaPromptInProcess } from "./llm-infer-internal.js";
9
+ function writeResponse(res) {
10
+ process.stdout.write(`${JSON.stringify(res)}\n`);
11
+ }
12
+ async function main() {
13
+ const raw = readFileSync(0, "utf8").trim();
14
+ if (!raw) {
15
+ writeResponse({ ok: false, error: "empty stdin", kind: "error", exitCode: 1, signal: null });
16
+ process.exit(1);
17
+ return;
18
+ }
19
+ let req;
20
+ try {
21
+ req = JSON.parse(raw);
22
+ }
23
+ catch {
24
+ writeResponse({ ok: false, error: "invalid JSON stdin", kind: "error", exitCode: 1, signal: null });
25
+ process.exit(1);
26
+ return;
27
+ }
28
+ if (req.gpu === "none")
29
+ process.env.KCA_LLM_GPU = "none";
30
+ else if (req.gpu === "metal")
31
+ process.env.KCA_LLM_GPU = "metal";
32
+ else
33
+ delete process.env.KCA_LLM_GPU;
34
+ try {
35
+ const text = await runLlamaPromptInProcess({
36
+ modelPath: req.modelPath,
37
+ prompt: req.prompt,
38
+ maxTokens: req.maxTokens,
39
+ inferTimeoutMs: req.inferTimeoutMs,
40
+ loadTimeoutMs: req.loadTimeoutMs,
41
+ });
42
+ writeResponse({ ok: true, text });
43
+ process.exit(0);
44
+ }
45
+ catch (error) {
46
+ const msg = error instanceof Error ? error.message : String(error);
47
+ const kind = msg.toLowerCase().includes("timeout") ? "timeout" : "error";
48
+ writeResponse({ ok: false, error: msg, kind, exitCode: 1, signal: null });
49
+ process.exit(1);
50
+ }
51
+ }
52
+ main();
53
+ //# sourceMappingURL=llm-infer-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-infer-cli.js","sourceRoot":"","sources":["../../src/llm-infer-cli.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,SAAS,aAAa,CAAC,GAAqB;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IACD,IAAI,GAAoB,CAAC;IACzB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,KAAK,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;SACpD,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;;QAC3D,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC;YACzC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACzE,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type RunLlamaPromptOptions } from "./llm-llama-core.js";
2
+ /** child·in-process 공용 — node-llama-cpp 직접 호출 */
3
+ export declare function runLlamaPromptInProcess(options: RunLlamaPromptOptions): Promise<string>;
@@ -0,0 +1,45 @@
1
+ import { getKcaLlmGrammar, getLlamaForKca, resolveLlmSamplingParams, } from "./llm-llama-core.js";
2
+ function raceTimeout(promise, timeoutMs, label) {
3
+ let timeoutHandle;
4
+ return Promise.race([
5
+ promise,
6
+ new Promise((_, reject) => {
7
+ timeoutHandle = setTimeout(() => reject(new Error(label)), timeoutMs);
8
+ }),
9
+ ]).finally(() => {
10
+ if (timeoutHandle !== undefined)
11
+ clearTimeout(timeoutHandle);
12
+ });
13
+ }
14
+ /** child·in-process 공용 — node-llama-cpp 직접 호출 */
15
+ export async function runLlamaPromptInProcess(options) {
16
+ const { modelPath, prompt, maxTokens = 768, inferTimeoutMs, loadTimeoutMs } = options;
17
+ const mod = "node-llama-cpp";
18
+ const { LlamaChatSession } = await import(mod);
19
+ const llama = await getLlamaForKca();
20
+ const grammar = await getKcaLlmGrammar(llama);
21
+ const sampling = resolveLlmSamplingParams();
22
+ let model;
23
+ let context;
24
+ try {
25
+ model = await raceTimeout(llama.loadModel({ modelPath }), loadTimeoutMs, "LLM load timeout");
26
+ context = await raceTimeout(model.createContext({ contextSize: 4096 }), Math.min(loadTimeoutMs, 30_000), "LLM context timeout");
27
+ const session = new LlamaChatSession({
28
+ contextSequence: context.getSequence(),
29
+ });
30
+ const reply = await raceTimeout(session.prompt(prompt, {
31
+ maxTokens,
32
+ grammar: grammar ?? undefined,
33
+ temperature: sampling.temperature,
34
+ topP: sampling.topP,
35
+ topK: sampling.topK,
36
+ budgets: { thoughtTokens: 0 },
37
+ }), inferTimeoutMs, "LLM timeout");
38
+ return typeof reply === "string" ? reply : String(reply);
39
+ }
40
+ finally {
41
+ await context?.dispose?.();
42
+ await model?.dispose?.();
43
+ }
44
+ }
45
+ //# sourceMappingURL=llm-infer-internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-infer-internal.js","sourceRoot":"","sources":["../../src/llm-infer-internal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,wBAAwB,GAKzB,MAAM,qBAAqB,CAAC;AAE7B,SAAS,WAAW,CAAI,OAAmB,EAAE,SAAiB,EAAE,KAAa;IAC3E,IAAI,aAAwD,CAAC;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,OAAO;QACP,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/B,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC,CAAC;KACH,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACd,IAAI,aAAa,KAAK,SAAS;YAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAA8B;IAC1E,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACtF,MAAM,GAAG,GAAG,gBAAgB,CAAC;IAC7B,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,KAA+C,CAChD,CAAC;IACF,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;IAE5C,IAAI,KAAiC,CAAC;IACtC,IAAI,OAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,WAAW,CACtB,KAAsB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,EAChD,aAAa,EACb,kBAAkB,CACnB,CAAC;QACF,OAAO,GAAG,MAAM,WAAW,CACzB,KAAK,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAC1C,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,EAC/B,qBAAqB,CACtB,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;YACnC,eAAe,EAAE,OAAO,CAAC,WAAW,EAAE;SACvC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACrB,SAAS;YACT,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;SAC9B,CAAC,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACF,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { getKcaLlmGrammar } from "./llm-grammar.js";
2
+ export type LlamaGpuMode = "none" | "metal" | "auto";
3
+ /** `KCA_LLM_GPU`: none | metal | auto (기본 auto) */
4
+ export declare function resolveLlamaGpuMode(): LlamaGpuMode;
5
+ /** macOS Metal tensor 프로브 실패 시 stderr·비활성 완화 */
6
+ export declare function applyGgmlMetalCompatibilityEnv(): void;
7
+ type LlamaBinding = {
8
+ loadModel: (opts: {
9
+ modelPath: string;
10
+ }) => Promise<LlamaModelLike>;
11
+ createGrammarForJsonSchema: (schema: unknown) => Promise<LlamaGrammarLike>;
12
+ };
13
+ interface LlamaGrammarLike {
14
+ parse: (json: string) => unknown;
15
+ }
16
+ interface LlamaModelLike {
17
+ createContext: (opts: {
18
+ contextSize: number;
19
+ }) => Promise<LlamaContextLike>;
20
+ dispose?: () => Promise<void>;
21
+ }
22
+ interface LlamaContextLike {
23
+ getSequence: () => unknown;
24
+ dispose?: () => Promise<void>;
25
+ }
26
+ /** node-llama-cpp `getLlama` — auto 시 Metal 실패하면 CPU 1회 재시도 */
27
+ export declare function getLlamaForKca(): Promise<LlamaBinding>;
28
+ export interface RunLlamaPromptOptions {
29
+ modelPath: string;
30
+ prompt: string;
31
+ maxTokens?: number;
32
+ /** 추론 단계 상한(ms) */
33
+ inferTimeoutMs: number;
34
+ /** GGUF 로드+컨텍스트 생성 상한(ms) */
35
+ loadTimeoutMs: number;
36
+ gpu?: LlamaGpuMode;
37
+ }
38
+ /** Qwen3.5 instruct(non-thinking) 기본 — env로 override */
39
+ export declare function resolveLlmSamplingParams(): {
40
+ temperature: number;
41
+ topP: number;
42
+ topK: number;
43
+ };
44
+ export { getKcaLlmGrammar };
45
+ export type { LlamaModelLike, LlamaContextLike, LlamaBinding };