@decaf-ts/utils 0.11.12 → 0.11.14
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/utils.cjs +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/tests/TestReporter.d.ts +1 -1
- package/lib/esm/tests/TestReporter.js +3 -4
- package/lib/esm/tests/TestReporter.js.map +1 -1
- package/lib/esm/tests/jestPerformanceRunner.d.ts +20 -3
- package/lib/esm/tests/jestPerformanceRunner.js +220 -2
- package/lib/esm/tests/jestPerformanceRunner.js.map +1 -1
- package/lib/esm/utils/performanceRunner.d.ts +2 -0
- package/lib/esm/utils/performanceRunner.js +26 -15
- package/lib/esm/utils/performanceRunner.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/tests/TestReporter.cjs +3 -4
- package/lib/tests/TestReporter.d.ts +1 -1
- package/lib/tests/TestReporter.js.map +1 -1
- package/lib/tests/jestPerformanceRunner.cjs +223 -2
- package/lib/tests/jestPerformanceRunner.d.ts +20 -3
- package/lib/tests/jestPerformanceRunner.js.map +1 -1
- package/lib/utils/performanceRunner.cjs +26 -15
- package/lib/utils/performanceRunner.d.ts +2 -0
- package/lib/utils/performanceRunner.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,17 +1,234 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.JestPerformanceRunner = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const promises_1 = require("fs/promises");
|
|
4
9
|
const performanceRunner_1 = require("./../utils/performanceRunner.cjs");
|
|
10
|
+
const TestReporter_1 = require("./TestReporter.cjs");
|
|
5
11
|
class JestPerformanceRunner extends performanceRunner_1.PerformanceRunner {
|
|
6
12
|
constructor(scenario) {
|
|
7
13
|
super(scenario);
|
|
8
14
|
this.scenario = scenario;
|
|
15
|
+
const reporterName = scenario.name
|
|
16
|
+
.replace(/[^a-zA-Z0-9_-]/g, "-")
|
|
17
|
+
.toLowerCase();
|
|
18
|
+
this.reporter = new TestReporter_1.TestReporter(reporterName, path_1.default.join(process.cwd(), "workdocs", "reports", "evidences"));
|
|
9
19
|
}
|
|
20
|
+
/** Disable the base-class text-table canvas; we render a proper bar chart instead. */
|
|
21
|
+
shouldRenderCanvas() {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
/** Logs per-phase table to the jest-html-reporters attachment. */
|
|
25
|
+
async reportPhaseToReporter(result) {
|
|
26
|
+
try {
|
|
27
|
+
const tableDef = this.buildTableDef([result]);
|
|
28
|
+
await this.reporter.reportTable(`phase: ${result.phase.name}`, tableDef);
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
console.error("[JestPerformanceRunner] Failed to report phase table:", e);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* After all phases finish: console-log the combined summary (base class),
|
|
36
|
+
* then report the summary table and a bar chart with the reporter.
|
|
37
|
+
*/
|
|
38
|
+
async logSummary(results) {
|
|
39
|
+
// Console table (base class), canvas skipped via shouldRenderCanvas()
|
|
40
|
+
await super.logSummary(results);
|
|
41
|
+
if (!results.length)
|
|
42
|
+
return;
|
|
43
|
+
// Report markdown table via jest-html-reporters
|
|
44
|
+
try {
|
|
45
|
+
const tableDef = this.buildTableDef(results);
|
|
46
|
+
await this.reporter.reportTable(`summary: ${this.scenario.name}`, tableDef);
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
console.error("[JestPerformanceRunner] Failed to report summary table:", e);
|
|
50
|
+
}
|
|
51
|
+
// Render and report bar chart; also write PNG to canvasOutputPath if set
|
|
52
|
+
try {
|
|
53
|
+
const chartConfig = this.buildPhaseChart(results);
|
|
54
|
+
const buf = await this.reporter.reportGraph(`chart: ${this.scenario.name}`, chartConfig, 1200, 600);
|
|
55
|
+
if (this.scenario.canvasOutputPath) {
|
|
56
|
+
await (0, promises_1.mkdir)(path_1.default.dirname(this.scenario.canvasOutputPath), {
|
|
57
|
+
recursive: true,
|
|
58
|
+
});
|
|
59
|
+
await (0, promises_1.writeFile)(this.scenario.canvasOutputPath, buf);
|
|
60
|
+
console.log(`[PerfRunner] Stored performance chart at ${this.scenario.canvasOutputPath}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
console.error("[JestPerformanceRunner] Failed to render chart:", e);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// ── Helpers ────────────────────────────────────────────────────────────────
|
|
68
|
+
buildTableDef(results) {
|
|
69
|
+
const headers = [
|
|
70
|
+
"Phase",
|
|
71
|
+
"Mode",
|
|
72
|
+
"Iterations",
|
|
73
|
+
"Wall ms",
|
|
74
|
+
"RPS",
|
|
75
|
+
"Avg ms",
|
|
76
|
+
"Min ms",
|
|
77
|
+
"Max ms",
|
|
78
|
+
"Success",
|
|
79
|
+
"Failures",
|
|
80
|
+
];
|
|
81
|
+
const rows = results.map((r) => {
|
|
82
|
+
const rps = (r.config.iterations / (r.wallClockMs / 1000)).toFixed(1);
|
|
83
|
+
return {
|
|
84
|
+
Phase: r.phase.name,
|
|
85
|
+
Mode: r.config.mode,
|
|
86
|
+
Iterations: r.config.iterations.toString(),
|
|
87
|
+
"Wall ms": r.wallClockMs.toFixed(0),
|
|
88
|
+
RPS: rps,
|
|
89
|
+
"Avg ms": r.aggregated.averageMs.toFixed(2),
|
|
90
|
+
"Min ms": r.aggregated.minMs.toFixed(2),
|
|
91
|
+
"Max ms": r.aggregated.maxMs.toFixed(2),
|
|
92
|
+
Success: r.aggregated.successCount.toString(),
|
|
93
|
+
Failures: r.aggregated.failureCount.toString(),
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
return { headers, rows };
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Builds a Chart.js config: grouped bar columns (Wall/Avg/Min/Max ms)
|
|
100
|
+
* with a red line overlay for failure counts on a secondary right axis.
|
|
101
|
+
*/
|
|
102
|
+
buildPhaseChart(results) {
|
|
103
|
+
const labels = results.map((r) => r.phase.name);
|
|
104
|
+
const hasFailures = results.some((r) => r.aggregated.failureCount > 0);
|
|
105
|
+
const datasets = [
|
|
106
|
+
{
|
|
107
|
+
type: "bar",
|
|
108
|
+
label: "Wall ms",
|
|
109
|
+
data: results.map((r) => Math.round(r.wallClockMs)),
|
|
110
|
+
backgroundColor: "rgba(59, 130, 246, 0.75)",
|
|
111
|
+
borderColor: "rgba(59, 130, 246, 1)",
|
|
112
|
+
borderWidth: 1,
|
|
113
|
+
yAxisID: "y",
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: "bar",
|
|
117
|
+
label: "Avg ms",
|
|
118
|
+
data: results.map((r) => Math.round(r.aggregated.averageMs)),
|
|
119
|
+
backgroundColor: "rgba(16, 185, 129, 0.75)",
|
|
120
|
+
borderColor: "rgba(16, 185, 129, 1)",
|
|
121
|
+
borderWidth: 1,
|
|
122
|
+
yAxisID: "y",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: "bar",
|
|
126
|
+
label: "Min ms",
|
|
127
|
+
data: results.map((r) => Math.round(r.aggregated.minMs)),
|
|
128
|
+
backgroundColor: "rgba(245, 158, 11, 0.75)",
|
|
129
|
+
borderColor: "rgba(245, 158, 11, 1)",
|
|
130
|
+
borderWidth: 1,
|
|
131
|
+
yAxisID: "y",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: "bar",
|
|
135
|
+
label: "Max ms",
|
|
136
|
+
data: results.map((r) => Math.round(r.aggregated.maxMs)),
|
|
137
|
+
backgroundColor: "rgba(139, 92, 246, 0.75)",
|
|
138
|
+
borderColor: "rgba(139, 92, 246, 1)",
|
|
139
|
+
borderWidth: 1,
|
|
140
|
+
yAxisID: "y",
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: "line",
|
|
144
|
+
label: "Failures",
|
|
145
|
+
data: results.map((r) => r.aggregated.failureCount),
|
|
146
|
+
borderColor: "rgba(239, 68, 68, 1)",
|
|
147
|
+
backgroundColor: "rgba(239, 68, 68, 0.15)",
|
|
148
|
+
borderWidth: 2.5,
|
|
149
|
+
pointRadius: 6,
|
|
150
|
+
pointBackgroundColor: "rgba(239, 68, 68, 1)",
|
|
151
|
+
pointBorderColor: "white",
|
|
152
|
+
pointBorderWidth: 1.5,
|
|
153
|
+
fill: false,
|
|
154
|
+
tension: 0.3,
|
|
155
|
+
yAxisID: "yRight",
|
|
156
|
+
},
|
|
157
|
+
];
|
|
158
|
+
return {
|
|
159
|
+
type: "bar",
|
|
160
|
+
data: { labels, datasets },
|
|
161
|
+
options: {
|
|
162
|
+
responsive: false,
|
|
163
|
+
animation: false,
|
|
164
|
+
plugins: {
|
|
165
|
+
title: {
|
|
166
|
+
display: true,
|
|
167
|
+
text: `Performance: ${this.scenario.name}`,
|
|
168
|
+
font: { size: 16, weight: "bold" },
|
|
169
|
+
padding: { top: 10, bottom: 16 },
|
|
170
|
+
},
|
|
171
|
+
legend: {
|
|
172
|
+
display: true,
|
|
173
|
+
position: "top",
|
|
174
|
+
labels: { font: { size: 12 }, padding: 16 },
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
scales: {
|
|
178
|
+
x: {
|
|
179
|
+
title: {
|
|
180
|
+
display: true,
|
|
181
|
+
text: "Phase",
|
|
182
|
+
font: { size: 12 },
|
|
183
|
+
},
|
|
184
|
+
ticks: { maxRotation: 30, font: { size: 11 } },
|
|
185
|
+
},
|
|
186
|
+
y: {
|
|
187
|
+
type: "linear",
|
|
188
|
+
position: "left",
|
|
189
|
+
beginAtZero: true,
|
|
190
|
+
title: {
|
|
191
|
+
display: true,
|
|
192
|
+
text: "Time (ms)",
|
|
193
|
+
font: { size: 12 },
|
|
194
|
+
},
|
|
195
|
+
ticks: {
|
|
196
|
+
callback: function (value) {
|
|
197
|
+
return value >= 1000
|
|
198
|
+
? `${(value / 1000).toFixed(1)}s`
|
|
199
|
+
: `${value}ms`;
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
yRight: {
|
|
204
|
+
type: "linear",
|
|
205
|
+
position: "right",
|
|
206
|
+
display: hasFailures,
|
|
207
|
+
beginAtZero: true,
|
|
208
|
+
title: {
|
|
209
|
+
display: hasFailures,
|
|
210
|
+
text: "Failures",
|
|
211
|
+
color: "rgba(239, 68, 68, 1)",
|
|
212
|
+
font: { size: 12 },
|
|
213
|
+
},
|
|
214
|
+
ticks: {
|
|
215
|
+
color: "rgba(239, 68, 68, 1)",
|
|
216
|
+
font: { size: 11 },
|
|
217
|
+
},
|
|
218
|
+
grid: { drawOnChartArea: false },
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
layout: { padding: { left: 16, right: 16, top: 8, bottom: 16 } },
|
|
222
|
+
},
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
// ── Jest describe/it wiring ────────────────────────────────────────────────
|
|
10
226
|
/**
|
|
11
227
|
* Registers Jest describe/it blocks for the scenario.
|
|
12
228
|
* Creates one `it` per phase — its never fail, errors are only recorded
|
|
13
|
-
* in aggregated results. Logs a per-phase table
|
|
14
|
-
*
|
|
229
|
+
* in aggregated results. Logs a per-phase console table and reports it
|
|
230
|
+
* via TestReporter after each `it`; reports combined table + bar chart
|
|
231
|
+
* in `afterAll`.
|
|
15
232
|
*
|
|
16
233
|
* @param hooks Optional lifecycle hooks:
|
|
17
234
|
* - `beforeAll`: runs after `scenario.initialize` but before any `it`.
|
|
@@ -35,7 +252,10 @@ class JestPerformanceRunner extends performanceRunner_1.PerformanceRunner {
|
|
|
35
252
|
const context = this.mergeContext(phase);
|
|
36
253
|
const result = await this.runPhase(phase, context);
|
|
37
254
|
results.push(result);
|
|
255
|
+
// Console table (sync)
|
|
38
256
|
this.logPhaseTable(result);
|
|
257
|
+
// Reporter table (async, await so it completes before it ends)
|
|
258
|
+
await this.reportPhaseToReporter(result);
|
|
39
259
|
}
|
|
40
260
|
catch (e) {
|
|
41
261
|
console.error(`[JestPerformanceRunner] Phase "${phase.name}" encountered an error:`, e);
|
|
@@ -44,6 +264,7 @@ class JestPerformanceRunner extends performanceRunner_1.PerformanceRunner {
|
|
|
44
264
|
});
|
|
45
265
|
});
|
|
46
266
|
afterAll(async () => {
|
|
267
|
+
// Console summary + reporter table + bar chart PNG
|
|
47
268
|
await this.logSummary(results);
|
|
48
269
|
});
|
|
49
270
|
});
|
|
@@ -1,13 +1,30 @@
|
|
|
1
|
-
import { PerformanceScenario, PerformanceRunner } from "../utils/performanceRunner";
|
|
1
|
+
import { PerformanceScenario, PerformanceRunner, PhaseResult } from "../utils/performanceRunner";
|
|
2
2
|
export type JestPerformanceScenario<TContext = Record<string, unknown>> = PerformanceScenario<TContext>;
|
|
3
3
|
export declare class JestPerformanceRunner<TContext = Record<string, unknown>> extends PerformanceRunner<TContext> {
|
|
4
4
|
protected scenario: JestPerformanceScenario<TContext>;
|
|
5
|
+
private readonly reporter;
|
|
5
6
|
constructor(scenario: JestPerformanceScenario<TContext>);
|
|
7
|
+
/** Disable the base-class text-table canvas; we render a proper bar chart instead. */
|
|
8
|
+
protected shouldRenderCanvas(): boolean;
|
|
9
|
+
/** Logs per-phase table to the jest-html-reporters attachment. */
|
|
10
|
+
private reportPhaseToReporter;
|
|
11
|
+
/**
|
|
12
|
+
* After all phases finish: console-log the combined summary (base class),
|
|
13
|
+
* then report the summary table and a bar chart with the reporter.
|
|
14
|
+
*/
|
|
15
|
+
protected logSummary(results: PhaseResult<TContext>[]): Promise<void>;
|
|
16
|
+
private buildTableDef;
|
|
17
|
+
/**
|
|
18
|
+
* Builds a Chart.js config: grouped bar columns (Wall/Avg/Min/Max ms)
|
|
19
|
+
* with a red line overlay for failure counts on a secondary right axis.
|
|
20
|
+
*/
|
|
21
|
+
private buildPhaseChart;
|
|
6
22
|
/**
|
|
7
23
|
* Registers Jest describe/it blocks for the scenario.
|
|
8
24
|
* Creates one `it` per phase — its never fail, errors are only recorded
|
|
9
|
-
* in aggregated results. Logs a per-phase table
|
|
10
|
-
*
|
|
25
|
+
* in aggregated results. Logs a per-phase console table and reports it
|
|
26
|
+
* via TestReporter after each `it`; reports combined table + bar chart
|
|
27
|
+
* in `afterAll`.
|
|
11
28
|
*
|
|
12
29
|
* @param hooks Optional lifecycle hooks:
|
|
13
30
|
* - `beforeAll`: runs after `scenario.initialize` but before any `it`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jestPerformanceRunner.js","sourceRoot":"","sources":["../../src/tests/jestPerformanceRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jestPerformanceRunner.js","sourceRoot":"","sources":["../../src/tests/jestPerformanceRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -185,6 +185,7 @@ class PerformanceRunner {
|
|
|
185
185
|
await this.runWarmup(phase, context);
|
|
186
186
|
const segments = this.buildSegmentIndices(phase.config.iterations, phase.config.burst);
|
|
187
187
|
const collected = [];
|
|
188
|
+
const phaseStart = Date.now();
|
|
188
189
|
for (let segmentIndex = 0; segmentIndex < segments.length; segmentIndex += 1) {
|
|
189
190
|
const indices = segments[segmentIndex];
|
|
190
191
|
if (!indices.length) {
|
|
@@ -198,6 +199,7 @@ class PerformanceRunner {
|
|
|
198
199
|
await delay(burstInterval);
|
|
199
200
|
}
|
|
200
201
|
}
|
|
202
|
+
const wallClockMs = Date.now() - phaseStart;
|
|
201
203
|
const sorted = [...collected].sort((a, b) => a.iteration - b.iteration);
|
|
202
204
|
const aggregated = this.aggregateMetrics(sorted);
|
|
203
205
|
if (phase.config.pauseAfterMs) {
|
|
@@ -210,6 +212,7 @@ class PerformanceRunner {
|
|
|
210
212
|
aggregated,
|
|
211
213
|
context,
|
|
212
214
|
segmentCount: segments.length,
|
|
215
|
+
wallClockMs,
|
|
213
216
|
};
|
|
214
217
|
}
|
|
215
218
|
async runWarmup(phase, context) {
|
|
@@ -349,7 +352,8 @@ class PerformanceRunner {
|
|
|
349
352
|
"Phase",
|
|
350
353
|
"Mode",
|
|
351
354
|
"Iterations",
|
|
352
|
-
"
|
|
355
|
+
"Wall ms",
|
|
356
|
+
"RPS",
|
|
353
357
|
"Avg ms",
|
|
354
358
|
"Min ms",
|
|
355
359
|
"Max ms",
|
|
@@ -357,11 +361,13 @@ class PerformanceRunner {
|
|
|
357
361
|
"Failures",
|
|
358
362
|
"Load range",
|
|
359
363
|
];
|
|
364
|
+
const rps = (result.config.iterations / (result.wallClockMs / 1000)).toFixed(1);
|
|
360
365
|
const row = [
|
|
361
366
|
result.phase.name,
|
|
362
367
|
result.config.mode,
|
|
363
368
|
result.config.iterations.toString(),
|
|
364
|
-
result.
|
|
369
|
+
result.wallClockMs.toFixed(0),
|
|
370
|
+
rps,
|
|
365
371
|
result.aggregated.averageMs.toFixed(2),
|
|
366
372
|
result.aggregated.minMs.toFixed(2),
|
|
367
373
|
result.aggregated.maxMs.toFixed(2),
|
|
@@ -379,7 +385,8 @@ class PerformanceRunner {
|
|
|
379
385
|
"Phase",
|
|
380
386
|
"Mode",
|
|
381
387
|
"Iterations",
|
|
382
|
-
"
|
|
388
|
+
"Wall ms",
|
|
389
|
+
"RPS",
|
|
383
390
|
"Avg ms",
|
|
384
391
|
"Min ms",
|
|
385
392
|
"Max ms",
|
|
@@ -387,18 +394,22 @@ class PerformanceRunner {
|
|
|
387
394
|
"Failures",
|
|
388
395
|
"Load range",
|
|
389
396
|
];
|
|
390
|
-
const rows = results.map((result) =>
|
|
391
|
-
result.
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
397
|
+
const rows = results.map((result) => {
|
|
398
|
+
const rps = (result.config.iterations / (result.wallClockMs / 1000)).toFixed(1);
|
|
399
|
+
return [
|
|
400
|
+
result.phase.name,
|
|
401
|
+
result.config.mode,
|
|
402
|
+
result.config.iterations.toString(),
|
|
403
|
+
result.wallClockMs.toFixed(0),
|
|
404
|
+
rps,
|
|
405
|
+
result.aggregated.averageMs.toFixed(2),
|
|
406
|
+
result.aggregated.minMs.toFixed(2),
|
|
407
|
+
result.aggregated.maxMs.toFixed(2),
|
|
408
|
+
result.aggregated.successCount.toString(),
|
|
409
|
+
result.aggregated.failureCount.toString(),
|
|
410
|
+
`${result.aggregated.loadStart.toFixed(2)} → ${result.aggregated.loadEnd.toFixed(2)}`,
|
|
411
|
+
];
|
|
412
|
+
});
|
|
402
413
|
console.log(formatTable(`Performance summary for ${this.scenario.name}`, headers, rows));
|
|
403
414
|
if (this.shouldRenderCanvas()) {
|
|
404
415
|
const chartPath = this.scenario.canvasOutputPath ??
|
|
@@ -41,6 +41,8 @@ export interface PhaseResult<TContext = Record<string, unknown>> {
|
|
|
41
41
|
aggregated: AggregatedMetrics;
|
|
42
42
|
context: TContext;
|
|
43
43
|
segmentCount: number;
|
|
44
|
+
/** Wall-clock elapsed ms for the segment loop (excludes warmup and pauseAfterMs) */
|
|
45
|
+
wallClockMs: number;
|
|
44
46
|
}
|
|
45
47
|
export interface PhaseGeneratorMetadata<TContext = Record<string, unknown>> {
|
|
46
48
|
phaseNumber: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performanceRunner.js","sourceRoot":"","sources":["../../src/utils/performanceRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"performanceRunner.js","sourceRoot":"","sources":["../../src/utils/performanceRunner.ts"],"names":[],"mappings":"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"}
|