@metaobjectsdev/cli 0.24.1 → 0.24.2
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/src/commands/upgrade.d.ts.map +1 -1
- package/dist/src/commands/upgrade.js +13 -7
- package/dist/src/commands/upgrade.js.map +1 -1
- package/dist/src/commands/verify.d.ts.map +1 -1
- package/dist/src/commands/verify.js +46 -10
- package/dist/src/commands/verify.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/args.d.ts +8 -0
- package/dist/src/lib/args.d.ts.map +1 -1
- package/dist/src/lib/args.js +2 -0
- package/dist/src/lib/args.js.map +1 -1
- package/dist/src/lib/requirement-check.d.ts +61 -7
- package/dist/src/lib/requirement-check.d.ts.map +1 -1
- package/dist/src/lib/requirement-check.js +113 -29
- package/dist/src/lib/requirement-check.js.map +1 -1
- package/dist/src/lib/requirement-lint.d.ts +29 -0
- package/dist/src/lib/requirement-lint.d.ts.map +1 -0
- package/dist/src/lib/requirement-lint.js +318 -0
- package/dist/src/lib/requirement-lint.js.map +1 -0
- package/package.json +10 -10
- package/src/commands/upgrade.ts +13 -7
- package/src/commands/verify.ts +51 -8
- package/src/index.ts +7 -0
- package/src/lib/args.ts +10 -0
- package/src/lib/requirement-check.ts +150 -32
- package/src/lib/requirement-lint.ts +356 -0
|
@@ -108,21 +108,80 @@ function subtreeClaimsAnything(req) {
|
|
|
108
108
|
}
|
|
109
109
|
return false;
|
|
110
110
|
}
|
|
111
|
-
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Every `requirement.*` node in the tree, at any nesting depth, each with its
|
|
113
|
+
* dotted path. Hierarchy IS nesting — an L1 solution contains its L2 segments —
|
|
114
|
+
* so this is a walk, not a scan of a flat list keyed by a `parent` string.
|
|
115
|
+
*
|
|
116
|
+
* ONE derivation of the address for the gate AND the authoring lint, deliberately.
|
|
117
|
+
* They are two sections of a single `meta verify` run, and when they walked
|
|
118
|
+
* separately they addressed the same node two different ways — the gate by bare
|
|
119
|
+
* `name`, which is ambiguous the moment two branches of a ledger reuse one, and the
|
|
120
|
+
* lint by path. A reader cannot reconcile two addressings of one tree.
|
|
121
|
+
*
|
|
122
|
+
* The traversal descends through EVERY node rather than only through requirements:
|
|
123
|
+
* a requirement somewhere the child rules did not anticipate is still gated, which
|
|
124
|
+
* is the fail-closed direction for a gate.
|
|
125
|
+
*/
|
|
126
|
+
export function collectAddressedRequirements(root) {
|
|
115
127
|
const out = [];
|
|
116
|
-
const walk = (n) => {
|
|
128
|
+
const walk = (n, prefix) => {
|
|
117
129
|
for (const c of n.children()) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
130
|
+
// Only a requirement contributes a path segment. An intervening non-requirement
|
|
131
|
+
// node is traversed THROUGH, so the address stays the requirement hierarchy.
|
|
132
|
+
const isReq = c.type === TYPE_REQUIREMENT;
|
|
133
|
+
const path = isReq ? (prefix === "" ? c.name : `${prefix}.${c.name}`) : prefix;
|
|
134
|
+
if (isReq)
|
|
135
|
+
out.push({ node: c, path });
|
|
136
|
+
walk(c, path);
|
|
121
137
|
}
|
|
122
138
|
};
|
|
123
|
-
walk(root);
|
|
139
|
+
walk(root, "");
|
|
124
140
|
return out;
|
|
125
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Resolve a `@supersededBy` reference to a requirement in the same ledger (FR-039).
|
|
144
|
+
*
|
|
145
|
+
* A requirement is addressed the way every other node is: a package qualifies the
|
|
146
|
+
* ROOT-level node only, and each dotted segment after it walks CHILD names — so
|
|
147
|
+
* `acme::caps::Billing.InvoiceRecord` names the `InvoiceRecord` child of the
|
|
148
|
+
* root-level `Billing`. A bare reference binds package-locally first and then at
|
|
149
|
+
* root level, which is the ADR-0042 contract every other reference already follows.
|
|
150
|
+
*
|
|
151
|
+
* Deliberately resolves against the LEDGER, not the model: a capability is replaced
|
|
152
|
+
* by another capability. Pointing this at an entity would be `@implementedBy` wearing
|
|
153
|
+
* a different name, and `@implementedBy` is exactly what a retired entry may not have.
|
|
154
|
+
*/
|
|
155
|
+
export function resolveRequirementRef(addressed, ref, referrerPkg) {
|
|
156
|
+
const keyed = new Map();
|
|
157
|
+
for (const { node, path } of addressed) {
|
|
158
|
+
const pkg = node.package ?? node.fileDefaultPackage ?? "";
|
|
159
|
+
if (pkg !== "")
|
|
160
|
+
keyed.set(`${pkg}::${path}`, node);
|
|
161
|
+
// Bare path is registered too, so a single-package ledger can reference
|
|
162
|
+
// without repeating its own package on every line.
|
|
163
|
+
if (!keyed.has(path))
|
|
164
|
+
keyed.set(path, node);
|
|
165
|
+
}
|
|
166
|
+
// An FQN binds exactly; a bare ref prefers the referrer's own package.
|
|
167
|
+
const exact = keyed.get(ref);
|
|
168
|
+
if (exact !== undefined)
|
|
169
|
+
return exact;
|
|
170
|
+
if (referrerPkg !== "") {
|
|
171
|
+
const local = keyed.get(`${referrerPkg}::${ref}`);
|
|
172
|
+
if (local !== undefined)
|
|
173
|
+
return local;
|
|
174
|
+
}
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
/** The nodes alone, for callers with no use for the address. */
|
|
178
|
+
export function collectRequirements(root) {
|
|
179
|
+
return collectAddressedRequirements(root).map((r) => r.node);
|
|
180
|
+
}
|
|
181
|
+
export function scanRequirements(root) {
|
|
182
|
+
const addressed = collectAddressedRequirements(root);
|
|
183
|
+
return { addressed, claimedObjects: claimedObjectKeys(root, addressed.map((r) => r.node)) };
|
|
184
|
+
}
|
|
126
185
|
/**
|
|
127
186
|
* Resolution keys of every object claimed by a requirement.
|
|
128
187
|
*
|
|
@@ -189,13 +248,12 @@ function coverableEntities(root) {
|
|
|
189
248
|
* prove: that a status is *true*, or that a node actually implements the
|
|
190
249
|
* requirement claiming it. No test can. That truth is the adopter's job.
|
|
191
250
|
*/
|
|
192
|
-
export function checkRequirements(root) {
|
|
251
|
+
export function checkRequirements(root, scan = scanRequirements(root)) {
|
|
193
252
|
const out = [];
|
|
194
|
-
const
|
|
195
|
-
if (
|
|
253
|
+
const { addressed, claimedObjects } = scan;
|
|
254
|
+
if (addressed.length === 0)
|
|
196
255
|
return out; // opt-in by declaration — no requirements, nothing to say
|
|
197
|
-
const
|
|
198
|
-
for (const req of reqs) {
|
|
256
|
+
for (const { node: req, path: reqPath } of addressed) {
|
|
199
257
|
const architectural = req.subType === REQUIREMENT_SUBTYPE_ARCHITECTURAL;
|
|
200
258
|
const level = req.level();
|
|
201
259
|
const refs = req.implementedBy();
|
|
@@ -213,7 +271,7 @@ export function checkRequirements(root) {
|
|
|
213
271
|
if (!levelled || !Number.isInteger(level)
|
|
214
272
|
|| level < REQUIREMENT_MIN_LEVEL || level > REQUIREMENT_MAX_LEVEL) {
|
|
215
273
|
out.push({
|
|
216
|
-
severity: "error", code: ERR_REQUIREMENT_BAD_LEVEL,
|
|
274
|
+
severity: "error", code: ERR_REQUIREMENT_BAD_LEVEL, path: reqPath,
|
|
217
275
|
message: `level must be an integer ${REQUIREMENT_MIN_LEVEL}-${REQUIREMENT_MAX_LEVEL} (got ${String(level)}). ` +
|
|
218
276
|
`L1 solution, L2 segment (app/library), L3 service, L4 object, L5 member.` +
|
|
219
277
|
(architectural ? ` On an architectural requirement the level is optional — omit it for a flat policy.` : ``),
|
|
@@ -225,7 +283,7 @@ export function checkRequirements(root) {
|
|
|
225
283
|
const pl = parent.level();
|
|
226
284
|
if (pl !== undefined && level !== undefined && level <= pl) {
|
|
227
285
|
out.push({
|
|
228
|
-
severity: "error", code: ERR_REQUIREMENT_LEVEL_NESTING,
|
|
286
|
+
severity: "error", code: ERR_REQUIREMENT_LEVEL_NESTING, path: reqPath,
|
|
229
287
|
message: `nested under "${parent.name}" (level ${pl}) but declares level ${level}. ` +
|
|
230
288
|
`Nesting is the hierarchy — a child sits strictly below its parent.`,
|
|
231
289
|
});
|
|
@@ -235,7 +293,7 @@ export function checkRequirements(root) {
|
|
|
235
293
|
// -- the link boundary ----------------------------------------------------
|
|
236
294
|
if (refs.length > 0 && !req.mayReferenceModel()) {
|
|
237
295
|
out.push({
|
|
238
|
-
severity: "error", code: ERR_REQUIREMENT_LINK_ABOVE_FLOOR,
|
|
296
|
+
severity: "error", code: ERR_REQUIREMENT_LINK_ABOVE_FLOOR, path: reqPath,
|
|
239
297
|
message: `'implementedBy' is legal at L${REQUIREMENT_LINK_FLOOR_LEVEL} (object) and ` +
|
|
240
298
|
`L${REQUIREMENT_MAX_LEVEL} (member) only. L1-L3 are organisational and never reference ` +
|
|
241
299
|
`the model — move the links to a nested L${REQUIREMENT_LINK_FLOOR_LEVEL} child.`,
|
|
@@ -262,7 +320,7 @@ export function checkRequirements(root) {
|
|
|
262
320
|
// promised.
|
|
263
321
|
if (!architectural && level === REQUIREMENT_LINK_FLOOR_LEVEL && !isObjectRef) {
|
|
264
322
|
out.push({
|
|
265
|
-
severity: "error", code: ERR_REQUIREMENT_L4_NOT_OBJECT,
|
|
323
|
+
severity: "error", code: ERR_REQUIREMENT_L4_NOT_OBJECT, path: reqPath,
|
|
266
324
|
message: `L${REQUIREMENT_LINK_FLOOR_LEVEL} references an object; '${ref}' names a member. ` +
|
|
267
325
|
`Move it to a nested L${REQUIREMENT_LEVEL_MEMBER} child, or reference the object itself.`,
|
|
268
326
|
});
|
|
@@ -270,7 +328,7 @@ export function checkRequirements(root) {
|
|
|
270
328
|
}
|
|
271
329
|
if (!architectural && level === REQUIREMENT_LEVEL_MEMBER && isObjectRef) {
|
|
272
330
|
out.push({
|
|
273
|
-
severity: "error", code: ERR_REQUIREMENT_L5_NOT_MEMBER,
|
|
331
|
+
severity: "error", code: ERR_REQUIREMENT_L5_NOT_MEMBER, path: reqPath,
|
|
274
332
|
message: `L${REQUIREMENT_LEVEL_MEMBER} references a member (field, view or identity); ` +
|
|
275
333
|
`'${ref}' names an object. Move it to its L${REQUIREMENT_LINK_FLOOR_LEVEL} parent.`,
|
|
276
334
|
});
|
|
@@ -283,13 +341,38 @@ export function checkRequirements(root) {
|
|
|
283
341
|
// job, and the reason this check cannot live in the loader.
|
|
284
342
|
if (req.requiresLiveNodes()) {
|
|
285
343
|
out.push({
|
|
286
|
-
severity: "error", code: ERR_REQUIREMENT_DANGLING_REF,
|
|
344
|
+
severity: "error", code: ERR_REQUIREMENT_DANGLING_REF, path: reqPath,
|
|
287
345
|
message: `'${ref}' does not resolve in the loaded model (status '${String(req.status())}' — ` +
|
|
288
346
|
`the model moved and the requirement is stale).` + didYouMeanHint(root, owner),
|
|
289
347
|
});
|
|
290
348
|
}
|
|
291
349
|
}
|
|
292
350
|
}
|
|
351
|
+
// -- @supersededBy resolution (FR-039) ------------------------------------
|
|
352
|
+
// The 2026-08-10 ruling asked for exactly this at point 4 — "a supersededBy
|
|
353
|
+
// that RESOLVES (FQN-checked, so verify can fail on a dangling one), turning
|
|
354
|
+
// 'deleted in S6' from an inert comment into a build gate" — and 0.24.0
|
|
355
|
+
// deregistered the unresolved string version without ever building it.
|
|
356
|
+
//
|
|
357
|
+
// Resolution is what makes a supersession CHAIN survive. A prose note points
|
|
358
|
+
// one hop and rots when that hop is itself retired; a resolved reference does
|
|
359
|
+
// not, because the target is a real node carrying its own @supersededBy.
|
|
360
|
+
//
|
|
361
|
+
// The target is a REQUIREMENT, not a model node: a capability is replaced by
|
|
362
|
+
// another capability. It resolves package-locally under ADR-0042 through the
|
|
363
|
+
// requirement's own effective package, exactly as @implementedBy does.
|
|
364
|
+
const superseded = req.supersededBy();
|
|
365
|
+
if (superseded !== undefined) {
|
|
366
|
+
const referrerPkg = req.package ?? req.fileDefaultPackage ?? "";
|
|
367
|
+
if (resolveRequirementRef(addressed, superseded, referrerPkg) === undefined) {
|
|
368
|
+
out.push({
|
|
369
|
+
severity: "error", code: ERR_REQUIREMENT_DANGLING_REF, path: reqPath,
|
|
370
|
+
message: `@supersededBy '${superseded}' does not name a requirement in the loaded ` +
|
|
371
|
+
`ledger. It must name the requirement that REPLACED this one — if nothing did, ` +
|
|
372
|
+
`drop the attribute and let \`notes\` carry why the capability went.`,
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
}
|
|
293
376
|
// -- architectural universality, v1: claim-set arithmetic -----------------
|
|
294
377
|
// A live policy claimed by nothing is the audited-base case: declared and
|
|
295
378
|
// applied to nothing. Deliberately NOT a violation-predicate DSL — that
|
|
@@ -312,7 +395,7 @@ export function checkRequirements(root) {
|
|
|
312
395
|
// levelled one, true again at the link floor.
|
|
313
396
|
if (architectural && live && refs.length === 0 && req.mayReferenceModel()) {
|
|
314
397
|
out.push({
|
|
315
|
-
severity: "error", code: ERR_REQUIREMENT_ARCH_NO_IMPLEMENTERS,
|
|
398
|
+
severity: "error", code: ERR_REQUIREMENT_ARCH_NO_IMPLEMENTERS, path: reqPath,
|
|
316
399
|
message: `architectural requirement is '${String(status)}' but nothing implements it. ` +
|
|
317
400
|
`Its check is universality — a claim set of zero means the policy is declared and unapplied.`,
|
|
318
401
|
});
|
|
@@ -321,7 +404,7 @@ export function checkRequirements(root) {
|
|
|
321
404
|
const disposition = req.disposition();
|
|
322
405
|
if (disposition !== undefined && !req.hasOutstandingWork()) {
|
|
323
406
|
out.push({
|
|
324
|
-
severity: "warn", code: WARN_REQUIREMENT_DISPOSITION_NOT_APPLICABLE,
|
|
407
|
+
severity: "warn", code: WARN_REQUIREMENT_DISPOSITION_NOT_APPLICABLE, path: reqPath,
|
|
325
408
|
message: `carries @disposition '${disposition}' but its status is '${String(status)}', which has no ` +
|
|
326
409
|
`outstanding work to decide about. A disposition is meaningful on 'planned' and 'partial' only — ` +
|
|
327
410
|
`on any other status the decision IS the status.`,
|
|
@@ -336,7 +419,7 @@ export function checkRequirements(root) {
|
|
|
336
419
|
// is empty is a capability declared and built by nobody.
|
|
337
420
|
if (!architectural && live && !subtreeClaimsAnything(req)) {
|
|
338
421
|
out.push({
|
|
339
|
-
severity: "warn", code: WARN_REQUIREMENT_NOTHING_IMPLEMENTS,
|
|
422
|
+
severity: "warn", code: WARN_REQUIREMENT_NOTHING_IMPLEMENTS, path: reqPath,
|
|
340
423
|
message: `is '${String(status)}' but neither it nor anything nested under it names an ` +
|
|
341
424
|
`implementing node. A functional requirement's check is existence — a subtree that claims ` +
|
|
342
425
|
`nothing is a capability nobody built.`,
|
|
@@ -344,7 +427,7 @@ export function checkRequirements(root) {
|
|
|
344
427
|
}
|
|
345
428
|
if (disposition === REQUIREMENT_DISPOSITION_DEFERRED && req.trackedBy().length === 0) {
|
|
346
429
|
out.push({
|
|
347
|
-
severity: "warn", code: WARN_REQUIREMENT_DEFERRED_UNTRACKED,
|
|
430
|
+
severity: "warn", code: WARN_REQUIREMENT_DEFERRED_UNTRACKED, path: reqPath,
|
|
348
431
|
message: `is deferred but names no @trackedBy issue. Deferring without a ticket is how a known gap ` +
|
|
349
432
|
`becomes an unknown one — nothing will raise it again.`,
|
|
350
433
|
});
|
|
@@ -392,8 +475,8 @@ export function checkRequirements(root) {
|
|
|
392
475
|
* are deliberately the ones an author would otherwise have to write a script to
|
|
393
476
|
* get: how many gaps are recorded, and how many of those nobody has ruled on.
|
|
394
477
|
*/
|
|
395
|
-
export function summariseRequirements(root) {
|
|
396
|
-
const reqs =
|
|
478
|
+
export function summariseRequirements(root, scan = scanRequirements(root)) {
|
|
479
|
+
const reqs = scan.addressed.map((r) => r.node);
|
|
397
480
|
if (reqs.length === 0)
|
|
398
481
|
return undefined; // opt-in by declaration
|
|
399
482
|
const summary = {
|
|
@@ -420,9 +503,10 @@ export function summariseRequirements(root) {
|
|
|
420
503
|
summary.deferredUntracked++;
|
|
421
504
|
}
|
|
422
505
|
}
|
|
423
|
-
// Both sides of the ratio come from the SAME
|
|
424
|
-
//
|
|
425
|
-
|
|
506
|
+
// Both sides of the ratio come from the SAME scan the gate read, so the printed
|
|
507
|
+
// summary cannot disagree with the diagnostics printed beneath it — previously
|
|
508
|
+
// the same helper, now literally the same result.
|
|
509
|
+
const claimed = scan.claimedObjects;
|
|
426
510
|
for (const ent of coverableEntities(root)) {
|
|
427
511
|
summary.entitiesTotal++;
|
|
428
512
|
if (claimed.has(ent.resolutionKey()))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirement-check.js","sourceRoot":"","sources":["../../../src/lib/requirement-check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"requirement-check.js","sourceRoot":"","sources":["../../../src/lib/requirement-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type MetaData } from "@metaobjectsdev/metadata";
|
|
2
|
+
import { type AddressedRequirement, type Diagnostic } from "./requirement-check.js";
|
|
3
|
+
export declare const WARN_REQUIREMENT_NAME_NOT_ADDRESSABLE = "WARN_REQUIREMENT_NAME_NOT_ADDRESSABLE";
|
|
4
|
+
export declare const WARN_REQUIREMENT_NAME_READS_AS_PROSE = "WARN_REQUIREMENT_NAME_READS_AS_PROSE";
|
|
5
|
+
export declare const WARN_REQUIREMENT_NAME_RESTATES_STATEMENT = "WARN_REQUIREMENT_NAME_RESTATES_STATEMENT";
|
|
6
|
+
export declare const WARN_REQUIREMENT_PROSE_DUPLICATED = "WARN_REQUIREMENT_PROSE_DUPLICATED";
|
|
7
|
+
export declare const WARN_REQUIREMENT_PROSE_EMPTY = "WARN_REQUIREMENT_PROSE_EMPTY";
|
|
8
|
+
export declare const WARN_REQUIREMENT_INERT_DOC_SLOT = "WARN_REQUIREMENT_INERT_DOC_SLOT";
|
|
9
|
+
export declare const WARN_REQUIREMENT_TITLE_IS_AN_ID = "WARN_REQUIREMENT_TITLE_IS_AN_ID";
|
|
10
|
+
/**
|
|
11
|
+
* Lint every `requirement.*` node in the loaded model.
|
|
12
|
+
*
|
|
13
|
+
* Returns `[]` for a model declaring none — opt-in by declaration, the same way
|
|
14
|
+
* the gate and the docs surface are, so turning this on by default is a no-op for
|
|
15
|
+
* every project without a ledger.
|
|
16
|
+
*
|
|
17
|
+
* What it CANNOT tell you: whether a statement is true, whether a description is
|
|
18
|
+
* useful, or whether the counterexample would actually falsify the claim. Those
|
|
19
|
+
* are the judgements the ledger exists to record and no check reaches them. Every
|
|
20
|
+
* finding below is about a slot's MECHANICS — is this content reachable, is it
|
|
21
|
+
* distinct from its neighbour, is the name still an address.
|
|
22
|
+
*/
|
|
23
|
+
export declare function lintRequirements(root: MetaData,
|
|
24
|
+
/** The run's already-collected requirements, when one exists. The lint takes the
|
|
25
|
+
* ADDRESSES alone rather than the gate's full `RequirementScan`: it has nothing
|
|
26
|
+
* to do with who claims what, and asking for the claim set would make a
|
|
27
|
+
* standalone call pay for a resolution it never reads. */
|
|
28
|
+
addressed?: readonly AddressedRequirement[]): Diagnostic[];
|
|
29
|
+
//# sourceMappingURL=requirement-lint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirement-lint.d.ts","sourceRoot":"","sources":["../../../src/lib/requirement-lint.ts"],"names":[],"mappings":"AAoCA,OAAO,EAcL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EACyB,KAAK,oBAAoB,EAAE,KAAK,UAAU,EACzE,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,qCAAqC,0CAA0C,CAAC;AAC7F,eAAO,MAAM,oCAAoC,yCAAyC,CAAC;AAC3F,eAAO,MAAM,wCAAwC,6CAA6C,CAAC;AACnG,eAAO,MAAM,iCAAiC,sCAAsC,CAAC;AACrF,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAC3E,eAAO,MAAM,+BAA+B,oCAAoC,CAAC;AACjF,eAAO,MAAM,+BAA+B,oCAAoC,CAAC;AA2JjF;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ;AACd;;;2DAG2D;AAC3D,SAAS,GAAE,SAAS,oBAAoB,EAAuC,GAC9E,UAAU,EAAE,CAiHd"}
|