@cat-factory/agents 0.100.0 → 0.102.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/foundationalServices/FoundationalServiceCatalogService.d.ts +74 -28
- package/dist/foundationalServices/FoundationalServiceCatalogService.d.ts.map +1 -1
- package/dist/foundationalServices/FoundationalServiceCatalogService.js +122 -62
- package/dist/foundationalServices/FoundationalServiceCatalogService.js.map +1 -1
- package/dist/foundationalServices/FoundationalServiceSourceService.d.ts +34 -4
- package/dist/foundationalServices/FoundationalServiceSourceService.d.ts.map +1 -1
- package/dist/foundationalServices/FoundationalServiceSourceService.js +150 -40
- package/dist/foundationalServices/FoundationalServiceSourceService.js.map +1 -1
- package/dist/foundationalServices/contract-validation.d.ts +10 -4
- package/dist/foundationalServices/contract-validation.d.ts.map +1 -1
- package/dist/foundationalServices/contract-validation.js +23 -34
- package/dist/foundationalServices/contract-validation.js.map +1 -1
- package/dist/foundationalServices/folder-scan.d.ts +24 -4
- package/dist/foundationalServices/folder-scan.d.ts.map +1 -1
- package/dist/foundationalServices/folder-scan.js +44 -4
- package/dist/foundationalServices/folder-scan.js.map +1 -1
- package/dist/foundationalServices/foundational-catalog.d.ts +9 -5
- package/dist/foundationalServices/foundational-catalog.d.ts.map +1 -1
- package/dist/foundationalServices/foundational-catalog.js +24 -13
- package/dist/foundationalServices/foundational-catalog.js.map +1 -1
- package/dist/foundationalServices/foundational-source.logic.d.ts.map +1 -1
- package/dist/foundationalServices/foundational-source.logic.js +13 -4
- package/dist/foundationalServices/foundational-source.logic.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NotFoundError, ValidationError, assertFound, detectContractFormat, isContractCandidatePath, noopLogger, runBestEffort, summarizeContract, } from '@cat-factory/kernel';
|
|
1
|
+
import { NotFoundError, ValidationError, assertFound, detectContractFormat, isContractCandidatePath, isContractModulePath, noopLogger, runBestEffort, summarizeContract, } from '@cat-factory/kernel';
|
|
2
2
|
import pMap from 'p-map';
|
|
3
3
|
import { normalizeDirPath, probeRepoSourceStatus, syncRepoSource, } from '../repoSourceSync/repo-source-sync.js';
|
|
4
4
|
import { scanContractFolder } from './folder-scan.js';
|
|
@@ -141,7 +141,7 @@ export class FoundationalServiceSourceService {
|
|
|
141
141
|
// Accumulated by the reconcile and lifted onto the result below. The shared engine has no
|
|
142
142
|
// notion of a dropped file, and giving it one would put a foundational-services concern in
|
|
143
143
|
// the module the fragment and skill libraries share.
|
|
144
|
-
const report = { skipped: 0,
|
|
144
|
+
const report = { skipped: 0, folderScan: null };
|
|
145
145
|
const outcome = await syncRepoSource({
|
|
146
146
|
source,
|
|
147
147
|
installationId,
|
|
@@ -154,6 +154,14 @@ export class FoundationalServiceSourceService {
|
|
|
154
154
|
// it moved (manifest OR contract document), so every service is unchanged and not a
|
|
155
155
|
// single per-directory read is paid for.
|
|
156
156
|
if (!commitMoved) {
|
|
157
|
+
// A source that has NEVER synced reaches this line only because the head probe found
|
|
158
|
+
// no commit for its path AT ALL — for a repo we can read, that means the path is not
|
|
159
|
+
// there. Say so: the walk short-circuits before it could observe the empty listing,
|
|
160
|
+
// so without this a link with a mistyped folder syncs "successfully" forever, and the
|
|
161
|
+
// author is told 0 updated / 0 removed by a source that can never produce anything.
|
|
162
|
+
if (source.mode === 'folder' && source.lastSyncedCommit === null) {
|
|
163
|
+
report.folderScan = 'missing';
|
|
164
|
+
}
|
|
157
165
|
return {
|
|
158
166
|
liveIds: new Set(existing.map((s) => s.serviceId)),
|
|
159
167
|
upserted: 0,
|
|
@@ -174,16 +182,32 @@ export class FoundationalServiceSourceService {
|
|
|
174
182
|
updateSyncState: (commit, now) => this.deps.foundationalServiceSourceRepository.updateSyncState(source.id, commit, now),
|
|
175
183
|
invalidate: () => this.deps.invalidateCatalog?.(source.ownerKind, source.ownerId) ?? Promise.resolve(),
|
|
176
184
|
});
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
+
this.warnAboutCoverage(source, report.folderScan);
|
|
186
|
+
return { ...outcome, skippedFiles: report.skipped, folderScan: report.folderScan };
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Log the two coverage outcomes an operator would want to know about, each named for the fix
|
|
190
|
+
* it needs — a truncated walk asks for a narrower link, a missing folder for a corrected one.
|
|
191
|
+
*
|
|
192
|
+
* This is the ONLY standing signal an AUTOREFRESH pass leaves: the sweep discards the sync
|
|
193
|
+
* result, so a folder that vanished upstream reaches a human through this line or not at all.
|
|
194
|
+
* (A manual resync also surfaces both on the SPA's toast.)
|
|
195
|
+
*/
|
|
196
|
+
warnAboutCoverage(source, coverage) {
|
|
197
|
+
if (coverage === null || coverage === 'complete')
|
|
198
|
+
return;
|
|
199
|
+
const fields = {
|
|
200
|
+
sourceId: source.id,
|
|
201
|
+
ownerKind: source.ownerKind,
|
|
202
|
+
ownerId: source.ownerId,
|
|
203
|
+
dirPath: source.dirPath,
|
|
204
|
+
recursive: source.recursive,
|
|
205
|
+
};
|
|
206
|
+
if (coverage === 'truncated') {
|
|
207
|
+
this.log.warn('Foundational folder source truncated by a scan cap', fields);
|
|
208
|
+
return;
|
|
185
209
|
}
|
|
186
|
-
|
|
210
|
+
this.log.warn('Foundational folder source points at a folder that is not there', fields);
|
|
187
211
|
}
|
|
188
212
|
/**
|
|
189
213
|
* `folder` mode: ONE service, named on the link, whose contracts are every contract document
|
|
@@ -197,10 +221,11 @@ export class FoundationalServiceSourceService {
|
|
|
197
221
|
root: source.dirPath,
|
|
198
222
|
recursive: source.recursive,
|
|
199
223
|
});
|
|
200
|
-
|
|
201
|
-
//
|
|
202
|
-
//
|
|
203
|
-
|
|
224
|
+
report.folderScan = scan.coverage;
|
|
225
|
+
// Candidates the WALK declined (too large to read) join the ones that failed on their
|
|
226
|
+
// bodies: both are files that looked like contracts and are not in the catalog, which is
|
|
227
|
+
// the one question the count answers.
|
|
228
|
+
report.skipped += scan.skippedCandidates;
|
|
204
229
|
const contracts = await this.readContracts({
|
|
205
230
|
source,
|
|
206
231
|
installationId,
|
|
@@ -212,25 +237,37 @@ export class FoundationalServiceSourceService {
|
|
|
212
237
|
contractIdFor: (path) => contractIdFromRelativePath(path, source.dirPath),
|
|
213
238
|
});
|
|
214
239
|
if (contracts.length === 0) {
|
|
215
|
-
//
|
|
240
|
+
// THREE different states produce zero contracts, and the disposition splits on whether we
|
|
241
|
+
// have EVIDENCE about the folder — never on the empty result alone, which they share.
|
|
216
242
|
//
|
|
217
|
-
//
|
|
218
|
-
//
|
|
219
|
-
//
|
|
220
|
-
//
|
|
221
|
-
// exactly as `directory` mode retires a directory that lost its
|
|
222
|
-
// incomplete instead would hold the pin back forever: every
|
|
223
|
-
// whole subtree to reach the same answer while the source
|
|
224
|
-
//
|
|
225
|
-
if (scan.paths.length === 0)
|
|
243
|
+
// STABLE — the walk saw the whole folder (`complete`), or the folder is not there at all
|
|
244
|
+
// (`missing`; git cannot store an empty directory, so an empty root listing means absent),
|
|
245
|
+
// and nothing under it even LOOKED like a contract. A spec folder nobody has filled in
|
|
246
|
+
// yet, one holding only prose, or one emptied upstream. Pin, and let the tombstone sweep
|
|
247
|
+
// retire the service, exactly as `directory` mode retires a directory that lost its
|
|
248
|
+
// `service.md`. Calling this incomplete instead would hold the pin back forever: every
|
|
249
|
+
// later sweep would re-walk the whole subtree to reach the same answer while the source
|
|
250
|
+
// never stopped reporting changes upstream.
|
|
251
|
+
if (scan.paths.length === 0 && scan.coverage !== 'truncated') {
|
|
226
252
|
return { liveIds: new Set(), upserted: 0, unchanged: 0 };
|
|
227
|
-
|
|
228
|
-
//
|
|
229
|
-
//
|
|
230
|
-
//
|
|
231
|
-
//
|
|
232
|
-
|
|
253
|
+
}
|
|
254
|
+
// TRANSIENT — either a cap stopped the walk BEFORE it reached any candidate, or every
|
|
255
|
+
// candidate it did reach read back unusable.
|
|
256
|
+
//
|
|
257
|
+
// The first is why the stable branch above tests coverage and not just the count: a
|
|
258
|
+
// truncated walk that found nothing is a statement about the WALK, not about the folder.
|
|
259
|
+
// A recursive link over a wide tree whose specs sit below the visited prefix would
|
|
260
|
+
// otherwise retire a live service on the strength of directories we declined to list, and
|
|
261
|
+
// pin the commit so it stayed retired. (A truncated walk that DID produce contracts is
|
|
262
|
+
// stable and pins normally — it is only the absence of evidence that is not evidence.)
|
|
263
|
+
//
|
|
264
|
+
// The second is the same disposition `files` mode takes, for the same reason: retiring a
|
|
265
|
+
// service over a momentary read failure strips a capability from every subsequent design.
|
|
266
|
+
//
|
|
267
|
+
// Both leave the pin behind so the next pass re-reads, and keep a prior row alive.
|
|
268
|
+
if (prior) {
|
|
233
269
|
return { liveIds: new Set([serviceId]), upserted: 0, unchanged: 1, incomplete: true };
|
|
270
|
+
}
|
|
234
271
|
return { liveIds: new Set(), upserted: 0, unchanged: 0, incomplete: true };
|
|
235
272
|
}
|
|
236
273
|
// An OPTIONAL `service.md` at the folder root enriches the catalog entry; it can never
|
|
@@ -334,6 +371,9 @@ export class FoundationalServiceSourceService {
|
|
|
334
371
|
now,
|
|
335
372
|
report,
|
|
336
373
|
contractIdFor: contractIdFromPath,
|
|
374
|
+
// The link is an explicit list a human wrote, so a named module the set's contract
|
|
375
|
+
// imports rides with it rather than being dropped as unrecognised.
|
|
376
|
+
admitSupportingModules: true,
|
|
337
377
|
});
|
|
338
378
|
if (contracts.length === 0) {
|
|
339
379
|
// Every linked file read back unusable. Keep a prior row alive and leave the pin behind
|
|
@@ -376,10 +416,21 @@ export class FoundationalServiceSourceService {
|
|
|
376
416
|
* tells a downstream agent how to read it, and a "contract" nobody can interpret is worse in
|
|
377
417
|
* an agent's context than an absent one.
|
|
378
418
|
*
|
|
379
|
-
* A path
|
|
380
|
-
*
|
|
381
|
-
* fails is COUNTED on the report
|
|
382
|
-
* author expected has no other explanation
|
|
419
|
+
* A path that could never yield a format is dropped without a read and without a count — it
|
|
420
|
+
* is a README or a `package.json` beside the specs, not a contract that failed. Everything
|
|
421
|
+
* else that fails is COUNTED on the report and NAMED in the log (see {@link skip}), because a
|
|
422
|
+
* link that produced fewer contracts than its author expected has no other explanation
|
|
423
|
+
* available to them.
|
|
424
|
+
*
|
|
425
|
+
* `admitSupportingModules` relaxes exactly one of those rules, for `files` mode only: a
|
|
426
|
+
* TypeScript module that references no contract library rides along under the format the rest
|
|
427
|
+
* of the set resolved to. A contract module is a module GRAPH — the `defineApiContract` module
|
|
428
|
+
* plus the schema modules it imports — and only the entry point names the library, so without
|
|
429
|
+
* this the linked halves of ONE contract are dropped and a coder is handed imports that point
|
|
430
|
+
* at nothing. It is safe HERE and nowhere else because a `files` link is an explicit list a
|
|
431
|
+
* human wrote: the link plays the same role the `format` field plays on an upload. A `folder`
|
|
432
|
+
* or `directory` scan walks paths nobody named, so it keeps the content-led rule, or one link
|
|
433
|
+
* would sweep a repo's TypeScript into an agent's context as "contracts".
|
|
383
434
|
*/
|
|
384
435
|
async readContracts(params) {
|
|
385
436
|
const { source, installationId, readRef, serviceId, paths, now, report, contractIdFor } = params;
|
|
@@ -390,19 +441,33 @@ export class FoundationalServiceSourceService {
|
|
|
390
441
|
// the decision pass has to run in a deterministic order or which contract survives would
|
|
391
442
|
// depend on which response arrived first. `pMap` resolves in input order, so it does.
|
|
392
443
|
const fetched = await pMap(paths.filter(isContractCandidatePath), async (path) => ({ path, file: await this.readFile(source, installationId, path, readRef) }), { concurrency: CONTRACT_READ_CONCURRENCY });
|
|
393
|
-
|
|
444
|
+
// Detect each readable file's format ONCE. The set-wide decision below and the per-file one
|
|
445
|
+
// in the loop are the same question asked twice, and content detection scans a document that
|
|
446
|
+
// can run to `MAX_CONTRACT_BODY_CHARS`.
|
|
447
|
+
const detected = fetched.map(({ path, file }) => ({
|
|
448
|
+
path,
|
|
449
|
+
file,
|
|
450
|
+
format: file ? detectContractFormat(path, file.content) : null,
|
|
451
|
+
}));
|
|
452
|
+
// The format the SET resolved to, decided over every readable file before any is stored: a
|
|
453
|
+
// supporting module can be linked before the contract that names the library, so a
|
|
454
|
+
// left-to-right pass would drop it on the strength of files it had not read yet.
|
|
455
|
+
const setModuleFormat = params.admitSupportingModules
|
|
456
|
+
? moduleFormatOfSet(detected.map((entry) => entry.format))
|
|
457
|
+
: null;
|
|
458
|
+
for (const { path, file, format: detectedFormat } of detected) {
|
|
394
459
|
if (!file) {
|
|
395
|
-
report
|
|
460
|
+
this.skip(report, source, path, 'unreadable');
|
|
396
461
|
continue;
|
|
397
462
|
}
|
|
398
|
-
const format =
|
|
463
|
+
const format = detectedFormat ?? supportingModuleFormat(path, setModuleFormat);
|
|
399
464
|
if (!format) {
|
|
400
|
-
report
|
|
465
|
+
this.skip(report, source, path, 'unrecognised');
|
|
401
466
|
continue;
|
|
402
467
|
}
|
|
403
468
|
const contractId = contractIdFor(path);
|
|
404
469
|
if (seen.has(contractId)) {
|
|
405
|
-
report
|
|
470
|
+
this.skip(report, source, path, 'duplicate-contract-id', { contractId });
|
|
406
471
|
continue;
|
|
407
472
|
}
|
|
408
473
|
seen.add(contractId);
|
|
@@ -431,6 +496,26 @@ export class FoundationalServiceSourceService {
|
|
|
431
496
|
}
|
|
432
497
|
return out;
|
|
433
498
|
}
|
|
499
|
+
/**
|
|
500
|
+
* Count one dropped candidate and name it in the log.
|
|
501
|
+
*
|
|
502
|
+
* The count alone answers "did I lose anything?" but never "which file, and why?" — and one
|
|
503
|
+
* reason is undiagnosable without the log line: a DUPLICATE contract id silently keeps the
|
|
504
|
+
* first claimant, so the losing document is absent from the catalog under a name that is
|
|
505
|
+
* present. `debug` rather than `warn` because a thin catalog entry is usually intended (prose
|
|
506
|
+
* and drafts sit beside specs); the count on the sync result is what asks for attention.
|
|
507
|
+
*/
|
|
508
|
+
skip(report, source, path, reason, fields) {
|
|
509
|
+
report.skipped++;
|
|
510
|
+
this.log.debug('Skipped a foundational contract candidate', {
|
|
511
|
+
sourceId: source.id,
|
|
512
|
+
ownerKind: source.ownerKind,
|
|
513
|
+
ownerId: source.ownerId,
|
|
514
|
+
path,
|
|
515
|
+
reason,
|
|
516
|
+
...fields,
|
|
517
|
+
});
|
|
518
|
+
}
|
|
434
519
|
async writeService(source, identity, contracts, prior, readRef, now) {
|
|
435
520
|
await this.deps.foundationalServiceRepository.upsert({
|
|
436
521
|
serviceId: identity.serviceId,
|
|
@@ -472,6 +557,31 @@ export class FoundationalServiceSourceService {
|
|
|
472
557
|
return installationId;
|
|
473
558
|
}
|
|
474
559
|
}
|
|
560
|
+
/**
|
|
561
|
+
* The single TypeScript contract format a linked SET resolved to, or null when it resolved to
|
|
562
|
+
* none or to more than one.
|
|
563
|
+
*
|
|
564
|
+
* More than one is deliberately null rather than a pick: with a `@toad-contracts/core` module
|
|
565
|
+
* and a `@lokalise/api-contract` module in one linked set there is no telling which library an
|
|
566
|
+
* unrecognised module supports, and attaching it to the wrong one would present a coder with a
|
|
567
|
+
* module the contract beside it does not import.
|
|
568
|
+
*/
|
|
569
|
+
function moduleFormatOfSet(detected) {
|
|
570
|
+
const formats = new Set(detected.filter((format) => format !== null && format !== 'openapi'));
|
|
571
|
+
return formats.size === 1 ? [...formats][0] : null;
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* A linked module the set's format vouches for; null for anything that is not a module.
|
|
575
|
+
*
|
|
576
|
+
* "Is this a module?" is kernel's `isContractModulePath`, not a local extension list, so this
|
|
577
|
+
* admits exactly what `detectContractFormat` would have looked at — a second list here would
|
|
578
|
+
* silently drop a linked `.mts` schema module the detector beside it recognises.
|
|
579
|
+
*/
|
|
580
|
+
function supportingModuleFormat(path, setFormat) {
|
|
581
|
+
if (!setFormat)
|
|
582
|
+
return null;
|
|
583
|
+
return isContractModulePath(path) ? setFormat : null;
|
|
584
|
+
}
|
|
475
585
|
function toWire(record) {
|
|
476
586
|
return {
|
|
477
587
|
id: record.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FoundationalServiceSourceService.js","sourceRoot":"","sources":["../../src/foundationalServices/FoundationalServiceSourceService.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,IAAI,MAAM,OAAO,CAAA;AACxB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,GACf,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,GAChB,MAAM,gCAAgC,CAAA;AAkBvC;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAA;AA0BnC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,gCAAgC;IAGd,IAAI;IAFhB,GAAG,CAAQ;IAE5B,YAA6B,IAAkD;oBAAlD,IAAI;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAA;IACtC,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,IAAI,CACR,SAAuC,EACvC,OAAe;QAEf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAChG,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,IAAI,CACR,SAAuC,EACvC,OAAe,EACf,KAAyC;QAEzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAChF,uFAAuF;QACvF,0FAA0F;QAC1F,gDAAgD;QAChD,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACvF,0FAA0F;QAC1F,wFAAwF;QACxF,wDAAwD;QACxD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAA;QACtE,MAAM,MAAM,GAAoC;YAC9C,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxC,SAAS;YACT,OAAO;YACP,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;YACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM;YACtC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO;YACP,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAC9D,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAClD,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1D,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC9D,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YACpE,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI;SAChB,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;IACvB,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,MAAM,CACV,SAAuC,EACvC,OAAe,EACf,QAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACrF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAC/E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CACpD,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,SAAS,CAClB,CAAA;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC9E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClF,CAAC;IAED,yFAAyF;IACzF,KAAK,CAAC,MAAM,CACV,SAAuC,EACvC,OAAe,EACf,QAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAC7D,OAAO,qBAAqB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;IAChG,CAAC;IAED,kGAAkG;IAClG,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,MAAM,MAAM,GAAG,WAAW,CACxB,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,QAAQ,CAAC,EACjE,2BAA2B,EAC3B,QAAQ,CACT,CAAA;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;YAAE,MAAM,IAAI,aAAa,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAA;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,IAAI,CACR,SAAuC,EACvC,OAAe,EACf,QAAgB;QAEhB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAAC,YAAoB,EAAE,KAAa;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,SAAS,CACzE,GAAG,GAAG,YAAY,EAClB,KAAK,CACN,CAAA;QACD,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,IAAI,CAAC,GAAG,EACR,oCAAoC,EACpC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAC1B,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAC9E,CAAA;YACD,IAAI,MAAM;gBAAE,MAAM,EAAE,CAAA;QACtB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,2EAA2E;IAEnE,KAAK,CAAC,OAAO,CACnB,MAAuC;QAEvC,mEAAmE;QACnE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAC7D,0FAA0F;QAC1F,2FAA2F;QAC3F,qDAAqD;QACrD,MAAM,MAAM,GAAe,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC3D,MAAM,OAAO,GAAG,MAAM,cAAc,CAA4B;YAC9D,MAAM;YACN,cAAc;YACd,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YACpC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YAC1B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACnF,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;YAC9B,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE;gBAC3D,wFAAwF;gBACxF,oFAAoF;gBACpF,yCAAyC;gBACzC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO;wBACL,OAAO,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBAClD,QAAQ,EAAE,CAAC;wBACX,SAAS,EAAE,QAAQ,CAAC,MAAM;qBAC3B,CAAA;gBACH,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAA;gBAC9E,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAA;gBAChE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAA;gBAClE,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAA;YAC3C,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;gBAChC,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,UAAU,CACtD,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,SAAS,EACjB,GAAG,CACJ,CAAA;gBACD,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CACpD,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,SAAS,CAClB,CAAA;YACH,CAAC;YACD,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAC/B,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC;YACvF,UAAU,EAAE,GAAG,EAAE,CACf,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;SACvF,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oDAAoD,EAAE;gBAClE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAA;IAClF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAC3B,MAAuC,EACvC,cAAsB,EACtB,OAAe,EACf,GAAW,EACX,QAAqC,EACrC,MAAkB;QAElB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;QAC7D,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;YACpC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC;YACtE,IAAI,EAAE,MAAM,CAAC,OAAO;YACpB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAA;QACF,0FAA0F;QAC1F,uFAAuF;QACvF,qFAAqF;QACrF,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YACzC,MAAM;YACN,cAAc;YACd,OAAO;YACP,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG;YACH,MAAM;YACN,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;SAC1E,CAAC,CAAA;QACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,2FAA2F;YAC3F,EAAE;YACF,2FAA2F;YAC3F,2FAA2F;YAC3F,0FAA0F;YAC1F,4FAA4F;YAC5F,yFAAyF;YACzF,0FAA0F;YAC1F,0FAA0F;YAC1F,qFAAqF;YACrF,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;YACrF,oFAAoF;YACpF,yFAAyF;YACzF,wFAAwF;YACxF,kFAAkF;YAClF,qBAAqB;YACrB,IAAI,KAAK;gBACP,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;YACvF,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;QAC5E,CAAC;QACD,uFAAuF;QACvF,wFAAwF;QACxF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC5C,MAAM,EACN,cAAc,EACd,OAAO,EACP,IAAI,CAAC,YAAY,CAClB,CAAA;QACD,MAAM,IAAI,CAAC,YAAY,CACrB,MAAM,EACN;YACE,SAAS;YACT,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI,QAAQ,EAAE,OAAO,IAAI,WAAW;YAClE,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,EAAE;YACxC,YAAY,EAAE,QAAQ,EAAE,YAAY,IAAI,EAAE;YAC1C,UAAU,EAAE,MAAM,CAAC,OAAO;SAC3B,EACD,SAAS,EACT,KAAK,EACL,OAAO,EACP,GAAG,CACJ,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;IACrE,CAAC;IAED,mGAAmG;IAC3F,KAAK,CAAC,kBAAkB,CAC9B,MAAuC,EACvC,cAAsB,EACtB,OAAe,EACf,YAA2B;QAE3B,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAA;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QAC/E,OAAO,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,CAAC;IAED,wFAAwF;IAChF,KAAK,CAAC,oBAAoB,CAChC,MAAuC,EACvC,cAAsB,EACtB,OAAe,EACf,GAAW,EACX,QAAqC,EACrC,MAAkB;QAElB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,uFAAuF;QACvF,4DAA4D;QAC5D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAC/E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;aAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;QACnC,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,UAAU,GAAG,KAAK,CAAA;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC3C,uFAAuF;YACvF,kFAAkF;YAClF,aAAa;YACb,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAQ;YACtC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC7E,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,qBAAqB,CAC3E,CAAA;YACD,+EAA+E;YAC/E,uFAAuF;YACvF,oDAAoD;YACpD,IAAI,CAAC,aAAa;gBAAE,SAAQ;YAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC7F,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,qFAAqF;gBACrF,oFAAoF;gBACpF,uCAAuC;gBACvC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACzC,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;oBACtB,UAAU,GAAG,IAAI,CAAA;gBACnB,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;gBACzC,MAAM;gBACN,cAAc;gBACd,OAAO;gBACP,SAAS;gBACT,KAAK,EAAE,OAAO;qBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC;qBACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrB,GAAG;gBACH,MAAM;gBACN,aAAa,EAAE,kBAAkB;aAClC,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,YAAY,CACrB,MAAM,EACN;gBACE,SAAS;gBACT,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,UAAU,EAAE,GAAG,CAAC,IAAI;aACrB,EACD,SAAS,EACT,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAC3B,OAAO,EACP,GAAG,CACJ,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACtB,QAAQ,EAAE,CAAA;QACZ,CAAC;QACD,wFAAwF;QACxF,wFAAwF;QACxF,mCAAmC;QACnC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACzF,CAAC;IAED,0FAA0F;IAClF,KAAK,CAAC,cAAc,CAC1B,MAAuC,EACvC,cAAsB,EACtB,OAAe,EACf,GAAW,EACX,QAAqC,EACrC,MAAkB;QAElB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;QAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YACzC,MAAM;YACN,cAAc;YACd,OAAO;YACP,SAAS;YACT,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,GAAG;YACH,MAAM;YACN,aAAa,EAAE,kBAAkB;SAClC,CAAC,CAAA;QACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,wFAAwF;YACxF,qFAAqF;YACrF,kCAAkC;YAClC,IAAI,KAAK;gBACP,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;YACvF,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;QAC5E,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CACrB,MAAM,EACN;YACE,SAAS;YACT,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI,WAAW;YAC7C,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,MAAM,CAAC,OAAO;SAC3B,EACD,SAAS,EACT,KAAK,EACL,OAAO,EACP,GAAG,CACJ,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;IACrE,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CAAC,MAAuC;QAIjE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC,8DAA8D,EAAE;gBACxF,MAAM,EAAE,qCAAqC;gBAC7C,QAAQ,EAAE,MAAM,CAAC,EAAE;aACpB,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAA;IACzE,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,aAAa,CAAC,MAS3B;QACC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QAChG,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,4FAA4F;QAC5F,0FAA0F;QAC1F,yFAAyF;QACzF,sFAAsF;QACtF,MAAM,OAAO,GAAG,MAAM,IAAI,CACxB,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,EACrC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,EAC5F,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAC3C,CAAA;QACD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,SAAQ;YACV,CAAC;YACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YACvD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,SAAQ;YACV,CAAC;YACD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACpB,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,UAAU;gBACV,MAAM;gBACN,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC;gBAClC,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,OAAO;aACnB,CAAC,CAAA;YACF,GAAG,CAAC,IAAI,CAAC;gBACP,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS;gBACT,UAAU;gBACV,MAAM;gBACN,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,IAAI,CAAC,OAAO;gBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,IAAI,CAAC,GAAG;gBACnB,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,MAAuC,EACvC,QAOC,EACD,SAA8B,EAC9B,KAA4C,EAC5C,OAAe,EACf,GAAW;QAEX,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC;YACnD,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,YAAY,EAAE,OAAO;YACrB,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,GAAG;YAClC,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CACrD,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,QAAQ,CAAC,SAAS,EAClB,SAAS,CACV,CAAA;IACH,CAAC;IAEO,OAAO,CACb,MAAuC,EACvC,cAAsB,EACtB,IAAY,EACZ,OAAe;QAEf,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CACzC,cAAc,EACd,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAClD,IAAI,EACJ,OAAO,CACR,CAAA;IACH,CAAC;IAEO,QAAQ,CACd,MAAuC,EACvC,cAAsB,EACtB,IAAY,EACZ,OAAe;QAEf,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAC1C,cAAc,EACd,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAClD,IAAI,EACJ,OAAO,CACR,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,SAAuC,EACvC,OAAe,EACf,QAAgB;QAEhB,MAAM,MAAM,GAAG,WAAW,CACxB,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,QAAQ,CAAC,EACjE,2BAA2B,EAC3B,QAAQ,CACT,CAAA;QACD,0FAA0F;QAC1F,2DAA2D;QAC3D,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9F,MAAM,IAAI,aAAa,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,MAAuC;QACvE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9F,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,eAAe,CACvB,4FAA4F,EAC5F,EAAE,MAAM,EAAE,qCAAqC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CACvE,CAAA;QACH,CAAC;QACD,OAAO,cAAc,CAAA;IACvB,CAAC;CACF;AAED,SAAS,MAAM,CAAC,MAAuC;IACrD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"FoundationalServiceSourceService.js","sourceRoot":"","sources":["../../src/foundationalServices/FoundationalServiceSourceService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import type { UploadApiContract } from '@cat-factory/contracts';
|
|
2
2
|
/**
|
|
3
|
-
* Refuse
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Refuse a supplied service definition whose capability tags near-miss a reserved one, or whose
|
|
4
|
+
* contract set is not what it declares. Returns silently when the definition is acceptable.
|
|
5
|
+
*
|
|
6
|
+
* The FIRST problem decides the thrown `reason`, because the wire envelope carries one; the
|
|
7
|
+
* rest ride `details.problems`, so a registrant fixing a batch sees the whole round rather than
|
|
8
|
+
* peeling them off one request at a time.
|
|
6
9
|
*/
|
|
7
|
-
export declare function
|
|
10
|
+
export declare function assertValidDefinition(input: {
|
|
11
|
+
capabilities?: string[];
|
|
12
|
+
contracts?: UploadApiContract[];
|
|
13
|
+
}): void;
|
|
8
14
|
//# sourceMappingURL=contract-validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-validation.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/contract-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"contract-validation.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/contract-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAoB/D;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAChC,GAAG,IAAI,CAQP"}
|
|
@@ -1,43 +1,32 @@
|
|
|
1
|
-
import { ValidationError,
|
|
1
|
+
import { ValidationError, describeFoundationalProblem, validateFoundationalDefinition, } from '@cat-factory/kernel';
|
|
2
2
|
// ---------------------------------------------------------------------------
|
|
3
|
-
// Write-boundary validation for
|
|
3
|
+
// Write-boundary validation for a supplied service definition.
|
|
4
4
|
//
|
|
5
|
-
// The
|
|
6
|
-
//
|
|
7
|
-
//
|
|
5
|
+
// The RULES live in kernel (`validateFoundationalDefinition`), because a deployment's
|
|
6
|
+
// code-registered service is validated by exactly the same checks at boot and a second copy is
|
|
7
|
+
// a second place to relax one. This module is only the HTTP-shaped half: turn the problems into
|
|
8
|
+
// a `ValidationError` carrying the machine-readable `reason` the SPA keys off.
|
|
8
9
|
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
// - the two TypeScript formats are checked only for the LIBRARY IMPORT they claim. They
|
|
13
|
-
// cannot be evaluated (no code generation in a Worker isolate, and executing an uploaded
|
|
14
|
-
// module would be a remote-code-execution hole), so the honest check is that the document
|
|
15
|
-
// is what its declared format says it is; the agent reads the source itself.
|
|
10
|
+
// The point of validating at all is to refuse a definition that will read as garbage to a
|
|
11
|
+
// downstream agent at the moment someone supplies it, rather than at the moment a coder is
|
|
12
|
+
// handed it.
|
|
16
13
|
// ---------------------------------------------------------------------------
|
|
17
|
-
/** The package import each TypeScript contract format is recognised by. */
|
|
18
|
-
const REQUIRED_IMPORT = {
|
|
19
|
-
'toad-contract': { package: '@toad-contracts/', label: '@toad-contracts/core' },
|
|
20
|
-
'lokalise-api-contract': { package: '@lokalise/api-contract', label: '@lokalise/api-contract' },
|
|
21
|
-
};
|
|
22
14
|
/**
|
|
23
|
-
* Refuse
|
|
24
|
-
*
|
|
25
|
-
*
|
|
15
|
+
* Refuse a supplied service definition whose capability tags near-miss a reserved one, or whose
|
|
16
|
+
* contract set is not what it declares. Returns silently when the definition is acceptable.
|
|
17
|
+
*
|
|
18
|
+
* The FIRST problem decides the thrown `reason`, because the wire envelope carries one; the
|
|
19
|
+
* rest ride `details.problems`, so a registrant fixing a batch sees the whole round rather than
|
|
20
|
+
* peeling them off one request at a time.
|
|
26
21
|
*/
|
|
27
|
-
export function
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
22
|
+
export function assertValidDefinition(input) {
|
|
23
|
+
const problems = validateFoundationalDefinition(input);
|
|
24
|
+
const first = problems[0];
|
|
25
|
+
if (!first)
|
|
32
26
|
return;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
reason: 'contract_library_not_referenced',
|
|
38
|
-
contractId: upload.contractId,
|
|
39
|
-
expected: required.label,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
27
|
+
throw new ValidationError(describeFoundationalProblem(first), {
|
|
28
|
+
...first,
|
|
29
|
+
problems: problems.map(describeFoundationalProblem),
|
|
30
|
+
});
|
|
42
31
|
}
|
|
43
32
|
//# sourceMappingURL=contract-validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-validation.js","sourceRoot":"","sources":["../../src/foundationalServices/contract-validation.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"contract-validation.js","sourceRoot":"","sources":["../../src/foundationalServices/contract-validation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,qBAAqB,CAAA;AAE5B,8EAA8E;AAC9E,+DAA+D;AAC/D,EAAE;AACF,sFAAsF;AACtF,+FAA+F;AAC/F,gGAAgG;AAChG,+EAA+E;AAC/E,EAAE;AACF,0FAA0F;AAC1F,2FAA2F;AAC3F,aAAa;AACb,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAGrC;IACC,MAAM,QAAQ,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC,KAAK;QAAE,OAAM;IAClB,MAAM,IAAI,eAAe,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE;QAC5D,GAAG,KAAK;QACR,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC;KACpD,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FolderScanCoverage } from '@cat-factory/contracts';
|
|
1
2
|
import type { RepoContentEntry } from '@cat-factory/kernel';
|
|
2
3
|
/**
|
|
3
4
|
* How many subfolder levels below the scanned root a recursive walk descends. Deep enough for
|
|
@@ -24,6 +25,19 @@ export declare const MAX_FOLDER_CONTRACT_FILES = 100;
|
|
|
24
25
|
* seconds and one that takes minutes.
|
|
25
26
|
*/
|
|
26
27
|
export declare const FOLDER_SCAN_CONCURRENCY = 8;
|
|
28
|
+
/**
|
|
29
|
+
* How large a candidate file may be before the walk declines to read it.
|
|
30
|
+
*
|
|
31
|
+
* Pinned to the host contents API's own ceiling rather than chosen freely: above 1 MiB GitHub
|
|
32
|
+
* answers a file read with EMPTY content, so fetching one can only ever cost a round trip and
|
|
33
|
+
* produce a skip. Declining it up front turns that into a reported skip with no read, and keeps
|
|
34
|
+
* a multi-megabyte document out of the YAML parser on the runtimes that do return it.
|
|
35
|
+
*
|
|
36
|
+
* A cap on the WALK, not on what a contract may be: `files` and `directory` sources name their
|
|
37
|
+
* documents, so nobody is protected from a file they asked for by name. It is the unbounded
|
|
38
|
+
* discovery that needs a bound.
|
|
39
|
+
*/
|
|
40
|
+
export declare const MAX_FOLDER_CONTRACT_FILE_BYTES: number;
|
|
27
41
|
/** Lists one repo directory at the scan's pinned ref. */
|
|
28
42
|
export type ListRepoDirectory = (path: string) => Promise<RepoContentEntry[]>;
|
|
29
43
|
export interface FolderScanResult {
|
|
@@ -32,11 +46,17 @@ export interface FolderScanResult {
|
|
|
32
46
|
/** The OPTIONAL `service.md` sitting at the folder root, if there is one. */
|
|
33
47
|
manifestPath: string | null;
|
|
34
48
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
49
|
+
* How much of the folder this walk saw. The caller BRANCHES on it, because "found no
|
|
50
|
+
* candidates" means opposite things depending on whether the walk finished: see the
|
|
51
|
+
* reconcile's three-way disposition.
|
|
52
|
+
*/
|
|
53
|
+
coverage: FolderScanCoverage;
|
|
54
|
+
/**
|
|
55
|
+
* Candidates the walk declined to read at all (too large — {@link
|
|
56
|
+
* MAX_FOLDER_CONTRACT_FILE_BYTES}). Reported so a cap never drops a file in silence; the
|
|
57
|
+
* caller folds it into the sync's skipped count beside the files that failed on their bodies.
|
|
38
58
|
*/
|
|
39
|
-
|
|
59
|
+
skippedCandidates: number;
|
|
40
60
|
}
|
|
41
61
|
/**
|
|
42
62
|
* Walk `root` for contract documents.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder-scan.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/folder-scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAc3D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAA;AAEtC;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAE9C;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC,yDAAyD;AACzD,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"folder-scan.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/folder-scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAc3D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAA;AAEtC;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAE9C;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,8BAA8B,QAAc,CAAA;AAEzD,yDAAyD;AACzD,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;AA2E7E,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,6EAA6E;IAC7E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,EAAE,kBAAkB,CAAA;IAC5B;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,OAAO,EAAE,iBAAiB,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiE5B"}
|