@vessel-dsp/compiler 0.6.0 → 0.8.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 (49) hide show
  1. package/README.md +1 -1
  2. package/dist/bbd-clock.d.ts +42 -0
  3. package/dist/bbd-clock.d.ts.map +1 -1
  4. package/dist/bbd-clock.js +378 -1
  5. package/dist/bbd-clock.js.map +1 -1
  6. package/dist/compile.d.ts.map +1 -1
  7. package/dist/compile.js +92 -23
  8. package/dist/compile.js.map +1 -1
  9. package/dist/device-laws.d.ts.map +1 -1
  10. package/dist/device-laws.js +77 -11
  11. package/dist/device-laws.js.map +1 -1
  12. package/dist/lower.d.ts.map +1 -1
  13. package/dist/lower.js +13 -0
  14. package/dist/lower.js.map +1 -1
  15. package/dist/netlist.d.ts.map +1 -1
  16. package/dist/netlist.js +27 -1
  17. package/dist/netlist.js.map +1 -1
  18. package/dist/part-catalog.d.ts +19 -0
  19. package/dist/part-catalog.d.ts.map +1 -1
  20. package/dist/part-catalog.js +114 -4
  21. package/dist/part-catalog.js.map +1 -1
  22. package/dist/partition.d.ts.map +1 -1
  23. package/dist/partition.js +6 -0
  24. package/dist/partition.js.map +1 -1
  25. package/dist/registry-data/diode.d.ts.map +1 -1
  26. package/dist/registry-data/diode.js +181 -64
  27. package/dist/registry-data/diode.js.map +1 -1
  28. package/dist/registry-data/index.d.ts +2 -0
  29. package/dist/registry-data/index.d.ts.map +1 -1
  30. package/dist/registry-data/index.js +15 -3
  31. package/dist/registry-data/index.js.map +1 -1
  32. package/dist/registry-data/led.d.ts +20 -0
  33. package/dist/registry-data/led.d.ts.map +1 -0
  34. package/dist/registry-data/led.js +415 -0
  35. package/dist/registry-data/led.js.map +1 -0
  36. package/dist/registry-data/schema.d.ts +11 -3
  37. package/dist/registry-data/schema.d.ts.map +1 -1
  38. package/dist/registry-data/schema.js +20 -4
  39. package/dist/registry-data/schema.js.map +1 -1
  40. package/dist/registry-data/ujt.d.ts +3 -0
  41. package/dist/registry-data/ujt.d.ts.map +1 -0
  42. package/dist/registry-data/ujt.js +48 -0
  43. package/dist/registry-data/ujt.js.map +1 -0
  44. package/dist/registry.d.ts +32 -0
  45. package/dist/registry.d.ts.map +1 -1
  46. package/dist/registry.js.map +1 -1
  47. package/dist/types.d.ts +57 -1
  48. package/dist/types.d.ts.map +1 -1
  49. package/package.json +2 -2
@@ -0,0 +1,415 @@
1
+ // LED colour-default registry data: owner bench 2026-10-20 (measured IS and n;
2
+ // derived VT and, for the two-point colours, derived Rs -- assumed fit constants,
3
+ // never measurements).
4
+ //
5
+ // Keying by packet spelling (whole folded part ids packets already use):
6
+ // - red: "RED LED" (marshall-blues-breaker LED1, 9 V power indicator through 470 ohm),
7
+ // "5mm red LED" (pigtronix-philosophers-tone D13), "LED-RED" (bk-butler-tube-driver
8
+ // D_EFFECT_LED_RED, EFFECT 5 mm red led; marshall-guvnor-drivemaster D2/D3, `kind:
9
+ // diode` red clipper pair -- `Color` is read for `kind: led` only, so the id stays
10
+ // their only key).
11
+ // - green: "LED-GREEN" (bk-butler-tube-driver D_POWER_LED_GREEN, POWER 5 mm green led).
12
+ // - blue: reached via typed `Color` only (the one packet spelling, keeley-compressor-plus
13
+ // "3mm blue", states vocabulary `Color: blue`, so the id was removed as redundant).
14
+ //
15
+ // One record per closed-vocabulary colour (`red`, `yellow`, `green`, `blue`, `white`),
16
+ // resolved two ways through the existing diode lookup: by whole folded PartNumber for
17
+ // the packet spellings above, and by typed `Color` (see `LED_COLOUR_RECORD_ID`) for any
18
+ // other `kind: led` device that states a vocabulary colour. A registry PartNumber law
19
+ // always wins over colour; typed parameters declared in the document win over both.
20
+ // No packet spells white or yellow in a part id, so those records carry the colour
21
+ // word as their registry id (no packet uses it; they are reached only via `Color`).
22
+ //
23
+ // Not keyed and landed nowhere: bare "LED" (colourless), "5mm LED" (colourless),
24
+ // "unspecified-indicator-led (...)" (explicitly unknown part), empty PartNumber, and
25
+ // every manufacturer part number (LN28RP, SLP-135B, GL-32AR, ...: real parts the bench
26
+ // kit cannot speak for).
27
+ //
28
+ // Every record states `thermalVoltage: 0.025852` explicitly (the VT the fit was referred
29
+ // to; the LED class default is 0.05, with which the engine does not reproduce these Vf at
30
+ // all) and its own fitted `seriesResistance` (the 2.0 ohm LED default is a placeholder,
31
+ // not a measurement). IS depends exponentially on n: each triple ships as fitted,
32
+ // digits unrounded, one fit per record. White, blue and green fit both evidence
33
+ // files (A/B from the identified four LEDs per colour, C/D from one unidentified
34
+ // LED per size from the same bags); red and yellow keep the first-session two-point
35
+ // pair (Rs fixed at the 2.0 ohm default, valid about 1.4 to 11 mA only).
36
+ import { definePartData } from "./loader.js";
37
+ const LED_INSTRUMENT = "UNI-T UT107, DC volts. Every voltage was entered to 0.01 V, so the effective " +
38
+ "count is 10 mV (2 V or 20 V range not recorded)";
39
+ const EVIDENCE_FIRST_PATH = "packet-study/led-default/measurements/2026-10-20-led-default.json";
40
+ const EVIDENCE_FIRST_SHA256 = "72abc43aa3d562351212dd6045e4bbf1914cf4e660dfe0e4288644c7f1f7b37a";
41
+ const EVIDENCE_SECOND_PATH = "packet-study/led-default/measurements/2026-10-20-led-default-cd-points.json";
42
+ const EVIDENCE_SECOND_SHA256 = "d0c5560161745f40616b0f0ed7852edfe6734029bb4a3105bc4503a737b6fb41";
43
+ const FOUR_POINT_CONDITIONS = "USB 5 V breadboard shield 4.99 V read once; first session 2.2 kohm and 270 ohm, " +
44
+ "second session 20 kohm and 150 ohm, all as typed exactly nominal, probably not metered " +
45
+ "(kit tolerance 1 %); room 20 C; 4 LEDs per colour at A/B (2 per size, one kit, maker not " +
46
+ "recorded) plus one unidentified LED per size at C/D (same bags, may not be among the four)";
47
+ const FOUR_POINT_SOURCE_TAIL = `Evidence ${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256} and ` +
48
+ `${EVIDENCE_SECOND_PATH} sha256 ${EVIDENCE_SECOND_SHA256}, schema ` +
49
+ "vesseldsp.junction-default-measurement.v1 perDevice isEngine/nEngine pooled over every " +
50
+ "sample at the engine VT 0.025852 V.";
51
+ const RED_CONDITIONS = "USB 5 V breadboard shield measured 4.99 V; 2.2 kohm and 270 ohm resistors as typed, " +
52
+ "exactly nominal, probably not metered (kit tolerance 1 %); room 20 C; 4 red LEDs " +
53
+ "(2 per size, one kit, maker not recorded); anchors 1.435 mA at 1.8275 V and 11.07 mA " +
54
+ "at 1.9925 V (pooled means)";
55
+ // Assumed fit constants, never measurements (derived basis): the thermal voltage the
56
+ // IS and n were referred to, and the series resistance fixed for a two-point fit.
57
+ const VT_DERIVATION = "The engine constant 0.025852 V the IS and n fit was referred to: IS and n " +
58
+ "reproduce the bench Vf only at this value (the LED class default is 0.05 V). " +
59
+ "Assumed, not measured.";
60
+ const TWO_POINT_RS_DERIVATION = "Fixed at the 2.0 ohm LED class default for the two-point fit, so the stamp must " +
61
+ "run at 2.0 ohm. Assumed, not measured.";
62
+ export const ledRegistryRecords = definePartData([
63
+ {
64
+ // Red indicator default: first-session two-point pair, Rs fixed at the 2.0 ohm
65
+ // class default (which is then correct for it). Valid about 1.4 to 11 mA only:
66
+ // the marshall-blues-breaker power indicator this keys runs about 15 mA off 9 V
67
+ // through 470 ohm, an extrapolated use disclosed here. n 2.76 would need Rs 6.2
68
+ // ohm were the junction n 2, so it may carry a small version of the inflated-n
69
+ // structure that sank the blue/white/green pairs; unverified outside the anchors.
70
+ partIds: ["RED LED", "5mm red LED", "LED-RED"],
71
+ class: "led",
72
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 samples, maker unrecorded, two currents: the pair " +
73
+ "(1.1110898624e-14, 2.7587062 at Rs 2.0 ohm) holds only about 1.4 to 11 mA. " +
74
+ "The marshall-blues-breaker RED LED indicator runs about 15 mA (9 V through " +
75
+ "470 ohm), above the window: an extrapolated use. n 2.76 is above a junction " +
76
+ "n of 2 and unverified outside the two anchors. Published-model cross-check " +
77
+ "(LTspice Standard.dio, third-party library, not a manufacturer model): " +
78
+ "Kingbright APT1608SURCK (SMD, N 2.139, RS 2) -61 mV at 1.4 mA and -93 mV at " +
79
+ "11 mA (model minus measured); Fairchild QTLP690C (N 1.5, RS 6) -108 mV at " +
80
+ "1.4 mA and -136 mV at 11 mA.",
81
+ params: {
82
+ saturationCurrent: {
83
+ value: 1.1110898624e-14,
84
+ basis: "measured",
85
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), same sitting and fit as the emissionCoefficient " +
86
+ "record (one two-point fit at the 2.0 ohm LED class default and VT 0.025852 V; " +
87
+ "IS depends exponentially on n, so both digits ship as fitted). Valid about " +
88
+ "1.4 to 11 mA only; unverified outside the anchors. Evidence " +
89
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
90
+ measurementInstrument: LED_INSTRUMENT,
91
+ measurementConditions: RED_CONDITIONS,
92
+ measurementSampleCount: 4,
93
+ measurementDate: "2026-10-20",
94
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
95
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
96
+ },
97
+ emissionCoefficient: {
98
+ value: 2.7587062,
99
+ basis: "measured",
100
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), red two-point pair (n 2.76 may carry inflated-n " +
101
+ "structure; Rs fixed at 2.0 ohm). Valid about 1.4 to 11 mA only. Evidence " +
102
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
103
+ measurementInstrument: LED_INSTRUMENT,
104
+ measurementConditions: RED_CONDITIONS,
105
+ measurementSampleCount: 4,
106
+ measurementDate: "2026-10-20",
107
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
108
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
109
+ },
110
+ thermalVoltage: {
111
+ value: 0.025852,
112
+ basis: "derived",
113
+ source: "The VT the red fit was referred to (the LED class default is 0.05, with " +
114
+ "which the engine does not reproduce these Vf). Evidence " +
115
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
116
+ derivation: VT_DERIVATION,
117
+ },
118
+ seriesResistance: {
119
+ value: 2.0,
120
+ basis: "derived",
121
+ source: "The Rs the red fit assumed (the 2.0 ohm LED class default, fixed for the " +
122
+ "two-point fit, so the stamp must run at 2.0 ohm). Evidence " +
123
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
124
+ derivation: TWO_POINT_RS_DERIVATION,
125
+ },
126
+ },
127
+ },
128
+ {
129
+ // Green indicator default: colour-level four-point effective values over 0.13 to
130
+ // 13 mA. MISSES the 20 mV page limit (residual 32 mV at B): green does not follow
131
+ // V = a + b ln I + R I within 30 mV. Per-LED #1/#2 agreement is 0 to 10 mV in both
132
+ // sizes, so most of the misfit is the model form, not noise; the unidentified C/D
133
+ // LED explains at most about a quarter of it. Sizes agree within the fit (Rs 28.8
134
+ // 3 mm vs 30.8 5 mm).
135
+ partIds: ["LED-GREEN"],
136
+ class: "led",
137
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 + 2 samples (A/B four identified LEDs, C/D one " +
138
+ "unidentified LED per size from the same bags), maker unrecorded. Four-point " +
139
+ "effective values (5.275788e-17, 3.02001, 29.7599 ohm); residuals (model minus " +
140
+ "measured) -9.2 mV " +
141
+ "at 0.13 mA, +23.9 at 1.1 mA, -31.9 at 8 mA, +17.1 at 13 mA: green misses the " +
142
+ "20 mV limit (32 mV), a stated misfit of the one-diode form, not noise. No " +
143
+ "published model for an indicator green LED was found (manufacturer sites not " +
144
+ "searched).",
145
+ params: {
146
+ saturationCurrent: {
147
+ value: 5.275788e-17,
148
+ basis: "measured",
149
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) green four-point fit (V = a + n VT ln I + I Rs over " +
150
+ "C 0.13 mA, A 1.1 mA, B 8 mA, D 13 mA; IS depends exponentially on n, so " +
151
+ "all three digits ship as fitted). " + FOUR_POINT_SOURCE_TAIL,
152
+ measurementInstrument: LED_INSTRUMENT,
153
+ measurementConditions: FOUR_POINT_CONDITIONS,
154
+ measurementSampleCount: 6,
155
+ measurementDate: "2026-10-20",
156
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
157
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
158
+ },
159
+ emissionCoefficient: {
160
+ value: 3.02001,
161
+ basis: "measured",
162
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) green four-point fit (n 3.02 is an effective value " +
163
+ "over 0.13 to 13 mA with a stated 32 mV misfit). " + FOUR_POINT_SOURCE_TAIL,
164
+ measurementInstrument: LED_INSTRUMENT,
165
+ measurementConditions: FOUR_POINT_CONDITIONS,
166
+ measurementSampleCount: 6,
167
+ measurementDate: "2026-10-20",
168
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
169
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
170
+ },
171
+ thermalVoltage: {
172
+ value: 0.025852,
173
+ basis: "derived",
174
+ source: "The VT the green fit was referred to (the LED class default is 0.05, with " +
175
+ "which the engine does not reproduce these Vf). " + FOUR_POINT_SOURCE_TAIL,
176
+ derivation: VT_DERIVATION,
177
+ },
178
+ seriesResistance: {
179
+ value: 29.7599,
180
+ basis: "measured",
181
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) green four-point fit (Rs 29.76 ohm is why the " +
182
+ "first-session n read 8.0; the stamp must run at the fitted Rs, not the " +
183
+ "2.0 ohm class default). " + FOUR_POINT_SOURCE_TAIL,
184
+ measurementInstrument: LED_INSTRUMENT,
185
+ measurementConditions: FOUR_POINT_CONDITIONS,
186
+ measurementSampleCount: 6,
187
+ measurementDate: "2026-10-20",
188
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
189
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
190
+ },
191
+ },
192
+ },
193
+ {
194
+ // Blue indicator default: colour-level four-point effective values over 0.13 to
195
+ // 13 mA, within the 20 mV page limit (residuals +6.4/-8.3/-2.5/+4.4 mV at
196
+ // 1/8/0.13/13 mA, model minus measured). Weaker evidence than green's "over it":
197
+ // the 3 mm A/B LEDs differed by up to 50 mV at 8 mA, so the unidentified C/D LED
198
+ // could by itself account for the 8 mV residual. Sizes: Rs 20.3 (3 mm) vs 24.1
199
+ // (5 mm), within the fit's resolution; the colour default pools both per the
200
+ // owner's by-colour rule. Reached via typed `Color` only: the one packet spelling
201
+ // ("3mm blue") states vocabulary `Color: blue`, so the id was removed as redundant.
202
+ partIds: ["blue"],
203
+ class: "led",
204
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 + 2 samples (A/B four identified LEDs, C/D one " +
205
+ "unidentified LED per size from the same bags), maker unrecorded. Four-point " +
206
+ "effective values (8.668086e-34, 1.42282, 22.2290 ohm); residuals (model minus " +
207
+ "measured) +6.4 mV at 1 mA, -8.3 at 8 mA, -2.5 at 0.13 mA, +4.4 at 13 mA: " +
208
+ "within the 20 mV limit, but the unidentified C/D LED could by itself account " +
209
+ "for the residual (3 mm A/B spread reached 50 mV at 8 mA), so 'within limit' " +
210
+ "is weaker evidence than green's 'over it'. The keyed packet device is 3 mm; " +
211
+ "the record pools 3 and 5 mm per the owner's by-colour rule. Published-model " +
212
+ "cross-check (LTspice Standard.dio, third-party library): Microsemi UPBLED-470B " +
213
+ "(power LED, N 1.923, RS 32) sits +516 to +716 mV from the kit, a different " +
214
+ "part, not a generic blue.",
215
+ params: {
216
+ saturationCurrent: {
217
+ value: 8.668086e-34,
218
+ basis: "measured",
219
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) blue four-point fit (V = a + n VT ln I + I Rs over " +
220
+ "C 0.13 mA, A 1.1 mA, B 8 mA, D 13 mA; IS depends exponentially on n, so " +
221
+ "all three digits ship as fitted). " + FOUR_POINT_SOURCE_TAIL,
222
+ measurementInstrument: LED_INSTRUMENT,
223
+ measurementConditions: FOUR_POINT_CONDITIONS,
224
+ measurementSampleCount: 6,
225
+ measurementDate: "2026-10-20",
226
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
227
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
228
+ },
229
+ emissionCoefficient: {
230
+ value: 1.42282,
231
+ basis: "measured",
232
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) blue four-point fit (effective value over 0.13 to " +
233
+ "13 mA). " + FOUR_POINT_SOURCE_TAIL,
234
+ measurementInstrument: LED_INSTRUMENT,
235
+ measurementConditions: FOUR_POINT_CONDITIONS,
236
+ measurementSampleCount: 6,
237
+ measurementDate: "2026-10-20",
238
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
239
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
240
+ },
241
+ thermalVoltage: {
242
+ value: 0.025852,
243
+ basis: "derived",
244
+ source: "The VT the blue fit was referred to (the LED class default is 0.05, with " +
245
+ "which the engine does not reproduce these Vf). " + FOUR_POINT_SOURCE_TAIL,
246
+ derivation: VT_DERIVATION,
247
+ },
248
+ seriesResistance: {
249
+ value: 22.229,
250
+ basis: "measured",
251
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) blue four-point fit (Rs 22.229 ohm is why the " +
252
+ "first-session n read 4.4; the stamp must run at the fitted Rs, not the " +
253
+ "2.0 ohm class default). " + FOUR_POINT_SOURCE_TAIL,
254
+ measurementInstrument: LED_INSTRUMENT,
255
+ measurementConditions: FOUR_POINT_CONDITIONS,
256
+ measurementSampleCount: 6,
257
+ measurementDate: "2026-10-20",
258
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
259
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
260
+ },
261
+ },
262
+ },
263
+ {
264
+ // White indicator default: colour-level four-point effective values over 0.12 to
265
+ // 13 mA, within the 20 mV page limit (residuals +13.9/-18.1/-5.4/+9.6 mV at
266
+ // 1/8/0.13/13 mA, model minus measured). Same unidentified-C/D caveat as blue, and
267
+ // stronger: white sizes differ by about 14 ohm of series resistance (Rs 15.7 3 mm
268
+ // vs 29.9 5 mm, about 160 mV at 13 mA), so the colour default pools two sizes that
269
+ // do not agree, per the owner's by-colour rule. Reached via typed `Color` only:
270
+ // no packet spells white in a part id.
271
+ partIds: ["white"],
272
+ class: "led",
273
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 + 2 samples (A/B four identified LEDs, C/D one " +
274
+ "unidentified LED per size from the same bags), maker unrecorded. Four-point " +
275
+ "effective values (4.056687e-26, 1.98811, 22.5033 ohm); residuals (model minus " +
276
+ "measured) +13.9 mV at 1 mA, -18.1 at 8 mA, -5.4 at 0.13 mA, +9.6 at 13 mA: " +
277
+ "within the 20 mV limit, but the unidentified C/D LED could by itself account " +
278
+ "for the residual, and the 3 and 5 mm samples disagree by about 14 ohm " +
279
+ "(160 mV at 13 mA), so a colour-only default spans both. Published-model " +
280
+ "cross-check (LTspice Standard.dio, third-party library, not a manufacturer " +
281
+ "model): Nichia NSPW500BS (5 mm; IS 0.27n, N 6.79, RS 5.65) -264 mV at " +
282
+ "0.12 mA, +8 at 1.05 mA, +111 at 7.6 mA, +115 at 12.8 mA; Nichia NSCW100 " +
283
+ "(SMD; N 9.626, RS 8.163) -338, +94, +358, +414 mV at the same currents " +
284
+ "(model minus measured) -- each matches the kit at one current only, and both " +
285
+ "carry the same large-N structure as the rejected two-point pairs.",
286
+ params: {
287
+ saturationCurrent: {
288
+ value: 4.056687e-26,
289
+ basis: "measured",
290
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) white four-point fit (V = a + n VT ln I + I Rs over " +
291
+ "C 0.13 mA, A 1.1 mA, B 8 mA, D 13 mA; IS depends exponentially on n, so " +
292
+ "all three digits ship as fitted). " + FOUR_POINT_SOURCE_TAIL,
293
+ measurementInstrument: LED_INSTRUMENT,
294
+ measurementConditions: FOUR_POINT_CONDITIONS,
295
+ measurementSampleCount: 6,
296
+ measurementDate: "2026-10-20",
297
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
298
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
299
+ },
300
+ emissionCoefficient: {
301
+ value: 1.98811,
302
+ basis: "measured",
303
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) white four-point fit (effective value over 0.12 to " +
304
+ "13 mA). " + FOUR_POINT_SOURCE_TAIL,
305
+ measurementInstrument: LED_INSTRUMENT,
306
+ measurementConditions: FOUR_POINT_CONDITIONS,
307
+ measurementSampleCount: 6,
308
+ measurementDate: "2026-10-20",
309
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
310
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
311
+ },
312
+ thermalVoltage: {
313
+ value: 0.025852,
314
+ basis: "derived",
315
+ source: "The VT the white fit was referred to (the LED class default is 0.05, with " +
316
+ "which the engine does not reproduce these Vf). " + FOUR_POINT_SOURCE_TAIL,
317
+ derivation: VT_DERIVATION,
318
+ },
319
+ seriesResistance: {
320
+ value: 22.5033,
321
+ basis: "measured",
322
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) white four-point fit (Rs 22.5033 ohm is why the " +
323
+ "first-session n read 5.2; the stamp must run at the fitted Rs, not the " +
324
+ "2.0 ohm class default). " + FOUR_POINT_SOURCE_TAIL,
325
+ measurementInstrument: LED_INSTRUMENT,
326
+ measurementConditions: FOUR_POINT_CONDITIONS,
327
+ measurementSampleCount: 6,
328
+ measurementDate: "2026-10-20",
329
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
330
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
331
+ },
332
+ },
333
+ },
334
+ {
335
+ // Yellow indicator default: first-session two-point pair, Rs fixed at the 2.0 ohm
336
+ // class default (which is then correct for it). Valid about 1.4 to 11 mA only;
337
+ // unverified outside the two anchors. Reached via typed `Color` only: no packet
338
+ // spells yellow in a part id. No published cross-check found (no model for an
339
+ // indicator yellow LED in LTspice Standard.dio; manufacturer sites not searched).
340
+ partIds: ["yellow"],
341
+ class: "led",
342
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 samples, maker unrecorded, two currents: the pair " +
343
+ "(2.1187081810e-25, 1.4664285 at Rs 2.0 ohm) holds only about 1.4 to 11 mA. " +
344
+ "n 1.47 needs no series resistance, so the two-point form is consistent at the " +
345
+ "anchors; unverified outside them all the same.",
346
+ params: {
347
+ saturationCurrent: {
348
+ value: 2.1187081810e-25,
349
+ basis: "measured",
350
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), same sitting and fit as the emissionCoefficient " +
351
+ "record (one two-point fit at the 2.0 ohm LED class default and VT 0.025852 V; " +
352
+ "IS depends exponentially on n, so both digits ship as fitted). Valid about " +
353
+ "1.4 to 11 mA only; unverified outside the anchors. Evidence " +
354
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
355
+ measurementInstrument: LED_INSTRUMENT,
356
+ measurementConditions: "USB 5 V breadboard shield measured 4.99 V; 2.2 kohm and 270 ohm resistors " +
357
+ "as typed, exactly nominal, probably not metered (kit tolerance 1 %); room " +
358
+ "20 C; 4 yellow LEDs (2 per size, one kit, maker not recorded); anchors " +
359
+ "1.40 mA at 1.9075 V and 11.03 mA at 2.005 V (pooled means)",
360
+ measurementSampleCount: 4,
361
+ measurementDate: "2026-10-20",
362
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
363
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
364
+ },
365
+ emissionCoefficient: {
366
+ value: 1.4664285,
367
+ basis: "measured",
368
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) yellow two-point pair (n 1.47 needs no series " +
369
+ "resistance; Rs fixed at 2.0 ohm). Valid about 1.4 to 11 mA only. Evidence " +
370
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
371
+ measurementInstrument: LED_INSTRUMENT,
372
+ measurementConditions: "USB 5 V breadboard shield measured 4.99 V; 2.2 kohm and 270 ohm resistors " +
373
+ "as typed, exactly nominal, probably not metered (kit tolerance 1 %); room " +
374
+ "20 C; 4 yellow LEDs (2 per size, one kit, maker not recorded); anchors " +
375
+ "1.40 mA at 1.9075 V and 11.03 mA at 2.005 V (pooled means)",
376
+ measurementSampleCount: 4,
377
+ measurementDate: "2026-10-20",
378
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
379
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
380
+ },
381
+ thermalVoltage: {
382
+ value: 0.025852,
383
+ basis: "derived",
384
+ source: "The VT the yellow fit was referred to (the LED class default is 0.05, with " +
385
+ "which the engine does not reproduce these Vf). Evidence " +
386
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
387
+ derivation: VT_DERIVATION,
388
+ },
389
+ seriesResistance: {
390
+ value: 2.0,
391
+ basis: "derived",
392
+ source: "The Rs the yellow fit assumed (the 2.0 ohm LED class default, fixed for the " +
393
+ "two-point fit, so the stamp must run at 2.0 ohm). Evidence " +
394
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
395
+ derivation: TWO_POINT_RS_DERIVATION,
396
+ },
397
+ },
398
+ },
399
+ ]);
400
+ /**
401
+ * The closed colour vocabulary's canonical registry id per colour: the first partId of
402
+ * the colour's `led` record. The diode case resolves a `kind: led` device's stated,
403
+ * in-vocabulary `Color` through this map (whole folded id, existing lookup) when no
404
+ * registry PartNumber law resolves; a registry PartNumber law always wins, and typed
405
+ * document parameters win over both. `white` and `yellow` are colour words no packet
406
+ * uses as a part id -- they are reached only via `Color`.
407
+ */
408
+ export const LED_COLOUR_RECORD_ID = {
409
+ red: "RED LED",
410
+ yellow: "yellow",
411
+ green: "LED-GREEN",
412
+ blue: "blue",
413
+ white: "white",
414
+ };
415
+ //# sourceMappingURL=led.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"led.js","sourceRoot":"","sources":["../../src/registry-data/led.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare const CLASS_PARAM_SCHEMAS: {
9
9
  readonly opamp: readonly ["openLoopGain", "gainBandwidthHz", "outputSwingDropHighVolts", "outputSwingDropLowVolts"];
10
10
  readonly regulator: readonly ["volts", "sourceOhms"];
11
11
  readonly "charge-pump": readonly ["sourceOhms", "chargePumpLossVolts"];
12
+ readonly ujt: readonly ["intrinsicStandoffRatio", "interbaseResistanceOhms"];
12
13
  };
13
14
  /** The closed set of part classes the registry holds parameters for. */
14
15
  export type PartClassName = keyof typeof CLASS_PARAM_SCHEMAS;
@@ -30,8 +31,12 @@ export declare function classParamNames(cls: PartClassName): readonly string[];
30
31
  * - `jfet` / `mosfet`: thresholdVolts (pinch-off) and transconductance (gain). Geometry and
31
32
  * gate refinements (channelLengthModulation, subthresholdVolts, gate terms) keep defaults.
32
33
  * - `diode` / `led`: saturationCurrent (knee position) and emissionCoefficient (knee slope).
33
- * thermalVoltage is a constant, breakdownVolts 0 is an ordinary diode, seriesResistance
34
- * keeps its default.
34
+ * Silicon leaves thermalVoltage omitted (the engine constant), breakdownVolts 0 is an
35
+ * ordinary diode, seriesResistance keeps its class default (1.0 ohm diode, 2.0 ohm LED).
36
+ * An LED record states the VT its fit was referred to and its fitted Rs explicitly.
37
+ * A `custom` LED override must state the full quad: an (IS, n) measured at the engine
38
+ * VT silently mis-stamps when VT falls back to the 0.05 class default, and an Rs left
39
+ * at 2.0 ohm repeats the inflated-n failure the four-point fits exposed.
35
40
  * - `zener`: the diode pair plus breakdownVolts -- the breakdown IS the part, and without it
36
41
  * the law stamps an ordinary diode.
37
42
  * - `opamp`: openLoopGain and gainBandwidthHz. The swing pair is deliberately absent: per the
@@ -39,6 +44,8 @@ export declare function classParamNames(cls: PartClassName): readonly string[];
39
44
  * - `regulator`: volts -- the rail is the part; sourceOhms keeps the supply convention.
40
45
  * - `charge-pump`: sourceOhms and chargePumpLossVolts -- both shape the derived rail, and an
41
46
  * unknown pump has no safe default for either.
47
+ * - `ujt`: intrinsicStandoffRatio and interbaseResistanceOhms -- the tap fraction and the
48
+ * bar are the whole part model (emitter diode and modulation are law structure).
42
49
  */
43
50
  export declare const REQUIRED_CLASS_PARAMS: {
44
51
  readonly bjt: readonly ["saturationCurrent", "forwardBeta"];
@@ -46,10 +53,11 @@ export declare const REQUIRED_CLASS_PARAMS: {
46
53
  readonly mosfet: readonly ["thresholdVolts", "transconductance"];
47
54
  readonly diode: readonly ["saturationCurrent", "emissionCoefficient"];
48
55
  readonly zener: readonly ["saturationCurrent", "emissionCoefficient", "breakdownVolts"];
49
- readonly led: readonly ["saturationCurrent", "emissionCoefficient"];
56
+ readonly led: readonly ["saturationCurrent", "emissionCoefficient", "thermalVoltage", "seriesResistance"];
50
57
  readonly opamp: readonly ["openLoopGain", "gainBandwidthHz"];
51
58
  readonly regulator: readonly ["volts"];
52
59
  readonly "charge-pump": readonly ["sourceOhms", "chargePumpLossVolts"];
60
+ readonly ujt: readonly ["intrinsicStandoffRatio", "interbaseResistanceOhms"];
53
61
  };
54
62
  /** The parameters a `custom` override must supply for a class, in schema order. */
55
63
  export declare function requiredClassParams(cls: PartClassName): readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"AA6BA,yFAAyF;AACzF,eAAO,MAAM,mBAAmB;;;;;;;;;;CAuDtB,CAAC;AAEX,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE7D,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAErE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;CAU2B,CAAC;AAE9D,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAEzE"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"AAqCA,yFAAyF;AACzF,eAAO,MAAM,mBAAmB;;;;;;;;;;;CAwDtB,CAAC;AAEX,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE7D,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAErE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAW2B,CAAC;AAE9D,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAEzE"}
@@ -11,7 +11,10 @@
11
11
  // law's numeric fields (`gateSaturationCurrent: 0` is the MOSFET's insulated gate).
12
12
  // - `diode` / `zener` / `led`: all three lower to the `diode` law; a zener adds a reverse
13
13
  // knee (`breakdownVolts`), an LED adds `isLed`, and a Schottky is a diode with a low
14
- // forward knee -- all fit these five numeric names.
14
+ // forward knee -- all fit these five numeric names. Silicon records omit
15
+ // `thermalVoltage` (the engine constant 0.025852 V, not a per-part figure); LED records
16
+ // state it explicitly, because the LED class default is 0.05 V and each LED fit was
17
+ // referred to 0.025852 V.
15
18
  // - `opamp`: the `ideal-opamp` law's numeric part facts. `openLoopGain` is listed because it
16
19
  // is a class parameter (stage 2 must allow overriding it) even though stage 1 keeps its
17
20
  // values in `part-catalog.ts` code; `gainBandwidthHz` and the swing pair move to data now.
@@ -20,6 +23,11 @@
20
23
  // - `charge-pump`: a switched-capacitor inverter section plus the entry-level loss term the
21
24
  // `pumpDerivation` reads. `volts` is deliberately NOT a parameter: the rail is derived per
22
25
  // circuit from the input node, and the `volts: 0` in each entry is an unused placeholder.
26
+ // - `ujt`: the unijunction transistor's own two facts -- the tap fraction (intrinsic
27
+ // standoff ratio eta) and the bar resistance (interbase resistance Rbb). The emitter
28
+ // junction is a silicon diode by construction (law constants, like the JFET gate's
29
+ // stated silicon-junction current) and the conductivity modulation is the lowering's
30
+ // business (it needs a hysteretic switch stamp, so neither is a per-part parameter).
23
31
  //
24
32
  // Structural (non-numeric) law fields -- `polarity`, `channel`, the swing `translation` and
25
33
  // printed condition, rails, pinouts -- stay in code at stage 1: a cited value is a number,
@@ -82,6 +90,7 @@ export const CLASS_PARAM_SCHEMAS = {
82
90
  ],
83
91
  regulator: ["volts", "sourceOhms"],
84
92
  "charge-pump": ["sourceOhms", "chargePumpLossVolts"],
93
+ ujt: ["intrinsicStandoffRatio", "interbaseResistanceOhms"],
85
94
  };
86
95
  /** The accepted parameter names for a class, in schema order. */
87
96
  export function classParamNames(cls) {
@@ -103,8 +112,12 @@ export function classParamNames(cls) {
103
112
  * - `jfet` / `mosfet`: thresholdVolts (pinch-off) and transconductance (gain). Geometry and
104
113
  * gate refinements (channelLengthModulation, subthresholdVolts, gate terms) keep defaults.
105
114
  * - `diode` / `led`: saturationCurrent (knee position) and emissionCoefficient (knee slope).
106
- * thermalVoltage is a constant, breakdownVolts 0 is an ordinary diode, seriesResistance
107
- * keeps its default.
115
+ * Silicon leaves thermalVoltage omitted (the engine constant), breakdownVolts 0 is an
116
+ * ordinary diode, seriesResistance keeps its class default (1.0 ohm diode, 2.0 ohm LED).
117
+ * An LED record states the VT its fit was referred to and its fitted Rs explicitly.
118
+ * A `custom` LED override must state the full quad: an (IS, n) measured at the engine
119
+ * VT silently mis-stamps when VT falls back to the 0.05 class default, and an Rs left
120
+ * at 2.0 ohm repeats the inflated-n failure the four-point fits exposed.
108
121
  * - `zener`: the diode pair plus breakdownVolts -- the breakdown IS the part, and without it
109
122
  * the law stamps an ordinary diode.
110
123
  * - `opamp`: openLoopGain and gainBandwidthHz. The swing pair is deliberately absent: per the
@@ -112,6 +125,8 @@ export function classParamNames(cls) {
112
125
  * - `regulator`: volts -- the rail is the part; sourceOhms keeps the supply convention.
113
126
  * - `charge-pump`: sourceOhms and chargePumpLossVolts -- both shape the derived rail, and an
114
127
  * unknown pump has no safe default for either.
128
+ * - `ujt`: intrinsicStandoffRatio and interbaseResistanceOhms -- the tap fraction and the
129
+ * bar are the whole part model (emitter diode and modulation are law structure).
115
130
  */
116
131
  export const REQUIRED_CLASS_PARAMS = {
117
132
  bjt: ["saturationCurrent", "forwardBeta"],
@@ -119,10 +134,11 @@ export const REQUIRED_CLASS_PARAMS = {
119
134
  mosfet: ["thresholdVolts", "transconductance"],
120
135
  diode: ["saturationCurrent", "emissionCoefficient"],
121
136
  zener: ["saturationCurrent", "emissionCoefficient", "breakdownVolts"],
122
- led: ["saturationCurrent", "emissionCoefficient"],
137
+ led: ["saturationCurrent", "emissionCoefficient", "thermalVoltage", "seriesResistance"],
123
138
  opamp: ["openLoopGain", "gainBandwidthHz"],
124
139
  regulator: ["volts"],
125
140
  "charge-pump": ["sourceOhms", "chargePumpLossVolts"],
141
+ ujt: ["intrinsicStandoffRatio", "interbaseResistanceOhms"],
126
142
  };
127
143
  /** The parameters a `custom` override must supply for a class, in schema order. */
128
144
  export function requiredClassParams(cls) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type PartDataEntry } from "./loader";
2
+ export declare const ujtRegistryRecords: readonly PartDataEntry[];
3
+ //# sourceMappingURL=ujt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ujt.d.ts","sourceRoot":"","sources":["../../src/registry-data/ujt.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D,eAAO,MAAM,kBAAkB,EAAE,SAAS,aAAa,EA6BrD,CAAC"}
@@ -0,0 +1,48 @@
1
+ // UJT registry data: intrinsic standoff ratio and interbase resistance by exact part id.
2
+ //
3
+ // The two numbers ARE the part model: eta sets the tap (RB1 = eta * Rbb, the peak-point
4
+ // fraction) and Rbb sets the bar. Everything else about the law is structure, not data:
5
+ // the emitter junction is a silicon diode by construction (the law's constants) and the
6
+ // conductivity modulation is the lowering's VCCS factor. So a record states exactly these
7
+ // two parameters, and `ujtLawEntry` (part-catalog.ts) throws on anything else shaped
8
+ // like a UJT record that omits one.
9
+ //
10
+ // Derivation rule (standing): a printed range becomes one value by its arithmetic
11
+ // midpoint (eta and Rbb are divider fractions and resistances, not gains, so the
12
+ // geomean-for-gains rule does not apply). A printed TYP is transcribed with its row
13
+ // quoted. One value per parameter, no min/typ/max.
14
+ //
15
+ // Pending: none. The 2N4871 entry below is seeded from the manufacturer datasheet
16
+ // (Digitron Semiconductors 2N4870, 2N4871 UNIJUNCTION TRANSISTORS, Rev. 20120705,
17
+ // sha256 81b46aa8ad8a271a3aca154f7129fe3e6abfc7066440d52d50a4d99ff9a17722).
18
+ // 2N4870 is deliberately absent: nothing in the corpus uses it, and the registry
19
+ // holds parts, not families.
20
+ import { definePartData } from "./loader.js";
21
+ export const ujtRegistryRecords = definePartData([
22
+ {
23
+ partIds: ["2N4871"],
24
+ class: "ujt",
25
+ params: {
26
+ intrinsicStandoffRatio: {
27
+ value: 0.775,
28
+ basis: "derived",
29
+ source: "Digitron Semiconductors 2N4870, 2N4871 UNIJUNCTION TRANSISTORS " +
30
+ "(Rev. 20120705) p1, ELECTRICAL CHARACTERISTICS (TA = 25 C): " +
31
+ "'Intrinsic standoff ratio eta (VB2B1 = 10V), 2N4871, MIN 0.70 MAX 0.85' " +
32
+ "(no TYP printed; Note 1: VP = eta*VB2B1 + VF, VF about 0.49V at 25 C @ IF = 10uA)",
33
+ derivation: "Printed 2N4871 eta range 0.70-0.85 at VB2B1 = 10 V, no TYP printed; " +
34
+ "arithmetic midpoint (form 2, printed range -- a divider fraction, not a gain, " +
35
+ "so no geomean): (0.70 + 0.85) / 2 = 0.775.",
36
+ },
37
+ interbaseResistanceOhms: {
38
+ value: 6000,
39
+ basis: "datasheet",
40
+ source: "Digitron Semiconductors 2N4870, 2N4871 UNIJUNCTION TRANSISTORS " +
41
+ "(Rev. 20120705) p1, ELECTRICAL CHARACTERISTICS (TA = 25 C): " +
42
+ "'Interbase resistance RBB (VB2B1 = 3.0V, IE = 0), MIN 4.0 TYP 6.0 MAX 9.1 kohm' " +
43
+ "(one row for both parts)",
44
+ },
45
+ },
46
+ },
47
+ ]);
48
+ //# sourceMappingURL=ujt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ujt.js","sourceRoot":"","sources":["../../src/registry-data/ujt.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,EAAE;AACF,wFAAwF;AACxF,wFAAwF;AACxF,wFAAwF;AACxF,0FAA0F;AAC1F,qFAAqF;AACrF,oCAAoC;AACpC,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,oFAAoF;AACpF,mDAAmD;AACnD,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,4EAA4E;AAC5E,iFAAiF;AACjF,6BAA6B;AAE7B,OAAO,EAAE,cAAc,EAAsB,MAAM,UAAU,CAAC;AAE9D,MAAM,CAAC,MAAM,kBAAkB,GAA6B,cAAc,CAAC;IAC1E;QACC,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE;YACP,sBAAsB,EAAE;gBACvB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,SAAS;gBAChB,MAAM,EACL,iEAAiE;oBACjE,8DAA8D;oBAC9D,0EAA0E;oBAC1E,mFAAmF;gBACpF,UAAU,EACT,sEAAsE;oBACtE,gFAAgF;oBAChF,4CAA4C;aAC7C;YACD,uBAAuB,EAAE;gBACxB,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,WAAW;gBAClB,MAAM,EACL,iEAAiE;oBACjE,8DAA8D;oBAC9D,kFAAkF;oBAClF,0BAA0B;aAC3B;SACD;KACD;CACD,CAAC,CAAC"}