@mirnoorata/codexa 0.6.0 → 0.7.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.
package/dist/artifacts.js CHANGED
@@ -11,6 +11,10 @@ export async function writeArtifacts(index, outputDir) {
11
11
  fs.writeFile(path.join(outputDir, "README.md"), renderReadme(index), "utf8"),
12
12
  fs.writeFile(path.join(outputDir, "codex-contract.md"), renderCodexUseContract(index.freshness), "utf8"),
13
13
  fs.writeFile(path.join(outputDir, "repo-map.md"), renderRepoMap(index), "utf8"),
14
+ fs.writeFile(path.join(outputDir, "relational-packets.md"), renderRelationalPackets(index), "utf8"),
15
+ fs.writeFile(path.join(outputDir, "relational-packets.json"), renderRelationalPacketsJson(index), "utf8"),
16
+ fs.writeFile(path.join(outputDir, "relational-graph.json"), renderRelationalGraphJson(index), "utf8"),
17
+ fs.writeFile(path.join(outputDir, "packet-summary-prompts.ndjson"), renderPacketSummaryPrompts(index), "utf8"),
14
18
  fs.writeFile(path.join(outputDir, "risk-map.md"), renderRiskMap(index), "utf8"),
15
19
  fs.writeFile(path.join(outputDir, "placeholder-map.md"), renderPlaceholderMap(index), "utf8"),
16
20
  fs.writeFile(path.join(outputDir, "test-map.md"), renderTestMap(index), "utf8"),
@@ -54,6 +58,11 @@ dirty-diff review, and targeted test planning.
54
58
  Use \`search\` as the first-class target-discovery surface when a task is
55
59
  ambiguous; it combines raw hits, semantic retrieval when configured, Codexa
56
60
  ranking, likely tests, and gaps before \`task_brief\`.
61
+ Read \`relational-packets.md\` when exact grep misses but the task likely maps
62
+ to a process, symbol neighborhood, or module cluster.
63
+ Use \`relational-packets.json\`, \`relational-graph.json\`, and
64
+ \`packet-summary-prompts.ndjson\` for tools that need bounded structured packet
65
+ data, graph visualization input, or explicit opt-in summary jobs.
57
66
  Read \`codex-contract.md\` first when a new Codex session needs the automatic-use
58
67
  rules without loading broader maps.
59
68
 
@@ -88,6 +97,248 @@ ${rankSymbols(index)
88
97
  .join("\n")}
89
98
  `;
90
99
  }
100
+ function renderRelationalPackets(index) {
101
+ return `# Relational Packets
102
+
103
+ These generated packets summarize process traces and graph-aware module
104
+ clusters precomputed at index time. They are read-first guidance, not proof;
105
+ verify the cited source paths before editing.
106
+
107
+ Structured companion artifacts:
108
+
109
+ - \`relational-packets.json\` - bounded process and cluster packets.
110
+ - \`relational-graph.json\` - graph-view export for files, workflows, modules, and edges.
111
+ - \`packet-summary-prompts.ndjson\` - opt-in summary prompts; Codexa does not call a model during indexing.
112
+
113
+ ## Process Packets
114
+
115
+ ${index.workflows
116
+ .slice(0, 60)
117
+ .map((workflow) => `### ${workflow.title}
118
+
119
+ - Kind: ${workflow.workflowKind}
120
+ - Process: ${workflow.processKind ?? "unknown"}
121
+ - Entry score: ${workflow.entryScore ?? 0}
122
+ - Confidence: ${workflow.confidence}
123
+ - Entry: \`${formatPathLine(workflow.entryPath, workflow.range?.startLine)}\`
124
+ - Terminals: ${(workflow.terminalFiles ?? []).slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
125
+ - Modules: ${(workflow.relatedModules ?? []).slice(0, 8).join(", ") || "none"}
126
+ - Tests: ${workflow.tests.slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
127
+ - Evidence: ${evidenceCountText(workflow.evidenceCounts)}
128
+
129
+ ${workflow.summary}
130
+ `)
131
+ .join("\n") || "- none detected"}
132
+
133
+ ## Cluster Packets
134
+
135
+ ${index.modules
136
+ .slice(0, 60)
137
+ .map((module) => `### ${module.name}
138
+
139
+ - Kind: ${module.clusterKind ?? "path"}
140
+ - Rank: ${module.rank.toFixed(2)}
141
+ - Relations: ${module.relationCount ?? 0} total, ${module.crossModuleRelationCount ?? 0} cross-module
142
+ - Read first: ${(module.topFiles ?? module.files).slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
143
+ - Symbols: ${(module.topSymbols ?? []).slice(0, 8).map((symbol) => `\`${symbol}\``).join(", ") || "none"}
144
+ - Workflows: ${(module.workflows ?? []).slice(0, 6).join(", ") || "none"}
145
+ - Tests: ${(module.tests ?? []).slice(0, 6).map((file) => `\`${file}\``).join(", ") || "none"}
146
+ - Risks: ${(module.risks ?? []).slice(0, 6).join(", ") || "none"}
147
+ - Evidence: ${evidenceCountText(module.evidenceCounts)}
148
+
149
+ ${module.summary}
150
+ `)
151
+ .join("\n") || "- none detected"}
152
+ `;
153
+ }
154
+ function renderRelationalPacketsJson(index) {
155
+ const packetStore = {
156
+ schemaVersion: 1,
157
+ generatedAt: index.snapshot.indexedAt,
158
+ snapshot: {
159
+ snapshotId: index.snapshot.snapshotId,
160
+ headCommit: index.snapshot.headCommit,
161
+ freshness: index.freshness.reason
162
+ },
163
+ artifacts: {
164
+ markdown: "relational-packets.md",
165
+ graph: "relational-graph.json",
166
+ summaryPrompts: "packet-summary-prompts.ndjson"
167
+ },
168
+ processPackets: index.workflows.slice(0, 120).map((workflow) => ({
169
+ id: workflow.id,
170
+ title: workflow.title,
171
+ workflowKind: workflow.workflowKind,
172
+ processKind: workflow.processKind,
173
+ entryScore: workflow.entryScore,
174
+ confidence: workflow.confidence,
175
+ entryPath: workflow.entryPath,
176
+ entryLine: workflow.range?.startLine,
177
+ relatedFiles: workflow.relatedFiles.slice(0, 40),
178
+ terminalFiles: (workflow.terminalFiles ?? []).slice(0, 12),
179
+ relatedModules: (workflow.relatedModules ?? []).slice(0, 12),
180
+ tests: workflow.tests.slice(0, 20),
181
+ stepCounts: workflow.stepCounts,
182
+ evidenceCounts: workflow.evidenceCounts,
183
+ summary: workflow.summary,
184
+ truncation: workflow.truncation
185
+ })),
186
+ clusterPackets: index.modules.slice(0, 120).map((module) => ({
187
+ id: module.id,
188
+ name: module.name,
189
+ clusterKind: module.clusterKind ?? "path",
190
+ confidence: module.confidence,
191
+ rank: roundNumber(module.rank),
192
+ communityScore: module.communityScore,
193
+ sourceModules: (module.sourceModules ?? []).slice(0, 16),
194
+ files: module.files.slice(0, 40),
195
+ topFiles: (module.topFiles ?? module.files).slice(0, 16),
196
+ topSymbols: (module.topSymbols ?? []).slice(0, 24),
197
+ workflows: (module.workflows ?? []).slice(0, 20),
198
+ tests: (module.tests ?? []).slice(0, 20),
199
+ risks: (module.risks ?? []).slice(0, 20),
200
+ relationCount: module.relationCount ?? 0,
201
+ crossModuleRelationCount: module.crossModuleRelationCount ?? 0,
202
+ evidenceCounts: module.evidenceCounts,
203
+ evidenceProfile: module.evidenceProfile,
204
+ summarySource: module.summarySource ?? "deterministic",
205
+ summaryPrompt: module.summaryPrompt,
206
+ summary: module.summary,
207
+ truncation: module.truncation
208
+ }))
209
+ };
210
+ return `${JSON.stringify(packetStore, null, 2)}\n`;
211
+ }
212
+ function renderRelationalGraphJson(index) {
213
+ const nodes = new Map();
214
+ const edges = [];
215
+ const topFiles = new Set();
216
+ for (const file of index.files.slice(0, 180)) {
217
+ topFiles.add(file.path);
218
+ }
219
+ for (const workflow of index.workflows.slice(0, 80)) {
220
+ topFiles.add(workflow.entryPath);
221
+ for (const file of [...workflow.relatedFiles, ...(workflow.terminalFiles ?? []), ...workflow.tests].slice(0, 40)) {
222
+ topFiles.add(file);
223
+ }
224
+ }
225
+ for (const module of index.modules.slice(0, 80)) {
226
+ for (const file of (module.topFiles ?? module.files).slice(0, 16)) {
227
+ topFiles.add(file);
228
+ }
229
+ }
230
+ for (const file of index.files.filter((file) => topFiles.has(file.path)).slice(0, 240)) {
231
+ nodes.set(fileNodeId(file.path), {
232
+ id: fileNodeId(file.path),
233
+ type: "file",
234
+ label: file.path,
235
+ path: file.path,
236
+ rank: roundNumber(file.rank),
237
+ language: file.language,
238
+ test: file.test,
239
+ generated: file.generated
240
+ });
241
+ }
242
+ for (const workflow of index.workflows.slice(0, 80)) {
243
+ nodes.set(workflowNodeId(workflow.id), {
244
+ id: workflowNodeId(workflow.id),
245
+ type: "workflow",
246
+ label: workflow.title,
247
+ workflowKind: workflow.workflowKind,
248
+ processKind: workflow.processKind,
249
+ entryScore: workflow.entryScore,
250
+ confidence: workflow.confidence
251
+ });
252
+ for (const file of uniqueGraphFiles([workflow.entryPath, ...workflow.relatedFiles, ...(workflow.terminalFiles ?? []), ...workflow.tests]).slice(0, 40)) {
253
+ if (nodes.has(fileNodeId(file))) {
254
+ edges.push({ id: `workflow:${workflow.id}:${file}`, kind: "TOUCHES", source: workflowNodeId(workflow.id), target: fileNodeId(file), confidence: workflow.confidence });
255
+ }
256
+ }
257
+ }
258
+ for (const module of index.modules.slice(0, 80)) {
259
+ nodes.set(moduleNodeId(module.id), {
260
+ id: moduleNodeId(module.id),
261
+ type: "module",
262
+ label: module.name,
263
+ clusterKind: module.clusterKind ?? "path",
264
+ rank: roundNumber(module.rank),
265
+ communityScore: module.communityScore,
266
+ sourceModules: (module.sourceModules ?? []).slice(0, 12)
267
+ });
268
+ for (const file of (module.topFiles ?? module.files).slice(0, 16)) {
269
+ if (nodes.has(fileNodeId(file))) {
270
+ edges.push({ id: `module:${module.id}:${file}`, kind: "CONTAINS", source: moduleNodeId(module.id), target: fileNodeId(file), confidence: module.confidence });
271
+ }
272
+ }
273
+ }
274
+ for (const edge of index.graphEdges
275
+ .filter((edge) => edge.fromPath && edge.toPath && nodes.has(fileNodeId(edge.fromPath)) && nodes.has(fileNodeId(edge.toPath)))
276
+ .sort((a, b) => b.weight - a.weight || a.edgeKind.localeCompare(b.edgeKind) || (a.fromPath ?? "").localeCompare(b.fromPath ?? "") || (a.toPath ?? "").localeCompare(b.toPath ?? ""))
277
+ .slice(0, 600)) {
278
+ edges.push({
279
+ id: `graph:${edge.id}`,
280
+ kind: edge.edgeKind,
281
+ source: fileNodeId(edge.fromPath),
282
+ target: fileNodeId(edge.toPath),
283
+ confidence: edge.confidence,
284
+ factSource: edge.source,
285
+ weight: roundNumber(edge.weight),
286
+ reason: edge.reason
287
+ });
288
+ }
289
+ const graphEdgesReturned = edges.filter((edge) => typeof edge.id === "string" && String(edge.id).startsWith("graph:")).length;
290
+ const graph = {
291
+ schemaVersion: 1,
292
+ generatedAt: index.snapshot.indexedAt,
293
+ snapshotId: index.snapshot.snapshotId,
294
+ nodes: [...nodes.values()].sort((a, b) => String(a.id).localeCompare(String(b.id))),
295
+ edges: dedupeGraphExportEdges(edges).sort((a, b) => String(a.id).localeCompare(String(b.id))),
296
+ truncation: {
297
+ files: { total: index.files.length, returned: [...nodes.values()].filter((node) => node.type === "file").length },
298
+ workflows: { total: index.workflows.length, returned: Math.min(index.workflows.length, 80) },
299
+ modules: { total: index.modules.length, returned: Math.min(index.modules.length, 80) },
300
+ graphEdges: { total: index.graphEdges.length, returned: graphEdgesReturned }
301
+ }
302
+ };
303
+ return `${JSON.stringify(graph, null, 2)}\n`;
304
+ }
305
+ function renderPacketSummaryPrompts(index) {
306
+ const prompts = [
307
+ ...index.workflows.slice(0, 80).map((workflow) => workflowSummaryPromptRecord(workflow)),
308
+ ...index.modules.slice(0, 80).map((module) => moduleSummaryPromptRecord(module))
309
+ ];
310
+ return `${prompts.map((prompt) => JSON.stringify(prompt)).join("\n")}\n`;
311
+ }
312
+ function workflowSummaryPromptRecord(workflow) {
313
+ const inputFiles = uniqueGraphFiles([workflow.entryPath, ...workflow.relatedFiles, ...(workflow.terminalFiles ?? []), ...workflow.tests]).slice(0, 40);
314
+ return {
315
+ schemaVersion: 1,
316
+ kind: "workflow",
317
+ id: workflow.id,
318
+ title: workflow.title,
319
+ summarySource: "llm-ready",
320
+ inputFiles,
321
+ prompt: [
322
+ `Summarize workflow "${workflow.title}" for a coding agent using only cited files.`,
323
+ `Cover process boundaries, entry path, terminal files, tests, and confidence gaps.`,
324
+ `Entry: ${workflow.entryPath}.`,
325
+ `Files: ${inputFiles.slice(0, 16).join(", ") || "none"}.`
326
+ ].join(" ")
327
+ };
328
+ }
329
+ function moduleSummaryPromptRecord(module) {
330
+ const inputFiles = (module.topFiles ?? module.files).slice(0, 40);
331
+ return {
332
+ schemaVersion: 1,
333
+ kind: "module",
334
+ id: module.id,
335
+ name: module.name,
336
+ clusterKind: module.clusterKind ?? "path",
337
+ summarySource: "llm-ready",
338
+ inputFiles,
339
+ prompt: module.summaryPrompt ?? `Summarize module cluster "${module.name}" for a coding agent using only cited files. Files: ${inputFiles.join(", ") || "none"}.`
340
+ };
341
+ }
91
342
  function renderRiskMap(index) {
92
343
  const riskyFiles = topBy(index.files, (file) => file.riskScore + file.rankReasons.dirtyRisk + file.rankReasons.publicSurface, 40);
93
344
  return `# Risk Map
@@ -241,7 +492,11 @@ ${index.workflows
241
492
  - Kind: ${workflow.workflowKind}
242
493
  - Confidence: ${workflow.confidence}
243
494
  - Rank: ${workflow.rank.toFixed(2)}
495
+ - Process: ${workflow.processKind ?? "unknown"}
496
+ - Entry score: ${workflow.entryScore ?? 0}
244
497
  - Entry: \`${formatPathLine(workflow.entryPath, workflow.range?.startLine)}\`
498
+ - Terminals: ${(workflow.terminalFiles ?? []).slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
499
+ - Modules: ${(workflow.relatedModules ?? []).slice(0, 8).join(", ") || "none"}
245
500
  - Related files: ${workflow.relatedFiles.slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
246
501
  - Tests: ${workflow.tests.slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
247
502
 
@@ -326,6 +581,15 @@ function renderModule(index, module) {
326
581
 
327
582
  ${module.summary}
328
583
 
584
+ ## Packet Summary
585
+
586
+ - Kind: ${module.clusterKind ?? "path"}
587
+ - Relations: ${module.relationCount ?? 0} total, ${module.crossModuleRelationCount ?? 0} cross-module
588
+ - Top symbols: ${(module.topSymbols ?? []).slice(0, 8).map((symbol) => `\`${symbol}\``).join(", ") || "none"}
589
+ - Workflows: ${(module.workflows ?? []).slice(0, 6).join(", ") || "none"}
590
+ - Tests: ${(module.tests ?? []).slice(0, 6).map((file) => `\`${file}\``).join(", ") || "none"}
591
+ - Risks: ${(module.risks ?? []).slice(0, 6).join(", ") || "none"}
592
+
329
593
  ## Read First
330
594
 
331
595
  ${files.slice(0, 12).map((file) => `- \`${file.path}\` - rank ${file.rank.toFixed(2)} (${rankReasonText(file)})`).join("\n")}
@@ -361,6 +625,40 @@ function symbolScore(symbol, fileRanks, usageCounts) {
361
625
  const kindBoost = ["route", "class", "function", "method"].includes(symbol.kind) ? 1 : 0;
362
626
  return (fileRanks.get(symbol.path) ?? 0) + Math.log2((usageCounts.get(symbol.id) ?? 0) + 1) + (symbol.exported ? 2 : 0) + kindBoost;
363
627
  }
628
+ function evidenceCountText(counts) {
629
+ const entries = Object.entries(counts ?? {})
630
+ .filter(([, value]) => (value ?? 0) > 0)
631
+ .sort(([a], [b]) => a.localeCompare(b));
632
+ return entries.length > 0 ? entries.map(([key, value]) => `${key} ${value ?? 0}`).join(", ") : "none";
633
+ }
634
+ function roundNumber(value) {
635
+ return Number(value.toFixed(4));
636
+ }
637
+ function fileNodeId(filePath) {
638
+ return `file:${filePath}`;
639
+ }
640
+ function workflowNodeId(id) {
641
+ return `workflow:${id}`;
642
+ }
643
+ function moduleNodeId(id) {
644
+ return `module:${id}`;
645
+ }
646
+ function uniqueGraphFiles(files) {
647
+ return [...new Set(files.filter(Boolean))].sort((a, b) => a.localeCompare(b));
648
+ }
649
+ function dedupeGraphExportEdges(edges) {
650
+ const seen = new Set();
651
+ const result = [];
652
+ for (const edge of edges) {
653
+ const key = String(edge.id);
654
+ if (seen.has(key)) {
655
+ continue;
656
+ }
657
+ seen.add(key);
658
+ result.push(edge);
659
+ }
660
+ return result;
661
+ }
364
662
  function table(headers, rows) {
365
663
  const escapedHeaders = headers.map(escapeMarkdown);
366
664
  const escapedRows = rows.map((row) => row.map(escapeMarkdown));
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAkB,EAAE,SAAiB;IACxE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC5E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QACxG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC7F,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACtF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAClF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAChG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CACxH;QACD,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAClI;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAkB;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;IAC3I,OAAO;;EAEP,SAAS;;;cAGG,KAAK,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM;eAClC,KAAK,CAAC,QAAQ,CAAC,SAAS;+BACR,KAAK;mBACjB,KAAK,CAAC,YAAY,CAAC,MAAM;;;;EAI1C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;EAM/I,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIhE,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;EAYjE,2BAA2B;CAC5B,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,KAAkB;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO;;;;EAIP,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAI7G,KAAK,CACL,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,EACpD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,IAAI,IAAI;QAClB,IAAI,CAAC,QAAQ;QACb,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1B,CAAC,CACH;;;;EAIC,WAAW,CAAC,KAAK,CAAC;SACjB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,aAAa,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,UAAU,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;SACpJ,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,KAAkB;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAClI,OAAO;;aAEI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;;;;EAI/F,KAAK,CACL,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EACpC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,IAAI,IAAI;QAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACzB,cAAc,CAAC,IAAI,CAAC;KACrB,CAAC,CACH;;;;EAIC,KAAK,CAAC,KAAK;SACV,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC;SAChI,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAkB;IAC9C,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4C,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QAC5B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,cAAc,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,EAAE,SAAS;gBAC7B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,IAAI,EAAE,IAAI;oBACV,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,UAAU,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBACjE,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,YAAY,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9F,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,YAAY,GAAG,CAAC,GAAG,gBAAgB,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC9J,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjB,OAAO;;aAEI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;;;;;;;;+BAQlE,gBAAgB,CAAC,MAAM;oCAClB,UAAU,CAAC,IAAI;;;;EAIjD,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;;;;EAItH,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;;;;EAIlH,KAAK,CACL,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5G;;;;UAIS,YAAY,CAAC,MAAM,OAAO,gBAAgB,CAAC,MAAM;;EAEzD,YAAY,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,YAAY;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;aAChK,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,iBAAiB;CACpB,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,KAAkB;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO;;;;EAIP,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIpG,KAAK,CAAC,SAAS;SACd,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC;SAC9H,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAkB;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC7D,OAAO;;uBAEc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;yBAClB,KAAK;;;;;;;;;;;;;;;;;;;;;;CAsB7B,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB;IACzC,OAAO;;;;;;;EAOP,KAAK,CAAC,SAAS;SACd,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CACF,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,KAAK;;UAE5B,QAAQ,CAAC,YAAY;gBACf,QAAQ,CAAC,UAAU;UACzB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aACrB,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;mBACvD,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;WAC3F,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;EAErF,QAAQ,CAAC,OAAO;;EAEhB,QAAQ,CAAC,KAAK;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC;SACpI,IAAI,CAAC,IAAI,CAAC;CACZ,CACE;SACA,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAkB;IAC7C,OAAO;;;;;;;;;;;;;;;EAeP,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,gBAAgB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAC1K,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAkB,EAAE,MAAyB;IACzE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK;SAC7B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;SACrE,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvI,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9I,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,OAAO,eAAe,MAAM,CAAC,IAAI;;EAEjC,MAAM,CAAC,OAAO;;;;eAID,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS;gBAChC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;;;;;;EAO5F,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB;;;;EAIxL,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB;;;;EAI7H,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iCAAiC;;;;;;;;;CAS3M,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,KAAkB,EAAE,MAAyB;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;SACvB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;SACrE,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClG,OAAO,aAAa,MAAM,CAAC,IAAI;;EAE/B,MAAM,CAAC,OAAO;;;;EAId,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAI1H,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,aAAa,OAAO,MAAM,CAAC,IAAI,UAAU,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACpJ,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,OAAO,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB,EAAE,SAA8B,EAAE,WAAgC;IACvG,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AACtI,CAAC;AAED,SAAS,KAAK,CAAC,OAAiB,EAAE,IAAgB;IAChD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,OAAO;QACL,KAAK,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;QACnC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;QAC7C,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAkB,EAAE,SAAiB;IACxE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC5E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QACxG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACnG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,EAAE,2BAA2B,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACzG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACrG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,+BAA+B,CAAC,EAAE,0BAA0B,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC9G,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC7F,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACtF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAClF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAChG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CACxH;QACD,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAClI;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAkB;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;IAC3I,OAAO;;EAEP,SAAS;;;cAGG,KAAK,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM;eAClC,KAAK,CAAC,QAAQ,CAAC,SAAS;+BACR,KAAK;mBACjB,KAAK,CAAC,YAAY,CAAC,MAAM;;;;EAI1C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;EAM/I,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIhE,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;EAiBjE,2BAA2B;CAC5B,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,KAAkB;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO;;;;EAIP,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAI7G,KAAK,CACL,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,EACpD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,IAAI,IAAI;QAClB,IAAI,CAAC,QAAQ;QACb,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1B,CAAC,CACH;;;;EAIC,WAAW,CAAC,KAAK,CAAC;SACjB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,aAAa,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,UAAU,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;SACpJ,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAkB;IACjD,OAAO;;;;;;;;;;;;;;EAcP,KAAK,CAAC,SAAS;SACd,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CACF,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,KAAK;;UAE7B,QAAQ,CAAC,YAAY;aAClB,QAAQ,CAAC,WAAW,IAAI,SAAS;iBAC7B,QAAQ,CAAC,UAAU,IAAI,CAAC;gBACzB,QAAQ,CAAC,UAAU;aACtB,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;eAC3D,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;aAC9F,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;WAClE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;cACzE,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC;;EAEtD,QAAQ,CAAC,OAAO;CACjB,CACE;SACA,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB;;;;EAIhC,KAAK,CAAC,OAAO;SACZ,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CACF,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI;;UAExB,MAAM,CAAC,WAAW,IAAI,MAAM;UAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;eACjB,MAAM,CAAC,aAAa,IAAI,CAAC,WAAW,MAAM,CAAC,wBAAwB,IAAI,CAAC;gBACvE,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;aAClG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;eACzF,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;WAC7D,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;WAClF,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;cAClD,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC;;EAEpD,MAAM,CAAC,OAAO;CACf,CACE;SACA,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB;CACjC,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAkB;IACrD,MAAM,WAAW,GAAG;QAClB,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;QACrC,QAAQ,EAAE;YACR,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;YACrC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;YACrC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;SAClC;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,uBAAuB;YACjC,KAAK,EAAE,uBAAuB;YAC9B,cAAc,EAAE,+BAA+B;SAChD;QACD,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/D,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS;YACpC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAChD,aAAa,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1D,cAAc,EAAE,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5D,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAClC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;QACH,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC3D,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM;YACzC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,aAAa,EAAE,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACxD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACxD,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAClD,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAChD,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACxC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACxC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC;YACxC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,IAAI,CAAC;YAC9D,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,eAAe;YACtD,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;KACJ,CAAC;IACF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAkB;IACnD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;IACzD,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACpD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACjH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAClE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACvF,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC/B,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YACrC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACvJ,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,QAAQ,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACzK,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACjC,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM,CAAC,IAAI;YAClB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM;YACzC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,aAAa,EAAE,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACzD,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAClE,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAChK,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU;SAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SAC5H,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;SACnL,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,IAAI,CAAC,EAAE,EAAE;YACtB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,QAAS,CAAC;YAClC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAO,CAAC;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9H,MAAM,KAAK,GAAG;QACZ,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;QACrC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;QACrC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,EAAE;YACjH,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC5F,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtF,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SAC7E;KACF,CAAC;IACF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAkB;IACpD,MAAM,OAAO,GAAG;QACd,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QACxF,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;KACjF,CAAC;IACF,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,SAAS,2BAA2B,CAAC,QAA2B;IAC9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvJ,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,aAAa,EAAE,WAAW;QAC1B,UAAU;QACV,MAAM,EAAE;YACN,uBAAuB,QAAQ,CAAC,KAAK,8CAA8C;YACnF,mFAAmF;YACnF,UAAU,QAAQ,CAAC,SAAS,GAAG;YAC/B,UAAU,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG;SAC1D,CAAC,IAAI,CAAC,GAAG,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAyB;IAC1D,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM;QACzC,aAAa,EAAE,WAAW;QAC1B,UAAU;QACV,MAAM,EAAE,MAAM,CAAC,aAAa,IAAI,6BAA6B,MAAM,CAAC,IAAI,uDAAuD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG;KAClK,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAkB;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAClI,OAAO;;aAEI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;;;;EAI/F,KAAK,CACL,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EACpC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,IAAI,IAAI;QAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACzB,cAAc,CAAC,IAAI,CAAC;KACrB,CAAC,CACH;;;;EAIC,KAAK,CAAC,KAAK;SACV,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC;SAChI,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAkB;IAC9C,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4C,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QAC5B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,cAAc,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,EAAE,SAAS;gBAC7B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,IAAI,EAAE,IAAI;oBACV,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,UAAU,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBACjE,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,YAAY,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9F,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,YAAY,GAAG,CAAC,GAAG,gBAAgB,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC9J,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjB,OAAO;;aAEI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;;;;;;;;+BAQlE,gBAAgB,CAAC,MAAM;oCAClB,UAAU,CAAC,IAAI;;;;EAIjD,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;;;;EAItH,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;;;;EAIlH,KAAK,CACL,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5G;;;;UAIS,YAAY,CAAC,MAAM,OAAO,gBAAgB,CAAC,MAAM;;EAEzD,YAAY,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,YAAY;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;aAChK,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,iBAAiB;CACpB,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,KAAkB;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO;;;;EAIP,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIpG,KAAK,CAAC,SAAS;SACd,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC;SAC9H,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAkB;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC7D,OAAO;;uBAEc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;yBAClB,KAAK;;;;;;;;;;;;;;;;;;;;;;CAsB7B,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB;IACzC,OAAO;;;;;;;EAOP,KAAK,CAAC,SAAS;SACd,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CACF,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,KAAK;;UAE5B,QAAQ,CAAC,YAAY;gBACf,QAAQ,CAAC,UAAU;UACzB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aACrB,QAAQ,CAAC,WAAW,IAAI,SAAS;iBAC7B,QAAQ,CAAC,UAAU,IAAI,CAAC;aAC5B,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;eAC3D,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;aAC9F,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;mBAC1D,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;WAC3F,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;EAErF,QAAQ,CAAC,OAAO;;EAEhB,QAAQ,CAAC,KAAK;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC;SACpI,IAAI,CAAC,IAAI,CAAC;CACZ,CACE;SACA,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAkB;IAC7C,OAAO;;;;;;;;;;;;;;;EAeP,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,gBAAgB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAC1K,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAkB,EAAE,MAAyB;IACzE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK;SAC7B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;SACrE,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvI,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9I,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,OAAO,eAAe,MAAM,CAAC,IAAI;;EAEjC,MAAM,CAAC,OAAO;;;;eAID,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS;gBAChC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;;;;;;EAO5F,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB;;;;EAIxL,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB;;;;EAI7H,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iCAAiC;;;;;;;;;CAS3M,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,KAAkB,EAAE,MAAyB;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;SACvB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;SACrE,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClG,OAAO,aAAa,MAAM,CAAC,IAAI;;EAE/B,MAAM,CAAC,OAAO;;;;UAIN,MAAM,CAAC,WAAW,IAAI,MAAM;eACvB,MAAM,CAAC,aAAa,IAAI,CAAC,WAAW,MAAM,CAAC,wBAAwB,IAAI,CAAC;iBACtE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;eAC7F,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;WAC7D,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;WAClF,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;;;EAI9D,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAI1H,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,aAAa,OAAO,MAAM,CAAC,IAAI,UAAU,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACpJ,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,OAAO,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB,EAAE,SAA8B,EAAE,WAAgC;IACvG,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AACtI,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAmD;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACxG,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,QAAQ,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,OAAO,YAAY,EAAE,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,UAAU,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAqC;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAmC,EAAE,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,OAAiB,EAAE,IAAgB;IAChD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,OAAO;QACL,KAAK,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;QACnC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;QAC7C,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;AAClF,CAAC"}
package/dist/graph.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { moduleNameForPath } from "./language.js";
1
2
  import { rankLog2, stableId, uniqueSorted } from "./util.js";
2
3
  export function buildGraphEdges(index) {
3
4
  const filesByPath = new Map(index.files.map((file) => [file.path, file]));
@@ -600,6 +601,13 @@ function uiFlowExpansionSteps(index, uiPath) {
600
601
  }));
601
602
  }
602
603
  function workflowFact(index, input) {
604
+ const entrySymbol = input.entrySymbolId ? index.symbols.find((symbol) => symbol.id === input.entrySymbolId) : undefined;
605
+ const relatedModules = uniqueSorted(input.relatedFiles.filter((filePath) => !isTestLikePath(filePath)).map((filePath) => moduleNameForPath(filePath)));
606
+ const terminalFiles = terminalWorkflowFiles(input.steps, input.entryPath);
607
+ const stepCounts = countWorkflowSteps(input.steps);
608
+ const evidenceCounts = countStepEvidence(input.steps);
609
+ const entryScore = workflowEntryScore(input.workflowKind, input.entryPath, entrySymbol, input.steps);
610
+ const processKind = relatedModules.length > 1 ? "cross-module-process" : input.steps.length > 1 ? "intra-module-process" : "entry-process";
603
611
  return {
604
612
  id: stableId("workflow", input.workflowKind, input.entryPath, input.entrySymbolId, input.title),
605
613
  type: "WorkflowTrace",
@@ -615,10 +623,68 @@ function workflowFact(index, input) {
615
623
  relatedFiles: input.relatedFiles,
616
624
  tests: input.tests,
617
625
  steps: input.steps,
618
- summary: input.summary,
619
- rank: input.rank
626
+ summary: enrichWorkflowSummary(input.summary, {
627
+ processKind,
628
+ entryScore
629
+ }),
630
+ rank: input.rank,
631
+ processKind,
632
+ entryScore,
633
+ terminalFiles,
634
+ relatedModules,
635
+ stepCounts,
636
+ evidenceCounts,
637
+ truncation: {
638
+ relatedFiles: { total: input.relatedFiles.length, returned: Math.min(input.relatedFiles.length, 40) },
639
+ tests: { total: input.tests.length, returned: Math.min(input.tests.length, 20) },
640
+ steps: { total: input.steps.length, returned: Math.min(input.steps.length, 16) }
641
+ }
620
642
  };
621
643
  }
644
+ function terminalWorkflowFiles(steps, entryPath) {
645
+ const sourceFiles = new Set(steps.map((step) => step.path));
646
+ const targetFiles = uniqueSorted(steps
647
+ .filter((step) => step.kind !== "test" && step.kind !== "risk")
648
+ .flatMap((step) => [step.targetPath, step.path])
649
+ .filter((filePath) => typeof filePath === "string" && !isTestLikePath(filePath)));
650
+ const terminalTargets = targetFiles.filter((filePath) => filePath !== entryPath && !sourceFiles.has(filePath));
651
+ const terminal = terminalTargets.length > 0 ? terminalTargets : targetFiles.filter((filePath) => filePath !== entryPath);
652
+ return terminal.slice(0, 8);
653
+ }
654
+ function countWorkflowSteps(steps) {
655
+ const counts = {};
656
+ for (const step of steps) {
657
+ counts[step.kind] = (counts[step.kind] ?? 0) + 1;
658
+ }
659
+ return counts;
660
+ }
661
+ function countStepEvidence(steps) {
662
+ const counts = {};
663
+ for (const step of steps) {
664
+ counts[step.confidence] = (counts[step.confidence] ?? 0) + 1;
665
+ }
666
+ return counts;
667
+ }
668
+ function workflowEntryScore(kind, entryPath, entrySymbol, steps) {
669
+ let score = kind === "route" ? 52 : kind === "job" ? 48 : kind === "manifest" ? 42 : kind === "test" ? 30 : 24;
670
+ if (entrySymbol?.exported) {
671
+ score += 10;
672
+ }
673
+ if (entrySymbol?.decorators.some((decorator) => /(route|get|post|put|patch|delete|task|job|worker|handler)/i.test(decorator))) {
674
+ score += 12;
675
+ }
676
+ if (entrySymbol && /\b(route|handler|controller|main|run|start|worker|job|execute|process)\b/i.test(entrySymbol.qualifiedName)) {
677
+ score += 8;
678
+ }
679
+ if (/(^|\/)(api|routes?|controllers?|server|app|jobs?|workers?|packages?|manifests?)(\/|\.|$)/i.test(entryPath)) {
680
+ score += 8;
681
+ }
682
+ score += Math.min(10, Math.max(0, steps.length - 1));
683
+ return Math.min(100, score);
684
+ }
685
+ function enrichWorkflowSummary(summary, input) {
686
+ return `${summary} Process packet: ${input.processKind}; entry score ${input.entryScore}.`;
687
+ }
622
688
  function workflowConfidence(steps) {
623
689
  if (steps.some((step) => step.confidence === "authoritative")) {
624
690
  return steps.some((step) => step.confidence === "heuristic") ? "derived" : "authoritative";