@shiftleftpt/sbd-toe-mcp 0.20.0-beta.26 → 0.20.0-beta.28
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/assets/agent-guide.md +8 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/serving/activation-vocabulary.d.ts +14 -0
- package/dist/serving/activation-vocabulary.js +23 -1
- package/dist/serving/activation-vocabulary.js.map +1 -1
- package/dist/serving/agent-guide.d.ts +9 -0
- package/dist/serving/agent-guide.js +60 -6
- package/dist/serving/agent-guide.js.map +1 -1
- package/dist/serving/selection.d.ts +16 -0
- package/dist/serving/selection.js +3 -3
- package/dist/serving/selection.js.map +1 -1
- package/dist/tools/consult-security-requirements.d.ts +65 -0
- package/dist/tools/consult-security-requirements.js +127 -3
- package/dist/tools/consult-security-requirements.js.map +1 -1
- package/dist/tools/get-threat-landscape.js +165 -9
- package/dist/tools/get-threat-landscape.js.map +1 -1
- package/package.json +1 -1
|
@@ -251,9 +251,23 @@ export function _resolveThreatLandscape(args, ontologyData) {
|
|
|
251
251
|
export function handleGetThreatLandscape(args) {
|
|
252
252
|
const full = _resolveThreatLandscape(args, getOntologyData());
|
|
253
253
|
// 0.15.0 (P0-1): paginação universal — default 25; coverage + size_estimate sempre.
|
|
254
|
+
/**
|
|
255
|
+
* 0.20.0-beta.28 — a deduplicação é um NÍVEL DE SERIALIZAÇÃO, não uma remoção.
|
|
256
|
+
* `associated_control_ids` é contrato publicado (v1.14 §1.21): renomeá-lo por omissão
|
|
257
|
+
* seria a mesma classe de dano que este ciclo combate. `full` fica byte-idêntico;
|
|
258
|
+
* `standard`/`minimal` trocam os arrays repetidos por refs + legenda (−50% medido).
|
|
259
|
+
*/
|
|
260
|
+
const detailArg = typeof args["detail"] === "string" ? args["detail"] : undefined;
|
|
261
|
+
if (detailArg !== undefined && !["full", "standard", "minimal"].includes(detailArg)) {
|
|
262
|
+
throw Object.assign(new Error(`Invalid detail: "${detailArg}". Allowed: full, standard, minimal.`), {
|
|
263
|
+
rpcError: { code: -32602, message: `Invalid detail: "${detailArg}". Allowed: full, standard, minimal.` }
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
const dedupe = detailArg === "standard" || detailArg === "minimal";
|
|
254
267
|
const offsetArg = typeof args["offset"] === "number" ? Math.max(0, Math.floor(args["offset"])) : 0;
|
|
255
268
|
const limitArg = typeof args["limit"] === "number" ? Math.max(1, Math.floor(args["limit"])) : 25;
|
|
256
269
|
const totalThreats = full.threats.length;
|
|
270
|
+
const allThreatsForRouting = full.threats;
|
|
257
271
|
const pagedThreats = full.threats.slice(offsetArg, offsetArg + limitArg);
|
|
258
272
|
const nextOffset = offsetArg + pagedThreats.length < totalThreats ? offsetArg + pagedThreats.length : null;
|
|
259
273
|
full.threats = pagedThreats;
|
|
@@ -266,13 +280,22 @@ export function handleGetThreatLandscape(args) {
|
|
|
266
280
|
: [];
|
|
267
281
|
const support = declaredConcerns.length > 0 ? threatConcernSupport() : { supported: [], unsupported: [] };
|
|
268
282
|
const unsupportedHere = declaredConcerns.filter((c) => support.unsupported.includes(c));
|
|
283
|
+
// beta.27: valores FORA do vocabulário eram ignorados em silêncio aqui (o `select`
|
|
284
|
+
// declara-os em `unknown_concerns` desde a beta.22). Mesma classe, quarta instância —
|
|
285
|
+
// apanhada pela invariante entre superfícies, não por um avaliador.
|
|
286
|
+
// A fonte de «conhecido» é o VOCABULÁRIO, não a sondagem de suporte: `threatConcernSupport()`
|
|
287
|
+
// devolve listas vazias enquanto está a sondar (guarda de recursão), e usá-la aqui fazia a
|
|
288
|
+
// cache classificar TODOS os concerns como desconhecidos — resultado dependente da ordem
|
|
289
|
+
// da primeira chamada. Apanhado pela suite antes de sair da lane.
|
|
290
|
+
const knownConcerns = new Set(buildActivationVocabulary().concerns.values.map((c) => String(c.value)));
|
|
291
|
+
const unknownHere = declaredConcerns.filter((c) => !knownConcerns.has(c));
|
|
269
292
|
/**
|
|
270
293
|
* 0.20.0-beta.26 (§17-C) — quando TODOS os concerns declarados são não-roteáveis, o
|
|
271
294
|
* roteamento cai para o âmbito largo e devolve ~25 ameaças de GOVERNAÇÃO (MT-001..025,
|
|
272
295
|
* 8,4k tk) que não têm nada a ver com o que foi pedido. Cobrar esse payload para dizer
|
|
273
296
|
* «não sei» é o oposto do contrato: agora pede DECLARAÇÃO, com a lista do que resolve.
|
|
274
297
|
*/
|
|
275
|
-
const allUnsupported = declaredConcerns.length > 0 && unsupportedHere.length === declaredConcerns.length;
|
|
298
|
+
const allUnsupported = declaredConcerns.length > 0 && unsupportedHere.length + unknownHere.length === declaredConcerns.length;
|
|
276
299
|
if (allUnsupported) {
|
|
277
300
|
return {
|
|
278
301
|
provenance: {
|
|
@@ -291,7 +314,7 @@ export function handleGetThreatLandscape(args) {
|
|
|
291
314
|
* substitui. Uma promessa cumprida não se retira por se ter arranjado melhor.
|
|
292
315
|
*/
|
|
293
316
|
unsupported_concerns: {
|
|
294
|
-
values: [...new Set(unsupportedHere)].sort(),
|
|
317
|
+
values: [...new Set([...unsupportedHere, ...unknownHere])].sort(),
|
|
295
318
|
supported_values: support.supported,
|
|
296
319
|
note: `Concerns VÁLIDOS do vocabulário que o mapa de ameaças não resolve: ${[...new Set(unsupportedHere)].sort().join(", ")}. ` +
|
|
297
320
|
"Não são zero ameaças — são zero ameaças ROTEÁVEIS por este mapa. Como são TODOS os que declaraste, " +
|
|
@@ -299,7 +322,8 @@ export function handleGetThreatLandscape(args) {
|
|
|
299
322
|
"NÃO concluas ausência de ameaças a partir desta resposta: para estes concerns usa select_sbd_toe_requirements."
|
|
300
323
|
},
|
|
301
324
|
needs_input: {
|
|
302
|
-
reason: `Nenhum dos concerns declarados (${[...new Set(declaredConcerns)].sort().join(", ")}) é roteável pelo mapa de ameaças
|
|
325
|
+
reason: `Nenhum dos concerns declarados (${[...new Set(declaredConcerns)].sort().join(", ")}) é roteável pelo mapa de ameaças` +
|
|
326
|
+
(unknownHere.length > 0 ? ` (fora do vocabulário: ${[...new Set(unknownHere)].sort().join(", ")})` : "") + ". " +
|
|
303
327
|
"Sem esta paragem a resposta seria o âmbito largo — ameaças de GOVERNAÇÃO sem relação com o que pediste, " +
|
|
304
328
|
"a custo de payload cheio, para acabar a dizer que não sabe. Zero útil não é uma resposta.",
|
|
305
329
|
supported_concerns: support.supported,
|
|
@@ -318,15 +342,141 @@ export function handleGetThreatLandscape(args) {
|
|
|
318
342
|
concernsApplied: declaredConcerns,
|
|
319
343
|
note: "needs_input: nenhum concern roteável declarado. Nada foi resolvido — e por isso nada é cobrado."
|
|
320
344
|
},
|
|
321
|
-
coverage: { total: 0, returned: 0, offset: 0, nextOffset: null, hasMore: false }
|
|
345
|
+
coverage: { total: 0, returned: 0, offset: 0, nextOffset: null, hasMore: false },
|
|
346
|
+
// RF-H: a banda `next` está em TODAS as respostas — um pedido de declaração também
|
|
347
|
+
// é uma resposta. Apanhado pela suite de affordances antes de sair da lane.
|
|
348
|
+
next: threatLandscapeAffordances(full.risk_level, support.supported.slice(0, 2))
|
|
322
349
|
};
|
|
323
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* 0.20.0-beta.27 — o concern RESOLVE mas o NÍVEL não traz capítulos: zero ameaças sem
|
|
353
|
+
* uma palavra. Mesma classe do `empty_at_level` do consult, encontrada pela invariante
|
|
354
|
+
* entre superfícies (privacy@L1, threat_modeling@L1).
|
|
355
|
+
*/
|
|
356
|
+
const emptyByLevel = declaredConcerns.length > 0 &&
|
|
357
|
+
unsupportedHere.length === 0 &&
|
|
358
|
+
unknownHere.length === 0 &&
|
|
359
|
+
full.threats.length === 0;
|
|
360
|
+
/**
|
|
361
|
+
* 0.20.0-beta.28 — COBERTURA NOMINAL SEM ROUTING REAL.
|
|
362
|
+
*
|
|
363
|
+
* `files` e `privacy` devolviam ~15 meta-ameaças de governação (MT-021..) vindas do
|
|
364
|
+
* cap. 02, sem uma única ameaça dos capítulos do próprio concern — «pior que o
|
|
365
|
+
* unsupported_concerns honesto: antes dizia que não sabia, agora entrega irrelevante com
|
|
366
|
+
* ar de fundamentado». O routing continua nominalmente a resolver; o que faltava era
|
|
367
|
+
* dizer que nada veio do domínio pedido.
|
|
368
|
+
*/
|
|
369
|
+
/**
|
|
370
|
+
* 0.20.0-beta.28 — BASE DO ROUTING declarada.
|
|
371
|
+
*
|
|
372
|
+
* `files`/`privacy` devolviam dezenas de ameaças de capítulos sem relação com o concern
|
|
373
|
+
* (06/07/08/12 para manipulação de ficheiros) porque o routing passa pelos capítulos onde
|
|
374
|
+
* os CONTROLOS activados se definem — não por um domínio de ameaças do concern. As
|
|
375
|
+
* ameaças eram reais; a relevância era nominal, e nada o dizia.
|
|
376
|
+
*
|
|
377
|
+
* Duas afirmações, ambas derivadas dos dados do próprio roteamento:
|
|
378
|
+
* - a BASE: domínio próprio do concern, ou capítulos dos controlos activados;
|
|
379
|
+
* - se o concern TEM domínio próprio e ele não contribuiu com uma única ameaça, isso é
|
|
380
|
+
* cobertura NOMINAL e é dito como tal.
|
|
381
|
+
* O cap. 02 nunca conta como prova de domínio: é o capítulo das meta-ameaças de processo.
|
|
382
|
+
*/
|
|
383
|
+
const vocabForRouting = buildActivationVocabulary();
|
|
384
|
+
const domainChapters = new Set();
|
|
385
|
+
for (const c of declaredConcerns) {
|
|
386
|
+
const own = CONCERN_TO_DOMAIN_CHAPTER[c];
|
|
387
|
+
if (own !== undefined)
|
|
388
|
+
domainChapters.add(own);
|
|
389
|
+
const entry = vocabForRouting.concerns.values.find((x) => String(x.value) === c);
|
|
390
|
+
for (const chapter of entry?.activates_chapters ?? []) {
|
|
391
|
+
const n = chapterNumber(chapter);
|
|
392
|
+
if (!Number.isNaN(n))
|
|
393
|
+
domainChapters.add(n);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
domainChapters.delete(2);
|
|
397
|
+
// conjunto COMPLETO (antes da paginação): paginar não pode mudar o veredicto
|
|
398
|
+
const allThreatChapters = new Set(allThreatsForRouting.map((t) => chapterNumber(String(t.chapter_id ?? ""))));
|
|
399
|
+
const hasDomain = domainChapters.size > 0;
|
|
400
|
+
const fromDomain = [...domainChapters].some((c) => allThreatChapters.has(c));
|
|
401
|
+
const nominalOnly = declaredConcerns.length > 0 && totalThreats > 0 && hasDomain && !fromDomain;
|
|
402
|
+
/**
|
|
403
|
+
* Deduplicação: `associated_control_names` vinha repetido verbatim em cada ameaça —
|
|
404
|
+
* 241 entradas para 13 nomes distintos, 2.585 tk de um payload de 11.944 (~22%).
|
|
405
|
+
* Legenda + referências: nenhum nome se perde, muda só a codificação.
|
|
406
|
+
*/
|
|
407
|
+
const controlLegend = [];
|
|
408
|
+
const refOf = (name) => {
|
|
409
|
+
const at = controlLegend.indexOf(name);
|
|
410
|
+
if (at >= 0)
|
|
411
|
+
return at;
|
|
412
|
+
controlLegend.push(name);
|
|
413
|
+
return controlLegend.length - 1;
|
|
414
|
+
};
|
|
415
|
+
// `associated_control_ids` era a instância AO LADO da mesma classe, no mesmo payload:
|
|
416
|
+
// os CTRL-* repetidos verbatim ×36. A varredura apanhou-a; corrige-se com a de cima.
|
|
417
|
+
const controlIdLegend = [];
|
|
418
|
+
const refOfId = (id) => {
|
|
419
|
+
const at = controlIdLegend.indexOf(id);
|
|
420
|
+
if (at >= 0)
|
|
421
|
+
return at;
|
|
422
|
+
controlIdLegend.push(id);
|
|
423
|
+
return controlIdLegend.length - 1;
|
|
424
|
+
};
|
|
324
425
|
const shaped = {
|
|
325
426
|
...full,
|
|
326
|
-
...(
|
|
427
|
+
...(dedupe
|
|
428
|
+
? {
|
|
429
|
+
associated_control_legend: {
|
|
430
|
+
names: controlLegend,
|
|
431
|
+
ids: controlIdLegend,
|
|
432
|
+
note: `Os ${controlLegend.length} nomes e ${controlIdLegend.length} ids DISTINTOS de controlos associados; cada ameaça ` +
|
|
433
|
+
"refere-os por índice em `associated_control_name_refs` e `associated_control_id_refs`. Dedup de " +
|
|
434
|
+
"serialização (0.20.0-beta.28): nada se perde — antes vinham repetidos verbatim em cada ameaça."
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
: {}),
|
|
438
|
+
...(declaredConcerns.length > 0 && totalThreats > 0
|
|
439
|
+
? {
|
|
440
|
+
routing_basis: {
|
|
441
|
+
basis: hasDomain ? "domain_chapter" : "activated_controls",
|
|
442
|
+
note: hasDomain
|
|
443
|
+
? `Estes concerns têm capítulo(s) de ameaças próprio(s): ${[...domainChapters].sort((a, b) => a - b).join(", ")}.`
|
|
444
|
+
: "Estes concerns NÃO têm capítulo de ameaças próprio: as ameaças chegam pelos capítulos onde se DEFINEM os controlos que eles activam. São ameaças reais do âmbito activado, mas não são «as ameaças deste domínio» — o manual pode não publicar ameaças específicas para ele. Os REQUISITOS existem: `select_sbd_toe_requirements`."
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
: {}),
|
|
448
|
+
...(nominalOnly
|
|
449
|
+
? {
|
|
450
|
+
routing_note: {
|
|
451
|
+
declared_concerns: [...new Set(declaredConcerns)].sort(),
|
|
452
|
+
domain_chapters: [...domainChapters].sort((a, b) => a - b).map(String),
|
|
453
|
+
threat_chapters: [...allThreatChapters].filter((n) => !Number.isNaN(n)).sort((a, b) => a - b).map(String),
|
|
454
|
+
note: (hasDomain
|
|
455
|
+
? `COBERTURA NOMINAL: nenhuma das ${totalThreats} ameaças vem dos capítulos de domínio dos concerns ` +
|
|
456
|
+
`declarados (${[...domainChapters].sort((a, b) => a - b).join(", ")}). `
|
|
457
|
+
: `COBERTURA NOMINAL: os concerns declarados não têm capítulo de ameaças próprio — as ${totalThreats} ` +
|
|
458
|
+
"ameaças vêm todas do âmbito alargado. ") +
|
|
459
|
+
"São sobretudo meta-ameaças de PROCESSO (cap. 02) e do âmbito largo, NÃO ameaças específicas do domínio " +
|
|
460
|
+
"que pediste. Não as apresentes como o panorama de ameaças desse domínio: para estes concerns o manual " +
|
|
461
|
+
"pode simplesmente não publicar ameaças roteáveis. Os REQUISITOS existem — usa `select_sbd_toe_requirements`."
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
: {}),
|
|
465
|
+
...(emptyByLevel
|
|
466
|
+
? {
|
|
467
|
+
empty_at_level: {
|
|
468
|
+
concerns: [...new Set(declaredConcerns)].sort(),
|
|
469
|
+
level: full.risk_level,
|
|
470
|
+
note: `Os concerns declarados são roteáveis, mas a ${full.risk_level} não activam capítulo nenhum — por isso zero ameaças. ` +
|
|
471
|
+
"NÃO é ausência de ameaças nem «não aplicável»: é o NÍVEL. Confirma noutro nível ou com " +
|
|
472
|
+
"`select_sbd_toe_requirements`, e não apresentes este vazio como «manual-grounded»."
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
: {}),
|
|
476
|
+
...(unsupportedHere.length + unknownHere.length > 0
|
|
327
477
|
? {
|
|
328
478
|
unsupported_concerns: {
|
|
329
|
-
values: [...new Set(unsupportedHere)].sort(),
|
|
479
|
+
values: [...new Set([...unsupportedHere, ...unknownHere])].sort(),
|
|
330
480
|
supported_values: support.supported,
|
|
331
481
|
note: `Concerns VÁLIDOS do vocabulário que o mapa de ameaças não resolve: ${[...new Set(unsupportedHere)].sort().join(", ")}. ` +
|
|
332
482
|
"Não são zero ameaças — são zero ameaças ROTEÁVEIS por este mapa, que cobre os domínios listados em supported_values. " +
|
|
@@ -355,9 +505,15 @@ export function handleGetThreatLandscape(args) {
|
|
|
355
505
|
// DECLARED derivation; associated_controls_text is the Manual's prose;
|
|
356
506
|
// associated_controls stays as-is for compatibility. Nothing invented.
|
|
357
507
|
associated_controls: threat.associated_controls ?? [],
|
|
358
|
-
// 0.
|
|
359
|
-
|
|
360
|
-
|
|
508
|
+
// 0.20.0-beta.28: os NOMES vão para uma legenda e ficam aqui as referências —
|
|
509
|
+
// vinham repetidos verbatim em cada ameaça (241 entradas para 13 nomes distintos,
|
|
510
|
+
// ~22% do payload). Dedup de serialização: nenhum nome se perde.
|
|
511
|
+
...(dedupe
|
|
512
|
+
? { associated_control_name_refs: (threat.associated_control_names ?? []).map(refOf) }
|
|
513
|
+
: { associated_control_names: threat.associated_control_names ?? [] }),
|
|
514
|
+
...(dedupe
|
|
515
|
+
? { associated_control_id_refs: (threat.associated_control_ids ?? []).map(refOfId) }
|
|
516
|
+
: { associated_control_ids: threat.associated_control_ids ?? [] }),
|
|
361
517
|
...(threat.associated_controls_text ? { associated_controls_text: threat.associated_controls_text } : {}),
|
|
362
518
|
...(threat.associated_control_ids_derivation
|
|
363
519
|
? { associated_control_ids_derivation: threat.associated_control_ids_derivation }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-threat-landscape.js","sourceRoot":"","sources":["../../src/tools/get-threat-landscape.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-threat-landscape.js","sourceRoot":"","sources":["../../src/tools/get-threat-landscape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AA6DhF,SAAS,aAAa,CAAC,SAAiB;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACxE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAqC;IAClE,OAAO,EAAE,EAAE;IACX,GAAG,EAAE,CAAC;IACN,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,IAAI,aAAa,GAA0D,IAAI,CAAC;AAChF,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,MAAM,UAAU,oBAAoB;IAClC,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,IAAI,cAAc;QAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC9D,cAAc,GAAG,IAAI,CAAC;IACtB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,yBAAyB,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,wBAAwB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,aAAa,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;IACjF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,uBAAuB,CAC9B,YAA2B,EAC3B,2BAAyD,EACzD,sBAA+C;IAM/C,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAC7E,CAAC;IAEF,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAoB,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,2BAA2B,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAA6B,EAC7B,YAAgD;IAEhD,MAAM,EACJ,OAAO,EAAE,UAAU,EACnB,YAAY,GAAG,EAAE,EACjB,2BAA2B,GAAG,EAAE,EAChC,sBAAsB,GAAG,EAAE,GAC5B,GAAG,YAAY,CAAC;IAEjB,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CACtE,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,EAAE;KACzD,CAAC,CAAC,CAAC;IACJ,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC,CAAE,IAAI,CAAC,UAAU,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACnF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7C,+EAA+E;IAC/E,oFAAoF;IACpF,sFAAsF;IACtF,4EAA4E;IAC5E,gFAAgF;IAChF,iFAAiF;IACjF,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,aAAa,KAAK,SAAS;YAAE,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3E,CAAC;IACD,qFAAqF;IACrF,sFAAsF;IACtF,8DAA8D;IAC9D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5C,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACrD,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,kFAAkF;IAClF,sFAAsF;IACtF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC;gBAAE,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACpG,MAAM,MAAM,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,iFAAiF;IACjF,oFAAoF;IACpF,kFAAkF;IAClF,2BAA2B;IAC3B,MAAM,iBAAiB,GACrB,CAAC,WAAW;QACZ,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC;QACtC,eAAe,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,aAAa,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAC;IACjE,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,KAAK,MAAM,SAAS,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,QAAQ,CAAC,IAAI,CAAC;oBACZ,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;YACL,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,EACJ,eAAe,EACf,2BAA2B,EAC3B,sBAAsB,GACvB,GAAG,uBAAuB,CAAC,YAAY,EAAE,2BAA2B,EAAE,sBAAsB,CAAC,CAAC;IAE/F,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACjE,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAChD,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CACjF,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAChC,CAAC;QACF,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAErE,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzE,MAAM,oBAAoB,GAAyB,qBAAqB;aACrE,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;YACrB,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW;gBAAE,OAAO,SAAS,CAAC;YACnC,MAAM,sBAAsB,GAAG;gBAC7B,GAAG,IAAI,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;aACjE,CAAC;YACF,OAAO;gBACL,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,wBAAwB,EAAE,sBAAsB;aACjD,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAA8B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAEpE,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CACzE,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CAC1D,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CACxC,CACF,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACrF,MAAM,YAAY,GAChB,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACtF,MAAM,YAAY,GAAG,WAAW,IAAI,YAAY,IAAI,wBAAwB,CAAC;QAE7E,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,cAAc,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACxD,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACvD,CAAC;QAEF,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;YACrD,SAAS;QACX,CAAC;QAED,IAAI,qBAAoE,CAAC;QACzE,IAAI,YAAiC,CAAC;QAEtC,IAAI,WAAW,EAAE,CAAC;YAChB,qBAAqB,GAAG,QAAQ,CAAC;YACjC,YAAY,GAAG,cAAc;iBAC1B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;iBAClE,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,qBAAqB,GAAG,SAAS,CAAC;YAClC,YAAY,GAAG,eAAe,CAAC;QACjC,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,qBAAqB,GAAG,SAAS,CAAC;YAClC,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,qBAAqB,GAAG,WAAW,CAAC;YACpC,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,MAAM;YACT,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,UAAU;YAChB,qBAAqB;YACrB,YAAY;YACZ,oBAAoB;YACpB,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,IAAI,EAAE;SAChE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAW,CAAC;QAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7F,IAAI,eAAe,KAAK,CAAC;YAAE,OAAO,eAAe,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO;QACP,IAAI,EAAE;YACJ,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,cAAc,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC3E,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE;YACxC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe;YAC7C,IAAI,EACF,olBAAolB;SACvlB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAA6B;IAE7B,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9D,oFAAoF;IACpF;;;;;OAKG;IACH,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACpF,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,SAAS,sCAAsC,CAAC,EAAE;YAClG,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,oBAAoB,SAAS,sCAAsC,EAAE;SACzG,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,CAAC;IAEnE,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACzC,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;IAC5B,8EAA8E;IAC9E,oFAAoF;IACpF,gFAAgF;IAChF,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAE,IAAI,CAAC,UAAU,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACnF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC1G,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,mFAAmF;IACnF,sFAAsF;IACtF,oEAAoE;IACpE,8FAA8F;IAC9F,2FAA2F;IAC3F,yFAAyF;IACzF,kEAAkE;IAClE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E;;;;;OAKG;IACH,MAAM,cAAc,GAClB,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC;IACzG,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO;YACL,UAAU,EAAE;gBACV,EAAE,EAAE,kBAAkB,EAAE;gBACxB,MAAM,EAAE,oBAAoB,EAAE;gBAC9B,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,4BAA4B;gBACzC,WAAW,EAAE,mEAAmE;gBAChF,IAAI,EAAE,+FAA+F;aACtG;YACD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,EAAE;YACX;;;;eAIG;YACH,oBAAoB,EAAE;gBACpB,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACjE,gBAAgB,EAAE,OAAO,CAAC,SAAS;gBACnC,IAAI,EACF,sEAAsE,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBACzH,qGAAqG;oBACrG,oGAAoG;oBACpG,gHAAgH;aACnH;YACD,WAAW,EAAE;gBACX,MAAM,EACJ,mCAAmC,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC;oBACtH,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI;oBAC/G,0GAA0G;oBAC1G,2FAA2F;gBAC7F,kBAAkB,EAAE,OAAO,CAAC,SAAS;gBACrC,IAAI,EACF,qFAAqF;oBACrF,+GAA+G;oBAC/G,kFAAkF;gBACpF,IAAI,EAAE;oBACJ,EAAE,MAAM,EAAE,kDAAkD,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,UAAU,gBAAgB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,YAAqB,EAAE;oBACzO,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,UAAU,iBAAiB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,EAAE,IAAI,EAAE,YAAqB,EAAE;iBAC9M;aACF;YACD,IAAI,EAAE;gBACJ,WAAW,EAAE,CAAC;gBACd,cAAc,EAAE,EAAE;gBAClB,aAAa,EAAE,EAAE;gBACjB,eAAe,EAAE,gBAAgB;gBACjC,IAAI,EAAE,iGAAiG;aACxG;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;YAChF,mFAAmF;YACnF,4EAA4E;YAC5E,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1C,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,MAAM,YAAY,GAChB,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC3B,eAAe,CAAC,MAAM,KAAK,CAAC;QAC5B,WAAW,CAAC,MAAM,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAE5B;;;;;;;;OAQG;IACH;;;;;;;;;;;;;OAaG;IACH,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,SAAS;YAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,kBAAkB,IAAI,EAAE,EAAE,CAAC;YACtD,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,SAAS,IAAI,CAAC,UAAU,CAAC;IAEhG;;;;OAIG;IACH,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;QACrC,MAAM,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACvB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,sFAAsF;IACtF,qFAAqF;IACrF,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,EAAU,EAAU,EAAE;QACrC,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACvB,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,MAAM,GAAG;QACb,GAAG,IAAI;QACP,GAAG,CAAC,MAAM;YACR,CAAC,CAAC;gBACE,yBAAyB,EAAE;oBACzB,KAAK,EAAE,aAAa;oBACpB,GAAG,EAAE,eAAe;oBAC1B,IAAI,EACF,MAAM,aAAa,CAAC,MAAM,YAAY,eAAe,CAAC,MAAM,sDAAsD;wBAClH,kGAAkG;wBAC5F,gGAAgG;iBACnG;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC;YACjD,CAAC,CAAC;gBACE,aAAa,EAAE;oBACb,KAAK,EAAE,SAAS,CAAC,CAAC,CAAE,gBAA0B,CAAC,CAAC,CAAE,oBAA8B;oBAChF,IAAI,EAAE,SAAS;wBACb,CAAC,CAAC,yDAAyD,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBAClH,CAAC,CAAC,oUAAoU;iBACzU;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,WAAW;YACb,CAAC,CAAC;gBACE,YAAY,EAAE;oBACZ,iBAAiB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE;oBACxD,eAAe,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;oBACtE,eAAe,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;oBACzG,IAAI,EACF,CAAC,SAAS;wBACR,CAAC,CAAC,kCAAkC,YAAY,qDAAqD;4BACnG,eAAe,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;wBAC1E,CAAC,CAAC,sFAAsF,YAAY,GAAG;4BACrG,wCAAwC,CAAC;wBAC7C,yGAAyG;wBACzG,wGAAwG;wBACxG,8GAA8G;iBACjH;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,YAAY;YACd,CAAC,CAAC;gBACE,cAAc,EAAE;oBACd,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC/C,KAAK,EAAE,IAAI,CAAC,UAAU;oBACtB,IAAI,EACF,+CAA+C,IAAI,CAAC,UAAU,wDAAwD;wBACtH,yFAAyF;wBACzF,oFAAoF;iBACvF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;YACjD,CAAC,CAAC;gBACE,oBAAoB,EAAE;oBACpB,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACjE,gBAAgB,EAAE,OAAO,CAAC,SAAS;oBACnC,IAAI,EACF,sEAAsE,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;wBACzH,uHAAuH;wBACvH,2HAA2H;wBAC3H,oGAAoG;iBACvG;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,EAAE;QAC7H,UAAU,EAAE;YACV,EAAE,EAAE,kBAAkB,EAAE;YACxB,MAAM,EAAE,oBAAoB,EAAE;YAC9B,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,4BAA4B;YACzC,WAAW,EACT,kQAAkQ;YACpQ,IAAI,EACF,gKAAgK;SACnK;QACD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;YACnD,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,wEAAwE;YACxE,gFAAgF;YAChF,uEAAuE;YACvE,uEAAuE;YACvE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE;YACrD,8EAA8E;YAC9E,kFAAkF;YAClF,iEAAiE;YACjE,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACtF,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,IAAI,EAAE,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACpF,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,EAAE,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,GAAG,CAAC,MAAM,CAAC,iCAAiC;gBAC1C,CAAC,CAAC,EAAE,iCAAiC,EAAE,MAAM,CAAC,iCAAiC,EAAE;gBACjF,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3F,CAAC,CAAC;QACH,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC;KAC1F,CAAC;IACF,OAAO,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,EAAyC,CAAC;AACnG,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shiftleftpt/sbd-toe-mcp",
|
|
3
|
-
"version": "0.20.0-beta.
|
|
3
|
+
"version": "0.20.0-beta.28",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "MCP server for the SbD-ToE (Security by Design — Theory of Everything) security manual — structured tools for Claude, GitHub Copilot and other MCP clients",
|
|
6
6
|
"keywords": [
|