@claude-flow/memory 3.0.0-alpha.21 → 3.0.0-alpha.23
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/agentdb-backend.d.ts +19 -0
- package/dist/agentdb-backend.d.ts.map +1 -1
- package/dist/agentdb-backend.js +24 -3
- package/dist/agentdb-backend.js.map +1 -1
- package/dist/agentdb-retrieval-guard.d.ts +76 -0
- package/dist/agentdb-retrieval-guard.d.ts.map +1 -0
- package/dist/agentdb-retrieval-guard.js +77 -0
- package/dist/agentdb-retrieval-guard.js.map +1 -0
- package/dist/agentdb-retrieval-guard.test.d.ts +12 -0
- package/dist/agentdb-retrieval-guard.test.d.ts.map +1 -0
- package/dist/agentdb-retrieval-guard.test.js +129 -0
- package/dist/agentdb-retrieval-guard.test.js.map +1 -0
- package/dist/controller-registry.d.ts +27 -5
- package/dist/controller-registry.d.ts.map +1 -1
- package/dist/controller-registry.js +113 -184
- package/dist/controller-registry.js.map +1 -1
- package/dist/controller-registry.test.js +14 -0
- package/dist/controller-registry.test.js.map +1 -1
- package/dist/graceful-retrieval.test.js +59 -0
- package/dist/graceful-retrieval.test.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/migration.d.ts +19 -4
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +99 -24
- package/dist/migration.js.map +1 -1
- package/dist/migration.test.d.ts +11 -0
- package/dist/migration.test.d.ts.map +1 -0
- package/dist/migration.test.js +141 -0
- package/dist/migration.test.js.map +1 -0
- package/dist/smart-retrieval.test.js +3 -0
- package/dist/smart-retrieval.test.js.map +1 -1
- package/dist/tiered-memory.d.ts +171 -0
- package/dist/tiered-memory.d.ts.map +1 -0
- package/dist/tiered-memory.js +350 -0
- package/dist/tiered-memory.js.map +1 -0
- package/dist/tiered-memory.test.d.ts +9 -0
- package/dist/tiered-memory.test.d.ts.map +1 -0
- package/dist/tiered-memory.test.js +220 -0
- package/dist/tiered-memory.test.js.map +1 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
|
@@ -13,6 +13,13 @@ import { EventEmitter } from 'node:events';
|
|
|
13
13
|
import { LearningBridge } from './learning-bridge.js';
|
|
14
14
|
import { MemoryGraph } from './memory-graph.js';
|
|
15
15
|
import { TieredCacheManager } from './cache-manager.js';
|
|
16
|
+
import { TieredMemoryStore } from './tiered-memory.js';
|
|
17
|
+
function isHybridCapableBackend(backend) {
|
|
18
|
+
if (!backend || typeof backend !== 'object')
|
|
19
|
+
return false;
|
|
20
|
+
const b = backend;
|
|
21
|
+
return typeof b.semanticSearch === 'function' && typeof b.searchKeyword === 'function';
|
|
22
|
+
}
|
|
16
23
|
// ===== Initialization Levels =====
|
|
17
24
|
/**
|
|
18
25
|
* Level-based initialization order per ADR-053.
|
|
@@ -72,6 +79,7 @@ export class ControllerRegistry extends EventEmitter {
|
|
|
72
79
|
config = {};
|
|
73
80
|
initialized = false;
|
|
74
81
|
initTimeMs = 0;
|
|
82
|
+
hierarchicalFallback = null;
|
|
75
83
|
/**
|
|
76
84
|
* Initialize all controllers in level-based order.
|
|
77
85
|
*
|
|
@@ -547,10 +555,26 @@ export class ControllerRegistry extends EventEmitter {
|
|
|
547
555
|
// independently in parallel, fuses via RRF, diversifies via MMR.
|
|
548
556
|
// Results carry a `signals` field naming which arms surfaced each
|
|
549
557
|
// entry (provenance for debugging + downstream rerankers).
|
|
558
|
+
//
|
|
559
|
+
// Dream Cycle 2026-08-18: the auto-enable gate (`isControllerEnabled`)
|
|
560
|
+
// already honors an explicit `controllers: { hybridSearch: true }`
|
|
561
|
+
// override, but until now this factory unconditionally required
|
|
562
|
+
// `config.memoryService` regardless of that override — so explicitly
|
|
563
|
+
// opting in without also hand-building a `UnifiedMemoryService`
|
|
564
|
+
// silently produced a disabled controller (no error, no signal why).
|
|
565
|
+
// When no `memoryService` was supplied, fall back to `this.backend`
|
|
566
|
+
// if it duck-types as AgentDBAdapter-compatible (has `semanticSearch`
|
|
567
|
+
// + `searchKeyword`) — the same two methods this factory already
|
|
568
|
+
// calls below. Only reachable when a caller explicitly requests
|
|
569
|
+
// `hybridSearch`; the default (memoryService-only) auto-enable
|
|
570
|
+
// condition and its behavior are unchanged.
|
|
550
571
|
const memSvc = this.config.memoryService;
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
572
|
+
const directBackend = !memSvc && isHybridCapableBackend(this.backend) ? this.backend : null;
|
|
573
|
+
const adapter = memSvc
|
|
574
|
+
? typeof memSvc.getAdapter === 'function'
|
|
575
|
+
? memSvc.getAdapter()
|
|
576
|
+
: null
|
|
577
|
+
: directBackend;
|
|
554
578
|
if (!adapter)
|
|
555
579
|
return null;
|
|
556
580
|
const { applyRRF, applyMMR } = await import('./smart-retrieval.js');
|
|
@@ -632,22 +656,13 @@ export class ControllerRegistry extends EventEmitter {
|
|
|
632
656
|
case 'agentMemoryScope':
|
|
633
657
|
// Agent memory scope — placeholder, activated when explicitly enabled
|
|
634
658
|
return null;
|
|
635
|
-
case 'semanticRouter':
|
|
636
|
-
// SemanticRouter exported
|
|
637
|
-
//
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
return null;
|
|
643
|
-
const router = new SR();
|
|
644
|
-
await router.initialize();
|
|
645
|
-
return router;
|
|
646
|
-
}
|
|
647
|
-
catch {
|
|
648
|
-
return null;
|
|
649
|
-
}
|
|
650
|
-
}
|
|
659
|
+
case 'semanticRouter':
|
|
660
|
+
// SemanticRouter was exported by agentdb 3.0.0-alpha.10 (ADR-062) but
|
|
661
|
+
// dropped from every installable range (`^3.0.0-alpha.17`) — issue
|
|
662
|
+
// #2977. No fallback implementation exists for this controller;
|
|
663
|
+
// returning null directly instead of attempting a dynamic import
|
|
664
|
+
// that never resolves.
|
|
665
|
+
return null;
|
|
651
666
|
case 'sonaTrajectory':
|
|
652
667
|
// Delegate to AgentDB's SonaTrajectoryService if available
|
|
653
668
|
if (this.agentdb && typeof this.agentdb.getController === 'function') {
|
|
@@ -660,47 +675,29 @@ export class ControllerRegistry extends EventEmitter {
|
|
|
660
675
|
}
|
|
661
676
|
return null;
|
|
662
677
|
case 'hierarchicalMemory': {
|
|
663
|
-
// HierarchicalMemory exported
|
|
664
|
-
//
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
}
|
|
677
|
-
catch {
|
|
678
|
-
return this.createTieredMemoryStub();
|
|
679
|
-
}
|
|
678
|
+
// HierarchicalMemory was exported by agentdb 3.0.0-alpha.10 (ADR-066
|
|
679
|
+
// Phase P2-3) and REMOVED again at alpha.17 — every installable range
|
|
680
|
+
// (`^3.0.0-alpha.17`) is missing it, and alpha.10 — the one version
|
|
681
|
+
// that DOES export it — throws `RangeError: Too few parameter values
|
|
682
|
+
// were provided` on the very first store() call (issue #2977), so
|
|
683
|
+
// there is no version of agentdb where the native path actually
|
|
684
|
+
// works. The dynamic-import/instantiate attempt is dead code on
|
|
685
|
+
// every install; the tiered fallback is the only implementation that
|
|
686
|
+
// has ever worked here, so it is promoted to first-class instead of
|
|
687
|
+
// being attempted-and-discarded on every init. Still records *why*
|
|
688
|
+
// it's in use, because taking a fallback silently is what made
|
|
689
|
+
// stores look successful while landing nowhere (#2887).
|
|
690
|
+
return this.tieredMemoryFallback(this.agentdb ? 'agentdb-export-missing' : 'agentdb-unavailable');
|
|
680
691
|
}
|
|
681
692
|
case 'memoryConsolidation': {
|
|
682
|
-
// MemoryConsolidation exported
|
|
683
|
-
//
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
return this.createConsolidationStub();
|
|
691
|
-
// Get the HierarchicalMemory instance (must be initialized at level 1 before us at level 3)
|
|
692
|
-
const hm = this.get('hierarchicalMemory');
|
|
693
|
-
if (!hm || typeof hm.recall !== 'function' || typeof hm.store !== 'function') {
|
|
694
|
-
return this.createConsolidationStub();
|
|
695
|
-
}
|
|
696
|
-
const embedder = this.createEmbeddingService();
|
|
697
|
-
const mc = new MC(this.agentdb.database, hm, embedder);
|
|
698
|
-
await mc.initializeDatabase();
|
|
699
|
-
return mc;
|
|
700
|
-
}
|
|
701
|
-
catch {
|
|
702
|
-
return this.createConsolidationStub();
|
|
703
|
-
}
|
|
693
|
+
// MemoryConsolidation was exported by agentdb 3.0.0-alpha.10 (ADR-066
|
|
694
|
+
// Phase P2-3) and removed at alpha.14 — no installable range exports
|
|
695
|
+
// it, and it requires a working HierarchicalMemory instance to
|
|
696
|
+
// construct, which is itself dead (see hierarchicalMemory above,
|
|
697
|
+
// #2977). The no-op stub is therefore the only implementation that
|
|
698
|
+
// has ever worked here; it is promoted to first-class instead of
|
|
699
|
+
// attempting a dynamic import that never resolves.
|
|
700
|
+
return this.createConsolidationStub();
|
|
704
701
|
}
|
|
705
702
|
case 'federatedSession':
|
|
706
703
|
// Federated session — placeholder for Phase 4
|
|
@@ -862,90 +859,18 @@ export class ControllerRegistry extends EventEmitter {
|
|
|
862
859
|
return null;
|
|
863
860
|
}
|
|
864
861
|
}
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
catch {
|
|
878
|
-
return null;
|
|
879
|
-
}
|
|
880
|
-
}
|
|
881
|
-
case 'attestationLog': {
|
|
882
|
-
// AttestationLog exported from agentdb 3.0.0-alpha.10 (ADR-060)
|
|
883
|
-
// Constructor: (db) — uses database for append-only audit log
|
|
884
|
-
if (!this.agentdb)
|
|
885
|
-
return null;
|
|
886
|
-
try {
|
|
887
|
-
const agentdbModule = await import('agentdb');
|
|
888
|
-
const AL = agentdbModule.AttestationLog;
|
|
889
|
-
if (!AL)
|
|
890
|
-
return null;
|
|
891
|
-
return new AL(this.agentdb.database);
|
|
892
|
-
}
|
|
893
|
-
catch {
|
|
894
|
-
return null;
|
|
895
|
-
}
|
|
896
|
-
}
|
|
897
|
-
case 'gnnService': {
|
|
898
|
-
// GNNService exported from agentdb 3.0.0-alpha.10 (ADR-062)
|
|
899
|
-
// Constructor: (config?) — requires initialize() after construction
|
|
900
|
-
try {
|
|
901
|
-
const agentdbModule = await import('agentdb');
|
|
902
|
-
const GNN = agentdbModule.GNNService;
|
|
903
|
-
if (!GNN)
|
|
904
|
-
return null;
|
|
905
|
-
const gnn = new GNN({ inputDim: this.config.dimension || 384 });
|
|
906
|
-
await gnn.initialize();
|
|
907
|
-
return gnn;
|
|
908
|
-
}
|
|
909
|
-
catch {
|
|
910
|
-
return null;
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
|
-
case 'rvfOptimizer': {
|
|
914
|
-
// RVFOptimizer exported from agentdb 3.0.0-alpha.10 (ADR-062/065)
|
|
915
|
-
// Constructor: (config?) — no-arg for defaults
|
|
916
|
-
try {
|
|
917
|
-
const agentdbModule = await import('agentdb');
|
|
918
|
-
const RVF = agentdbModule.RVFOptimizer;
|
|
919
|
-
if (!RVF)
|
|
920
|
-
return null;
|
|
921
|
-
return new RVF();
|
|
922
|
-
}
|
|
923
|
-
catch {
|
|
924
|
-
return null;
|
|
925
|
-
}
|
|
926
|
-
}
|
|
927
|
-
case 'guardedVectorBackend': {
|
|
928
|
-
// GuardedVectorBackend exported from agentdb 3.0.0-alpha.10 (ADR-060)
|
|
929
|
-
// Constructor: (innerBackend, mutationGuard, attestationLog?)
|
|
930
|
-
// Requires vectorBackend and mutationGuard to be initialized first (level 2)
|
|
931
|
-
if (!this.agentdb)
|
|
932
|
-
return null;
|
|
933
|
-
try {
|
|
934
|
-
const vb = this.get('vectorBackend');
|
|
935
|
-
const guard = this.get('mutationGuard');
|
|
936
|
-
if (!vb || !guard)
|
|
937
|
-
return null;
|
|
938
|
-
const agentdbModule = await import('agentdb');
|
|
939
|
-
const GVB = agentdbModule.GuardedVectorBackend;
|
|
940
|
-
if (!GVB)
|
|
941
|
-
return null;
|
|
942
|
-
const log = this.get('attestationLog');
|
|
943
|
-
return new GVB(vb, guard, log || undefined);
|
|
944
|
-
}
|
|
945
|
-
catch {
|
|
946
|
-
return null;
|
|
947
|
-
}
|
|
948
|
-
}
|
|
862
|
+
// MutationGuard, AttestationLog, GNNService, RVFOptimizer, and
|
|
863
|
+
// GuardedVectorBackend were all exported by agentdb 3.0.0-alpha.10
|
|
864
|
+
// (ADR-060/062/065) but dropped from every installable range
|
|
865
|
+
// (`^3.0.0-alpha.17`) — issue #2977. No fallback implementation exists
|
|
866
|
+
// for any of these five controllers; they return null directly instead
|
|
867
|
+
// of attempting a dynamic import that never resolves.
|
|
868
|
+
case 'mutationGuard':
|
|
869
|
+
case 'attestationLog':
|
|
870
|
+
case 'gnnService':
|
|
871
|
+
case 'rvfOptimizer':
|
|
872
|
+
case 'guardedVectorBackend':
|
|
873
|
+
return null;
|
|
949
874
|
case 'vectorBackend':
|
|
950
875
|
case 'graphAdapter': {
|
|
951
876
|
// These are accessed via AgentDB internal state, not direct
|
|
@@ -1028,56 +953,60 @@ export class ControllerRegistry extends EventEmitter {
|
|
|
1028
953
|
};
|
|
1029
954
|
}
|
|
1030
955
|
/**
|
|
1031
|
-
*
|
|
1032
|
-
*
|
|
1033
|
-
*
|
|
956
|
+
* Tiered store used when agentdb's HierarchicalMemory is unavailable.
|
|
957
|
+
*
|
|
958
|
+
* Since agentdb 3.0.0-alpha.17 dropped the `HierarchicalMemory` export
|
|
959
|
+
* entirely, this is the ONLY backing store for `agentdb_hierarchical-*`
|
|
960
|
+
* in practice — so it is handed AgentDB's SQLite connection and writes
|
|
961
|
+
* through to it. Without a connection it stays volatile and reports
|
|
962
|
+
* `isDurable() === false` so callers can refuse to claim success (#2887).
|
|
963
|
+
*
|
|
964
|
+
* Keeps the legacy duck-typed API — store(key, value, tier) /
|
|
965
|
+
* recall(query, topK) / getTierStats() — plus Zep/Graphiti-style temporal
|
|
966
|
+
* validity (validFrom / validUntil / supersededBy).
|
|
1034
967
|
*/
|
|
1035
968
|
createTieredMemoryStub() {
|
|
1036
|
-
const
|
|
1037
|
-
const
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
if (key.toLowerCase().includes(q) || entry.value.toLowerCase().includes(q)) {
|
|
1060
|
-
results.push({ key, value: entry.value, tier: tierName, ts: entry.ts });
|
|
1061
|
-
if (results.length >= safeTopK * 3)
|
|
1062
|
-
break; // Early exit for large stores
|
|
1063
|
-
}
|
|
1064
|
-
}
|
|
1065
|
-
}
|
|
1066
|
-
return results.sort((a, b) => b.ts - a.ts).slice(0, safeTopK);
|
|
1067
|
-
},
|
|
1068
|
-
getTierStats() {
|
|
1069
|
-
return Object.fromEntries(Object.entries(tiers).map(([name, map]) => [name, map.size]));
|
|
1070
|
-
},
|
|
1071
|
-
};
|
|
969
|
+
const db = this.agentdb?.database ?? null;
|
|
970
|
+
const usable = db && typeof db.prepare === 'function' && typeof db.exec === 'function'
|
|
971
|
+
? db
|
|
972
|
+
: null;
|
|
973
|
+
return new TieredMemoryStore({ db: usable });
|
|
974
|
+
}
|
|
975
|
+
/** Build the tiered fallback and record/emit why the native one was skipped. */
|
|
976
|
+
tieredMemoryFallback(reason) {
|
|
977
|
+
const store = this.createTieredMemoryStub();
|
|
978
|
+
this.hierarchicalFallback = { reason, persistence: store.getPersistence() };
|
|
979
|
+
this.emit('controller:degraded', {
|
|
980
|
+
name: 'hierarchicalMemory',
|
|
981
|
+
reason,
|
|
982
|
+
persistence: store.getPersistence(),
|
|
983
|
+
});
|
|
984
|
+
return store;
|
|
985
|
+
}
|
|
986
|
+
/**
|
|
987
|
+
* Why `hierarchicalMemory` is served by the tiered fallback, and whether
|
|
988
|
+
* that fallback is durable. Null when the native controller is in use.
|
|
989
|
+
*/
|
|
990
|
+
getHierarchicalFallback() {
|
|
991
|
+
return this.hierarchicalFallback;
|
|
1072
992
|
}
|
|
1073
993
|
/**
|
|
1074
|
-
* No-op consolidation stub
|
|
1075
|
-
*
|
|
994
|
+
* No-op consolidation stub — the first-class implementation for
|
|
995
|
+
* `memoryConsolidation` since agentdb has never shipped a working native
|
|
996
|
+
* MemoryConsolidation on any installable range (#2977). `promoted: 0,
|
|
997
|
+
* pruned: 0` on its own reads as "ran and found nothing to do"; `source`
|
|
998
|
+
* and `note` make it explicit that consolidation never actually ran.
|
|
1076
999
|
*/
|
|
1077
1000
|
createConsolidationStub() {
|
|
1078
1001
|
return {
|
|
1079
1002
|
consolidate() {
|
|
1080
|
-
return {
|
|
1003
|
+
return {
|
|
1004
|
+
promoted: 0,
|
|
1005
|
+
pruned: 0,
|
|
1006
|
+
timestamp: Date.now(),
|
|
1007
|
+
source: 'stub',
|
|
1008
|
+
note: 'no-op: native MemoryConsolidation is unavailable (agentdb never exports a working implementation, #2977) — nothing was consolidated, this did not run',
|
|
1009
|
+
};
|
|
1081
1010
|
},
|
|
1082
1011
|
};
|
|
1083
1012
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-registry.js","sourceRoot":"","sources":["../src/controller-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller-registry.js","sourceRoot":"","sources":["../src/controller-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwDvD,SAAS,sBAAsB,CAAC,OAAgB;IAC9C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,GAAG,OAAkC,CAAC;IAC7C,OAAO,OAAO,CAAC,CAAC,cAAc,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC;AACzF,CAAC;AAuGD,oCAAoC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,uCAAuC;IACvC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IAC7B,6BAA6B;IAC7B,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE;IACnH,4BAA4B;IAC5B,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE;IAC9G,0BAA0B;IAC1B,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,EAAE;IACnI,4BAA4B;IAC5B,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAE;IAChG,6BAA6B;IAC7B,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,EAAE;IACrJ,8BAA8B;IAC9B,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE;CAChE,CAAC;AAEF,iCAAiC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAC1C,WAAW,GAAyC,IAAI,GAAG,EAAE,CAAC;IAC9D,OAAO,GAAQ,IAAI,CAAC;IACpB,OAAO,GAA0B,IAAI,CAAC;IACtC,MAAM,GAAkB,EAAE,CAAC;IAC3B,WAAW,GAAG,KAAK,CAAC;IACpB,UAAU,GAAG,CAAC,CAAC;IACf,oBAAoB,GAAmD,IAAI,CAAC;IAEpF;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,SAAwB,EAAE;QACzC,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,2CAA2C;QAEpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,wCAAwC;QACxC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE/B,6BAA6B;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QAEtC,gDAAgD;QAChD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACzC,CAAC;YAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAE7C,uDAAuD;YACvD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CACxE,CAAC;YAEF,kBAAkB;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAElC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,YAAY,KAAK;wBAC7C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;wBACvB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAE1B,qDAAqD;oBACrD,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAEjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE;wBACzB,IAAI;wBACJ,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,UAAU,EAAE,CAAC;wBACb,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAC;oBAEH,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAAE;YACxC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,kCAAkC;QAClC,MAAM,aAAa,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QAEjD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW;iBAC5C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACf,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzC,OAAO,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,QAAQ,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEL,MAAM,OAAO,CAAC,UAAU,CACtB,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAI,IAAoB;QACzB,oCAAoC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC,QAAa,CAAC;QAC7B,CAAC;QAED,0DAA0D;QAC1D,iEAAiE;QACjE,6DAA6D;QAC7D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,GAAQ,IAAI,CAAC,OAAO,CAAC;YAClC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM;gBAAE,OAAO,MAAW,CAAC;YAC/B,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC/C,IAAI,UAAU;wBAAE,OAAO,UAAe,CAAC;gBACzC,CAAC;gBAAC,MAAM,CAAC;oBACP,kEAAkE;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAoB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC;QAEhC,+DAA+D;QAC/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,GAAQ,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,OAAO,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;gBAC9C,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,gBAAgB,GAAuB,EAAE,CAAC;QAEhD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,gBAAgB,CAAC,IAAI,CAAC;gBACpB,IAAI;gBACJ,MAAM,EAAE,KAAK,CAAC,OAAO;oBACnB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,KAAK,CAAC,KAAK;wBACX,CAAC,CAAC,aAAa;wBACf,CAAC,CAAC,UAAU;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,gBAAgB,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,UAAU,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QAC7E,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;QAEtF,IAAI,MAAM,GAAyC,SAAS,CAAC;QAC7D,IAAI,WAAW,GAAG,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;aAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;QAED,OAAO;YACL,MAAM;YACN,WAAW,EAAE,gBAAgB;YAC7B,gBAAgB;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,gBAAgB,CAAC,MAAM;SAC1C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO;gBAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACpE,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,8BAA8B;IAE9B;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,MAAqB;QAC7C,iEAAiE;QACjE,2DAA2D;QAC3D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,4CAA4C;YAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC;YAC3C,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,4EAA4E;gBAC5E,mFAAmF;gBACnF,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBAC/D,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC;YAEpE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAE5C,yDAAyD;YACzD,+DAA+D;YAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;YAC5B,MAAM,cAAc,GAAG,CAAC,IAAe,EAAE,EAAE;gBACzC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClC,OAAO,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBAC/B,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBAC9B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC,CAAC;YACF,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;gBACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1D,CAAC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAClC,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,IAAoB;QAC9C,sCAAsC;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;QAC9C,CAAC;QAED,6CAA6C;QAC7C,QAAQ,IAAI,EAAE,CAAC;YACb,yCAAyC;YACzC,KAAK,eAAe,CAAC;YACrB,KAAK,gBAAgB,CAAC;YACtB,KAAK,aAAa,CAAC;YACnB,KAAK,oBAAoB;gBACvB,OAAO,IAAI,CAAC;YAEd,uCAAuC;YACvC,KAAK,aAAa;gBAChB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAE7D,0CAA0C;YAC1C,KAAK,eAAe,CAAC;YACrB,KAAK,gBAAgB,CAAC;YACtB,KAAK,eAAe,CAAC;YACrB,KAAK,sBAAsB;gBACzB,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;YAE/B,2DAA2D;YAC3D,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW,CAAC;YACjB,KAAK,aAAa,CAAC;YACnB,KAAK,cAAc,CAAC;YACpB,KAAK,gBAAgB,CAAC;YACtB,KAAK,mBAAmB,CAAC;YACzB,KAAK,kBAAkB,CAAC;YACxB,KAAK,cAAc,CAAC;YACpB,KAAK,YAAY,CAAC;YAClB,KAAK,qBAAqB,CAAC;YAC3B,KAAK,iBAAiB,CAAC;YACvB,KAAK,oBAAoB,CAAC;YAC1B,KAAK,cAAc,CAAC;YACpB,KAAK,oBAAoB;gBACvB,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;YAE/B,qEAAqE;YACrE,sEAAsE;YACtE,wCAAwC;YACxC,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAE9D,8EAA8E;YAC9E,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;YAE/B,sEAAsE;YACtE,wEAAwE;YACxE,WAAW;YACX,KAAK,cAAc;gBACjB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAErC,uBAAuB;YACvB,KAAK,kBAAkB,CAAC;YACxB,KAAK,gBAAgB,CAAC;YACtB,KAAK,kBAAkB;gBACrB,OAAO,KAAK,CAAC,CAAC,4BAA4B;YAE5C;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,KAAK,CAAC,eAAe,CAAC,IAAoB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,QAAQ;YAAE,OAAO;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,QAA8D,CAAC;QAClF,IAAI,CAAC;YACH,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC9C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,IAAoB,EAAE,KAAa;QAC9D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,mEAAmE;QACnE,sEAAsE;QACtE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEnD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEjD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE;gBACzB,IAAI;gBACJ,QAAQ;gBACR,KAAK;gBACL,UAAU;gBACV,OAAO,EAAE,QAAQ,KAAK,IAAI;gBAC1B,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS;aAClE,CAAC,CAAC;YAEH,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEjD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE;gBACzB,IAAI;gBACJ,QAAQ,EAAE,IAAI;gBACd,KAAK;gBACL,UAAU;gBACV,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAAoB;QACjD,QAAQ,IAAI,EAAE,CAAC;YACb,oCAAoC;YAEpC,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC;gBACxD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,UAAU;oBACvE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;oBAC/C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;oBACrD,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;oBAC5B,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,GAAG,MAAM;iBACV,CAAC,CAAC;gBACH,kCAAkC;gBAClC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC;wBACH,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7C,CAAC;oBAAC,MAAM,CAAC;wBACP,gEAAgE;oBAClE,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC;oBACnC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;oBAChC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,MAAM;oBACzB,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,KAAK;oBACnB,GAAG,MAAM;iBACV,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACf,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,oEAAoE;gBACpE,yDAAyD;gBACzD,iEAAiE;gBACjE,mEAAmE;gBACnE,iEAAiE;gBACjE,kEAAkE;gBAClE,2DAA2D;gBAC3D,EAAE;gBACF,uEAAuE;gBACvE,mEAAmE;gBACnE,gEAAgE;gBAChE,qEAAqE;gBACrE,gEAAgE;gBAChE,qEAAqE;gBACrE,oEAAoE;gBACpE,sEAAsE;gBACtE,iEAAiE;gBACjE,gEAAgE;gBAChE,+DAA+D;gBAC/D,4CAA4C;gBAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;gBACzC,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxE,MAAM,OAAO,GAAG,MAAM;oBACpB,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;wBACvC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;wBACrB,CAAC,CAAC,IAAI;oBACR,CAAC,CAAC,aAAa,CAAC;gBAClB,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAE1B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACpE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAE/D,OAAO;oBACL;;;;;;uBAMG;oBACH,MAAM,EAAE,KAAK,EACX,KAAa,EACb,OAAiE,EAAE,EACnE,EAAE;wBACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;wBAExC,2DAA2D;wBAC3D,MAAM,OAAO,GAAG,CAAC,OAAc,EAAE,EAAE,CACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;4BACvB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE;4BACd,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG;4BAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;4BACxB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS;4BAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;4BAC1B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS;4BAC5B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS;4BAC5B,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,MAAM,EAAE,CAAC,CAAC,KAAK;yBAChB,CAAC,CAAC,CAAC;wBAEN,wDAAwD;wBACxD,4DAA4D;wBAC5D,mCAAmC;wBACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;4BACtC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;4BACnD,CAAC,CAAC,CAAC,CAAC;wBAEN,6DAA6D;wBAC7D,6DAA6D;wBAC7D,8DAA8D;wBAC9D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;4BACpD,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAW,CAAC;4BAC/D,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAW,CAAC;4BACrE,QAAQ,CAAC,MAAM,GAAG,CAAC;gCACjB,CAAC,CAAC,OAAO,CAAC,GAAG,CACT,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CACzB,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAW,CAAC,CACvE,CACF,CAAC,IAAI,CAAC,CAAC,SAAkB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gCAClD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAW,CAAC;yBACjC,CAAC,CAAC;wBAEH,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;wBAClC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;wBACpC,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;wBAExC,4DAA4D;wBAC5D,uDAAuD;wBACvD,MAAM,OAAO,GAAG,CAAC,CAAiD,EAAE,EAAE,CACpE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;wBAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;wBACpD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;wBAEpD,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;wBACvC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;4BAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAEnD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;wBAElD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;4BAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;4BACjC,MAAM,OAAO,GAAqC,EAAE,CAAC;4BACrD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gCAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAC9C,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;gCAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BAC7C,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;gCAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAC/C,OAAO;gCACL,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;gCACzB,KAAK,EAAE,CAAC,CAAC,KAAK;gCACd,OAAO;6BACR,CAAC;wBACJ,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,EAAE,gBAAyB;iBAClC,CAAC;YACJ,CAAC;YAED,KAAK,kBAAkB;gBACrB,sEAAsE;gBACtE,OAAO,IAAI,CAAC;YAEd,KAAK,gBAAgB;gBACnB,sEAAsE;gBACtE,mEAAmE;gBACnE,gEAAgE;gBAChE,iEAAiE;gBACjE,uBAAuB;gBACvB,OAAO,IAAI,CAAC;YAEd,KAAK,gBAAgB;gBACnB,2DAA2D;gBAC3D,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;oBACrE,IAAI,CAAC;wBACH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;oBACtD,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YAEd,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,qEAAqE;gBACrE,sEAAsE;gBACtE,oEAAoE;gBACpE,qEAAqE;gBACrE,kEAAkE;gBAClE,gEAAgE;gBAChE,gEAAgE;gBAChE,qEAAqE;gBACrE,oEAAoE;gBACpE,mEAAmE;gBACnE,+DAA+D;gBAC/D,wDAAwD;gBACxD,OAAO,IAAI,CAAC,oBAAoB,CAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,qBAAqB,CAChE,CAAC;YACJ,CAAC;YAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,sEAAsE;gBACtE,qEAAqE;gBACrE,+DAA+D;gBAC/D,iEAAiE;gBACjE,mEAAmE;gBACnE,iEAAiE;gBACjE,mDAAmD;gBACnD,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACxC,CAAC;YAED,KAAK,kBAAkB;gBACrB,8CAA8C;gBAC9C,OAAO,IAAI,CAAC;YAEd,+DAA+D;YAC/D,sFAAsF;YACtF,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,4DAA4D;gBAC5D,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC;oBACvC,IAAI,CAAC,EAAE;wBAAE,OAAO,IAAI,CAAC;oBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC/C,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACjD,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW,CAAC;YACjB,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,UAAU;oBAAE,OAAO,IAAI,CAAC;gBACnF,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;gBAClD,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,aAAa,CAAC,YAAY,CAAC;oBACtC,IAAI,CAAC,EAAE;wBAAE,OAAO,IAAI,CAAC;oBACrB,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC;oBACxC,IAAI,CAAC,EAAE;wBAAE,OAAO,IAAI,CAAC;oBACrB,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,aAAa,CAAC,iBAAiB,CAAC;oBAC3C,IAAI,CAAC,EAAE;wBAAE,OAAO,IAAI,CAAC;oBACrB,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,yDAAyD;gBACzD,oEAAoE;gBACpE,sEAAsE;gBACtE,6CAA6C;gBAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;gBACzC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;oBAC3D,IAAI,CAAC;wBACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;wBACpD,OAAO;4BACL,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE;4BAChC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE;4BACnC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE;4BAC/C,KAAK,EAAE,CAAC,CAAO,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;4BACzC,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE;4BAC7C,MAAM,EAAE,qBAA8B;yBACvC,CAAC;oBACJ,CAAC;oBAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC;oBACxC,IAAI,CAAC,EAAE;wBAAE,OAAO,IAAI,CAAC;oBACrB,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,aAAa,CAAC,iBAAiB,CAAC;oBAC3C,IAAI,CAAC,EAAE;wBAAE,OAAO,IAAI,CAAC;oBACrB,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,+CAA+C;YAC/C,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,aAAa,CAAC,eAAe,CAAC;oBACzC,IAAI,CAAC,EAAE;wBAAE,OAAO,IAAI,CAAC;oBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC;oBACxD,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACjD,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,oEAAoE;gBACpE,IAAI,CAAC;oBACH,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,OAAO,aAAa,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBAClD,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,aAAa,GAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,GAAG,GAAG,aAAa,CAAC,kBAAkB,CAAC;oBAC7C,IAAI,CAAC,GAAG;wBAAE,OAAO,IAAI,CAAC;oBACtB,OAAO,IAAI,GAAG,EAAE,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1B,CAAC;YAED,+DAA+D;YAC/D,mEAAmE;YACnE,6DAA6D;YAC7D,uEAAuE;YACvE,uEAAuE;YACvE,sDAAsD;YACtD,KAAK,eAAe,CAAC;YACrB,KAAK,gBAAgB,CAAC;YACtB,KAAK,YAAY,CAAC;YAClB,KAAK,cAAc,CAAC;YACpB,KAAK,sBAAsB;gBACzB,OAAO,IAAI,CAAC;YAEd,KAAK,eAAe,CAAC;YACrB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,4DAA4D;gBAC5D,sDAAsD;gBACtD,wCAAwC;gBACxC,wDAAwD;gBACxD,4DAA4D;gBAC5D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,4DAA4D;gBAC5D,qCAAqC;gBACrC,EAAE;gBACF,kDAAkD;gBAClD,0DAA0D;gBAC1D,kDAAkD;gBAClD,yDAAyD;gBACzD,kCAAkC;gBAClC,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC/B,MAAM,OAAO,GAAQ,IAAI,CAAC,OAAO,CAAC;gBAClC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;gBAC1B,IAAI,CAAC;oBACH,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;wBAChD,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,+CAA+C,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;YAED;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,IAAoB;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,QAAQ;YAAE,OAAO;QAE7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAe,CAAC;YAEvC,uDAAuD;YACvD,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3C,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACnD,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;iBAAM,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QAED,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,mDAAmD;QACnD,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACnC,OAAO;gBACL,KAAK,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAmB,CAAC,IAAI,CAAC;gBACpE,UAAU,EAAE,KAAK,EAAE,KAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtG,UAAU,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;aAC3B,CAAC;QACJ,CAAC;QACD,2FAA2F;QAC3F,OAAO;YACL,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;YACjE,UAAU,EAAE,KAAK,EAAE,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;YACtG,UAAU,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,sBAAsB;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;QAC1C,MAAM,MAAM,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,UAAU;YACpF,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,gFAAgF;IACxE,oBAAoB,CAAC,MAAc;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5C,IAAI,CAAC,oBAAoB,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC/B,IAAI,EAAE,oBAAoB;YAC1B,MAAM;YACN,WAAW,EAAE,KAAK,CAAC,cAAc,EAAE;SACpC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACK,uBAAuB;QAC7B,OAAO;YACL,WAAW;gBACT,OAAO;oBACL,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,MAAe;oBACvB,IAAI,EAAE,uJAAuJ;iBAC9J,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -605,6 +605,20 @@ describe('ControllerRegistry', () => {
|
|
|
605
605
|
// AgentDB may or may not be available in test environment
|
|
606
606
|
// Just verify the listener doesn't break anything
|
|
607
607
|
});
|
|
608
|
+
it('should emit controller:degraded with the reason hierarchicalMemory fell back (#2887)', async () => {
|
|
609
|
+
const degraded = [];
|
|
610
|
+
registry.on('controller:degraded', (e) => degraded.push(e));
|
|
611
|
+
await registry.initialize({
|
|
612
|
+
backend: mockBackend,
|
|
613
|
+
controllers: { hierarchicalMemory: true },
|
|
614
|
+
});
|
|
615
|
+
// agentdb dropped its HierarchicalMemory export at 3.0.0-alpha.17, so the
|
|
616
|
+
// tiered fallback is the live path. Taking it must be announced, not silent.
|
|
617
|
+
const hmDegraded = degraded.find((e) => e.name === 'hierarchicalMemory');
|
|
618
|
+
expect(hmDegraded).toBeDefined();
|
|
619
|
+
expect(hmDegraded.reason).toBeTruthy();
|
|
620
|
+
expect(registry.getHierarchicalFallback()).toMatchObject({ reason: hmDegraded.reason });
|
|
621
|
+
});
|
|
608
622
|
it('should emit all lifecycle events', async () => {
|
|
609
623
|
const events = [];
|
|
610
624
|
registry.on('initialized', () => events.push('initialized'));
|