@llm-dev-ops/agentics-cli 2.1.5 → 2.4.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 (96) hide show
  1. package/dist/pipeline/auto-chain.d.ts +190 -0
  2. package/dist/pipeline/auto-chain.d.ts.map +1 -1
  3. package/dist/pipeline/auto-chain.js +1571 -72
  4. package/dist/pipeline/auto-chain.js.map +1 -1
  5. package/dist/pipeline/phase2/phases/prompt-generator.d.ts.map +1 -1
  6. package/dist/pipeline/phase2/phases/prompt-generator.js +205 -12
  7. package/dist/pipeline/phase2/phases/prompt-generator.js.map +1 -1
  8. package/dist/pipeline/phase2/schemas.d.ts +10 -10
  9. package/dist/pipeline/phase4/phases/http-server-generator.d.ts +12 -0
  10. package/dist/pipeline/phase4/phases/http-server-generator.d.ts.map +1 -1
  11. package/dist/pipeline/phase4/phases/http-server-generator.js +92 -25
  12. package/dist/pipeline/phase4/phases/http-server-generator.js.map +1 -1
  13. package/dist/pipeline/phase4-5-pre-render/financial-model.d.ts +51 -0
  14. package/dist/pipeline/phase4-5-pre-render/financial-model.d.ts.map +1 -0
  15. package/dist/pipeline/phase4-5-pre-render/financial-model.js +118 -0
  16. package/dist/pipeline/phase4-5-pre-render/financial-model.js.map +1 -0
  17. package/dist/pipeline/phase4-5-pre-render/post-render-reconciler.d.ts +53 -0
  18. package/dist/pipeline/phase4-5-pre-render/post-render-reconciler.d.ts.map +1 -0
  19. package/dist/pipeline/phase4-5-pre-render/post-render-reconciler.js +130 -0
  20. package/dist/pipeline/phase4-5-pre-render/post-render-reconciler.js.map +1 -0
  21. package/dist/pipeline/phase4-5-pre-render/pre-render-coordinator.d.ts +47 -0
  22. package/dist/pipeline/phase4-5-pre-render/pre-render-coordinator.d.ts.map +1 -0
  23. package/dist/pipeline/phase4-5-pre-render/pre-render-coordinator.js +105 -0
  24. package/dist/pipeline/phase4-5-pre-render/pre-render-coordinator.js.map +1 -0
  25. package/dist/pipeline/phase4-5-pre-render/sector-baselines.d.ts +42 -0
  26. package/dist/pipeline/phase4-5-pre-render/sector-baselines.d.ts.map +1 -0
  27. package/dist/pipeline/phase4-5-pre-render/sector-baselines.js +117 -0
  28. package/dist/pipeline/phase4-5-pre-render/sector-baselines.js.map +1 -0
  29. package/dist/pipeline/phase5-build/phase5-build-coordinator.d.ts.map +1 -1
  30. package/dist/pipeline/phase5-build/phase5-build-coordinator.js +44 -0
  31. package/dist/pipeline/phase5-build/phase5-build-coordinator.js.map +1 -1
  32. package/dist/pipeline/phase5-build/phases/post-generation-validator.d.ts +75 -0
  33. package/dist/pipeline/phase5-build/phases/post-generation-validator.d.ts.map +1 -0
  34. package/dist/pipeline/phase5-build/phases/post-generation-validator.js +1068 -0
  35. package/dist/pipeline/phase5-build/phases/post-generation-validator.js.map +1 -0
  36. package/dist/pipeline/phase5-build/types.d.ts +1 -1
  37. package/dist/pipeline/phase5-build/types.d.ts.map +1 -1
  38. package/dist/pipeline/types.d.ts +87 -0
  39. package/dist/pipeline/types.d.ts.map +1 -1
  40. package/dist/pipeline/types.js +51 -1
  41. package/dist/pipeline/types.js.map +1 -1
  42. package/dist/synthesis/consensus-svg.d.ts +19 -0
  43. package/dist/synthesis/consensus-svg.d.ts.map +1 -0
  44. package/dist/synthesis/consensus-svg.js +95 -0
  45. package/dist/synthesis/consensus-svg.js.map +1 -0
  46. package/dist/synthesis/consensus-tiers.d.ts +99 -0
  47. package/dist/synthesis/consensus-tiers.d.ts.map +1 -0
  48. package/dist/synthesis/consensus-tiers.js +285 -0
  49. package/dist/synthesis/consensus-tiers.js.map +1 -0
  50. package/dist/synthesis/domain-labor-classifier.d.ts +101 -0
  51. package/dist/synthesis/domain-labor-classifier.d.ts.map +1 -0
  52. package/dist/synthesis/domain-labor-classifier.js +312 -0
  53. package/dist/synthesis/domain-labor-classifier.js.map +1 -0
  54. package/dist/synthesis/domain-unit-registry.d.ts +59 -0
  55. package/dist/synthesis/domain-unit-registry.d.ts.map +1 -0
  56. package/dist/synthesis/domain-unit-registry.js +320 -0
  57. package/dist/synthesis/domain-unit-registry.js.map +1 -0
  58. package/dist/synthesis/financial-claim-extractor.d.ts +72 -0
  59. package/dist/synthesis/financial-claim-extractor.d.ts.map +1 -0
  60. package/dist/synthesis/financial-claim-extractor.js +382 -0
  61. package/dist/synthesis/financial-claim-extractor.js.map +1 -0
  62. package/dist/synthesis/financial-consistency-rules.d.ts +70 -0
  63. package/dist/synthesis/financial-consistency-rules.d.ts.map +1 -0
  64. package/dist/synthesis/financial-consistency-rules.js +483 -0
  65. package/dist/synthesis/financial-consistency-rules.js.map +1 -0
  66. package/dist/synthesis/financial-consistency-runner.d.ts +73 -0
  67. package/dist/synthesis/financial-consistency-runner.d.ts.map +1 -0
  68. package/dist/synthesis/financial-consistency-runner.js +131 -0
  69. package/dist/synthesis/financial-consistency-runner.js.map +1 -0
  70. package/dist/synthesis/forbidden-spin-phrases.d.ts +32 -0
  71. package/dist/synthesis/forbidden-spin-phrases.d.ts.map +1 -0
  72. package/dist/synthesis/forbidden-spin-phrases.js +84 -0
  73. package/dist/synthesis/forbidden-spin-phrases.js.map +1 -0
  74. package/dist/synthesis/phase-gate-thresholds.d.ts +30 -0
  75. package/dist/synthesis/phase-gate-thresholds.d.ts.map +1 -0
  76. package/dist/synthesis/phase-gate-thresholds.js +34 -0
  77. package/dist/synthesis/phase-gate-thresholds.js.map +1 -0
  78. package/dist/synthesis/prompts/index.d.ts.map +1 -1
  79. package/dist/synthesis/prompts/index.js +22 -0
  80. package/dist/synthesis/prompts/index.js.map +1 -1
  81. package/dist/synthesis/roadmap-dates.d.ts +72 -0
  82. package/dist/synthesis/roadmap-dates.d.ts.map +1 -0
  83. package/dist/synthesis/roadmap-dates.js +203 -0
  84. package/dist/synthesis/roadmap-dates.js.map +1 -0
  85. package/dist/synthesis/simulation-artifact-generator.d.ts.map +1 -1
  86. package/dist/synthesis/simulation-artifact-generator.js +135 -1
  87. package/dist/synthesis/simulation-artifact-generator.js.map +1 -1
  88. package/dist/synthesis/simulation-renderers.d.ts +105 -2
  89. package/dist/synthesis/simulation-renderers.d.ts.map +1 -1
  90. package/dist/synthesis/simulation-renderers.js +1192 -123
  91. package/dist/synthesis/simulation-renderers.js.map +1 -1
  92. package/dist/synthesis/unit-economics-loader.d.ts +71 -0
  93. package/dist/synthesis/unit-economics-loader.d.ts.map +1 -0
  94. package/dist/synthesis/unit-economics-loader.js +200 -0
  95. package/dist/synthesis/unit-economics-loader.js.map +1 -0
  96. package/package.json +1 -1
@@ -0,0 +1,203 @@
1
+ /**
2
+ * ADR-PIPELINE-079: Absolute-Date Roadmap with Pilot-Start Anchor.
3
+ *
4
+ * Pure functions. Given a query, optional config, and optional manifest,
5
+ * resolve a pilot start date and project every phase / gate onto the
6
+ * calendar with absolute ISO dates.
7
+ *
8
+ * No I/O — results consumed by buildRoadmapArtifact and renderDecisionMemo.
9
+ */
10
+ /**
11
+ * ADR-PIPELINE-079 §1: Resolve the pilot start date from four sources in
12
+ * priority order:
13
+ *
14
+ * 1. Query text — explicit date or quarter reference
15
+ * 2. Config — `pilot.startDate` field
16
+ * 3. Manifest — `pilot_start_date` field
17
+ * 4. Default — today + 14 days, rounded up to next Monday
18
+ */
19
+ export function resolvePilotStart(query, config, manifest, now = new Date()) {
20
+ // 1. Query parse
21
+ const queryDate = parseDateFromQuery(query);
22
+ if (queryDate) {
23
+ return {
24
+ startDate: queryDate.date,
25
+ source: 'query',
26
+ reasoning: `Extracted "${queryDate.rawMatch}" from the query text.`,
27
+ };
28
+ }
29
+ // 2. Config
30
+ if (config?.pilot?.startDate) {
31
+ return {
32
+ startDate: config.pilot.startDate,
33
+ source: 'config',
34
+ reasoning: 'Pilot start date from AppConfig.pilot.startDate.',
35
+ };
36
+ }
37
+ // 3. Manifest
38
+ if (manifest?.pilot_start_date) {
39
+ return {
40
+ startDate: manifest.pilot_start_date,
41
+ source: 'manifest',
42
+ reasoning: 'Pilot start date from simulation manifest.pilot_start_date.',
43
+ };
44
+ }
45
+ // 4. Default — today + 14 days, rounded up to next Monday
46
+ const defaultDate = nextMonday(addDays(now, 14));
47
+ return {
48
+ startDate: toISODate(defaultDate),
49
+ source: 'default',
50
+ reasoning: `Default: today (${toISODate(now)}) + 14 days, rounded to next Monday.`,
51
+ };
52
+ }
53
+ const DATE_PATTERNS = [
54
+ {
55
+ // "starting 2026-05-01" or "kickoff 2026-06-15"
56
+ re: /(?:start(?:ing)?|kick\s*off|begin(?:ning)?)\s+(?:on\s+)?(\d{4}-\d{2}-\d{2})/i,
57
+ extract: (m) => m[1] ?? null,
58
+ },
59
+ {
60
+ // "2026-05-01 as pilot start"
61
+ re: /(\d{4}-\d{2}-\d{2})\s+(?:as\s+)?(?:the\s+)?pilot\s+start/i,
62
+ extract: (m) => m[1] ?? null,
63
+ },
64
+ {
65
+ // "beginning of Q3 2026" → first day of that quarter
66
+ re: /beginning\s+of\s+(Q[1-4])\s+(\d{4})/i,
67
+ extract: (m) => {
68
+ const q = m[1]?.toUpperCase();
69
+ const year = m[2];
70
+ if (!q || !year)
71
+ return null;
72
+ const monthMap = { Q1: '01', Q2: '04', Q3: '07', Q4: '10' };
73
+ const month = monthMap[q];
74
+ if (!month)
75
+ return null;
76
+ return `${year}-${month}-01`;
77
+ },
78
+ },
79
+ {
80
+ // "starting June 1 2026" or "kickoff May 15, 2026"
81
+ re: /(?:start(?:ing)?|kick\s*off|begin(?:ning)?)\s+(?:on\s+)?(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{1,2}),?\s+(\d{4})/i,
82
+ extract: (m) => {
83
+ const month = monthNumber(m[1]);
84
+ const day = m[2]?.padStart(2, '0');
85
+ const year = m[3];
86
+ if (!month || !day || !year)
87
+ return null;
88
+ return `${year}-${month}-${day}`;
89
+ },
90
+ },
91
+ ];
92
+ function parseDateFromQuery(query) {
93
+ for (const { re, extract } of DATE_PATTERNS) {
94
+ const match = query.match(re);
95
+ if (match) {
96
+ const date = extract(match);
97
+ if (date)
98
+ return { date, rawMatch: match[0] };
99
+ }
100
+ }
101
+ return null;
102
+ }
103
+ function monthNumber(name) {
104
+ if (!name)
105
+ return null;
106
+ const months = {
107
+ january: '01', february: '02', march: '03', april: '04',
108
+ may: '05', june: '06', july: '07', august: '08',
109
+ september: '09', october: '10', november: '11', december: '12',
110
+ };
111
+ return months[name.toLowerCase()] ?? null;
112
+ }
113
+ /**
114
+ * Parse a duration string like "2-4 weeks" or "4-8 weeks" and return the
115
+ * midpoint in weeks (rounded up). Falls back to 3 when the string can't
116
+ * be parsed.
117
+ */
118
+ export function parseDurationWeeks(duration) {
119
+ const m = duration.match(/(\d+)\s*-\s*(\d+)\s*weeks?/i);
120
+ if (m && m[1] && m[2]) {
121
+ return Math.ceil((parseInt(m[1], 10) + parseInt(m[2], 10)) / 2);
122
+ }
123
+ const single = duration.match(/(\d+)\s*weeks?/i);
124
+ if (single && single[1])
125
+ return parseInt(single[1], 10);
126
+ return 3;
127
+ }
128
+ /**
129
+ * Project absolute dates onto an ordered list of phases. Each phase starts
130
+ * the day after the previous phase ends. The first phase starts on `startDate`.
131
+ *
132
+ * Returns:
133
+ * - `phases` with `startDate`, `endDate`, `durationWeeks`
134
+ * - `gates` with one entry per inter-phase boundary carrying `gateDate`
135
+ * (= the endDate of the preceding phase)
136
+ */
137
+ export function projectDates(startDate, phases) {
138
+ const datedPhases = [];
139
+ const datedGates = [];
140
+ let cursor = parseISODate(startDate);
141
+ for (let i = 0; i < phases.length; i++) {
142
+ const phase = phases[i];
143
+ const weeks = parseDurationWeeks(phase.duration);
144
+ const phaseStart = cursor;
145
+ const phaseEnd = addDays(phaseStart, weeks * 7 - 1);
146
+ datedPhases.push({
147
+ id: phase.id,
148
+ name: phase.name,
149
+ startDate: toISODate(phaseStart),
150
+ endDate: toISODate(phaseEnd),
151
+ durationWeeks: weeks,
152
+ });
153
+ // Gate sits at the end of each phase (except the last)
154
+ if (i < phases.length - 1) {
155
+ datedGates.push({
156
+ afterPhase: phase.id,
157
+ gateDate: toISODate(phaseEnd),
158
+ });
159
+ }
160
+ // Next phase starts the day after this one ends
161
+ cursor = addDays(phaseEnd, 1);
162
+ }
163
+ return { datedPhases, datedGates };
164
+ }
165
+ // ============================================================================
166
+ // Date formatting
167
+ // ============================================================================
168
+ const DAY_NAMES = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
169
+ const MONTH_NAMES = [
170
+ 'January', 'February', 'March', 'April', 'May', 'June',
171
+ 'July', 'August', 'September', 'October', 'November', 'December',
172
+ ];
173
+ /** Format an ISO date string as "Friday, May 10, 2026". */
174
+ export function renderAbsoluteDate(iso) {
175
+ const d = parseISODate(iso);
176
+ const dayName = DAY_NAMES[d.getUTCDay()];
177
+ const monthName = MONTH_NAMES[d.getUTCMonth()];
178
+ const day = d.getUTCDate();
179
+ const year = d.getUTCFullYear();
180
+ return `${dayName}, ${monthName} ${day}, ${year}`;
181
+ }
182
+ // ============================================================================
183
+ // Date arithmetic helpers
184
+ // ============================================================================
185
+ export function addDays(date, days) {
186
+ const result = new Date(date.getTime());
187
+ result.setUTCDate(result.getUTCDate() + days);
188
+ return result;
189
+ }
190
+ export function nextMonday(date) {
191
+ const dayOfWeek = date.getUTCDay(); // 0=Sun, 1=Mon, ...
192
+ if (dayOfWeek === 1)
193
+ return date; // already Monday
194
+ const daysUntilMonday = dayOfWeek === 0 ? 1 : 8 - dayOfWeek;
195
+ return addDays(date, daysUntilMonday);
196
+ }
197
+ export function toISODate(date) {
198
+ return date.toISOString().slice(0, 10);
199
+ }
200
+ function parseISODate(iso) {
201
+ return new Date(iso + 'T00:00:00Z');
202
+ }
203
+ //# sourceMappingURL=roadmap-dates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roadmap-dates.js","sourceRoot":"","sources":["../../src/synthesis/roadmap-dates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"simulation-artifact-generator.d.ts","sourceRoot":"","sources":["../../src/synthesis/simulation-artifact-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAcL,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAkBnC,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAoHD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAyElE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CAgHf;AAMD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,uBAAuB,GAC7B,wBAAwB,CAqL1B;AAiFD,UAAU,yBAAyB;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,yBAAyB,CAoE1F"}
1
+ {"version":3,"file":"simulation-artifact-generator.d.ts","sourceRoot":"","sources":["../../src/synthesis/simulation-artifact-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAcL,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAgCnC,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAoHD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAyElE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CAgHf;AAMD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,uBAAuB,GAC7B,wBAAwB,CAoU1B;AAiFD,UAAU,yBAAyB;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,yBAAyB,CAoE1F"}
@@ -23,6 +23,12 @@ import { renderExecutiveSummary, renderDecisionMemo, buildScenarioArtifact, buil
23
23
  import { RuvectorAdapter } from '../adapters/base-adapter.js';
24
24
  import { loadEndpointConfig } from '../config/endpoints.js';
25
25
  import { createClaudeCodeRunner } from '../runtime/claude-code-runner.js';
26
+ import { runConsistencyCheck, FinancialConsistencyError, } from './financial-consistency-runner.js';
27
+ import { classifyLaborIntensity, estimateWorkforceExposure, buildLaborProfileArtifact, isLaborIntensive, } from './domain-labor-classifier.js';
28
+ import { populateConsensusSnapshot } from './consensus-tiers.js';
29
+ import { renderConsensusSvg } from './consensus-svg.js';
30
+ import { executePreRender } from '../pipeline/phase4-5-pre-render/pre-render-coordinator.js';
31
+ import { extractDomainAnalysis } from './simulation-renderers.js';
26
32
  // ============================================================================
27
33
  // Constants (match artifact-writer.ts)
28
34
  // ============================================================================
@@ -369,6 +375,50 @@ export function generateSimulationArtifacts(input) {
369
375
  filesWritten.push('roadmap.json');
370
376
  checksums['roadmap.json'] = computeChecksum(roadmapContent);
371
377
  bytesWritten += Buffer.byteLength(roadmapContent, 'utf-8');
378
+ // ADR-PIPELINE-072: Pre-Render Analysis Pass. Produces unit-economics.json
379
+ // BEFORE the exec summary / decision memo / financial analysis renderers
380
+ // run, so ADR-066's tier-1 path fires on every run and the per-employee
381
+ // heuristic fallback disappears from executive output.
382
+ //
383
+ // The preview is written to TWO paths:
384
+ // - unit-economics.json → consumed by the renderer
385
+ // - unit-economics.preview.json → preserved for the reconciler so
386
+ // the prototype can overwrite the
387
+ // first without clobbering the
388
+ // preview baseline
389
+ try {
390
+ const preRenderDomainAnalysis = extractDomainAnalysis(enrichedSimResult, input.query);
391
+ const preRender = executePreRender({
392
+ runDir,
393
+ runId,
394
+ query: input.query,
395
+ scenarioArtifact: scenario,
396
+ domainAnalysis: preRenderDomainAnalysis,
397
+ });
398
+ if (preRender.status === 'emitted') {
399
+ filesWritten.push('unit-economics.json');
400
+ checksums['unit-economics.json'] = computeChecksum(fs.readFileSync(preRender.manifestPath, 'utf-8'));
401
+ bytesWritten += fs.statSync(preRender.manifestPath).size;
402
+ // Mirror to unit-economics.preview.json for the reconciler.
403
+ const previewMirrorPath = path.join(runDir, 'unit-economics.preview.json');
404
+ const previewContent = JSON.stringify(preRender.manifest, null, 2) + '\n';
405
+ atomicWriteFile(previewMirrorPath, previewContent);
406
+ filesWritten.push('unit-economics.preview.json');
407
+ checksums['unit-economics.preview.json'] = computeChecksum(previewContent);
408
+ bytesWritten += Buffer.byteLength(previewContent, 'utf-8');
409
+ process.stderr.write(`[pipeline-072] Pre-render emitted unit-economics.json: sector=${preRender.metrics.sector} ` +
410
+ `pilot=$${preRender.metrics.annualMeasuredSavingsUsd.toLocaleString()}/yr ` +
411
+ `enterprise=$${preRender.metrics.annualExtrapolatedSavingsUsd.toLocaleString()}/yr\n`);
412
+ }
413
+ else {
414
+ process.stderr.write(`[pipeline-072] Pre-render skipped: ${preRender.reason}` +
415
+ (preRender.detail ? ` (${preRender.detail})` : '') + '\n');
416
+ }
417
+ }
418
+ catch (err) {
419
+ // Pre-render is non-fatal — renderers fall back to ADR-066 tier-3.
420
+ process.stderr.write(`[pipeline-072] Pre-render threw unexpectedly: ${err instanceof Error ? err.message : String(err)}\n`);
421
+ }
372
422
  // 4. executive-summary.md
373
423
  const execSummary = renderExecutiveSummary(input.query, enrichedResult, platformResults);
374
424
  const execPath = path.join(runDir, 'executive-summary.md');
@@ -392,12 +442,38 @@ export function generateSimulationArtifacts(input) {
392
442
  checksums['decision-memo.md'] = computeChecksum(decisionMemo);
393
443
  bytesWritten += Buffer.byteLength(decisionMemo, 'utf-8');
394
444
  // 7. Financial Analysis (ADR-PIPELINE-020: costops agents → document)
395
- const financialAnalysis = renderFinancialAnalysis(input.query, enrichedResult, platformResults);
445
+ // ADR-PIPELINE-066: pass runDir so the renderer can load unit-economics.json
446
+ const financialAnalysis = renderFinancialAnalysis(input.query, enrichedResult, platformResults, runDir);
396
447
  const financialPath = path.join(runDir, 'financial-analysis.md');
397
448
  atomicWriteFile(financialPath, financialAnalysis);
398
449
  filesWritten.push('financial-analysis.md');
399
450
  checksums['financial-analysis.md'] = computeChecksum(financialAnalysis);
400
451
  bytesWritten += Buffer.byteLength(financialAnalysis, 'utf-8');
452
+ // ADR-PIPELINE-070: persist labor-profile.json for downstream consumers
453
+ // (the ReasoningBank, future LLM rewriters, and human review). Best-
454
+ // effort — never blocks artifact emission on a classifier failure.
455
+ try {
456
+ const laborDomainAnalysis = (enrichedSimResult['domain_analysis'] ?? null);
457
+ const laborProfile = classifyLaborIntensity(laborDomainAnalysis, input.query);
458
+ let exposure = null;
459
+ if (isLaborIntensive(laborProfile)) {
460
+ exposure = estimateWorkforceExposure(laborProfile, {
461
+ employees: 0,
462
+ operationalUnits: undefined,
463
+ pilotInvestmentUsd: undefined,
464
+ });
465
+ }
466
+ const laborArtifact = buildLaborProfileArtifact(laborProfile, exposure);
467
+ const laborPath = path.join(runDir, 'labor-profile.json');
468
+ const laborContent = JSON.stringify(laborArtifact, null, 2);
469
+ atomicWriteFile(laborPath, laborContent);
470
+ filesWritten.push('labor-profile.json');
471
+ checksums['labor-profile.json'] = computeChecksum(laborContent);
472
+ bytesWritten += Buffer.byteLength(laborContent, 'utf-8');
473
+ }
474
+ catch {
475
+ // Classifier persistence is best-effort.
476
+ }
401
477
  // ADR-PIPELINE-040: LLM synthesis pass — rewrite exec docs into consulting-grade prose
402
478
  // Fire-and-forget: skeleton is already written, synthesis overwrites if successful.
403
479
  // Build a condensed agent summary for evidence (not raw JSON — just key findings)
@@ -445,6 +521,64 @@ export function generateSimulationArtifacts(input) {
445
521
  filesWritten.push('agent-fleet-report.md');
446
522
  checksums['agent-fleet-report.md'] = computeChecksum(fleetReport);
447
523
  bytesWritten += Buffer.byteLength(fleetReport, 'utf-8');
524
+ // ADR-PIPELINE-071: persist consensus snapshot + SVG for downstream
525
+ // consumers (board decks, ReasoningBank, future LLM rewriters). The
526
+ // snapshot is also passed into the consistency runner so FCR-010 can
527
+ // scan for forbidden spin phrases on contested runs.
528
+ const consensusSnapshot = populateConsensusSnapshot(enrichedResult, platformResults);
529
+ try {
530
+ const snapshotPath = path.join(runDir, 'consensus.json');
531
+ const snapshotContent = JSON.stringify({
532
+ version: '1.0',
533
+ generated_at: new Date().toISOString(),
534
+ snapshot: consensusSnapshot,
535
+ }, null, 2);
536
+ atomicWriteFile(snapshotPath, snapshotContent);
537
+ filesWritten.push('consensus.json');
538
+ checksums['consensus.json'] = computeChecksum(snapshotContent);
539
+ bytesWritten += Buffer.byteLength(snapshotContent, 'utf-8');
540
+ // SVG only when the tier is non-aligned — aligned runs don't need the
541
+ // visual since the textual story is sufficient.
542
+ if (consensusSnapshot.tier !== 'aligned') {
543
+ const svgPath = path.join(runDir, 'consensus.svg');
544
+ const svgContent = renderConsensusSvg(consensusSnapshot);
545
+ atomicWriteFile(svgPath, svgContent);
546
+ filesWritten.push('consensus.svg');
547
+ checksums['consensus.svg'] = computeChecksum(svgContent);
548
+ bytesWritten += Buffer.byteLength(svgContent, 'utf-8');
549
+ }
550
+ }
551
+ catch {
552
+ // Persistence is best-effort.
553
+ }
554
+ // ADR-PIPELINE-067: cross-document financial consistency check.
555
+ // Runs after every markdown artifact is on disk. Writes
556
+ // financial-consistency.report.json and, by default, prepends a warning
557
+ // header to any document with violations. Under AGENTICS_STRICT_FCV=true
558
+ // the runner throws ECLI-SYN-067 and blocks the pipeline.
559
+ // ADR-PIPELINE-071: pass the consensus snapshot through so FCR-010 fires.
560
+ try {
561
+ const consistencyResult = runConsistencyCheck({
562
+ runDir,
563
+ runId,
564
+ documents: [
565
+ { kind: 'executive-summary', path: execPath, content: execSummary },
566
+ { kind: 'decision-memo', path: memoPath, content: decisionMemo },
567
+ { kind: 'financial-analysis', path: financialPath, content: financialAnalysis },
568
+ ],
569
+ consensus: consensusSnapshot,
570
+ annotateDocuments: true,
571
+ });
572
+ filesWritten.push('financial-consistency.report.json');
573
+ checksums['financial-consistency.report.json'] = computeChecksum(fs.readFileSync(consistencyResult.reportPath, 'utf-8'));
574
+ }
575
+ catch (err) {
576
+ if (err instanceof FinancialConsistencyError)
577
+ throw err;
578
+ // Any other error in the runner is non-fatal — the skeleton documents are
579
+ // already on disk and we prefer not to block the pipeline on a bug in the
580
+ // consistency pass.
581
+ }
448
582
  // ADR-PIPELINE-023: Add fleet metrics to manifest
449
583
  const fleetMetrics = computeFleetMetrics(platformResults);
450
584
  manifest['fleet_metrics'] = {
@@ -1 +1 @@
1
- {"version":3,"file":"simulation-artifact-generator.js","sourceRoot":"","sources":["../../src/synthesis/simulation-artifact-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,GAEvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAC3D,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAsB9B,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAE/E,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,OAAe;IACxD,MAAM,OAAO,GAAG,GAAG,QAAQ,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,uBAAuB;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,+DAA+D;AAC/D,+EAA+E;AAE/E,mEAAmE;AACnE,MAAM,sBAAsB,GAAG;IAC7B,cAAc;IACd,kCAAkC;IAClC,yBAAyB;IACzB,SAAS;IACT,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,aAAa;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,0BAA0B,GAAsB;IACpD,SAAS;IACT,eAAe;IACf,UAAU;IACV,QAAQ;IACR,aAAa;IACb,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,eAAe;CAChB,CAAC;AAEF,4DAA4D;AAC5D,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;GAGG;AACH,SAAS,gBAAgB,CACvB,KAAc,EACd,KAAiJ,EACjJ,KAAK,GAAG,CAAC;IAET,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,CAAC,yCAAyC;IAEjE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,YAAY,EAAE,CAAC;QACrB,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC/E,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC,EAAE,CAAC;YAChE,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kEAAkE;IAClE,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,IAAI,GAAG,QAAmC,CAAC;IACjD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sEAAsE;IACtE,gEAAgE;IAChE,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mEAAmE;IACnE,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,kBAAkB,EAAE,CAAC;KACtB,CAAC;IAEF,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAElC,iEAAiE;IACjE,sEAAsE;IACtE,mEAAmE;IACnE,uCAAuC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;IAC3D,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAElC,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC;QAC/C,CAAC,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY;QAC1C,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC;QAC7C,CAAC,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW;QACxC,CAAC,CAAC,CAAC,CAAC;IAEN,sFAAsF;IACtF,8FAA8F;IAC9F,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,kBAAkB,GAAG,GAAG,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sFAAsF;IACtF,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,IAAI,iBAAiB,GAAG,GAAG,IAAI,kBAAkB,IAAI,GAAG,EAAE,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,KAAK,CAAC,kBAAkB,KAAK,KAAK,CAAC,UAAU,IAAI,kBAAkB,IAAI,GAAG,EAAE,CAAC;QAC/G,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAsB,EACtB,KAAa;IAEb,4BAA4B;IAC5B,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB,aAAa,CAAC,MAAM,oCAAoC,OAAO,CAAC,MAAM,UAAU,CACvG,CAAC;IAEF,0FAA0F;IAC1F,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;QACnC,MAAM,KAAK,GAAG,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,yEAAyE;QACzE,MAAM,UAAU,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,OAAO,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAEzD,IAAI,MAAiD,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC7F,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mDAAmD;IACnD,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9B,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEhE,qDAAqD;QACrD,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,GAAG,IAAI;YAClD,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,kBAAkB;YAClD,CAAC,CAAC,YAAY,CAAC;QAEjB,MAAM,MAAM,GAAG;YACb,aAAa,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,cAAc;YAC5D,sCAAsC,KAAK,EAAE;YAC7C,EAAE;YACF,6GAA6G;YAC7G,mHAAmH;YACnH,mGAAmG;YACnG,6DAA6D;YAC7D,EAAE;YACF,qBAAqB;YACrB,iBAAiB;SAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAA0B,MAAM,EAAE;gBAC5D,KAAK,EAAE,gBAAgB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAC1D,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;YAEH,+EAA+E;YAC/E,gFAAgF;YAChF,IAAI,gBAAgB,GAAY,MAAM,CAAC,IAAI,CAAC;YAC5C,IACE,gBAAgB;gBAChB,OAAO,gBAAgB,KAAK,QAAQ;gBACpC,SAAS,IAAK,gBAA4C,EAC1D,CAAC;gBACD,MAAM,OAAO,GAAI,gBAA4C,CAAC,SAAS,CAAC,CAAC;gBACzE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACzC,CAAC;oBAAC,MAAM,CAAC;wBACP,iDAAiD;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,QAAQ,CAAC,GAAG,CAAC,GAAG;gBACd,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,gBAAgB;aAC3B,CAAC;YACF,YAAY,EAAE,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;YAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mCAAmC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,sBAAsB,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB,YAAY,IAAI,QAAQ,CAAC,MAAM,oCAAoC,CAC1F,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,UAAU,2BAA2B,CACzC,KAA8B;IAE9B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7F,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,SAAS,CAAC,MAAM,CAAC,CAAC;IAElB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,gDAAgD;IAChD,IAAI,eAAe,GAAG,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAEvE,sFAAsF;IACtF,IAAI,CAAC;QACH,eAAe,GAAG,0BAA0B,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;QAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;IAC3G,CAAC;IAED,8CAA8C;IAC9C,2EAA2E;IAC3E,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACtE,IAAI,mBAAmB,CAAC,YAAY,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC;QAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oDAAoD,mBAAmB,CAAC,cAAc,cAAc;YACpG,UAAU,mBAAmB,CAAC,SAAS,gBAAgB;YACvD,uBAAuB,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,IAAI;YAC5F,wFAAwF,CACzF,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IAC9D,IAAI,mBAAmB,CAAC,YAAY,EAAE,CAAC;QACpC,QAAoC,CAAC,sBAAsB,CAAC,GAAG;YAC9D,mBAAmB,EAAE,mBAAmB,CAAC,cAAc;YACvD,aAAa,EAAE,mBAAmB,CAAC,SAAS;YAC5C,eAAe,EAAE,mBAAmB,CAAC,cAAc;YACnD,kBAAkB,EAAE,mBAAmB,CAAC,iBAAiB;YACzD,gBAAgB,EAAE,mBAAmB,CAAC,UAAU;SACjD,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxD,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC/C,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,SAAS,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAC9D,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAE5D,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,sBAAsB,CAC9C,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,IAAI,EAAE,EACvD,KAAK,CAAC,KAAK,CACZ,CAAC;IACF,kEAAkE;IAClE,MAAM,cAAc,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IAE5E,mBAAmB;IACnB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IACrF,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxD,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC/C,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,SAAS,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAC9D,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAE5D,kBAAkB;IAClB,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtD,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC7C,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClC,SAAS,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAC5D,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC3D,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC1C,SAAS,CAAC,sBAAsB,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACjE,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAExD,0BAA0B;IAC1B,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC3D,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC1C,SAAS,CAAC,sBAAsB,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACjE,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAExD,sBAAsB;IACtB,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACvD,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtC,SAAS,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAC9D,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEzD,sEAAsE;IACtE,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAChG,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACjE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAClD,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC3C,SAAS,CAAC,uBAAuB,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACxE,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAE9D,uFAAuF;IACvF,oFAAoF;IACpF,kFAAkF;IAClF,MAAM,YAAY,GAAG,eAAe;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;IACzE,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,CAAC,UAAU,CAAC;QACjB,2BAA2B,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,YAAY,CAAC;aACrF,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,KAAK,KAAK,WAAW;YAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,2BAA2B,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC;aAClF,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,KAAK,KAAK,YAAY;YAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,2BAA2B,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC;aAC5F,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,KAAK,KAAK,iBAAiB;YAAE,eAAe,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9F,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAkE,CAAC,CAAC,CAAC;IAEnF,sEAAsE;IACtE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAClG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACjE,eAAe,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAClD,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC5C,SAAS,CAAC,wBAAwB,CAAC,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC1E,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAE/D,gFAAgF;IAChF,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IACxG,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACvE,eAAe,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;IACxD,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC/C,SAAS,CAAC,2BAA2B,CAAC,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAChF,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAElE,6EAA6E;IAC7E,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC7D,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC3C,SAAS,CAAC,uBAAuB,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAClE,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAExD,kDAAkD;IAClD,MAAM,YAAY,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACzD,QAAoC,CAAC,eAAe,CAAC,GAAG;QACvD,aAAa,EAAE,YAAY,CAAC,YAAY;QACxC,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,mBAAmB,EAAE,YAAY,CAAC,YAAY,GAAG,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,gBAAgB,EAAE,YAAY,CAAC,eAAe;KAC/C,CAAC;IACF,uCAAuC;IACvC,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,eAAe,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;IACtD,SAAS,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAErE,mFAAmF;IACnF,wDAAwD;IACxD,+BAA+B,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAExF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAC3D,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,SAAS,aAAa,CAAC,EAAU;IAC/B,2EAA2E;IAC3E,IAAI,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,SAAS,GAAG,OAAO,SAAS,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAc;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACpB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,IAA+B,CAAC;YAC1C,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;gBACxC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;gBACtC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;gBAC3D,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aAC7B,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CACpB,KAA8B,EAC9B,eAA8B,EAC9B,KAAa;IAEb,OAAO;QACL,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,cAAc,EAAE,KAAK,CAAC,aAAa;QACnC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,cAAc,EAAE;YACd,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE;YAC/D,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;aAChE,CAAC,CAAC;SACJ;QACD,SAAS,EAAE;YACT,eAAe;YACf,eAAe;YACf,cAAc;YACd,sBAAsB;YACtB,sBAAsB;YACtB,kBAAkB;YAClB,uBAAuB;YACvB,wBAAwB;YACxB,2BAA2B;YAC3B,uBAAuB;SACxB;QACD,cAAc,EAAE,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,8CAA8C;AAC9C,EAAE;AACF,oEAAoE;AACpE,sEAAsE;AACtE,4DAA4D;AAC5D,+EAA+E;AAC/E,+EAA+E;AAE/E,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAWvC,MAAM,UAAU,wBAAwB,CAAC,OAAsB;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,IAAI,2BAA2B,CAAC;IAErG,kCAAkC;IAClC,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAClG,CAAC;IAEF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC5H,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,QAA+C,CAAC;IAC7E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC5H,CAAC;IAED,0EAA0E;IAC1E,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAwC,CAAC;IACtF,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,oBAAoB,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,GAAG,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1D,cAAc,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,oBAAoB,CAAY,GAAG,GAAG,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,mDAAmD;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAwC,CAAC;QACtF,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjH,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1H,MAAM,KAAK,GAAG,UAAU,GAAG,aAAa,CAAC;YACzC,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAwC,CAAC;IACtF,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;QACxE,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvD,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACtD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,IAA+B,CAAC;gBAC1C,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC/C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,IAA+B,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,cAAc,IAAI,SAAS;QAC3C,cAAc;QACd,SAAS;QACT,iBAAiB;QACjB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,SAAS,+BAA+B,CACtC,KAA8B,EAC9B,KAAa,EACb,YAAsB,EACtB,SAAiC,EACjC,eAA8B;IAE9B,yDAAyD;IACzD,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YACzE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC;YAC9D,MAAM,WAAW,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAEtE,8DAA8D;YAC9D,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE;oBAC3C,MAAM,EAAE,qBAAqB;oBAC7B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC;oBACpD,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE;iBAC3C,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAE3B,qEAAqE;YACrE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,YAAY,CAAC;wBACzB,EAAE,EAAE,WAAW,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;wBAC1D,WAAW,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE;wBAC/B,iBAAiB,EAAE,QAAQ;wBAC3B,aAAa,EAAE,YAAY;wBAC3B,gBAAgB,EAAE,yCAAyC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;wBACtF,WAAW;wBACX,UAAU,EAAE;4BACV,qBAAqB,EAAE,OAAO;4BAC9B,wBAAwB,EAAE,qBAAqB;yBAChD;wBACD,UAAU,EAAE,GAAG;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,+CAA+C,CAAC,CAAC;YAC7D,CAAC;YAED,qDAAqD;YACrD,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CACvE,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,QAA0C,CAAC;gBAC9D,MAAM,eAAe,GAAG,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,cAAc,CAAC;gBAC5G,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAc,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;gBAC3G,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,cAAc,CAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE7F,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,wBAAwB,CAAC;wBACrC,EAAE,EAAE,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;wBACtC,IAAI,EAAE,sBAAsB;wBAC5B,gBAAgB,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;wBAClD,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBACvD,KAAK;wBACL,YAAY,EAAE,IAAI;wBAClB,aAAa,EAAE,YAAY;wBAC3B,WAAW;wBACX,UAAU,EAAE,GAAG;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7B,CAAC;YAED,uEAAuE;YACvE,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,IAAI,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;YAC1G,MAAM,WAAW,GAAG,YAAY,EAAE,QAA0C,CAAC;YAC7E,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAClF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAE/D,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAE,MAAkC,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC;gBACtH,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,eAAe,CAAC;wBAC5B,EAAE,EAAE,eAAe,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;wBAC/E,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,OAAO;wBACjB,WAAW,EAAE,oBAAoB;wBACjC,uBAAuB,EAAE;4BACvB,MAAM,EAAE,YAAY;4BACpB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;4BAChC,YAAY,EAAE,2BAA2B;yBAC1C;wBACD,aAAa,EAAE,YAAY;wBAC3B,wBAAwB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;wBAClF,WAAW;wBACX,UAAU,EAAE,GAAG;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7B,CAAC;YAED,wEAAwE;YACxE,kEAAkE;YAClE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,eAAe;qBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;qBAC9C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;qBACZ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEtC,MAAM,OAAO,CAAC,aAAa,CAAC;oBAC1B,EAAE,EAAE,YAAY,KAAK,EAAE;oBACvB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACpC,OAAO,EAAE,cAAc;oBACvB,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE;oBACjD,cAAc,EAAE,wCAAwC,eAAe,CAAC,MAAM,gBAAgB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzH,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC/H,OAAO,EAAE;wBACP,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;wBACrG,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;wBAC1H,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;qBAC1G;oBACD,eAAe,EAAE;wBACf,kBAAkB,EAAE,EAAE;wBACtB,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAClC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CACxD;wBACD,yBAAyB,EAAE,SAAS;qBACrC;oBACD,cAAc,EAAE,GAAG,KAAK,CAAC,KAAK,cAAc,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC3G,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAE7B,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"simulation-artifact-generator.js","sourceRoot":"","sources":["../../src/synthesis/simulation-artifact-generator.ts"],"names":[],"mappings":"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"}